![如何在 TikZ-Feynman 中调整动量箭头](https://linux22.com/image/368488/%E5%A6%82%E4%BD%95%E5%9C%A8%20TikZ-Feynman%20%E4%B8%AD%E8%B0%83%E6%95%B4%E5%8A%A8%E9%87%8F%E7%AE%AD%E5%A4%B4.png)
我正在尝试使用 Latex 中的 TikZ-Feynman 包创建 Feynman-Diagra。
有没有办法调整 TikZ 中动量箭头的位置?目前,光子线的两个动量箭头在图中重叠,看起来不太好看。我想让动量箭头更靠近光子线的边缘。我该怎么做?
\begin{tikzpicture}
\begin{feynman}
\diagram [baseline={(current bounding box.center)},vertical'=a to b] {
i1[particle=\(e^{-}\)] -- [anti fermion, rmomentum'={[arrow style=white,label style=black]\(p^\prime\)}]
a -- [draw=none]
f1[nudge=(-45:0.5cm),particle=\(\gamma\)],
a -- [anti fermion, rmomentum'={[arrow style=white,label style=black]\(p-k^\prime\)}] b,
i2[particle=\(e^{-}\)] -- [fermion,rmomentum={[arrow style=white,label style=black]\(p\)}]
b -- [draw=none]
f2[nudge=(45:0.5cm), particle=\(\gamma\)], };
\diagram* {
(a) -- [photon,rmomentum={[arrow shorten=0.15mm,arrow distance=3mm]\(k\)}] (f2),
(b) -- [photon,momentum'={[arrow shorten=0.15mm,arrow distance=3mm]\(k\)}] (f1),
};
\end{feynman}
\end{tikzpicture}
答案1
我觉得有点拖延,所以就开始吧。
如果你用宏手动定义坐标,这很容易\vertex
。(见第 2.4.3 节手动放置请参阅手册中的说明,以供参考。)
\documentclass{article}
\usepackage[compat=1.1.0]{tikz-feynman}
\begin{document}
\begin{tikzpicture}[
arrowlabel/.style={
/tikzfeynman/momentum/.cd, % means that the following keys are read from the /tikzfeynman/momentum family
arrow shorten=#1,arrow distance=1.5mm
},
arrowlabel/.default=0.4
]
\begin{scope}[local bounding box=part A]
\begin{feynman}
% first define the coordinates
\vertex (a);
\vertex [right=of a] (b1);
\vertex [above=1cm of b1] (b2);
\vertex [above=1cm of b2] (b3);
\vertex [above=1cm of b3] (b4);
\vertex [right=of b4] (c);
% then draw connections
\diagram* {
(a) -- [boson, momentum={[arrowlabel]$k$}] (b2),
(b1) -- [fermion, edge label'=$p$] (b2)
-- [fermion, edge label'=$p+k$] (b3)
-- [fermion, edge label=$p'$] (b4),
(b3) -- [boson, momentum'={[arrowlabel]$k'$}] (c),
};
\end{feynman}
\end{scope}
\node [right=3mm of part A] (plus) {$+$};
\begin{scope}[local bounding box=part B, shift={([xshift=3mm]plus.east |- part A.south)}]
\begin{feynman}
\vertex (a);
\vertex [right=of a] (b1);
\vertex [above=1cm of b1] (b2);
\vertex [above=1cm of b2] (b3);
\vertex [above=1cm of b3] (b4);
\vertex [right=of b4] (c);
\diagram* {
(a) -- [boson, momentum={[arrowlabel=0.42]$k$}] (b3),
(b1) -- [fermion, edge label'=$p$] (b2)
-- [fermion] (b3)
-- [fermion, edge label=$p'$] (b4),
(b2) -- [boson, momentum'={[arrowlabel=0.42]$k'$}] (c),
};
\end{feynman}
\end{scope}
\end{tikzpicture}
\end{document}