I want to reproduce the following Feynman diagram enter image description here

and my attempt at it yields something like this

enter image description here

Notice that the loop doesn't look circular and it would be nice to have those bent arrows as well. Here's my code (I'm using tikz-feynman with LuaLaTeX)

            \vertex (a);
            \node[rectangle, draw, minimum size=0.075cm,label=-120:\(F_2\)] (b) at (1.5,0);
            \node[dot, label=below:\(P_{lin}\)] (c) at (2.5,1);
            \node[dot, label=above:\(P_{lin}\)] (d) at (2.5,-1);
            \node[rectangle, draw, minimum size=0.075cm,label=-60:\(F_2\)] (e) at (3.5,0);
            \vertex [right=1.5cm of e] (f);
            \diagram*{(b) -- [fermion] (a),
            (b) -- [fermion, quarter left] (c),
            (e) -- [fermion, quarter right] (c),
            (e) -- [fermion, quarter left] (d),
            (b) -- [fermion, quarter right] (d),
            (e) -- [fermion] (f)};

Please suggest a way to reproduce the Feynman diagram using tikz-feynman (in combination with tikz, if required).

  • 1
    Are you using tikz-feynman with LuaLaTeX? (Doesn't look like it but just to be sure …) Sep 30, 2023 at 20:58
  • Please stop and change your habbit right away: code you post needs to start with \documentclass, end with \end{document} and must compile. Doing so avoids a handful of questions right away. // Just to illustrate the consequence of such little care: I was about to try your code, but ... no longer ...
    – MS-SPO
    Sep 30, 2023 at 20:58
  • Both of you are correct. Extremely sorry for my sloppy writing. I've modified my question. I hope now you have the necessary details to help me.
    – ShaunakP
    Sep 30, 2023 at 21:18

1 Answer 1


In this simple case, it's easy to cheat:

  • Draw a circle.
  • Place the nodes on the circle.
    Make the rectangles use fill = white.
  • Add the bended arrows without drawing the path again (tips).

Unfortunately, the fermion arrows are actually isosceles triangle nodes, so it's going to need a bit investing if we can make the arrow tips (for which the bending library makes it very easy to get bended forms of it) the same size.

(Nodes can be transformed nonlinear which is the kind of transformation applied for the bending of arrows but it's not trivial to set up.)

I also don't want to mess around with the right positioning which is why I've used the ext.arrows library from my tikz-ext package for the Centered Triangle arrow tip.

LuaLaTeX which tikz-feynman is made for would allow us to use the necklace routing for the circular edges …


\tikzfeynmanset{warn luatex=false}
\usetikzlibrary{bending, ext.arrows}
\begin{feynman}[/tikz/rect/.style={rectangle, draw, minimum size=.075cm, fill=white}]
\vertex (a);
\draw (2.5,0) coordinate (center) circle[radius=1];
\foreach \sa in {90, -90}
  \foreach \da in {45, -45}
    \path[-{Centered Triangle[scale length=2, bend]}, tips]
      ([shift=(center)]\sa:1) arc[start angle=\sa, delta angle=\da, radius=1];
\node[rect, label= -120:\(F_2\)             ] (b) at (1.5, 0);
\node[dot,  label=below:\(P_{\mathrm{lin}}\)] (c) at (2.5, 1);
\node[dot,  label=above:\(P_{\mathrm{lin}}\)] (d) at (2.5,-1);
\node[rect, label=  -60:\(F_2\)             ] (e) at (3.5, 0);
\vertex [right=1.5cm of e] (f);
  (b) -- [fermion] (a),
  (e) -- [fermion] (f)


enter image description here

  • Is it possible to reproduce circular loop with bent arrows using something like this?@Qrrbrbirlbel
    – ShaunakP
    Sep 30, 2023 at 21:56

You must log in to answer this question.

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