我正在使用该tikz-feynman
包根据以下代码构建反项图(使用 lualatex 作为编译器):
\documentclass[border=0.3cm]{standalone}
\RequirePackage[compat=1.1.0]{tikz-feynman}
\RequirePackage{xcolor}
\RequirePackage{tikz}
\usetikzlibrary{calc}
\tikzset{>=stealth}
\definecolor{myDColor}{HTML}{101010}
\definecolor{myLColor}{HTML}{7736d9}
\begin{document}
\begin{tikzpicture}
\node[right] (counter) at (0,0){
\feynmandiagram[horizontal = a to b, layered layout]{
a -- [boson, myLColor, momentum=\({\color{myDColor}q}\)] c [crossed dot] -- [boson, myLColor, momentum=\({\color{myDColor}q}\)] b
};
};
\end{tikzpicture}
\end{document}
这样输出就是:
我的问题是,如何才能使左侧的线(光子)的长度与右侧的线(光子)的长度相同,同时保持crossed dot
在中间?
答案1
问题是你有点做得过头了,例如:
tikz-feynman
已经加载tikz
\feynmandiagram
已经使用tikzpicture
环境- 放入
\feynmandiagram
会nodes text
导致腿部不平衡(出于某种原因)
下面的代码运行:
- 错误地使用 pdflatex 发出警告,指出“使用 LuaLatex!”
- 路拉泰克斯
pdflatex-错误!:
LuaLatex-正确:
\documentclass[border=0.3cm]{standalone}
\RequirePackage[compat=1.1.0]{tikz-feynman}
\RequirePackage{xcolor}
%\RequirePackage{tikz}
%\usetikzlibrary{calc}
\tikzset{>=stealth}
\definecolor{myDColor}{HTML}{101010}
\definecolor{myLColor}{HTML}{7736d9}
\begin{document}
%\begin{tikzpicture}
% \node[right] (counter) at (0,0){
\feynmandiagram[horizontal = a to b, layered layout]{
a -- [boson, myLColor, momentum=\({\color{myDColor}q}\)] c [crossed dot] -- [boson, myLColor, momentum=\({\color{myDColor}q}\)] b
};
% };
%\end{tikzpicture}
\end{document}