### Making Acrobat PDF documents from (La)TeX

There are three general routes to PDF output: Adobe’s original ‘distillation’ route (via PostScript output), conversion of a DVI file, and the use of a direct PDF generator such as PDFTeX) or MicroPress’s VTeX (which comes both as a commercial version for Windows PCs, and as a ‘free’ version) for OS/2 and Linux systems).

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

- process the document in the normal way, produce PostScript output and distill it;
- (on a Windows or Macintosh machine with the appropriate Adobe tools installed) pass the output through the PDFwriter in place of a printer driver (this route is a dead end: the PDFwriter cannot create hyperlinks);
- process the document in the normal way and generate PDF direct from the DVI using dvipdfm/dvipdfmx; or
- process the document direct to PDF with PDFTeX or VTeX. PDFTeX has the advantage of availability for a wide range of platforms, VTeX (available commercially for Windows, or free of charge, but unsupported, for Linux or OS/2) has wider graphics capability, dealing with encapsulated PostScript and some in-line PostScript.

To translate all the LaTeX cross-referencing into Acrobat links, you need a LaTeX package to suitably 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 `\``special`s, 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 has `\``special` commands of its 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 DVI driver.

While there is no free implementation of all of Adobe Distiller’s functionality, any but the very oldest 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, GSview (or even the unsupported ghostview) can display and print PDF files, as can xpdf.

In many circumstances, Ghostscript combined with a 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.

`Acrobat Reader`
  browse ftp://ftp.adobe.com/pub/adobe/acrobatreader
`dvipdfm`
  dviware/dvipdfm (gzipped tar, browse)
`dvipdfmx`
  dviware/dvipdfmx (gzipped tar, browse)
`ghostscript`
  Browse nonfree/support/ghostscript/
`ghostview`
  Browse support/ghostscript/gnu/ghostview/
`GSview`
  Browse nonfree/support/ghostscript/ghostgum/
`gv`
  support/gv (gzipped tar, browse)
`hyper.sty`
  macros/latex/contrib/hyper (gzipped tar, browse)
`hyperref.sty`
  macros/latex/contrib/hyperref (gzipped tar, browse)

This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=acrobat