更新

更新

设置\topskip0pt混淆 LaTeX 的\clearpage命令并导致出现额外的空白页。这是已知的自古以来. 显然有些人认为

没有理由设置\topskip0pt,所以这不被视为错误。

然而,有很多丑陋的变通方法挑战了这一说法,比如在链接页面中

教训是:不要设置\topskip = 0pt,而是将其设置为0.01pt。除了 LaTeX 之外,没有人会更聪明。

显然,人们确实时不时需要这种设置,原因就是第一个引言的作者简单地从桌子上抹去的,这个问题不断出现,让用户感到惊讶。我自己在希望以像素精度到达页面边缘时发现了这一点。一旦\topskip非零,它将要弄乱这些东西,因为即使它是固定的(即使可以忽略不计),也会发生非平凡的依赖于内容的计算(TeXBook 第 114 页):

... TeX 在每页的第一个框之前插入特殊粘连。此特殊粘连等于\topskip,只是自然空间已减少了第一个框的高度,或者已将其设置为零而不是负值。

零 topskip 真的应该被视为禁忌吗?如果是,为什么?(TeXBook 没有给出它不应该是任何可能维度的理由,除了负数没有多大意义。)

更新

好吧,我的前提是错误的。由于旧的新闻组帖子和这个网站上的另一个答案,我认为这是众所周知的行为。这里的答案证实了这一点

  • 一个错误,
  • 它没有被追踪。

原因确实是好奇,而不是愤怒之类的情绪。我投票删除此问题,因为在这种情况下,它不再起到应有的作用。我希望这不会让大家损失分数。抱歉,形式不当。

答案1

由于从未报告过,因此尚未修复。我在错误数据库中找到了一些关于\topskip双列模式问题的信息(已添加检查),但没有找到有关您的示例的信息。

一个常见的问题是,人们更喜欢抱怨错误,而不是尝试做一些事情来解决它 - 在这种情况下:寻找 LaTeX 错误跟踪器并添加问题。

除此之外,classes.dtx 中还有一条关于 topskip 的注释:

是页面第一行的;如果它的值为 0pt,LaTeX 的输出例程将无法正常工作,所以不要这样做\topskip\baselineskip

答案2

(这在某种程度上是对Ulrike Fischer 的回答,但内容太过实质性,不足以作为评论。)

LaTeX 的开发并不是一个只有向业内人士询问才能了解的神秘事物。它公开地进行着在 Github 上您可以根据自己的喜好详细查看。特别是,报告错误的流程非常简单,并且以前报告的错误的数据库也很容易搜索。

正如 Ulrike Fischer 的回答一样,在我看来,你的第一个问题的答案是由于尚未报告,因此尚未修复此错误。因此我建议您按照上述链接中的说明报告错误。希望开发人员有时间回复您的报告后,您能获得错误修复,或者更详细地解释开发人员认为这不是错误(或者不应该修复)的原因。无论哪种情况,您都可以在此处发布该回复作为此问题的完整答案。

相关内容