我想使用 TikZ-Feynman 在我的论文中制作一些漂亮的费曼图。我没有使用 LuaTex 的经验,而 TikZ-Feynman 需要 LuaTex(而且我目前没有时间去适应 LuaTex)。
有没有办法使用 TikZ-Feynman 并与 pdfLaTex 一起编译?
我知道有TikZ-FeynHand,它不需要LuaTex就可以工作,但是顶点的定位必须手动完成,这是TikZ-Feynman的要点之一。
描述了一个可能的解决方案(至少我认为它是解决这个问题的办法)这里但出于某种原因,这对我来说不起作用。我收到错误! I can't write on file `pgf-img/document-figure0.md5'.
由于某种原因该文件未创建,如果我手动创建它,我会收到错误
! Package tikz Error: Sorry, the system call 'lualatex -halt-on-error -interaction=batchmode -jobname="pgf-img/document-figure0" "\def\tikzexternalrealjob{document}\input{document}" || rm "pgf-img/document-figure0.pdf"' did NOT result in a usable output file 'pgf-img/document-figure0' (expected one of .pdf:.jpg:.jpeg:.png:). Please verify that you have enabled system calls. For pdflatex, this is 'pdflatex -shell-escape'. Sometimes it is also named 'write 18' or something like that. Or maybe the command simply failed? Error messages can be found in 'pgf-img/document-figure0.log'.
Apgf-img/document-figure0.log
也没有创建。A 这一点我不知道该如何帮助自己。
任何其他将 TikZ-Feynman 与 pdfLaTex 结合使用的方法或解决上述错误的方法都将非常棒!
我在 Ubuntu 上使用 TexMaker 和 TexLive 2019。
梅威瑟:
\documentclass[a4paper,11pt]{article}
\usepackage[compat=1.0.0]{tikz-feynman}
%workaround from link
\usetikzlibrary{external}
\immediate\write18{mkdir -p pgf-img}
\tikzexternalize[
prefix=pgf-img/,
system call={
lualatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname="\image" "\texsource" || rm "\image.pdf"
},
]
\begin{document}
% simple s-channel diagram
\feynmandiagram [horizontal=a to b] {
i1 -- [fermion] a -- [fermion] i2,
a -- [photon] b,
f1 -- [fermion] b -- [fermion] f2,
};
\end{document}