Quand la compilation échoue, LaTeX affiche un message cryptique ! … et un numéro de ligne l.NN, puis s’arrête à l’invite ?. Apprendre à lire cela — avec le fichier .log et quelques commandes de débogage — transforme « ça casse » en « voici quoi corriger ». Cette page couvre la lecture des erreurs, le journal et le débogage.
Lire les erreurs
Les erreurs ont une forme fixe : ! puis le message (par exemple ! Undefined control sequence), puis l.NN indiquant la ligne où TeX a trébuché, coupée au point déjà lu. Important : l.NN est l’endroit où LaTeX a *remarqué* le problème, pas forcément sa cause ; une accolade } manquante peut apparaître plusieurs lignes plus loin. Si la ligne indiquée semble correcte, regardez aussi au-dessus. À l’invite ? : Return = essayer de continuer, h = aide, x = quitter, q = aller silencieusement jusqu’au bout (collecter toutes les erreurs), r = exécuter sans s’arrêter. (En pratique, latexmk et équivalents lancent souvent en nonstop, et l’on lit ensuite le .log.)
- Undefined control sequence — faute de frappe, ou
\usepackageoublié. - Missing $ inserted — symbole mathématique utilisé hors du mode mathématique.
- File
x.stynot found — paquet non installé (à ajouter avectlmgr). - Runaway argument —
{ }non équilibrés (souvent un}manquant).
Lire le journal — .log / texfot
Le fichier .log enregistre toute l’exécution : chaque erreur et avertissement (Overfull/Underfull \hbox, références non définies, substitutions de polices). Comme le journal est verbeux, texfot le réduit aux lignes « intéressantes » (voir « texdoc / texfot … »). Même quand une compilation « réussit », vérifiez les avertissements ici.
Commandes de débogage
\show\foo affiche le sens/la définition de \foo (et s’arrête à ?) ; \showthe\textwidth affiche la valeur d’un registre ou d’une longueur. \typeout{...} (LaTeX) et \message{...} (TeX) écrivent vos propres messages dans le journal/terminal : pratique pour un débogage façon printf. L’artillerie lourde, \tracingall, déverse tout ce que fait TeX dans le journal (très verbeux ; le paquet trace range la sortie). Utilisez-le pour trouver où une expansion déraille.
\show\section % \section の定義を表示 / show its meaning
\showthe\textwidth % 長さの値を表示 / show a length’s value
\typeout{ここまで来た} % 自分のメッセージ / your own message
\tracingall % すべてをログへ(非常に冗長)/ trace everything (very verbose)