On 7/24/2015 2:40 PM, Hans Aberg wrote:
On 24 Jul 2015, at 11:40, Hans Hagen <[email protected]> wrote:
On 7/20/2015 6:09 PM, Hans Aberg wrote:
On 20 Jul 2015, at 17:50, Manuel Blanco <[email protected]> wrote:
A little bit more of intelligence can be given with
\begingroup\lccode`\~=`\:\lowercase{\endgroup
\unexpanded\def~}{\futurelet\tmptoken\docolon}
\unexpanded\def\docolon{\ifx=\tmptoken\mathrel{\mathop{\mathchar`\:}}\else\colon\fi}
\mathcode`\:="8000 %
That lets you do $f: A \to B$ and $f(x) := x^2$
For the second, one can use ≔ COLON EQUALS U+2254. But it is a good point,
though.
there is actually a more modern trick:
\starttext
\startluacode
characters.mathpairs[0x3A] = { [0x3D] = 0x2254 }
characters.mathpairs[0x3E] = { [0x3D] = 0x2265 }
characters.mathpairs[0x3C] = { [0x3D] = 0x2264 }
characters.mathpairs[0x3D] = { [0x3A] = 0x2255 }
\stopluacode
\startTEXpage
$a := b <= =< c =: d >= e$
\stopTEXpage
\stoptext
I have experimented with a theorem proof assistant that admitted parallel ASCII
and Unicode symbol names, but it turns out to be complicated. Think of C/C++
trigraphs, a chore to implement, only to be removed in the latest standards.
So I think one should only focus on UTF-8, and add TeX ASCII “\” commands as a
complement.
One problem with this approach is the lack of Unicode input methods. But that
may coming.
For example, instead having “:=“ in the input file and let Lua translate it,
one can merely type it and let the text editor translate it ≔ COLON EQUALS
U+2254.
that is ok for some input sequences (this kind of input translation
happens for accented characters and some math like negated symbols) but
replacing <= in the input is bad as it is only meaningful in math and
not all input is math (and unicode lacks script/language tagging); keep
in mind that 'verbatim' in tex really means verbatim and input
translation contradicts that
It will save a lot of programming time, at least on the ConTEXt project. :-)
not really as that code is already in place for years; in this case it
mainly boils down to adding some extra entries in the character database
(and this code is simple compared to other code so not much to save here)
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : [email protected] / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________