# [XeTeX] control space, emergencystretch, glue?

Jonathan Kew jonathan_kew at sil.org
Sat Feb 3 13:46:05 CET 2007

```On 2 Feb 2007, at 4:56 pm, ITS Mail wrote:

> Hello
>
> I attach a zipped minimal XeLaTeX file, with two output pdfs (one
> using our local commercial font, another one with Gentium), where
> you can see how xelatex seems to ignore my attempts to introduce an
> unstretchable space using "\ " ("control space" in the TeXbook).
> Even reducing \emergencystretch to 0pt, the initial lines, having
> the same first words, will still look so different! I have tried
> different fonts and different changes in the TeX tolerance
> parameters; it gets a little better, but the cheeky stretching of
> the control space is still there. Why so? Is there a way to produce
> a really unstretchable space?

Control space is not unstretchable in standard TeX either. Taking
your sample and commenting out the lines

\usepackage{fontspec}

and

\setromanfont[Scale=1.14]{Gentium}

and running it with pdflatex, I see considerable variation in the
spaces after "1." in those first lines.

Note that if "control space" *were* unstretchable, the results would
be poor when justifying typical examples such as ``\TeX\ ignores
spaces after control words'', as one space in the line would not vary
along with the others.

Where "\ " differs from a simple " " is that (a) it is not ignored
after a control word, and (b) it generates a "normal" space rather
than one influenced by the changed \spacefactor after punctuation
characters.

For a truly fixed-width space, you could put it in a box: \mbox{ }.
Or you could define a macro that inserts a \kern of the same width as
the normal space; for example,

\newcommand\fixspc{\kern\fontdimen2\font}

(You could even redefine "\ " in this way, but that would perhaps be
unwise as it is a standard TeX primitive.)

Or in the context of your particular example, you could treat the
number as the list item parameter, rather than part of the item text;
then it's easy to have things neatly lined up.

HTH,   JK

```