0

I am trying to draw a Feynman diagram like this one. I looked up the manual but there was no mention of this thick or double propagator line in tikz-feynman. enter image description here

3 Answers 3

3

tikz-feynman comes with two keys that are important here, with arrow, which expects a position, and arrow size, which allows us to change the size of the arrow. So in order to have a double line propagator with arrow, you can use

double,double distance=0.5ex,thick,with arrow=0.5,arrow size=0.3em

The following code does that. I decided not to rely on the layout algorithms since this is a bit unnecessary for this diagram. As a result, you can compile the following with pdflatex, and, in particular, upload it to the arXiv.

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz-feynman}
\begin{document}
\[ 
\vcenter{\hbox{\begin{tikzpicture}
  \begin{feynman}
    \vertex (i);
    \vertex [right=2cm of i] (o);
    \diagram*{
      (i) --[double,double distance=0.5ex,thick,with arrow=0.5,arrow size=0.3em] (o)      
    };
  \end{feynman}
\end{tikzpicture}}}
~=~
\vcenter{\hbox{\begin{tikzpicture}
  \begin{feynman}
    \vertex (i);
    \vertex [right=1.5cm of i] (o);
    \diagram*{
      (i) --[fermion] (o)     
    };
  \end{feynman}
\end{tikzpicture}}}~+~
\vcenter{\hbox{\begin{tikzpicture}
  \begin{feynman}
    \vertex (i);
    \node[right=1.5cm of i,draw,fill=white,circle] (v){$\Sigma$};
    \vertex [right=1.5cm of v] (o);
    \diagram*{
      (i) --[fermion] (v),        
      (v) --[double,double distance=0.5ex,thick,with arrow=0.5,arrow size=0.3em]  (o)
    };
  \end{feynman}
\end{tikzpicture}}}
\]
\end{document}

enter image description here

2

For fun, a short code with pstricks and pst-feyn:

\documentclass[border=3pt]{standalone}
\usepackage{fourier-otf}
\usepackage{pstricks-add, pst-feyn}
\usepackage{auto-pst-pdf}
\pagestyle{empty}

\begin{document}

\psset{linejoin=1}
\begin{pspicture}(-2,-0.5)(5.2,0.5)
\pnodes(-1.9,0){D1}(-0.4,0){D2}(0,0){O}(0.4,0){L1}(1.2,0){L2}(1.6,0){I}(2,0){M1}(3,0){M2}(3.3,0){J}(3.6,0){E1}(5.1,0){E2}
\psArrowLine[doubleline, linewidth=1pt](D1)(D2) \rput(O){ = }\psArrowLine(L1)(L2)\rput(I){+}\psArrowLine(M1)(M2)\Cnodeput[radius= 0.3](J){S}{$ \Sigma $}\psArrowLine[doubleline, linewidth=1pt](E1)(E2)
  \end{pspicture}

\end{document} 

enter image description here

2
  • I'm downloading that manual that you have reported into your code. Your code is beautiful. Don't vote my code ahahha. nooooooooo :(
    – Sebastiano
    Feb 10, 2020 at 22:18
  • 1
    Sorry, I already did.
    – Bernard
    Feb 10, 2020 at 22:19
2

Addendum with another option: feyn package.

There is the option to realize your drawing using the declarated package. The syntax is not very simple to use. I add my MWE:

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage{feyn}
\usepackage{newtxmath}
\begin{document}
Feynman diagram for Dyson equation is:
\begin{equation}
  \feyn{ms mA} \quad = \quad \feyn{fA} \quad + \quad \feyn{fA c ms mA} \mkern-71mu \Sigma
\end{equation}

\end{document}

enter image description here


I admit that my minimum document is not suitable for the tags (also because it is realized with Mathcha with appropriate adjustments), but for a newbie without a MWE, I have draw this as welcome to TeX.SE. This drawing should be very near to the attached image.

PS: I haven't seen the tikz-feynman manual.

enter image description here

\documentclass[a4paper,12pt]{article}
\usepackage{tikz,mathtools}
\usepackage{xcolor}
\usepackage{newtxmath}
\begin{document}
\tikzset{every picture/.style={line width=0.75pt}}
\begin{tikzpicture}[x=0.75pt,y=0.75pt,yscale=-1,xscale=1]
\draw  [color={rgb, 255:red, 255; green, 255; blue, 255 }  ,draw opacity=1 ][fill={rgb, 255:red, 155; green, 155; blue, 155 }  ,fill opacity=1 ] (76.5,70.5) -- (348,70.5) -- (348,110.5) -- (76.5,110.5) -- cycle ;
\draw    (80.4,90.2) -- (121,90.7) ;
\draw    (80.4,92.4) -- (121,92.9) ;
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (93.6,87.6) -- (93.6,87.6) -- (107.43,91.55) -- (93.6,95.5) -- (93.6,95.5) -- cycle ;
\draw    (171.2,91.8) -- (202,91.8) ;
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (183.6,89.4) -- (183.6,89.4) -- (190.55,91.7) -- (183.6,94) -- (183.6,94) -- cycle ;
\draw    (243.6,91.4) -- (274.4,91.4) ;
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (256,89) -- (256,89) -- (262.95,91.3) -- (256,93.6) -- (256,93.6) -- cycle ;
\draw  [fill={rgb, 255:red, 255; green, 255; blue, 255 }  ,fill opacity=1 ] (274.4,91.4) .. controls (274.4,83.45) and (280.85,77) .. (288.8,77) .. controls (296.75,77) and (303.2,83.45) .. (303.2,91.4) .. controls (303.2,99.35) and (296.75,105.8) .. (288.8,105.8) .. controls (280.85,105.8) and (274.4,99.35) .. (274.4,91.4) -- cycle ;
\draw    (303.6,90.2) -- (339.4,90.2) ;
\draw    (303.6,92.4) -- (339.4,92.4) ;
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (316.8,87.6) -- (316.8,87.6) -- (330.63,91.55) -- (316.8,95.5) -- (316.8,95.5) -- cycle ;
\draw (145,93) node    {$=$};
\draw (222,91) node    {$+$};
\draw (288.5,90.5) node    {$\Sigma $};
\end{tikzpicture}
\end{document}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .