Double space between sentences

It seems to me that the sister site is presenting a false dilemma. Use one space or use two? If those were my only options, I'd definitely opt for one space. Similarly, I only insert one space in my source mark-up. But LaTeX's end-of-sentence space is not the width of two spaces! I'd find it very ugly if it were. It's somewhere in between one and two (and of course, it varies since it's a rubber length.) In my opinion, it looks far nicer and is far less distracting than either having only one space or having two full spaces.

I think the reason this false dilemma is presented this way is that people have given in to the evils of WYSIWYG, so what they type has to be the same as the output. There's no way to type one and a half-space, so they conclude there's no way to get it. Nonsense.

I think people's typographical expectations have declined in the web and WYSIWYG era. I see advocacy of LaTeX as a reaction against this. There's no question that in the digital age, typography needs to change, but let's not let an important and valuable art form die altogether!


Use the \frenchspacing command; that makes the sentence spacing single spaced. You can revert it later on in the document via \nonfrenchspacing.

Personally I don't care either way about the spacing after a full stop. I tend not to notice it when I am reading anyway. I do, however, find that with paper drafts I'm editing, it is easier to visually locate the start/end of a sentence with the extra bit of padding.


Something TeXnical has been omitted from this discussion: how exactly TeX treats space after a period. The details are in The TeXbook, of course, but here's a quick summary.

When TeX is processing a horizontal list of boxes and glue, it uses a number called the space factor f  to decide how much extra space to add and how much to stretch or shrink the glue. At the start of a horizontal list f = 1000. After a period (that doesn't follow a capital letter), f = 3000. After math lists, boxes, and other characters, f = 1000 (capital letters set f = 999).

This parameter is used as follows. When f ≥ 2000, TeX adds the font's "extra space" to the font's "normal space" in the interword glue. After this, the font's "normal stretch" is multiplied by f /1000 and the "normal shrink" is multiplied by 1000/f.

In practice, this means that intersentence spacing has a fixed extra space added and the space can stretch 3 times as much and shrink 1/3 as much as a normal space.

For concreteness, Computer Modern roman 10pt sets
normal space = 3.33333 pt;
normal stretch = 1.66666 pt;
normal shrink = 1.11111 pt; and
extra space = 1.11111 pt.

For example, in a line that has no stretch and no shrink, a space following a period will be 4.44444 pt whereas a space that doesn't follow a period will be 3.33333 pt.

Let's verify these numbers. To do this we make a simple plain TeX file

\setbox0\hbox{ }
\setbox2\hbox{\spacefactor3000{} }
\showthe\wd0
\showthe\wd2
\end

Sure enough, the output shows those values. (The {} after the 3000 is needed because TeX allows optional spaces after numbers. Removing it gives a width of 0 pt.)

Finally, this explains the \@ LaTeX macro which expands to (essentially) \spacefactor1000. Thus in the following code, box 0 will be 1.11111 pt wider than box 2. (Since plain TeX doesn't define \@, we'll do it ourselves.)

\def\@{\spacefactor1000 }
\setbox0\hbox{. }
\setbox2\hbox{.\@ }
\showthe\wd0
\showthe\wd2
\end

One can verify the stretching and shrinking properties as well by putting the text into an \hbox of the appropriate size, but that takes slightly more work and is left as an exercise for the reader.