取消行尾的黑框

取消行尾的黑框

在 TeX 下,当我写一行太长时,它会在行尾打印一个粗黑框。这可能是一个功能,但我不喜欢它。

如何关闭它?有命令行选项或其他东西吗?

我通常使用 LaTeX,但我有一个复杂的文件,碰巧是纯 TeX。

答案1

由于您使用的是 Plain TeX,所以答案是

\overfullrule=0pt

在文本开始之前。

答案2

我认为draftAlan 提到的选项适用于 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错误被悄悄地掩盖了,但是我们的文本仍然越过了边界和/或被过度挤压在一起,如第一个示例所示。

内容和呈现方式是相互交织的。有时我们必须在其中一个方面做出一些妥协。

相关内容