我怎样才能在这张 tikz 图片中添加一个小的费曼图循环?

我怎样才能在这张 tikz 图片中添加一个小的费曼图循环?

下面的代码

\documentclass{article}
\usepackage{tikz,tikz-feynman}
\begin{document}
\begin{tikzpicture}[baseline=(current  bounding  box.center)]
\begin{feynman}
\vertex (x);
\vertex[right=1.5cm of x] (y);
\vertex[above left=of x] (a);
\vertex[below left=of x] (b);
\vertex[above right=of y] (c);
\vertex[below right=of y] (d);
\vertex[above right= 0.5cm and 0.75cm of x] (p);

\diagram*{
    (x) --[scalar, bend left] (p),
    (y) --[scalar,  bend right] (p),
    %(x) --[fermion, half left] (y),
    (x) --[scalar, half right] (y),
    (x) --[fermion] (a),
    (x) --[fermion] (b),
    (y) --[fermion] (c),
    (y) --[fermion] (d),
};
\end{feynman}
\end{tikzpicture}
\end{document}

给出下图:

在此处输入图片描述

我想要做的是在顶点 (p) 上添加一个小循环,如下所示

在此处输入图片描述

答案1

只需添加p --[out=135, in=45, loop, min distance=1cm] p到主体的最后\diagram*即可解决问题。

\begin{tikzpicture}[baseline=(current bounding box.center)] 
  \begin{feynman}
    \vertex (x);
    \vertex[right=1.5cm of x] (y);
    \vertex[above left=of x] (a);
    \vertex[below left=of x] (b);
    \vertex[above right=of y] (c);
    \vertex[below right=of y] (d);
    \vertex[above right= 0.5cm and 0.75cm of x] (p);

    \diagram*{
        (x) --[scalar, bend left] (p),
        (y) --[scalar, bend right] (p),
        %(x) --[fermion, half left] (y),
        (x) --[scalar, half right] (y),
        (x) --[fermion] (a),
        (x) --[fermion] (b),
        (y) --[fermion] (c),
        (y) --[fermion] (d),
        p --[red, out=135, in=45, loop, min distance=1cm] p,
    };
    \node[below, red] at (p) {(p)};
  \end{feynman}
\end{tikzpicture} 

在此处输入图片描述 请注意,您已经{feynman}在 中使用了 环境{tikzpicture},这允许您访问 中的所有命令TikZ。因此,如果您想删除红线中的尖点,只需像 中那样进行操作即可{tikzpicture}

\begin{tikzpicture}[baseline=(current bounding box.center)]
  \begin{feynman}
    \vertex (x);
    \vertex[right=1.5cm of x] (y);
    \vertex[above left=of x] (a);
    \vertex[below left=of x] (b);
    \vertex[above right=of y] (c);
    \vertex[below right=of y] (d);
    \vertex[above right= 0.5cm and 0.75cm of x] (p);

    \diagram*{
        (x) --[scalar, bend left] (p),
        (y) --[scalar, bend right] (p),
        %(x) --[fermion, half left] (y),
        (x) --[scalar, half right] (y),
        (x) --[fermion] (a),
        (x) --[fermion] (b),
        (y) --[fermion] (c),
        (y) --[fermion] (d),
    };
    \draw[red] (p) node[fill=black, circle, inner sep=1pt] node[below, red] {(p)} arc(-90:270:0.3);
  \end{feynman}
\end{tikzpicture}

在此处输入图片描述

相关内容