8

I want to use feynmp to draw the one-loop correction to the vertex in phi^3 theory. This is just a circle with three evenly-spaced incoming lines. The thing is I want the figure to be dashed, so using pre-defined polygons won't work.

The best I can do is this, but I want it to be a circle in the middle, not a tragically deformed hexagon:

\documentclass{article}
\usepackage{feynmp}
\begin{document}
\unitlength = 1mm
\begin{figure}[!h]
\begin{fmffile}{test1}
\begin{fmfgraph*}(48,20)
\fmfcurved
\fmfleft{i1,i2,i3}
\fmfright{o1,o2,o3}
\fmftop{t1,t2,t3}
\fmfbottom{b1,b2,b3}

\fmf{plain}{i2,v1}
\fmf{plain}{v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v1}
\fmf{phantom}{v4,t2}
\fmf{phantom}{v10,b2}
\fmf{phantom}{v7,o2}
%\fmffreeze
\fmf{plain}{v5,t3}
\fmf{plain}{v9,b3}

\end{fmfgraph*}
\end{fmffile}
\end{figure}
\end{document}

Image

JLDiaz
  • 55,732
Alex
  • 83

2 Answers2

5

I'm not familiarized with feynmp package nor with phi^3 theory, so I'm not really sure of the output you want. Perhaps something like the following?

Image

If tikz is an option...

\documentclass{article}
\usepackage{tikz}
\begin{document}
\tikz[baseline=0, scale=0.4]{
\draw[dashed] circle(1cm);
\foreach \angle in {-60,60,180} {
 \draw (\angle:1cm) -- (\angle:2cm);
 }
}
\end{document}

See also Feynman Diagrams with tikz and http://www.hep.wisc.edu/~grogg/files/2011/TikzDiagrams/

JLDiaz
  • 55,732
  • Thanks for this, this is exactly what I wanted. I had been stubbornly trying to avoid learn another package, but you've convinced me to give tikz a try. – Alex Dec 10 '12 at 21:47
4

I normally use TikZ for typesetting Feynman diagrams, but I don't typeset that many. I looked a little in the documentation feynMF and came up with this:

\documentclass{article}
\usepackage{feynmp}
\begin{document}
\unitlength=1mm
\begin{fmffile}{loop}
\begin{fmfgraph}(40,40)
\fmfleft{i1,i2} % External lines (left) i1 & i2
\fmfright{o1} % External line (right) o1
\fmf{dashes}{i1,v1} % Dashed line from i1 to vertex v1
\fmf{dashes}{i2,v2} % Dashed line from i2 to vertex v2
\fmf{dashes}{o1,v3} % Dashed line from o1 to vertex v3
\fmf{dashes,left=1/2,tension=2/3}{v1,v2,v3,v1} % The loop: left curves the lines & tension change the size of the loop
\end{fmfgraph}
\end{fmffile}
\end{document}

Output: loop

Please change the values for left and tension and see what happens.

I don't like this package. Hmm... maybe I just don't understand it properly.

Jesper Ipsen
  • 2,664
  • 1
    This is exactly it!! Thank you!! I had been trying to do something with left, but I hadn't realized you could set left=1/2 as you did. – Alex Dec 11 '12 at 01:19