# Underbrace and Subscripts

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)

-
Thanks - the answer below worked great! –  Bart Snapp Nov 16 '10 at 2:20

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

-

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).

-
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