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

Re: More on subscripts and superscripts



barbara writes:

>when ams constructed the ms*m fonts, symbols were put into them
>because they were presumably needed in the material we publish,
>and those symbols definitely include the negated arrows.

Ah, sorry, I wasn't as clear as I could have been.  I was proposing to
include all of the AMS symbols, the question is how they should be
accessed.  Originally I had planned to define something like:

   \def\nrightarrow{\mathrel{\leftarrownonechar
      \rightarrowheadchar\extarrownegchar}}

and let the arrow-building kit produce a $\nrightarrow$.  This can all
be done (I'm about 2/3 of the way through putting together a prototype
arrow-building kit which accesses all of the CM and AMS arrows, and a lot
more)... but it means that

   $X_\nrightarrow$

fails, for the same reason that you can't type

   $X_\longrightarrow$

in TeX.  TeX has very tortuous rules about which control sequences can be
used unbraced in a subscript, but the `executive summary' is that if the
control sequence is of any type other than \mathord, then it has to be a
<mathchardef token>.

In particular, this means that if we want upward compatibility with
AmSTeX, then all of the negated glyphs in msbm have to be accessed
directly via \mathchardef.  They can't be accessed indirectly via
\def.

This also applies to other glyphs, such as \sharp, \circledS, \circledR,
\yen, and so on.  But fortunately, they are all of type \mathord, so they can
be accessed indirectly.

>so yes,
>the input `$X_\nrightarrow$' is legit in amstex (which, after all,
>existed even before latex).

Rats, I thought that would be the case.  This means that all the AMS
symbols have to be accessable via \mathchardef rather than indirectly via
\def, oh rats rats rats rats rats...

>i doubt very much
>that we would look kindly on having symbols that do appear in our
>input, and which are therefore used by our authors, disappear from
>the math glyph complement.

Don't worry, all the glyphs will still be accessable, the question is
whether we can replace the current `\mathchardef\foo"2xxx' with
`\def\foo{\mathrel{...}}'.  From what you're saying, the
answer is `no'.

Alan.