Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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.

share|improve this question
2  
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

3 Answers 3

up vote 25 down vote accepted
+100

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

Example

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

share|improve this answer
1  
This is definitely the way to do it! –  Svend Tveskæg Feb 1 at 0:56
    
Thanks, this seems like the most elegant solution. Updated the accepted answer. –  Will Feb 3 at 18:03
1  
@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 at 8:58
    
I just improved the examples and the answer a bit, since there is this new bounty in place. –  Dimas Feb 4 at 16:57
1  
mathtools has the same *ed variants of the family of smallmatrix environments. –  Tyson Williams Mar 20 at 19:39

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

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

enter image description here

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).

share|improve this answer
    
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}
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.