Набор большой матрицы в ЛАТЕКСЕ

Я имею 3x12 матрица, я хотел бы ввести в свой ЛАТЕКС (с amsmath) документ, но ЛАТЕКС, кажется, дросселирует, когда матрица становится больше, чем 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's и-1's отличается, то, который также ожидал bmatrix?

12
задан Smi 12 February 2013 в 17:50
поделиться

2 ответа

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

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

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

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

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

21
ответ дан 2 December 2019 в 07:02
поделиться

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

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

1
ответ дан 2 December 2019 в 07:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: