如何使用 tikz-feynman 包在以下代码中缩短外部腿并使 blob 变大?
\begin{center}
\begin{tikzpicture}
\begin{feynman}
\vertex[blob] (m) at ( 0, 0) {\contour{white}{}};
\vertex (a) at (-2,-2);
\vertex (b) at ( 2,-2);
\vertex (c) at (-2, 2);
\vertex (d) at ( 2, 2);
\diagram* {
(a) -- [photon] (m) -- [photon] (c),
(b) -- [photon] (m) -- [photon] (d),
};
\end{feynman}
\end{tikzpicture}
\end{center}
答案1
您正在手动指定顶点的位置,因此您只需调整顶点的坐标即可缩小线条。或者,node distance
如果您使用自动放置,您可以使用更改节点之间的默认分隔:
\documentclass[tikz]{standalone}
\usepackage[compat=1.1.0]{tikz-feynman}
\begin{document}
\begin{tikzpicture}
\def\leglength{1}
\begin{feynman}
\vertex[blob] (m) at (0, 0) {};
\vertex (a) at (-\leglength,-\leglength);
\vertex (b) at ( \leglength,-\leglength);
\vertex (c) at (-\leglength, \leglength);
\vertex (d) at ( \leglength, \leglength);
\diagram* {
(a) -- [photon] (m) -- [photon] (c),
(b) -- [photon] (m) -- [photon] (d),
};
\end{feynman}
\end{tikzpicture}
\feynmandiagram [horizontal=a to b, node distance=1.5cm] {
a -- [photon] o [blob] -- [photon] b,
c -- [photon] o -- [photon] d,
};
\end{document}