在LaTeX中排版大型矩阵

Hoo*_*ked 12 latex matrix amsmath

我有一个3x12矩阵,我想输入我的LaTeX(带有amsmath)文档,但是当矩阵变得大于3x10时,LaTeX似乎会窒息:

\begin{equation}
\textbf{e} = 
\begin{bmatrix} 
1&1&1&1&0&0&0&0&-1&-1&-1&-1\\
1&-1&0&0&1&1&-1&-1&0&0&1&-1\\
0&0&1&-1&1&-1&1&-1&1&-1&0&0
\end{bmatrix}
\end{equation}
Run Code Online (Sandbox Code Playgroud)

错误:额外对齐选项卡已更改为\ cr.告诉我,我有更多&bmatrix环境可以处理.有没有正确的方法来处理这个?似乎1和-1的对齐方式也不同,是否也预期了bmatrix

Sco*_*les 21

amsmath文档(texdoc amsmath):

amsmath包为LATEX的基本数组环境之外的矩阵提供了一些环境.pmatrix,bmatrix,Bmatrix,vmatrix和Vmatrix分别具有(),[],{},| |,和∥∥分隔符.为了命名一致性,矩阵环境没有分隔符.这对阵列环境来说并不完全是多余的; 矩阵环境都使用比阵列环境的相当浪费的间隔更经济的水平间距.此外,与阵列环境不同,您不必为任何矩阵环境提供列规范; 默认情况下,您最多可以有10个居中的列.(如果您需要在列或其他特殊格式中进行左对齐或右对齐,则必须使用数组.)

bmatrix默认为最多10列.

一个脚注补充道

更准确地说:矩阵中的最大列数由计数器MaxMatrixCols(正常值= 10)确定,如果需要,可以使用LATEX的\ setcounter或\ addtocounter命令更改.


小智 6

如果您来到此页面寻找确切的命令(感谢 Scott Wales 的回答),您希望在序言中包含以下内容:

\setcounter{MaxMatrixCols}{20}
Run Code Online (Sandbox Code Playgroud)

您可以在其中替换20为所需的最大列数。