[latexrefman] (manure, etc.\@) for sale

Karl Berry karl at freefriends.org
Sun Feb 14 23:28:09 CET 2021


    My understanding of \@ was that it makes an inter-sentence space where
    LaTeX would otherwise use an interword space.

Not exactly. All that \@ does is set \spacefactor=1000. From ltspace.dtx:
..
%<latexrelease>\def\@{\spacefactor\@m}%
..

Thus, either of
  something\@. New sentence  % interword space
  something.\@ New sentence  % interword space
will be an interword space, not an intersentence space.

The time (in practice) it will make an intersentence space is
following a capital letter and before sentence-ending punctuation, since
capitals have \sfcode=999:
  XYZ\@. New sentence   % intersentence space

(For the exact rules of why this is so, see The TeXbook. The LaTeX
documentation is, as usual, coy about how it actually works.)

As far as I know, there is no way in LaTeX to force an intersentence
space. For example, suppose a sentence ends with a bib reference:
  ... as Smith said.~\cite{foo} New sentence

That will be an interword space following the cite. \@ will not help.

The best way I know to force an intersentence space is:
  \def\sentencespace{\spacefactor=3000{}\space\ignorespaces}

Karl


More information about the latexrefman mailing list.