[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




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  

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,


(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.


More information about the XeTeX mailing list