与 TikZ-Feynman 中的 \fmffreeze 等效吗?

与 TikZ-Feynman 中的 \fmffreeze 等效吗?

我正在尝试使用以下图表绘制费曼加拿大运输安全局在此处输入图片描述

但在连接光子后,我很难让费米子腿保持笔直。使用feynmp有一种解决方法\fmffreeze,但我无法操纵标签的角度feynmp,并且更愿意继续使用 Tiz-Feynman。有什么建议吗?

答案1

我在 Github 上看到了你的问题,我正要回答时,你在这里发布了你的问题。很抱歉,我没能先在 Github 上找到你(不过这里可能更好,因为曝光率更高)。

无论如何,要回答你的问题,不幸的是,没有直接等同\fmffreeze费曼加拿大运输安全局)。

话虽如此,但还有其他选择。一种方法是使用自动放置创建第一个图表,然后只需添加额外的顶点。下面是一个例子,我用红色突出显示自动放置的边,其余的黑色边随后手动添加:

\documentclass[tikz, border=10pt]{standalone}

\usepackage[compat=1.1.0]{tikz-feynman}

\begin{document}
\begin{tikzpicture}
  \begin{feynman}
    \diagram [vertical'=a to b, edges={red}] {
      i1 -- [fermion] a -- [fermion] f1,
      a -- [photon] b,
      i2 -- [fermion] b -- [fermion] f2,
    };

    \vertex [above right=of f1] (k1);
    \vertex [below right=of f1] (p1);
    \vertex [below right=of f2] (k2);
    \vertex [above right=of f2] (p2);

    \diagram* {
      (f1) -- [fermion] (k1),
      (f1) -- [photon] (p1),
      (f2) -- [fermion] (k2),
      (f2) -- [photon] (p2),
    };
  \end{feynman}
\end{tikzpicture}
\end{document}

第一个例子

请注意,第二条\diagram*命令*允许引用现有顶点,然后通过用括号将它们括起来来完成。

不过,在您的特定情况下,这种方法效果并不好,因为您的初始图表非常简单(它是一条直线)。因此,手动放置所有内容实际上同样容易:

\documentclass[tikz, border=10pt]{standalone}

\usepackage[compat=1.1.0]{tikz-feynman}

\begin{document}
\begin{tikzpicture}
  \begin{feynman}
    \vertex [blob] (f1) {};
    \vertex [above right=1cm and 4cm of f1] (f4);

    \diagram* {
      (f1) -- [fermion] (f4),
    };
  \end{feynman}
\end{tikzpicture}

\begin{tikzpicture}
  \begin{feynman}
    \vertex [blob] (f1) {};
    \vertex [above right=1cm and 4cm of f1] (f4);
    \vertex (f2) at ($(f1)!0.33!(f4)$);
    \vertex (f3) at ($(f1)!0.67!(f4)$);

    \vertex [below=of f4] (k1) {\(k_{1}\)};
    \vertex [below=of k1] (k2) {\(k_{2}\)};

    \diagram* {
      {[edges={fermion}]
        (f1) -- (f2) -- (f3) -- (f4),
      },
      (f2) -- [photon] (k2),
      (f3) -- [photon] (k1),
    };
  \end{feynman}
\end{tikzpicture}

\begin{tikzpicture}
  \begin{feynman}
    \vertex [blob] (f1) {};
    \vertex [above right=1cm and 4cm of f1] (f4);
    \vertex (f2) at ($(f1)!0.33!(f4)$);
    \vertex (f3) at ($(f1)!0.67!(f4)$);

    \vertex [below=of f4] (k1) {\(k_{1}\)};
    \vertex [below=of k1] (k2) {\(k_{2}\)};

    \diagram* {
      {[edges={fermion}]
        (f1) -- (f2) -- (f3) -- (f4),
      },
      (f2) -- [photon] (k1),
      (f3) -- [photon] (k2),
    };
  \end{feynman}
\end{tikzpicture}
\end{document}

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

注意,我使用坐标将费米子线细分为三

($(A)!D!(B)$)

意思是

节点到节点D之间的距离的分数。(A)(B)

这意味着D = 0对应于(A),是和的D = 0.5中点,且对应于。(A)(B)D = 1(B)

相关内容