我在 tikz 的外部化选项中遇到了编译错误。几个月前一切都运行正常。现在我遇到了这个错误
! Package tikz Error: Sorry, the system call 'pdflatex -enable-write18 -halt-on
-error -interaction=batchmode -jobname "tikz/Master-figure0" "\def\tikzexternal
realjob{Master}\input{Master}"' did NOT result in a usable output file 'tikz/Ma
ster-figure0' (expected one of .pdf:.jpg:.jpeg:.png:). Please verify that you h
ave enabled system calls. For pdflatex, this is 'pdflatex -shell-escape'. Somet
imes it is also named 'write 18' or something like that. Or maybe the command s
imply failed? Error messages can be found in 'tikz/Master-figure0.log'. If you
continue now, I'll try to typeset the picture.
这些行似乎是罪魁祸首。如果我运行整个程序而不进行外部化,它工作正常。
\usepgfplotslibrary{external}
\tikzexternalize[prefix=tikz/,shell escape=-enable-write18]
有趣的是,图表仍然按预期生成并出现在输出 PDF 中。但是,对于 externalize 选项,单个图表没有单独的 PDF 输出,这在以前是没有的。
以下是日志文件的片段
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (MiKTeX 22.1) (preloaded format=pdflatex 2022.3.12) 19 OCT 2022 00:15
entering extended mode
\write18 enabled.
%&-line parsing enabled.
.
.
.
! Undefined control sequence.
<argument> \visibility
{cite} \keypart { \namepart [use=true]{prefix} \name...
l.262 }
看来 \visibility{cite} 是有缺陷的部分,即使该图不包含任何类型的引用或 biblatex 交互。几周前我在编译主文件时遇到了同样的错误。解决方案很简单,只需更新所有包即可。旧的 miktex 与我的新 biblatex 不兼容。但仅仅更新并不能解决任何问题。如果相关的话,这些是我的 biblatex 设置:
\usepackage[backend=biber, style=apa, natbib=true]{biblatex}
谢谢您的帮助!
答案1
问题在于我的便携版路径设置不正确。将正确的路径添加到 \tikzset{external/system call="myPath/pdflatex.exe"} 即可解决