Runaway argument

Runaway argument? bedeutet, dass einem Befehlsargument die schließende } fehlt. TeX verschlingt dann weiter Text auf der Suche danach und endet meist mit ! Paragraph ended before \cmd was complete oder ! File ended while scanning use of \cmd. Fast immer ist eine Klammer unausgeglichen.

Was passiert

Wenn TeX \command{... liest, wartet es auf die passende }. Kommt sie nicht, verschlingt es weiter Text. Der Fehler druckt den runaway text, also den verschlungenen Text, und dessen Anfang zeigt auf die nicht geschlossene {. Eine Leerzeile in einem „kurzen“ Argument, das keine Absätze erlaubt, führt zu Paragraph ended before ... was complete; kommt } bis zum Ende nicht, zu File ended while scanning use of ....

Ursachen

  • Eine {, deren schließende } fehlt (am häufigsten).
  • Eine Leerzeile in einem Argument, das keine Absatzumbrüche erlaubt, etwa in \section{...}.
  • Kein } nach \command{....

Die Behebung

Bringe die Klammern ins Gleichgewicht: Der Anfang des runaway text zeigt in die Nähe der nicht geschlossenen {. Nutze die Klammerpaarung des Editors. Entferne Leerzeilen, die in ein kurzes Argument geraten sind. Wenn ein Argument wirklich Absätze, also Leerzeilen, enthalten soll, muss das Makro als \long definiert sein; viele passende LaTeX-Befehle sind das bereits.

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

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