排版部首的微妙之处:解释 TeX 实际上在做什么

排版部首的微妙之处:解释 TeX 实际上在做什么

下列的,我决定详细描述一下排版部首时发生的情况,因为它们有点像野兽。

涉及哪些字体特征?应用了哪些微调机制和排版规则?

答案1

和往常一样,我认为逐步的过程是最好的。

步骤 0-符号和定义

任何符号字体(即 TeX 语言中的字体系列 2)都必须具有至少 22 个参数,并且具有三种不同的“样式”,以便 TeX 排版公式。这些“样式”大致可以分为“text”(表示“显示样式”)、“text 样式”及其狭窄版本(参见 TeXBook)、“script”(表示“script 样式”(狭窄和标准)和“scriptscript”(狭窄和标准)。TeXBook 详细描述了如何确定使用哪种样式以及如何确定从主公式到上标/下标的正确样式切换。

步骤 1 - 第一个定义

首先自由基与其他数学野兽不同,因为它们被设定在它们的局促风格等同,(如步骤 0 所述,TeXBook 中对此进行了描述,以及如何计算任何给定样式的拥挤度)。这必须知道,无论如何,在答案的其余部分,每当我提到风格时,我指的是原始公式风格而不是有效用于排版被开方数的等价物。

无论如何,有两个主要参数:

  1. rfontdimen8字体系列编号 3,并代表默认规则高度

  2. sfontdimen5字体系列编号2,代表 x 高度

同样有用的还有被开方数的盒子参数,即它的高度h和深度d;我们将参考它的盒子(记住,建造于局促的风格) 作为x

第 2 步 - 计算字体和样式相关参数p

简单地:

  • 如果风格不是展示或者显示屏拥挤 p=0

  • p=s否则

步骤 3 - 计算暂定通关k

简单设置k=r+(1/4)|p|

步骤 4 - 排版第一段分隔符

设置一个可变的部首分隔符,例如其高度加深度zz≥h+d+r+k。我们称其H为该字符的高度和D深度。

步骤 5 - 定义规则

规则高度r被重置为r=H– 通常字体设计者将规则厚度指定为等于部首字符的高度。

步骤 6 - 调整间隙k

如果D > h+d+k需要增加间隙(即,必须增加被开方数上的空间以匹配根号的额外深度)。这可以通过设置来实现k=(1/2)(k+D-h-d),即k获得超出量的一半。

步骤 7 - 构建开方数框

A垂直箱已建成(即其描述从上到下):

  • 数量的字距r

  • 高度规则r

  • 数量的字距k

  • 盒子x

第 8 步 - 排版部首

然后,用由分隔符构造的框(参见步骤 4)替换该部首,并由h+k,然后是在步骤 7 中构造的垂直框。然后将这两个框转换为单个奥德原子。


参数之间的互连以及其他公式排版

这里我将简单详细说明这些参数如何与其他公式排版计算交织在一起,以便能够仅使用和调整所需的参数。

  • fontdimen5表示“x 高度”,因此被广泛使用:
    1. (1/4) |(fontdimen 5)|还参与确定上标和下标的升档和降档
    2. 3 系列还fontdimen8用于确定上划线、下划线和分数以及下标和上标中的规则厚度

相关内容