The package cmll
defines \with
(looks like '&') as
$ texdef -t latex -p cmll with
\with:
\mathchar"2026
\the\with:
8230
When I take a look at \&
it is defined as
texdef -t latex \&
\&:
\char"26
\the\&:
38
So \with
and \&
seem to be different, although the resuls look identical to me. What is the difference?
Best Answer
The four hexadecimal digits
"kfab
in a\mathchar
specifyk
is the atom type (0 = ordinary, 1 = operator, 2 = binary operation, 3 = relation, 4 = opening, 5 = closing, 6 = punctuation, 7 = variable family);f
the math group (font family) where the glyph should be taken from;ab
the slot in the font.One can use
\mathchar<15 bit number>
directly or defineso, for instance, after
\mathchardef\with="2026
the command\with
is equivalent to typing\mathchar"2026
(or\mathchar8230
, for"
specifies hexadecimal number).Typing
\char<8 bit number>
tells TeX to use the character from the current font in the specified slot. However, when in math mode,\char"ab
is equivalent to saying\mathchar"00ab
, so ordinary symbol from math group 0 and the same slot. The\chardef
command is the counterpart of\mathchardef
and, indeed,\&
is usually defined asSmall lie: it's
\chardef\&=`&
, but it's not really important.There is a big difference between
$x \mathchar"2026 y$
and$x \char"26 y$
, or, with the definitions aboveIn the first case the
&
symbol is spaced as it's good for a binary operation, in the second case no space is added, because we're specifying three ordinary symbols.