4

The documents I create heavily depend on postscripts (I use pstricks quite a lot). I've had some issues with resolution, and it's been recommended to try using dvips -Ppdf. But recently, I've been using the animate package, which happily now supports compiling along the latex->dvips->ps2pdf route.

I've now noticed in several places, such as the animate package documentation and in a solution to Move-around box in PDF display, that the switch -Ppdf not be used. But nothing is said why this should not be done.

Could someone explain why/when this switch should not be used?

1
  • 1
    The file config.pdf was used to create an optimized ps output which is then used by Adobes Distiller. For ps2pdf (Ghostscript) it is not needed.
    – user2478
    Jul 30, 2013 at 20:25

1 Answer 1

5

The reason is loosely explained in the Bugs section of the animate doc.

-Ppdf loads config.pdf during DVI to PS conversion and sets the dots-per-inch resolution (DPI) in the intermediate Postscript to the value of 8000. This is equivalent to using dvips option -D8000.

The only benefit of this high resolution is related to fonts generation in case of Type-3 (pixel-) fonts. Nowadays, Type-1 (vector-) fonts are used, which will always make use of the maximum available resolution of the printing device in order to create sharp contours of the glyphs on paper. 8000 dpi were and are just big enough for the commercially available ink-jet and laser printer hardware.

Another side effect of the DPI setting is related to transformation matrix calculation of graphical objects (XObjects) during PS to PDF conversion. (Animation frames and the move-around tooltips are saved as XObjects in the resulting PDF.) Ghostscript's ps2pdf tends to calculate transformation matrices whose elements have very large values. While these values are numerically correct they are too large for Adobe Reader if the DPI resolution of the intermediate Postscript was set to 8000 via -Ppdf or -D8000. As a consequence, Adobe Reader displays graphical objects at the wrong position or poorly scaled.

Therefore, it is recommended to either not use -Ppdf with dvips or to override the DPI setting of config.pdf by running dvips as

dvips -Ppdf -D1200 ...

The value of 2636 dpi (dvips -D2636), seems to be critical here.

Consider the following code example which produces a clickable button in Adobe Reader. The boxed string 'Hello!' is distilled into an XObject and used as the button face:

\documentclass{article}
\usepackage{media9}

\begin{document}
\mediabutton[jsaction={app.alert('Hello!');}]{\fbox{Hello!}}
\end{document}

If the PDF was produced with latex --> dvips -D2636 --> ps2pdf the button is perfectly visible in Adobe Reader. However, at any higher resolution, e. g. dvips -D2637 or dvips -Ppdf, the button face disappears (although the button itself remains functional).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .