评估文档的排版美观度(寡妇、孤儿、连字符等),以优化页面几何形状

评估文档的排版美观度(寡妇、孤儿、连字符等),以优化页面几何形状

在完成文档时,我做的最后一件事通常是调整页面几何形状以改善整体布局:删除一些孤行或寡行,减少连字符的数量等。

我通常首先设计文档,采用可接受的或强加/建议的页面几何形状,例如

\usepackage[scale=0.75]{geometry}

但更多的时候(如果不是总是),我实际上可以用介于和0.75之间的任何东西来替换它(作为示例)(因为即使页面几何形状据称是“强制性的”,大多数人也不会注意到差异......)。0.730.77

然而,到目前为止,我的过程是手动的、繁琐的和相当主观的,基本上是尝试不同的scale选项并选择最令我赏心悦目的选项......

更好的方法是让 TeX 输出一些印刷指标,或者更好的是,输出整个文档的全局“不良”指标,然后使用一个小脚本scale根据此指标优化该因素。以下是我的几个相关问题:

  1. a) TeX 是否可能输出如下的印刷质量指标:

    • 寡妇的数量,
    • 孤儿数量,
    • 连字符的数量,
    • 标准和最大字间距,
    • 字间距大于标准值两倍的行数,以及
    • 您认为还有其他相关的印刷质量指标有用吗?(我假设在所有情况下都已处理了像盒子过满这样的大忌)。

    b) 对于寡妇、孤儿、连字符和类似的严重错误,是否可以修改 TeX 的输出程序来识别它们发生的位置?要么直接在文档内部,要么作为警告在日志中,或者两者同时选择(如过满或欠满hbox时发生的情况)。

  2. 是否可以让 TeX 输出整个文档的全局质量/不良指标?我知道 TeX 内部使用惩罚系统;是否可以输出整个文档的惩罚总数,这是否是符合我的优化期望的合适指标?

(注意:答案不一定适用于每个引擎;特别是,Lua 代码是完全可以接受的,因为我猜这个问题涉及到luatex“打开 TeX 的内部结构”

答案1

这不完全是你所要求的,但因为你想要我认为其他任何相关的印刷质量指标都是有用的,先提两个包:

  • 帕特里克·冈拉克的lua-检查连字符,它可以让您查看全部文档中实际使用的连字符,以及

  • Raphaël Pinson 的错误信息,它实现了相当多的法语排版规则;其中一些规则并不是法语特有的(比如在单字母单词后插入连字符,这在波兰语和捷克语中也是必须的),还有一些甚至是通用的(比如避免使用河流);impnattypo可以修复其中一些问题,并且强调其他的。

这两个软件包都需要 LuaLaTeX(当然,有些功能impnattypo在没有它的情况下也可以使用)。请参阅它们的文档以获取确切的功能列表。

相关内容