2

I am successfully using tikz in combination with externalization and pdflatex for some time now. But now I need to switch to latex->dvi->ps. I followed the instructions from the tikz documentation and read a lot of user posts.

I can compile the minimal example (see below) without any errors, but the external image (ps) generated by dvi2ps has the size of an a4-paper. Therefore latex places the figure after "Text before image" and "Text after image".

Is it possible that the bounding box is not determined correctly?

I've tried a similar scenario a couple of months ago on a Mac OS X system and it worked. Now, I am running a Windows system with the most recent MikTeX version (I updated all packages).

Does anybody know, if it is a bug in dvips or in tikz? Or maybe I did something wrong. Thank you for your help!

PS: I also tried a lot of other system calls (pdflatex -> pdftops) and everything from here: Export eps figures from TikZ without any success.

\documentclass[a4paper]{article}
\usepackage{tikz}
\usetikzlibrary{external}

\tikzset{external/system call={latex \tikzexternalcheckshellescape -halt-on-error
-interaction=batchmode -jobname "\image" "\texsource" &&
dvips -o "\image".ps "\image".dvi }}

\tikzexternalize

\begin{document}

Text before image.

\begin{figure}[h]
\centering
    \begin{tikzpicture}
    \clip (0,0) rectangle (1,1);
    \draw[red] (0,0) -- (1,1);
    \draw[red] (1,0) -- (0,1);
    \draw[blue] (0,0) rectangle (1,1);
    \end{tikzpicture}
\end{figure}

Text after image.

\end{document}

Edit: I tried the minimal example on another windows system and got the same a4paper box. Calling

dvips -E* -o "\image".ps "\image".dvi 

instead of the code above leads to a figure without any bounding box. Therefore latex inserts the image on top of the text. It is also possible to change the format as an argument of dvips, but I do not intended, to specifiy a fixed bounding box as a general case.

1

This is (was) a bug in PGF CVS. Apparently, it entered with PGF 3.0.0 and worked with older PGF releases.

I fixed it a couple of weeks ago; it will be gone with the next version of the external lib.

Your options are

  • wait for the next stable PGF release (long)
  • wait for the next stable pgfplots release 1.11 and use \usepgfplotslibrary{external} (within the next weeks)
  • install the PGF unstable from http://pgf.sourceforge.net/
  • modify the system call such that it uses pstoeps as last item (might be unavailable in windows)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.