Typesetting una grande matrice in lattice
Domanda
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:
\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: linguetta di allineamento supplementare è stata modificata in \ cr mi dice che ho più &
rispetto dell'ambiente bmatrix
in grado di gestire.. Esiste un modo corretto di gestire questa situazione? Sembra anche che l'allineamento per 1 del ei -1 di sono diversi, è che anche previsto del bmatrix
?
Soluzione
Dalla documentazione amsmath
(texdoc amsmath
):
Il pacchetto amsmath fornisce un certo ambienti per matrici di là del ambiente matrice di base del lattice. Il pmatrix, bmatrix, bmatrix, vmatrix e Vmatrix ha (rispettivamente) (), [ ], {}, | | E ? ? delimitatori costruiti in. Per denominazione coerenza v'è una matrice sans ambiente delimitatori. Questo è non del tutto ridondante con l'array ambiente; gli ambienti per matrici tutto l'uso più economico orizzontale spaziatura rispetto al piuttosto prodigo spaziatura dell'ambiente matrice. Inoltre, a differenza della matrice ambiente, non c'è bisogno di dare colonna Specifiche per qualsiasi della matrice ambienti; Per impostazione predefinita, si può avere fino a 10 colonne centrate. (Se tu necessità di sinistra o destra in un allineamento colonna o altri formati speciali che si deve ricorrere ad array.)
vale a dire. default bmatrix
ad un massimo 10 colonne.
Una nota aggiunge
Più precisamente: il numero massimo di colonne di una matrice è determinata dalla le MaxMatrixCols contatore (normali value = 10), che si può cambiare se usando necessaria di setcounter LATEX \ o \ Addtocounter comandi.
Altri suggerimenti
La risposta di Scott è corretta, ma ho imparato da voi possono sovrascrivere l'allineamento. Tratto da http://texblog.net/latex-archive/maths / matrice allineare-sinistra-destra /
\makeatletter
\renewcommand*\env@matrix[1][c]{\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{*\c@MaxMatrixCols #1}}
\makeatother
Ora consente il comando:
\begin{bmatrix}[r] ....
per avere destra-allineamento!