Frequently Asked Question List for TeX


Making PDF documents from (La)TeX

There are three general routes to PDF output: Adobe’s original “distillation” route (via PostScript output), direct conversion of a DVI file, and the use of a direct TeX-like PDF generator such as pdfTeX.

For simple documents (with no hyper-references), you can either

To translate all the LaTeX cross-referencing into Acrobat links, you need a LaTeX package to redefine the internal commands. There are two of these for LaTeX, both capable of conforming to the HyperTeX specification: Heiko Oberdiek’s hyperref, and Michael Mehlich’s hyper. (In practice, almost everyone uses hyperref; hyper hasn’t been updated since 2000.) Hyperref can often determine how it should generate hypertext from its environment, but there is a wide set of configuration options you can give via \usepackage. The package can operate using pdfTeX primitives, the hyperTeX \specials, or DVI driver-specific \special commands. Both dvips and Y&Y’s DVIPSONE can translate the DVI with these \special commands into PostScript acceptable to Distiller, and dvipdfm and dvipdfmx have \special commands of their own.

If you use Plain TeX, the Eplain macros can help you create PDF documents with hyper-references. It can operate using pdfTeX primitives, or \special commands for the dvipdfm/dvipdfmx DVI drivers.

While there is no free implementation of all of Adobe Distillers functionality, any but the implausibly old versions of ghostscript provide pretty reliable distillation (but beware of the problems with dvips output for distillation).

For viewing (and printing) the resulting files, Adobe’s Acrobat Reader is available for a fair range of platforms; for those for which Adobe’s reader is unavailable, remotely current versions of ghostscript combined with gv or gsview can display and print PDF files, as can xpdf.

In some circumstances, a ghostscript-based viewer application is actually preferable to Acrobat Reader. For example, on Windows Acrobat Reader locks the pdf file it’s displaying: this makes the traditional (and highly effective) (La)TeX development cycle of “Edit→Process→Preview” become rather clumsy — gsview doesn’t make the same mistake.

FAQ ID: Q-acrobat