PDFTEX(1)

NAME
pdftex, pdfetex - PDF output from TeX

SYNOPSIS
pdftex [options] [&format] [ file [ more-input ] | [ \more-input ]

DESCRIPTION
Run the pdfTeX typesetter on file[.tex], usually creating file.pdf. If the file argument has no extension, ".tex" will be appended to it. See tex(1) for details of command-line parsing.

pdfTeX is a descendant of TeX that can create pdf files directly as well as dvi files (determined by the value of the \pdfoutput primitive parameter). It includes the etex(1) extensions, and adds many more extensions of its own. In dvi mode, pdfTeX can be used as an upward-compatible replacement for the TeX engine.

The typical use of pdfTeX is with pregenerated TeX formats (.fmt files), usually with pdf output enabled. For example, the pdftex command uses the plain TeX format, and the pdflatex(1) command uses the LaTeX format. As described in etex(1), the e-TeX extensions are enabled when building the .fmt file.

Image formats supported

In pdf mode, pdfTeX can natively handle the pdf, jpg, jbig2, and png graphics formats. It cannot include PostScript or Encapsulated PostScript (eps) graphics files; you can convert them to pdf using, for example, epstopdf(1). The PostScript files output by mpost(1), which are highly restricted in their use of PostScript, can be handled directly using the supp-pdf.tex macros, or converted to pdf with mptopdf(1).

Program variants

Starting with version 1.40 (around 2007), pdfTeX incorporated the e-TeX extensions, and the pdfetex and etex executables became symlinks to the pdftex binary. The etex executable generates dvi files by default; pdfetex has the same behavior as pdftex.

Both engine and driver

When generating pdf output, pdfTeX must have all necessary font and device information and thus is acting like a device driver with dvi output, similar to, say, dvips(1). Therefore there are various primitives to specify the device information, such as the height, width, resolution, and so forth. Also, pdfTeX reads glyph information for the fonts used, e.g., from Type 1 or PK bitmap files. pdfTeX also supports TrueType fonts, but it's necessary to define an encoding before using them (see references). OpenType fonts are not supported.

OPTIONS
For the common TeX command-line options and handling, see tex(1). The following pdfTeX-specific options are also supported:

-draftmode
    Enabled \pdfdraftmode, in which pdfTeX doesn't write a pdf and doesn't read any included images, thus speeding up execution.

-etex
    Enable the e-TeX extensions. This option is only effective in combination with -ini. It is typically enabled implicitly, with a leading "*" on the format initialization file, as described in etex(1).

-output-format format
    Set the output format mode; format must be either ``pdf'' or ``dvi''.

-synctex number
    generate SyncTeX data for previewers according to bits of number. See synctex(1).

ENVIRONMENT
See tex(1). Also, this environment variable is specific to pdfTeX:

TEXMF_DEBUG_PNG_COPY
    If set to "1", pdfTeX reports various attributes of each png image, including whether the image is copied. This is useful when a document uses numerous png images, since reencoding (instead of copying) can take considerable time. See the Graphics chapter in the pdfTeX manual for more information.

Also, these environment variables are considered for all engines except original TeX:

SOURCE_DATE_EPOCH
    If set, its value, taken to be in epoch-seconds, will be used for the timestamps in the PDF output, such as the CreationDate and ModDate keys. This is useful for making reproducible builds.

FORCE_SOURCE_DATE
    If set to the value "1", the time-related TeX primitives (\year, \month, \day, \time) are also initialized from the value of SOURCE_DATE_EPOCH. This is not recommended if there is any viable alternative.
    pdfTeX also has several primitives to support reproducible builds; see the manual.

FILES
See tex(1). Also:

$TEXMFMAIN/tex/plain/config/etex.ini
    The driver file that builds the plain format files for pdfTeX, pdftex.fmt and pdfetex.fmt, in TeX Live.

$TEXMFMAIN/tex/plain/config/pdftexmagfix.tex
    Make \magnification work as expected under pdfTeX. Included in the format files.

$TEXMFMAIN/tex/generic/tex-ini-files/pdftexconfig.tex
    Define shared pdf settings, such as the default pdf version, the pdf height and width, etc.

$TEXMF[SYS]CONFIG/tex/generic/tex-ini-files/pdftexconfig.tex
    The installation-specific version of the above (in TeX Live), since the default paper size is defined by the installation.

$TEXMF[SYS]VAR/fonts/map/pdftex/updmap/pdftex.map
    Mapping of tfm files to Type 1 fonts; generally maintained automatically in TeX Live.

BUGS
See tex(1).

SEE ALSO
epstopdf(1), etex(1), luatex(1), mptopdf(1), tex(1).

Micro-typographic extensions to the TeX typesetting system, by Hàn The Thành (thesis describing the major new typesetting feature in pdfTeX): https://tug.org/TUGboat/tb21-4/
A closer look at TrueType fonts and pdfTeX, by Hàn The Thành (on using TrueType fonts with TeX): https://tug.org/TUGboat/tb30-1/tb94thanh.pdf
pdfTeX home page: https://www.pdftex.org
Package page on CTAN: https://ctan.org/pkg/pdftex
pdfTeX manual: https://mirror.ctan.org/systems/doc/pdftex/manual/pdftex-a.pdf
Web2c manual: https://tug.org/web2c
Kpathsea manual: https://tug.org/kpathsea
Sources for the TeX-world literate programs, as pdf: https://ctan.org/pkg/knuth-pdf

AUTHORS
TeX was created by Donald E. Knuth. The primary author of the pdfTeX enhancements is Hàn The Thành, with major contributions from Petr Sojka, Jiri Zlatuska, and Peter Breitenlohner (e-TeX).

Public discussion list for pdfTeX-specific issues: https://lists.tug.org/pdftex
Public discussion list for TeX Live: https://lists.tug.org/tex-live
Public discussion list for all things TeX (and LaTeX): https://lists.tug.org/texhax