Typesetting una gran matriz en LaTeX
Pregunta
Tengo una matriz de 3x12 Me gustaría entrada en mi látex (con amsmath) documento LaTeX, pero parece ahogarse cuando la matriz se hace más grande que 3x10:
\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}
El error: lengüeta de alineación extra se ha cambiado a \ cr me dice que tengo más &
que el ambiente bmatrix
puede manejar.. ¿Hay una manera correcta de manejar esto? También parece que la alineación para el 1 de -1 y los de son diferentes, es que también se espera de la bmatrix
?
Solución
A partir de la documentación amsmath
(texdoc amsmath
):
El paquete proporciona algunas amsmath ambientes para matrices más allá de la ambiente matriz básica de látex. los pmatrix, bmatrix, bmatrix, y vmatrix Vmatrix tienen (respectivamente) (), [ ], {}, | |, Y ? ? delimitadores incorporados. Por nombrar coherencia existe una matriz ambiente sans delimitadores. Esto es no completamente redundante con la matriz ambiente; los entornos de matriz todo el uso más económico horizontal espaciamiento que el lugar pródigo espaciamiento del medio ambiente array. Además, a diferencia del entorno array, usted no tiene que dar a la columna especificaciones para cualquiera de la matriz ambientes; por defecto que puede tener hasta 10 columnas centradas. (Si tu necesidad izquierda o derecha en una alineación la columna o en otros formatos especiales que debe recurrir a la matriz.)
es decir. bmatrix
por defecto a un máximo de 10 columnas.
Una nota al pie añade
Más precisamente: El número máximo de columnas en una matriz se determina por los MaxMatrixCols contador (normales valor = 10), que se puede cambiar si el uso necesario de setcounter LATEX \ o \ Addtocounter comandos.
Otros consejos
La respuesta de Scott es correcta, pero ya he aprendido que puede anular la alineación. Tomado de http://texblog.net/latex-archive/maths / matriz-align-izquierda-derecha /
\makeatletter
\renewcommand*\env@matrix[1][c]{\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{*\c@MaxMatrixCols #1}}
\makeatother
Ahora permite que el comando:
\begin{bmatrix}[r] ....
a tiene derecho alineación!