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.

This almost looks like what I would like to have

enter image description here

but the space between, for example, $f_1($ and $v_1$ is too large.

How can I fix this?


I got this with

\begin{equation}
  \begin{array}{llllll}
    f_1( & v_1, & v_2  &     &     & ) = 0 \\
    f_2( &      & v_2, & v_3 &     & ) = 0 \\
    f_3( &      & v_2, &     & v_4 & ) = 0 \\
    f_4( & v_1, &      &     & v_4 & ) = 0 
  \end{array}
\end{equation}

I also tried \mathtt and lots of \ but the alignment was always a little bit off (due to the subscript?) and LaTeX tips: Displayed Math says that I shouldn't insert spaces like that. The \quad proposed there inserted too much space.

share|improve this question
    
On an unrelated topic: how can I get this site to display the right thing when I type $f_1($ ? –  Ali Nov 21 '12 at 16:28
1  
This site doesn't use MathJax, because we want to talk about TeX code. Just enclose inline code in backquotes ` as I did in my edit. –  egreg Nov 21 '12 at 16:33

1 Answer 1

up vote 9 down vote accepted

One way to reduce the spacing between the columns is to use @{}

enter image description here

I've put @{} between every column, but of course you can use it just on the columns that you wish.

You can think of the @{<stuff>} operation as adding <stuff> to every element in that column.

\documentclass{article}


\begin{document}

Original
\begin{equation}
  \begin{array}{llllll}
    f_1( & v_1, & v_2  &     &     & ) = 0 \\
    f_2( &      & v_2, & v_3 &     & ) = 0 \\
    f_3( &      & v_2, &     & v_4 & ) = 0 \\
    f_4( & v_1, &      &     & v_4 & ) = 0 
  \end{array}
\end{equation}

New
\begin{equation}
  \begin{array}{@{}l@{}l@{}l@{}l@{}l@{}l@{}}
    f_1( & v_1, & v_2  &     &     & ) = 0 \\
    f_2( &      & v_2, & v_3 &     & ) = 0 \\
    f_3( &      & v_2, &     & v_4 & ) = 0 \\
    f_4( & v_1, &      &     & v_4 & ) = 0 
  \end{array}
\end{equation}

\end{document}

Suggested by @egreg: you can use this idea to put \, after columns 2, 3, and 4, which gives

screenshot

\begin{equation}
  \begin{array}{@{}l@{}l@{\,}l@{\,}l@{\,}l@{}l@{}}
    f_1( & v_1, & v_2  &     &     & ) = 0 \\
    f_2( &      & v_2, & v_3 &     & ) = 0 \\
    f_3( &      & v_2, &     & v_4 & ) = 0 \\
    f_4( & v_1, &      &     & v_4 & ) = 0 
  \end{array}
\end{equation}

As @barbarabeeton pointed out, it doesn't seem necessary to use 6 columns; 5 columns will work ok

\begin{equation}
  \begin{array}{l@{\,}l@{\,}l@{\,}l@{}l@{}}
    f_1( v_1, & v_2  &     &     & ) = 0 \\
    f_2(      & v_2, & v_3 &     & ) = 0 \\
    f_3(      & v_2, &     & v_4 & ) = 0 \\
    f_4( v_1, &      &     & v_4 & ) = 0 
  \end{array}
\end{equation}

I assume you have the last column empty so that the closing ) will be aligned.

share|improve this answer
1  
I'd add @{\,} after columns 2, 3 and 4 instead of @{}, to get the correct spacing after the commas. –  egreg Nov 21 '12 at 16:38
    
@egreg Actually \begin{array}{@{}lllll@{}l@{}} looks like exactly what I wanted. Awesome, thank you both! –  Ali Nov 21 '12 at 16:40
    
@Ali The spacings you get are too large, in my opinion. –  egreg Nov 21 '12 at 16:41
    
@egreg added it, thanks very much :) –  cmhughes Nov 21 '12 at 16:43
1  
@cmhughes -- i'm confused. why are 6 columns needed? (columns 1 and 6 are always empty.) why wouldn't just 4 do? –  barbara beeton Nov 21 '12 at 16:48

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.