Аварийная остановка и спор о бегстве
Фатальный прерывание из-за отсутствия концов, скобок или плохих включений.
Аварийная остановка и аргумент о бегстве
Симптом
Компиляция умирает начисто. Журнал заканчивается ! Аварийная остановка. или показывает Runaway аргумент?, за которым следует длинный фрагмент вашего собственного текста, часто с сопутствующей строкой, такой как Файл завершился при сканировании с использованием \textbf или Абзац закончился до завершения \foo. В отличие от большинства ошибок LaTeX, PDF-файл вообще отсутствует, а указанный номер строки часто указывает на конец файла, а не на настоящую ошибку.
Почему это происходит
Оба сообщения возникают из-за одной и той же проблемы: TeX начал читать что-то, что необходимо закрыть, и достиг конца ввода до того, как прибыл закрывающий токен. Когда вы пишете \textbf{, TeX собирает всё, вплоть до соответствующего } в качестве аргумента. Если эта скобка не появляется, TeX продолжает поглощать текст через абзацы и разделы, пока файл не закончится. «Аргумент беглеца» — это TeX, показывающий вам, что он проглотил. «Аварийная остановка» означает, что TeX сдается, потому что не может продолжать работу без недостающего куска. Отсутствующий \end{document}, незамкнутая среда или \input несуществующего файла создают то же состояние терминала.
Как найти настоящее местоположение
Не доверяйте номеру строки; он отмечает, где в TeX закончились входные данные, а не где начался дисбаланс. Вместо этого прочитайте блок «Аргумент беглеца?» в журнале. Первые несколько слов проглоченного текста сообщают вам, где в документе начался побег, а строка Файл завершился при сканировании с использованием ... называет команду, аргумент которой никогда не закрывался. Найдите эту команду рядом с цитируемым текстом и посчитайте ее фигурные скобки.
Если журнал бесполезен, выполните двоичный поиск документа. Закомментируйте вторую половину тела (или оберните ее в \iffalse ... \fi) и перекомпилируйте. Если ошибка исчезнет, значит, проблема в той половине, которую вы удалили; продолжайте сокращать пополам, пока дефектный абзац не будет изолирован. Это звучит грубо, но в большом документе в нескольких компиляциях обнаруживается единственная недостающая скобка.
Обычные подозреваемые
Проверьте наличие { без } рядом с жирным шрифтом, курсивом, сносками и заголовками, поскольку эти команды принимают скобки аргументов, которые вы вводите вручную. Убедитесь, что у каждого \begin{...} есть соответствующий \end{...} с тем же именем среды. Убедитесь, что файл заканчивается на \end{document} и что каждый \input и \include называет файл, существующий по этому пути. Здесь помогают редакторы: Oleafly выделяет совпадающие пары фигурных скобок и окружения по мере ввода, что распознает большинство из них еще до того, как компилятор их увидит.