The next example only adds some boxes to make the spacing more visible:
\documentclass{article}
\setlength{\fboxsep}{0pt}
\setlength{\fboxrule}{.1pt}
\begin{document}
$\fbox{$\fbox{$u$}^{\fbox{$\scriptstyle*$}}$}\mathpunct{\fbox{$,$}}\fbox{$x$}$
\end{document}
The spacing between the superscript *
and the comma ,
has three causes:
- TeX adds
\scriptspace
after super- and subscripts. Default is 0.5pt
in LaTeX and plain TeX. It is the space between the box around *
and the surrounding box.
- Inside the boxes for
*
and ,
there is some horizontal padding, called side bearings. It is a font property and not accessible in TeX.
- The superscript and the comma have quite a large vertical distance, thus there is no need to have much horizontal space to avoid the glyphs to get too close. It looks indeed better, if the comma is moved leftwards.
However, caution is needed for the negative spacing, LaTeX defines (pseudo code):
\! = \mskip-\thinmuskip
\thinmuskip = 3mu
\medmuskip = 4mu plus 2mu minus 4mu
\thickmuskip = 5mu plus 5mu
and package amsmath
adds (pseudo code):
\negmedspace = -\medmuskip
\negthickspace = -\thickmuskip
\thinmuskip
and therefore \!
are not using stretchability. However, the others are. Then the spacing can become quite ugly, if stretching/shrinking is applied.
The negative sign causes the opposite effect making the spacing worse:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\hbox{$u^*\negmedspace,x+y$}
\hbox spread -5pt{$u^*\negmedspace,x+y$}
\hbox spread 5pt{$u^*\negmedspace,x+y$}
\end{document}
For this, \!
can be used. However, \negthickspace
and \negmedspace
should be avoided, they cancel the effect of \thickmuskip
and \thinmuskip
.
\negthickspace
and \negmedspace
The following macros \negmed
and \negthick
add a negative space in math mode using the values from \medmuskip
and \thickmuskip
without the stretch and shrink components:
\def\negstrip#1 #2\relax{-#1}
\newcommand*{\negmed}{%
\mkern-\medmuskip
}
\newcommand*{\negthick}{%
\mkern-\thickmuskip
}
The question, how much negative spacing could be used is also partly a matter of taste. I tend to something inbetween \!
and \negmed
, perhaps \mkern-3.5mu\relax
.
Best Answer
There are different classes of mathematical symbols in LaTeX, as discussed in this question: What is the difference between \mathbin vs. \mathrel?
Depending on the class of a math symbol, surrounding space will be modified in predictable, relevant ways. The comma is of the type
\mathpunct
(mathematic punctuation) which, when surrounded by math atoms, inserts a small amount of space after itself, in what would be a typical use of punctuation grammar.The way to override the natural behavior of a symbol class is to isolate it from surrounding math, typically done by embracing the symbol in its own group, as in
{,}
. In this way, the comma is made unaware of the existence of surrounding math and therefore does not insert the customary space associated with its use.Thus, to the specific question of the OP, the use of
$x =100{,}000$
will insert the comma without the customary space associated with mathematical punctuation.Just for completeness, one should note that one can do the opposite, as well; that is, inserting customary space even in the absence of surrounding math. One does that by inserting empty math groups adjacent to the symbol. In the case of a comma,
,{}
is sufficient to trigger the insertion of the space, even if there are no surrounding (non-empty) math atoms.