[dev-context] \rm in pmod, bmod, etc

Aditya Mahajan adityam at umich.edu
Sun Feb 4 00:52:39 CET 2007


On Sat, 3 Feb 2007, Taco Hoekwater wrote:

> It is cleaner when renamed a little:

So the following macros can go into the core

>> \def\binrel@#1%
>  \def\preparebinrel#1%
>>    {\begingroup
>>     \setbox0=\hbox
>>        {\thinmuskip 0mu
>>         \medmuskip -1mu
>>         \thickmuskip -1mu
>>         \setbox2=\hbox{$#1\mathsurround0pt$}%
>>         \kern -wd2
>>         ${}#1{}\mathsurround0pt$}%
>>     \edef\@tempa
>>       {\endgroup
>>        \let\noexpand\binrel@@
>         \let\noexpand\currentbinrel
>>        \ifdim\wd0<0pt
>>          \mathbin
>>        \else \ifdim\wd0>\z@
>>           \mathrel
>>        \else
>>           \relax
>>        \fi\fi }%
>>     \@tempa  }
>
> And:
>
> \unexpanded\def\overset#1#2%
>   {\preparebinrel{#2}%
>    \currentbinrel{\mathop{\kern\z@#2}\limits^{#1}}}
>

\unexpanded\def\underset#1#2%
    {\preparebinrel{#2}%
     \currentbinrel{\mathop{\kern\z@#2}\limits_{#1}}}

\unexpanded\def\stackrel#1#2%
    {\mathrel{\mathop{#2}\limits^{#1}}}

or

\unexpanded\def\stackrel#1#2%
   {\buildrel#1\over#2}


And the following definitions in math-pln can be defined as unexpanded

\def\doteq

\def\cong

\def\notin

And the following in math-ini should change \rm to \mfunction

   \definemathcommand [unic at eulerconstant]             {{\rm e}}

   \definemathcommand [unic at eqbydef]               {\buildrel \rm def 
\over =}
   \definemathcommand [unic at measuredby]            {\buildrel \rm m 
\over =}
   \definemathcommand [unic at questionedeq]          {\buildrel \rm ? 
\over =}

Aditya


More information about the dev-context mailing list