Normally, when a sentence ends in a capital letter, the space following the period is treated like a normal space. To get an end-of-sentence space, you must put \@
before the period.
Is this also required if the capital letter is enclosed in a command, such as \emph{}
, \texttt{}
, or \textbf{}
?
For example:
The pointer cannot be \texttt{NULL}. There is one exception:
vs.
The pointer cannot be \texttt{NULL}\@. There is one exception:
The pointer cannot be \texttt{NULL}.\the\spacefactor There is one exception:
, where you can verify that the spacefactor is 1000 and not 3000 as you'd want after a period.) Of course it is easy to construct a command where it isn't needed (\newcommand*{\foo}[1]{#1\@}
or\newcommand*{\goo}[1]{#1 goo}
). Generally I'd expect the space factor to prevail unless the macro typesets additional text or explicitly changes the space factor.()
or[]
. E.g., compare the outputs ofbe (NULL). There is
vs.be (NULL)\@. There is
, or the outputs ofbe [NULL]. There is
vs.be [NULL]\@. There is
.