我想设置用 制作的费曼图的线条长度tikz-feynman
,这里是代码
\documentclass[12pt,a4paper]{article}
% LuaLaTeX is used
\usepackage{tikz}
\usepackage[compat=1.1.0]{tikz-feynman}
\begin{document}
\begin{figure}[!ht]
\centering
\begin{tikzpicture}
\begin{feynman}
\vertex (a) {\(g\)};
\vertex[right=1cm of a] (b);
\vertex[below right=1cm of b] (c);
\vertex[below left=1cm of c] (d);
\vertex[left=1cm of d] (e) {\(g\)};
\vertex[right=1cm of b] (f) {\(t\)};
\vertex[right=1cm of c] (g) {\(H\)};
\vertex[right=1cm of d] (h) {\(\overline{t}\)};
\diagram*{
(a) -- [gluon] (b),
(b) -- [anti fermion] (c),
(c) -- [anti fermion] (d),
(d) -- [gluon] (e),
(b) -- [fermion] (f),
(c) -- [scalar] (g),
(d) -- [anti fermion] (h),
};
\end{feynman}
\end{tikzpicture}
\end{figure}
\end{document}
输出如下:
正如您所见,左上角的线(胶子)比其他的线短。
答案1
这可能是由您定义顶点的方式引起的。顶点e
是根据顶点定义的d
,而不是根据顶点定义的a
。这里有一种避免此类问题的方法:从左到右创建顶点,并且在说时不要忘记提供两个参数below right =
。
\documentclass[12pt,a4paper]{article}
% LuaLaTeX is used
\usepackage{tikz}
\usepackage[compat=1.1.0]{tikz-feynman}
\usetikzlibrary{positioning}
\begin{document}
\begin{figure}[!ht]
\centering
\begin{tikzpicture}
\begin{feynman}
\vertex (a) {$g$};
\vertex[below=2cm of a] (e) {$g$};
\vertex[right=1cm of a] (b);
\vertex[below right=1cm and 1 cm of b] (c);
\vertex[right=1cm of e] (d);
\vertex[right=1cm of b] (f) {$t$};
\vertex[right=1cm of c] (g) {$H$};
\vertex[right=1cm of d] (h) {$\overline{t}$};
\diagram*{
(a) -- [gluon] (b),
(b) -- [anti fermion] (c),
(c) -- [anti fermion] (d),
(d) -- [gluon] (e),
(b) -- [fermion] (f),
(c) -- [scalar] (g),
(d) -- [anti fermion] (h),
};
\end{feynman}
\end{tikzpicture}
\end{figure}
\end{document}