[NTG-context] extentable arrows

Hans Hagen pragma at wxs.nl
Thu Jun 29 10:25:48 CEST 2006


Aditya Mahajan wrote:
>
> The syntax can be made identical (even better) than that of amsmath.
>
> \def\xrightarrow{\dosingleempty\doxrightarrow}
>
> \def\xleftarrow {\dosingleempty\doxleftarrow}
>
> \def\doxrightarrow[#1]{\dodoublegroupempty\dodoxrightarrow{#1}}
>
> \def\doxleftarrow[#1]{\dodoublegroupempty\dodoxleftarrow{#1}}
>
> \def\dodoxrightarrow#1#2{\mathrel
>     {{\domthxarr0359\rightarrowfill{#1}{#2}}}}
>
> \def\dodoxleftarrow#1#2{\mathrel
>     {{\domthxarr3095\leftarrowfill{#1}{#2}}}}
>
> \starttext
>   $$
>   A \xrightarrow[]{stuff on top} B
>   $$
>
> $$
> A \xrightarrow[stuff below]{} B
> $$
>
> \startformula
>   A \xleftarrow[stuff below]{stuff on top} B
> \stopformula
>
>   $$
>   A \xleftarrow B
>   $$
> $$
>   \rightarrow A \xrightarrow{stuff on top} B \leftarrow
> $$
>
>
> $$
>   \rightarrow A \xleftarrow[stuff below] B \leftarrow
> $$
>
>   \stoptext
>   
hm, this is not the context way, two equal kind of contents and then one 
of them in [], maybe

\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}}

which accepts

\xrightarrow{x}{y}
\xrightarrow{x}
\xrightarrow{}{y}
\xrightarrow[x]{y}

etc, actyally, we should then also accept

\xrightarrow[x][y]

but more interesting is to use the optional arg for tuning purposes


\if0#1\else\mkern#1mu\fi

test, does a \mkern0mu hurt?

>
> Will make copy paste a bit easier! Though these days I find myself 
> writing more in context and soon will face the reverse problem. I will 
> need to copy context math into latex (needed for final journal 
> submission) and some of the math features are simply missing from 
> latex :)
>   

Hans 

-----------------------------------------------------------------
                                          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
-----------------------------------------------------------------



More information about the ntg-context mailing list