Comment distinguer et #

n’est pas un programme indépendant. Ce n’est qu’un (énorme) jeu de macros pour Pour utiliser on pourrait en fait utiliser et commencer par lui faire lire avant notre document (avant le \documentclass) les définitions de centaines de macros. Pour des raisons d’efficacité, on utilise en fait un « format », c’est-à-dire que quand on tape latex, c’est le programme qui est appelé, mais avec toutes les définitions de préchargées.

Sur les installations modernes, ce premier point n’est pas exact : ce n’est pas le programme mais qui est appelé. Ce dernier est une version moderne de qui possède de nombreuses fonctionnalités supplémentaires :

Ce dernier point justifie le nom, mais le nom prête à confusion : pdftex sait en effet très bien produire des DVI. Ce qui va déterminer le mode de compilation, c’est le fait que vous l’appeliez :

  • avec latex, commande équivalente à pdftex -fmt latex (...).tex ;

  • avec pdflatex, commande équivalente à pdftex -fmt latex -output-format pdf (...).tex.

En fait, la seule commande qui lancera effectivement (avec le format plain) est la commande… tex ! Vous pouvez vous amuser à taper latex -``-version pour vous convaincre du fait que c’est bien pdftex qui travaille, même en mode DVI.

$ latex --version
pdfTeX 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian)
kpathsea version 6.3.1
[...]

Quelques explications :

  • 3.14159265 est le numéro de version actuel de sur lequel est basé pdfTeX ;

  • pdftex intègre les fonctionnalités d’une autre extension de (version 2.6), et son numéro de version actuel est le 1.40.20 restant ;

  • kpathsea est une bibliothèque de recherche qui aide à trouver rapidement ses fichiers dans vos arborescences texmf.