我正在使用 Tikz-Feynman 的手动放置绘制费曼图:
\begin{tikzpicture}
\begin{feynman}
\vertex [label=left:\(x_1\)] (a) at (0,0);
\vertex (b) at (1,-1);
\vertex (c) at (2,-2);
\vertex (d) at (3,-3);
\vertex [label=right:\(x_2\)] (e) at (6,0);
\vertex [label=right:\(x_4\)] (g) at (6,-6);
\vertex [label=left:\(x_3\)] (f) at (0,-6);
\diagram*{
(a) -- (b) -- [half left] (c) -- [half left] (b),
(c) -- (d) -- (e),
(f) -- (d) -- (g)
};
\end{feynman}
\end{tikzpicture}
其结果是:
我希望每个端点顶点(在 x 处)都是一个小黑点,但我不知道该怎么做。我见过这问题,但简单地在方括号中添加“点”似乎没有任何作用。在环境(a) [dot]
中添加\diagram
也没有任何效果。有什么想法吗?
答案1
我找到了一个解决方案。显然有一个漏洞这会导致这种情况。使用\node
而不是可以解决这个问题\vertex
。我的代码现在如下所示:
\begin{tikzpicture}
\begin{feynman}
\node [dot,label=left:\(x_1\)] (a) at (0,0);
\vertex (b) at (1,-1);
\vertex (c) at (2,-2);
\vertex (d) at (3,-3);
\node [dot,label=right:\(x_2\)] (e) at (6,0);
\node [dot,label=right:\(x_4\)] (g) at (6,-6);
\node [dot,label=left:\(x_3\)] (f) at (0,-6);
\diagram*{
(a) -- (b) -- [half left] (c) -- [half left] (b),
(c) -- (d) -- (e),
(f) -- (d) -- (g)
};
\end{feynman}
\end{tikzpicture}
看起来像这样: