For a detailed answer why this is happening you can read this answer of mine (shameless plug indeed): In short, the italic correction of the f
has a great part in this. But the italic correction only explains the spacing after the f
, not before. For this you have to look at the bounding boxes of the letters:
The first f
is a text italic letter in its bounding box, the second one is math italic (in its bounding box together with its italic correction). As you can see, the text letter protrudes a bit to the left (and a lot to the right); the math letter has a tiny bit of white space in the left (and also in the right, because of the italic correction). For a bit more about the bounding boxes see this question of mine (another shameless plug :-)
).
I first noticed the problem when typing $Vf$
, which doesn't yield a nice output. My resort is using $V\hspace{-0.1em}f$
instead (in a macro, of course), which I like much better. You could even use $V\!f$
, but this I find too narrow. Compare these three:
I would not encourage you to follow Caramdir's (now removed) suggestion to use $\mathit{Vf}$
since this uses a different font (text italic, not math italic). You can see quite clearly that the V
is narrower (in other words, the angle at the bottom of the V
is more acute):
If you use a different math font (like Euler), then the difference is even more noticeable.
(For a case where \textit
could be a good solution, see this answer of TH.)
\documentclass{article}
\begin{document}
Here is text which starts off the line.
We can write $A^n$ as
\[
\bigcup_{a^{n-1} \in A^{n-1}} \{(a^{n-1}, a) : a \in A \}.
\]
More text, then I have something like the following
$(-3, 3)^{C}$ in $A = (-\infty, -3] \cup [3, \infty)$.
\end{document}
The complicated formula is best set in display mode; no added spaces around the colon, possibly instead after \{
and before \}
.
The second case has a big flaw: the word "in" must go outside math mode because it's text. If you want to avoid a break at \cup
, write
\cup\nobreak
but leave these decisions for when the document is complete.
Best Answer
You can redeclare
:
to be of class\mathord
. If have to restore the original behaviour, use\mathrel{:}
.