[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