Currently supported line types: solid, wave, loop and dashed. Fermions and ghosts also have an anti pair, which will render the arrow in the opposite direction.
{
"title": "Propagators",
"width": 300,
"height": 300,
"diagram": [
"fmfleftn{5}",
"fmfrightn{5}",
"fmf{fermion}{i1,o1}",
"fmf{photon}{i2,o2}",
"fmf{gluon}{i3,o3}",
"fmf{ghost}{i4,o4}",
"fmf{antifermion}{i5,o5}"
]
}
You can easily create top-down diagrams instead of left-right ones by using fmftop
and fmfbottom
, but you can also mix them to create more complex layouts.
{
"title": "Gluon-Ghost Vertex for QCD",
"width": 300,
"height": 300,
"diagram": [
"fmftopn{1}",
"fmfbottomn{2}",
"fmf{gluon}{i1,v1}",
"fmf{ghost}{o1,v1}",
"fmf{ghost,label=$p$,labelx=5,labely=-5}{v1,o2}",
"fmflabel{i1}{$c,\\mu$}",
"fmflabel{o1}{$b$}",
"fmflabel{o2}{$a$}",
"fmfdot{v1}"
]
}
If you don't want a vertex to have an influence on the layout, append a *
to its name (e.g.: v1*
). This can be particularly useful when you would like to split up a propagator into multiple segments, but you don't want your layout to be skewed.
{
"title" : "Penguin",
"width" : 400,
"height" : 300,
"diagram": [
"fmfleftn{4}",
"fmfrightn{4}",
"fmf{antifermion}{i1,v1*,v2*,v3*,o1}",
"fmf{gluon,left=4,label=$g$}{v2*,v4}",
"fmf{photon,left=2.1,tension=0,labelx=-15,labely=-10,label=$\\overline{u}\\,\\overline{c}\\,\\overline{t}$}{v1*,v3*}",
"fmf{antifermion}{o2,v4,o3}",
"fmf{fermion}{i4,o4}",
"fmfdot{v1*,v2*,v3*,v4}",
"fmflabel{i4}{$d$}",
"fmflabel{o4}{$d$}",
"fmflabel{o2}{$u$}",
"fmflabel{o3}{$\\overline{u}$}",
"fmflabel{i1}{$\\overline{b}$}",
"fmflabel{o1}{$\\overline{s}$}"
]
}