尝试将 tikz 导出到 eps

尝试将 tikz 导出到 eps

因此,阅读完以下帖子后:

尝试从 TikZ 导出 EPS 图形失败

我可以生成 .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 文件的错误命令。在我的系统上,我有一个名为ps2epsiwhich 的命令。我也尝试过使用ps2epswhich 也可以(不知道有什么区别!)。诚然,我正在 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 输出。

在此处输入图片描述

相关内容