Even after smashing the label width (the usual culprit as addressed in the linked question), the brace cannot shrink any more because it is the smallest size provided in Computer Modern.
Some font/symbol packages define smaller curly braces. The only one I can think of off the top of my head is MnSymbol
, which is unfortunate because it has several incompatibilities.
An alternative that should work with any font packages is to define a new \smallunderbrace
command that uses the smallest font \tiny
to create the brace:
\def\smallunderbrace#1{\mathop{\vtop{\m@th\ialign{##\crcr
$\hfil\displaystyle{#1}\hfil$\crcr
\noalign{\kern3\p@\nointerlineskip}%
\tiny\upbracefill\crcr\noalign{\kern3\p@}}}}\limits}
This command is identical to \underbrace
from base LaTeX with the exception of \tiny
inserted in the last line. Here's the result:
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\def\smallunderbrace#1{\mathop{\vtop{\m@th\ialign{##\crcr
$\hfil\displaystyle{#1}\hfil$\crcr
\noalign{\kern3\p@\nointerlineskip}%
\tiny\upbracefill\crcr\noalign{\kern3\p@}}}}\limits}
\makeatother
\begin{document}
\begin{gather}
(du) \\
(\smallunderbrace{du}_{\text{\clap{label}}}) \\
(\smallunderbrace{\text{test}}_{\text{\clap{label}}})
\end{gather}
\end{document}
The last test line is just to show that this new command is still extensible, but the \smallunderbrace
command should only be used when the standard \underbrace
is too big.