我正在寻找一种方法来使中心列居中对齐(\x右箭头s) 在此构造中。
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{alignat}[2]
\begin{bmatrix*}[r]
2 & 2 & \vline & 3 \\
1 & -3 & \vline & 2
\end{bmatrix*} & \xrightarrow{-R_2 \to R_1} && \begin{bmatrix*}[r]
1 & 5 & \vline & 1 \\
1 & -3 & \vline & 2
\end{bmatrix*} \\
\begin{bmatrix*}[r]
1 & 5 & \vline & 1 \\
1 & -3 & \vline & 2
\end{bmatrix*} & \xrightarrow{3 R_1} && \begin{bmatrix*}[r]
3 & 15 & \vline & \mathllap{-}1 \\
1 & -3 & \vline & 2
\end{bmatrix*}
\end{alignat}
\end{document}
我见过的以前的答案使用过:
- 一个大批环境来对齐列(在 alignat 命令中将方程式居中),但这种情况下行之间的距离太近,无法通过调整阵列行的间距来分开,因为这也会影响矩阵环境。
- 一个对齐环境 (在 alignat 环境中居中列?)但这会使居中列成为文本环境。我需要一个数学环境。
答案1
环境alignat
在这里运行得很好。是什么让你相信它在文本模式下会旋转中心列?请注意矩阵环境所需的带星号的版本mathtools
。我借此机会使用\mathllap
此包定义的命令对齐了右方矩阵的右括号:
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{alignat*}{2}
\begin{bmatrix*}[r]
2 & 2 & \vline & 3 \\
1 & -3 & \vline & 2
\end{bmatrix*} & \xrightarrow{-R_2 \to R_1} && \begin{bmatrix*}[r]
1 & 5 & \vline & 1 \\
1 & -3 & \vline & 2
\end{bmatrix*} \\[1ex]
\begin{bmatrix*}[r]
1 & 5 & \vline & 1 \\
1 & -3 & \vline & 2
\end{bmatrix*} & \xrightarrow{-R_2 \to R_1} && \begin{bmatrix*}[r]
0 & 8 & \vline & \mathllap{-}1 \\
1 & -3 & \vline & 2
\end{bmatrix*}
\end{alignat*}
\end{document}
要将\rightarrow
s 置于其列的中心,我们可以使用eqparbox
包。我定义了一个\eqmathbox
命令,它以数学模式输入其内容并使用标签系统。所有共享相同标签的框都具有其内容的宽度,并位于其框的中心:
\documentclass{article}
\usepackage{mathtools}
\usepackage{eqparbox}
\newcommand{\eqmathbox}[2][M]{\eqmakebox[#1]{$\displaystyle#2$}}
\begin{document}
\begin{alignat*}{2}
\begin{bmatrix*}[r]
2 & 2 & \vline & 3 \\
1 & -3 & \vline & 2
\end{bmatrix*} & \eqmathbox{\xrightarrow{-R₂ + R_1\to R₁}} && \begin{bmatrix*}[r]
1 & 5 & \vline & 1 \\
1 & -3 & \vline & 2
\end{bmatrix*} \\[1ex]
\begin{bmatrix*}[r]
1 & 5 & \vline & 1 \\
1 & -3 & \vline & 2
\end{bmatrix*} & \eqmathbox{\xrightarrow{-R₂ \to R₁}} && \begin{bmatrix*}[r]
0 & 8 & \vline & \mathllap{-}1 \\
1 & -3 & \vline & 2
\end{bmatrix*}
\end{alignat*}
\end{document}