使三级嵌套下标始终较小

使三级嵌套下标始终较小

我经常需要输入类似 的内容$a_{b_{c_d}}$,并希望正确缩放内容,即在此示例中,我希望d小于c。这可以在每种情况下手动完成,方法是\scaleto如中所述答案,例如在我的例子中,它看起来像a_{b_{c_{\scaleto{d}{3pt}}}}。这仍然非常清晰,可以让人立即发现它d是下标c,如果它们的大小相同,我认为这有点不清楚。我注意到我必须根据字符更改字体大小,例如,如果我们将与交换,d那么m它就3pt太大了,a_{b_{c_{\scaleto{m}{2pt}}}}看起来是正确的。

有没有办法将这种行为硬编码到序言中,以便第三个嵌套的子/上标进行相应的缩放?

答案1

TeX 的排版引擎默认只识别两级下标。这是硬连线行为:每个数学字体都有一个\textfont、一个\scriptfont和一个\scriptscriptfont。最好的办法是创建一个宏来合并所有级别的下标和命令\scaleto(你甚至可以使用一些宏技巧来合并关于字体使用哪种大小的规则)。正如你所注意到的,将字符设置为小于 5pt 会使它们很快变得难以辨认,这可能是 TeX 默认不执行任何小于 scriptscriptsize 操作的众多原因之一(还有一个事实是 Knuth 没有将 cmr 设置为小于 5pt,而 TeX 最初设计用于排版计算机编程艺术它被设置为 10pt 类型并且对于超过两级下标/上标的内容没有多大用处)。

相关内容