Набор текста большой матрицы в LaTeX - PullRequest
12 голосов
/ 07 мая 2010

У меня есть матрица 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 ]

20 голосов
/ 07 мая 2010

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

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

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

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

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

1 голос
/ 07 мая 2010

Ответ Скотта верный, но с тех пор я узнал, что может переопределить выравнивание.Взято из 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] ....

иметь выравнивание по правому краю!

...