\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb}
\makeatletter
\renewcommand*\env@matrix[1][*\c@MaxMatrixCols c]{%
\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{#1}}
\makeatother
\begin{document}
$\begin{bmatrix}[cccc]
1&-1&0&2\\
0&1&-4&-2\\
0&0&1&\frac{3}{5}\\[3pt]
0&0&0&-\frac{22}{5}
\end{bmatrix}$
\end{document}
我想在矩阵下方添加一条注释行,如下所示:
答案1
我不太喜欢重新定义bmatrix
,但如果你愿意的话,你可以这样做。
\documentclass[a4paper]{article}
\usepackage{amsmath,amssymb}
\makeatletter
\newenvironment{bmatrix*}[1]
{%
\left[%
\let\@ifnextchar\new@ifnextchar
\array{@{}#1@{}}
}
{\endarray\right]}
\makeatother
\begin{document}
$\underset{\text{(row-echelon form)}}{%
\begin{bmatrix*}{ccc|c}
1&-1&0&2\\
0&1&-4&-2\\
0&0&1&\frac{3}{5}\\[3pt]
0&0&0&-\frac{22}{5}
\end{bmatrix*}%
}$
\end{document}
答案2
\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb}
\makeatletter
\renewcommand*\env@matrix[1][*\c@MaxMatrixCols c]{%
\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{#1}}
\makeatother
\begin{document}
${\begin{bmatrix}[cccc]
1&-1&0&2\\
0&1&-4&-2\\
0&0&1&\frac{3}{5}\\[3pt]
0&0&0&-\frac{22}{5}
\end{bmatrix} \atop \text{\normalsize(row-echelon form)}}$
\end{document}
答案3
这是使用包的解决方案spalign
。有不同的命令可以增加行和垂直线之间的空间,就像您的图像一样。对齐方式是向右对齐r
。请参阅\spalignaugmatn[r]
。
\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb}
\usepackage{spalign}
\renewcommand*{\arraystretch}{1.1}
\begin{document}
\[\spaligndelims{[}{]}\underset{\textup{(row-echelon form)}}{\spalignaugmatn[r]{1}{1 -1 0 2; 0 1 -4 -2; 0 0 1 \frac{3}{5}; 0 0 0 -\frac{22}{5}}} \]
\end{document}