在下面的代码中,我希望每行中的元素与其他行中的相应元素对齐,并且每行中的内括号与其他行中的相应括号对齐,但根据其内容调整大小。
谢谢!
\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
实现的一个优点。