# How to use more than 10 tab stops in bmatrix or other amsmath matrix environments?

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{bmatrix} 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11\\ \end{bmatrix}$$
\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.

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.

• This is documented in the footnote on page 8 of the amsmath manual. – Philipp Sep 27 '10 at 12:07
• Which leads to the question: Why is there even a hard limit? – masher Mar 5 '17 at 6:41
• It's worth nothing that, as explained in the document, this line of code should "precede the start of the matrix environment". – Sambo Nov 30 '18 at 17:44

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

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

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

\end{document}


• 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
• @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 at 11:31