10

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?

  • Both your examples work properly for me (i.e., giving me the b in \scriptstyle and the c in \scriptscriptstyle ). – Steven B. Segletes Nov 30 '16 at 17:58
  • 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 Nov 30 '16 at 17:58
  • 1
    Ok, but how to make $c$ even smaller? – AndyK Nov 30 '16 at 17:59
  • 1
    Yes, I mean even smaller than it is. – AndyK Nov 30 '16 at 18:02
  • If you make math items even smaller than \scriptscriptsize (the equivalent of \tiny in text mode), you should also be prepared to hand out magnifying glasses to the would-be readers of your documents. – Mico Nov 30 '16 at 18:06
11

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.

12

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

  • 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 8 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 8 at 17:00
  • thank you so much for the clarification, now I know the meaning of the various parameters. – Gennaro Arguzzi Feb 8 at 17:03
  • 1
    @GennaroArguzzi The size for base symbols: in $a_{b_{c}}$, a has the size dictated by the second argument. – egreg Feb 8 at 17:12
  • 2
    @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 Feb 8 at 18:08
5

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}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.