Набор большой матрицы в LaTeX

у меня есть матрица 3x12, которую я хотел бы ввести в свой документ LaTeX (с amsmath), но LaTeX, похоже, задыхается, когда матрица становится больше 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}

ошибки: вкладка дополнительное выравнивание изменена на cr. говорит мне, что у меня больше & чем bmatrix окружающая среда может отрегулировать. Есть ли правильный способ справиться с этим? Также кажется, что выравнивание для 1 и -1 отличается, это также ожидается от bmatrix?

2 ответов


С amsmath документация (texdoc amsmath):

пакет amsmath предоставляет некоторые среды для матриц за пределами базовая среда массива LATEX. Этот pmatrix, bmatrix, Bmatrix, vmatrix и Vmatrix есть (соответственно) ( ), [ ], { }, | |, и ∥ delim встроенные разделители. Для именования последовательность существует матрица окружающая среда без разделителей. Это не совсем избыточно с массивом среды; матрицы окружающая среда все используют более экономичный горизонтальный расстояние, чем довольно блудный интервал среды массива. Кроме того, в отличие от среды array, вы не должны давать колонку спецификации для любой матрицы среды; по умолчанию вы можете иметь до 10 по центру колонны. (Если ты нужно левое или правое выравнивание в колонки или другие специальные форматы должен прибегнуть к массиву.)

то есть bmatrix по умолчанию 10 столбцов максимальный.

сноске добавляет

точнее: максимальное количество столбцы в матрице определяются счетчику MaxMatrixCols (нормальный значение = 10), которое можно изменить, если необходимо использовать \setcounter LATEX или \addtocounter команды.


ответ Скотта правильный, но с тех пор я узнал вас can переопределить выравнивания. Взято из http://texblog.net/latex-archive/maths/matrix-align-left-right/

\makeatletter
\renewcommand*\env@matrix[1][c]{\hskip -\arraycolsep
  \let\@ifnextchar\new@ifnextchar
  \array{*\c@MaxMatrixCols #1}}
\makeatother

теперь позволяет команде:

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

справа расклад!