Неожиданная ошибка латекса: текстовая строка содержит недопустимый символ

Неожиданная ошибка латекса: текстовая строка содержит недопустимый символ

Мой латекс начал показывать эту ошибку:

Error | line 3|! Text line contains an invalid character.

из ниоткуда. На самом деле, он показывает 100 таких ошибок, все в одной строке.

Я начал исследовать и попытался проверить, откуда могла возникнуть ошибка. В итоге я закончил со следующим кодом:

\documentclass[12pt,twoside]{report}
\begin{document}
  Hello $1,2,3$.
\end{document}

и появляется та же ошибка. Я попытался удалить \documentclass, но появляется та же ошибка. Вот принтскрин ошибки(й);

изображение ошибки(ок)

Если кто-нибудь из вас поможет мне, это сводит меня с ума!

Файл журнала:

ФАЙЛ ЖУРНАЛА: Это pdfTeX, версия 3.1415926-2.5-1.40.14 (MiKTeX 2.9 64-бит) (предварительно загруженный формат=pdflatex 2015.6.27) 3 АВГ 2015 17:47 вход в расширенный режим

**main.tex ("C:\Users\Admin\Dropbox\Mestrado\Tese\Latex\Minhatese\main.tex" LaTeX2e <2011/06/27> Babel и шаблоны переносов для английского, африкаанс, древнегреческого, арабского, армянского, ассамского, баскского, бенгальского, букмола, болгарского, каталонского, коптского, хорватского, чешского, датского, голландского, эсперанто, эстонского, фарси, финского, французского, галисийского, немецкого, german-x-2013-05-26, греческого, гуджарати, хинди, венгерского, исландского, индонезийского, интерлингва, ирландского, итальянского, каннада, курманджи, латинского, латышского, литовского, малаялама, маратхи, монгольский, mongolianlmc, моногреческий, негерманский, n-немецкий-x-2013-05-26, нюнорск, ория, панджаби, пиньинь, польский, португальский, румынский, русский, санскрит, сербский, словацкий, словенский, испанский, шведский, швейцарско-немецкий, тамильский, телугу, турецкий, туркменский, британский английский, украинский, верхнесорбский, узбекский английский, валлийский, загруженный.

("C:\Program Files\MiKTeX2.9\tex\latex\base\report.cls" Класс документа: >report 2007/10/19 v1.4h Стандартный класс документа LaTeX ("C:\Program >Files\MiKTeX 2.9\tex\latex\base\size12.clo" Файл: size12.clo 2007/10/19 v1.4h Стандартный >Файл LaTeX (вариант размера) ) \c@part=\count79 \c@chapter=\count80 \c@section=\count81 \c@subsection=\count82 \c@subsubsection=\count83 \c@paragraph=\count84 \c@subparagraph=\count85 \c@figure=\count86 \c@table=\count87 \abovecaptionskip=\skip41 \belowcaptionskip=\skip42 \bibindent=\dimen102 )

("C:\Users\Admin\Dropbox\Mestrado\Tese\Latex\Minha tese\main.aux" !

Текстовая строка содержит недопустимый символ. l.3 ... Только что был введен смешной символ, который я не могу прочитать. Продолжите, и я забуду, что это произошло. ! Текстовая строка содержит недопустимый символ. l.3 ... Только что был введен смешной символ, который я не могу прочитать. Продолжите, и я забуду, что это произошло.

[... одна и та же ошибка снова и снова...]

! ==> Произошла фатальная ошибка, выходной PDF-файл не создан!

решение1

Иногда я получаю такие ошибки из-за поврежденных вспомогательных файлов, например, усеченного *.aux или чего-то подобного из-за закрытия pdflatex. Другим источником может быть "невидимый" мусор в файле, например, пробравшиеся управляющие символы или даже какая-то забавность вроде терминального выхода, который возвращается назад и перезаписывает какой-то мусор пробелами. Другая возможность заключается в том, что у вас в файле есть символы, которыесмотретьнормальные, но не являются таковыми (например, современные системы отображают текст UTF-8 без особых проблем; греческий омикрон выглядит как латинский o, но это разные символы; если вы не настроите кодировку для UTF-8, вас ждет беда). Практическое решение: удалитьвсепромежуточные файлы и попробуйте снова. Если проблема не устранена, откройте файл и перепечатайте проблемную строку, удалив оригинал. Иногда для исправления этой проблемы нужно переписать абзац.

Обновлять:Только что у меня случилась неприятная ситуация, pdflatexпотому что я каким-то образом вставил какой-то странный символ (похожий на апостроф, но на самом деле им не являющийся — практически невидимый).

решение2

Я предполагаю, что используется неправильный входной файл. Вместо исходного файла LaTeX получает двоичный файл, например, PDF-файл.

Другой вариант — неправильная кодировка. Есть некоторая поддержка UTF-8. Но UTF-16 и UTF-32 не поддерживаются. Добавленные нулевые байты также вызывают подобные ошибки.

Когда TeX запущен, он генерирует файл с расширением .log. Этот журнал показывает вам входные файлы, а также полные сообщения об ошибках. Пожалуйста, обновите вопрос, включив файл .log(по крайней мере, от начала до первых сообщений об ошибках, нет необходимости во всех сообщениях об ошибках).

решение3

Я хотел бы перевести комментарий @melissa_boiko в разряд полноценных ответов, поскольку он решил мою связанную проблему. Проверьте, запущен ли у вас latexmk -pvcв другом окне терминала. Если да, убейте его с помощью Ctrl-C, удалите все сгенерированные файлы (важно .aux, может быть, .bblи другие) и скомпилируйте снова.

Оригинальный комментарий @melissa_boiko (под@vonbrand's ответ) с февраля 2018 г.:

После добавления текста я получал эту ошибку с конечными NUL (^@) в случайной, не связанной строке, и я так и не смог выполнить grep в источниках или выяснить, как это связано с изменением. Я пробовал комментировать опасные на вид строки, но, похоже, не было никакой закономерности в том, как он реагировал. Затем я заметил, что xelatex выдает мне разные результаты независимо от комментирования; два запуска подряд из одинаковых источников могут либо нормально скомпилироваться, либо прерваться из-за недопустимого символа. Оказалось, я забыл процесс latexmk -pvc, запущенный в другой вкладке, и я соревновался сам с собой.

Вся благодарность им.

решение4

Я только что решил эту проблему самостоятельно, у которой была другая причина, нежели те, что обсуждались выше. Для меня проблема была вызвана выборочной синхронизацией Dropbox. Я изменил папку, содержащую файлы tex и все входные файлы, чтобы они хранились локально. Это решило для меня проблему.

Связанный контент