tikz-Feynman 的费曼图问题

tikz-Feynman 的费曼图问题

我正在尝试创建以下(粗略绘制的)费曼图:手绘费曼图但我目前拥有的代码遇到了问题。我使用的是 tikz-feynman,版本 compat=1.1.0。这是我目前拥有的代码:

\documentclass[11pt,a4paper]{article}
\usepackage[compat=1.1.0]{tikz-feynman}
\feynmandiagram [baseline=(b.base), horizontal=a to b] {
a [particle=\(k_1\)] -- [scalar] b -- [scalar, momentum=\(k_2\)] c,
b -- [photon, momentum'=\(q\), edge label'=\(\ell\), loop, min distance=2cm] b,
d [particle=\(k_4\)] -- [scalar] e -- [scalar, momentum'=\(k_3\)] f,
e -- [photon] b,
};

\end{document}

不会生成所附图像。有什么帮助或想法吗?

答案1

由于该tikz-feynman包会自动放置节点(为此您需要使用 LuaLaTeX 编译代码),因此您需要考虑如何以符合预期的方式放置它们。但有时,这种自动放置并没有太大帮助。例如,如果您想在循环下方添加垂直直线,稍后使用常规 Ti 添加可能会更容易Z 命令。

一种方法可以是:

\documentclass[border=10pt]{standalone}
\usepackage[compat=1.1.0]{tikz-feynman}
\begin{document}

\feynmandiagram[baseline=(b.base), horizontal=a to d]{
    o -- [photon, reversed momentum'=\(\ell\), loop, min distance=2cm] o,
    o -- [photon] a -- [scalar, reversed momentum=\(k_1\)] b,
    c -- [scalar, reversed momentum=\(k_2\)] a,
    o -- [photon] d -- [scalar, momentum=\(k_4\)] e,
    f -- [scalar, momentum=\(k_3\)] d,
};

\end{document}

在此处输入图片描述


\documentclass[border=10pt]{standalone}
\usepackage[compat=1.1.0]{tikz-feynman}
\begin{document}

\begin{tikzpicture}[baseline=(b.base)]
\begin{feynman}
    \diagram[horizontal=b to e]{
        a -- [scalar, momentum'=\(k_1\)] b 
          -- [scalar, momentum'=\(k_2\)] c,
        d -- [scalar, momentum=\(k_3\)] e
          -- [scalar, momentum=\(k_4\)] f,
        b -- [photon] e
    };

    \coordinate (o) at ($(b)!0.5!(e)$);
    \coordinate (p) at ($(o)+(0,1)$);

    \draw[photon] (o) -- (p) 
        edge[photon, reversed momentum'=\(\ell\), loop, min distance=2cm] (p);

\end{feynman}
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容