我正在尝试将一些格式规范从 .docx 模板转换为 LaTeX,
并且正在努力使其准确应对学术挑战。

考虑以下 Office Open XML 片段:

            <w:pPr>
                    <w:widowControl/>
                    <w:spacing w:line="312" w:lineRule="auto"/>
                    <w:jc w:val="both"/>
            </w:pPr>
            <w:rPr>
                    <w:rFonts w:eastAsia="Times New Roman"/>
                    <w:sz w:val="20"/>
            </w:rPr>

行间距指定为 312 dxa(或 15.6 [big] 磅),字体大小为 20 个半磅(或 10 [big] 磅)。 LibreOffice writer 将间距解释为 130% proportional

312dxa对应什么?是基线到基线的距离吗? LibreOffice 如何计算 130%?

15.6 是 12 的 130%,即 10 的 1.2 倍。(对于单个间距(在 LaTeX 中),一个好的经验法则是将 \baselineskip 设置为字体大小的 1.2 倍)。这是我的猜测。

最佳答案

根据 ISO-IEC-29500-1 的第 17.3.1.33 节,after 属性的语义由 spacingRule 属性修改:

  • spacingRule 具有 exactlyatLeast 值之一时,它将线之间的距离表示为有符号缇(后记点的二十分之一)度量。
  • spacingRule 的值为 auto 时,它​​表示以线的 240ths 为单位的距离。

  • 在OP的例子中,后者适用,行间距为312/240=130%。

    OP 关于如何测量行间距的原始预感是一个很好的预感:auto 选项的 240 分数可能基于默认情况,其中两条 10pt 类型的行的基线间隔为字体大小的 1.2 倍,即, 240 缇。在默认情况下,autoexactly/atLeast 对于给定的 after 值具有相同的行为。

    但是,如果从字面上理解这个问题,那就不是正确的问题了:ISO 标准准确地指定了 OOXML (WML) 文档的语法。它详细地指定了文档的语义,但最终存在一个粒度级别,超出该级别标准无法给出答案,因为它们是设计决策,而是反射(reflect)在特定于供应商的实现中。

    关于openxml - 在 OOXML 中如何测量行距?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19719668/

    10-11 03:35