[NTG-context] Math literal colon

Hans Aberg haberg-1 at telia.com
Fri Jul 24 15:00:23 CEST 2015

> On 24 Jul 2015, at 11:43, Hans Hagen <pragma at wxs.nl> wrote:
>
> On 7/20/2015 6:22 PM, Hans Aberg wrote:
>>
>>> On 20 Jul 2015, at 17:43, Manuel Blanco <manuelbl at ucm.es> wrote:
>>>
>>> Well, you can make the colon active in math mode and then let it output \colon.
>>>
>>> This is a TeX way, I don't know if there's a ConTeXt way for this:
>>>
>>>    \begingroup\lccode\~=\:\lowercase{\endgroup
>>>      \let~}\colon
>>>    \mathcode\:="8000 %
>>
>> For some reason, the colon in ConTeXt is larger relative LuaTeX.
>
> you probably mean latex (macro package) here as luatex (engine) itself doesn't do anything
>
> keep in mind that context implements much of math in a complete different way, so solutions for problems or wishes are done differently too; in this case we try to use unicode and some lua magic instead of character juggling at the tex end
>
> we also need to keep in mind that characters have to behave well in tagged pdf and exports and so

In the examples I mentioned (below), running ‘context’ on the first produces large colons, whereas ‘luatex’ on the second does not. The latter looks right to me.

There is a similar issue with integral symbols, where somehow ConTeXt add additional spacing after it.
http://www.ntg.nl/pipermail/ntg-context/2015/082541.html

— context —
\setupbodyfont[xits,10pt]

\setupformulas[location=left]

\begingroup\lccode\~=\:\lowercase{\endgroup
\let~}\colon
\mathcode\:="8000 %

\starttext

The function $f: A → B$, $g\colon A → B$.

\stoptext
—

— luatex —
\begingroup\lccode\~=\:\lowercase{\endgroup
\let~}\colon
\mathcode\:="8000 %

The function $f: A \to B$.

\end
—

`