4

我正在尝试将一些格式规范从.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 [大] 点),字体大小为 20 个半点(或 10 [大] 点)。LibreOffice writer 将间距解释为130% proportional.

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

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

4

1 回答 1

1

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

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

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

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

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

于 2018-11-30T03:05:46.107 回答