0

The appearance of double sub/superscripts is extremely horizontally squished. For example, x^{2^{k^\alpha+1}} yields

enter image description here

I would like to create a custom font that "squishes" the k^\alpha+1 horizontally. For example,

\newcommand{\mycustomsize}[1]{\scalebox{0.9}[1]{$\scriptscriptstyle #1$}}
$x^{2^{\mycustomsize{k^\alpha+1}}}$

yields

enter image description here

which looks better in my opinion. How can I do this automatically, and for arbitrary scaling (say I wanted to make double superscripts extremely wide, or smaller in size but with the same scaling as \normalsize)? Something like

\makeatletter
\DeclareMathSizes{\@xipt}{\@xipt}{7}{4}
\makeatother

does not work, since what I want to change is how the default fonts scale.

5
  • Your options (in pdftex or xetex) to use scalebox as you show, or to make a new font using external tools. With luatex you could in princple use its Lua API to create a virtual font on the fly. Nov 10, 2022 at 17:10
  • You might get away with 0.9 scale but already it is starting to look a little odd, as your images show. + should be square and have both strokes the same width. Your version has neither of those properties. Nov 10, 2022 at 17:26
  • The ideal solution would be to have some sort of command that replaces \scriptscriptsize by doing a general scaling of \normalsize, like \scalebox{0.6}{$\normalsize ...$}. The example I gave above isn't that good.
    – btshepard
    Nov 10, 2022 at 17:30
  • tex can not modify font shapes, by default if using computer modern you are using human-designed fonts at 7 and 5 pt not scaled fonts at all. Perhaps you would prefer to use the 10pt font at 5pt as the main difference is that it would be narrower. cmr5 improves legibility by being wider than cmr10 scaled to 5pt Nov 10, 2022 at 17:37
  • oh if you want scriptscriptsize to be 0.6*10pt instead of the default 5pt just use \DeclareMathSizes{10}{10}{7}{6} Nov 10, 2022 at 17:41

1 Answer 1

1

In unicode-math, you can change the font of double sub/superscripts to a more condensed one with \setmathfont{SomeFont-Math.otf}[sscriptfont={SomeFont-Condensed.otf}]

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .