|Original author(s)||Hàn Thế Thành|
|Developer(s)||The pdfTeX team|
1.40.23 / 28 June 2021
|License||GNU General Public License|
The computer program pdfTeX is an extension of Knuth's typesetting program TeX, and was originally written and developed into a publicly usable product by Hàn Thế Thành as a part of the work for his PhD thesis at the Faculty of Informatics, Masaryk University, Brno, Czech Republic. The idea of making this extension to TeX was conceived during the early 1990s, when Jiří Zlatuška and Phil Taylor discussed some developmental ideas with Donald Knuth at Stanford University. Knuth later met Hàn Thế Thành in Brno during his visit to the Faculty of Informatics to receive an honorary doctorate from Masaryk University.
Two prominent characteristics of pdfTeX are character protrusion, which generalizes the concept of hanging punctuation, and font expansion, an implementation of Hermann Zapf's ideas for improving the grayness of a typeset page. Both extend the core paragraph breaking routine. They are discussed in Thành's PhD thesis.
pdfTeX is included in most modern distributions of LaTeX and ConTeXt (including TeX Live, MacTeX, and MiKTeX) and used as the default TeX engine. The main difference between TeX and pdfTeX is that whereas TeX outputs DVI files, pdfTeX can output PDF files directly. This allows tight integration of PDF features such as hypertext links and tables of contents, using packages such as hyperref. On the other hand, packages (such as PSTricks) which exploit the earlier conversion process of DVI-to-PostScript may fail, although replacements such as PGF/TikZ have been written. Direct embedding of PostScript graphics is no longer functional, and one has to use a program such as eps2pdf to convert EPS files to PDF, which can then be directly inserted by pdfTeX.
It is possible to obtain DVI output from pdfTeX. This DVI output should be identical to that of TeX, unless pdfTeX's extra microtypography features have been activated. Moreover, since LaTeX, ConTeXt et al. are simply macro packages for TeX, they work equally well with pdfTeX. Hence,
pdflatex, for example, calls the pdfTeX program using the standard LaTeX macros to typeset LaTeX documents, whereas it is the default rendering engine for ConTeXt documents.
pdfTeX has several features not available in standard TeX:
- Native TrueType and Type 1 font embedding
- Micro-typographic extensions such as margin kerning and font expansion
- Direct access to PDF-specific features such as hyperlinks, tables of contents and document information
- pdfTeX project page
- pdfTeX manual
- Micro-typographic extensions to the TeX typesetting system - dissertation by Hàn Thế Thành
- 2008 interview