Subject: | |
From: | |
Reply To: | |
Date: | Fri, 22 Oct 1999 18:25:59 +0100 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Frank,
>Bernard,
>
> > >The new definition of add@accent is supposed to keep correct
> > >spacefactor's after accented uppercase letters. The cost is
> > >that a command like \edef\agrave{\`a} will not work as
> > >expected (with respect to spacefactors).
> > >More importantly, this makes the babel package fail,
> > >and possibly others.
[...]
>within standard LaTeX the new defnition of \` and friends still work
>perfectly
>in all circumstances. the fact that inside babel \edef was used in a place
>where \protected@edef should have been used was an oversight and is
>corrected.
The "expandability" of \add@accent has not changed. It is still
expandable, if its definition is:
\def\add@accent#1#2{{%
\setbox\@tempboxa\hbox{#2%
\global\mathchardef\accent@spacefactor\spacefactor}%
\accent#1 #2}\spacefactor\accent@spacefactor}
The problem is that \accent@spacefactor is not yet defined in \edef's
prior to an actual use of any accent. That is a LaTeX bug which can be
fixed by letting \accent@spacefactor to \relax or by defining
it with \mathchardef (in both cases it expands into itself).
Example:
\documentclass{minimal}
\edef\agrave{\`a} % Doesn't work
\setbox0\hbox{\`a} % We use an accent
\edef\agrave{\`a} % Now it does work (but \agrave looks horrible! :-) )
Regards
Javier Bezos
|
|
|