Aditya Mahajan wrote:
> On Sat, 3 Feb 2007, Taco Hoekwater wrote:
>
>
>> It is cleaner when renamed a little:
>>
>> Taco Hoekwater wrote:
>>
>>> [EMAIL PROTECTED]
>>>
>> \def\preparebinrel#1%
>>
>>> {\begingroup
>>> \setbox0=\hbox
>>> {\thinmuskip 0mu
>>> \medmuskip -1mu
>>> \thickmuskip -1mu
>>> \setbox2=\hbox{$#1\mathsurround0pt$}%
>>> \kern -wd2
>>> ${}#1{}\mathsurround0pt$}%
>>> [EMAIL PROTECTED]
>>> {\endgroup
>>> \let\noexpand\binrel@@
>>>
>> \let\noexpand\currentbinrel
>>
>>> \ifdim\wd0<0pt
>>> \mathbin
>>> \else \ifdim\wd0>\z@
>>> \mathrel
>>> \else
>>> \relax
>>> \fi\fi }%
>>> [EMAIL PROTECTED] }
>>>
>> And:
>>
>> \unexpanded\def\overset#1#2%
>> {\preparebinrel{#2}%
>> [EMAIL PROTECTED]
>>
>>
>
> There was another request (although misguided) for overset in the
> mailing list today. I think that the following macros can go into the
> core: (Taco's version, with a typo corrected).
>
> %D \macros{overset, underset}
> %D
> %D The macros \type{\overset} and \type{\underset} are provided by
> %D \AMS\ packages in \LATEX. These macro allows you to place a symbol
> %D above or below another symbol, irrespective of whether the other
> %D symbol is a relation or something else, and without influencing the
> %D spacing. For most cases there is a better way to do such things
> %D (declaring a math command with limop option, or using accents), but
> %D occasionally these macros can be useful, for example
> %D
> %D \startbuffer
> %D \startformula
> %D \overset{*}{X} \underset{*}{X}
> %D \stopformula
> %D \stopbuffer
> %D \typebuffer \getbuffer
> %D
> %D Use these macros sparingly. Remember, \TEX\ was designed for
> %D mathematics, so there is usually a proper method for typesetting
> %D common math notation.
>
> %D These macros are a clearer version of [EMAIL PROTECTED] and
> %D \type{\binrel@@} macros in \AMSTEX\ packages.
>
> \def\preparebinrel#1%
> {\begingroup
> \setbox0=\hbox
> {\thinmuskip 0mu
> \medmuskip -1mu
> \thickmuskip -1mu
> \setbox2=\hbox{$#1\mathsurround0pt$}%
> \kern-\wd2
> ${}#1{}\mathsurround0pt$}%
> [EMAIL PROTECTED]
> {\endgroup
> \let\noexpand\currentbinrel
> \ifdim\wd0<0pt
> \mathbin
> \else \ifdim\wd0>\z@
> \mathrel
> \else
> \relax
> \fi\fi}%
> [EMAIL PROTECTED]
>
ok, added in the following disguise:
\def\preparebinrel#1%
{\begingroup
\setbox\scratchbox\hbox
{\thinmuskip 0mu
\medmuskip -1mu
\thickmuskip -1mu
\setbox\scratchbox\hbox{$#1\mathsurround\zeropoint$}%
\kern-\wd\scratchbox
${}#1{}\mathsurround\zeropoint$}%
\expanded
{\endgroup
\let\noexpand\currentbinrel
\ifdim\wd\scratchbox<\zeropoint
\mathbin
\else\ifdim\wd\scratchbox>\zeropoint
\mathrel
\else
\relax
\fi\fi}}
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
_______________________________________________
dev-context mailing list
[email protected]
http://www.ntg.nl/mailman/listinfo/dev-context