# How do I left-align entries in a matrix with \begin{matrix}?

I'd like to left align the -1 entry in the following matrix so that the 1s line up. Is there a way to get matrices to ignore signs in that way?

\begin{matrix}
1 & 1  \        1 & -1 \    \end{matrix}


Using \flushright{-1} doesn't seem to work.

-
mathtools allows you to l/r align entries in matrices. In your example, putting an \hfill before the upper 1 should also work. – anon Feb 19 '12 at 5:38

I know that this is an old question, but to whoever stumbles upon this from a google search (like I just did) another very elegant solution for this is using the starred matrix environmnents of mathtools:

• \begin{matrix*} [〈col〉] 〈contents〉 \end{matrix*}: simple matrix,
• \begin{pmatrix*}[〈col〉] 〈contents〉 \end{pmatrix*}: matrix surrounded by matching parenthesis,
• \begin{bmatrix*}[〈col〉] 〈contents〉 \end{bmatrix*}: matrix surrounded by matching square brackets,
• \begin{Bmatrix*}[〈col〉] 〈contents〉 \end{Bmatrix*}: matrix surrounded by matching curly brackets (braces),
• \begin{vmatrix*}[〈col〉] 〈contents〉 \end{vmatrix*}: matrix surrounded by matching vertical lines (like for determinant),
• \begin{Vmatrix*}[〈col〉] 〈contents〉 \end{Vmatrix*}: matrix surrounded by matching double vertical lines.

The <col> optional argument specifies the column alignment, and should be c, l or r for centered (default), left-aligned and right-aligned, respectively. Consider the following example,

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

$\begin{pmatrix*}[r] -1 & 3 \\ 2 & -4 \end{pmatrix*}$

$\begin{Bmatrix*}[l] 1.001 &\hdots & 3 \\ 2.3 & \hdots & 4.2 \end{Bmatrix*}$

$\begin{Vmatrix*}[c] 1 & 3 \\ \tfrac{1}{2} & 4.2 \end{Vmatrix*}$

\end{document}


which yields

The mathtools package is an extension of amsmath which fixes various bugs/deficiencies and adds some useful tools (like the starred matrix environments).

-
This is definitely the way to do it! – Svend Tveskæg Feb 1 '14 at 0:56
Thanks, this seems like the most elegant solution. Updated the accepted answer. – Will Feb 3 '14 at 18:03
@Will I put a bounty to award this answer to make it more visible since it is the way to go. And now here you are, making it the accepted one :) – yo' Feb 4 '14 at 8:58
I just improved the examples and the answer a bit, since there is this new bounty in place. – Dimas Feb 4 '14 at 16:57
mathtools has the same *ed variants of the family of smallmatrix environments. – Tyson Williams Mar 20 '14 at 19:39

A quick way to do this is by adding phantom characters:

\begin{matrix}
1 & \phantom{-}1  \\
1 & -1 \\
\end{matrix}


Although for simple arrays like this it's probably simpler just to use a standard array environment

\begin{array}{rr}
1 & 1  \\
1 & -1 \\
\end{array}


for the same result. Note that if you need control over alignment, then array is the preferred way to typeset matrices (you can simply wrap in \left( ... \right) etc. for brackets and lines).

-
Perfect, thank you. – Will Feb 19 '12 at 5:09
You're welcome! For extra information on mathematics environments, the documentation of the amsmath package is an excellent resource. – qubyte Feb 19 '12 at 5:11

If you using LaTeX2e out of the box, you can use the array environment, which is similar to a tabular:

\documentclass{article}
\begin{document}
$\begin{array}{rr} 1 & 1 \\ 1 & -1 \\ \end{array}$
\end{document}

-