如何使用 tikz-feynman 绘制交叉线?

如何使用 tikz-feynman 绘制交叉线?

我正在尝试从此处编码的图表中绘制出动量在最终状态粒子上交叉的费曼图。

\feynmandiagram[horizontal=i1 to a]{
f1[particle=\(\Bar{\psi}\)]--[anti fermion, momentum=\(p_2\)]b--[scalar, momentum=\(p_2'\)]f2[particle=\(\phi\)],
i1[particle=\(\psi\)]--[fermion, momentum=\(p_1\)]a--[scalar, momentum=\(p_1'\)]i2[particle=\(\phi\)],
b--[anti fermion, reversed momentum=\(p_1-p_1'\)]a,
i1--[opacity=0]f1,
i2--[opacity=0]f2,
};

我尝试按如下方式添加另一个顶点,但结果线条出现扭结。还有其他方法吗?

\feynmandiagram[horizontal=i1 to a]{
i1[particle=\(\psi\)]--[fermion, momentum=\(p_1\)]a--[scalar]a1--[scalar, momentum=\(p_1'\)]i2[particle=\(\phi\)],
f1[particle=\(\Bar{\psi}\)]--[anti fermion, momentum=\(p_2\)]b--[scalar]a1--[scalar, momentum'=\(p_2'\)]f2[particle=\(\phi\)],
b--[anti fermion]a,
i1--[opacity=0]f1,
i2--[opacity=0]f2,
};

编辑: 在此处输入图片描述

我试图让第二张图有直线,标量线相交

答案1

让我们回顾一下如何在 中解决这个问题feynmp。在那里,您可以使用phantoms添加不可见的传播器,并\fmffreeze在某个点冻结图表。我们可以在 中做类似的事情tikz-feynmanphantom被映射到opacity=0,并且在某种程度上\fmffreeze通过将额外的东西放在overlay图片中来模拟,这样它就不会影响布局算法。rubout,我在建议的图表替代方案中实现了 ,也受到了 的很大启发feynmp,在我看来,它仍然能产生最美观的费曼图。

\documentclass[twocolumn]{article}
\usepackage{amsmath}
\usepackage{tikz-feynman}
\tikzset{rubout/.style={preaction={draw=white,line width=3pt}}}
\begin{document}

\subsection*{Your diagram}
\feynmandiagram[horizontal=i1 to a]{
f1[particle=\(\Bar{\psi}\)]--[anti fermion, momentum=\(p_2\)]b--[scalar, momentum=\(p_2'\)]f2[particle=\(\phi\)],
i1[particle=\(\psi\)]--[fermion, momentum=\(p_1\)]a--[scalar, momentum=\(p_1'\)]i2[particle=\(\phi\)],
b--[anti fermion, reversed momentum=\(p_1-p_1'\)]a,
i1--[opacity=0]f1,
i2--[opacity=0]f2,
};

\subsection*{Your diagram crossed}
\feynmandiagram[horizontal=i1 to a,remember picture]{
f1[particle=\(\Bar{\psi}\)]--[anti fermion, momentum=\(p_2\)]b--[opacity=0]f2[particle=\(\phi\)],
i1[particle=\(\psi\)]--[fermion, momentum=\(p_1\)]a--[opacity=0]i2[particle=\(\phi\)],
b--[anti fermion, reversed momentum'=\(p_1-p_2'\)]a,
i1--[opacity=0]f1,
i2--[opacity=0]f2,
};

\begin{tikzpicture}[overlay,remember picture]
\begin{feynman}
\path (b) -- (i2) coordinate[midway] (b1)
(a) -- (f2) coordinate[midway] (a1);
\diagram*{
(b) --[scalar] (b1) -- [scalar,momentum'={\(p_1'\)}] (i2),
(a) --[scalar] (a1) -- [scalar,momentum={\(p_2'\)}] (f2)
};
\end{feynman}
\end{tikzpicture}

\newpage

\subsection*{An alternative to your diagram}
\feynmandiagram[horizontal=i1 to i2]{
f1[particle=\(\Bar{\psi}\)]--[anti fermion, momentum=\(p_2\)]b--[scalar,
momentum'=\(p_2'\)]f2[particle=\(\phi\)],
i1[particle=\(\psi\)]--[fermion, momentum=\(p_1\)]a--[scalar, momentum=\(p_1'\)]i2[particle=\(\phi\)],
b--[anti fermion, reversed momentum'=\(p_1-p_1'\)]a,
};

\subsection*{An alternative to your diagram crossed}
\feynmandiagram[horizontal=i1 to i2,remember picture]{
f1[particle=\(\Bar{\psi}\)]--[anti fermion, momentum=\(p_2\)]b--[scalar,
opacity=0]f2[particle=\(\phi\)],
i1[particle=\(\psi\)]--[fermion, momentum=\(p_1\)]a--[scalar,opacity=0]i2[particle=\(\phi\)],
b--[anti fermion, reversed momentum'=\(p_1-p_2'\)]a,
};

\begin{tikzpicture}[overlay,remember picture]
\begin{feynman}
\path (b) -- (i2) coordinate[midway] (b1)
(a) -- (f2) coordinate[midway] (a1);
\diagram*{
(b) --[scalar] (b1) -- [scalar,momentum={\(p_1'\)}] (i2),
(a) --[scalar,rubout] (a1) -- [scalar,momentum'={\(p_2'\)}] (f2)
};
\end{feynman}
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案2

如果我理解正确的话,处理路拉泰克斯

\documentclass{article}
\usepackage{amsmath} 
\usepackage{tikz-feynman}

\begin{document}

\begin{center}
\feynmandiagram[horizontal=i1 to a]{
i1[particle=\(\psi\)]--[fermion, momentum=\(p_1\)]a--[scalar, momentum=\(p_1'\)]i2[particle=\(\phi\)],
f1[particle=\(\Bar{\psi}\)]--[anti fermion, momentum=\(p_2\)]b--[scalar, momentum=\(p_2'\)]f2[particle=\(\phi\)],
b--[anti fermion,reversed momentum=\(p_1-p_1'\)]a,
i1--[opacity=0]f1,
i2--[opacity=0]f2,
};
\hspace*{5mm}
\feynmandiagram[horizontal=i1 to a]{
f1[particle=\(\Bar{\psi}\)]--[anti fermion, momentum=\(p_2\)]b--[scalar]a1--[scalar, momentum'=\(p_2'\)]f2[particle=\(\phi\)],
i1[particle=\(\psi\)]--[fermion, momentum=\(p_1\)]a--[scalar]a1--[scalar, momentum=\(p_1'\)]i2[particle=\(\phi\)],
b--[anti fermion]a,
i1--[opacity=0]f1,
i2--[opacity=0]f2,
};

\end{center}
\vspace*{1cm}
\begin{center}
\feynmandiagram [layered layout, horizontal=a to b] {
% 
i1 [particle=\(\psi\)]
-- [fermion, momentum=\(p_1\)] a
-- [scalar] b
-- [scalar, momentum=\(p_1'\)] f1 [particle=\(\phi\)],
i2 [particle=\(\psi\)]
-- [anti fermion, momentum=\(p_2\)] c
-- [scalar] d
-- [scalar, momentum=\(p_2'\)] f2 [particle=\(\phi\)],
% 
{ [same layer] a -- [fermion] c },
{ [same layer] b -- [opacity=0] d},
};
\end{center}

\end{document}

输出:

在此处输入图片描述

并且有选择xscale=1.5

\documentclass{article}
\usepackage{amsmath} 
\usepackage{tikz-feynman}

\begin{document}

\begin{center}
\feynmandiagram [layered layout, horizontal=a to b,xscale=1.5] {
% 
i1 [particle=\(\psi\)]
-- [fermion, momentum=\(p_1\)] a
-- [scalar] b
-- [scalar, momentum=\(p_1'\)] f1 [particle=\(\phi\)],
i2 [particle=\(\psi\)]
-- [anti fermion, momentum=\(p_2\)] c
-- [scalar] d
-- [scalar, momentum=\(p_2'\)] f2 [particle=\(\phi\)],
% 
{ [same layer] a -- [fermion] c },
{ [same layer] b -- [opacity=0] d},
};
\end{center}


\end{document}

输出: 在此处输入图片描述

相关内容