矩阵中的垂直线应该对齐

矩阵中的垂直线应该对齐

我尝试将矩阵一个接一个地写出来,但我希望垂直线(比较下面的示例)对齐。最终,一个文档中将有多个矩阵 - 下面的示例中只有两个。

\documentclass{article}

\usepackage{amsmath}

\begin{document}
\begin{align}
\begin{array}{l}
\mathrm{I} \\
\mathrm{II} \\
\mathrm{III} \\
\end{array}
\left (
\begin{array}{rrr|r}
3 & 6 & 3 & 3 \\
2 & 1 & -1 & -1 \\
-1 & 2 & 2 & 1 \\
\end{array}
\right )
\begin{array}{c}
\\
\mathrm{II} + \left (-\frac 2 3 \right ) \cdot \mathrm{I} \\
\mathrm{III} + \left (\frac 1 3 \right ) \cdot \mathrm{I}\\
\end{array}
\end{align}
\begin{align}
\begin{array}{l}
\mathrm{I^{**}}\\
\mathrm{II^{**}} \\
\mathrm{III^{***}} \\
\end{array}
\left (
\begin{array}{rrr|r}
1 & 0 & 0 & 1 \\
0 & 1 & 0 & -1 \\
0 & 0 & 1 & 2 \\
\end{array}
\right )
\end{align} 
\end{document}

答案1

如果最后一列的数字大小相同,则可以将两个矩阵放在同一个位置align,并将对齐点 ( &) 放在矩阵后面。我还用 在两行之间添加了一些额外的空间\\[2\jot]

在此处输入图片描述

\documentclass{article}    
\usepackage{amsmath}

\begin{document}
\begin{align}
\begin{array}{l}
\mathrm{I} \\
\mathrm{II} \\
\mathrm{III} 
\end{array}
\left (
\begin{array}{rrr|r}
3 & 6 & 3 & 3 \\
2 & 1 & -1 & -1 \\
-1 & 2 & 2 & 1 
\end{array}
\right )&
\begin{array}{c}
\\
\mathrm{II} + \left (-\frac 2 3 \right ) \cdot \mathrm{I} \\
\mathrm{III} + \left (\frac 1 3 \right ) \cdot \mathrm{I}
\end{array}
\\[2\jot]
\begin{array}{l}
\mathrm{I^{**}}\\
\mathrm{II^{**}} \\
\mathrm{III^{***}} 
\end{array}
\left (
\begin{array}{rrr|r}
1 & 0 & 0 & 1 \\
0 & 1 & 0 & -1 \\
0 & 0 & 1 & 2 
\end{array}
\right )&
\end{align} 
\end{document}

答案2

为了进一步方便读者的眼睛在显示屏上垂直移动,我不仅会对齐两个垂直条,还会通过合理插入\phantom{-}指令来对齐矩阵的各个列。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}

\begin{document}
\begin{align*}
\begin{array}{l}
\mathrm{I} \\
\mathrm{II} \\
\mathrm{III\phantom{^{***}}} \\
\end{array}
&\left (
\begin{array}{rrr|r}
3 & \phantom{-}6 & 3 & 3 \\
2 & 1 & -1 & -1 \\
-1 & 2 & 2 & 1 \\
\end{array}
\right )
\begin{array}{l}
\\
\mathrm{II} + \left (-\tfrac 2 3 \right ) \cdot \mathrm{I} \\
\mathrm{III} + \left (\tfrac 1 3 \right ) \cdot \mathrm{I}\\
\end{array}
\\
\begin{array}{l}
\mathrm{I^{**}}\\
\mathrm{II^{**}} \\
\mathrm{III^{***}} \\
\end{array}
&\left (
\begin{array}{rrr|r}
\phantom{-}1 & \phantom{-}0 & \phantom{-}0 & 1 \\
0 & 1 & 0 & -1 \\
0 & 0 & 1 & 2 \\
\end{array}
\right )
\end{align*} 
\end{document}

答案3

您可以使用 轻松做到这{NiceArray}一点nicematrix

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

\NiceMatrixOptions{vlines-in-sub-matrix=I}

\[\begin{NiceArray}{lcccIcl}
\mathrm{I}         & 3  & 6 & 3  & 3  \\
\mathrm{II}        & 2  & 1 & -1 & -1 & \mathrm{II}+\bigl(-\frac{2}{3}\bigr)\cdot \mathrm{I} \\
\mathrm{III}       & -1 & 2 & 2  & 1  & \mathrm{III} + \bigl(\frac{1}{3}\bigr) \cdot \mathrm{I} \\[2mm]
\mathrm{I^{**}}    & 1  & 0 & 0  & 1  \\
\mathrm{II^{**}}   & 0  & 1 & 0  & -1 \\
\mathrm{III^{***}} & 0  & 0 & 1  & 2  \\
\CodeAfter
   \SubMatrix({1-2}{3-5})
   \SubMatrix({4-2}{6-5})
\end{NiceArray}\]

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容