我无法调整行运算符号和底部两个矩阵之间的间距,这种尴尬的间距。我想将底部两个矩阵对齐到左侧(行运算符号的右侧)。我尝试使用 \setlength\mathindent{0},但找不到解决方法。这是图片和完整代码
\documentclass{article}
%\usepackage{amsmath}
\usepackage{array}
\newenvironment{rowequmat}[1]{\left(\array{@{}#1@{}}}{\endarray\right)}
\newenvironment{redmatrix}
{\left(\array{@{}rrr|c@{}}}
{\endarray\right)}
\newenvironment{ropmatrix}
{\array{@{}c@{}}}
{\endarray}
\newcommand\opone[2]{\xrightarrow{(#1)\times r_#2}}
\newcommand\optwo[3]{\xrightarrow{r_#1{}+{} #2r_#3}}
\usepackage[fleqn]{amsmath}
\setlength\mathindent{0pt}
\begin{document}
\begin{alignat*}{5}
&
\huge{
\begin{redmatrix}
-2 & -1 & 1 & c_1 - a\\
-1 & -2 & -1 & c_2 - a \\
-1 & -1 & -2 & c_3 - a \\
\end{redmatrix}} \\[\parskip]
&
\setlength\mathindent{0pt}
\huge{
\begin{ropmatrix}
\optwo{2}{}{3}
\end{ropmatrix}}
&
\huge{
\begin{redmatrix}
-2 & -1 & -1 & c_1 - a \\
0 & -1 & 1 & c_2 - c_3 \\
0 & -1 & -3 & 2c_3 - c_1 -a \\
\end{redmatrix}}\\\\[\parskip]
\\
&
\huge{
\begin{ropmatrix}
\opone{1/3}{2}
\end{ropmatrix}}
&
\huge{
\begin{redmatrix}
-2 & -1 & -1 & c_1 - a \\
0 & -1 & 1 & c_2 - c_3 \\
0 & 0 & 4 & 3c_3 - c_2 - c_1 -a \\
\end{redmatrix}}\\
\\
\end{alignat*}
\end{document}
任何帮助都将不胜感激。
答案1
\documentclass{article}
\usepackage{array}
\newenvironment{rowequmat}[1]{\left(\array{@{}#1@{}}}{\endarray\right)}
\newenvironment{redmatrix}
{\left(\array{@{}rrr|c@{}}}
{\endarray\right)}
% \newenvironment{ropmatrix}
% {\array{@{}c@{}}}
% {\endarray}
\newcommand\opone[2]{\xrightarrow{(#1)\times r_#2}}
\newcommand\optwo[3]{\xrightarrow{r_#1{}+{} #2r_#3}}
\usepackage[fleqn]{amsmath}
\usepackage{mathtools}
\setlength\mathindent{0pt}
\begin{document}
I'm wondering if you are looking for
\begin{align*}
\MoveEqLeft[5]{
\begin{redmatrix}
-2 & -1 & 1 & c_1 - a\\
-1 & -2 & -1 & c_2 - a \\
-1 & -1 & -2 & c_3 - a \\
\end{redmatrix} }\\
\optwo{2}{}{3}
&
\begin{redmatrix}
-2 & -1 & -1 & c_1 - a \\
0 & -1 & 1 & c_2 - c_3 \\
0 & -1 & -3 & 2c_3 - c_1 -a \\
\end{redmatrix}
\\
\opone{1/3}{2}
&
\begin{redmatrix}
-2 & -1 & -1 & c_1 - a \\
0 & -1 & 1 & c_2 - c_3 \\
0 & 0 & 4 & 3c_3 - c_2 - c_1 -a \\
\end{redmatrix}
\end{align*}
or
\begin{align*}
&\begin{redmatrix}
-2 & -1 & 1 & c_1 - a\\
-1 & -2 & -1 & c_2 - a \\
-1 & -1 & -2 & c_3 - a \\
\end{redmatrix} \\
\optwo{2}{}{3}
&
\begin{redmatrix}
-2 & -1 & -1 & c_1 - a \\
0 & -1 & 1 & c_2 - c_3 \\
0 & -1 & -3 & 2c_3 - c_1 -a \\
\end{redmatrix}
\\
\opone{1/3}{2}
&
\begin{redmatrix}
-2 & -1 & -1 & c_1 - a \\
0 & -1 & 1 & c_2 - c_3 \\
0 & 0 & 4 & 3c_3 - c_2 - c_1 -a \\
\end{redmatrix}
\end{align*}
\end{document}
答案2
尽管我不明白你为什么需要\huge
字体大小,但我建议使用其中一种布局,使用简化的代码和等长箭头(使用eqparbox
包)。请注意,\huge
这不是一个接受 ann 参数的命令,而是一个单纯的开关,并且矩阵不以 a 结尾\\
(这会添加一个空行)。
\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage[fleqn]{mathtools}
\usepackage{eqparbox}
\usepackage{array}
\newenvironment{rowequmat}[1]{\left(\array{@{}#1@{}}}{\endarray\right)}
\newenvironment{redmatrix}
{\left(\array{@{}rrr|c@{}}}
{\endarray\right)}
\newenvironment{ropmatrix}
{\array{@{}c@{}}}
{\endarray}
\newcommand\opone[2]{\xrightarrow{\eqmakebox[op]{$\, (#1)\times r_#2 $\,}}}
\newcommand\optwo[3]{\xrightarrow{\eqmakebox[op]{\,$ r_#1{}+{} #2r_#3 $\,}}}
\setlength\mathindent{0pt}
\begin{document}
{\huge
\begin{align*}
& \begin{redmatrix}
-2 & -1 & 1 & c_1 - a\\
-1 & -2 & -1 & c_2 - a \\
-1 & -1 & -2 & c_3 - a
\end{redmatrix} \\[0.7ex]
\optwo{2}{}{3}
&
\begin{redmatrix}
-2 & -1 & -1 & c_1 - a \\
0 & -1 & 1 & c_2 - c_3 \\
0 & -1 & -3 & 2c_3 - c_1 -a
\end{redmatrix}\\[0.7ex]
\opone{1/3}{2}
&
\begin{redmatrix}
-2 & -1 & -1 & c_1 - a \\
0 & -1 & 1 & c_2 - c_3 \\
0 & 0 & 4 & 3c_3 - c_2 - c_1 -a
\end{redmatrix}
\end{align*}}
{\huge
\begin{flalign*}
& \mathrlap{\begin{redmatrix}
-2 & -1 & 1 & c_1 - a\\
-1 & -2 & -1 & c_2 - a \\
-1 & -1 & -2 & c_3 - a
\end{redmatrix}} & & \\[0.7ex]
& \optwo{2}{}{3}
\begin{redmatrix}
-2 & -1 & -1 & c_1 - a \\
0 & -1 & 1 & c_2 - c_3 \\
0 & -1 & -3 & 2c_3 - c_1 -a
\end{redmatrix}
\\[0.7ex]
& \opone{1/3}{2}
\begin{redmatrix}
-2 & -1 & -1 & c_1 - a \\
0 & -1 & 1 & c_2 - c_3 \\
0 & 0 & 4 & 3c_3 - c_2 - c_1 -a
\end{redmatrix}
\end{flalign*}}
\end{document}