Sarmate.net Sarmate.net
Accueil Fonctionnalités Offres Documentation Contact
Connexion Inscription

Choisir le bon compilateur

C'est l'erreur qui bloque le plus de débutants : le mauvais compilateur. LaTeX en propose trois — pdfLaTeX, XeLaTeX, LuaLaTeX — et il suffit d'un menu déroulant pour passer de l'un à l'autre. Voyons quand utiliser lequel.

Lequel choisir ?

  • pdfLaTeX — le choix par défaut, rapide, adapté à la majorité des documents. Commencez toujours par lui.
  • XeLaTeX / LuaLaTeX — nécessaires dès que le document utilise fontspec (des polices système, fichiers .otf/.ttf) ou de l'unicode avancé (arabe, cyrillique…).
Compiler La plupart des documents fonctionnent en pdfLaTeX. Compilez celui-ci tel quel (le compilateur est déjà réglé sur pdfLaTeX).

Le cas classique : fontspec exige XeLaTeX

Si un document charge \usepackage{fontspec} et que vous le compilez en pdfLaTeX, il s'arrête net sur : « Fatal Package fontspec Error: The fontspec package requires either XeTeX or LuaTeX ». La solution ne demande aucune modification du code : il suffit de changer de compilateur.

Corriger Ce document charge fontspec et échoue en pdfLaTeX (regardez le journal). Dans le menu déroulant du compilateur (en haut de l'éditeur), choisissez XeLaTeX, puis recompilez : il fonctionne, sans toucher au code.
Voir la solution
% !TEX program = xelatex
\documentclass{article}
\usepackage{fontspec}
\begin{document}
Ce document charge fontspec : il exige XeLaTeX ou LuaLaTeX.
\end{document}
Astuce durable : ajoutez en toute première ligne % !TEX program = xelatex. L'éditeur sélectionnera automatiquement le bon compilateur à l'ouverture du fichier — vous n'aurez plus à y penser.

La récompense de XeLaTeX : les polices système

Une fois en XeLaTeX (ou LuaLaTeX), vous pouvez composer avec n'importe quelle police installée, via \setmainfont{...}.

Compiler Cet exemple est déjà réglé sur XeLaTeX. Compilez-le : le texte est composé avec la police système Lato — impossible en pdfLaTeX de cette façon.
À retenir : fontspec ou une police système → XeLaTeX ou LuaLaTeX. Sinon, pdfLaTeX convient. Le menu du compilateur est toujours à portée de clic — et % !TEX program = ... rend le choix permanent.

Cette erreur revient si souvent qu'on lui a consacré une page dédiée : vieux packages & compilateur →