【轉】Latex編譯報錯后中斷編譯並改正,然后重復出現不明原因報錯的解決方法


轉自:https://www.douban.com/note/419828344/
目錄:
一、問題描述
二、測試情況(可以跳過,直接看建議)
三、建議
四、參考資料

正文:

問題描述:

錯漏某個符號(比如“$”)並在編譯中被報錯之后,過去經常采取的操作是按Console窗口里面的紅色叉叉(Terminate Application),然后修改錯誤,然后重新編譯,但是改正后的代碼仍然編譯報錯,每次編譯都是如此。編譯報告說明:
Runaway argument?
{\contentsline {subsection}{\number1
! File ended while scanning use of @writefile.

\par
1.56 \begin{document}
?
奇怪的是,把全部代碼復制到新窗口,保存為新的.tex文件並編譯之后又完全沒有問題。
后來又發現,只要把編譯后在同一文件夾內生的.aux文件刪除,就可以正確編譯通過了。
但是如果每次都要這樣的話,也太麻煩了。
上網查了查,並測試了下。過程如下。

測試情況:

說明下簡稱:
普通的漏掉“\(”這樣的錯誤,叫作“錯誤Error\)”;
出現“Runaway argument?…………\begin{document}?”這樣報錯的錯誤,叫作“錯誤ErrorBoss”;
點擊Console窗口里面的紅色叉叉(Terminate Application)的操作叫作“按紅叉”;
直接在Console窗口按回車,叫作“回車”;
在Console窗口先輸入字母“x”再按回車,叫作“x回車”;
在Console窗口先輸入字母“q”再按回車,叫作“q回車”。
下面記錄下出現兩種錯誤時,不同操作產生的效果:

出現錯誤Error\(時: 按紅叉:中斷編譯過程過程,不給出編譯報告。然后修改錯誤之后重新編譯時,(根據在錯誤文中位置不同而有可能)出現錯誤ErrorBoss。 回車:僅跳過這步,繼續編譯完后面的,結尾Errors=1,Warnings與Bad Boxes正常顯示。修改錯誤后,重新編譯,可以正常編譯。次推薦。 x回車:跳過余下全部編譯過程,直接出編譯報告,結尾Errors=1,Warnings與Bad Boxes只顯示到該位置的數量。修改錯誤后,重新編譯,可以正常編譯。最推薦。 q回車:跳過余下全部編譯過程,直接出編譯報告,entering \batchmode,未深究,但結尾Errors數量隨着“\)”位置的不同不可預測,Warnings與Bad Boxes正常顯示。修改錯誤后,重新編譯,可以正常編譯。

以上步驟只有“按紅叉”會導致錯誤ErrorBoss。

出現錯誤ErrorBoss時:
按紅叉:中斷編譯過程過程,不給出編譯報告。重新編譯仍舊報錯。
回車:僅跳過這步,繼續編譯完后面的,結尾Errors=1,Warnings與Bad Boxes正常顯示(至此可以生成pdf)。重新點擊編譯,可以正常編譯。次推薦。
x回車:跳過余下全部編譯過程,直接出編譯報告,結尾Errors=1,Warnings與Bad Boxes只顯示到該位置的數量。重新編譯仍舊報錯。
q回車:跳過余下全部編譯過程,直接出編譯報告,結尾Errors=1,Warnings與Bad Boxes正常顯示。重新編譯,可以正常編譯。最推薦。

建議:

最建議的做法是:
1.出現錯誤Error$時,不要按紅叉,在Console窗口先輸入字母“x”再按回車,然后再修改錯誤重新編譯。或者直接按回車,但要多編譯一些內容。看哪一個省力。反正不要按紅叉,萬一中招了呢。
2.如果不幸中招,出現錯誤ErrorBoss,正確做法是在Console窗口先輸入字母“q”再按回車。或者直接按回車,但要多編譯一些內容。然后確認代碼正確后,重新編譯。

【參考資料】
1.http://tex.stackexchange.com/questions/66015/errors-in-tables-then-runaway-argument-at-begindocument
里面Ulrike Fischer和tohecz的回答簡潔而全面。
2.http://miktex.10937.n7.nabble.com/pdfLatex-won-t-compile-until-I-delete-archive-aux-td7311.html

PS關於.aux等附屬文件有什么用處,以及如何方便刪除,則暫時不管它,待參考:
3.http://tex.stackexchange.com/questions/11123/prevent-pdflatex-from-writing-a-bunch-of-files
4.http://tex.stackexchange.com/questions/24785/deleting-external-auxiliary-files

PPS:能用就好,暫時不究原因...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM