[Tex/LaTex] \@ vs. \␣ after abbreviation. (Read backslash-at vs. backslash-space)

punctuationspacing

I was used to write abbreviations like foo i.e.\ bar but today learned that I could also write them as foo i.e.\@ bar. Both of these apparently have the effect of keeping the space to its normal inter-word size, as opposed to the larger after-sentence space. The fact that there are two possible ways to express what appears to me the same thing makes me wonder whether I might be missing some part of the picture here.

Is there any reason to prefer one of these over the other?
When should I use which?

Unfortunately I haven't found much authoritative documenation about either of these. The latex2e reference manual describes the use of \@ before the period, but not its use after a period. The Advanced TeXbook doesn't mention \@ in its index, which might be considered an indication that it's a LaTeX addition. Various questions, answers and comments on this site here mention one, the other or even both, but so far I haven't found a clear rule about when to use which.

So far I'd tend to keep using \␣ in preference to \@, because I find it easier to read and because that use is better represented in documentation.

Best Answer

If you are putting them explicitly in the document, then it doesn't really matter. If you are making a macro it's better to use \@ form.

\newcommand\zzz{i.e.\@}
\newcommand\yyy{i.e.\ }
\newcomamnd\xxx{i.e.}

with \zzz you can use \zzz\ jjj or \zzz{} jjj and you get the correct spacing. With \yyy the spacing is forced (so it is not so good if you don't want any space at all as in \yyy, bbbbb ) and in \xxx you need to know the command ends with a non-sentence . so follow it with \ or \@ not {}.

Related Question