费曼图:4 点顶点变为 3 点顶点

费曼图:4 点顶点变为 3 点顶点

我之前问过一个问题,关于如何在涉及 blob 之前创建一个 4 点顶点。我得到的答案是

\documentclass{article}
\usepackage{tikz-feynman,contour}
\begin{document}
\begin{tikzpicture}
  \begin{feynman}
    \vertex[blob,label={above:$P$}] (m) at ( 0, 0) {\contour{white}{$\leftarrow$}};
    \vertex (a) at (-2,-1) {$K' + P \\ \uparrow$};
    \vertex (b) at ( 2,-1) {$\uparrow \\ K + P$};
    \vertex (c) at (-2, 1) {$-K' \\ \downarrow$};
    \vertex (d) at ( 2, 1) {$\downarrow \\ -K$};
    \diagram* {
      (d) -- [fermion] (m) -- [fermion] (c),
      (b) -- [fermion] (m) -- [fermion] (a),
    };
  \end{feynman}
\end{tikzpicture}
\end{document}

现在我想制作一个如下所示的:

在此处输入图片描述

我该如何修改我的初始代码才能获得这个?

//编辑:右侧的玻色子传播器(曲线)指向左侧的箭头也很好。

//Edit2:这是我所拥有的:

\documentclass{article}
\usepackage{tikz-feynman,contour}
\begin{document}
\begin{tikzpicture}

    \begin{feynman}
    \vertex[blob,label={above:$P$}] (m) at ( 0, 0) {\contour{white}    {$\leftarrow$}};
    \vertex (a) at (-2,-1) {$K' + P \\ \uparrow$};
    \vertex (b) at ( 2,-1) {$\uparrow \\ K + P$};
    \vertex (c) at (-2, 1) {$-K' \\ \downarrow$};
    \vertex (d) at ( 2, 1) {$\downarrow \\ -K$};
    \diagram* {
      (d) -- [fermion] (m) -- [fermion] (c),
      (b) -- [fermion] (m) -- [fermion] (a),
    };
  \end{feynman}

  \begin{feynman}
    \vertex(m) at ( 0, 0);
    \vertex (a) at (-2,-1) {$K + P \\ \uparrow$};

    \vertex (c) at (-2, 1) {$-K \\ \downarrow$};

    \vertex(n) at ( 2, 0) {$P$};
    \diagram* {
      (m) -- [fermion] (a),
      (m) -- [fermion] (c),
      (n) -- [boson] (m),
    };
  \end{feynman}

    \begin{feynman}
    \vertex(m) at ( 0, 0);
    \vertex (a) at (2,-1) {$K + P \\ \uparrow$};

    \vertex (c) at (2, 1) {$-K \\ \downarrow$};

    \vertex(n) at ( -2, 0) {$P$};
    \diagram* {
      (m) -- [fermion] (a),
      (m) -- [fermion] (c),
      (n) -- [boson] (m),
    };
  \end{feynman}

\end{tikzpicture}
\end{document}

我得到了我想要的所有 3 个图表。我的问题是,它们全都位于彼此之下,但我需要它们彼此相邻(带有箭头和加号)。有什么建议吗?

答案1

很高兴看到你尝试回答自己的问题!我会帮你解决最后一点 :)

为了使它们并排显示,您可以做以下两件事之一:

  1. 翻译所有 Ti其他图表的 Z 坐标,这样就可以使用相对于原点的事物(0,0),而不是使用原点。(5,5)
  2. 分离 TiZ 环境,以便 LaTeX 将每个图形放在自己的位置。

在这两种方法中,我更喜欢第二种方法,因为它还允许您在方程中使用图表。唯一的问题是 LaTeX 会将图表的底部与线条的其余部分对齐,这意味着等号和加号不会居中。可以使用 Ti 解决这个问题Z 的baseline键告知 LaTeX 图表应有多高(与字母“g”低于线的方式非常相似)。最后,我给出的论据是我从另一个问题中学到的一个小技巧,它确保所有内容与和符号baseline对齐。+=

代码如下:

\RequirePackage{luatex85}
\documentclass{standalone}
\usepackage{amsmath}
\usepackage[compat=1.1.0]{tikz-feynman}
\usepackage{contour}
\begin{document}
\begin{equation*}
  \begin{tikzpicture}[baseline=-\the\dimexpr\fontdimen22\textfont2\relax]
    \begin{feynman}
      \vertex[blob,label={above:$P$}] (m) at (0, 0) {\contour{white}    {$\leftarrow$}};

      \vertex (a) at (-2,-1) {$K' + P \\ \uparrow$};
      \vertex (b) at ( 2,-1) {$\uparrow \\ K + P$};
      \vertex (c) at (-2, 1) {$-K' \\ \downarrow$};
      \vertex (d) at ( 2, 1) {$\downarrow \\ -K$};

      \diagram* {
        (d) -- [fermion] (m) -- [fermion] (c),
        (b) -- [fermion] (m) -- [fermion] (a),
      };
    \end{feynman}
  \end{tikzpicture}
  =
  \begin{tikzpicture}[baseline=-\the\dimexpr\fontdimen22\textfont2\relax]
    \begin{feynman}
      \vertex (m) at ( 0, 0);
      \vertex (a) at (-2,-1) {$K + P \\ \uparrow$};
      \vertex (c) at (-2, 1) {$-K \\ \downarrow$};
      \vertex (n) at ( 2, 0) {$P$};

      \diagram* {
        (m) -- [fermion] (a),
        (m) -- [fermion] (c),
        (n) -- [charged boson] (m),
      };
    \end{feynman}
  \end{tikzpicture}
  +
  \begin{tikzpicture}[baseline=-\the\dimexpr\fontdimen22\textfont2\relax]
    \begin{feynman}
      \vertex (m) at (0, 0);
      \vertex (a) at (2,-1) {$K + P \\ \uparrow$};
      \vertex (c) at (2, 1) {$-K \\ \downarrow$};
      \vertex (n) at ( -2, 0) {$P$};

      \diagram* {
        (m) -- [fermion] (a),
        (m) -- [fermion] (c),
        (n) -- [anti charged boson] (m),
      };
    \end{feynman}
  \end{tikzpicture}
\end{equation*}
\end{document}

输出

相关内容