The mathtime and mathpi packages^{∗}^{†}

Frank Mittelbach with support by David Carlisle 1997/03/14

1 The mathtime package

The mathtime package contains the code to support the Math Time fonts.

1.1 Usage and options

To load support for the Math Time fonts add the following declaration to the preamble of your L^{A}TEX document:

     \usepackage[⟨options⟩]{mathtime}

This package supports several options: nobold default. cmbold use cm bold fonts (not recommended, the bold fonts will then be encoded

differently to the normal weight ones, and no account of this will be taken). mtbold This provides bold and heavy math versions coming with the Math Time

Plus fonts. heavybold Also requires the Math Time Plus font set, just define bold math

version (not heavy) but use the heavy fonts where available.

In all cases the user level command \heavymath is defined to be \boldmath if the heavy math version is not defined.

slantedgreek Make the lowercase greek letters slanted (by default). Note that

the uppercase greek letters are always upright. uprightgreek Make the lowercase greek letters upright. subscriptcorrection Redefine _so that it automatically adds negative kerns in

∗This file has version number v1.0c, last revised 1997/03/14.

†Development of this package was commissioned by Y&Y.

subscripts if they start with either j, p, or f. This option might generate problems if other packages are loaded as well. The subscript correction also be be turned on and off within the document using the commands:

\enablesubscriptcorrection and \disablesubscriptcorrection.

nosubscriptcorrection Disable the the subscript correction (default).

cmcal This option uses the Computer Modern calligraphic alphabet for \mathcal — a bad choice, but what do you do if nothing else is at your disposal. We make this the default as we know that it is always around.

lucidacal This options sets up \mathcal to load the Lucida calligraphic font as a math alphabet. It also defines \mathbcal to always refer to the bold series of this alphabet.

lucidascr Like lucidacal but puts the font into \mathscr. This might be useful if for some reason \mathcal already contains some special calligraphic alphabet.

mtplusscr This options sets up \mathscr to load the Math Time Plus script font as a math alphabet. It also defines \mathbscr to always refer to the bold series of this alphabet.

mtpluscal Like mtplusscr but puts the font into the \mathcal alphabet.

noTS1 The use of the mathtime fonts with text fonts encoded in the standard OT1 or T1 encodings leaves a few symbols (section and paragraph marks, and dagger symbols) undefined. By default the TS1 ‘text companion encoding’ will be used to access these symbols, but this option suppresses that. If the LY1 option (below) is used this option will be implied and dagger etc will be drawn from the operators font.

OT1 Use OT1 encoing for the operators font. This is the normal behaviour, but in this package the default behaviour is to use the default text encoding for the operators font.

T1 Use T1 encoding for the operators font.

LY1 Use LY1 (Y&Y’s ‘locally’ defined texnansi encoding) In the operators font. This option implies the noTS1 option. Dagger etc will be drawn from the operators font in this case.

Not all options can be used together, e.g., one can at most select one of the options setting up \mathcal, if both options are given mtpluscal will win over

luciadcal and in case of \mathscr, lucidascr will be the winner over mtplusscr.

This package makes a lot of font re-assignments. Normally these generate warning messages on the terminal, however getting so many messages would be distracting, so a further three options control the font tracing. Even more control may be obtained by loading the tracefnt package. errorshow Only show font errors on the terminal. Warnings are just sent to the

log file. This is the default for this package.

warningshow Show font warnings on the terminal. This corresponds to the usual L^{A}TEX behaviour.

nofontinfo Suppress all font warnings, even from the log file.

1.2 Text fonts

The package sets up Times, Helvetica, and Courier as the default text fonts (selected through \textrm, \textsf, and \texttt) unless the text fonts have been explicitly set, e.g., by loading a package like newcent before loading the mathtime package. More exactly the package checks if \rmdefault refers to cmr and in that case changes all three defaults.

To support a few symbols not available in the Math Time fonts (but normally available with L^{A}TEX) the mathtime package has to load the the symbol companion font for Times (i.e., the TS1 encoded font). To preserve space we do not load the corresponding package (texcomp) but only declare those characters we do need. If you do want all symbols from this font available in your text load the textcomp package in the preamble. Conversely you may suppress the declaration of these symbols from the TS1 encoded fonts by use of the nots1 package option, in which case the default definitions refering to the standard TEX encodings and hence possibly the Computer Modern fonts will be used.

1.3 Provided math alphabets

The package provides be default the five standard math alphabets \mathrm, \mathbf, \mathit, \mathsf and \mathtt pointing to the document text fonts, the first three to the roman font in normal, bold, and italic, the others to the sans serif and the typewriter font.

The \mathcal and \mathbcal defaults to the Computer Modern calligraphic alphabet but can be modified with options as decribed above.

Script alphabets with \mathscr and \mathbscr are only available if explicitly selected by an option.

Alternatively one can select other fonts for \mathscr and \mathcal, for example, by loading the mathpi package described below. An alternative (although not blending very well) would be the the Euler Script fonts from the AMS font collection which can be loaded as either \mathcal or \mathscr using the eucal package.

A Fraktur alphabet (\mathfrak) can be loaded with the mathpi fonts (a good match) or by loading the eufrak package from the AMS font collection.

1.4 Additional or changed symbols

The Math Time fonts contain a small number of additional symbols which are made available by the mathtime package. See the general documentation of the Math Time fonts.

1.5 Font sizes

L^{A}TEX is set up in a way that the user normally uses commands that hide font sizes rather than specifying font sizes explicitly, e.g., instead of \fontsize{17pt}{19pt} \selectfont a command like \LARGE is used (which does in fact a bit more than just setting the font size).

It is the task of a document class and not that task of a support package like this one to decide about the absolute sizes used in a document. The task of a package like mathtime is to provide sensible values for math sizes given some text size.

The default ratio for script fonts is 0.76 and for scriptscript fonts 0.6.

2 The mathpi package

The mathpi package provides support for the Adobe math pi fonts by declaring a number of math alphabets. It can be used independly of the mathtime package. At least one option has to be given, otherwise loading this package will have no effect.

mathfrak Defines \mathfrak to refer to the fraktur alphabet from the Math Pi Two font.

mathscr Defines \mathscr to refer to the script alphabet from the Math Pi Two font. This needs the font especially encoded, see mtfonts.fdd for details.

mathcal Defines the script alphabet under the math alphabet command usually used for a calligraphic font, otherwise like mathscr.

mathbb Defines \mathbb to refer to the blackboard bold math alphabet from Math Pi Six.

3 The implementation of mathtime

3.1 Options

We start with declaring the options. For the (un)slanted greek we need store the shape information in a macro. For the various bold options we use \boldmath as a marker since this needs redefinition anyway.

