这个问题导致了一个新的方案的出现:
impnattypo
法国政府出版局 (Imprimerie Nationale) 发布了一份法语排版建议清单。我想知道如何在 LaTeX 中实现其中一些建议。当我继续阅读这本小册子时,我可能会想出更多建议。
章节/部分结束
此外删除页脚的建议在章节/部分的最后一页,建议这些页面不要少于 6 行。我猜(没有写)如果少于 6 行,建议通过在前一页(之一)强制分页来增加该数字。
连字规则
- 奇数页不应以连字符结尾;
- 带有连字符的单词之间的行数不得超过 3 行。
答案1
奇数页不应以连字符结尾;
\brokenpenalty=10000
将禁止任何页面(无论是正面还是背面)以连字符结尾。
带有连字符的单词之间的行数不得超过 3 行。
\doublehyphendemerits=1000000000
强烈反对连续使用两个连字符。
答案2
我也会给出我的非答案。
原则上,只要最后一段至少有六行,那么章节的最后一页至少可以有六行。定义
\newcommand{\closechapter}{%
\begingroup\widowpenalties 6 10000 10000 10000 10000 10000 0
\par\endgroup
% other customizations for the final page
}
并在最后一章的句号后立即写入\closechapter
(需要 e-TeX 扩展,该扩展应存在于任何最近的 TeX 发行版中)。如果最后一段少于五行,则可以在\unskip\newline\indent\ignorespaces
最后两段之间写入空行。
然而,正如已经指出的那样,这种“自动”检查可能会破坏前一页的间距,并且有很大的风险Underfull \vbox
。
没有任何自动化程序可以取代人眼和判断。确保一章最后一页至少有六行需要人工干预,这是任何机器都无法做到的,因为机器不懂英语、法语、意大利语或文档所用的语言。
可能性非常多:如果章节以枚举列表后的两行结尾怎么办?如果有一个引文或一个显示的公式怎么办?我们如何计算行数?
我不相信像国家印刷局;虽然我同意应该避免在最后一章页面使用两行,但我可以接受五行。如果所有替代方案都更糟糕(通常是但也有更好的选择)。
答案3
也许不能真正回答你的问题。
建议这些页面不要少于6行。
我认为这与寡妇和/或孤儿的问题非常相似。据我所知,没有可靠的和一般的在 TeX 中做到这一点的方法。更好的方法仍然是依靠一个好的编辑器(我指的是人工编辑器,而不是文本编辑器或其他什么)。
我不建议在前一页强制分页。这肯定会使文档看起来更糟。未满的垂直框很容易被眼睛发现,应尽可能避免。它比几个点的未满或过满的水平框危害更大。
连字符规则。
这个问题可以通过微排版(即突出、扩展和有时的跟踪)来部分解决。
使用 pdftex 时,启动该microtype
包。它的文档相当全面,还包含对微排版的简短但很好的介绍。
使用 luatex 时,虽然microtype
自 luatex 0.4 以来就已支持它,但上次我检查时,对使用luaotfload
/加载的 opentype 字体的支持仍在即将推出的版本中。但您可以使用fontspec
\pdfprotrudechars2
\pdfadjustspacing2
启用这些功能。并使用protrusion
和expansion
功能设置因子。fontspec
使用 ,使用RawFeature = {protrusion = ...}
或定义新字体功能或其他方法。luaotfload
有关这两个功能,请参阅 的文档。fontspec
有关设置功能,请参阅 的文档。
使用微排版,连字效果得到了很大改善,连字现象会大大减少。因此,出现连续三行带连字或奇数页最后一行带连字的情况的可能性会大大降低。
然而,这只能(显著)减少此类事件发生的几率,而不能完全杜绝。但如果仍有此类连字符,则应该非常少,编辑可以解决。