# Creating Feynman Diagrams With Usepackage feynmf

Here is a MWE (minimal-working example):

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{feynmf}
\begin{document}
\begin{fmffile}{diagram}
\noindent Here is a simple Feynman diagram:
\vspace{1em} % Not important, just adds some space
\begin{fmfgraph*}(120,80)
\fmfleft{i1,i2}
\fmfright{o1,o2}
\fmf{fermion}{i1,v1,o1}
\fmf{fermion}{i2,v2,o2}
\fmf{photon}{v1,v2}
\end{fmfgraph*}


Alright, what I would like to do is replicate the following Bhabhascattering-Graph:

How does it work?

And: I would also like to draw that same diagram in s-channel-mode, how would that work?

Getting some diagram of that sort is rather easy.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{feynmp}
\begin{document}
\begin{fmffile}{diagram}
\noindent Here is a simple Feynman diagram:\vspace{1em}
\begin{center}
\begin{fmfgraph*}(120,80)
\fmfleft{i1,i2}
\fmfright{o1,o2}
\fmf{fermion}{i1,v1,o1}
\fmf{fermion}{o2,v2,i2}
\fmf{photon,label=$\gamma$}{v1,v2}
\fmfv{label=$e^-$}{i1}
\fmfv{label=$e^-$}{o1}
\fmfv{label=$e^+$}{i2}
\fmfv{label=$e^+$}{o2}
\fmfdot{v1,v2}
\end{fmfgraph*}
\end{center}
\end{fmffile}
\end{document}


What is more involved is the compilation chain:

1. compile with latex.
2. run mpost diagram.mp.
3. compile with latex.
4. convert the dvi to pdf (or whatever format you like).

• Thanks so far for the answer. (i) How can I change the arrows for the positrons, s.t. they point into the "usual" direction? I experimented with \fmfleft{i_1, i_2}, but it doesn't yield the desired result. (ii) This is a t-channel process. How could I draw an s-channel one with the same package? Mar 7, 2020 at 14:15
• @MathIsFun The arrow of the positron is correct. It indicates the fermion flow, and is opposite for antiparticles. For an s-channel process you need \fmfleft{i1,i2} \fmfright{o1,o2} \fmf{fermion}{i1,v1,i2} \fmf{fermion}{o2,v2,o1}.
– user194703
Mar 7, 2020 at 15:48
• Please also show me how to reverse the arrows for the positrons. I understand your point of view, but I would still like to know how to reverse the arrows. Also, I think that D. Griffiths stated in one of his books that the direction of the arrows depend on one's points of view ... Mar 7, 2020 at 16:05
• @MathIsFun You only need to replace \fmf{fermion}{o2,v2,i2} by \fmf{fermion}{i2,v2,o2}.
– user194703
Mar 7, 2020 at 16:08

My example not is very beautiful as the user @Schrödinger's cat...but it is works. To compile this MWE you must created a file feynman.sty where the code is into this link https://github.com/AlecAivazis/feynman-old/blob/master/assets/misc/feynman.sty. After you put into the same folder this mwe.tex + feynman.sty and compile it with pdfLaTeX.

\documentclass[12pt]{article}
\usepackage{amssymb}
\usepackage{feynman,graphics}

\begin{document}
\begin{figure}[h!]
\centering
\scalebox{0.5}{\begin{feynman}
\electroweak[color=0693e3]{6.00, 5.00}{6.00, 7.00}
\fermion[]{6.00, 5.00}{8.00, 4.00}
\fermion[showArrow=true, flip=true]{6.00, 7.00}{8.00, 8.00}
\fermion[showArrow=true, flip=false]{6.00, 7.00}{4.00, 8.00}
\fermion[]{4.00, 4.00}{6.00, 5.00}
\text{6.50,6.00}{$\gamma$}
\text{8.50,3.70}{$e^-$}
\text{3.60,3.70}{$e^-$}
\text{3.60,8.30}{$e^+$}
\text{8.50,8.30}{$e^+$}
\end{feynman}}
\caption{This is my graph.}
\end{figure}
\end{document}

• At least, here it is quite obvious how to flip the arrows. :-) Mar 7, 2020 at 14:16
• @MathIsFun :-)..I hope to have given my humble help to you. Mar 7, 2020 at 19:58