矩阵与右侧注释对齐

矩阵与右侧注释对齐

我在将矩阵与右侧的注释对齐时遇到问题。我需要注释来显示我使用的操作。

为了展示操作,我首先使用了 gauss 包。不幸的是,矩阵看起来不太好。经过几个小时的尝试修复,我找到了 nicematrix 包,我猜它可以提供正确的对齐。

有关代码和示例请参见下文。

问题:

  1. 使用 nicematrix 包时,如何插入像用 gauss 包开发的第一个矩阵那样的箭头?
  2. 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}

高斯包

nicematrix 包

答案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

为了获得方程的最终形状,您需要(至少)编译文档两次。

相关内容