TransWikia.com

Make level-3 nested subscripts always smaller

TeX - LaTeX Asked by Emilio Ferrucci on February 22, 2021

I’m often having to type things like $a_{b_{c_d}}$ and would like the things to be scaled properly, i.e. in this example I would like d to be smaller than c. This can be done manually for each case with scaleto as described in this answer, e.g. in my example this would look like a_{b_{c_{scaleto{d}{3pt}}}}. This is still perfectly legible and allows one to spot that d is a subscript of c straight away, which I think is a little unclear if they are the same size. I’ve noticed that I have to change the font size depending on the character, for instance if we swap the d with an m then 3pt is way too large and a_{b_{c_{scaleto{m}{2pt}}}} looks right.

Is there any way to hardcode this behaviour into the preamble, so that the the third nested sub/super-script gets scaled accordingly?

One Answer

TeX's typesetting engine only recognizes two levels of subscripts by default. This is hardwired behavior: for each math font there's a textfont, a scriptfont and a scriptscriptfont. Your best bet for doing this would be to create a macro to incorporate all the levels of subscripting and the scaleto command (you could even incorporate your rules about which size to use for the font with a little macro trickery). As you've noticed, making characters smaller than 5pt makes them become illegible pretty quickly, which is likely one of many reasons why TeX, by default doesn't do anything less than the scriptscriptsize (there's also the fact that Knuth didn't make cmr smaller than 5pt and TeX was originally designed to typeset The Art of Computer Programming which was set in 10pt type and didn't have much use for anything more than two levels of sub/superscripts).

Answered by Don Hosek on February 22, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP