Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I have followed the instructions for exporting to an .eps file from a TikZ drawing provided here: http://tex.stackexchange.com/a/8646/8078. However, I cannot get any of the methods to produce an .eps file successfully.

I am working on a MAC, OS 10.6.8, running MacTeX via TexShop.

When I use the following code, a .pdf is created, but no .eps file is created. Here is the code:

\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} 

As suggested in http://tex.stackexchange.com/a/8646/8078, I also try alternative ways to create the .eps, namely, using the following code, where the system call is changed, and latex is used to compile, rather than 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}

In this case, I get the following error message:

./tikz_eps2.tex:55: Package tikz Error: Sorry, the system call '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".p s "tikz_eps2-figure0".dvi; ps2eps "tikz_eps2-figure0.ps"' did NOT result in a u sable output file 'tikz_eps2-figure0' (expected one of .pdf:.jpg:.jpeg:.png:). Please verify that you have enabled system calls. For pdflatex, this is 'pdflat ex -shell-escape'. Sometimes it is also named 'write 18' or something like that . Or maybe the command simply failed? Error messages can be found in 'tikz_eps2 -figure0.log'. If you continue now, I'll try to typeset the picture.

I hit return, latex continues to compile a .pdf. As a result, a .ps is created that I can open, but the .eps file that is created is "empty." That is, when I try to open the .eps it with Preview, I get the error "Warning: Empty Job. No PDF file produced." Or, if I open the .eps file in Adobe Illustrator, all that shows is a blank canvace.

Finally, I also use this syntax for the extranlize command:

\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]

After this, I get the same result as in the second case.

I should also mention that I try to directly use ps2eps to convert the .ps an .eps in OS X Terminal. I get the following message in Terminal:

Input files: /Users/nomad/Dropbox/tex_remote/TiKz/tikz_eps2-figure0.ps Processing: /Users/nomad/Dropbox/tex_remote/TiKz/tikz_eps2-figure0.ps Rendering with existing %%BoundingBox: 0 0 345 225 Calculating Bounding Box...ready. %%BoundingBox: 4 3 332 225 Creating output file /Users/nomad/Dropbox/tex_remote/TiKz/tikz_eps2-figure0.eps ... ready.

However, the resulting .eps is still "blank" as in the previous cases.

share|improve this question
    
Are you sure you have --shell-escape enabled in your pdflatex command in TeXShop? Your first example works fine for me, with the same setup. In the TeXShop preferences, under the Engines tab, the command for pdflatex should be pdflatex --file-line-error --synctex=1 --shell-escape. This was a recent change in TeXShop preferences. --shell-escape used to be enabled by default, but now it's not. –  Alan Munn Jul 9 '12 at 20:49
    
@AlanMunn, I can confirm that --shell-escape is enabled in my TeXShop preferences. I must also make a correction to my question. When I run the first example, no .eps is output, only a .pdf file. Can you confirm that running this on your system produces a well-functioning .eps version of the graphic? –  stanford202 Jul 9 '12 at 21:44
    
If I compile your second code with latex --shell-escape I get the expected result (Mac OS X, 10.5, though; it shouldn't make any difference). –  egreg Jul 9 '12 at 21:51
    
@stanford202 Yes, from foo.tex I get 3 output files: a foo.pdf file and two image files: foo-figure0.pdf and foo-figure0.eps. The .eps file opens fine with Preview (which converts it to pdf) or for that matter, Adobe Illustrator (albeit with font substitutions). –  Alan Munn Jul 9 '12 at 22:04
    
Ok, I suppose there might be something wrong with my setup. –  stanford202 Jul 16 '12 at 3:17
show 1 more comment

closed as too localized by percusse, zeroth, Jake, Marco Daniel, Joseph Wright Aug 21 '12 at 16:00

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

Browse other questions tagged or ask your own question.