
Мой латекс начал показывать эту ошибку:
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 и все входные файлы, чтобы они хранились локально. Это решило для меня проблему.