1 ⟨∗mathtime⟩

 2 \newcommand\greekshape{}
 3 \DeclareOption{slantedgreek}{\renewcommand\greekshape{it}}
 4 \DeclareOption{uprightgreek}{\renewcommand\greekshape{n}}
 5 \DeclareOption{nobold}{\let\boldmath=u}
 6 \DeclareOption{cmbold}{\let\boldmath=c}

 7 \DeclareOption{mtbold}{\let\boldmath=m}
 8 \DeclareOption{heavybold}{\let\boldmath=h}
 9 \newcommand\enablesubscriptcorrection {\catcode`\_=12\relax}
10 \newcommand\disablesubscriptcorrection{\catcode`\_=8\relax}
11 \DeclareOption{nosubscriptcorrection}{\disablesubscriptcorrection}
12 \DeclareOption{subscriptcorrection}  {\enablesubscriptcorrection}

We signal that we want Lucida calligraphic by defining \mathcal to be the letter l. In a similar fashion we handle \mathscr.

13 \DeclareOption{cmcal}    {\let\mathcal=c}
14 \DeclareOption{lucidacal}{\let\mathcal=l}
15 \DeclareOption{mtplusscr}{\let\mathscr=s}
16 \DeclareOption{mtpluscal}{\let\mathcal=s}
17 \DeclareOption{lucidascr}{\let\mathscr=l}

The use of the mathtime fonts with text fonts encoded in the standard OT1 or T1 encodings leaves a few symbols (section and paragraph marks, and dagger symbols) undefined. By default the TS1 ‘text companion encoding’ will be used to access these symbols, but this option suppresses that. (Leaving you to define these symbols yourself some other way, or to accept the default definitions, from Computer Modern.)

18 \DeclareOption{noTS1}    {\let\symtextcomp\relax}

The next few options control the encoding used for the ‘operators’ font. When using Computer Modern Math fonts an OT1 font must be used even if an alternative encoding, such as T1, is used for the text fonts. This is due to the fact that the default math setup assumes that certain symbols (such as uppercase Greek) are available from the text font used for the operators symbol font. With this package this restriction is not needed as all symbols are accessed from the mathtime fonts. By default use the current text encoding.

19 \let\operator@encoding\encodingdefault

Use OT1 encoded ‘operators’ fonts.

20 \DeclareOption{OT1}{\def\operator@encoding{OT1}}

Use T1 encoded ‘operators’ fonts.

21 \DeclareOption{T1}{\def\operator@encoding{T1}}

Use LY1 (The local ‘texnansi’ encoding used by the Y&Y TEX system) encoded ‘operators’ fonts. This option implies the ‘noTS1’ option as the LY1 encoding includes the dagger and other symbols.

22 \DeclareOption{LY1}{\def\operator@encoding{LY1}\ExecuteOptions{noTS1}}

This package makes a lot of redefinitions. The warnings can be rather annoying so some package options control whether the information is printed to the terminal or log file. More control can be obtained by loading the tracefnt package.

Just show font errors; Warning and info to the log file. The default for this package.

