Whenever I write ", " (with a space after the comma) in mathmode, I really want a space there. usually, this is either something like

the points, $a, b$, and $c$....

or in an explicit vector:

Let the vector $x=(x_1, x_2, x_3)$ be...

Since TeX removes this space, my text is often riddled with explicit short spaces: $x_1,\,x_2,\,x_3)$.

Is there a way to tell TeX that this is not desirable or to hack TeX into submission?


4 Answers 4


This is kind of a non-answer, but here's what I'd do. For vectors, I'd always just use

Let the vector $x=(x_1,x_2,x_3)$ be ...

In math mode, TeX inserts a thin space after the , (\thinmuskip, as Lev points out in his answer), and I find that exactly right. In your other example, I'd write

the points $a$, $b$, and~$c$ ...

(with or without the , after $b$), and this is also what Knuth recommends in the TeXbook. (Note the tie after and!) This yields correct spacing; moreover, it allows a linebreak after $a$.

  • Right. There is some space after a comma in math mode, even if it's not how much you wanted. Dec 31, 2010 at 18:25
  • 10
    Indeed, the point here is that the comma has textual rather than mathematical meaning, and so should not be in math mode.
    – Joseph Wright
    Dec 31, 2010 at 18:45
  • @Joseph: Is your comment addressed to me or to Ben? (I'm no sure what you mean by here.) Dec 31, 2010 at 20:46
  • @Hendrik. To Ben: sorry if that was not clear.
    – Joseph Wright
    Dec 31, 2010 at 20:51
  • 1
    @morbusg: I don't like it since it adds space before the comma in $a$, $b$. Jan 1, 2011 at 9:26

You can change the size of the skip after commas, semicolons and \colons (\mathpunct) by changing \thinmuskip, eg. \thinmuskip=5mu, but thin spaces are used in many other places so this is not a great solution.

You could make the comma an active character in mathmode (see, eg, this answer), but this could maybe cause compatibility problems with some packages.

Personally I would do as Hendrik said, enter your first example as

the points $a$, $b$, and~$c$ ...

and not mess with TeX's spacing for the second example (your version with the explicit thin spaces looks too big to me, although I accept that my judgement on these things has been calibrated by working with TeX so much).


In LuaTeX you can control the spacing between objects for each pair of classes individually:

Let the vector $x=(x_1, x_2, x_3)$ be\par
Let the vector $x=(x_1, x_2, x_3)$ be

It is not correct mathematical typesetting, but you can increase the spaces after commas with this code:



Let the vector \Vec{x=(x_1,x_2,x_3)} be...

and can simply be reverted 

Let the vector \Vec{x=(x_1,x_2,x_3)} be...

  • I tried to make your answer clearer. Please revert my edit if it isn't OK. Jan 1, 2011 at 9:01
  • @Hendrik: thanks and happy new year :-)
    – user2478
    Jan 1, 2011 at 9:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .