Runaway argument

Runaway argument? signifie que l’argument d’une commande n’a pas son } de fermeture ; TeX continue donc à avaler du texte en le cherchant. Cela finit généralement par ! Paragraph ended before \cmd was complete ou ! File ended while scanning use of \cmd. La cause est presque toujours une accolade déséquilibrée.

Ce qui se passe

Quand TeX lit \command{..., il attend le } correspondant. Si ce } n’arrive jamais, il continue à avaler le texte. L’erreur affiche le runaway text, c’est-à-dire ce qu’il a avalé, et son début indique l’accolade { non fermée. Une ligne vide dans un argument « court » qui n’autorise pas les paragraphes donne Paragraph ended before ... was complete ; si } n’arrive jamais, on obtient File ended while scanning use of ....

Causes

  • Une { dont le } de fermeture manque (le plus fréquent).
  • Une ligne vide dans un argument qui n’autorise pas les paragraphes, par exemple dans \section{...}.
  • Pas de } après \command{....

Correction

Équilibrez les accolades : le début du runaway text pointe près de la { non fermée. Utilisez l’appariement d’accolades de votre éditeur. Supprimez toute ligne vide tombée dans un argument court. Si un argument doit vraiment contenir des paragraphes (lignes vides), la macro doit être définie \long ; beaucoup de commandes LaTeX concernées le sont déjà.

latex
% NG: } を閉じ忘れ / missing closing }
\textbf{重要な点 …(ここで閉じ忘れ)
次の段落。

% OK
\textbf{重要な点}
次の段落。