컴파일을 유지하는 Tikz-Feynman 다이어그램

컴파일을 유지하는 Tikz-Feynman 다이어그램

독립형 Feynman 다이어그램을 컴파일하려고 하는데 컴파일을 시도하면 컴파일이 보류되고 GUI에서 조판 프로세스가 중단되면 프로세스가 내 컴퓨터에서 계속 실행 중이므로 작업을 종료해야 합니다. Windows 10에서 TexWorks와 함께 MikTex를 사용하고 있으며 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);

아, 그거 좀 봐줄래?타의 추종을 불허하는[:)

티 같은데케이Z는 때때로 일치하지 않는 괄호를 처리할 수 없습니다...

문제를 파악하는 데 오랜 시간이 걸렸기 때문에 같은 시간을 들여 글을 쓰는 것이 공평하다고 생각했습니다 :)

TL;DR

여기에 일치하지 않는 브래킷이 있습니다.

\vertex[below=1cm of G1)(G3);

그냥 고치세요:

\vertex[below=1cm of G1](G3);

그리고 그것은 잘 실행될 것입니다:

여기에 이미지 설명을 입력하세요

관련 정보