我在将矩阵与右侧的注释对齐时遇到问题。我需要注释来显示我使用的操作。
为了展示操作,我首先使用了 gauss 包。不幸的是,矩阵看起来不太好。经过几个小时的尝试修复,我找到了 nicematrix 包,我猜它可以提供正确的对齐。
有关代码和示例请参见下文。
问题:
- 使用 nicematrix 包时,如何插入像用 gauss 包开发的第一个矩阵那样的箭头?
- nicematrix 包中有一个名为“columnns-width”的选项,您可以在 NiceMatrixBlock 中使用它。当我尝试翻译代码时,我收到一条错误消息,指出“NiceMatrixBlock 未定义”。如果没有 NiceMatrixBlock(只有 vNiceArrayC),我就不会收到错误。我将 Texpad 与 pdflatex 和 MacTex 一起使用。
有没有比 nicematrix 包更好的方法来解决我的问题(带有注释的良好对齐矩阵)?
非常感谢!
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{mathtools}
\usepackage{nicematrix}
\usepackage{gauss}
\begin{document}
gauss package
\begin{align*}
|A| &=
\begin{gmatrix}[v]
0 & 0 & -5 & 4 \\
0 & -1 & 0 & 4 \\
-4 & -3 & -5 & 3 \\
1 & 1 & 0 & -1
\rowops
\swap{0}{3}
\end{gmatrix}
\\ \\
|A| &= (-1) \cdot
\begin{gmatrix}[v]
1 & 1 & 0 & -1 \\
0 & -1 & 0 & 4 \\
-4 & -3 & - 5 & 3 \\
0 & 0 & -5 & 4
\rowops
\mult{2}{+ 4 \cdot \text{I}}
\end{gmatrix}
\\ \\
|A| &= (-1) \cdot
\begin{gmatrix}[v]
1 & 1 & 0 & -1 \\
0 & -1 & 0 & 4 \\
0 & 1 & -5 & -1 \\
0 & 0 & -5 & 4
\rowops
\mult{2}{+\text{II}}
\end{gmatrix}
\\ \\
|A| &= (-1) \cdot
\begin{gmatrix}[v]
1 & 1 & 0 & -1 \\
0 & -1 & 0 & 4 \\
0 & 0 & -5 & 3 \\
0 & 0 & -5 & 4
\rowops
\mult{3}{- \text{III}}
\end{gmatrix}
\\ \\
|A| &= (-1) \cdot
\begin{gmatrix}[v]
1 & 1 & 0 & -1 \\
0 & -1 & 0 & 4 \\
0 & 0 & -5 & 3 \\
0 & 0 & 0 & 1
\end{gmatrix}
\\ \\
|A| &= (-1) \cdot [1\cdot(-1)\cdot(-5)\cdot1]
\\ \\
|A| &= (-1) \cdot 5
\\ \\
|A| &= -5
\end{align*}
\newpage
nicematrix package
\begin{NiceMatrixBlock}[auto-columns-width]
\begin{align*}
|A| & =
\begin{vNiceArrayC}{CCCC}
0 & 0 & -5 & 4 & \text{change with IV}\\
0 & -1 & 0 & 4 \\
-4 & -3 & -5 & 3 \\
1 & 1 & 0 & -1 & \text{change with I}
\end{vNiceArrayC}
\\ \\
|A| &= (-1) \cdot
\begin{vNiceArrayC}{CCCC}
1 & 1 & 0 & -1 \\
0 & -1 & 0 & 4 \\
-4 & -3 & - 5 & 3 & |+4\cdot \text{I}\\
0 & 0 & -5 & 4
\end{vNiceArrayC}
\\ \\
|A| &= (-1) \cdot
\begin{vNiceArrayC}{CCCC}
1 & 1 & 0 & -1 \\
0 & -1 & 0 & 4 \\
0 & 1 & -5 & -1 & |+\text{II}\\
0 & 0 & -5 & 4
\end{vNiceArrayC}
\\ \\
|A| &= (-1) \cdot
\begin{vNiceArrayC}{CCCC}
1 & 1 & 0 & -1 \\
0 & -1 & 0 & 4 \\
0 & 0 & -5 & 3 \\
0 & 0 & -5 & 4 & | - \text{III}
\end{vNiceArrayC}
\\ \\
|A| &= (-1) \cdot
\begin{vNiceArrayC}{CCCC}
1 & 1 & 0 & -1 \\
0 & -1 & 0 & 4 \\
0 & 0 & -5 & 3 \\
0 & 0 & 0 & 1
\end{vNiceArrayC}
\\ \\
|A| &= (-1) \cdot [1\cdot(-1)\cdot(-5)\cdot1]
\\ \\
|A| &= (-1) \cdot 5
\\ \\
|A| &= -5
\end{align*}
\end{NiceMatrixBlock}
\end{document}
答案1
和nicematrix
:
\documentclass{scrartcl}
\usepackage{mathtools}
\usepackage{nicematrix}
\begin{document}
\[\setlength\arraycolsep{2pt}
\begin{aligned}
|A| & =
\begin{vNiceArrayC}{RRRR}[name=m]
0 & 0 & -5 & 4 & \vphantom{X} \\
0 & -1 & 0 & 4 \\
-4 & -3 & -5 & 3 \\
1 & 1 & 0 & -1 & \vphantom{X}
\end{vNiceArrayC} \\
& = (-1){\cdot}
\begin{vNiceArrayC}{CCCC}[columns-width=1.5em] % <--- for comparison is C columns are select
1 & 1 & 0 & -1 \\
0 & -1 & 0 & 4 \\
-4 & -3 & -5 & 3 & |+4{\cdot }\mathrm{I}\\
0 & 0 & -5 & 4
\end{vNiceArrayC} \\
& = (-1){\cdot}
\begin{vNiceArrayC}{RRRR}[columns-width=1.5em]
1 & 1 & 0 & -1 \\
0 & -1 & 0 & 4 \\
0 & 1 & -5 & -1 & |+\mathrm{II}\\
0 & 0 & -5 & 4
\end{vNiceArrayC} \\
& = (-1){\cdot}
\begin{vNiceArrayC}{RRRR}[columns-width=1.5em]
1 & 1 & 0 & -1 \\
0 & -1 & 0 & 4 \\
0 & 0 & -5 & 3 \\
0 & 0 & -5 & 4 & | - \mathrm{III}
\end{vNiceArrayC} \\
& = (-1){\cdot}
\begin{vNiceArrayC}{RRRR}[columns-width=1.5em]
1 & 1 & 0 & -1 \\
0 & -1 & 0 & 4 \\
0 & 0 & -5 & 3 \\
0 & 0 & 0 & 1
\end{vNiceArrayC} \\
& = (-1){\cdot} [1{\cdot}(-1){\cdot}(-5){\cdot}1] \\
& = (-1){\cdot}5 \\
|A| &= -5
\end{aligned}
\]
\begin{tikzpicture}[remember picture, overlay,name prefix =m-]
\draw[<->] (1-5) -- ++ (4mm,0) |- (4-5);
\end{tikzpicture}
\end{document}
为了进行比较,vNiceArrayC
我使用R
列说明符(第二个矩阵除外)。如果您更喜欢以列为中心的数字(因为它们在第二个矩阵中),只需在其他矩阵中替换R
即可C
。
为了获得方程的最终形状,您需要(至少)编译文档两次。