Corriger l'erreur fatale fontspec dans LaTeX
L'erreur Fatal Package fontspec Error: The fontspec package requires either XeTeX or LuaTeX apparaît lorsque vous compilez un document qui charge fontspec avec pdfLaTeX ou LaTeX standard. Le package repose sur des primitives de gestion des polices que seuls XeTeX et LuaTeX fournissent.
La réponse courte : changez votre moteur de pdfLaTeX vers XeLaTeX ou LuaLaTeX dans les paramètres de votre éditeur. Si votre éditeur vous impose pdfLaTeX, supprimez \usepackage{fontspec} et utilisez plutôt des packages de polices traditionnels comme lmodern avec fontenc.
Pourquoi l'erreur survient
Le pdfLaTeX traditionnel gère les polices via des fichiers de métriques TeX (.tfm) et des contours PostScript Type 1. Le package fontspec fonctionne tout autrement : il charge les polices OpenType (.otf) et TrueType (.ttf) installées sur votre système d'exploitation ou stockées dans votre dossier de projet.
Comme pdfLaTeX ne possède pas les mécanismes internes pour lire les tables de polices OpenType, fontspec s'arrête immédiatement lors du chargement. Il génère soit Fatal fontspec error: "cannot-use-pdftex", soit The fontspec package requires either XeTeX or LuaTeX pour éviter de corrompre la génération du PDF.
Vous pourriez voir cette erreur même si vous n'avez jamais écrit \usepackage{fontspec} dans votre propre préambule. De nombreux modèles de CV modernes (comme Awesome-CV), des packages multilingues comme polyglossia et des packages de mathématiques unicode chargent fontspec en arrière-plan.
Correctif 1 : changer votre compilateur pour XeLaTeX ou LuaLaTeX
Changer le moteur de votre projet est la solution standard lorsque vous souhaitez utiliser des polices OpenType personnalisées ou du texte unicode.
Dans Texeno
Ouvrez les paramètres du projet depuis la barre latérale gauche ou la barre supérieure. Sous « Compiler Engine », choisissez XeLaTeX ou LuaLaTeX. Les deux moteurs fonctionnent sur TeX Live 2026 avec une prise en charge complète de fontspec.
Dans Overleaf
Cliquez sur l'icône Menu dans le coin supérieur gauche au-dessus de l'arborescence des fichiers. Dans le menu déroulant « Compiler », remplacez pdfLaTeX par XeLaTeX ou LuaLaTeX, puis recompilez.
Dans VS Code (LaTeX Workshop)
Ajoutez un commentaire magique tout en haut de votre fichier
.texracine, ou définissez la recette par défaut danssettings.jsonsurlatexmk (xelatex).% !TEX program = xelatex \documentclass{article} \usepackage{fontspec}Dans TeXstudio
Ajoutez la ligne de directive de programme tout en haut de votre document, ou allez dans Options -> Configurer TeXstudio -> Compilation et réglez le compilateur par défaut sur XeLaTeX.
%!TEX TS-program = xelatex
Correctif 2 : conserver pdfLaTeX et remplacer fontspec
Nettoyer les conflits de préambule après le changement
Que vérifier si la compilation échoue après le changement
Si changer de moteur élimine l'erreur fatale mais que la compilation s'arrête sur un nouveau message, vérifiez ces deux causes courantes.
Erreur Package fontspec : la police est introuvable
Cela arrive lorsque votre code demande une police du système d'exploitation (comme Times New Roman, Calibri ou SimSun) qui n'est pas installée sur le serveur Linux exécutant votre compilateur. Fournissez le fichier de police (.otf ou .ttf) dans votre répertoire de projet et référencez-le par son nom de fichier.
\setmainfont{CustomFont}[ Path = ./fonts/ , Extension = .otf , UprightFont = *-Regular , BoldFont = *-Bold ]Conflits avec le package unicode-math
Si vous chargez à la fois
amssymbetunicode-math, les définitions de symboles entreront en conflit. Supprimezamssymbet ne chargez queunicode-mathlors de la compilation sous XeLaTeX ou LuaLaTeX.
Questions
Puis-je utiliser fontspec avec pdfLaTeX ?
Non. Le package fontspec dépend d'opérations primitives qui n'existent que dans XeTeX et LuaTeX. Si vous devez utiliser pdfLaTeX, remplacez fontspec par des packages de polices standard tels que lmodern ou mathptmx.
Quel moteur choisir : XeLaTeX ou LuaLaTeX ?
LuaLaTeX est le standard moderne pour TeX Live et gère en douceur le façonnage complexe des polices, les ajustements microtypo importants et l'allocation dynamique de mémoire. XeLaTeX reste un choix solide pour les modèles hérités ou les écritures d'Asie de l'Est utilisant xeCJK.
Essayez votre propre article dans Texeno.
Commencez gratuitement, importez un projet en .zip et cliquez sur Recompiler. Passez à une offre payante quand il vous faut des compilations plus longues.
Commencer à écrire