[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: More on subscripts and superscripts



Michael Downes writes:

>Either I'm missing the point or this will not work.

Oops, sorry, I meant to type:

   \edef^#1{\superscript{#1}}
   \edef_#1{\subscript{#1}}

But your version is better!

>It should work, I think, to make the math mode versions local to math
>mode via

True, but I can still see this breaking under `unusual' conditions,
for example _ inside math mode or inside a \write.  I'd rather not
replace a reliable if irritating _ with a `better' active _ that only
works 99.99% of the time.  This sort of thing is better left to macro
packages rather than by hacking around with plain (IMHO).

>I think something like this is necessary for serious
>mathematical typesetting, despite the significant practical handicap
>of TeX's current design.

Agreed, the decision not to let the current style be accessable in
math mode is one of the more... er... ideosyncratic design decisions
in TeX!  Unfortunately, it would be a drastic change to TeX to allow
the current style to be tracked, since it would require new syntax for
${...\over...}$ and friends.

This can be done in LaTeX because it has more straightforward syntax
for \frac.

>I'm curious---what syntax would you suggest instead? Do you just mean,
>that TeX should require braces to be used always?

That would be one possibility.  Another would be to have the `argument
grabbing' for scripts done in the mouth, along with argument grabbing
for macros.  Probably the simplest solution would be to allow
some form of braces that act as argument-surrounds without changing
the type to \mathord.  If such braces were available then you could
write:

   \def\foo{\beginargument\mathrel{...}\endargument}

Competition: does anyone know of any other language in which
bracketing an argument changes its type?

Another possibility would be to extend the definition of a <math
character> to include:

   \mathord{math mode material}
   ...
   \mathclose{math mode material}

This would fit with allowing \mathchar and \delimiter.

But this is straying in the direction of NTS wish listing...

Alan.