答案1
TikZ-Feynman 当然可以做到这一点。
这是 Asymptote 代码。
import feynman;
unitsize(0.75cm);
currentpen = linewidth(1bp);
photonamplitude=0.2;
draw(scale(2)*Label("$p,a$",Relative(.3),2*RightSide),photon((-5,0)--(0,0),width=1.3),Arrow(TeXHead,position=Relative(0.45),size=4));
draw(scale(2)*Label("$p,a$",Relative(.7),5*RightSide),photon((5,0)--(10,0),width=1.3),Arrow(TeXHead,position=Relative(0.45),size=4));
draw(scale(2)*Label("$q+p/2$",LeftSide),(0,0){dir(90)}..{dir(-90)}(5,0),Arrow(TeXHead,position=Relative(0.4),size=3));
draw(scale(2)*Label("$q-p/2$",LeftSide),(5,0){dir(-90)}..{dir(90)}(0,0),Arrow(TeXHead,position=Relative(0.6),size=3));
答案2
解决方案如下tikz-feynman
:
\documentclass[a4paper,12pt]{article}
\usepackage{amssymb,amsmath}
\usepackage{tikz-feynman}
\tikzfeynmanset{compat=1.1.0}
\newcommand{\virgola}{\smash{\raisebox{0.1ex}{,}}}
\begin{document}
\feynmandiagram [layered layout, horizontal=b to c] {
a -- [boson,edge label'=\(p\virgola a\),charged boson] b
-- [fermion, half left, looseness=1.5,edge label'=\(\scriptstyle q+\frac{p}{2}\)] c
-- [fermion, half left, looseness=1.5, edge label'=\(\scriptstyle q-\frac{p}{2}\)] b,
c -- [boson,edge label'=\(p\virgola a\),charged boson] d,
};
\end{document}