I would like to draw the Feynman diagram shown in the picture below with TikZ.

Edit: The code I have so far is

every vertex/.style={red, dot},
every blob/.style={draw=green!40!black, pattern color=green!40!black},
every crossed dot/.style={blue},
\vertex (a) {\(\nu\)};
\vertex [below right=of a] (b);
\vertex [below left=of b] (f1) {\(\bar{\nu}\)};
\vertex [above right=of b] (f2);
\vertex [below right=of b] (f3);
\diagram* {
(a) -- [fermion] (b)[blob] -- [fermion] (f1),
(b) -- [anti fermion,bend left,edge label=\(\bar{\nu}\)] (f2)[crossed dot],
(b) -- [anti fermion,bend left,edge label=\(\bar{\nu}\)] (f3)[crossed dot],
(b) -- [fermion,bend right,edge label'=\(\nu\)] (f2)[crossed dot],
(b) -- [fermion,bend right,edge label'=\(\nu\)] (f3)[crossed dot]

However, where the blob and the crossed dots should be, there are still simple vertices. How can I implement the blob and the two "condensate" vertices? Thanks for your help!

enter image description here

  • Neutrino - pair annihilation?
    – user31729
    Feb 2, 2016 at 16:04
  • The blob is an instanton, the crosses are condensates.
    – Thomas
    Feb 2, 2016 at 16:05
  • 1
    Suggest you both search this site for "feynman diagram" as there are nearly 100 results. A useful one could be tex.stackexchange.com/questions/22622/…. And there is a nice Feynman example in this gallery texample.net/tikz/examples/area/physics Feb 2, 2016 at 16:10
  • I know how to draw simple Feynman diagrams, but I haven't found this specific one anywhere.
    – Thomas
    Feb 2, 2016 at 16:29
  • 2
    Since you already know how to draw simple diagrams, can you post same sample code of where exactly are you stuck? In any case, the commented examples in github.com/fliptanedo/tikzfeynman.sty might help you. Feb 2, 2016 at 17:02

1 Answer 1


Use the "invisible edges" strategy suggested in tikz-feynman manual. Compile with LuaLaTeX

\feynmandiagram [vertical=f1 to f2] {
  anu [particle=\(\overline{\nu}\)] -- [fermion] b [blob],
  nu  [particle=\(\nu\)] -- [fermion] b,
  b   -- [fermion,bend right=10,edge label'=\(\nu\)] f1 [crossed dot],
  b   -- [fermion,bend left=10,edge label=\(\overline{\nu}\)] f1,
  b   -- [fermion,bend right=10,edge label'=\(\nu\)] f2 [crossed dot],
  b   -- [fermion,bend left=10,edge label=\(\overline{\nu}\)] f2,
  % In the picture below I used "[opacity=0.2]" in place of "[draw=none]" to
  % show where the edges are.
  nu  -- [draw=none] anu,
  f1  -- [draw=none] f2,

enter image description here

  • Thanks for your answer, but I get an error when compiling it with LuaLaTex: ! LuaTeX error ./tikzfeynman.patch.lua:966: unknown phase
    – Thomas
    Feb 3, 2016 at 8:55
  • Which version of the package do you have? How did you install it?
    – giordano
    Feb 3, 2016 at 9:05
  • It's the current version v1.0.0 downloaded here. I put the .sty file into the folder where I have my .tex document, that's it. When I compile the version you can see in my edit, everything works perfectly fine.
    – Thomas
    Feb 3, 2016 at 10:54
  • The package is on CTAN, you can install from your package manager. That's what I'm using.
    – giordano
    Feb 3, 2016 at 10:55
  • 1
    I updated all packages, and finally all your versions work - thanks a lot for your help!
    – Thomas
    Feb 3, 2016 at 13:56

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.