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 dev-context@ntg.nl http://www.ntg.nl/mailman/listinfo/dev-context