# How to draw this Feynman diagram using feynman=tikz?

I wonder how to draw this Feynman diagram.

What I tried is the following code:

\feynmandiagram[horizontal=a to b, horizontal=b to c, vertical= b to e, horizontal=d to e]{
a[particle=$l$] --[fermion] b --[fermion] c [particle=$i$],
d[particle=$k$] --[fermion] e --[fermion] f[particle=$j$],
b--[photon] e,
};


but it gives

Please ignore the labels $i,j,k,l$. What I tried to do is to use commands like horizontal=a to b multiple times, but it seems not working.

• I provide a very similar example to the one you want in the "Box Diagrams" section of the manual (p. 26 of the manual for v1.1.0) Jun 15 '20 at 7:39

One thing that you always can do is to use manual placement, in particular since you seem to prefer pdflatex.

\documentclass{article}
\usepackage{tikz-feynman}
\begin{document}
\begin{tikzpicture}
\begin{feynman}
\vertex (i1) at (-3,2) ;
\vertex (f1) at (3,2) ;
\vertex (i2) at (-3,-2) ;
\vertex (f2) at (3,-2) ;
\vertex (v1) at (0,2);
\vertex (v2) at (0,-2);
\diagram* {
i1[particle=$\ell$] --[fermion] v1 --[fermion] f1 [particle=$i$],
i2[particle=$k$] --[fermion] v2 --[fermion] f2[particle=$j$],
v1--[photon] v2,};
\end{feynman}
\end{tikzpicture}
\end{document}


• Thanks for your answer. But why and how pdflatex and lualatex are different? Jun 15 '20 at 10:32
• @eigenvalue lualatex allows one to run some scripts (which is why it is not supported by the arXiv), and several of the graph drawing algorithms use such scripts. This is in particular true for the graph drawing algorithms employed by tikz-feynman. So the upshot is that if you want the graph to be drawn by an algorithm (in this context), you need to use lualatex. Otherwise you need to place the vertices manually (but will be able to upload the code to the arXiv).
– user194703
Jun 15 '20 at 10:36