修改 tikz-feynman 生成的费曼图中的一条边

修改 tikz-feynman 生成的费曼图中的一条边

考虑以下费曼图:

% !TeX program = lualatex
\documentclass[a4paper,10pt]{article}
\usepackage{amsmath}
\usepackage{tikz-feynman}
\begin{document}
\begin{center}

\feynmandiagram [large, horizontal=a to t1] {
    a  -- [plain,reversed momentum=\(k_1+k_2\)] t1 -- [scalar, momentum'=\(q\),edge label=\(m_1\)] t2 --[plain, momentum'=\(q+k_1\),edge label=\(m_2\)]t3 -- [plain, momentum'=\(q+k_1+k_2\),edge label=\(m_3\)]t1,
    t2 -- [plain,reversed momentum=\(k_1\)] p1 ,
    t3 -- [plain,reversed momentum=\(k_2\)] p2,
};
\end{center}
\end{document}

费曼图

现在我想要的是虚线成为边缘半点以及指定方向

在两个可能的方向之一中转换后的图像应该如下所示:

修改边的费曼图

如何实现这一点?

答案1

在我的计算机上,您的代码不会重现您的屏幕截图,而是将其颠倒过来。但是,获取“半虚线”线相当简单。只需记住节点并绘制实线半线作为覆盖即可。

\documentclass[a4paper,10pt]{article}
\usepackage{amsmath}
\usepackage{tikz-feynman}
\begin{document}
\begin{center}

\feynmandiagram [large, horizontal=a to t1,remember picture] {
    a  -- [plain,reversed momentum=\(k_1+k_2\)] t1 
    -- [scalar, momentum=\(q\),edge label'=\(m_1\)] t2 
    --[plain, momentum=\(q+k_1\),edge label'=\(m_2\)]t3 
    -- [plain, momentum=\(q+k_1+k_2\),edge label'=\(m_3\)]t1,
    t2 -- [plain,reversed momentum=\(k_1\)] p1 ,
    t3 -- [plain,reversed momentum=\(k_2\)] p2,
};
\tikz[overlay,remember picture]{\path (t1) --(t2) coordinate[midway] (m1);
\draw[thick] (m1) --(t2);
}
\end{center}
\end{document}

在此处输入图片描述

相关内容