# [NTG-context] xrightarrow is not straight

Joshua Moerman context at joshuamoerman.nl
Wed Aug 8 12:39:54 CEST 2018

Dear Alan,

Thanks for the reply! Using \definemathstackers I can set the voffset to adjust the vertical spacing. This is exactly what I needed, thanks!

However, I couldn't use the ahlength variable. I tried different values, but it doesn't seem to change anything (and the current arrowhead is tiny). (Using startMPcode and drawarrow gives a big arrowhead.)
Also I noticed that the content of \rightarrow{...} was not in mathmode, so I tried using middlecommand=\mathermatics (I found this on the wiki and in the docs). But that doesn't change anything. Is this a bug?

Example:

\useMPlibrary[mat]
\definemathstackers [mp]
[alternative=mp, voffset=-.3\mathexheight, middlecommand=\mathematics]
\definemathextensible [mp] [rightarrow] ["2192]

\startMPinitializations
ahlength  := EmWidth ; % Does not work?
ahangle   := 30 ;
ahvariant := 1 ;
ahdimple  := 4/5 ;
\stopMPinitializations

\setuppapersize[A7]

\starttext
$A \rightarrow{$\neq f$and$\neq g$} B$

$A \rightarrow{\neq f \text{ and } \neq g} B$ % Is not typeset in mathmode
\stoptext

Kind regards,
Joshua

-----Original Message-----
From: Alan Braslau <braslau.list at comcast.net>
Sent: 07 August 2018 17:01
To: Joshua Moerman <context at joshuamoerman.nl>
Cc: mailing list for ConTeXt users <ntg-context at ntg.nl>
Subject: Re: [NTG-context] xrightarrow is not straight

On Tue, 7 Aug 2018 10:42:01 +0200
"Joshua Moerman" <context at joshuamoerman.nl> wrote:

> Hi ConTeXt mailing list,
>
> I am using the extensible arrows and I am not really satisfied with
> the looks of it.
>
> The most important issue I have is that the vertical spacing is too
> much. You can see this in the attached picture: the left arrow is
> using \xrightarrow{\neq a} and the right arrow is using \stackrel{\neq
> a}{\longrightarrow}. I think the right one (with stackrel) looks more
> natural. Is there a way to setup the vertical spacing?
>
> Another thing I noticed is that the line is not very consistent. This
> might be a font issue (I am using Euler). Luckily, the inconsistent
> overlap is barely visible when printed.
>
> Thanks again!
>
> Groetjes,
> Joshua
>

Hello,

You can also use MetaPost to render math stackers, rather than relying on TeX constructs and any particular font.

For example:

\useMPlibrary[mat]

\definemathstackers
[mp]
[alternative=mp]

\definemathextensible [mp] [leftarrow]          ["2190]
\definemathextensible [mp] [rightarrow]         ["2192]
\definemathextensible [mp] [leftrightarrow]     ["2194]
\definemathextensible [mp] [longleftrightarrow] ["27F7] \definemathextensible [mp] [rightoverleftarrow] ["21C4]
\definemathextensible [mp] [underbrace]         ["FE3DF]

\setupbodyfont [dejavu-condensed,12pt]

\starttext
$\rightarrow{≠a}$
\stoptext

Furthermore, the MP arrow can be tuned

\startMPinitializations

ahlength := .5EmWidth ;
ahvariant := 1 ; % dimpled straight

\stopMPinitializations

as can line widths, etc.

Alan