[Tex/LaTex] How to make underbrace texts have the normal-text size

fontsize

Situation

I am using \underbrace with \substack for multi-line underbracing. The problem is that the text under the brace is small relative to the normal text. I want to make the size of texts under braces the same to that of normal texts.

Example

Here is an example:

\implies \underbrace{x(t) = z(t)}_{\substack{x(t)=y(t)\\y(t)=z(t)}}

Not what I want

As you see, the formulas under the brace are small relative to the normal formulas. It seems like their size is subscripts' size.
I want something like this:

What I want

Notes

Commands like \displaystyle, \textstyle, \normalfont in the underbrace did not solve my problem.

Best Answer

\scriptstyle is hardcoded into environment subarray, which is used by \substack. As workaround, \scriptstyle can be locally redefined as \textstyle:

\documentclass{article}
\usepackage{amsmath}

\begin{document}
\[
  \implies \underbrace{x(t) = z(t)}_{%
    \let\scriptstyle\textstyle
    \substack{x(t)=y(t)\\y(t)=z(t)}}
\]
\end{document}

Result

A cleaner result can be achieved by using environment array together with \textstyle. This fixes also the too narrow line spacing of \substack:

\documentclass{article}
\usepackage{amsmath}

\begin{document}
\[
  \implies \underbrace{x(t) = z(t)}_{%
    \textstyle
    \begin{array}{c}
      x(t)=y(t)\\
      y(t)=z(t)
    \end{array}
  }
\]
\end{document}

Result with array

And a third variant using gathered

\documentclass{article}
\usepackage{amsmath}

\begin{document}
\[
  \implies \underbrace{x(t) = z(t)}_{%
    \textstyle
    \begin{gathered}
      x(t) = y(t)\\
      y(t) = z(t)
    \end{gathered}
  }
\]
\end{document}

Result with gathered

Related Question