我正在尝试制作一个包含以下文本的 6x6 矩阵:
\begin{gather}
\dfrac{d}{dt}
\begin{bmatrix}
y \\ \dot{y} \\ a_{M} \\ \lambda_{T} \\ \lambda_{D} \\ a_{T}
\end{bmatrix}
=
\begin{bmatrix}
0 && 1 && 0 && 0 && 0 && 0 \\
0 && 1 && 0 && 0 && 0 && 0 \\
0 && 1 && 0 && 0 && 0 && 0 \\
0 && 1 && 0 && 0 && 0 && 0 \\
0 && 1 && 0 && 0 && 0 && 0 \\
0 && 1 && 0 && 0 && 0 && 0 \\
\end{bmatrix}
\end{gather}
我收到以下错误:
额外的对齐标签已更改为 \cr。\endtempplace \end{gather}。
奇怪的是,当我检查 5x5 的相同代码时,它起作用了。
谢谢。
答案1
问题是,在类似结构中默认仅支持最多十列matrix
,但可以使用以下方法增加列数
\setcounter{MaxMatrixCols}{20}
(二十列就足够了)。
但是,如果您希望列之间间隔更大,请正确设置,而不是通过添加虚拟列。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\frac{d}{dt}
\begin{bmatrix}
y \\ \dot{y} \\ a_{M} \\ \lambda_{T} \\ \lambda_{D} \\ a_{T}
\end{bmatrix}
=
\setlength{\arraycolsep}{2\arraycolsep}% this change is local
\begin{bmatrix}
0 & 1 & 0 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 & 0 & 0 \\
\end{bmatrix}
\end{equation}
\begin{equation}
\frac{d}{dt}
\begin{bmatrix}
y \\ \dot{y} \\ a_{M} \\ \lambda_{T} \\ \lambda_{D} \\ a_{T}
\end{bmatrix}
=
\begin{bmatrix}
0 & 1 & 0 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 & 0 & 0 \\
\end{bmatrix}
\end{equation}
\end{document}
我更喜欢后者。
答案2
这里的输入实际上不是 6x6 矩阵,而是 6x11 矩阵(数字 og &
+1。基本上,由于 ,您有很多空白列&&
。
默认情况下bmatrix
,类似的 envs 最多有 10 列(由计数器控制MaxMatrixCols
)。因此,您会收到错误,因为列数多于矩阵 env 定义的列数。
简单的解决方案被&&
取代&
。
按照您在此处写的方式,5x5 矩阵与 10x5 相同,因此在 10 列限制范围内。
正如 David 在评论中提到的那样,equation(*)
对于单行程序,它具有其他环境所没有的内置节省空间功能。