# [dev-context] new beta

Hans Hagen pragma at wxs.nl
Mon Jan 10 13:53:40 CET 2011

Hi,

The character definitions have been updated (esp math, thanks to Aditya).

After some testing by Wolfgang the decision was made to permit _ in
macronames in modules. So, the following works:

\unprotect
\def\test_test_test#1#2{#1+#2=whatever}
\test_test_test{1}{2}
\protect

In principle we can also support ^. The mkiv code base no longer uses _
and ^ in math in modules and those who write modules should avoid them
as well. So, when writing macros in unprotected mode, one schould use:

$x\normalsuperscript2\normalsubscript n$

Taco and I think that we can safely switch to \nonknuthmode in mkiv so
this might happen soon (which means that _ and ^ become normal
characters in text mode). Actually, being permanently in \nonknuthmode
would permit _ and ^ in modules again.

We could even make _ and ^ always letters outside math in which case
\text_test etc would become possible everywhere but that needs some more
consideration. In that case

\def\make_subscript#1#2{\mathematics{#1_{#2}}}

\make_subscript{x}{2}

becomes valid everywhere. We can discuss this in detail at the dev list.

Hans

-----------------------------------------------------------------
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------