2010-05-07 4 views
11

Ho una matrice 3x12 mi piacerebbe ingresso nel mio LaTeX (con amsmath) documento, ma LaTeX sembra soffocare quando la matrice diventa più grande di 3x10:composizione tipografica una grande matrice 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} 

L'errore : La scheda di allineamento supplementare è stata modificata in \ cr. mi dice che ho più & di quanto l'ambiente bmatrix possa gestire. C'è un modo corretto per gestire questo? Sembra anche che l'allineamento per 1 e 1 sia diverso, è anche quello previsto per lo bmatrix?

risposta

19

Dalla amsmath documentazione (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.)

cioè bmatrix default ad un massimo 10 colonna.

Una nota aggiunge

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

Meraviglioso! Questo era esattamente quello che stavo cercando, non mi ero reso conto che si poteva cambiare il massimo della colonna. Per quanto riguarda il corretto allineamento, ho trovato una soluzione alternativa che consente ancora il comando bmatrix: lo posterò nella mia soluzione. – Hooked

+0

Ho avuto esattamente lo stesso problema, bella domanda! Stavo calcolando le tabelle dei caratteri nella teoria delle rappresentazioni e anche con gruppi abbastanza piccoli si finisce facilmente con le matrici di grandi dimensioni. Grazie per aver postato/risposto a questa domanda! –

1

La risposta di Scott è corretta, ma ho imparato da voi possibile ignorare l'allineamento. Tratto da 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 

Ora consente il comando:

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

per avere destra-allineamento!

+0

Credo che puoi anche usare l'ambiente 'bmatrix *' dal pacchetto 'mathtools' per ottenere la stessa cosa, almeno secondo il wikibook: http://en.wikibooks.org/wiki/LaTeX/Mathematics# Matrices_and_arrays –