
У меня есть несколько gauss
матриц в align*
среде, например, эта:
\documentclass{article}
\usepackage{amsmath}
\usepackage{gauss}
\newcommand{\BAR}{%
\hspace{-\arraycolsep}%
\strut\vrule % the `\vrule` is as high and deep as a strut
\hspace{-\arraycolsep}%
}
\begin{document}
\begin{align*}
= &\begin{gmatrix}[p]
1 & 0 & 1 & \BAR & 5 \\
0 & 1 & - 2 & \BAR & -2 \\
0 & 0 & 1 & \BAR & 3 \\
0 & 0 & 3 & \BAR & 9
\rowops
\add[-2]{1}{0}
\add[-4]{1}{2}
\add[-3]{1}{3}
\end{gmatrix} \\
= &\begin{gmatrix}[p]
1 & 0 & 0 & \BAR & 2 \\
0 & 1 & 0 & \BAR & 4 \\
0 & 0 & 1 & \BAR & 3 \\
0 & 0 & 0 & \BAR & 0
\rowops
\end{gmatrix}
\end{align*}
\end{document}
Матрицы выровнены, но я также хочу сохранить ширину столбцов одинаковой для каждой матрицы. Как я смогу это сделать?
решение1
Я сделал макрос \addwd[]{}
, который можно разместить в любой строке столбца, который нужно расширить. Он делает обязательный аргумент шириной необязательного аргумента. По умолчанию необязательный аргумент имеет ширину "-0".
(Обратите внимание, что я изменил «-2» в конце второй строки на «-25», чтобы продемонстрировать метод для столбцов большей ширины)
\documentclass{article}
\usepackage{amsmath}
\usepackage{gauss}
\usepackage{calc}
\newcommand{\BAR}{%
\hspace{-\arraycolsep}%
\strut\vrule % the `\vrule` is as high and deep as a strut
\hspace{-\arraycolsep}%
}
\newcommand\addwd[2][-0]{\makebox[\widthof{$#1$}]{$#2$}}
\begin{document}
\begin{align*}
= &\begin{gmatrix}[p]
1 & 0 & 1 & \BAR & 5 \\
0 & 1 & - 2 & \BAR & -25 \\
0 & 0 & 1 & \BAR & 3 \\
0 & 0 & 3 & \BAR & 9
\rowops
\add[-2]{1}{0}
\add[-4]{1}{2}
\add[-3]{1}{3}
\end{gmatrix} \\
= &\begin{gmatrix}[p]
1 & 0 & \addwd{0} & \BAR & \addwd[-25]{2} \\
0 & 1 & 0 & \BAR & 4 \\
0 & 0 & 1 & \BAR & 3 \\
0 & 0 & 0 & \BAR & 0
\rowops
\end{gmatrix}
\end{align*}
\end{document}