对 bmatrix 中的行进行对齐,这些行本身也是 bmatrix

对 bmatrix 中的行进行对齐,这些行本身也是 bmatrix

在下面的代码中,我希望每行中的元素与其他行中的相应元素对齐,并且每行中的内括号与其他行中的相应括号对齐,但根据其内容调整大小。

谢谢!

\documentclass{amsart}


\begin{document}

\begin{gather}
 \begin{bmatrix}
  a  \begin{bmatrix} b & a_{long} f_{ormula} \end{bmatrix}\\
  c_d  \begin{bmatrix} \dfrac{e}{f} & g \end{bmatrix}
 \end{bmatrix}
\end{gather}
I want $e/f$ aligned with $b$ and $g$ with $a_{long} f_{ormula} $ and the inside brackets to be both aligned with the corresponding brackets in other rows and to adjust to their contents.  What is the easiest way of doing this?
\end{document}

答案1

我将内部矩阵设置为“伪矩阵”,其中您使用指定括号amsmath\bigl构造\bigr。它不仅允许您跨越单元格边界打破它们,而且还可保持结构范围的柱状对齐:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\[
  \left[\begin{array}{c r @{} c c @{} l}
      a   & \bigl[ & bcdefgh &   ijk    & \bigr] \\
    lmnop & \bigl[ &   qr    & stuvwxyz & \bigr]
  \end{array}\right]
\]

\end{document}

上面我使用了外部的array,但您也可以使用bmatrix。内部“伪矩阵”括号之间的间距已使用@{}列规范删除 - 这是使用纯array实现的一个优点。

相关内容