情况
我使用\underbrace
with\substack
进行多行下划线。问题是,括号下的文本相对于正常文本来说太小了。我想让括号下的文本的大小相同与正常文本相同。
例子
以下是一个例子:
\implies \underbrace{x(t) = z(t)}_{\substack{x(t)=y(t)\\y(t)=z(t)}}
如您所见,括号下的公式相对于普通公式来说很小。它们的大小似乎就是下标的大小。
我想要这样的东西:
笔记
\displaystyle
下括号中的诸如、、\textstyle
之类的命令\normalfont
并不能解决我的问题。
答案1
\scriptstyle
被硬编码到环境中subarray
,由 来使用\substack
。作为解决方法,\scriptstyle
可以将其本地重新定义为\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}
array
通过将环境与 结合使用,可以获得更清晰的结果\textstyle
。这还可以修复 行距过窄的问题\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}
第三种变体是使用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}
答案2
使用array
:
\documentclass{article}
\usepackage{amsmath}
\newcommand{\bunderbrace}[2]{%
\begin{array}[t]{@{}c@{}}
\underbrace{#1}\\
#2
\end{array}
}
\begin{document}
\[
\implies
\bunderbrace{x(t) = z(t)}{x(t)=y(t)\\y(t)=z(t)}
\]
\end{document}