我想排版一个由多个子矩阵组成的矩阵。由于它们由一些较长的公式组成,我想为每个公式指定一个名称。我尝试使用\underbace
和\overbrace
。但是现在括号和字母出现在矩阵内,我想将其放在矩阵上方或下方。您对此有什么建议?
\documentclass{article}
\usepackage{amsmath}
\usepackage{xfrac}
\begin{document}
\begin{gather*}
H_{8kl}=
\begin{pmatrix}
\overbrace{\sfrac{1}{2} (A+B)\otimes E + \sfrac{1}{2} (A-B)\otimes G}^{K} &
\overbrace{\sfrac{1}{2} (A+B)\otimes F + \sfrac{1}{2} (A-B)\otimes H}^{L}\\
\underbrace{\sfrac{1}{2} (C+D)\otimes E + \sfrac{1}{2} (C-D)\otimes G}_{M} &
\underbrace{\sfrac{1}{2} (C+D)\otimes F + \sfrac{1}{2} (C-D)\otimes H}_{M}
\end{pmatrix}
\end{gather*}
\end{document}
答案1
我\smash
编辑了上部和下部,这样矩阵就不会知道它们。但是,我必须用一条前导规则进行补偿,以解决被破坏的垂直空间(可以更改4ex
中的三个表达式的\rule
大小以增加或减少表达式上方/下方的间隙)。
必须添加 Struts外部上下设置,以便将括号设置为正确的垂直尺寸,并且里面过度和不足使得牙套与表情适当分离。
\documentclass{article}
\usepackage{amsmath}
\usepackage{xfrac}
\usepackage{lipsum}
\begin{document}
\lipsum[3]
\begin{gather*}
\rule[\dimexpr-4ex-\ht\strutbox]{0pt}{\dimexpr4ex+4ex+\baselineskip}
H_{8kl}=
\begin{pmatrix}
\strut\smash{\overbrace{\strut\sfrac{1}{2} (A+B)\otimes E + \sfrac{1}{2} (A-B)\otimes G}^{K}} &
\strut\smash{\overbrace{\strut\sfrac{1}{2} (A+B)\otimes F + \sfrac{1}{2} (A-B)\otimes H}^{L}}\\
\strut\smash{\underbrace{\strut\sfrac{1}{2} (C+D)\otimes E + \sfrac{1}{2} (C-D)\otimes G}_{M}} &
\strut\smash{\underbrace{\strut\sfrac{1}{2} (C+D)\otimes F + \sfrac{1}{2} (C-D)\otimes H}_{M}}
\end{pmatrix}
\end{gather*}
\lipsum[4]
\end{document}
答案2
您可以使用明确的大小指令(例如\Biggl
和\Biggr
)来表示矩阵周围的括号。为了简化矩阵的整体外观,您可能还需要分解出通用项0.5
。
\documentclass{article}
\usepackage{amsmath} % for "matrix" environment
\begin{document}
\[
H_{\textit{8kl}}= \frac{1}{2}
\Biggl( \, \begin{matrix}
\overbrace{ (A+B)\otimes E + (A-B)\otimes G}^{K} &
\overbrace{ (A+B)\otimes F + (A-B)\otimes H}^{L}\\[1ex]
\underbrace{ (C+D)\otimes E + (C-D)\otimes G}_{M} &
\underbrace{ (C+D)\otimes F + (C-D)\otimes H}_{M}
\end{matrix} \, \Biggr)
\]
\end{document}