使用 feynmf 绘制带箭头的双波浪线

使用 feynmf 绘制带箭头的双波浪线

请问您能帮我画一条带箭头的双波浪线吗?我可以使用此代码画一条带箭头的单波浪线

  \begin{fmffile}{vertex}
  \fmfcmd{%
  style_def wiggly_arrow expr p =
  cdraw (wiggly p);
  shrink (1);
  cfill (arrow p);
  endshrink;
  enddef;}
  \begin{fmfgraph*}(100,60)
  \fmfleft{i1}
  \fmfright{o1,o2}
  \fmflabel{$g$}{v1}
  \fmf{wiggly_arrow,label=$\hat{a}$,l.side=left}{i1,v1}
  \fmf{fermion,label=$\sigma$,l.side=right}{v1,o1}
  \fmf{dashes_arrow,label=$\hat{D}$,l.side=left}{v1,o2}
  \fmfdotn{v}{1}
  \end{fmfgraph*}
  \end{fmffile}

当我将“wiggly”更改为“dbl_wiggly”时,此代码不再起作用。

答案1

我不太喜欢这个样子,但下面确实产生了一条双波浪线,其中心附近叠加了一个箭头:

\begin{fmffile}{vertex}
  \fmfcmd{%
  style_def dbl_wiggly_arrow expr p =
  draw_double (wiggly p);
  shrink (1);
  cfill (arrow p);
  endshrink;
  enddef;}
  \begin{fmfgraph*}(100,60)
  \fmfleft{i1}
  \fmfright{o1,o2}
  \fmflabel{$g$}{v1}
  \fmf{dbl_wiggly_arrow,label=$\hat{a}$,l.side=left}{i1,v1}
  \fmf{fermion,label=$\sigma$,l.side=right}{v1,o1}
  \fmf{dashes_arrow,label=$\hat{D}$,l.side=left}{v1,o2}
  \fmfdotn{v}{1}
  \end{fmfgraph*}
  \end{fmffile}

请注意 代替draw_double (wiggly p)更明显的cdraw (dbl_wiggly p)

相关内容