臥式滿箱
刺入邊緣的線條以及何時需要關心。
水平框溢出
症狀
日誌在第 87–92 行的段落中報告類似「Overfull \hbox (14.2pt too Wide)」的內容,並且在 PDF 中,該段落的一行突出到了右邊距。該文件仍然可以編譯,因為這是警告而不是錯誤,但突出的線條在列印中是可見的,審閱者確實注意到了。在草稿模式 (\documentclass[draft]{...}) 下,LaTeX 用黑色矩形標記每個違規者,這使得他們很容易被發現。
為什麼會發生
TeX 透過權衡每個可能的斷點並選擇總「壞度」最少的排列來將段落分成行,其中壞程度衡量一行上的空間必須拉伸或收縮的程度。有時不存在可接受的安排:長 URL 根本不包含斷點,內聯數學被視為幾乎牢不可破,或者長單字沒有連字符條目。 TeX 不會將空間拉伸到超出其容差並產生明顯有間隙的線,而是讓線拉長並告訴您相關資訊。過滿的框框是 TeX 拒絕以不同的方式使段落變得醜陋。
修復,從最好到最鈍
最好的解決方法是編輯。重新措詞句子、將長單字移離行尾或將一個句子分成兩個通常可以在不使用任何程式碼的情況下解決問題,並且通常可以改進散文。
對於 URL,將“url”或“hyperref”套件中的位址包裝在“\url{…}”中,以便它可以在斜線和點處中斷,並在需要在幾乎任何字元中斷時載入“xurl”套件。對於寬內聯公式,要么顯示它,要么當方程式本身對於行來說太長時使用易損壞的環境,例如“amsmath”中的“multline”。
两项序言级改进在全球范围内都有帮助。加载“microtype”可以让字符稍微突出并稍微扩展字体,这可以在您不注意的情况下解决许多边缘情况。透過 babel 或 polyglossia 正確設定文檔語言為 TeX 提供了正確的連字符模式,因為它不能連字符的單字就是它不能破壞的單字。
何時需要關心
警告中的數字是超調。任何低於大約 2pt 的內容對讀者來說都是不可見的,並且可以在草稿中安全地忽略。在其他人看到 PDF 之前,有數十個問題值得修復。明智的工作流程是在寫入時忽略過滿的框,然後在提交之前掃描一次日誌並修復剩餘的少數內容,首先是最大的。抵制「\sloppy」和其他全域寬容駭客:他們用一些突出的線條來換取整個文件中鬆散、不均勻的間距。