如何使用 latex 编译器而不是 pdflatex 编译器来外部化 tikz 图形?

如何使用 latex 编译器而不是 pdflatex 编译器来外部化 tikz 图形?

我正在处理 eps 图形,我想通过外部 tikz 库将一些图形外部化。因此,我更喜欢使用 latex 编译器,而不是使用 pdflatex 编译器。但它不起作用。

我正在使用 Windows 8.1 操作系统、Miktex 2.9.700 和 Texstudio 2.12.14。

我根据从 TikZ 导出 eps 图形TeX 主题和 Tikz 和 PGF 手册 3.0.0 版,第 617 页:

\documentclass{article}

\usepackage{tikz}

% set up externalization

\usetikzlibrary{external}

\tikzset{external/system call={latex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname \image \texsource && dvips -o "\image".ps "\image".dvi && ps2eps "\image.ps"}}
\tikzexternalize[shell escape=-enable-write18] % MikTeX uses a -enable-write18 instead of --shell-escape.

\begin{document}
\begin{tikzpicture}
\draw (0,0) circle (1cm);
\end{tikzpicture}
\end{document}

但它返回如下错误:

Package tikz Error: Sorry, the system call 'latex -halt-on-error -interaction

我必须在 texstudio 中更改任何配置吗?或者我在任何过程中犯了错误?

答案1

作为使用方法的替代方案,\tikzexternalize如果文档是稳定的并且您将对 进行少量修改tikzpicture,最好将其处理为单独的文件并将它们作为图像 (或\input{test-in-tkz.tex}) 包含。ltximg您可以用脚本执行以下操作:

$ ltximg --latex --eps --subenv --imgdir=mypics --prefix=tkz -o test-out test-in.tex

现在您将拥有一个将环境转换为图像的文档tikzpicture(保留字体的一致性),并且每个 tikzpicture环境也将位于单独的文件中(以防您需要进行一些额外的修改)。首先检查文档以查看输入文件必须满足的选项和条件。

相关内容