我正在尝试绘制希格斯衰变模式的费曼图:
\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
...