%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Module: ZzTeX New Mathematics Facilities % % Synopsis: This file provides the mathematics facilities for "new math" % modes 1 and 2. It is loaded after the design file. % % Author: Paul C. Anagnostopoulos % Created: 16 October 2002 % % Copyright 1989--2020 by Paul C. Anagnostopoulos % under The MIT License (opensource.org/licenses/MIT) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Punctuation % ----------- \if \eqlp{\newmath}{1}% \def \ldotp {\hbox to .42em{\hfil.\hfil}} \else\if \gtrp{\newmath}{1}% % This macro defines the math characters \zmperiod, \zmcomma, % colon, and semicolon to use the specified style. % If the style is \mit, then it's different. \def \setmathpunctuationstyle #1{% {style} {\zmstyfam = \name{#1fam}% \definemathchar {\zmperiod} \classord \zmstyfam {2E} \definemathchar {\zmcomma} \classpunc \zmstyfam {2C} \definemathchar {`;} \classpunc \zmstyfam {3B} \definemathchar {`:} \classrel \zmstyfam {3A}}} % Now establish \rm as the default punctuation style. \setmathpunctuationstyle{\rm} % Period and comma must be active in math. \definemathchar {`.} \classactive \rmfam {00} \definemathchar {`,} \classactive \rmfam {00} % When period and comma are active in math, this is what they do. { \catcode `\. = \catactive \gdef .{\mathpalette\zmactperiod{}} \catcode `\, = \catactive \gdef ,{\mathpalette\zmactcomma{}} } \def \zmactperiod #1#2{% \mathord{\hbox to .28em{\hfil $#1\zmperiod$\hfil}}} \def \zmactcomma #1#2{% \mathpunct{\hbox to .33em{\hfil $#1\zmcomma$\kern .03em\hfil}}} % Now we can define all the dot-oriented math commands. \def \cdotp {\mathpunct{\vcenter{\hbox{$.$}}}} \def \ldotp {\mathpunct{.}} \def \cdots {\mathinner{\cdotp\cdotp\cdotp}} \def \ddots {% \vbox{\baselineskip = 4pt \lineskiplimit = 0pt \hbox{.}% \hbox{\kern .4em .}% \hbox{\kern .8em .}% \vskip -.25ex}} \def \ldots {\mathinner{\ldotp\ldotp\ldotp}} \def \vdots {% \vbox{\baselineskip = 4pt \lineskiplimit = 0pt \hbox{.}% \hbox{.}% \hbox{.}% \vskip -.25ex}} % Make \maps and \colon do the right thing. \def \maps {\mathpunct{:}} \let \colon = \maps \fi\fi