在 TeX 下,当我写一行太长时,它会在行尾打印一个粗黑框。这可能是一个功能,但我不喜欢它。
如何关闭它?有命令行选项或其他东西吗?
我通常使用 LaTeX,但我有一个复杂的文件,碰巧是纯 TeX。
答案1
由于您使用的是 Plain TeX,所以答案是
\overfullrule=0pt
在文本开始之前。
答案2
我认为draft
Alan 提到的选项适用于 LaTeX 类。尝试\overfullrule=0pt
在 Plain TeX 中设置。
看TeXBook。
答案3
直接治疗疾病,而不是症状
黑框通常与错误一起出现:
段落第 41-42 行的 \hbox 过满(宽 3.14159pt)
这通常意味着输出 PDF 的单行中呈现的文本太多:
|The quick brown fox jumped over the lazy doggie. | <-- boundary
|This is the rendered output PDF of a TeX document.| <-- boundary
|This cannot fit on one line without being squashed.| <-- overfull!
|Unfortunately, if TeX made a break before "being" | <-- boundary
|and "squashed", it would look weird. | <-- boundary
解决此问题的一种方法是简单地重新措辞导致问题的段落,以便 TeX 能够以视觉上令人愉悦的方式进行换行。通常,这只需要删除或添加几个单词,直到问题消失:
|The quick brown fox jumped over the lazy doggie. | <-- boundary
|This is the rendered output PDF of a TeX document.| <-- boundary
|This can fit on one line without being squashed. | <-- FIXED!
|Unfortunately, if TeX made a break before "being" | <-- boundary
|and "squashed", it would look weird. | <-- boundary
解决症状
当然,我们可以改变公差,但代价是看起来不那么美观。如果我们设置\sloppy
,结果可能如下所示:
|The quick brown fox jumped over the lazy doggie. | <-- boundary
|This is the rendered output PDF of a TeX document.| <-- boundary
|This cannot fit on one line without being | <-- UGLY
|squashed. Unfortunately, if TeX made a break | <-- UGLY
|before "being" and "squashed", it would look | <-- UGLY
|weird. | <-- UGLY
相反,如果我们设定\overfullrule=0pt
,如所述@egreg 的回答,Overfull \hbox
错误被悄悄地掩盖了,但是我们的文本仍然越过了边界和/或被过度挤压在一起,如第一个示例所示。
内容和呈现方式是相互交织的。有时我们必须在其中一个方面做出一些妥协。