Runaway argument

Runaway argument? は、コマンドの引数が 閉じ } を欠いた ため、TeX が } を探して延々と本文を読み続けている状態です。たいてい ! Paragraph ended before \cmd was complete! File ended while scanning use of \cmd で終わります。原因はほぼ括弧の不一致です。

何が起きているか

TeX は \command{... を読むと、対応する } が来るのを待ちます。閉じ } が無いと、本文をどんどん飲み込みます。エラーは 飲み込んだ文字(runaway text) を表示し、その 冒頭 が閉じ忘れた { の位置を指しています。段落区切り(空行)を許さない「短い」引数の中に 空行 が入ると Paragraph ended before ... was complete} が最後まで来なければ File ended while scanning use of ... になります。

原因

  • { に対する }閉じ忘れ(最多)。
  • 段落区切り(空行)を許さない引数の中に 空行 が入った(例:\section{...} の中で空行)。
  • \command{... の後に } が無い。

対処

括弧の対応を取ります——runaway text の冒頭 が、閉じ忘れた { のあたりを指しています。エディタの括弧対応機能で素早く探しましょう。短い引数に紛れ込んだ 空行は削除 します。引数に段落(空行)を含めたい場合は、そのマクロが \long で定義されている必要があります(LaTeX の該当コマンドの多くは既に \long)。

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

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