我使用的简单代码如下:
\begin{fmffile}{diagr_6th_ord}
\begin{fmfgraph}(200,125)
\fmfleft{i}
\fmfright{o}
\fmf{photon}{i,v1}
\fmf{photon}{v4,o}
\fmf{photon}{v2,v3}
\fmf{photon}{v5,v6}
\fmf{fermion}{v1,v2}
\fmf{fermion}{v6,v4}
\fmf{fermion}{v3,v5}
\fmf{dashes_arrow}{v1,v5}
\fmf{dashes_arrow}{v3,v4}
\fmf{dashes_arrow}{v6,v2}
\fmfdotn{v}{6}
\end{fmfgraph}
\end{fmffile}
但这并不奏效。我认为这是错误的,原因与此相同,例如,为了添加气泡图,我应该写一些类似的东西,\fmf{photon, left, tension=0}{v5,v6}
而不仅仅是\fmf{photon}{v5,v6}
,但我不知道如何修复我的错误。
另外,我需要一个光子箭头(波浪线)。我知道为了做到这一点,我可以使用以下代码
\fmfcmd{%
style_def wiggly_arrow expr p =
cdraw (wiggly p);
shrink (2);
cfill (arrow p);
endshrink;
enddef;}
你能告诉我应该把它放在哪里吗?
答案1
这两个问题的答案是
\begin{fmffile}{6th_ord_SE}
\fmfcmd{%
style_def wiggly_arrow expr p =
cdraw (wiggly p);
shrink (1);
cfill (arrow p);
endshrink;
enddef;}
\begin{fmfgraph}(160,30)
\fmfleft{i1,i2}
\fmfright{o1,o2}
\fmf{phantom}{i2,v5,v6,o2}
\fmffreeze
\fmf{phantom}{i1,v1,v2,v3,v4,o1}
\fmffreeze
\fmf{wiggly_arrow}{i1,v1}
\fmf{wiggly_arrow}{v5,v6}
\fmf{wiggly_arrow}{v2,v3}
\fmf{wiggly_arrow}{v4,o1}
\fmf{fermion}{v1,v5}
\fmf{fermion}{v2,v6}
\fmf{fermion}{v3,v4}
\fmf{dashes_arrow}{v1,v2}
\fmf{dashes_arrow}{v5,v3}
\fmf{dashes_arrow}{v6,v4}
\fmfdotn{v}{6}
\end{fmfgraph}
\end{fmffile}
答案2
人们甚至不需要玩弄风格:
\begin{fmfgraph}(200,125)
\fmfleft{i1,i,i2}
\fmfright{f1,o,f2}
\fmf{phantom}{i1,v5,v6,f1}
\fmf{phantom}{i2,v2,v3,f2}
\fmffreeze
\fmf{photon}{i,v1}
\fmf{photon}{v4,o}
\fmf{photon}{v2,v3}
\fmf{phantom_arrow}{v2,v3}
\fmf{photon}{v5,v6}
\fmf{phantom_arrow}{v5,v6}
\fmf{fermion}{v1,v2}
\fmf{fermion}{v6,v4}
\fmf{fermion}{v3,v7,v5}
\fmf{dashes_arrow}{v1,v5}
\fmf{dashes_arrow}{v3,v4}
\fmf{dashes_arrow}{v6,v7,v2}
\fmfdotn{v}{6}
\end{fmfgraph}