2

How do I globally change the size of subscripts and superscripts? (I would like to make them smaller)

13
  • 1
    I’m pretty sure that you wouldn’t like the result when you saw it. Trust me, a lot of thought and work has gone into choosing the default subscript and superscript sizes in TeX. Commented Dec 14, 2024 at 15:29
  • What I dislike about current sizing is that it sometimes requires extra line space to be put in. I'd like uniform line spacing with little positive leading, and so I need to decrease the size of scripts. I've tried it locally with scalarel, liked the result, but it would be far preferable to do this globally. Commented Dec 14, 2024 at 15:34
  • The only other alternative I can think of is to increase the height of the subscript and decrease the height of the superscript, which I also don't know how to do. Commented Dec 14, 2024 at 15:42
  • 1
    I actually agree that this problem exists, but I disagree with the solution you propose. First and foremost, if you don’t already do this, try your best to avoid large structures in sub- and superscripts. For instance, write x^{2/3} instead of x^{\frac{2}{3}}, and use \exp(...) instead of e^{...} for large expressions. Or try to write such things in display math rather than inline math. In the cases where none of these tricks work, you can avoid extra long lines by doing \smash{$...$}. Quite often, it will turn out that there actually was enough room on the line for the expression. Commented Dec 14, 2024 at 15:42
  • I appreciate the suggestions. Unfortunately, these aren't applicable in at least some of my use cases. In Algebraic Geometry, you'll often get expressions you want to keep inline like $\Omega_{X_{k}/\kappa(x)\,x}$ which could really benefit from increasing the vertical height of subscript or decreasing the size. Commented Dec 14, 2024 at 15:44

1 Answer 1

4

$\Omega_{X_{k}/\kappa(x)\,x}$ fits within baseline spacing using the default fonts but adding a bit of extra height and depth does show an example that disturbs baseline spacing

enter image description here

\documentclass{article} \showoutput\showboxdepth3 \begin{document} Some text text text text text text text Some text text text text text text text Some text text text text text text text Aaaa $\hat\Omega_{X_{k}/\kappa(x)\,y}$ bbb ccc Some text text text text text text text Some text text text text text text text Aaaa $\hat\Omega_{X_{k}/\kappa(x)\,y}$ bbb ccc Some text text text text text text text Some text text text text text text text Some text text text text text text text \end{document} 

You can use smaller script and scriptscript size for 10pt base font:

enter image description here

Which has even spacing (but unreadable subscripts)

\RequirePackage{fix-cm} \documentclass{article} \showoutput\showboxdepth3 \DeclareMathSizes{10pt}{10pt}{4}{3} \begin{document} Some text text text text text text text Some text text text text text text text Some text text text text text text text Aaaa $\hat\Omega_{X_{k}/\kappa(x)\,y}$ bbb ccc Some text text text text text text text Some text text text text text text text Aaaa $\hat\Omega_{X_{k}/\kappa(x)\,y}$ bbb ccc Some text text text text text text text Some text text text text text text text Some text text text text text text text \end{document} 
7
  • Perhaps you might want to show what happens if you \smash it. Also, isn’t \hat{\Omega} the recommended syntax nowadays? Commented Dec 14, 2024 at 16:09
  • @Gaussler \smash can work sometimes (but in general may cause over-printing so hard to recommend as a general solution, and it doesn't directly answer the question in the title) as for \hat{} you don't need nowadays the recommendation hasn't changed it has always been to use braces, but sometimes I am rebellious Commented Dec 14, 2024 at 16:11
  • That’s fine, rebel as much as you want. After Brexit, it won’t hurt the rest of us anymore. Commented Dec 14, 2024 at 16:14
  • @ David Carlisle how would I do this for 11pt font. It doesn't seem to scale? Commented Dec 14, 2024 at 16:17
  • @NoahLaikin the default for 11pt is \DeclareMathSizes{\@xipt}{\@xipt}{8}{6} so \makeatletter\DeclareMathSizes{\@xipt}{\@xipt}{5}{4}\makeatother (note \@xipt is 10.95pt not 11pt (so you can use 10.95pt if you don't like the @ Commented Dec 14, 2024 at 16:21

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.