12

How do I place a underbrace in a subscript?

I_{2,(\underbrace{3,3,3,3,3}_5)}

does not typeset correctly (the 3's are not subscript sized)

11

How about a quick and simple I_{2,(\underbrace{\scriptstyle3,3,3,3,3}_5)}?

| improve this answer | |
8

Jan already gave a good answer. However, I'd say it's a real weakness of \underbrace that you have to do this manually. (One might even call it a bug.) Here's a surprisingly complicated redefinition of \underbrace that automatically inserts \scriptstyle if needed.

\documentclass{article}
\makeatletter
\let\saved@underbrace\underbrace
\renewcommand*\underbrace[1]{\@ifnextchar_{\ub@with{#1}}{\ub@without{#1}}}
\def\ub@with#1_#2{\mathpalette\underbrace@i{{#1}{_{#2}}}}
\newcommand*\ub@without[1]{\mathpalette\underbrace@i{{#1}{}}}
\newcommand*\underbrace@i[2]{\underbrace@ii#1#2}
\newcommand*\underbrace@ii[3]{\saved@underbrace{#1#2}#3}
\makeatother
\begin{document}
$I_{2,(\underbrace{3,3,3,3,3}_5)}$
\end{document}

One of the problems I had to overcome is very similar to this question of mine: The underscore must go inside the mathpalette (if present).

| improve this answer | |
  • 1
    I'll add something like this to unicode-math when I tackle the other under/over brace issues. Thanks! – Will Robertson Nov 16 '10 at 14:04
  • @will: luatex seems not to have a problem here, the digits are in script style already with no other modifications (it seems an issue confined to the plain tex definition of underbrace) – Khaled Hosny Nov 16 '10 at 15:13
  • @Khaled yeah, I was more referring to the terrible brokenness of these in xetex. – Will Robertson Nov 16 '10 at 15:18

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.