14

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)

0

2 Answers 2

14

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

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

3
  • 1
    I'll add something like this to unicode-math when I tackle the other under/over brace issues. Thanks! Nov 16, 2010 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) Nov 16, 2010 at 15:13
  • @Khaled yeah, I was more referring to the terrible brokenness of these in xetex. Nov 16, 2010 at 15:18

You must log in to answer this question.

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