![与 TikZ-Feynman 中的 \fmffreeze 等效吗?](https://linux22.com/image/351141/%E4%B8%8E%20TikZ-Feynman%20%E4%B8%AD%E7%9A%84%20%5Cfmffreeze%20%E7%AD%89%E6%95%88%E5%90%97%EF%BC%9F.png)
答案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)