Sender: |
|
Date: |
Mon, 20 Jan 2003 18:10:26 +0100 |
Reply-To: |
|
Subject: |
|
MIME-Version: |
1.0 |
Content-Transfer-Encoding: |
8bit |
In-Reply-To: |
|
Content-Type: |
text/plain; charset=iso-8859-1 |
From: |
|
Parts/Attachments: |
|
|
Frank Mittelbach <[log in to unmask]> writes:
> > > glad to learn that; can you perhaps tell us how you resolved the
> > > problem of either killing ligatures and kerns or alternatively
> > > making the wrong choice at the begining of an \halign cell that
> > > afterwards (!) jumps into math mode?
> >
> > One limited possibility would be
> > \mathcode`\ä="8000
>
> yes, that is the sort of only out one would have, but as far as we
> could see it isn't going to allow a resolution.
>
> point is
>
> a) this doesn't help for LICR objects like \" as they potentially execute
> \accent and that bombs in math
Nope. We would have the case where \"a has a proper letter
equivalent. In that case we would write the following (excuse the
illegal notation
\def{\"a}{\ifmmode \relax \ifmmode \ddot a\else ä\fi\else ä\fi}
Now if we accidentally produced the character ä while putatively in
text mode, the mathcode "8000 would kick in and cause \"a to get
reevaluated as long as the active character ä evaluated to \ä.[1]
If the object would evaluate to an accent, still no harm:
\def{\"a}{\relax \ifmmode \ddot a\else \accentwhatever \fi}
An accent does not kern or ligature, anyway.
> b) and even if \"a expands to a \chardef then the chardef number
> depends on the outer fontencoding so might vary from case to case
That's the real problem.
How about squashing this particular problem with
\protected\def{\"a}{\ifmmode ...}?
Footnotes:
[1] BTW, this cries for a TeX extension: "8000 evaluates to the same
character, only made active. Wouldn't it be nice if "80xx evaluated
to a _different_ active character? Or even to some control
sequence?
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
|
|
|