23 \DeclareOption{errorshow}{%
24 \def\@font@info#1{%

25  \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
26  {LaTeX Font Info: \space\space\space#1}}%
27  \def\@font@warning#1{%
28  \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
29  {LaTeX Font Warning: #1}}}

The normal L^{A}TEX default, Font Info to the log file and Font Warning to the terminal.

30 \DeclareOption{warningshow}{%
31 \def\@font@info#1{%
32  \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
33  {LaTeX Font Info: \space\space\space#1}}%
34  \def\@font@warning#1{%
35  \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}%
36  {LaTeX Font Warning: #1}}}

On some machines writing all the log info may slow things down so extra option not to log font changes at all.

37 \DeclareOption{nofontinfo}{%
38 \let\@font@info\@gobble
39 \let\@font@warning\@gobble}

The defaults:

40 \ExecuteOptions{%
41 slantedgreek,nobold,nosubscriptcorrection,cmcal,errorshow}
42 \ProcessOptions

If the text font default for roman is CMR we switch to Times, otherwise we assume that the user has already added a package selecting the text font faces.

43 \edef\@tempa{\rmdefault}
44 \def\@tempb {cmr}
45 \ifx\@tempa\@tempb
46 \renewcommand*\sfdefault{phv}
47 \renewcommand*\rmdefault{ptm}
48 \renewcommand*\ttdefault{pcr}
49 \renewcommand*\bfdefault{b}
50 \fi

3.2 Math Font Declarations

As the Math Time fonts unfortunately do come with their private encoding we need to make those encodings known to L^{A}TEX.

51 \DeclareFontEncoding{MY1}{}{}
52 \DeclareFontEncoding{MY2}{}{}
53 \DeclareFontEncoding{MY3}{}{}
54 \DeclareFontSubstitution{MY1}{mtt}{m}{it}
55 \DeclareFontSubstitution{MY2}{mtt}{m}{n}
56 \DeclareFontSubstitution{MY3}{mtt}{m}{n}

Not clear if we should use \rmdefault or fix the operator symbol font to Times — probably the latter.

The main four symbol fonts are already declared in the L^{A}TEX format. Thus we don’t need to declare them but simply change he relevant slots in the normal and bold math version.

57 %\DeclareSymbolFont{operators}   {\operator@encoding}{\rmdefault}{m}{n}
58 %\DeclareSymbolFont{letters}     {MY1}{mtt}{m}{it}
59 %\DeclareSymbolFont{symbols}     {MY2}{mtt}{m}{n}
60 %\DeclareSymbolFont{largesymbols}{MY3}{mtt}{m}{n}

The normal weight fonts are availble by default.

61 \SetSymbolFont{operators}   {normal}{\operator@encoding}{ptm}{m}{n}
62 \SetSymbolFont{letters}     {normal}{MY1}{mtt}{m}{it}
63 \SetSymbolFont{symbols}     {normal}{MY2}{mtt}{m}{n}
64 \SetSymbolFont{largesymbols}{normal}{MY3}{mtt}{m}{n}

If the cmbold package option is specified then the Computer Modern Bold math fonts will be used (as is the normal L^{A}TEX default). The mathtime fonts are differently encoded, and so the use of this option may produce some incorrect characters (with no warning). However it may be useful if the ‘mathtime plus’ bold fonts are not available, and a few bold symbols are needed for special circumstances. (However CM bold is not much bolder than mathtime normal weight, and is not really visually compatible).

65 \ifx\boldmath c
66 \SetSymbolFont{operators}   {bold}{\operator@encoding}{cmr}{bx}{n}
67 \SetSymbolFont{letters}     {bold}{OML}{cmm}{b}{it}
68 \SetSymbolFont{symbols}     {bold}{OMS}{cmsy}{b}{n}
69 \SetSymbolFont{largesymbols}{bold}{MY3}{mtt}{m}{n}
70 \PackageWarningNoLine{mathtime}
71 {The use of the `cmbold' option will result\MessageBreak
72 in incorrect characters in some circumstances\MessageBreak
73 without any warning as the Math Time fonts and the\MessageBreak
74 Computer Modern fonts have incompatible encodings.\MessageBreak
75 Please use this option with care!\@gobble}
76 \renewcommand\boldmath{\@nomath\boldmath\mathversion{bold}}
77 \let\heavymath\boldmath
78 \fi

This is the default behaviour for this package, \boldmath is not available. As it is no longer available save some space by removing it from the internal list of math versions. (Then waste most of the saving on the text of an error message.)

79 \ifx\boldmath u
80 \let\@tempa\version@elt
81  \def\version@elt#1{%
82  \ifx\mv@bold#1\else\noexpand\version@elt\noexpand#1\fi}
83  \edef\version@list{\version@list}
84 \let\version@elt\@tempa
85 \let\mv@bold\@undefined
86 \renewcommand\boldmath{\PackageError{mathtime}%

 87  {Bold math is not supported}%
 88  {Use cmbold or mtbold options}}
 89 \let\heavymath\boldmath
 90 \fi

If the bold (and heavy) mathtime fonts are available then they can be assigned to the appropriate math versions by specifying the mtbold package option.

 91 \ifx\boldmath m
 92 \SetSymbolFont{operators}{bold}{\operator@encoding}{\rmdefault}{b}{n}
 93 \SetSymbolFont{letters}     {bold}{MY1}{mtt}{b}{\greekshape}
 94 \SetSymbolFont{symbols}     {bold}{MY2}{mtt}{b}{n}
 95 \SetSymbolFont{largesymbols}{bold}{MY3}{mtt}{b}{n}
 96 \DeclareMathVersion{heavy}
 97 \SetSymbolFont{operators}{heavy}{\operator@encoding}{\rmdefault}{b}{n}
 98 \SetSymbolFont{letters}     {heavy}{MY1}{mtt}{ub}{\greekshape}
 99 \SetSymbolFont{symbols}     {heavy}{MY2}{mtt}{ub}{n}
100 \SetSymbolFont{largesymbols}{heavy}{MY3}{mtt}{ub}{n}

As the bold font is available, use these symbols from the symbols font rather than operators, so they are made bold by \boldmath.

101 \DeclareMathSymbol{:}{\mathrel}{symbols}{"56}
102 \DeclareMathSymbol{!}{\mathclose}{symbols}{"57}
103 \DeclareMathSymbol{[}{\mathopen}{symbols}{"54}
104 \DeclareMathSymbol{]}{\mathclose}{symbols}{"55}
105 \renewcommand\boldmath{\@nomath\boldmath\mathversion{bold}}
106 \newcommand\heavymath{\@nomath\heavymath\mathversion{heavy}}
107 \fi

Alternatively, you may specify the heavybold option, which instead of having a ‘heavy’ math version, places the heavy fonts in the ‘bold’ math version, to get greater visual contrast.

108 \ifx\boldmath h
109 \SetSymbolFont{operators}{bold}{\operator@encoding}{\rmdefault}{b}{n}
110 \SetSymbolFont{letters}     {bold}{MY1}{mtt}{ub}{\greekshape}
111 \SetSymbolFont{symbols}     {bold}{MY2}{mtt}{ub}{n}
112 \SetSymbolFont{largesymbols}{bold}{MY3}{mtt}{ub}{n}

As above, use these symbols from the symbols font rather than operators, so they are made bold by \boldmath.

113 \DeclareMathSymbol{:}{\mathrel}{symbols}{"56}
114 \DeclareMathSymbol{!}{\mathclose}{symbols}{"57}
115 \DeclareMathSymbol{[}{\mathopen}{symbols}{"54}
116 \DeclareMathSymbol{]}{\mathclose}{symbols}{"55}
117 \renewcommand\boldmath{\@nomath\boldmath\mathversion{bold}}
118 \let\heavymath\boldmath
119 \fi

3.3 Math alphabet declarations

The standard alphabets first.

We don’t have to declare \mathrm as L^{A}TEX declares it as a math symbol alphabet pointing to “operators” symbol font. But if we redeclare it it will then use the text fonts which might not be Times.

As standard L^{A}TEX provides a couple of alphabets we better change them all …

120 \SetMathAlphabet{\mathrm}{normal}{\encodingdefault}{\rmdefault}{m}{n}
121 \SetMathAlphabet{\mathbf}{normal}{\encodingdefault}{\rmdefault}{b}{n}
122 \SetMathAlphabet{\mathit}{normal}{\encodingdefault}{\rmdefault}{m}{it}
123 \SetMathAlphabet{\mathsf}{normal}{\encodingdefault}{\sfdefault}{m}{n}
124 \SetMathAlphabet{\mathtt}{normal}{\encodingdefault}{\ttdefault}{m}{n}

If a bold or heavy version exists add appropriate values. Right now \mathbf is the same in all versions.

125 \ifx\mv@bold\@undefined
126 \else
127 \SetMathAlphabet{\mathrm}{bold} {\encodingdefault}{\rmdefault}{b}{n}
128 \SetMathAlphabet{\mathbf}{bold} {\encodingdefault}{\rmdefault}{b}{n}
129 \SetMathAlphabet{\mathit}{bold} {\encodingdefault}{\rmdefault}{b}{it}
130 \SetMathAlphabet{\mathsf}{bold} {\encodingdefault}{\sfdefault}{b}{n}

If the typewriter is Computer Modern the next declaration will revert to normal (with a warning) but such is life.

131 \SetMathAlphabet{\mathtt}{bold} {\encodingdefault}{\ttdefault}{b}{n}
132 \fi
133 \ifx\mv@heavy\@undefined
134 \else
135 \SetMathAlphabet{\mathrm}{heavy}{\encodingdefault}{\rmdefault}{b}{n}
136 \SetMathAlphabet{\mathbf}{heavy}{\encodingdefault}{\rmdefault}{b}{n}
137 \SetMathAlphabet{\mathit}{heavy}{\encodingdefault}{\rmdefault}{b}{it}
138 \SetMathAlphabet{\mathsf}{heavy}{\encodingdefault}{\sfdefault}{b}{n}
139 \SetMathAlphabet{\mathtt}{heavy}{\encodingdefault}{\ttdefault}{b}{n}
140 \fi

3.3.1 Script alphabets

If the mtplusscr option was selected we make \mathscr point to Spivak’s script font.

Declaring the bold version first takes care of bold and heavy version. So far this doesn’t allow for alternatives but I think the best solution here would be to provide input ligatures *A etc. in the font itself. However as TEX doesn’t handle math accents correctly in that case that idea might not be so good after all. Perhaps defining a \variant command might be better, e.g., \mathscr{\variant A} — we’ll see.

141 \ifx\mathscr s
142 \let\mathscr\relax
143 \DeclareMathAlphabet\mathscr{U}        {mtms}{b}{n}

144 \SetMathAlphabet    \mathscr{normal}{U}{mtms}{m}{n}

The \mathbscr is bold in all versions.

145 \DeclareMathAlphabet\mathbscr{U}{mtms}{b}{n}
146 \fi

If lucidascr was selected we put the Lucida calligraphic font in \mathscr:

147 \ifx\mathscr l
148 \let\mathscr\relax
149 \DeclareMathAlphabet{\mathscr}          {OMS}{lby}{b}{n}
150 \SetMathAlphabet    {\mathscr}{normal}  {OMS}{lby}{m}{n}

\mathbscr will be bold in all math versions.

151 \DeclareMathAlphabet{\mathbscr}         {OMS}{lby}{b}{n}
152 \fi

3.3.2 Calligraphic alphabets

If the lucidacal option was selected we set up \mathcal.

153 \ifx\mathcal l
154 \let\mathcal\relax
155 \DeclareMathAlphabet{\mathcal}          {OMS}{lby}{b}{n}
156 \SetMathAlphabet    {\mathcal}{normal}  {OMS}{lby}{m}{n}

\mathbcal will be bold in all math versions.

157 \DeclareMathAlphabet{\mathbcal}         {OMS}{lby}{b}{n}
158 \fi

The code below refers to the mtpluscal option:

159 \ifx\mathcal s
160 \let\mathcal\relax
161 \DeclareMathAlphabet\mathcal{U}        {mtms}{b}{n}
162 \SetMathAlphabet    \mathcal{normal}{U}{mtms}{m}{n}

The \mathbcal is bold in all versions.

163 \DeclareMathAlphabet\mathbcal{U}{mtms}{b}{n}
164 \fi

The code below will be used if no calligraphic option has been selected. We need to redeclare that alphabet as by default it points to the symbols alphabet that in case of the Math Time fonts simply doesn’t contain a math alphabet any longer.

165 \ifx\mathcal c
166 \let\mathcal\relax
167 \DeclareMathAlphabet\mathcal{OMS}        {cmsy}{b}{n}
168 \SetMathAlphabet    \mathcal{normal}{OMS}{cmsy}{m}{n}

The \mathbcal is bold in all versions.

169 \DeclareMathAlphabet\mathbcal{OMS}       {cmsy}{b}{n}

170

171 \fi

3.4 Math Symbol Declarations

In MathTıme, italic upper case Greek found in math italic font and we don’t make them changable with the font.

172 \DeclareMathSymbol\Gamma  {\mathord}{letters}{"30}
173 \DeclareMathSymbol\Delta  {\mathord}{letters}{"31}
174 \DeclareMathSymbol\Theta  {\mathord}{letters}{"32}
175 \DeclareMathSymbol\Lambda {\mathord}{letters}{"33}
176 \DeclareMathSymbol\Xi     {\mathord}{letters}{"34}
177 \DeclareMathSymbol\Pi     {\mathord}{letters}{"35}
178 \DeclareMathSymbol\Sigma  {\mathord}{letters}{"36}
179 \DeclareMathSymbol\Upsilon{\mathord}{letters}{"37}
180 \DeclareMathSymbol\Phi    {\mathord}{letters}{"38}
181 \DeclareMathSymbol\Psi    {\mathord}{letters}{"39}
182 \DeclareMathSymbol\Omega  {\mathord}{letters}{"7F}
183 \DeclareMathSymbol\varGamma    {\mathord}{letters}{0}
184 \DeclareMathSymbol\varDelta    {\mathord}{letters}{1}
185 \DeclareMathSymbol\varTheta    {\mathord}{letters}{2}
186 \DeclareMathSymbol\varLambda   {\mathord}{letters}{3}
187 \DeclareMathSymbol\varXi       {\mathord}{letters}{4}
188 \DeclareMathSymbol\varPi       {\mathord}{letters}{5}
189 \DeclareMathSymbol\varSigma    {\mathord}{letters}{6}
190 \DeclareMathSymbol\varUpsilon  {\mathord}{letters}{7}
191 \DeclareMathSymbol\varPhi      {\mathord}{letters}{8}
192 \DeclareMathSymbol\varPsi      {\mathord}{letters}{9}
193 \DeclareMathSymbol\varOmega    {\mathord}{letters}{10}

The next setting all need to be checked for correctness (with a test file). Those settings where I think the L^{A}TEX defaults are the same, are commented out.

194 \DeclareMathSymbol{(}{\mathopen}{letters}{"2E} % was 028
195 \DeclareMathSymbol{)}{\mathclose}{letters}{"2F} % was 029

Not sure this version of \DeclareMathDelimiter is documented or used anywhere, but like \DeclareMathSymbol it can take a character token (and one less argument).

196 \DeclareMathDelimiter{(}{letters}{"2E}{largesymbols}{"00}
197 \DeclareMathDelimiter{)}{letters}{"2F}{largesymbols}{"01}
198 %\DeclareMathSymbol{.}{\mathord}{letters}{"3A}
199 %\DeclareMathSymbol{,}{\mathpunct}{letters}{"3B}
200 %\DeclareMathSymbol{\ldotp}{\mathpunct}{letters}{"3A}
201 \DeclareMathSymbol{\triangleleft}{\mathbin}{symbols}{"47}  % was 12F
202 \DeclareMathSymbol{\triangleright}{\mathbin}{symbols}{"46} % was 12E
203 \DeclareMathSymbol{\comp}{\mathbin}{symbols}{"42}       % new?
204 \DeclareMathSymbol{\setdif}{\mathbin}{symbols}{"58}     % new
205 \DeclareMathSymbol{\cupprod}{\mathbin}{symbols}{"59}    % new
206 \DeclareMathSymbol{\capprod}{\mathbin}{symbols}{"5A}    % new
207 \DeclareMathSymbol{+}{\mathbin}{symbols}{"43}           % was 02B
208 \DeclareMathSymbol{=}{\mathrel}{symbols}{"44}           % was 03D

209 \let\Relbar\@undefined
210 \DeclareMathSymbol{\Relbar}{\mathrel}{symbols}{"48}     % was a macro
211 \DeclareMathSymbol{;}{\mathpunct}{symbols}{"49}         % was 13B
212 \DeclareMathSymbol{\varkappa}{\mathord}{letters}{"7E}   % new (AMS)

We make all accents \mathord; as they are placed in strange positions it is really not feasible to support changing them.

213 \DeclareMathAccent{\vec}{\mathord}{symbols}{"45}
214 \DeclareMathAccent{\grave}{\mathord}{symbols}{"4A}
215 \DeclareMathAccent{\acute}{\mathord}{symbols}{"4B}
216 \DeclareMathAccent{\check}{\mathord}{symbols}{"4C}
217 \DeclareMathAccent{\breve}{\mathord}{symbols}{"4D}
218 \DeclareMathAccent{\bar}{\mathord}{symbols}{"4E}
219 \DeclareMathAccent{\hat}{\mathord}{symbols}{"4F}
220 \DeclareMathAccent{\dot}{\mathord}{symbols}{"50}
221 \DeclareMathAccent{\tilde}{\mathord}{symbols}{"51}
222 \DeclareMathAccent{\ddot}{\mathord}{symbols}{"52}
223 \DeclareMathAccent{\widebar}{\mathord}{symbols}{"53} % new

Next two are the same as in standard L^{A}TEX.

224 %\DeclareMathAccent{\widetilde}{\mathord}{largesymbols}{"65}
225 %\DeclareMathAccent{\widehat}{\mathord}{largesymbols}{"62}

3.5 AMS double accent commands

Unfortunately the AMS double accent commands such as \Hat assume that the math accents come from an ‘OT1’ encoded font in the ‘operators’ math symbol font. To use these commands with mathtime you may need to place code such as the following into a package file and load that after loading the amsmath package. This section is commented out here as it would not work without several other sections of amsmath, and a future release of the AMS package may anyway remove some of these encoding assumptions.

  \def\@math@ccent#1#2#3{%
   \RIfM@
   \xdef\thefam@{\ifnum\mathgroup=\m@ne1\else\the\mathgroup\fi}%
   \accentdimen@\z@
   \setboxz@h{\unbracefonts@$\m@th\mathgroup\thefam@\relax#3$}%
   \ifdim\accentdimen@=\z@\DN@{#2{#3}}%
    \setbox\@ne\hbox{\unbracefonts@
      $\m@th\mathgroup\thefam@\relax#3\theskewchar@$}
    \setbox\tw@\hbox{$\m@th\ifnum\skewcharcount@=\m@ne\else
     \mathchar\skewcharcount@\fi$}%
    \global\accentdimen@\wd\@ne\global\advance\accentdimen@-\wdz@
    \global\advance\accentdimen@-\wd\tw@
    \global\multiply\accentdimen@\tw@
    \dimentomu@\global\advance\accentmu@\@ne
   \else\DN@{{#2{#3\mkern\accentmu@ mu}%
      \mkern-\accentmu@ mu}{}}\fi
   \next@

   \else
     \nonmatherr@#1%
   \fi}

  \def\Hat{\@math@ccent\Hat\hat}
  \def\Dot{\@math@ccent\Dot\dot}
  \def\Check{\@math@ccent\Check\check}
  \def\Tilde{\@math@ccent\Tilde\tilde}
  \def\Acute{\@math@ccent\Acute\acute}
  \def\Grave{\@math@ccent\Grave\grave}
  \def\Dot{\@math@ccent\Dot\dot}
  \def\Ddot{\@math@ccent\Ddot\ddot}
  \def\Breve{\@math@ccent\Breve\breve}
  \def\Bar{\@math@ccent\Bar\bar}
  \def\Vec{\@math@ccent\Vec\vec}

3.6 Math font sizes

Math Time, like most other type 1 fonts uses the same font at all sizes. For such fonts the default ratios (.7 and .5) produce unreadably small superscripts.

226 \def\defaultscriptratio{.76}
227 \def\defaultscriptscriptratio{.6}

These default ratios are not used for any sizes that have been explicitly declared, so redeclare the sizes used by the standard classes. At least for the lower sizes this is important as we don’t want to end up with a 5pt font being reduced even further.

The table below might need some further tweaking. I selected the numbers partly on a few visual tests (but not many) and partly on the idea that resusing sizes is better than introducing many new ones. Even with Type 1 fonts many people will produce pk versions of the fonts in their document (using gftopk, for example).

228 \DeclareMathSizes{5}     {6}   {6}  {6}
229 \DeclareMathSizes{6}     {6}   {6}  {6}
230 \DeclareMathSizes{7}     {6.8} {6}  {6}
231 \DeclareMathSizes{8}     {8}   {6.8}{6}
232 \DeclareMathSizes{9}     {9}   {7.6}{6}
233 \DeclareMathSizes{10}   {10}   {7.6}{6}
234 \DeclareMathSizes{10.95}{10.95}{7.6}{6}
235 \DeclareMathSizes{12}   {12}   {9}  {7}
236 \DeclareMathSizes{14.4} {14.4} {10} {8}
237 \DeclareMathSizes{17.28}{17.28}{12} {9}
238 \DeclareMathSizes{20.74}{20.74}{14.4}{10}
239 \DeclareMathSizes{24.88}{24.88}{17.28}{12}

3.7 Strange Commands

\vdots and \ddots take their “dots” from the math fonts. In fact this is something that should be corrected in base format of L^{A}TEX as well.

240 \newcommand\hb@xmdot{\hbox{$\m@th.$}}
241 \def\vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@
242 \kern6\p@\hb@xmdot\hb@xmdot\hb@xmdot}}
243 \def\ddots{\mathinner{\mkern1mu\raise7\p@\vbox{\kern7\p@
244 \hb@xmdot}\mkern2mu
245 \raise4\p@\hb@xmdot\mkern2mu\raise\p@\hb@xmdot\mkern1mu}}

\angle needs a thicker horizontal rule (what a mess).

246 \def\angle{{\vbox{\ialign{$\m@th\scriptstyle##$\crcr
247  \not\mathrel{\mkern14mu}\crcr
248  \noalign{\nointerlineskip}%
249  \mkern2.5mu%
250  \leaders\hrule\@height.48\p@\hfill\mkern2.5mu\crcr}}}}

Awful many tokens are wasted to define to lower horizontal bar in \hbar. The definition below uses ¯ from the symbol font to avoid problems with different text encodings in the operators font.

251 \def\hbar{{%
252 \dimen@.12em%
253 \dimen@ii.1em%
254 \def\@tempa##1##2{{%
255 \lower##1\dimen@\rlap{\kern##1\dimen@ii\the##2\tw@\char78}}}%
256 \mathchoice\@tempa\@ne\textfont
257  \@tempa\@ne\textfont
258  \@tempa\defaultscriptratio\scriptfont
259  \@tempa\defaultscriptscriptratio\scriptscriptfont
260 h}}
    Redefine \@fnsymbol to use \mathsection and \mathparagraph (Should be

done in base L^{A}TEX as well).

261 \def\@fnsymbol#1{\ensuremath{\ifcase#1\or *\or \dagger\or \ddagger\or
262 \mathsection\or \mathparagraph\or \|\or **\or \dagger\dagger
263 \or \ddagger\ddagger \else\@ctrerr\fi}}

Wasting a full symbol font just to have \dagger and friends. Here we pay part of the price for fact that the math time fonts have their own encoding incompatible with the CM fonts.

If the noTS1 option is used, this whole section is skipped unless LY1 or T1 encodings are being used, in which case the symbols can be accessed from the operators font.

264 \ifx\symtextcomp\relax
265 \def\@tempa{LY1}
266 \ifx\operator@encoding\@tempa
267  \DeclareMathSymbol\dagger {\mathbin}{operators}{134}
268  \DeclareMathSymbol\ddagger{\mathbin}{operators}{135}
269  \DeclareMathSymbol\mathsection{\mathord}{operators}{'247}

270  \DeclareMathSymbol\mathparagraph{\mathord}{operators}{'266}
271  \DeclareMathSymbol\mathsterling{\mathord}{operators}{163}
272  \let\mathunderscore\@undefined
273  \DeclareMathSymbol\mathunderscore{\mathord}{operators}{95}
274 \fi

If we have T1 encoded operators but are nt using TS1 can at least get pounds sign and underscore, but not dagger etc.

275 \def\@tempa{T1}
276 \ifx\operator@encoding\@tempa
277  \DeclareMathSymbol\mathsterling{\mathord}{operators}{191}
278  \let\mathunderscore\@undefined
279  \DeclareMathSymbol\mathunderscore{\mathord}{operators}{95}
280 \fi
281 \else
282 \DeclareFontEncoding{TS1}{}{}
283 \DeclareSymbolFont{textcomp}{TS1}{ptm}{m}{n}
284 \ifx\mv@bold\@undefined
285 \else
286  \SetSymbolFont    {textcomp}{bold}{TS1}{ptm}{b}{n}
287 \fi
288 \ifx\mv@heavy\@undefined
289 \else
290  \SetSymbolFont    {textcomp}{heavy}{TS1}{ptm}{b}{n}
291 \fi
292 \DeclareMathSymbol\dagger {\mathbin}{textcomp}{'204}
293 \DeclareMathSymbol\ddagger{\mathbin}{textcomp}{'205}

The math versions for § and ¶ are also not in the symbol fonts so we pick them up as well.

294 \DeclareMathSymbol\mathsection{\mathord}{textcomp}{'247}
295 \DeclareMathSymbol\mathparagraph{\mathord}{textcomp}{'266}
296 \fi

3.8 Encoding Specific Text Commands

Some encoding specific commands default to the OML or OMS encoding. As these encodings are not used with this package, we need to change the defaults.

These ones used to default to OML

297 \DeclareTextSymbolDefault{\textless}{MY1}
298 \DeclareTextSymbolDefault{\textgreater}{MY1}
299 \DeclareTextAccentDefault{\t}{MY2}

Important is to not only set the default the default but also declare the symbols itself. If this is forgotten calling the command will generate a loop. Or to quote David:

[hmm, otherwise you waste an hour or two staring at \tracingall output trying to work out what the heck is happening:-]

300 \DeclareTextSymbol{\textless}{MY1}{`\<}
301 \DeclareTextSymbol{\textgreater}{MY1}{`\>}
302 \DeclareTextAccent{\t}{MY2}{65}

These ones used to default to OMS

303 \DeclareTextSymbolDefault{\textasteriskcentered}{MY2}
304 \DeclareTextSymbolDefault{\textbackslash}{MY2}
305 \DeclareTextSymbolDefault{\textbar}{MY2}
306 \DeclareTextSymbolDefault{\textbraceleft}{MY2}
307 \DeclareTextSymbolDefault{\textbraceright}{MY2}
308 \DeclareTextSymbolDefault{\textbullet}{MY2}
309 \DeclareTextSymbolDefault{\textperiodcentered}{MY2}
310 \DeclareTextAccentDefault{\textcircled}{MY2}
311 \DeclareTextSymbol{\textasteriskcentered}{MY2}{"03}
312 \DeclareTextSymbol{\textbackslash}{MY2}{"6E}
313 \DeclareTextSymbol{\textbar}{MY2}{"6A}
314 \DeclareTextSymbol{\textbraceleft}{MY2}{"66}
315 \DeclareTextSymbol{\textbraceright}{MY2}{"67}
316 \DeclareTextSymbol{\textbullet}{MY2}{"0F}
317 \DeclareTextSymbol{\textperiodcentered}{MY2}{"01}
318 \DeclareTextCommand{\textcircled}{MY2}[1]{{%
319 \ooalign{%
320  \hfil \raise .07ex\hbox {\upshape#1}\hfil \crcr
321  \char"0D}}}

These also normally default to OMS, but are not available in MY1 or MY2, so get them from the TS1 encoded font.

322 \ifx\symtextcomp\relax
323 \else
324 \DeclareTextSymbolDefault{\textsection}{TS1}
325 \DeclareTextSymbolDefault{\textparagraph}{TS1}
326 \DeclareTextSymbol{\textsection}{TS1}{'247}
327 \DeclareTextSymbol{\textparagraph}{TS1}{'266}
328 \fi

3.9 Subscript correction

We provide a definition for _as active character. This definition in itself is not changing L^{A}TEX’s behaviour as by default _has catcode 8, i.e., subscript character. Only if we change this catcode or if we change the \mathcode of _TEX is going to look at it.

329 \begingroup
330 \catcode`\_=13
331 \gdef_#1{\sb{\test@sb#1}}
332 \endgroup

The \test@sb gets passed the argument of a subscript and tests with \@ifnextchar if the first non-space token is a p. If not it will look at \@let@token (set by \@ifnextchar) to see if it is perhaps j or f. In each case it will add a negative kern.

Note that this test will fail if an old L^{A}TEX is used as the old definition of \@ifnextchar does not use \@let@token but \@tempa. However, the worst that would happen is that the kern is not inserted. I tried to trap this by requesting a L^{A}TEX not older than 1995/01/01.

333 \def\test@sb{%
334 \@ifnextchar p%
335  {\mkern\m@ne mu}%
336  {\ifx\@let@token j%
337  \mkern-\tw@ mu%
338  \else
339  \ifx\@let@token f%
340  \mkern-\tw@ mu%
341  \fi
342  \fi}}

Finally we set the \mathcode of _to “active”. However, as long as its \catcode is not changed this \mathcode is never looked at, in other words we can now turn the feature on and off by changing the \catcode to 12 (that is done in the option section above).

343 \mathcode`\_="8000

344 ⟨/mathtime⟩

4 Math Pi

This package consist only of options declaring math alphabets:

345 ⟨∗mathpi⟩

346 \DeclareOption{mathfrak}{%
347 \DeclareMathAlphabet\mathfrak{U}{mh2}{m}{n}}
348 \DeclareOption{mathcal}{%
349 \DeclareMathAlphabet\mathcal{U}{mh2scr}{m}{n}}
350 \DeclareOption{mathscr}{%
351 \DeclareMathAlphabet\mathscr{U}{mh2scr}{m}{n}}
352 \DeclareOption{mathbb}{%
353 \DeclareMathAlphabet\mathbb{U}{mh6}{m}{n}}
354 \ProcessOptions

355 ⟨/mathpi⟩

4.1 Unused Declarations

The following declarations may be extracted from this source file, but they are not used in the mathpi package as equivalent code is called in the options section.

356 ⟨∗mpifrak⟩

357 \DeclareMathAlphabet\mathfrak{U}{mh2}{m}{n}

358 ⟨/mpifrak⟩ 359 % 360 ⟨∗mpiscr⟩

361 \DeclareMathAlphabet\mathscr{U}{mh2scr}{m}{n}

362 ⟨/mpiscr⟩ 363 % 364 ⟨∗mpibb⟩

365 \DeclareMathAlphabet\mathbb{U}{mh6}{m}{n}

366 ⟨/mpibb⟩

Change History

v0.2

General: nobold cmbold mtbold and heavybold options . . . . . . 4 save a few tokens here . . . . . . 14

     use \DeclareMathDelimiter . . 11

v0.3

General: nobold cmbold mtbold

and heavybold options . . . . . . 4 v0.7

General: Add font tracing control

options . . . . . . . . . . . . . . . . . . 4 v0.9

General: First public release . . . . . 4 v0.9a

General: Redeclare colon etc to the

symbols font . . . . . . . . . . . . . . 8 v0.9b

General: Dont force OT1 encoding for operators . . . . . . . . . . . . . . 7 New \hbar getting bar from symbol font not operators . . . . . . 14 New options for operator font encoding . . . . . . . . . . . . . . . . . . 5 option name change nots1 noTS1 . . . . . . . . . . . . . . . . . . 5

v0.9c

General: Add \varkappa . . . . . . 11 v1.0a

General: First ctan release . . . . . . 4 v1.0b

General: clear existing definitions of

                                             \mathscr and \mathcal . . . . . . 9

v1.0c

General: Make footnote symbols work with other encodings … 14

Index

Numbers written in italic refer to the page where the corresponding entry is described, the ones underlined to the code line of the definition, the rest to the code lines where the entry is used.

Symbols

\< . . . . . . . . . . . . . . 300 \> . . . . . . . . . . . . . . 301 \@ctrerr . . . . . . . . . 263

\@fnsymbol . . . . . . . 261
\@font@info . . 24, 31, 38
\@font@warning 27, 34, 39

\@gobble …. 38, 39, 75 \@height . . . . . . . . . 250

                          \@ifnextchar . . . . . . 334
                          \@let@token . . . 336, 339

\@ne . . . . . . . . . 256, 257 \@nomath 76, 105, 106, 117 \@spaces . 25, 28, 32, 35 \@tempa 43, 45, 80, 84,

254, 256–259,

265, 266, 275, 276

\@tempb . . . . . . . . 44, 45

                                                   \@undefined . . . . 85,

125, 133, 209, 272, 278, 284, 288

\_. . . . . . 9, 10, 330, 343

\| . . . . . . . . . . . . . . 262

A

\acute . . . . . . . . . . . 215 \angle . . . . . . . . . . . 246

B

\bar . . . . . . . . . . . . . 218

\baselineskip . . . . . 241
\begingroup . . . . . . . 329
\bfdefault . . . . . . . 49
\boldmath . . . . . . . .

5–8, 65, 76, 77, 79, 86, 89, 91, 105, 108, 117, 118

\breve . . . . . . . . . . . 217

C

\capprod . . . . . . . . . 206 \catcode …. 9, 10, 330 \char . . . . . . . . 255, 321 \check . . . . . . . . . . . 216 \comp . . . . . . . . . . . . 203 \crcr . 246, 247, 250, 320 \cupprod . . . . . . . . . 205

D

\dagger 261, 262, 267, 292 \ddagger . . . . . . . . .

. 261, 263, 268, 293 \ddot . . . . . . . . . . . . 222 \ddots . . . . . . . . . . . 243

\DeclareFontEncoding

. . . . . . 51–53, 282

\DeclareFontSubstitution

. . . . . . . . . 54–56

\DeclareMathAccent .

. . . . . . . . 213–225

\DeclareMathAlphabet

. . . . . . . . 143, 145, 149, 151, 155, 157, 161, 163, 167, 169, 347, 349, 351, 353, 357, 361, 365

\DeclareMathDelimiter

. . . . . . . . 196, 197

\DeclareMathSizes .

. . . . . . . . 228–239

\DeclareMathSymbol .

. . . . . . . . 101– 104, 113–116, 172–195, 198– 208, 210–212, 267–271, 273, 277, 279, 292–295

                          \DeclareMathVersion 96
                          \DeclareOption . . . .

… 3–8, 11–18, 20–23, 30, 37, 346, 348, 350, 352

                          \DeclareSymbolFont .

. . . . . . 57–60, 283

                          \DeclareTextAccent . 302
                          \DeclareTextAccentDefault

. . . . . . . . 299, 310

                          \DeclareTextCommand 318
                          \DeclareTextSymbol .

…. 300, 301, 311–317, 326, 327

                          \DeclareTextSymbolDefault

…. 297, 298, 303–309, 324, 325

\def 20–22, 24, 27, 31, 34, 44, 81, 226, 227, 241, 243, 246, 251, 254, 261, 265, 275, 333

                          \defaultscriptratio

. . . . . . . . 226, 258

                          \defaultscriptscriptratio

. . . . . . . . 227, 259 \Delta . . . . . . . . . . . 173 \dimen@ . . . . . . 252, 255 \dimen@ii …. 253, 255

                          \disablesubscriptcorrection

. . . . . . . . . 10, 11 \dot . . . . . . . . . . . . . 220

E \edef . . . . . . . . . . 43, 83 \else . . . . . . 82, 126,

134, 263, 281, 285, 289, 323, 338

                          \enablesubscriptcorrection

. . . . . . . . . . 9, 12

                          \encodingdefault . .

. . 19, 120–124, 127–131, 135–139

\endgroup . . . . . . . . 332

                          \ensuremath . . . . . . . 261
                          \ExecuteOptions . 22, 40

F \fi . . . . . . . . 50, 78,

82, 90, 107, 119, 132, 140, 146, 152, 158, 164, 171, 263, 274, 280, 287, 291, 296, 328, 341, 342

G \Gamma . . . . . . . . . . . 172 \gdef . . . . . . . . . . . . 331

                                                   \GenericInfo . 25, 28, 32
                                                   \GenericWarning . . . 35

\grave . . . . . . . . . . . 214

                                                   \greekshape . . . . . . .

. . 2–4, 93, 98, 110

H \hat . . . . . . . . . . . . . 219

                                                   \hb@xmdot . . . . . . . .

. 240, 242, 244, 245 \hbar . . . . . . . . . . . . 251 \hbox . . . . . . . . 240, 320

                                                   \heavymath . . . . . . .

. . 77, 89, 106, 118 \hfil . . . . . . . . . . . . 320 \hfill . . . . . . . . . . . 250 \hrule . . . . . . . . . . . 250

I \ialign . . . . . . . . . . 246 \ifcase . . . . . . . . . . 261 \ifx 45, 65, 79, 82, 91,

108, 125, 133, 141, 147, 153, 159, 165, 264, 266, 276, 284, 288, 322, 336, 339

K \kern . . . . . 242, 243, 255

L \Lambda . . . . . . . . . . 175 \ldotp . . . . . . . . . . . 200 \leaders . . . . . . . . . 250 \let . . 5–8, 13–19, 38,

39, 77, 80, 84, 85, 89, 118, 142, 148, 154, 160, 166, 209, 272, 278

\lineskiplimit . . . . 241

\lower . . . . . . . . . . . 255

M

\m@ne . . . . . . . . . . . . 335 \m@th . . . . . . . . 240, 246 \mathbb . . . . . . 353, 365 \mathbcal . 157, 163, 169 \mathbf … 121, 128, 136 \mathbin . . 201–207,

267, 268, 292, 293 \mathbscr …. 145, 151 \mathcal . 13, 14, 16,

153–156, 159– 162, 165–168, 349

\mathchoice . . . . . . . 256
\mathclose . . . 102,

104, 114, 116, 195 \mathcode . . . . . . . . 343 \mathfrak …. 347, 357

\mathinner . . . . . . . 243

\mathit … 122, 129, 137 \mathopen . 103, 115, 194 \mathord . . 172–193,

198, 212–225, 269–271, 273, 277, 279, 294, 295

\mathparagraph . . . .

…. 262, 270, 295 \mathpunct 199, 200, 211 \mathrel . . . . . 101,

113, 208, 210, 247 \mathrm … 120, 127, 135 \mathscr . . . . . . . . .

15, 17, 141–144, 147–150, 351, 361

\mathsection . . . . . .

…. 262, 269, 294 \mathsf … 123, 130, 138

\mathsterling . 271, 277

\mathtt … 124, 131, 139

\mathunderscore . . .

. 272, 273, 278, 279

\mathversion . . . . . .

. 76, 105, 106, 117

\MessageBreak . . . 71–74

\mkern . . . . . . . 243– 245, 247, 249, 250, 335, 337, 340

\mv@bold 82, 85, 125, 284 \mv@heavy …. 133, 288

N

\newcommand . . . . . . .

. 2, 9, 10, 106, 240 \noalign . . . . . . . . . 248 \noexpand . . . . . . . . 82

\nointerlineskip . . 248

\not . . . . . . . . . . . . . 247

O

\Omega . . . . . . . . . . . 182 \ooalign . . . . . . . . . 319

\operator@encoding .

. . . . . . . . 19– 22, 57, 61, 66, 92, 97, 109, 266, 276

\or . . . . . . . . . 261–263

P

\p@ . . 241–243, 245, 250

\PackageError . . . . . 86
\PackageWarningNoLine

. . . . . . . . . . . . 70 \Phi . . . . . . . . . . . . . 180 \Pi . . . . . . . . . . . . . 177

\ProcessOptions 42, 354

\Psi . . . . . . . . . . . . . 181

R

\raise …. 243, 245, 320 \relax …. 9, 10, 18,

142, 148, 154, 160, 166, 264, 322

\Relbar . . . . . . 209, 210

\renewcommand . . . . .

. . . . . 3, 4, 46– 49, 76, 86, 105, 117

\rlap . . . . . . . . . . . . 255

\rmdefault . . . . 43,

47, 57, 92, 97, 109, 120–122, 127–129, 135–137

S

\sb . . . . . . . . . . . . . 331

\scriptfont . . . . . . . 258
\scriptscriptfont . 259
\scriptstyle . . . . . . 246

\setdif . . . . . . . . . . 204

\SetMathAlphabet . .

. . . . . . . . 120– 124, 127–131, 135–139, 144, 150, 156, 162, 168

\SetSymbolFont . . . .

. 61–64, 66–69, 92–95, 97–100, 109–112, 286, 290

\sfdefault . . . . . . .

. 46, 123, 130, 138 \Sigma . . . . . . . . . . . 178 \space . . . . . . . . 25,

26, 28, 32, 33, 35

\symtextcomp 18, 264, 322

T

\t . . . . . . . . . . 299, 302 \test@sb . . . . . 331, 333

\textasteriskcentered

. . . . . . . . 303, 311

\textbackslash 304, 312

\textbar . . . . . 305, 313

\textbraceleft 306, 314
\textbraceright 307, 315
\textbullet . . . 308, 316
\textcircled . . 310, 318

\textfont …. 256, 257

\textgreater . . 298, 301

\textless …. 297, 300

\textparagraph 325, 327
\textperiodcentered

. . . . . . . . 309, 317

\textsection . . 324, 326

\the . . . . . . . . . . . . . 255 \Theta . . . . . . . . . . . 174 \tilde . . . . . . . . . . . 221

\triangleleft . . . . . 201
\triangleright . . . . 202
\ttdefault . . . . . . .

. 48, 124, 131, 139 \tw@ . . . . . . 255, 337, 340

U

\upshape . . . . . . . . . 320 \Upsilon . . . . . . . . . 179 \varDelta . . . . . . . . 184 \varGamma . . . . . . . . 183 \varkappa . . . . . . . . 212

\varLambda . . . . . . . 186

\varOmega . . . . . . . . 193 \varPhi . . . . . . . . . . 191 \varPi . . . . . . . . . . . 188 \varPsi . . . . . . . . . . 192 \varSigma . . . . . . . . 189 \varTheta . . . . . . . . 185

\varUpsilon . . . . . . . 190

\varXi . . . . . . . . . . . 187 \vbox . . . . . 241, 243, 246 \vdots . . . . . . . . . . . 241 \vec . . . . . . . . . . . . . 213

\version@elt . 80–82, 84
\version@list . . . . . 83

W \widebar . . . . . . . . . 223 \widehat . . . . . . . . . 225

                          \widetilde . . . . . . . 224

X \Xi . . . . . . . . . . . . . 176

Z \z@ . . . . . . . . . . . . . 241