
Aditya Mahajan wrote:
I am simply trying to copy from amsmath definition.
better think context -) \unprotect \def\mtharrfactor{1} \def\mtharrextra {0} \def\domthxarr#1#2#3#4#5#6#7#8% {\begingroup \def\mtharrfactor{1}% \def\mtharrextra {0}% \processaction[#1] % will be sped up [ \v!none=>\def\mtharrfactor{0}, \v!small=>\def\mtharrextra{10}, \v!medium=>\def\mtharrextra{15}, \v!big=>\def\mtharrextra{20}, \v!normal=>, \v!default=>, \v!unknown=>\doifnumberelse{#1}{\def\mtharrextra{#1}}\donothing]% \mathsurround\zeropoint \muskip0=#4mu \muskip0=\mtharrfactor\muskip0 \advance\muskip0 \mtharrextra mu \muskip2=#5mu \muskip2=\mtharrfactor\muskip2 \advance\muskip2 \mtharrextra mu \setbox0\hbox{$\scriptstyle \if#20\else\mkern#2mu\fi \mkern\muskip0\relax #8\relax \mkern\muskip2\relax \if#30\else\mkern#3mu\fi $}% \setbox4\hbox{#6}% \dimen0\wd0 \ifdim\wd4>\dimen0 \dimen0\wd4 \fi \setbox2\hbox{$\scriptstyle \if#20\else\mkern#2mu\fi \mkern\muskip0\relax #7\relax \mkern\muskip2\relax \if#30\else\mkern#3mu\fi $}% \ifdim\wd2>\dimen0 \dimen0\wd2 \fi \setbox4\hbox to \dimen0{#6}% \mathrel{\mathop{% \hbox to \dimen0{\hss\copy4\hss}}% \limits^{\box0}_{\box2}} \endgroup} % ams: \def\xrightarrow{\doifnextcharelse[\noxrightarrow\doxrightarrow} \def\xleftarrow {\doifnextcharelse[\noxleftarrow\doxleftarrow} \def\doxrightarrow{\dodoublegroupempty\dodoxrightarrow} \def\doxleftarrow {\dodoublegroupempty\dodoxleftarrow } \def\noxrightarrow[#1]{\dodoublegroupempty\dodoxrightarrow{#1}} \def\noxleftarrow [#1]{\dodoublegroupempty\dodoxleftarrow {#1}} \def\dodoxrightarrow#2#3{\mathrel{{\domthxarr{}0359\rightarrowfill{#1}{#2}}}} \def\dodoxleftarrow #2#3{\mathrel{{\domthxarr{}3095\leftarrowfill {#1}{#2}}}} % context: \def\xrightarrow {\dosingleempty\doxrightarrow} \def\xleftarrow {\dosingleempty\doxleftarrow} \def\doxrightarrow[#1]{\dotriplegroupempty\dodoxrightarrow{#1}} \def\doxleftarrow [#1]{\dotriplegroupempty\dodoxleftarrow {#1}} \def\dodoxrightarrow#1#2#3{\mathrel{{\domthxarr{#1}0359\rightarrowfill{#2}{#3}}}} \def\dodoxleftarrow #1#2#3{\mathrel{{\domthxarr{#1}3095\leftarrowfill {#2}{#3}}}} \starttext \startformula \xrightarrow{}{stuff on top}\stopformula \startformula \xrightarrow{stuff below}{}\stopformula \startformula \xrightarrow{stuff below}{stuff on top}\stopformula \startformula \xleftarrow [none]{stuff below}{stuff on top}\stopformula \startformula \xleftarrow [small]{stuff below}{stuff on top}\stopformula \startformula \xleftarrow [medium]{stuff below}{stuff on top}\stopformula \startformula \xleftarrow [big]{stuff below}{stuff on top}\stopformula \stoptext ----------------------------------------------------------------- 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 -----------------------------------------------------------------