当我使用该tikz-feynman
包绘制费曼图时,PDF 输出非常奇怪。它看起来像被剪切了。我认为这是因为 Tikz 图片的真正中心点并不是它看起来的那样。
\documentclass{standalone}
\usepackage[compat=1.1.0]{tikz-feynman}
\begin{document}
\begin{tikzpicture}[auto]
\begin{feynman}
\feynmandiagram [horizontal=a to b] {
i1[particle=\(\phi\)] -- [scalar, edge label=\(p_2\)] a -- [anti fermion,edge label=\(p_1\)] i2[particle=$\psi(\lambda_1)$],
a -- [fermion,momentum=\(p_1+p_2\)] b,
f1[particle=\(\phi\)] -- [scalar, edge label=\(q_1\)] b -- [fermion,edge label=\(q_2\)] f2[particle=\(\psi(\lambda^\prime_1)\)]
};
\end{feynman}
\end{tikzpicture}
\end{document}
我尝试更改设置standalone
,例如
\documentclass[tikz,border=20pt]{standalone}
有没有什么办法可以解决这个问题?
答案1
删除tikzpicture
和环境(带有和的feynman
内容)即可解决问题。或者,您可以保留环境,然后更改为简单环境以获得所需的输出。以下代码显示了这两种方法。\begin{...}
\end{...}
\feynmandiagram
\diagram
%!TeX program = LuaLaTeX
\documentclass{standalone}
\usepackage[compat=1.1.0]{tikz-feynman}
\begin{document}
% Both of these methods produce the same output
% Choose the one you like better
% --------------------------------------------------------------
% Method 1
\feynmandiagram [horizontal=a to b] {
i1[particle=\(\phi\)] -- [scalar, edge label=\(p_2\)] a -- [anti fermion,edge label=\(p_1\)] i2[particle=$\psi(\lambda_1)$],
a -- [fermion,momentum=\(p_1+p_2\)] b,
f1[particle=\(\phi\)] -- [scalar, edge label=\(q_1\)] b -- [fermion, edge label=\(q_2\)] f2[particle=\(\psi(\lambda^\prime_1)\)]
};
% --------------------------------------------------------------
% Method 2
\begin{tikzpicture}
\begin{feynman}
\diagram [horizontal=a to b] {
i1[particle=\(\phi\)] -- [scalar, edge label=\(p_2\)] a -- [anti fermion,edge label=\(p_1\)] i2[particle=$\psi(\lambda_1)$],
a -- [fermion,momentum=\(p_1+p_2\)] b,
f1[particle=\(\phi\)] -- [scalar, edge label=\(q_1\)] b -- [fermion,edge label=\(q_2\)] f2[particle=\(\psi(\lambda^\prime_1)\)]
};
\end{feynman}
\end{tikzpicture}
\end{document}
您现在可以看到输出适合单个独立页面:
那么,为什么你的原始代码没有按预期工作?原来,宏的定义\feynmandiagram
会同时创建tikzpicture
和feynman
环境。但是,由于你\feynmandiagram
已经在这些环境中,因此 LaTeX 本质上是在里面放置了一组tikzpicture
和环境feynman
另一组 tikzpicture
和feynman
图表。这可能解释了为什么你看到图表的中心不在它看起来的位置——那是中心点内tikzpicture,但独立包根据框大小来塑造页面外tikzpicture。