我正在尝试将一些格式规范从 .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
具有 exactly
或 atLeast
值之一时,它将线之间的距离表示为有符号缇(后记点的二十分之一)度量。 spacingRule
的值为 auto
时,它表示以线的 240ths 为单位的距离。 在OP的例子中,后者适用,行间距为312/240=130%。
OP 关于如何测量行间距的原始预感是一个很好的预感:
auto
选项的 240 分数可能基于默认情况,其中两条 10pt 类型的行的基线间隔为字体大小的 1.2 倍,即, 240 缇。在默认情况下,auto
和 exactly
/atLeast
对于给定的 after
值具有相同的行为。但是,如果从字面上理解这个问题,那就不是正确的问题了:ISO 标准准确地指定了 OOXML (WML) 文档的语法。它详细地指定了文档的语义,但最终存在一个粒度级别,超出该级别标准无法给出答案,因为它们是设计决策,而是反射(reflect)在特定于供应商的实现中。
关于openxml - 在 OOXML 中如何测量行距?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19719668/