93

I'm using bmatrix environment from the amsmath package, and I'm trying to do something like this:

\documentclass{article}
\usepackage{amsmath}

 \begin{document}
     \begin{equation}
         \begin{bmatrix}
             1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11\\
         \end{bmatrix}
    \end{equation}
 \end{document}

However, pdfLaTeX returns an error: "Extra alignment tab has been changed to \cr", and in the output the extra element is moved to the next row. (If I remove one element, then it works perfectly fine). I guess this means that I've hit some hard limit on the number of tab stops in a matrix. Is there a way to change this?

The elements in the matrix are short and could fit perfectly on a single row.

egreg
  • 1,121,712
  • 1
    Funny enough, I looked once more after I got an answer to the question, and this http://www.latex-community.org/forum/viewtopic.php?f=46&t=5996 popped up, answered by @Stefan Kottwitz a year ago. Wish I could give him some rep for that! – Martin Tapankov Sep 27 '10 at 11:32

2 Answers2

123

Googling "10 columns" together with "tex" and "halign" lead me to this document, where it is explained that, e.g.,

\setcounter{MaxMatrixCols}{20}

enables you to use 20 columns.

Hendrik Vogt
  • 37,935
7

Yet another method is to use the array construct from amsmath package.

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{equation}
\left[ \begin{array}{@{}*{11}{c}@{}}
     1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11\\
\end{array} \right]
\end{equation}

\end{document}

enter image description here

AboAmmar
  • 46,352
  • 4
  • 58
  • 127
  • 2
    If you want to emulate bmatrix, you should use \begin{array}{@{}*{11}{c}@{}}. The *{11}{c} is just a convenient way to avoid counting the number of c's; the important thing is @{} at the sides, to kill the automatically inserted padding. – egreg Apr 19 '15 at 15:48
  • 1
    @egreg Many thanks, I was just thinking of adding two \!\! around the array, but your suggestion is much more elegant. – AboAmmar Apr 19 '15 at 15:55
  • The bmatrix environment indeed does \hspace{-\arraycolsep} on either ends (it's one of the reasons why the MaxMatrixCols counter is needed). – egreg Apr 19 '15 at 16:02
  • Isn't the array construct native instead of from the amsmath package? – L. F. Feb 26 '19 at 11:31