我正在尝试编译一个独立的 Feynman Diagram,但当我尝试编译时,它会停留在编译状态,并且当 GUI 上的排版过程中止时,该过程仍在我的计算机上运行,需要我结束该任务。我在 Windows 10 上使用 MikTex 和 TexWorks,也尝试过使用 Share-LaTex,但就是超时了。
\documentclass[tikz]{standalone}
\usepackage[compat=1.1.0]{tikz-feynman}
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{feynman}
\vertex(q1);
\vertex[right=3cm of q1](q1o);
\vertex[below=0.5cm of q1](aq1);
\vertex[right=3cm of aq1](aq1o);
\vertex[right=1cm of aq1](g1);
\vertex[right=2cm of q1](g1o);
\vertex[below=1.5cm of g1](G);
\vertex[below=2cm of g1o](G1);
\vertex[below=1cm of G](G2);
\vertex[below=1cm of G1)(G3);
\vertex[below=5.5cm of aq1](aq2);
\vertex[below=0.5cm of aq2](q2);
\vertex[right=1cm of aq2](g2);
\vertex[right=2cm of q2](g2o);
\vertex[below=5.5cm of aq1o](aq2o);
\vertex[below=0.5cm of aq2o](q2o);
\diagram*{
(q1)--[fermion](q1o),
(aq1)--[fermion](aq1o),
(g1)--[gluon](G),
(g1o)--[gluon](G1),
(G)--[boson](G2),
(G1)--[boson](G3),
(q2)--[fermion](q2o),
(aq2)--[fermion](aq2o),
(g2)--[gluon](G2),
(g2o)--[gluon ](G3)
};
\end{feynman}
\end{tikzpicture}
\end{figure}
\end{document}
编辑:包已正确加载(当注释掉所有与 q2、aq2、G2 和 G3 有关的内容(包括它们的顶点声明))时,图表的上半部分可以正常编译
控制台输出的最后一行是
("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\pdftexcmds.sty"))
删除最后一个逗号使得可以通过中止排版来停止该过程
答案1
哇,你让自己陷入了深深的麻烦……
我尝试运行你的代码但它挂了,所以我中断了编译然后 TeX 向我展示了以下内容:
! Interruption.
\path ->\let \tikz@signal@path
=\tikz@signal@path \pgfutil@ifnextchar [{\tik...
据我对 TeX 的理解,这样的指令\let\problem\problem
是一个问题,所以我做了一些研究。
我发现这个帖子这本质上显示了相同的问题,但没有实际的解决方案:\
虽然它说这\tikz@signal@path
是不应该执行的“夸克”。所以我继续找出这个夸克在哪里被执行。
逐行注释和编译过程指出了错误行:
\vertex[below=1cm of G1)(G3);
哦,你看看这个,无与伦比[
:)
看起来像 Ti钾Z 有时无法处理不匹配的括号......
我花了很长时间才弄清楚这个问题,所以我认为花同样多的时间来写下它是公平的:)
总结
这里有一个未匹配的括号:
\vertex[below=1cm of G1)(G3);
修复它:
\vertex[below=1cm of G1](G3);
并且它会运行良好: