我已按照此处提供的说明将.eps
TikZ 绘图导出到文件:https://tex.stackexchange.com/a/8646/8078。但是,我无法获得任何方法来.eps
成功生成文件。
我正在使用 MAC、OS 10.6.8,通过 TexShop 运行 MacTeX。
当我使用以下代码时,.pdf
会创建 a,但没有.eps
创建任何文件。代码如下:
\documentclass{article}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzset{external/system call={pdflatex \tikzexternalcheckshellescape -halt-on-error
-interaction=batchmode -jobname "\image" "\texsource" &&
pdftops -eps "\image".pdf}}
\tikzexternalize
\begin{document}
\tikzset{external/force remake}
\begin{tikzpicture}[yscale=3.5,xscale=4.5]
\draw[->] (0,0) -- (2,0) node[below, text width=2cm] {Before Tax Income $z$};
\draw[->] (0,0) -- (0,2) node[below left, text width=1.8cm] {After Tax Income $z - T(z)$};
\begin{scope}
\clip (0,0) rectangle (1,2);
\draw (0,0) -- (1.5,1.5);
\end{scope}
\begin{scope}
\clip (1,0) rectangle (2,2);
\draw (0,0) -- (1.5,1.5);
\end{scope}
\draw[rotate around={45:(1,1)},red] (.6,1.1) node[left] {$L$} parabola bend (1,1) (1.4,1.1);
\draw[shift={(.125,.125)},rotate around={45:(1,1)},cyan] (.6,1.1) node[left] {$M$} parabola bend (1,1) (1.4,1.1);
\draw[shift={(.25,.25)},rotate around={45:(1,1)},ForestGreen] (.6,1.1) parabola bend (1,1) (1.4,1.1) node[right] {$H$};
\draw[dashed] (1,0) node[below] {\textcolor{red}{$z^{*}$}} -- (1,2);
\draw[dashed] (1.25,0) node[below] {\textcolor{ForestGreen}{$z^{*}+\triangle z^{*}$}} -- (1.25,2);
\path (.15,.1) node[right] {slope = $1-t$};
\end{tikzpicture}
\end{document}
正如建议的那样https://tex.stackexchange.com/a/8646/8078,我也尝试了其他方法来创建.eps
,即使用以下代码,其中系统调用被改变,并latex
用于编译,而不是pdflatex
:
\documentclass{article}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tikz}
\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
\begin{document}
\tikzset{external/force remake}
\begin{tikzpicture}[yscale=3.5,xscale=4.5]
\draw[->] (0,0) -- (2,0) node[below, text width=2cm] {Before Tax Income $z$};
\draw[->] (0,0) -- (0,2) node[below left, text width=1.8cm] {After Tax Income $z - T(z)$};
\begin{scope}
\clip (0,0) rectangle (1,2);
\draw (0,0) -- (1.5,1.5);
\end{scope}
\begin{scope}
\clip (1,0) rectangle (2,2);
\draw (0,0) -- (1.5,1.5);
\end{scope}
\draw[rotate around={45:(1,1)},red] (.6,1.1) node[left] {$L$} parabola bend (1,1) (1.4,1.1);
\draw[shift={(.125,.125)},rotate around={45:(1,1)},cyan] (.6,1.1) node[left] {$M$} parabola bend (1,1) (1.4,1.1);
\draw[shift={(.25,.25)},rotate around={45:(1,1)},ForestGreen] (.6,1.1) parabola bend (1,1) (1.4,1.1) node[right] {$H$};
\draw[dashed] (1,0) node[below] {\textcolor{red}{$z^{*}$}} -- (1,2);
\draw[dashed] (1.25,0) node[below] {\textcolor{ForestGreen}{$z^{*}+\triangle z^{*}$}} -- (1.25,2);
\path (.15,.1) node[right] {slope = $1-t$};
\end{tikzpicture}
\end{document}
在这种情况下,我收到以下错误消息:
./tikz_eps2.tex:55: 软件包 tikz 错误:抱歉,系统调用“latex -shell-es cape -halt-on-error -interaction=batchmode -jobname "tikz_eps2-figure0" "\def\t ikzexternalrealjob{tikz_eps2}\input{tikz_eps2}"; dvips -o "tikz_eps2-figure0".ps "tikz_eps2-figure0".dvi; ps2eps "tikz_eps2-figure0.ps"”未产生可识别的输出文件“tikz_eps2-figure0”(应为 .pdf:.jpg:.jpeg:.png: 之一)。请确认您已启用系统调用。对于 pdflatex,这是“pdflat ex -shell-escape”。有时它也被命名为“write 18”或类似名称。或者也许命令只是失败了?错误消息可以在“tikz_eps2 -figure0.log”中找到。如果您现在继续,我将尝试排版图片。
我按下回车键,LaTeX 继续编译.pdf
。结果,.ps
创建了一个我可以打开的文件,但.eps
创建的文件是“空的”。也就是说,当我尝试用 打开它时.eps
,Preview
我收到错误“警告:空作业。没有生成 PDF 文件。”或者,如果我.eps
在 Adobe Illustrator 中打开文件,显示的只是一个空白的画布。
最后,我还对 extranlize 命令使用了以下语法:
\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]
此后,我得到与第二种情况相同的结果。
我还应该提到,我尝试直接在 OS X 终端中使用它ps2eps
来转换。我在终端中收到以下消息:.ps
.eps
输入文件:/Users/nomad/Dropbox/tex_remote/TiKz/tikz_eps2-figure0.ps 处理:/Users/nomad/Dropbox/tex_remote/TiKz/tikz_eps2-figure0.ps 使用现有的 %%BoundingBox 进行渲染:0 0 345 225 正在计算边界框...已准备就绪。%%BoundingBox:4 3 332 225 正在创建输出文件 /Users/nomad/Dropbox/tex_remote/TiKz/tikz_eps2-figure0.eps ...已准备就绪。
然而,结果.eps
仍然是“空白”,就像前面的情况一样。