1

I'm trying to draw the following diagram with the tikz-feynman package.

\documentclass{standalone}
\usepackage{tikz-feynman}
\begin{document}
\begin{tikzpicture}
    \begin{feynman}
        \vertex [dot, label=180:$x$]   (x)  at (0,0) {};
        \vertex [dot, label=0:$x'$]    (y)  at (2,0) {};
        \vertex [dot, label=180:$x_1$] (x1) at (0,2) {};
        \vertex [dot, label=0:$x_2$]   (x2) at (2,2) {};

        \diagram*{
            (x1) -- [fermion, half left, out=45, in=135] (x2)
                 -- [fermion] (x)
                 -- [fermion] (y)
                 -- [fermion] (x1),
            (x1) -- [photon] (x2),
        };
    \end{feynman}
\end{tikzpicture}
\end{document}

enter image description here

As you can see, the diagram has two fermion lines that intersect right in the middle, where their arrows are drawn. I would like to move the arrows along the fermion lines, so that the two ones don't overlap. How can I do this?

2

I would probably introduce a dummy vertex, also to indicate that the lines do not intersect.

\documentclass{standalone}
\usepackage{tikz-feynman}
\begin{document}
\begin{tikzpicture}
    \begin{feynman}
        \vertex [dot, label=180:$x$]   (x)  at (0,0) {};
        \vertex [dot, label=0:$x'$]    (y)  at (2,0) {};
        \vertex [dot, label=180:$x_1$] (x1) at (0,2) {};
        \vertex [dot, label=0:$x_2$]   (x2) at (2,2) {};
        \vertex [empty dot, minimum size=0mm] (dummy) at (1,1) {};
        \diagram*{
            (x1) -- [fermion, half left, out=45, in=135] (x2)
                 -- [fermion] (dummy)
                 -- [fermion] (x)
                 -- [fermion] (y)
                 -- [fermion] (dummy)
                 -- [fermion] (x1),
            (x1) -- [photon] (x2),
        };
        \draw[-,line width=2mm,white] (dummy)++(-0.2cm,-0.2cm) -- ++(0.4cm,0.4cm);
        \draw[-,black] (dummy)++(-0.2cm,-0.2cm) -- ++(0.4cm,0.4cm);
    \end{feynman}
\end{tikzpicture}
\end{document}

enter image description here

  • Nice! I forgot to indicate that the lines don't intersect, I like this solution. – yellowquark Jan 2 '18 at 15:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.