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?

6
  • 1
    Both your examples work properly for me (i.e., giving me the b in \scriptstyle and the c in \scriptscriptstyle ). Commented Nov 30, 2016 at 17:58
  • 1
    They produce the same result because they are they same. The first subscript is written using \scriptstyle, while the second (nested) one is written using \scriptscriptstyle.
    – Werner
    Commented Nov 30, 2016 at 17:58
  • 1
    Ok, but how to make $c$ even smaller?
    – kuzand
    Commented Nov 30, 2016 at 17:59
  • 1
    Yes, I mean even smaller than it is.
    – kuzand
    Commented Nov 30, 2016 at 18:02
  • 1
    For text inside MATH mode, using $A_{\text{\tiny B}}$ worked for me. Commented Aug 31, 2020 at 19:18

3 Answers 3

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.

0
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

7
  • 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. Commented Feb 8, 2019 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
    Commented Feb 8, 2019 at 17:00
  • thank you so much for the clarification, now I know the meaning of the various parameters. Commented Feb 8, 2019 at 17:03
  • 1
    @GennaroArguzzi The size for base symbols: in $a_{b_{c}}$, a has the size dictated by the second argument.
    – egreg
    Commented Feb 8, 2019 at 17:12
  • 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 tex.stackexchange.com/q/295861/4427
    – egreg
    Commented Feb 8, 2019 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}

You must log in to answer this question.

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