LaTeX 編譯失敗怎麼辦?3 步定位錯誤並修復
編譯後先看本次任務狀態,再檢視第一條實際錯誤。不要從最後一條錯誤訊息倒著修:後續訊息可能只是同一處問題引起的連鎖反應。
第一步:確認本次狀態與第一條錯誤
等待排隊或執行中的任務結束。編譯完成後,點選頂部「Bug」圖示,檢視錯誤列表和「原始日誌」。兩種常見格式如下:
! Undefined control sequence.l.42 \texbf{Results}./main.tex:42: Undefined control sequence.這裡的 \texbf 是拼寫錯誤,應為 \textbf。參考文獻處理、超時等失敗不一定採用這兩種格式,應檢視對應失敗資訊。
第二步:根據檔案、行號和上下文定位
l.42 或 main.tex:42 表示發現問題的行,不一定就是最初寫錯的位置。缺少 } 時,錯誤可能到下一段才暴露。先確認是主檔案、章節還是模板檔案,再向前檢查括號與環境。
有有效檔名與行號的條目可點選「定位到所在位置」。修正第一處錯誤後重新編譯,再判斷還有哪些獨立問題。
第三步:在副本中按完整程式碼塊縮小範圍
先下載專案原始碼或保留可恢復記錄,再進行大範圍排查:
- 先看最近修改的段落。
- 按完整章節、閉合公式、表格或列表劃分,不截斷指令參數。
- 暫時移除約一半待查內容,保留導言區與被依賴的定義。
- 根據原錯誤是否仍出現繼續縮小;出現新的未定義指令時,先恢復被遺漏的依賴。
有 PDF 不等於沒有錯誤
- 只有警告時可能已經生成 PDF,但仍需檢查溢位和排版。
- 修改尚未成功編譯時,預覽可能仍是舊結果;確認主檔案與本次狀態。
- 「預覽含錯誤,尚未透過驗證」表示仍需排查,不能僅憑能看見 PDF 判斷成功。
用最小專案對照
在空白測試專案中選擇 XeLaTeX,並將下面的完整內容放入主檔案。然後逐塊加入原專案內容與依賴:
\documentclass[UTF8,a4paper,11pt]{ctexart}\ctexset{contentsname={目錄},listfigurename={插圖目錄},listtablename={表格目錄},figurename={圖},tablename={表}}\usepackage{amsmath}\begin{document}這是一個可獨立測試的最小文件。\end{document}三類常見錯誤
| 提示 | 可能原因 | 處理 |
|---|---|---|
Undefined control sequence | 拼寫錯誤或指令未定義 | 核對拼寫、巨集定義和對應套件 |
Missing $ inserted | 數學內容放在普通文字中 | 將數學內容放入 \(...\) 等數學環境 |
Extra }, or forgotten $ | 分組或數學定界符不配對 | 從錯誤訊息行向前檢查括號和數學環境 |
讓 Agent 輔助排錯
在 Bug 面板點選「AI 修復」,會開啟 Agent 並提交排錯請求。也可在 Chat & Agent 中明確要求:「定位當前專案第一條實際編譯錯誤,只做必要修改,編譯後說明剩餘問題。」檢查修改和本次編譯結果,再核對 PDF。
參考文獻問題可閱讀 文獻管理教學;AI 生成內容的問題見 減少 AI 編譯錯誤。