2010-05-07 54 views
11

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:una matriz grande en 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} 

El error : La pestaña de alineación adicional se ha cambiado a \ cr. me dice que tengo más & que el entorno bmatrix puede manejar. ¿Hay una forma adecuada de manejar esto? También parece que la alineación para los 1 y los -1 es diferente, ¿es eso también esperado del bmatrix?

Respuesta

19

De la documentación amsmath (texdoc amsmath):

The amsmath package provides some environments for matrices beyond the basic array environment of LATEX. The pmatrix, bmatrix, Bmatrix, vmatrix and Vmatrix have (respectively) (), [ ], { }, | |, and ∥ ∥ delimiters built in. For naming consistency there is a matrix environment sans delimiters. This is not entirely redundant with the array environment; the matrix environments all use more economical horizontal spacing than the rather prodigal spacing of the array environment. Also, unlike the array environment, you don’t have to give column specifications for any of the matrix environments; by default you can have up to 10 centered columns. (If you need left or right alignment in a column or other special formats you must resort to array.)

es decir bmatrix por defecto a un máximo de 10 columnas.

añade una nota al pie

More precisely: The maximum number of columns in a matrix is determined by the counter MaxMatrixCols (normal value = 10), which you can change if necessary using LATEX’s \setcounter or \addtocounter commands.

+0

¡Maravilloso! Esto era exactamente lo que estaba buscando, no me di cuenta de que se podía cambiar el máximo de la columna. En cuanto a la alineación a la derecha, desde entonces he encontrado una buena solución que todavía permite el comando bmatrix: lo publicaré en mi propia solución. – Hooked

+0

Tenía exactamente el mismo problema, ¡buena pregunta! Estaba computando tablas de caracteres en teoría de la representación e incluso con grupos bastante pequeños terminas fácilmente con matrices grandes. ¡Gracias por publicar/responder esta pregunta! –

1

La respuesta de Scott es correcta, pero ya he aprendido que puede anular la alineación. Tomado de http://texblog.net/latex-archive/maths/matrix-align-left-right/

\makeatletter 
\renewcommand*\[email protected][1][c]{\hskip -\arraycolsep 
    \let\@ifnextchar\[email protected] 
    \array{*\[email protected] #1}} 
\makeatother 

Ahora se permite que el comando:

\begin{bmatrix}[r] .... 

que tienen derecho en la alineación!

+0

Creo que también puede usar el entorno 'bmatrix *' del paquete 'mathtools' para lograr lo mismo, al menos según el wikibook: http://en.wikibooks.org/wiki/LaTeX/Mathematics# Matrices_y_arrays –

Cuestiones relacionadas