[NTG-context] Math literal colon

Manuel Blanco manuelbl at ucm.es
Mon Jul 20 21:34:19 CEST 2015


I'm not sure I understand what you mean. It's true that the colon used
in \colon differs from the one used if you input : directly by default
(it's smaller). In any case, I don't see where your discussion is
going, so I will write here a few definitions.

This is the definition of amsmath in LaTeX. (Used like $f\amscolon A \to B$)

    \def\amscolon{\nobreak\mskip2mu\mathpunct{}\nonscript\mkern-\thinmuskip
               \mathord{\mathchar`\:}\mskip6muplus1mu\relax}

The definition of a coordinate separator should be with \mathpunct,
although it doesn't look particularly good, so may be better to use no
space at all (as commented in other mails). (Used like $(x\projsep
y\projsep z)$)

    \def\projsep{\mathpunct{\mathchar`\:}}
      % if no space is wanted, the definition should be
      % {\mathpunct{\mathchar`\:}\nonscript\mkern-\thinmuskip}

In the case of \ratio, since it's a binary operator, it should be
\mathbin; but may be that's too much space and tighter spacing would
be better. (Used like $A \ratio B \quad 3\ratio2\ratio1$)

    \def\ratio{\mathbin{\mathchar`\∶}} % may be tighter spacing
playing with other atom types and \mkern

And also the relation : which is the spacing that comes by default and
is the same as if a macro contained \mathrel{\mathchar`\:}.

That said, if you want to define the normal : character in _input_ to
give you one of the above in _output_, just change the definition (in
this case I define : to give \amscolon)

    \begingroup\lccode`\~=`\:\lowercase{\endgroup
      \unexpanded\def~}{\amscolon}
    \mathcode`\:="8000 %

In any case, if this message is out of place, sorry, but I really
didn't understand where your question/discussion was going.


More information about the ntg-context mailing list