1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Module: ZzTeX New Mathematics Facilities
%
% Synopsis: This file provides the mathematics facilities for "new math"
% version 4.
%
% Author: Paul C. Anagnostopoulos
% Created: 24 September 2003
%
% Copyright 1989--2020 by Paul C. Anagnostopoulos
% under The MIT License (opensource.org/licenses/MIT)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Document Parameters
% -------- ----------
\delimitershortfall = 2pt
% Math Spaces
% ---- ------
\setmathspaces{4mu plus .25mu minus .5mu}
{4mu plus .25mu minus .5mu}
{4mu plus .25mu minus .5mu}%
% Math Font Selections
% ---- ---- ----------
\outer\def \ComputerModernmathfonts {%
\input zzcmmath\relax
\setmathpunctuationstyle{\mit}{\rm}}
\outer\def \Lucidamathfonts #1{% {arrows?}
\setflag \zusemar = #1\relax
\input zzlucida\relax
\setmathpunctuationstyle{\mit}{\rm}}
\outer\def \MathTimefonts #1{% {text face is Times?}
\input zzmtime\relax
\if #1%
\setmathpunctuationstyle{\mit}{\rm}%
\else
\setmathpunctuationstyle{\rm}{\rm}%
\fi}
\outer\def \Stonemathfonts {%
\setmathpunctuationstyle{\rm}{\rm}}
% Punctuation Style
% ----------- -----
% Here we deal with the style for comma, period, semicolon, and colon.
% The default punctuation style for all four is \rm.
% 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#2{% {\style1}{\style2}
{\zmstyfam = \name{#1fam}%
\if \eqlp{\zmstyfam}{\mitfam}%
\definemathchar {`.} \classord \mitfam {3A}
\definemathchar {`,} \classpunc \mitfam {3B}
\else
\definemathchar {`.} \classactive \rmfam {00}
\definemathchar {`,} \classactive \rmfam {00}
\definemathchar {\zmperiod} \classord \zmstyfam {2E}
\definemathchar {\zmcomma} \classpunc \zmstyfam {2C}
\fi
\zmstyfam = \name{#2fam}%
\definemathchar {`;} \classpunc \zmstyfam {3B}
\definemathchar {`:} \classrel \zmstyfam {3A}}}
% 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 .275em{\hfil $#1\zmperiod$\kern .06em\hfil}}}
\def \zmactcomma #1#2{%
\mathpunct{\hbox to .331em{\kern .045em $#1\zmcomma$\hfil}}}
% Dot-Related 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}}
% Colon Commands
% ----- --------
\def \maps {\mathpunct{:}}
\let \colon = \maps
|