\engine{pdflatex}

pdfLaTeX Guide

pdfLaTeX est le moteur LaTeX le plus rapide et le plus largement compatible. Il compile le source .tex directement en PDF, offre la plus large prise en charge de paquets de tous les moteurs et reste le moteur par défaut de la plupart des modèles LaTeX et des éditeurs en ligne.

pdfLaTeX— moteur le plus rapide, compatibilité maximale

\section{Qu'est-ce que pdfLaTeX}

Qu'est-ce que pdfLaTeX ?

pdfLaTeX est une extension du moteur de composition TeX original de Donald Knuth, développée par Hàn Thế Thành dans les années 1990. Là où le TeX d'origine produisait des fichiers DVI (indépendants du périphérique), pdfLaTeX produit directement du PDF, ce qui supprime l'étape de conversion DVI vers PDF et permet des fonctionnalités propres au PDF comme les liens hypertextes, les signets, les métadonnées et les polices intégrées.

Moteur le plus rapide

Compile les documents simples en moins d'1 seconde. Le plus rapide de tous les grands moteurs LaTeX.

Compatibilité maximale

Presque tous les paquets CTAN ciblent pdfLaTeX en premier. Attendez-vous à presque aucun problème d'incompatibilité.

Prise en charge de microtype

Protrusion et expansion complètes des caractères pour une microtypographie de niveau professionnel.

\section{Quand l'utiliser}

Quand utiliser pdfLaTeX

Le document utilise du texte latin standard (anglais, français, allemand, espagnol…)
Vous avez besoin de la vitesse de compilation la plus rapide possible
Le modèle ou la revue exige pdfLaTeX (la plupart des conférences académiques)
Vous vous appuyez sur microtype pour le raffinement typographique
Une compatibilité maximale avec les paquets CTAN est requise
Vous enseignez LaTeX et voulez un maximum de ressources disponibles
Le document est un article, un rapport ou un livre standard sans besoin particulier de polices
Vous utilisez tikz, pgfplots, beamer ou d'autres paquets optimisés pour pdfLaTeX

\subsection{Commandes de compilation}

Exécuter pdfLaTeX en ligne de commande

pdfLaTeX est disponible dans toute installation de TeX Live. Voici les invocations les plus courantes, de la compilation simple en une passe au pipeline complet avec bibliographie. Ou utilisez latexmk pour automatiser le pipeline multipasse.

Commandes de compilation pdfLaTeX
# Basic pdfLaTeX compilation
pdflatex document.tex

# Suppress most terminal output (nonstopmode)
pdflatex -interaction=nonstopmode document.tex

# Run twice to resolve cross-references
pdflatex -interaction=nonstopmode document.tex
pdflatex -interaction=nonstopmode document.tex

# Full pipeline with bibliography
pdflatex -interaction=nonstopmode document.tex
bibtex document
pdflatex -interaction=nonstopmode document.tex
pdflatex -interaction=nonstopmode document.tex

# Write output to a specific directory
pdflatex -output-directory=./build document.tex

Pour la plupart des documents avec des références croisées, pdfLaTeX doit être exécuté au moins deux fois : une fois pour enregistrer les références, une autre pour les résoudre. Les documents avec bibliographie nécessitent une exécution de bibtex ou biber entre les passes pdfLaTeX.

\subsection{Options courantes}

Options pdfLaTeX courantes

Ces options contrôlent la façon dont pdfLaTeX gère les erreurs, les chemins de sortie et l'accès au shell. La plupart des pipelines CI/CD utilisent ensemble -interaction=nonstopmode et -halt-on-error.

-interaction=nonstopmode

Poursuit sans s'arrêter sur les erreurs. Les erreurs sont consignées mais la compilation continue. Essentiel pour les pipelines CI/CD.

-interaction=batchmode

Comme nonstopmode, mais supprime aussi toute sortie du terminal. Utile pour la compilation par lots silencieuse.

-output-directory=<dir>

Écrit tous les fichiers de sortie (.pdf, .log, .aux) dans le répertoire indiqué. Garde votre arborescence source propre.

-jobname=<name>

Remplace le nom du fichier de sortie. Utile quand votre fichier .tex porte un nom générique (par ex. main.tex).

-halt-on-error

S'arrête immédiatement à la première erreur. À combiner avec -interaction=nonstopmode pour une validation CI stricte.

-shell-escape

Autorise TeX à exécuter des commandes shell externes. Requis par des paquets comme minted (coloration syntaxique) et epstopdf.

-file-line-error

Affiche les erreurs au format file:line:error, plus facile à analyser dans les IDE et les outils d'analyse de journaux CI.

-synctex=1

Génère un fichier SyncTeX qui relie les positions du PDF aux lignes du source. Permet la synchronisation source/PDF dans les éditeurs.

\section{Limitations}

Limites connues

pdfLaTeX est le moteur le plus mature, mais il a été conçu dans les années 1990 et porte des contraintes d'architecture que les moteurs plus récents corrigent.

Pas d'entrée Unicode native

pdfLaTeX treats source files as 8-bit byte streams. You must add \usepackage[utf8]{inputenc} and \usepackage[T1]{fontenc} for UTF-8 support. Characters outside the T1 font encoding require extra packages or workarounds.

Pas d'accès aux polices système

pdfLaTeX ne peut pas charger de polices arbitraires depuis votre système d'exploitation. Vous êtes limité aux polices préinstallées dans votre distribution TeX (Computer Modern, Latin Modern, etc.) ou aux polices empaquetées pour TeX sur CTAN.

Pas de polices mathématiques OpenType

Les polices mathématiques OpenType modernes (XITS Math, Libertinus Math, Fira Math) ne sont pas accessibles depuis pdfLaTeX. Si vous avez besoin de ces polices, passez à XeLaTeX ou LuaLaTeX avec le paquet unicode-math.

Prise en charge limitée du RTL et des écritures complexes

Les langues s'écrivant de droite à gauche (arabe, hébreu) et les écritures complexes (devanagari, thaï) exigent des contournements fastidieux avec pdfLaTeX. XeLaTeX et LuaLaTeX les gèrent nativement.

Limites de microtype sur certaines fonctionnalités

Bien que pdfLaTeX offre la meilleure prise en charge de microtype, les fonctions complètes de protrusion et d'expansion des caractères exigent des polices au format Type 1 ou OTF. Certains paquets de polices récents peuvent offrir une prise en charge réduite de microtype.

\section{Alternatives}

Quand passer à un autre moteur

pdfLaTeX est le bon choix par défaut pour la plupart des documents. Ne changez de moteur que lorsqu'un besoin précis ne peut pas être satisfait.

Votre document contient de l'arabe, du chinois, de l'hébreu ou d'autres écritures non latines

XeLaTeX ou LuaLaTeX

Vous devez utiliser une police système personnalisée (par ex. une police de marque de votre système d'exploitation)

XeLaTeX

Vous voulez des scripts Lua pour générer le contenu du document par programmation

LuaLaTeX

Vous avez besoin de polices mathématiques OpenType modernes comme XITS Math ou Libertinus Math

XeLaTeX ou LuaLaTeX

Vous voulez que latexmk gère automatiquement le pipeline de compilation multipasse

latexmk (encapsule pdfLaTeX)

\subsection{Utilisation de l'API}

Compiler avec pdfLaTeX via l'API FormaTeX

FormaTeX exécute pdfLaTeX côté serveur. Vous envoyez du code source LaTeX, nous renvoyons un PDF. Aucune installation de TeX Live n'est requise de votre côté.

Passez "engine": "pdflatex" dans votre requête de compilation

Les quatre moteurs (pdfLaTeX, XeLaTeX, LuaLaTeX et latexmk) sont disponibles sur tous les plans. Changer de moteur demande seulement de modifier le champ engine dans votre requête d'API. Consultez la vue d'ensemble des moteurs pour la liste complète des options.

pdfLaTeX disponible sur tous les plans

Compilez instantanément des documents pdfLaTeX

FormaTeX exécute pdfLaTeX, XeLaTeX, LuaLaTeX et latexmk dans le cloud. Aucune installation locale nécessaire. Une clé API, zéro infrastructure.