[XeTeX] XeTeX: ready for full-time math?

Ross Moore ross at ics.mq.edu.au
Tue Aug 22 05:59:23 CEST 2006

Hi Jonathan,

In a different thread ...

On 06/08/2006, at 8:40 AM, Jonathan Kew wrote:
> One way to achieve this, noting that maqqef is Unicode character U
> +05BE, would be to make this an "active character" and program it to
> insert a discretionary break after itself. Something like this:
>    \catcode"05BE = \active
>    \def^^^^05be{\char"05BE\discretionary{}{}{}}
> (The use of uppercase "05BE" and lowercase "05be" here is deliberate
> and required!)

Can the ^^^^ notation be used/extended to create a token for
plane-1 (or higher-plane) characters ?

e.g.,  mathematics needs to access Plane-1
   U+1D515   (fraktur R)

I can declare a macro  \frakR  to have an expansion
that includes  \char"1D515 .
But I want to do also:


so that a character that is input directly will have
the same result as using the named macro.

But I want even more than this, since I want to be able
to include coding, such as above, inside a macro-expansion.

e.g. using a declaration such as:


being expanded using a meta-macro something like:

   \catcode"#1\active \lowercase{\let^^^^^#1#2}%

This currently cannot work, even with just 4 hex-bits,
since the  ^^^^ is resolved on input of the macro-code,
whereas I need it to be delayed until the
meta-macro  \DeclareActiveMathCharacter  is called.

Can this idea be made to work ?

One way is to have the meta-macro writing out, then re-reading
an auxiliary file. But all that I/O is rather time-consuming,
when there are 1000s of math-symbols to be declared.

> HTH,
> JK



Ross Moore                                         ross at maths.mq.edu.au
Mathematics Department                             office: E7A-419
Macquarie University                               tel: +61 +2 9850 8955
Sydney, Australia  2109                            fax: +61 +2 9850 8114

More information about the XeTeX mailing list