意外的乳膠錯誤:文字行包含無效字符

意外的乳膠錯誤:文字行包含無效字符

我的乳膠開始顯示此錯誤:

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)2015年8月3日17:47進入擴充模式

**main.tex ("C:\Users\Admin\Dropbox\Mestrado\Tese\Latex\Minhatese\main.tex" LaTeX2e <2011/06/27> Babel 和英語、南非荷蘭語、古希臘語、阿拉伯語的連字模式,亞美尼亞語、阿薩姆語、巴斯克語、孟加拉語、博克馬爾語、保加利亞語、加泰隆尼亞語、科普特語、克羅埃西亞語、捷克語、丹麥語、荷蘭語、世界語、愛沙尼亞語、波斯語、芬蘭語、法語、加利西亞語、德語、德語-x-2013-05-26、希臘語, 古吉拉特語, 印地語, 匈牙利語, 冰島語, 印度尼西亞語, 國際語, 愛爾蘭語, 義大利語, 卡納達語, 庫爾曼吉語, 拉丁語, 拉脫維亞語, 立陶宛語, 馬拉雅拉姆語, 馬拉地語, 蒙古語, mongolianlmc, monogreek, ngerman, n german-x-2013-05-26 、尼諾斯克語、奧裡亞語、旁遮普語、拼音、波蘭語、葡萄牙語、羅馬尼亞語、俄語、梵語、塞爾維亞語、斯洛伐克語、斯洛維尼亞語、西班牙語、瑞典語、瑞士德語、泰米爾語、泰盧固語、土耳其語、土庫曼語、英國英語、烏克蘭語、上索布語、usengl ishmax、威爾士,裝載。

("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@節=\count81\c@subsection=\count82\c@subsubsection=\count83\c@paragraph=\count84\c@subparagraph=\count85\c@figure=\count86\c@table=\count87\abovecaptionskip=\跳過41 \belowcaptionskip=\skip42 \bibindent=\dimen102 )

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

文字行包含無效字元。 l.3 ...剛剛輸入了一個我看不懂的有趣符號。繼續下去我就會忘記它曾經發生過。 !文字行包含無效字元。 l.3 ...剛剛輸入了一個我看不懂的有趣符號。繼續下去我就會忘記它曾經發生過。

[...一遍又一遍地出現同樣的錯誤...]

! ==> 發生致命錯誤,未產生 PDF 輸出檔!

答案1

有時我會因為輔助檔案損壞而收到此類錯誤,例如由於殺死 pdflatex 而導致 *.aux 被截斷。其他來源可能是文件中「不可見」的垃圾,例如潛入的控製字符,甚至是一些搞笑的東西,例如返回並用空格覆蓋一些垃圾的終端轉義。另一種可能性是文件中的字符正常,但事實並非如此(例如,現代系統顯示UTF-8 文本沒有什麼問題;希臘omicron 看起來像拉丁語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 的回答)從 2018 年 2 月起:

在添加一些文字後,我在隨機、不相關的行中出現尾隨 NUL (^@) 的錯誤,而且我永遠無法在原始程式碼中 grep 它們或找出它與更改的關係。我嘗試註解掉看起來很危險的線條,但它的反應似乎沒有任何模式。然後我注意到無論評論如何,xelatex 都會給我不同的結果;來自相同來源的連續兩次運行可能要么編譯正常,要么因無效字元而中斷。結果我忘記了在另一個選項卡中運行的 Latexmk -pvc 進程,我正在與自己競爭。

所有的感謝都歸於他們。

答案4

我剛剛自己解決了這個問題,原因與上面討論的原因不同。對我來說,問題是由 Dropbox 選擇性同步引起的。我更改了包含 tex 檔案和所有要本機儲存的輸入檔案的資料夾。這為我解決了問題。

相關內容