! Undefined control sequence est l’erreur LaTeX la plus fréquente : LaTeX a rencontré une commande (\name) qu’il ne reconnaît pas. C’est presque toujours l’un de ces trois cas : faute de frappe, paquet oublié, ou commande personnelle jamais définie. Cette page les passe en revue.
À quoi ressemble le message
Le message commence par ! Undefined control sequence, puis l.NN affiche la ligne coupée juste après la commande inconnue. Le token juste avant la coupure est la commande que LaTeX ne connaît pas. Voici une faute où \frac a été saisi \fra (pour la lecture générale des erreurs, voir « Lire les erreurs et déboguer ») :
! Undefined control sequence.
l.12 \fra
c{1}{2}Trois causes et corrections
- Une faute de frappe (le plus courant) —
\fra→\frac,\textbnf→\textbf. Corrigez l’orthographe. - Un paquet non chargé — le paquet qui fournit la commande n’a jamais été chargé avec
\usepackage(par exemple\includegraphicsnécessitegraphicx,\toprulenécessitebooktabs, beaucoup de symboles mathématiques nécessitentamsmath). Chargez-le dans le préambule. - Une commande personnelle non définie —
\newcommandoublié, commande utilisée avant sa définition, ou hors portée. Placez la définition avant la première utilisation.
Retrouver la cause
Le token juste avant l.NN est la commande non définie : ouvrez cette ligne dans l’éditeur. Si rien ne saute aux yeux, suspectez une commande ou un paquet ajouté récemment. Pour savoir quel paquet fournit une commande, texdoc PACKAGE aide. Pour isoler la cause, commentez la partie suspecte et recompilez.