LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
David Kastrup <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Mon, 20 Jan 2003 18:10:26 +0100
Content-Type:
text/plain
Parts/Attachments:
text/plain (53 lines)
        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

ATOM RSS1 RSS2