Feynman
From: http://gkantonius.github.io/feynman/auto_examples/index.html
[1]:
from feynml import FeynmanDiagram, Leg, Propagator, Vertex
from pyfeyn2.render.latex.tikzfeynman import TikzFeynmanRender
from pyfeyn2.render.all import AllRender
from pyfeyn2.render.root.rootrender import ROOTRender
from pyfeyn2.render.root.rootpdfrender import ROOTPDFRender
from pyfeyn2.render.text.unicode import UnicodeRender
from pyfeyn2.render.text.unicodepdf import UnicodePDFRender
from pyfeyn2.auto.position import feynman_adjust_points
from pyfeyn2.auto.label import auto_label
[2]:
v1 = Vertex(x=-1,y=1)
v2 = Vertex(x=-1,y=-1)
v3 = Vertex(x=0,y=0)
v4 = Vertex(x=1,y=0)
i1 = Leg(x=-2,y=1,target=v1.id,name="u").with_incoming()
i2 = Leg(x=-2,y=-1,target=v2.id,name="u").with_incoming()
o1 = Leg(x=2,y=1,target=v1.id,pdgid=1).with_outgoing()
o2 = Leg(x=2,y=0.5,target=v4.id,pdgid=-11).with_outgoing()
o3 = Leg(x=2,y=-0.5,target=v4.id,pdgid=-11).with_outgoing()
o4 = Leg(x=2,y=-1, target=v2.id,pdgid=1).with_outgoing()
fd = FeynmanDiagram().add(
v1,v2,v3,v4,
i1,i2,
o1,o2,o3,o4,
Propagator(type="higgs",
source=v3.id,
target=v4.id,
label=r"$H^{++}$"
),
Propagator(pdgid=24,source=v1.id,target=v3.id),
Propagator(pdgid=24,source=v2.id,target=v3.id)
).add_rules("""
[type=fermion] { color : blue}
[type="anti fermion"] { color : blue}
[type="boson"] { color : green}
""")
auto_label(fd.propagators+fd.legs)
ar = AllRender(fd)
ar.render()
tikz:

pyx:

feynmp:

feynman:

dot:

mermaid:
asciipdf:

unicodepdf:

madgraph:

root:

Info in <TCanvas::SaveSource>: C++ Macro file: /tmp/tmpa45vwp8p.tex has been generated
Info in <TCanvas::Print>: TeX file /tmp/tmpesa6uygc.tex has been created
[3]:
FeynmanDiagram(id='FeynmanDiagram18', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, propagators=[Propagator(id='Propagator19', pdgid=None, name=None, texname=None, type='higgs', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$H^{++}$', momentum=None, source='Vertex10', target='Vertex11'), Propagator(id='Propagator20', pdgid=24, name='W+', texname='W^{+}', type='boson', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$W^{+}$', momentum=None, source='Vertex8', target='Vertex10'), Propagator(id='Propagator21', pdgid=24, name='W+', texname='W^{+}', type='boson', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$W^{+}$', momentum=None, source='Vertex9', target='Vertex10')], vertices=[Vertex(id='Vertex8', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, x=-1, y=1, z=None, label=None, shape=None), Vertex(id='Vertex9', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, x=-1, y=-1, z=None, label=None, shape=None), Vertex(id='Vertex10', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, x=0, y=0, z=None, label=None, shape=None), Vertex(id='Vertex11', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, x=1, y=0, z=None, label=None, shape=None)], legs=[Leg(id='Leg12', pdgid=2, name='u', texname='u', type='fermion', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$u$', momentum=None, target='Vertex8', x=-2, y=1, z=None, shape=None, sense='incoming', external=None), Leg(id='Leg13', pdgid=2, name='u', texname='u', type='fermion', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$u$', momentum=None, target='Vertex9', x=-2, y=-1, z=None, shape=None, sense='incoming', external=None), Leg(id='Leg14', pdgid=1, name='d', texname='d', type='fermion', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$d$', momentum=None, target='Vertex8', x=2, y=1, z=None, shape=None, sense='outgoing', external=None), Leg(id='Leg15', pdgid=-11, name='e+', texname='e^{+}', type='anti fermion', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$e^{+}$', momentum=None, target='Vertex11', x=2, y=0.5, z=None, shape=None, sense='outgoing', external=None), Leg(id='Leg16', pdgid=-11, name='e+', texname='e^{+}', type='anti fermion', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$e^{+}$', momentum=None, target='Vertex11', x=2, y=-0.5, z=None, shape=None, sense='outgoing', external=None), Leg(id='Leg17', pdgid=1, name='d', texname='d', type='fermion', style=cssutils.css.CSSStyleDeclaration(cssText=''), clazz=None, label='$d$', momentum=None, target='Vertex9', x=2, y=-1, z=None, shape=None, sense='outgoing', external=None)], sheet=cssutils.css.CSSStyleSheet(href=None, media=None, title=None))
[ ]: