如何使用 TikZ 创建这些费曼图?

如何使用 TikZ 创建这些费曼图?

我查看了使用 TikZ 构建费曼图的示例,但我仍然很难构建它们。你能帮我吗?我在这里附上了所需图表的图片。
费曼图

答案1

这是图 (a) 和 (d) 的复制品,因为您说它们对您来说最重要。我认为这也足以让您开始研究其他图,因为代码相当明确,尤其是当手动放置顶点时。

\documentclass{article}
\usepackage{subcaption}
\usepackage{tikz-feynman}
\begin{document}
\begin{figure}
\begin{subfigure}{.5\textwidth}
    \centering
    \begin{tikzpicture}
    \begin{feynman}
        \vertex at (0, 1) (i1) {\(g\)};
        \vertex at (0,-1) (i2) {\(g\)};
        \vertex at (2, 1) (a);
        \vertex at (2,-1) (b);
        \vertex at (3.5, 0) (c);
        \vertex at (5, 0) (f);
        \vertex at (2.5,0) () {\(t\)};
        \vertex[red] at (4.7,.3) () {\(H\)};
        \diagram*{
            (i1) -- [gluon] (a),
            (i2) -- [gluon] (b),
            (a) -- [fermion] (b) -- [fermion] (c) -- [fermion] (a),
            (c) -- [scalar, red] (f),
        };
    \end{feynman}
    \end{tikzpicture}
    \caption{}
\end{subfigure}%
\setcounter{subfigure}{3}%
\begin{subfigure}{.5\textwidth}
    \centering
    \begin{tikzpicture}
    \begin{feynman}
        \vertex at (0, 1) (i1) {\(g\)};
        \vertex at (0,-1) (i2) {\(g\)};
        \vertex at (2, 1) (a);
        \vertex at (2,-1) (b);
        \vertex at (4, 1) (f1) {\(t\)};
        \vertex at (4,-1) (f2) {\(\bar{t}\)};
        \vertex at (2,0) (c);
        \vertex[red] at (4,0) (f3) {\(H\)};
    \diagram*{
        (i1) -- [gluon] (a) -- [fermion] (f1),
        (i2) -- [gluon] (b) -- [anti fermion] (f2),
        (a) -- [fermion] (b),
        (c) -- [scalar, red] (f3);
    };
    \end{feynman}
    \end{tikzpicture}
    \caption{}
\end{subfigure}
\end{figure}
\end{document}

答案2

作为模型,我pstricks为第一张图像提出了一个简单的代码:

\documentclass[pstricks, border=6pt]{standalone}
\usepackage{pst-feyn, pst-node, pst-arrow}

\begin{document}

    \begin{pspicture}(-3,-2)(4,2)
    \psline[linestyle=dashed, linecolor=red](2,0)(4,0)
    \uput[ul](4,0){$\color{red}H$}
    \psset{windings=6, amplitude=3mm, linejoin=1, arrowinset=0.12}
    \psGluon(-2,-1)(0,-1)\uput[l](-2,-1){$g$}
    \psGluon(-2,1)(0,1)\uput[l](-2,1){$g$}
    \psset{ArrowInside=->, ArrowInsidePos=0.55}
    \pspolygon (0,1)(0,-1)(2,0)
    \uput[l](1,0){$t$}
    \end{pspicture}

\end{document} 

在此处输入图片描述

相关内容