![如何使用 tikz-feynhand 在传播器上设置标签?](https://linux22.com/image/395201/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20tikz-feynhand%20%E5%9C%A8%E4%BC%A0%E6%92%AD%E5%99%A8%E4%B8%8A%E8%AE%BE%E7%BD%AE%E6%A0%87%E7%AD%BE%EF%BC%9F.png)
我正在尝试使用tikz-feynhand包,但我无法在它绘制的线条上设置标签。以下方法可以很好地绘制没有标签的线条:
\documentclass{article}
\usepackage[english]{babel}
\usepackage{natbib}
\usepackage{tikz}
\usepackage[compat=1.1.0]{tikz-feynhand} % for feynman diagrams
% \usetikzlibrary{graphs,positioning} % for propagator labels
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{feynhand}
\vertex (u1) at (-1, 0);
\vertex (u2) at (1, 0);
\propag [fermion] (u1) to (u2);
\end{feynhand}
\end{tikzpicture}
\end{figure}
\end{document}
但是当我尝试使用 指定edge label
选项时\propag [fermion, edge label=$u$] (u1) to (u2);
,出现以下错误:
! Undefined control sequence.
\pgfkeys@code ...odes \expandafter {\tikz@tonodes
#1}
l.19 \propag [fermion, edge label=$u$]
(u1) to (u2);
有人知道我该如何修复这个问题吗?我在 Windows 10 上使用 进行编译latexmk
,它本身可以运行pdflatex
。
答案1
欢迎使用 TeX-SE!edge label
必须将 传递给to
,而不是\propag
。
\documentclass{article}
\usepackage[english]{babel}
\usepackage{natbib}
\usepackage{tikz}
\usepackage[compat=1.1.0]{tikz-feynhand} % for feynman diagrams
% \usetikzlibrary{graphs,positioning} % for propagator labels
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{feynhand}
\vertex (u1) at (-1, 0);
\vertex (u2) at (1, 0);
\propag [fermion] (u1) to[edge label=$u$] (u2);
\end{feynhand}
\end{tikzpicture}
\end{figure}
\end{document}