什么是重音命令行为?

什么是重音命令行为?

我读过 LaTeX 资料来定义重音命令的真实行为,但失败了。它是这样说的:

\def\DeclareTextAccent#1#2#3{%  
\DeclareTextCommand#1{#2}{\add@accent{#3}}}

\accent即它由TeX-primitive构造。

然后我去了TeX 按主题分类书并阅读有关\accent原始的内容。但不幸的是,我找不到任何有用的信息来解释口音的行为。我需要知道如何计算重音符号的 x 位置和 y 位置。

我发现了这样的信息:

带重音符号的字符的宽度与不带重音符号的字符的宽度相同。TeX 假定重音符号在字体文件中的位置与字体 x 高度相同;对于其他高度的字符,它会相应地降低或升高重音符号。

...

重音的水平定位由 控制\fontdimen1,每点倾斜。字距用于水平移动。

但即使我知道,我还是找不到问题的答案。也许你可以?

答案1

我认为TeXbook是需要查看的地方。它说

附录 B 显示了纯 TeX 使用 TeX 的\accent原语来处理大多数重音符号。例如,\'#1相当于 {\accent19 #1},其中#1是被重音的参数。一般规则是\accent<number>将重音符号放在下一个字符上;告诉 <number>该重音符号在当前字体中出现的位置。重音符号被假定为正确放置在高度等于当前字体 x 高度的字符上;较高或较短的字符会导致重音符号升高或降低,同时充分考虑到重音符和受重音符字体的倾斜度。最终构造的宽度是被重音符号的字符的宽度,与重音符号的宽度无关。

因此,位置不是由\accent图元计算的:而是由字体设计者在设计字体时确定的。

相关内容