LaTeX ou pdfLaTeX ?
Une source de confusion fréquente lorsqu'on débute est qu'il existe deux modes de compilation d'un fichier .tex : latex
et pdflatex
.
- latex : il s'agit du mode « historique », la compilation fournit un fichier au format DVI, que l'on peut convertir en PS avec
dvips
, et/ou en PDF avecdvipdf
oudvips + ps2pdf
L'inconvénient est que toutes les images doivent être au format PS/EPS, ce qui est un peu contraignant puisqu'il faut convertir toutes les images dans ce format.
- pdflatex : ce mode de compilation permet d'obtenir directement un fichier PDF et il est possible d'inclure des images aux formats PNG, JPG ou PDF, ce qui est tout de même plus pratique ! Par contre, certains packages utilisant des fonctionnalités Postscript (par ex. PSTricks) ne fonctionnent pas avec
pdflatex
. Ce mode permet aussi une meilleure gestion de liens internes dans les documents (avec le packagehyperref
)
Ces deux modes sont en fait basés sur le même moteur, pdfTeX (avec des options différentes), mais il en existe d'autres.
Il est possible de compiler un fichier .tex indifféremment avec les deux modes en utilisant le code suivant (avec le package ifpdf
) et en disposant les figures dans les répertoires appropriés :
\ifpdf \graphicspath{{pngs/}{{pdfs/}} \else \graphicspath{{epss/}} \fi
On peut aussi utiliser cette syntaxe pour spécifier les options du package hyperref
(pour le package graphicx
il n'est nécessaire de spécifier le driver, pdftex
ou dvips
, celui-ci est déterminé automatiquement) ;
\ifpdf \usepackage[pdftex]{hyperref} \else \usepackage[hypertex]{hyperref} \fi
hyperref
permet par ailleurs de remplir les propriétés d'un document PDF (uniquement avec pdflatex
??) :
\hypersetup{ % Modifiez la valeur des champs suivants pdfauthor = {Auteurs},% pdftitle = {Titre du document},% pdfsubject = {Sujet},% pdfkeywords = {Mots-clefs},% pdfcreator = {PDFLaTeX},% pdfproducer = {PDFLaTeX}}