软件包 amsmath:方程结构嵌套错误;\n(amsmath) 尝试使用“对齐”进行恢复

软件包 amsmath:方程结构嵌套错误;\n(amsmath) 尝试使用“对齐”进行恢复
\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
\usepackage{mathtools}
\usepackage{amsfonts}

\usepackage{indentfirst}



\title{Test}
\author{Nguyen Van Manh \\ HE170552}
\date{}

\begin{document}
\maketitle
\section{Ex1}

\textbf{A1}
The augmented matrix of the system:
\[\left[\begin{alignat*}
    1&2&-2&7\\
    -2&1&-1&1\\
    0&3&a&b
\end{alignat*}\right]\]
\[\displaystyle\begin{bmatrix}[cc|c]
    1&2&3\\
    2&-9&17
\end{bmatrix}\]
\end{document}

我收到错误:包 amsmath:方程结构嵌套错误;\n(amsmath) 尝试使用“aligned”恢复。

是什么原因造成的?如何解决?

我被审判了:

\[\left[\begin{alignedat}{4}
    &1&&2&&-2&&7\\
    &-2&&1&&-1&&1\\
    &0&&3&&a&&b
\end{alignedat}\right]\tag{1}\]

我目前没有收到上述错误,但看起来它没有对齐

答案1

在行中

\[\left[\begin{alignat*}

并启动独立显示数学模式。这不会顺利进行;因此出现错误消息\[\begin{alignat*}

我认为您需要做的是用 进行替换\begin{alignat*}\begin{array}{rrrr}然后将几行替换\end{alignat*}\end{array}

鉴于您已经重新定义了低级\env@matrix宏,您也可以分别将\left[\begin{alignat*}和替换\end{alignat*}\right]\begin{bmatrix}[rrrr]\end{bmatrix}


附录为了解决原始作者的主张

\[\left[\begin{alignedat}{4}
    &1&&2&&-2&&7\\
    &-2&&1&&-1&&1\\
    &0&&3&&a&&b
\end{alignedat}\right]\tag{1}\]

应该“有效”。但实际上不行——列对齐效果很差。工作是

\[\left[\begin{alignedat}{5}
    1&\quad&&2&\quad&&-2&\quad&&7\\
    -2&&&1&&&-1&&&1\\
    0&&&3&&&a&&&b
\end{alignedat}\right]\tag{1}\]

然而,我不认为任何人都应该更喜欢这个

\[\begin{bmatrix}[rrrr]
    1&2&-2&7\\
    -2&1&-1&1\\
    0&3&a&b
\end{bmatrix}\]

即我之前的解决方案。

相关内容