FeynMF
From:
Box
[1]:
from feynml import *
from feynml.topology import four as t2t
from pyfeyn2.auto import auto_default
from pyfeyn2.render.latex.tikzfeynman import TikzFeynmanRender
from pyfeyn2.render.all import AllRender
[2]:
fd = t2t.v_channel("b","c_bar","b_bar","c")
fd.insert_vertex_loop(fd.vertices[0],"W+","t_bar","W-","t")
# Fix top arrow orientation in box
for t in filter(lambda t : t.name == "t", fd.propagators):
t.conjugate()
ar = AllRender(auto_default(fd))
ar.render()
tikz:

pyx:

feynmp:

feynman:

dot:

mermaid:
asciipdf:

unicodepdf:

madgraph:

root:

Info in <TCanvas::SaveSource>: C++ Macro file: /tmp/tmpvr78t6t3.tex has been generated
Info in <TCanvas::Print>: TeX file /tmp/tmpei2rm9jo.tex has been created
2 to 4
[3]:
fd = t2t.s_channel("e-","e+","gamma","W+","W-")
l1 = fd.legs[2]
l2 = fd.legs[3]
fd.emission(l1,"c_bar",end="s")
ar = AllRender(auto_default(fd))
ar.render()
tikz:

pyx:

feynmp:

feynman:

dot:

mermaid:
asciipdf:

unicodepdf:

madgraph:

root:

Info in <TCanvas::SaveSource>: C++ Macro file: /tmp/tmpha6i3skt.tex has been generated
Info in <TCanvas::Print>: TeX file /tmp/tmprn4a10hv.tex has been created
[4]:
fd = t2t.s_channel("e-","e+","gamma","W-","W+")
l1 = fd.legs[2]
l2 = fd.legs[3]
fd.decay(l1,"c_bar","s")
fd.decay(l2,"nu_mu","mu+")
ar = AllRender(auto_default(fd))
ar.render()
tikz:

pyx:

feynmp:

feynman:

dot:

mermaid:
asciipdf:

unicodepdf:

madgraph:

root:

Info in <TCanvas::SaveSource>: C++ Macro file: /tmp/tmpdfd34jt1.tex has been generated
Info in <TCanvas::Print>: TeX file /tmp/tmp6g7j28pe.tex has been created
[ ]:
[ ]: