费曼图 - 改变垂直线

费曼图 - 改变垂直线

我正在尝试绘制希格斯衰变模式的费曼图:

\begin{fmffile}{feyngraph4}
  \begin{fmfgraph*}(120,60)
    %\fmfstraight
    \fmfleft{i1,i3} 
    \fmfright{o1,o2,o3}
    \fmf{gluon}{i1,v1}
    \fmf{gluon}{i3,v3}
    \fmf{fermion}{v1,o1}
    \fmf{fermion}{v3,o3}
    \fmffreeze
    \fmf{fermion,label=,label.side=left}{v3,v2,v1}
    \fmffreeze
    \fmf{dashes}{v2,o2}
    \fmflabel{$g$}{i3}
    \fmflabel{$g$}{i1}
    \fmflabel{H}{o2}
    \fmflabel{t}{o1}
    \fmflabel{t}{o3}
  \end{fmfgraph*}
\end{fmffile}

我怎样才能在垂直线上放置一个箭头而不是两个?

在此处输入图片描述

答案1

像这样:

\documentclass[border=10pt]{standalone}
\usepackage{feynmp}
\usepackage{feynmp-auto}
\begin{document}
\begin{fmffile}{feyngraph4}
  \begin{fmfgraph*}(120,60)
    %\fmfstraight
    \fmfleft{i1,i3} 
    \fmfright{o1,o2,o3}
    \fmf{gluon}{i1,v1}
    \fmf{gluon}{i3,v3}
    \fmf{fermion}{v1,o1}
    \fmf{fermion}{v3,o3}
    \fmffreeze
    \fmf{fermion,label=,label.side=left}{v3,v1}  % <- changed
    \fmffreeze
    \fmfforce{(60,30)}{v2}  % <-- new line (60,30) = 1/2 (120, 60)
    \fmf{dashes}{v2,o2}
    \fmflabel{$g$}{i3}
    \fmflabel{$g$}{i1}
    \fmflabel{H}{o2}
    \fmflabel{t}{o1}
    \fmflabel{t}{o3}
  \end{fmfgraph*}
\end{fmffile}
\end{document}

编译这个(可能两次,可能使用-shell-escape等)以获得:

在此处输入图片描述

自动布局feynmp非常巧妙,但我不得不承认,有时我发现它相当令人困惑。就我个人而言,我认为学习起来要简单得多元帖子并用作feynmp.mp宏的源。然后你可以这样做:

\documentclass[border=5mm]{standalone}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
input feynmp
beginfig(1);
    -x1 = -x4 = x3 = x6 = 55; x2 = x5 = 0;;
    y1 = y2 = y3 = -y4 = -y5 = -y6 = 34;
    z7 = 1/2[z3, z6] shifted 7 right;

    draw_gluon z1 .. z2;  draw_fermion z2 .. z3; 
    draw_gluon z4 .. z5;  draw_fermion z5 .. z6; 
    draw_fermion z2 .. z5;
    draw_dashes origin .. z7;

    label.ulft("$g$", z1);
    label.llft("$g$", z4);
    label.urt("$t$", z3);
    label.lrt("$t$", z6);
    label.rt("$H$", z7);
endfig;
\end{mplibcode}
\end{document}

只需一次编译即可lualatex生成如下 PDF:

在此处输入图片描述

但这种方法并没有真正记录下来。您必须阅读源代码才能了解等等draw_gluon...

相关内容