[texhax] Constructing a very thin space

Paul Isambert zappathustra at free.fr
Fri Jul 26 11:32:12 CEST 2013


Philip Taylor <P.Taylor at Rhul.Ac.Uk> a écrit:
> Karl Berry wrote:
> 
> > I do not have an example at hand, but without the space after `em',
> > TeX will still be reading and expanding tokens after the macro is
> > called (to look for the <space> that's supposed to be there).
> 
> To look for the <space> that's supposed to be /where/, Karl ?
> 
> Considering \thinspace as an example, and using DEK's
> definition from Plain.TeX :
> 
> \def\thinspace{\kern .16667em }
> 
> No space is expected after \thinspace, which is automatically
> terminated by any non-letter; no space is expected after \kern .16667em,
> since all 2-letter units are self-terminating and
> there are no optional plus/minus modifiers, so I cannot see
> to what "<space> that's supposed to be there" you are referring.

Units can be followed by an optional space, so they’re not
“self-terminating”; if \thinspace did not include a space in its
definition, expansion would continue until a space is found, see:

    \def\aspace{ }
    a\kern0pt\aspace b

with no space between the two letters. Similarly, “a\kern0ptb” and
“a\kern0pt b” are the same thing. So the space at the end of
\thinspace is quite important.

Best,
Paul



More information about the texhax mailing list