因此,阅读完以下帖子后:
我可以生成 .dvi 版本的图形。但是,我需要 .eps,上面的问题似乎只涉及如何让 externalize 库工作。现在它可以工作了,没有错误消息。但没有 eps 输出。
阅读手册后,我似乎必须将“pdftops -eps {pdf file} {eps file}”添加到“系统调用选项”中。下面是我尝试这样做:
\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 pdftops -eps "\image".pdf "\image".eps}}
\tikzexternalize[shell escape=-enable-write18] % MikTeX uses a -enable-write18 instead of --shell-escape.
\begin{document}
\begin{tikzpicture}
\draw[fill=blue] (0,0) circle (1cm);
\end{tikzpicture}
\end{document}
如您所见,由于不知道用什么来代替 {some file},所以我只是复制了已有内容的形式。以上操作不会产生任何错误,也不会产生任何 .eps 文件。
我正在输出为.ps 格式。
我希望有人能向我解释如何添加正确的选项=)
答案1
&&
您在 之前缺少一个pdftoeps
,您的引号位置错误(您用的是"\image".ps
而不是"image.ps"
),并且pdftoeps
这是将 postscript 文件转换为封装 postscript 文件的错误命令。在我的系统上,我有一个名为ps2epsi
which 的命令。我也尝试过使用ps2eps
which 也可以(不知道有什么区别!)。诚然,我正在 Linux 上测试它,所以不能完全确定这对您使用 MikTeX 是否有效,但请尝试一下看看它是否有效:
\documentclass{article}
%\url{http://tex.stackexchange.com/q/25524/86}
\usepackage{tikz}
% set up externalization
\usetikzlibrary{external}
\tikzset{external/system call={latex \tikzexternalcheckshellescape -halt-on-error
-interaction=batchmode -jobname "\image" "\texsource" &&
dvips "\image.dvi" && ps2epsi "\image.ps"}}
\tikzexternalize[shell escape=-enable-write18] % MikTeX uses a -enable-write18 instead of --shell-escape.
\begin{document}
\begin{tikzpicture}
\draw[fill=blue] (0,0) circle (1cm);
\end{tikzpicture}
\end{document}
(注意:任何在 Linux 上测试此功能的人都应该注释掉可选参数\tikzexternalize
。)
答案2
步骤1
创建一个批处理文件如下:
rem batch.bat takes an input file name WITHOUT extension.
del %1.pdf
del %1.eps
pdflatex %1
pdftops -level3 -eps %1.pdf
del %1.aux
del %1.log
为简单起见,将其保存在输入文件所在的同一目录中。
第2步
创建测试输入文件如下。
% test.tex
\documentclass{article}
\usepackage{tikz}
\usepackage[active,tightpage]{preview}
\PreviewBorder=0pt
\PreviewEnvironment{tikzpicture}
\begin{document}
\begin{tikzpicture}
\draw[fill=blue] (0,0) circle (1cm);
\end{tikzpicture}
\end{document}
为简单起见,将其保存在现有的同一目录中batch.bat
。
步骤3
Win+R
通过按下、键入并按 ENTER 来打开 MS-DOS 提示符cmd
。MS-DOS 提示符会显示并导航到您的输入文件目录。然后,键入
然后按 ENTER。完成后,您将获得 PDF 和 EPS 输出。