Produire un PDF (pdfTeX / dvipdfmx)

Une compilation LaTeX se termine par un PDF, mais deux chemins y mènent : directement (pdfTeX/LuaTeX/XeTeX écrivent le PDF) ou via DVI (latex/(u)platex → dvipdfmx). La route choisie influe notamment sur les formats d’image que l’on peut inclure. Cette page explique les deux voies et leurs différences (les commandes elles-mêmes sont dans « Commandes de compilation » et « Convertisseurs DVI »).

Deux voies vers le PDF

Sur la voie directe, pdflatex (pdfTeX), lualatex (LuaTeX) et xelatex (XeTeX, via un .xdv interne) écrivent le PDF en une étape. Sur la voie DVI, latex ou le (u)platex japonais produisent d’abord du DVI, puis dvipdfmx le convertit en PDF (deux étapes). Le (u)platex japonais emprunte normalement cette voie.

VoieCommandeJusqu’au PDF
直接 / Directpdflatex, lualatex, xelatexUne étape
DVI 経由 / Via DVIlatex, (u)platex → dvipdfmxDeux étapes

Les formats d’image dépendent de la voie

C’est la différence la plus sensible au quotidien. La voie directe (pdfTeX/LuaTeX) accepte PDF, PNG et JPEG, mais pas EPS directement : il faut le convertir en PDF avec epstopdf (le paquet du même nom, ou automatiquement avec --shell-escape). La voie DVI (dvipdfmx) gère PNG/JPEG/PDF et peut aussi intégrer EPS en appelant Ghostscript en arrière-plan. Les anciens flux riches en EPS s’accordent donc naturellement avec la voie DVI.

latex
\usepackage{graphicx}
\includegraphics{figure.png}   % 直接経路: PDF/PNG/JPEG / direct route: PDF/PNG/JPEG

Le pilote est détecté automatiquement

Des paquets comme graphicx, color et hyperref doivent connaître le pilote de sortie (pdftex, luatex, xetex, dvipdfmx, dvips, dvisvgm) pour émettre les bonnes instructions de bas niveau. Heureusement, ils le détectent automatiquement d’après la manière de compiler. Il ne faut donc pas indiquer soi-même une option de pilote : cela provoque plutôt des conflits. Compilez avec la bonne commande, et cela suffit.

Quelle voie choisir

  • Texte surtout anglais, rapidement → voie directe (pdflatex).
  • Polices système, Unicode, PDF directlualatex / xelatex (voie directe).
  • Japonais ((u)platex) → via DVI (dvipdfmx).
  • Anciens travaux avec beaucoup d’EPS → via DVI (Ghostscript les intègre), ou conversion en PDF avec epstopdf sur la voie directe.