我一直在使用 LuaLatex 和外部化库,并在序言中使用了这些选项
\usepgfplotslibrary{external}
\tikzsetexternalprefix{figurescache/}
\tikzexternalize[mode=list and make]
编译完主 latex 文档后,我必须对主文件执行“make”才能生成pgfplots
/tikz
图形。此步骤很好。但是,当我的tikz
代码出现错误时,我无法看到详细的错误消息。我希望能够看到类似于
"line 110, undefined control sequence"
在命令提示符中。 有选项吗?
根据要求,MWE 应该类似于
\documentclass{article}
\usepackage{pgfplots}
\usepackage{tikz}
\usepgfplotslibrary{external}
\tikzsetexternalprefix{figurescache/}
\tikzexternalize[mode=list and make]
\begin{document}
Random Text here.
\begin{figure}
\centering{
\begin{tikzpicture}
\begin{axis}[xmin=0, xmax=5,ymin=0,ymax=5, axis lines=none]
\addplot[only marks, mark size=2pt] table[x=xs, y=ys]{
xs ys
1 1
1 2
1 3
};
\draw (axis cs: 2, 1) node[left]{{\footnotesize $i-1$}};
\draw (axis cs: 2, 2) node[left]{{\footnotesize$i$}};
\draw (axis cs: 2, 3) node[left]{{\footnotesize$i+1$}};
\end{axis}
\end{tikzpicture}
}
\end{figure}
\end{document}
编译上述代码后,必须使用make
终端中的命令来创建图形。现在,如果包含的块中恰好出现拼写错误tikzpicture
,则 make 命令将中止,并且终端中不会显示任何有意义的错误。如果您删除
\usepgfplotslibrary{external}
\tikzsetexternalprefix{figurescache/}
\tikzexternalize[mode=list and make]
并执行简单的编译,如果出现错误,则会显示更有意义的错误消息。我想要的是能够在执行命令时看到有意义的错误make
。谢谢
答案1
所以我找到了我自己的问题的答案。我需要做的是禁用交互模式。这可以通过在序言中添加以下选项来实现:
\tikzset{external/system call={lualatex -shell-escape -synctex=1 -halt-on-error -jobname "\image" "\texsource"}}
有了这个选项,我现在能够在命令行中读取有关 pgfplots 的错误。