24

How to get smaller font for subscript within subscript in math mode? For example, I want the subscript $c$ to be much smaller than it is in the following example:

\documentclass{article}
\begin{document}
$a_{b_{c}}$
\end{document}

But "\scriptstyle" or "\scriptscriptstyle" is not working for some reason for subscripts within subscripts, i.e.

\documentclass{article}
\begin{document}
$a_{b_{\scriptscriptstyle c}}$
\end{document}

has the same result for the size of $c$. So have to make $c$ even smaller?

Andreas K.
  • 613
  • 1
  • 6
  • 9

3 Answers3

23

For even smaller, you could scale the sub-subscript:

\documentclass{article}
\usepackage{scalerel}
\begin{document}
$a_{b_{\scaleto{c}{1pt}}}$
\end{document}

enter image description here

If you need consistency across a range of subscripts, you may wish to add a normalizer like a \mathstrut:

\documentclass{article}
\usepackage{scalerel}
\begin{document}
$a_{b_{\scaleto{c\mathstrut}{2pt}}}$
$a_{b_{\scaleto{g\mathstrut}{2pt}}}$
\end{document}

enter image description here

Here, \scaleto from the scalerel package operates on its arguments in math mode by default, unlike \scalebox of the graphicx package, which operates in text mode.

19

You can use \DeclareMathSizes; declare also other sizes if needed.

\RequirePackage{fix-cm} % arbitrary font scaling
\documentclass{article}

\DeclareMathSizes{10}{10}{7}{4}

\begin{document}
$a_{b_{c}}$
\end{document}

enter image description here

Compare to the standard and decide for yourself if it's worth the trouble. I wouldn't go below four points.

enter image description here

egreg
  • 1,121,712
  • Hello @egreg, can you tell me how to reduce di size of the subscript b please? I tried with \DeclareMathSizes{10}{5}{7}{4}, but an asterix appears where there was the letter a. – Gennaro Arguzzi Feb 08 '19 at 16:52
  • 1
    @GennaroArguzzi You're saying that at 10pt size you want normal math to be 5pt, first order scripts 7pt and second order scripts 4pt. Which doesn't really make sense, does it? – egreg Feb 08 '19 at 17:00
  • thank you so much for the clarification, now I know the meaning of the various parameters. – Gennaro Arguzzi Feb 08 '19 at 17:03
  • ...which is the difference between the first and the second parameter? The second allows me to choose the size of the normal math. What is normal math? – Gennaro Arguzzi Feb 08 '19 at 17:09
  • 1
    @GennaroArguzzi The size for base symbols: in $a_{b_{c}}$, a has the size dictated by the second argument. – egreg Feb 08 '19 at 17:12
  • what is the first parameter? sorry for the nuisance. – Gennaro Arguzzi Feb 08 '19 at 17:26
  • 3
    @GennaroArguzzi \DeclareMathSizes{<current font size>}{<size for textstyle>}{<size for scriptstyle>}{<size for scriptscriptsize>}. If the current size is 10pt, math will use the sizes declared with \DeclareMathSizes{10}{x}{y}{z}. See https://tex.stackexchange.com/q/295861/4427 – egreg Feb 08 '19 at 18:08
10

Using someone's idea in How to get an even smaller font? to scale \scriptscriptstyle content down by 30%:

enter image description here

\documentclass{article}

\usepackage{graphicx}

\begin{document}

$a_{b_c}$

$a_{b_{\scalebox{.7}{$\scriptscriptstyle c$}}}$

\end{document}
Werner
  • 603,163