今天我下载并安装了新的TikZ-Feynman绘制费曼图的软件包。我包括了软件包
\usepackage{tikz}
\usepackage{tikz-feynman}
\tikzfeynmanset{compat=1.0.0}
\usetikzlibrary{shapes,arrows,positioning,automata,backgrounds,calc,er,patterns}
到我的序言中(已经多次更改)。
然而,已经有一个简单的示例代码,如
\begin{tikzpicture}
\begin{feynman}
\vertex (a) {\(\mu^{-}\)};
\vertex [right=of a] (b);
\vertex [above right=of b] (f1) {\(\nu_{\mu}\)};
\vertex [below right=of b] (c);
\vertex [above right=of c] (f2) {\(\overline \nu_{e}\)};
\vertex [below right=of c] (f3) {\(e^{-}\)};
\diagram* {
(a) -- [fermion] (b) -- [fermion] (f1),
(b) -- [boson, edge label'=\(W^{-}\)] (c),
(c) -- [anti fermion] (f2),
(c) -- [fermion] (f3),
};
\end{feynman}
\end{tikzpicture}
直接给出错误:
Package pgfkeys Error: I do not know the key '/graph drawing/node distance'.
你能帮助我吗?提前谢谢!
答案1
您需要用 进行编译lualatex
!
如果编译宽度为pdflatex
,则会出现警告信息
Package tikz-feynman Warning: LuaTeX is required if you wish to have vertices a
utomatically placed. You can disable this warning by setting /tikzfeynman/warn
luatex=false on input line 8.
但是,禁用警告并不能解决问题。
不幸的是,tikz-feynman
手册没有透露有关 的任何用法lualatex
。它似乎是一个隐藏的功能,或者软件包作者认为这是已知的。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning,automata,backgrounds,calc,er,patterns}
\usepackage{tikz-feynman}
\tikzfeynmanset{compat=1.0.0}
\begin{document}
\begin{tikzpicture}
\begin{feynman}
\vertex (a) {\(\mu^{-}\)};
\vertex [right=of a] (b);
\vertex [above right=of b] (f1) {\(\nu_{\mu}\)};
\vertex [below right=of b] (c);
\vertex [above right=of c] (f2) {\(\overline \nu_{e}\)};
\vertex [below right=of c] (f3) {\(e^{-}\)};
\diagram* {
(a) -- [fermion] (b) -- [fermion] (f1),
(b) -- [boson, edge label'=\(W^{-}\)] (c),
(c) -- [anti fermion] (f2),
(c) -- [fermion] (f3),
};
\end{feynman}
\end{tikzpicture}
\end{document}
这是明显的μ子衰变产生的图像
编辑
正如下面的评论中提到的,这是 Ti 中的一个错误钾Z-Feynman 版本 1.0.0。从 1.1.0 版开始,Ti钾每当使用需要 LuaLaTeX 的功能时,Z-Feynman 都会发出警告。
如果您仍尝试使用自动图形放置算法而不使用 LuaLaTeX,则会使用一个非常简单的算法来生成类似以下内容:
如果您看到此输出,则需要将编译器更改为 LuaLaTeX,或者手动定位顶点的位置。