我正在尝试制作一个(简单的?)费曼图,但有些细节让我很困惑。特别是,线条的标签和箭头的标签大小不同,并且 p'/k' 箭头不居中(箭头前后应该有相等的空间)。
我使用的代码是
\documentclass{article}
\usepackage{feynmp}
\DeclareGraphicsRule{*}{mps}{*}{}
\newcommand{\marrow}[5]{%
\fmfcmd{style_def marrow#1
expr p = drawarrow subpath (1/4, 3/4) of p shifted 6 #2 withpen pencircle scaled 0.4;
label.#3 (btex #4 etex, point 0.5 of p shifted 6 #2);
enddef;}
\fmf{marrow#1, tension=0}{#5}}
\unitlength=1mm
\begin{document}
\begin{fmffile}{eemm}
\begin{fmfgraph*}(30,35)
\fmfpen{thin}
\fmfleft{i1,o1}
\fmfright{i2,o2}
\fmflabel{$e^-$}{i1}
\fmflabel{$e^+$}{i2}
\fmflabel{$\mu^-$}{o1}
\fmflabel{$\mu^+$}{o2}
\fmf{fermion, label=$p$}{i1,v1}
\fmf{fermion}{v1,i2}
\fmf{fermion, label=$k$}{v2,o1}
\fmf{fermion}{v2,o2}
\fmf{photon}{v1,v2}
\marrow{a}{down}{bot}{$p'$}{i2,v1}
\marrow{b}{right}{rt}{$q$}{v1,v2}
\marrow{c}{down}{bot}{$k'$}{v2,o2}
\end{fmfgraph*}
\end{fmffile}
\end{document}
答案1
我可以提出一个简单的解决方案pst-feyn
:
\documentclass[x11names, 12pt, border=6pt]{standalone}
\usepackage{pst-node, pst-feyn}
\begin{document}
\begin{pspicture}(-3,-3)(3,3)
\psset{linejoin=1, arrowinset=0, labelsep=2.5pt}
\psPhoton[windings=4.5, amplitude=3pt](0,-1)(0,1)
\psArrowLine(0,1)(1.3,1.8)\uput[ur](1.3,1.8){$\mu^+ $}
\psArrowLine(0,1)(-1.3,1.8)\uput[ul](-1.3,1.8){$\mu^-$}
\uput[dl](-0.65,1.4){$k$}
\psArrowLine(0,-1)(1.3,-1.8)\uput[dr](1.3,-1.8){$e^+ $}
\psArrowLine(-1.3,-1.8)(0,-1)\uput[dl](-1.3,-1.8){$e^-$}
\uput[dr](-0.65,-1.4){$p$}
\pnodes(0,-0.5){A1}(0,0.5){A2}(0.32,1.2){B1}(0.96,1.60){B2}(0.32,-1.2){C1}(0.96,-1.60){C2}
\psset{arrows=->}
\ncline[offset=-1.2ex]{A1}{A2}\nbput{$q$}
\ncline[offset=-1.2ex]{B1}{B2}\nbput{$k'$}
\ncline[offset=-1.2ex, arrows=<-]{C1}{C2}\nbput{$p'$}
\end{pspicture}
\end{document}
答案2
另一种方法是tikz-feynman
使用路拉泰克斯。
\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage[compat=1.1.0]{tikz-feynman}
\begin{document}
\feynmandiagram [vertical'=a to b] {
i1 [particle=\(\mu^{-}\)] -- [fermion] a -- [fermion,momentum'=\(\scriptstyle k'\)] i2 [particle=\(\mu^{+}\)],
a -- [photon,reversed momentum=\(q\)] b,
f1 [particle=\(\mu^{-}\)] -- [fermion] b -- [fermion, reversed momentum'=\(\scriptstyle p'\)] f2 [particle=\(\mu^{+}\)],
};
\end{document}