Windows installer: update Gnuplot
[maxima.git] / interfaces / emacs / imaxima / breqn097a / flexisym.dtx
blob6aecf24551cf35b8be5909ff35e35b17d4189330
1 % \iffalse meta-comment
3 % Copyright (C) 1997-2003 by Michael J. Downes
4 % Copyright (C) 2007 by Morten Hoegholm <mh.ctan@gmail.com>
6 % This work may be distributed and/or modified under the
7 % conditions of the LaTeX Project Public License, either
8 % version 1.3 of this license or (at your option) any later
9 % version. The latest version of this license is in
10 %    http://www.latex-project.org/lppl.txt
11 % and version 1.3 or later is part of all distributions of
12 % LaTeX version 2005/12/01 or later.
14 % This work has the LPPL maintenance status "maintained".
16 % This Current Maintainer of this work is Morten Hoegholm.
18 % This work consists of the main source file flexisym.dtx
19 % and the derived files
20 %    flexisym.sty, flexisym.pdf, flexisym.ins, flexisym.drv,
21 %    cmbase.sym, msabm.sym.
23 % Distribution:
24 %    CTAN:macros/latex/contrib/mh/flexisym.dtx
25 %    CTAN:macros/latex/contrib/mh/flexisym.pdf
27 % Unpacking:
28 %    (a) If flexisym.ins is present:
29 %           tex flexisym.ins
30 %    (b) Without flexisym.ins:
31 %           tex flexisym.dtx
32 %    (c) If you insist on using LaTeX
33 %           latex \let\install=y\input{flexisym.dtx}
34 %        (quote the arguments according to the demands of your shell)
36 % Documentation:
37 %    (a) If flexisym.drv is present:
38 %           latex flexisym.drv
39 %    (b) Without flexisym.drv:
40 %           latex flexisym.dtx; ...
41 %    The class ltxdoc loads the configuration file ltxdoc.cfg
42 %    if available. Here you can specify further options, e.g.
43 %    use A4 as paper format:
44 %       \PassOptionsToClass{a4paper}{article}
46 %    Programm calls to get the documentation (example):
47 %       pdflatex flexisym.dtx
48 %       makeindex -s gind.ist flexisym.idx
49 %       pdflatex flexisym.dtx
50 %       makeindex -s gind.ist flexisym.idx
51 %       pdflatex flexisym.dtx
53 % Installation:
54 %    TDS:tex/latex/mh/flexisym.sty
55 %    TDS:tex/latex/mh/cmbase.sym
56 %    TDS:tex/latex/mh/mathpazo.sym
57 %    TDS:tex/latex/mh/mathptmx.sym
58 %    TDS:tex/latex/mh/msabm.sym
59 %    TDS:doc/latex/mh/flexisym.pdf
60 %    TDS:source/latex/mh/flexisym.dtx
62 %<*ignore>
63 \begingroup
64   \def\x{LaTeX2e}
65 \expandafter\endgroup
66 \ifcase 0\ifx\install y1\fi\expandafter
67          \ifx\csname processbatchFile\endcsname\relax\else1\fi
68          \ifx\fmtname\x\else 1\fi\relax
69 \else\csname fi\endcsname
70 %</ignore>
71 %<*install>
72 \input docstrip.tex
73 \Msg{************************************************************************}
74 \Msg{* Installation}
75 \Msg{* Package: flexisym 2007/12/19 v0.96 Flexisym (MH)}
76 \Msg{************************************************************************}
78 \keepsilent
79 \askforoverwritefalse
81 \preamble
83 This is a generated file.
85 Copyright (C) 1997-2003 by Michael J. Downes
86 Copyright (C) 2007 by Morten Hoegholm <mh.ctan@gmail.com>
88 This work may be distributed and/or modified under the
89 conditions of the LaTeX Project Public License, either
90 version 1.3 of this license or (at your option) any later
91 version. The latest version of this license is in
92    http://www.latex-project.org/lppl.txt
93 and version 1.3 or later is part of all distributions of
94 LaTeX version 2005/12/01 or later.
96 This work has the LPPL maintenance status "maintained".
98 This Current Maintainer of this work is Morten Hoegholm.
100 This work consists of the main source file flexisym.dtx
101 and the derived files
102    flexisym.sty, flexisym.pdf, flexisym.ins, flexisym.drv,
103    cmbase.sym, mathpazo.sym, mathptmx.sym, msabm.sym.
105 \endpreamble
107 \generate{%
108   \file{flexisym.ins}{\from{flexisym.dtx}{install}}%
109   \file{flexisym.drv}{\from{flexisym.dtx}{driver}}%
110   \usedir{tex/latex/mh}%
111   \file{flexisym.sty}{\from{flexisym.dtx}{package}}%
112   \file{cmbase.sym}{\from{flexisym.dtx}{cmbase}}%
113   \file{mathpazo.sym}{\from{flexisym.dtx}{mathpazo}}%
114   \file{mathptmx.sym}{\from{flexisym.dtx}{mathptmx}}%
115   \file{msabm.sym}{\from{flexisym.dtx}{msabm}}%
118 \obeyspaces
119 \Msg{************************************************************************}
120 \Msg{*}
121 \Msg{* To finish the installation you have to move the following}
122 \Msg{* files into a directory searched by TeX:}
123 \Msg{*}
124 \Msg{*     flexisym.sty, cmbase.sym, mathpazo.sym, mathptmx.sym, msabm.sym}
125 \Msg{*}
126 \Msg{* To produce the documentation run the file `flexisym.drv'}
127 \Msg{* through LaTeX.}
128 \Msg{*}
129 \Msg{* Happy TeXing!}
130 \Msg{*}
131 \Msg{************************************************************************}
133 \endbatchfile
134 %</install>
135 %<*ignore>
137 %</ignore>
138 %<*driver>
139 \NeedsTeXFormat{LaTeX2e}
140 \ProvidesFile{flexisym.drv}%
141   [2007/12/19 v0.96 flexisym (MH)]
142 \documentclass{ltxdoc}
143 \CodelineIndex
144 \EnableCrossrefs
145 \setcounter{IndexColumns}{2}
146 \providecommand*\pkg[1]{\textsf{#1}}
147 \providecommand*\cls[1]{\textsf{#1}}
148 \providecommand*\opt[1]{\texttt{#1}}
149 \providecommand*\env[1]{\texttt{#1}}
150 \providecommand*\fn[1]{\texttt{#1}}
151 \makeatletter
152 \providecommand{\AmS}{{\protect\AmSfont
153   A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
154 \providecommand{\AmSfont}{%
155   \usefont{OMS}{cmsy}{\if\expandafter\@car\f@series\@nil bb\else m\fi}{n}}
156 \makeatother
157 \newenvironment{aside}{\begin{quote}\bfseries}{\end{quote}}
158 \begin{document}
159   \DocInput{flexisym.dtx}
160 \end{document}
161 %</driver>
162 % \fi
164 % \title{The \textsf{flexisym} package}
165 % \date{2007/12/19 v0.96}
166 % \author{Morten H\o gholm \\\texttt{mh.ctan@gmail.com}}
168 % \maketitle
170 % \part*{User's guide}
172 % For now, the user's guide is in breqn.
174 % \StopEventually{}
175 % \part*{Implementation}
177 % \section{flexisym}
179 %    \begin{macrocode}
180 %<*package>
181 \ProvidesPackage{flexisym}[2007/12/19 v0.96]
182 \let\@xp\expandafter \let\@nx\noexpand
183 \edef\do{%
184   \@nx\AtEndOfPackage{%
185     \catcode\number`\"=\number\catcode`\"
186     \relax
187   }%
189 \do \let\do\relax
190 \catcode`\"=12
191 \let\@sym\@gobble
192 \DeclareOption{robust}{%
193   \def\@sym#1{%
194     \ifx\protect\@typeset@protect \else\protect#1\@xp\@gobblefour\fi
195   }%
197 \def\mg@bin{2}% binary operators
198 \def\mg@rel{2}% relations
199 %%\def\mg@nre{B}% negated relations
200 \def\mg@del{3}% delimiters
201 %%\def\mg@arr{B}% arrows
202 \def\mg@acc{0}% accents
203 \def\mg@cop{3}% cumulative operators (sum, int)
204 \def\mg@latin{1}% (Latin) letters
205 \def\mg@greek{1}% (lowercase) Greek
206 \def\mg@Greek{0}% (capital) Greek
207 %%\def\mg@bflatin{4}% bold upright Latin letters ?
208 %%\def\mg@Bbb{B}% blackboard bold
209 \def\mg@cal{2}% script/calligraphic
210 %%\def\mg@frak{5}% Fraktur letters
211 \def\mg@digit{0}% decimal digits % 1 = oldstyle, 0 = capital
212 \expandafter\let\csname MathChar \endcsname\mathchar
213 \expandafter\let\csname Delimiter \endcsname\delimiter
214 \expandafter\let\csname Radical \endcsname\radical
215 \newcommand{\MathChar}{}
216 \edef\MathChar{\csname MathChar \endcsname\noexpand\string}
217 \newcommand{\Delimiter}{}
218 \edef\Delimiter{\csname Delimiter \endcsname\noexpand\string}
219 \newcommand{\Radical}{}
220 \edef\Radical{\csname Radical \endcsname\noexpand\string}
221 \let\sumlimits\displaylimits
222 \let\intlimits\nolimits
223 \let\namelimits\displaylimits
224 \edef\m@Ord#1#2#3{\csname MathChar \endcsname"0#1#2#3 }
225 \edef\m@Var#1#2#3{\csname MathChar \endcsname"7#1#2#3 }
226 \edef\m@Bin#1#2#3{\csname MathChar \endcsname"2#1#2#3 }
227 \edef\m@Rel#1#2#3{\csname MathChar \endcsname"3#1#2#3 }
228 \edef\m@Pun#1#2#3{\csname MathChar \endcsname"6#1#2#3 }
229 \edef\m@COs#1#2#3{\csname MathChar \endcsname"1#1#2#3 \sumlimits}
230 \edef\m@COi#1#2#3{\csname MathChar \endcsname"1#1#2#3 \intlimits}
231 \def\delim@a#1#2#3#4{\ifx\relax#1#2#3#4\else#1\fi #2#3#4}
232 \def\delim@b#1#2#3#4{\ifx\relax#1#2#3#4\else#1\fi }
233 \def\@tempa{%
234   \@nx\@xp\@nx\delim@a\@nx\csname sd@##1##2##3\@nx\endcsname ##1##2##3 }
235 \edef\m@DeL#1#2#3{\csname Delimiter \endcsname"4\@tempa}
236 \edef\m@DeR#1#2#3{\csname Delimiter \endcsname"5\@tempa}
237 \edef\m@DeB#1#2#3{\csname Delimiter \endcsname"0\@tempa}
238 \edef\m@DeA#1#2#3{\csname Delimiter \endcsname"3\@tempa}
239 \edef\m@Rad#1#2#3{\csname Radical \endcsname"\@tempa}
240 \def\do#1#2{\@xp\def\csname sd@#1\endcsname{#2}}
241 \do{300}{028}
242 \do{301}{029}
243 \do{302}{05B}
244 \do{303}{05D}
245 \do{304}{262}
246 \do{305}{263}
247 \do{306}{264}
248 \do{307}{265}
249 \do{308}{266}
250 \do{309}{267}
251 \do{30A}{268}
252 \do{30B}{269}
253 \do{30C}{26A}
254 \do{30D}{26B}
255 \do{30E}{13D}
256 \do{30F}{26E}
257 \do{340}{37A}
258 \do{341}{37B}
259 \do{33A}{33A}
260 \do{33B}{33B}
261 \do{33E}{33E}
262 \do{33C}{26A}
263 \do{33D}{26B}
264 \do{378}{222}
265 \do{379}{223}
266 \do{33F}{26C}
267 \do{37E}{22A}
268 \do{37F}{22B}
269 \do{377}{26D}
270 \do{30F}{26E}
271 \def\m@Acc#1#2#3#4{\mathaccent"#1#2#3{#4}}
272 \def\@symAcc{\@sym}
273 \let\@symtype\@firstofone
274 \def\@symOrd#1#2{\@symtype\mathord{\OrdSymbol{#2}}}
275 \def\@symVar{\@symOrd}
276 \def\@symBin#1#2{\@symtype\mathbin{\OrdSymbol{#2}}}
277 \def\@symRel#1#2{\@symtype\mathrel{\OrdSymbol{#2}}}
278 \def\@symPun#1#2{\@symtype\mathpunct{\OrdSymbol{#2}}}
279 \def\@symCOi#1#2{\@symtype{\mathop{\OrdSymbol{#2}}\intlimits}}
280 \def\@symCOs#1#2{\@symtype{\mathop{\OrdSymbol{#2}}\sumlimits}}
281 \def\@symOpe#1#2{\@symtype\mathopen{\OrdSymbol{#2}}}
282 \def\@symClo#1#2{\@symtype\mathclose{\OrdSymbol{#2}}}
283 \def\@symDeL#1#2{\@symtype\mathopen{\OrdSymbol{#2}}}
284 \def\@symDeR#1#2{\@symtype\mathclose{\OrdSymbol{#2}}}
285 \def\@symDeB#1#2{\@symtype\mathord{\OrdSymbol{#2}}}
286 \def\@symInn#1#2{\@symtype\mathinner{\OrdSymbol{#2}}}
287 \def\@xnce#1{\@xp\@nx\csname#1\endcsname}
288 \let\sym@global\global
289 \def\DeclareFlexSymbol#1#2#3#4{%
290   \begingroup
291   \edef\@tempb{\@nx\@sym\@nx#1\@xnce{m@#2}\@xnce{mg@#3}#4}%
292   \ifcat\@nx#1\relax
293     \sym@global\let#1\@tempb
294   \else
295     \sym@global\mathcode`#1="8000\relax
296     \lccode`\~=`#1\relax
297     \lowercase{\sym@global\let~\@tempb}%
298   \fi
299   \endgroup
301 \def\DeclareFlexCompoundSymbol#1#2#3{%
302   \@xp\DeclareRobustCommand\@xp#1\@xp{\csname @sym#2\endcsname#1{#3}}%
303   \sym@global\let#1#1\relax
305 \DeclareRobustCommand\textchar{\text@char\textfont}
306 \DeclareRobustCommand\scriptchar{\text@char\scriptfont}%
307 \def\text@char@a{\?\endgroup}%
308 \def\text@char@sym#1#2#3{%
309   \begingroup
310     \let\@sym\relax % defense against infinite loops
311     \the\text@script@char#3%
312     \afterassignment\text@char@a
313     \chardef\?="%
315 \def\text@char#1#2{\begingroup\check@mathfonts
316   \let\text@script@char#1\let\@sym\text@char@sym
317   \let\@symtype\@secondoftwo \let\OrdSymbol\@firstofone
318   \let\ifmmode\iftrue \everymath{$\@gobble}%$
319   \def\mkern{\muskip\z@}\let\mskip\mkern
320   \ifcat\relax\noexpand#2#2%
321   \else
322     \lccode`\~=\expandafter`\string#2\relax
323     \lowercase{~}%
324   \fi
325   \endgroup
327 \providecommand\textprime{}
328 \DeclareRobustCommand\textprime{\leavevmode
329   \raise.8ex\hbox{\text@char\scriptfont\prime}%
331 \@ifundefined{resetMathstrut@}{}{%
332   \def\resetMathstrut@{%
333     \setbox\z@\hbox{\textchar\vert}%
334     \ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@
335   }%
337 \@ifundefined{rightarrowfill@}{}{%
338   \def\rightarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@
339     $#1\copy\z@\mkern-6mu\cleaders
340     \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
341     \mkern-6mu\OrdSymbol{\rightarrow}$}
342   \def\leftarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@
343     $#1\OrdSymbol{\leftarrow}\mkern-6mu\cleaders
344     \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill
345     \mkern-6mu\box\z@$}
346   \def\leftrightarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@
347     $#1\OrdSymbol{\leftarrow}\mkern-6mu\cleaders
348     \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
349     \mkern-6mu\OrdSymbol{\rightarrow}$}
351 \def\binrel@sym#1#2#3#4#5{%
352   \xdef\binrel@@##1{%
353     \ifx\m@Ord#2\@nx\@symOrd
354     \else\ifx\m@Var#2\@nx\@symVar
355     \else\ifx\m@COs#2\@nx\@symCOs
356     \else\ifx\m@COi#2\@nx\@symCOi
357     \else\ifx\m@Bin#2\@nx\@symBin
358     \else\ifx\m@Rel#2\@nx\@symRel
359     \else\ifx\m@Pun#2\@nx\@symPun
360     \else\@nx\@symErr \fi\fi\fi\fi\fi\fi\fi
361   ?{\@nx\OrdSymbol{##1}}}%
363 \def\binrel@a{%
364   \def\@symOrd##1##2{\gdef\binrel@@####1{\@symOrd##1{\OrdSymbol{####1}}}}%
365   \def\@symVar##1##2{\gdef\binrel@@####1{\@symVar##1{\OrdSymbol{####1}}}}%
366   \def\@symCOs##1##2{\gdef\binrel@@####1{\@symCOs##1{\OrdSymbol{####1}}}}%
367   \def\@symCOi##1##2{\gdef\binrel@@####1{\@symCOi##1{\OrdSymbol{####1}}}}%
368   \def\@symBin##1##2{\gdef\binrel@@####1{\@symBin##1{\OrdSymbol{####1}}}}%
369   \def\@symRel##1##2{\gdef\binrel@@####1{\@symRel##1{\OrdSymbol{####1}}}}%
370   \def\@symPun##1##2{\gdef\binrel@@####1{\@symPun##1{\OrdSymbol{####1}}}}%
372 \def\binrel@#1{%
373   \setbox\z@\hbox{$%
374     \let\mathchoice\@gobblethree
375     \let\@sym\binrel@sym \binrel@a
376     #1$}%
378 \def\@symextension{sym}
379 \newcommand\usesymbols[1]{%
380   \@for\@tempb:=#1\do{%
381     \@xp\@onefilewithoptions\@xp{\@tempb}[][]\@symextension
382   }%
384 \newcommand\ProvidesSymbols[1]{\ProvidesFile{#1.sym}}
385 \DeclareRobustCommand{\not}[1]{\@symRel\not{\OrdSymbol{\notRel#1}}}
386 \DeclareRobustCommand{\OrdSymbol}[1]{%
387   \begingroup\mathchars@reset#1\endgroup
389 \def\mathchars@reset{\let\@sym\@sym@ord \let\@symtype\@symtype@ord
390   \let\OrdSymbol\relax}
391 \def\@symtype@ord#1#{}% a strange sort of \@gobble
392 \def\@sym@ord#1#2{\@xp\@sym@ord@a\string#2\@nil}%
393 \begingroup
394 \lccode`\.=`\@ \lowercase{\endgroup
395 \def\@sym@ord@a#1.}#2#3\@nil#4#5#6{%
396   \csname MathChar \endcsname"0%
397     \if D#2\@xp\delim@b\csname sd@#4#5#6\endcsname#4#5#6
398     \else #4#5#6
399     \fi
401 %    \end{macrocode}
404 % Before declaring any math characters active, we have to take care of
405 % a small problem with \pkg{amsmath} v2.x, if it is loaded before
406 % \pkg{flexisym}. \cs{std@minus} and \cs{std@equal} are defined as
407 % \begin{verbatim}
408 % \mathchardef\std@minus\mathcode`\-\relax
409 % \mathchardef\std@equal\mathcode`\=\relax
410 % \end{verbatim}
411 % in \fn{amsmath.sty} and again \cs{AtBeginDocument}. The
412 % latter is because
413 % \begin{quote}
414 %   In case some alternative math fonts are loaded
415 %   later. [\fn{amsmath.dtx}]
416 % \end{quote}
417 % The problem arises because \pkg{flexisym} sets the mathcode of all
418 % symbols to $32768$ which is illegal for a \cs{mathchardef}. 
420 % We have to remove the assignments from the \cs{AtBeginDocument} hook
421 % as they will cause an error there.
422 %    \begin{macrocode}
423 \@ifpackageloaded{amsmath}{%
424   \begingroup
425 %    \end{macrocode}
426 % Split the contents of \cs{@begindocumenthook} by reading what we
427 % search for as a delimited argument and ensure these two assignments
428 % do not take place. It is questionable if anything reasonable can be
429 % done to them. In the case of a package such as \pkg{mathpazo} which defines
430 % \begin{verbatim}
431 %\DeclareMathSymbol{=}{\mathrel}{upright}{"3D}
432 % \end{verbatim}
433 % the \cs{Relbar} will look wrong if we don't use the correct
434 % symbol. The way to solve this is define additional \fn{.sym} files
435 % which contain the definition of \cs{relbar} and \cs{Relbar}
436 % needed. We need those additional files anyway for things like
437 % \cs{joinord}.
438 %    \begin{macrocode}
439   \long\def\next#1\mathchardef\std@minus\mathcode`\-\relax
440                   \mathchardef\std@equal\mathcode`\=\relax#2\flexi@stop{%
441     \toks@{#1#2}%
442     \xdef\@begindocumenthook{\the\toks@}%
443   }%
444   \expandafter\next\@begindocumenthook\flexi@stop
445   \endgroup
447 %    \end{macrocode}
449 % There is problem when using \cs{DeclareMathOperator} as the
450 % operators defined call a command \cs{newmcodes@} which relies on the
451 % mathcode of \texttt{-} being less than 32768. We delay the
452 % definition \cs{AtBeginDocument} in case \pkg{amssymb} hasn't been
453 % loaded yet.
454 %    \begin{macrocode}
455 \AtBeginDocument{%
456 \def\newmcodes@{%
457   \mathcode `\'39\mathcode `\*42\mathcode `\."613A
458   \ifnum\mathcode`\-=45
459   \else
460 %    \end{macrocode}
461 % The extra check. Don't do anything if \texttt{-} is math active.
462 %    \begin{macrocode}
463     \ifnum\mathcode`\-=32768
464     \else 
465       \mathchardef \std@minus \mathcode `\-\relax
466     \fi
467   \fi
468   \mathcode `\-45 \mathcode `\/47\mathcode `\:"603A\relax 
471 %    \end{macrocode}
473 % And we then continue with the options.
474 %    \begin{macrocode}
475 \DeclareOption{mathstyleoff}{\PassOptionsToPackage{mathactivechars}{mathstyle}}
476 \DeclareOption{cmbase}{\usesymbols{cmbase}}
477 \DeclareOption{mathpazo}{\usesymbols{mathpazo}}
478 \DeclareOption{mathptmx}{\usesymbols{mathptmx}}
479 \ExecuteOptions{cmbase}
480 \ProcessOptions\relax
481 \renewcommand{\lnot}{\neg}
482 \renewcommand{\land}{\wedge}
483 \renewcommand{\lor}{\vee}
484 \renewcommand{\le}{\leq}
485 \renewcommand{\ge}{\geq}
486 \renewcommand{\ne}{\neq}
487 \renewcommand{\owns}{\ni}
488 \renewcommand{\gets}{\leftarrow}
489 \renewcommand{\to}{\rightarrow}
490 \renewcommand{\|}{\Vert}
491 \RequirePackage{mathstyle}
492 %</package>\endinput
493 %    \end{macrocode}
495 % \section{cmbase, mathpazo, mathptmx}
498 % For each math font package we define a corresponding symbol file
499 % with extension \fn{sym}. The Computer Modern base is called
500 % \opt{cmbase} and \opt{mathpazo} and \opt{mathptmx} corresponds to
501 % the packages. The definitions are almost identical as they mostly
502 % concern the positions in the math font encodings. Look for
503 % differences in \cs{joinord}, \cs{relbar} and \cs{Relbar}. If you
504 % inspect the source code, you'll see that the support for
505 % \pkg{mathptmx} didn't require any work but I thought it better to
506 % create a \fn{sym} file to maintain a uniform interface.
508 % \begin{aside}
509 % Open question on \verb"!" and \verb"?": maybe they
510 % should have type `Pun' instead of `DeR'.    Need to
511 % search for uses in math in AMS archives.    Or, maybe add a special
512 % `Clo' type for them: non-extensible closing delimiter.   
513 % \end{aside}
517 % Default mathgroup setup.   
518 %    \begin{macrocode}
519 %<*cmbase|mathpazo|mathptmx>
520 %<cmbase>\ProvidesSymbols{cmbase}[2007/12/19 v0.92]
521 %<mathpazo>\ProvidesSymbols{mathpazo}[2007/12/19 v0.2]
522 %<mathptmx>\ProvidesSymbols{mathptmx}[2007/12/19 v0.2]
523 \@xp\xdef\csname mg@OT1\endcsname{\hexnumber@\symoperators}
524 \@xp\xdef\csname mg@OML\endcsname{\hexnumber@\symletters}
525 \@xp\xdef\csname mg@OMS\endcsname{\hexnumber@\symsymbols}
526 \@xp\xdef\csname mg@OMX\endcsname{\hexnumber@\symlargesymbols}
527 \gdef\mg@bin{\mg@OMS}
528 \gdef\mg@del{\mg@OMX}
529 \xdef\mg@digit{\@xp\@nx\csname mg@OT1\endcsname}
530 \gdef\mg@latin{\mg@OML}
531 \global\let\mg@Latin\mg@latin
532 \global\let\mg@greek\mg@latin
533 \global\let\mg@Greek\mg@digit
534 \global\let\mg@rel\mg@bin
535 \global\let\mg@ord\mg@bin
536 \global\let\mg@cop\mg@del
537 %    \end{macrocode}
540 % Symbols from the 128-character \fn{cmr} encoding.   
541 % Paren and square bracket delimiters from this encoding are covered
542 % by the definitions in the \fn{cmex} section, however.   
543 %    \begin{macrocode}
544 \DeclareFlexSymbol{!}     {Pun}{OT1}{21}
545 \DeclareFlexSymbol{+}     {Bin}{OT1}{2B}
546 \DeclareFlexSymbol{:}     {Rel}{OT1}{3A}
547 \DeclareFlexSymbol{\colon}{Pun}{OT1}{3A}
548 \DeclareFlexSymbol{;}     {Pun}{OT1}{3B}
549 \DeclareFlexSymbol{=}     {Rel}{OT1}{3D}
550 \DeclareFlexSymbol{?}     {Pun}{OT1}{3F}
551 %    \end{macrocode}
552 % \AmS\TeX, and therefore the \pkg{amsmath} package, make the
553 % uppercase Greek letters class 0 (nonvariable) instead of 7
554 % (variable), to eliminate the glaring inconsistency with lowercase
555 % Greek.    (In plain \TeX , \verb"{\bf\Delta}" works, while
556 % \verb"{\bf\delta}" doesn't.   ) Let us try to make them both
557 % variable (fonts permitting) instead of nonvariable.   
558 %    \begin{macrocode}
559 \DeclareFlexSymbol{\Gamma}  {Var}{Greek}{00}
560 \DeclareFlexSymbol{\Delta}  {Var}{Greek}{01}
561 \DeclareFlexSymbol{\Theta}  {Var}{Greek}{02}
562 \DeclareFlexSymbol{\Lambda} {Var}{Greek}{03}
563 \DeclareFlexSymbol{\Xi}     {Var}{Greek}{04}
564 \DeclareFlexSymbol{\Pi}     {Var}{Greek}{05}
565 \DeclareFlexSymbol{\Sigma}  {Var}{Greek}{06}
566 \DeclareFlexSymbol{\Upsilon}{Var}{Greek}{07}
567 \DeclareFlexSymbol{\Phi}    {Var}{Greek}{08}
568 \DeclareFlexSymbol{\Psi}    {Var}{Greek}{09}
569 \DeclareFlexSymbol{\Omega}  {Var}{Greek}{0A}
570 %    \end{macrocode}
571 % Decimal digits.   
572 %    \begin{macrocode}
573 \DeclareFlexSymbol{0}{Var}{digit}{30}
574 \DeclareFlexSymbol{1}{Var}{digit}{31}
575 \DeclareFlexSymbol{2}{Var}{digit}{32}
576 \DeclareFlexSymbol{3}{Var}{digit}{33}
577 \DeclareFlexSymbol{4}{Var}{digit}{34}
578 \DeclareFlexSymbol{5}{Var}{digit}{35}
579 \DeclareFlexSymbol{6}{Var}{digit}{36}
580 \DeclareFlexSymbol{7}{Var}{digit}{37}
581 \DeclareFlexSymbol{8}{Var}{digit}{38}
582 \DeclareFlexSymbol{9}{Var}{digit}{39}
583 %    \end{macrocode}
584 % Symbols from the 128-character \fn{cmmi} encoding.   
585 %    \begin{macrocode}
586 \DeclareFlexSymbol{,}{Pun}{OML}{3B}
587 \DeclareFlexSymbol{.}{Ord}{OML}{3A}
588 \DeclareFlexSymbol{/}{Ord}{OML}{3D}
589 \DeclareFlexSymbol{<}{Rel}{OML}{3C}
590 \DeclareFlexSymbol{>}{Rel}{OML}{3E}
591 %    \end{macrocode}
592 % To do: make the Var property of lc Greek work properly.   
593 %    \begin{macrocode}
594 \DeclareFlexSymbol{\alpha}{Var}{greek}{0B}
595 \DeclareFlexSymbol{\beta}{Var}{greek}{0C}
596 \DeclareFlexSymbol{\gamma}{Var}{greek}{0D}
597 \DeclareFlexSymbol{\delta}{Var}{greek}{0E}
598 \DeclareFlexSymbol{\epsilon}{Var}{greek}{0F}
599 \DeclareFlexSymbol{\zeta}{Var}{greek}{10}
600 \DeclareFlexSymbol{\eta}{Var}{greek}{11}
601 \DeclareFlexSymbol{\theta}{Var}{greek}{12}
602 \DeclareFlexSymbol{\iota}{Var}{greek}{13}
603 \DeclareFlexSymbol{\kappa}{Var}{greek}{14}
604 \DeclareFlexSymbol{\lambda}{Var}{greek}{15}
605 \DeclareFlexSymbol{\mu}{Var}{greek}{16}
606 \DeclareFlexSymbol{\nu}{Var}{greek}{17}
607 \DeclareFlexSymbol{\xi}{Var}{greek}{18}
608 \DeclareFlexSymbol{\pi}{Var}{greek}{19}
609 \DeclareFlexSymbol{\rho}{Var}{greek}{1A}
610 \DeclareFlexSymbol{\sigma}{Var}{greek}{1B}
611 \DeclareFlexSymbol{\tau}{Var}{greek}{1C}
612 \DeclareFlexSymbol{\upsilon}{Var}{greek}{1D}
613 \DeclareFlexSymbol{\phi}{Var}{greek}{1E}
614 \DeclareFlexSymbol{\chi}{Var}{greek}{1F}
615 \DeclareFlexSymbol{\psi}{Var}{greek}{20}
616 \DeclareFlexSymbol{\omega}{Var}{greek}{21}
617 \DeclareFlexSymbol{\varepsilon}{Var}{greek}{22}
618 \DeclareFlexSymbol{\vartheta}{Var}{greek}{23}
619 \DeclareFlexSymbol{\varpi}{Var}{greek}{24}
620 \DeclareFlexSymbol{\varrho}{Var}{greek}{25}
621 \DeclareFlexSymbol{\varsigma}{Var}{greek}{26}
622 \DeclareFlexSymbol{\varphi}{Var}{greek}{27}
623 %    \end{macrocode}
624 % Note that in plain \TeX\  \cs{imath} and \cs{jmath} are
625 % not variable-font.    But if a \verb"j" changes font to, let's
626 % say, sans serif or calligraphic, a dotless \verb"j" in the same
627 % context should change font in the same way.   
628 %    \begin{macrocode}
629 \DeclareFlexSymbol{\imath}{Var}{OML}{7B}
630 \DeclareFlexSymbol{\jmath}{Var}{OML}{7C}
631 \DeclareFlexSymbol{\ell}{Ord}{OML}{60}
632 \DeclareFlexSymbol{\wp}{Ord}{OML}{7D}
633 \DeclareFlexSymbol{\partial}{Ord}{OML}{40}
634 \DeclareFlexSymbol{\flat}{Ord}{OML}{5B}
635 \DeclareFlexSymbol{\natural}{Ord}{OML}{5C}
636 \DeclareFlexSymbol{\sharp}{Ord}{OML}{5D}
637 \DeclareFlexSymbol{\triangleleft}{Bin}{OML}{2F}
638 \DeclareFlexSymbol{\triangleright}{Bin}{OML}{2E}
639 \DeclareFlexSymbol{\star}{Bin}{OML}{3F}
640 \DeclareFlexSymbol{\smile}{Rel}{OML}{5E}
641 \DeclareFlexSymbol{\frown}{Rel}{OML}{5F}
642 \DeclareFlexSymbol{\leftharpoonup}{Rel}{OML}{28}
643 \DeclareFlexSymbol{\leftharpoondown}{Rel}{OML}{29}
644 \DeclareFlexSymbol{\rightharpoonup}{Rel}{OML}{2A}
645 \DeclareFlexSymbol{\rightharpoondown}{Rel}{OML}{2B}
646 \DeclareFlexSymbol{a}{Var}{latin}{61}
647 \DeclareFlexSymbol{b}{Var}{latin}{62}
648 \DeclareFlexSymbol{c}{Var}{latin}{63}
649 \DeclareFlexSymbol{d}{Var}{latin}{64}
650 \DeclareFlexSymbol{e}{Var}{latin}{65}
651 \DeclareFlexSymbol{f}{Var}{latin}{66}
652 \DeclareFlexSymbol{g}{Var}{latin}{67}
653 \DeclareFlexSymbol{h}{Var}{latin}{68}
654 \DeclareFlexSymbol{i}{Var}{latin}{69}
655 \DeclareFlexSymbol{j}{Var}{latin}{6A}
656 \DeclareFlexSymbol{k}{Var}{latin}{6B}
657 \DeclareFlexSymbol{l}{Var}{latin}{6C}
658 \DeclareFlexSymbol{m}{Var}{latin}{6D}
659 \DeclareFlexSymbol{n}{Var}{latin}{6E}
660 \DeclareFlexSymbol{o}{Var}{latin}{6F}
661 \DeclareFlexSymbol{p}{Var}{latin}{70}
662 \DeclareFlexSymbol{q}{Var}{latin}{71}
663 \DeclareFlexSymbol{r}{Var}{latin}{72}
664 \DeclareFlexSymbol{s}{Var}{latin}{73}
665 \DeclareFlexSymbol{t}{Var}{latin}{74}
666 \DeclareFlexSymbol{u}{Var}{latin}{75}
667 \DeclareFlexSymbol{v}{Var}{latin}{76}
668 \DeclareFlexSymbol{w}{Var}{latin}{77}
669 \DeclareFlexSymbol{x}{Var}{latin}{78}
670 \DeclareFlexSymbol{y}{Var}{latin}{79}
671 \DeclareFlexSymbol{z}{Var}{latin}{7A}
672 \DeclareFlexSymbol{A}{Var}{Latin}{41}
673 \DeclareFlexSymbol{B}{Var}{Latin}{42}
674 \DeclareFlexSymbol{C}{Var}{Latin}{43}
675 \DeclareFlexSymbol{D}{Var}{Latin}{44}
676 \DeclareFlexSymbol{E}{Var}{Latin}{45}
677 \DeclareFlexSymbol{F}{Var}{Latin}{46}
678 \DeclareFlexSymbol{G}{Var}{Latin}{47}
679 \DeclareFlexSymbol{H}{Var}{Latin}{48}
680 \DeclareFlexSymbol{I}{Var}{Latin}{49}
681 \DeclareFlexSymbol{J}{Var}{Latin}{4A}
682 \DeclareFlexSymbol{K}{Var}{Latin}{4B}
683 \DeclareFlexSymbol{L}{Var}{Latin}{4C}
684 \DeclareFlexSymbol{M}{Var}{Latin}{4D}
685 \DeclareFlexSymbol{N}{Var}{Latin}{4E}
686 \DeclareFlexSymbol{O}{Var}{Latin}{4F}
687 \DeclareFlexSymbol{P}{Var}{Latin}{50}
688 \DeclareFlexSymbol{Q}{Var}{Latin}{51}
689 \DeclareFlexSymbol{R}{Var}{Latin}{52}
690 \DeclareFlexSymbol{S}{Var}{Latin}{53}
691 \DeclareFlexSymbol{T}{Var}{Latin}{54}
692 \DeclareFlexSymbol{U}{Var}{Latin}{55}
693 \DeclareFlexSymbol{V}{Var}{Latin}{56}
694 \DeclareFlexSymbol{W}{Var}{Latin}{57}
695 \DeclareFlexSymbol{X}{Var}{Latin}{58}
696 \DeclareFlexSymbol{Y}{Var}{Latin}{59}
697 \DeclareFlexSymbol{Z}{Var}{Latin}{5A}
698 %    \end{macrocode}
699 % The \cs{ldotPun} glyph is used in constructing the
700 % \cs{ldots} symbol.    It is just a period with a different math
701 % symbol class.    \cs{lhookRel} and \cs{rhookRel} are used
702 % in a similar way for building hooked arrow symbols.   
703 %    \begin{macrocode}
704 \DeclareFlexSymbol{\ldotPun}{Pun}{OML}{3A}
705 \def\ldotp{\ldotPun}
706 \DeclareFlexSymbol{\lhookRel}{Rel}{OML}{2C}
707 \DeclareFlexSymbol{\rhookRel}{Rel}{OML}{2D}
708 %    \end{macrocode}
709 % Symbols from the 128-character \fn{cmsy} encoding.   
710 %    \begin{macrocode}
711 \DeclareFlexSymbol{*}{Bin}{bin}{03} % \ast
712 \DeclareFlexSymbol{-}{Bin}{bin}{00}
713 \DeclareFlexSymbol{|}{Ord}{OMS}{6A}
714 \DeclareFlexSymbol{\aleph}{Ord}{ord}{40}
715 \DeclareFlexSymbol{\Re}{Ord}{ord}{3C}
716 \DeclareFlexSymbol{\Im}{Ord}{ord}{3D}
717 \DeclareFlexSymbol{\infty}{Ord}{ord}{31}
718 \DeclareFlexSymbol{\prime}{Ord}{ord}{30}
719 \DeclareFlexSymbol{\emptyset}{Ord}{ord}{3B}
720 \DeclareFlexSymbol{\nabla}{Ord}{ord}{72}
721 \DeclareFlexSymbol{\top}{Ord}{ord}{3E}
722 \DeclareFlexSymbol{\bot}{Ord}{ord}{3F}
723 \DeclareFlexSymbol{\triangle}{Ord}{ord}{34}
724 \DeclareFlexSymbol{\forall}{Ord}{ord}{38}
725 \DeclareFlexSymbol{\exists}{Ord}{ord}{39}
726 \DeclareFlexSymbol{\neg}{Ord}{ord}{3A}
727 \DeclareFlexSymbol{\clubsuit}{Ord}{ord}{7C}
728 \DeclareFlexSymbol{\diamondsuit}{Ord}{ord}{7D}
729 \DeclareFlexSymbol{\heartsuit}{Ord}{ord}{7E}
730 \DeclareFlexSymbol{\spadesuit}{Ord}{ord}{7F}
731 \DeclareFlexSymbol{\smallint}{COs}{OMS}{73}
732 %    \end{macrocode}
733 % Binary operators.   
734 %    \begin{macrocode}
735 \DeclareFlexSymbol{\bigtriangleup}{Bin}{bin}{34}
736 \DeclareFlexSymbol{\bigtriangledown}{Bin}{bin}{35}
737 \DeclareFlexSymbol{\wedge}{Bin}{bin}{5E}
738 \DeclareFlexSymbol{\vee}{Bin}{bin}{5F}
739 \DeclareFlexSymbol{\cap}{Bin}{bin}{5C}
740 \DeclareFlexSymbol{\cup}{Bin}{bin}{5B}
741 \DeclareFlexSymbol{\ddagger}{Bin}{bin}{7A}
742 \DeclareFlexSymbol{\dagger}{Bin}{bin}{79}
743 \DeclareFlexSymbol{\sqcap}{Bin}{bin}{75}
744 \DeclareFlexSymbol{\sqcup}{Bin}{bin}{74}
745 \DeclareFlexSymbol{\uplus}{Bin}{bin}{5D}
746 \DeclareFlexSymbol{\amalg}{Bin}{bin}{71}
747 \DeclareFlexSymbol{\diamond}{Bin}{bin}{05}
748 \DeclareFlexSymbol{\bullet}{Bin}{bin}{0F}
749 \DeclareFlexSymbol{\wr}{Bin}{bin}{6F}
750 \DeclareFlexSymbol{\div}{Bin}{bin}{04}
751 \DeclareFlexSymbol{\odot}{Bin}{bin}{0C}
752 \DeclareFlexSymbol{\oslash}{Bin}{bin}{0B}
753 \DeclareFlexSymbol{\otimes}{Bin}{bin}{0A}
754 \DeclareFlexSymbol{\ominus}{Bin}{bin}{09}
755 \DeclareFlexSymbol{\oplus}{Bin}{bin}{08}
756 \DeclareFlexSymbol{\mp}{Bin}{bin}{07}
757 \DeclareFlexSymbol{\pm}{Bin}{bin}{06}
758 \DeclareFlexSymbol{\circ}{Bin}{bin}{0E}
759 \DeclareFlexSymbol{\bigcirc}{Bin}{bin}{0D}
760 \DeclareFlexSymbol{\setminus}{Bin}{bin}{6E}
761 \DeclareFlexSymbol{\cdot}{Bin}{bin}{01}
762 \DeclareFlexSymbol{\ast}{Bin}{bin}{03}
763 \DeclareFlexSymbol{\times}{Bin}{bin}{02}
764 %    \end{macrocode}
765 % Relation symbols.   
766 %    \begin{macrocode}
767 \DeclareFlexSymbol{\propto}{Rel}{rel}{2F}
768 \DeclareFlexSymbol{\sqsubseteq}{Rel}{rel}{76}
769 \DeclareFlexSymbol{\sqsupseteq}{Rel}{rel}{77}
770 \DeclareFlexSymbol{\parallel}{Rel}{rel}{6B}
771 \DeclareFlexSymbol{\mid}{Rel}{rel}{6A}
772 \DeclareFlexSymbol{\dashv}{Rel}{rel}{61}
773 \DeclareFlexSymbol{\vdash}{Rel}{rel}{60}
774 \DeclareFlexSymbol{\nearrow}{Rel}{rel}{25}
775 \DeclareFlexSymbol{\searrow}{Rel}{rel}{26}
776 \DeclareFlexSymbol{\nwarrow}{Rel}{rel}{2D}
777 \DeclareFlexSymbol{\swarrow}{Rel}{rel}{2E}
778 \DeclareFlexSymbol{\Leftrightarrow}{Rel}{rel}{2C}
779 \DeclareFlexSymbol{\Leftarrow}{Rel}{rel}{28}
780 \DeclareFlexSymbol{\Rightarrow}{Rel}{rel}{29}
781 \DeclareFlexSymbol{\leq}{Rel}{rel}{14}
782 \DeclareFlexSymbol{\geq}{Rel}{rel}{15}
783 \DeclareFlexSymbol{\succ}{Rel}{rel}{1F}
784 \DeclareFlexSymbol{\prec}{Rel}{rel}{1E}
785 \DeclareFlexSymbol{\approx}{Rel}{rel}{19}
786 \DeclareFlexSymbol{\succeq}{Rel}{rel}{17}
787 \DeclareFlexSymbol{\preceq}{Rel}{rel}{16}
788 \DeclareFlexSymbol{\supset}{Rel}{rel}{1B}
789 \DeclareFlexSymbol{\subset}{Rel}{rel}{1A}
790 \DeclareFlexSymbol{\supseteq}{Rel}{rel}{13}
791 \DeclareFlexSymbol{\subseteq}{Rel}{rel}{12}
792 \DeclareFlexSymbol{\in}{Rel}{rel}{32}
793 \DeclareFlexSymbol{\ni}{Rel}{rel}{33}
794 \DeclareFlexSymbol{\gg}{Rel}{rel}{1D}
795 \DeclareFlexSymbol{\ll}{Rel}{rel}{1C}
796 \DeclareFlexSymbol{\leftrightarrow}{Rel}{rel}{24}
797 \DeclareFlexSymbol{\leftarrow}{Rel}{rel}{20}
798 \DeclareFlexSymbol{\rightarrow}{Rel}{rel}{21}
799 \DeclareFlexSymbol{\sim}{Rel}{rel}{18}
800 \DeclareFlexSymbol{\simeq}{Rel}{rel}{27}
801 \DeclareFlexSymbol{\perp}{Rel}{rel}{3F}
802 \DeclareFlexSymbol{\equiv}{Rel}{rel}{11}
803 \DeclareFlexSymbol{\asymp}{Rel}{rel}{10}
804 %    \end{macrocode}
805 % The \cs{notRel} glyph is a special zero-width glyph intended only
806 % for use in constructing negated symbols.    \cs{mapstoRel} and
807 % \cs{cdotPun} have similar but more restricted applications.   
808 %    \begin{macrocode}
809 \DeclareFlexSymbol{\notRel}{Rel}{rel}{36}
810 \DeclareFlexSymbol{\mapstoOrd}{Ord}{OMS}{37}
811 \DeclareFlexSymbol{\cdotOrd}{Ord}{OMS}{01}
812 \def\cdotp{\mathpunct{\cdotOrd}}
813 %    \end{macrocode}
814 % Symbols from the 128-character \fn{cmex} encoding.   
815 % \verb"COs" stands for `cumulative operator
816 % (sum-like)'.   
817 % \verb"COi" stands for `cumulative operator
818 % (integral-like)'.    These typically differ only in the
819 % default placement of limits.    \verb"cop" stands for
820 % `cumulative operator math group'.   
821 %    \begin{macrocode}
822 \DeclareFlexSymbol{\coprod}{COs}{cop}{60}
823 \DeclareFlexSymbol{\bigvee}{COs}{cop}{57}
824 \DeclareFlexSymbol{\bigwedge}{COs}{cop}{56}
825 \DeclareFlexSymbol{\biguplus}{COs}{cop}{55}
826 \DeclareFlexSymbol{\bigcap}{COs}{cop}{54}
827 \DeclareFlexSymbol{\bigcup}{COs}{cop}{53}
828 \DeclareFlexSymbol{\int}{COi}{cop}{52}
829 \DeclareFlexSymbol{\prod}{COs}{cop}{51}
830 \DeclareFlexSymbol{\sum}{COs}{cop}{50}
831 \DeclareFlexSymbol{\bigotimes}{COs}{cop}{4E}
832 \DeclareFlexSymbol{\bigoplus}{COs}{cop}{4C}
833 \DeclareFlexSymbol{\bigodot}{COs}{cop}{4A}
834 \DeclareFlexSymbol{\oint}{COi}{cop}{48}
835 \DeclareFlexSymbol{\bigsqcup}{COs}{cop}{46}
836 %    \end{macrocode}
837 % Delimiter symbols.   
838 % \verb"DeL" stands for `delimiter (left)'.   
839 % \verb"DeR" stands for `delimiter (right)'.   
840 % \verb"DeB" stands for `delimiter (bidirectional)'.   
841 % The principal encoding point for an extensible delimiter is the
842 % first link in the list of linked sizes as specified in the font metric
843 % information.   
844 % For a math encoding such as OT1/OML/OMS/OMX where not all sizes of a
845 % given delimiter reside in a given font, the extra encoding point for the
846 % smallest delimiter must be supplied by defining
847 % \begin{verbatim}
848 % \sd@GXX
849 % \end{verbatim}
850 % where G is the mathgroup and XX is the hexadecimal glyph position.   
851 %    \begin{macrocode}
852 \DeclareFlexSymbol{\rangle}{DeR}{del}{0B}
853 \DeclareFlexSymbol{\langle}{DeL}{del}{0A}
854 \DeclareFlexSymbol{\rbrace}{DeR}{del}{09}
855 \DeclareFlexSymbol{\lbrace}{DeL}{del}{08}
856 \DeclareFlexSymbol{\rceil}{DeR}{del}{07}
857 \DeclareFlexSymbol{\lceil}{DeL}{del}{06}
858 \DeclareFlexSymbol{\rfloor}{DeR}{del}{05}
859 \DeclareFlexSymbol{\lfloor}{DeL}{del}{04}
860 \DeclareFlexSymbol{(}{DeL}{del}{00}
861 \DeclareFlexSymbol{)}{DeR}{del}{01}
862 \DeclareFlexSymbol{[}{DeL}{del}{02}
863 \DeclareFlexSymbol{]}{DeR}{del}{03}
864 \DeclareFlexSymbol{\lVert}{DeL}{del}{0D}
865 \DeclareFlexSymbol{\rVert}{DeR}{del}{0D}
866 \DeclareFlexSymbol{\lvert}{DeL}{del}{0C}
867 \DeclareFlexSymbol{\rvert}{DeR}{del}{0C}
868 \DeclareFlexSymbol{\Vert}{DeB}{del}{0D}
869 \DeclareFlexSymbol{\vert}{DeB}{del}{0C}
870 %    \end{macrocode}
871 % Maybe make the vert bars mathord instead of delimiter, to discourage
872 % poor usage.   
873 %    \begin{macrocode}
874 \DeclareFlexSymbol{|}{DeB}{del}{0C}
875 \DeclareFlexSymbol{/}{DeB}{del}{0E}
876 %    \end{macrocode}
879 % These wacky delimiters need to be supported I guess for
880 % compabitility reasons.   
881 % The DeA delimiter type is a special case used only for these
882 % arrows.   
883 %    \begin{macrocode}
884 \DeclareFlexSymbol{\lmoustache}{DeL}{del}{40}
885 \DeclareFlexSymbol{\rmoustache}{DeR}{del}{41}
886 \DeclareFlexSymbol{\lgroup}{DeL}{del}{3A}
887 \DeclareFlexSymbol{\rgroup}{DeR}{del}{3B}
888 \DeclareFlexSymbol{\bracevert}{DeB}{del}{3E}
889 \DeclareFlexSymbol{\arrowvert}{DeB}{del}{3C}
890 \DeclareFlexSymbol{\Arrowvert}{DeB}{del}{3D}
891 \DeclareFlexSymbol{\uparrow}{DeA}{del}{78}
892 \DeclareFlexSymbol{\downarrow}{DeA}{del}{79}
893 \DeclareFlexSymbol{\updownarrow}{DeA}{del}{3F}
894 \DeclareFlexSymbol{\Uparrow}{DeA}{del}{7E}
895 \DeclareFlexSymbol{\Downarrow}{DeA}{del}{7F}
896 \DeclareFlexSymbol{\Updownarrow}{DeA}{del}{77}
897 \DeclareFlexSymbol{\backslash}{DeB}{del}{0F}
898 %    \end{macrocode}
903 % \section{Some compound symbols}
904 % The following symbols are not robust in standard \LaTeX\ 
905 % because they use \verb"#" or \cs{mathpalette} (which is not
906 % robust and contains a \verb"#" in its expansion): \cs{angle},
907 % \cs{cong}, \cs{notin}, \cs{rightleftharpoons}.   
909 % In this definition of \cs{hbar}, the symbol is cobbled together
910 % from a math italic h and the cmr overbar accent glyph.   
911 %    \begin{macrocode}
912 \DeclareFlexSymbol{\hbarOrd}{Ord}{OT1}{16}
913 \DeclareFlexCompoundSymbol{\hbar}{Ord}{\hbarOrd\mkern-9mu h}
914 %    \end{macrocode}
915 % For \cs{surd}, the interior symbol gets math class 1
916 % (cumulative operator) to make the glyph vertically centered on the
917 % math axis, but the desired horizontal spacing is the spacing for a
918 % mathord.    (Couldn't it just be class mathopen, though?   )
919 %    \begin{macrocode}
920 \DeclareFlexSymbol{\surdOrd}{Ord}{OMS}{70}
921 \DeclareFlexCompoundSymbol{\surd}{Ord}{\mathop{\surdOrd}}
922 %    \end{macrocode}
923 % As shown in this definition of \cs{angle}, rule dimens are not
924 % allowed to use math-units, unfortunately.   
925 %    \begin{macrocode}
926 \DeclareFlexCompoundSymbol{\angle}{Ord}{%
927   \vbox{\ialign{%
928       $\m@th\scriptstyle##$\crcr
929       \notRel\mathrel{\mkern14mu}\crcr
930       \noalign{\nointerlineskip}%
931       \mkern2.5mu\leaders\hrule \@height.34pt\hfill\mkern2.5mu\crcr
932   }}%
934 %    \end{macrocode}
935 % The \cs{not} function, which is defined in the \pkg{flexisym}
936 % package, requires a suitably defined \cs{notRel} symbol.   
937 %    \begin{macrocode}
938 \DeclareFlexCompoundSymbol{\neq}{Rel}{\not{=}}
939 %    \end{macrocode}
940 % .   
941 %    \begin{macrocode}
942 \DeclareFlexCompoundSymbol{\mapsto}{Rel}{\mapstoOrd\rightarrow}
943 %    \end{macrocode}
944 % The \cs{@vereq} function ends by centering the whole
945 % construction on the math axis, unlike \cs{buildrel} where the base
946 % symbol remains at its normal altitude.    Furthermore,
947 % \cs{@vereq} leaves the math style of the top symbol as given
948 % instead of downsizing to scriptstyle.   
949 %    \begin{macrocode}
950 \DeclareFlexCompoundSymbol{\cong}{Rel}{\mathpalette\@vereq\sim}
951 %    \end{macrocode}
952 % The \cs{m@th} in the \fn{fontmath.ltx} definition of
953 % \cs{notin} is superfluous unless \cs{c@ncel} doesn't include
954 % it (which was perhaps true in an older version of
955 % \fn{plain.tex}?).   
956 %    \begin{macrocode}
957 \providecommand*\joinord{}
958 %<cmbase|mathptmx>\renewcommand*\joinord{\mkern-3mu }
959 %<mathpazo>\renewcommand*\joinord{\mkern-3.45mu }
960 \DeclareFlexCompoundSymbol{\notin}{Rel}{\mathpalette\c@ncel\in}
961 \DeclareFlexCompoundSymbol{\rightleftharpoons}{Rel}{\mathpalette\rlh@{}}
962 \DeclareFlexCompoundSymbol{\doteq}{Rel}{\buildrel\textstyle.\over=}
963 \DeclareFlexCompoundSymbol{\hookrightarrow}{Rel}{\lhookRel\joinord\rightarrow}
964 \DeclareFlexCompoundSymbol{\hookleftarrow}{Rel}{\leftarrow\joinord\rhookRel}
965 \DeclareFlexCompoundSymbol{\bowtie}{Rel}{\triangleright\joinord\triangleleft}
966 \DeclareFlexCompoundSymbol{\models}{Rel}{\vert\joinord=}
967 \DeclareFlexCompoundSymbol{\Longrightarrow}{Rel}{\Relbar\joinord\Rightarrow}
968 \DeclareFlexCompoundSymbol{\longrightarrow}{Rel}{\relbar\joinord\rightarrow}
969 \DeclareFlexCompoundSymbol{\Longleftarrow}{Rel}{\Leftarrow\joinord\Relbar}
970 \DeclareFlexCompoundSymbol{\longleftarrow}{Rel}{\leftarrow\joinord\relbar}
971 \DeclareFlexCompoundSymbol{\longmapsto}{Rel}{\mapstochar\longrightarrow}
972 \DeclareFlexCompoundSymbol{\longleftrightarrow}{Rel}{\leftarrow\joinord\rightarrow}
973 \DeclareFlexCompoundSymbol{\Longleftrightarrow}{Rel}{\Leftarrow\joinord\Rightarrow}
974 %    \end{macrocode}
975 % Here is what you get from the old definition of \cs{iff}.   
976 % \begin{verbatim}
977 % \glue 2.77771 plus 2.77771
978 % \glue(\thickmuskip) 2.77771 plus 2.77771
979 % \OMS/cmsy/m/n/10 (
980 % \hbox(0.0+0.0)x-1.66663
981 % .\kern -1.66663
982 % \OMS/cmsy/m/n/10 )
983 % \penalty 500
984 % \glue 2.77771 plus 2.77771
985 % \glue(\thickmuskip) 2.77771 plus 2.77771
986 % \end{verbatim}
987 % Looks like it could be simplified slightly.    But it's not so
988 % easy as it looks to do it without screwing up the line breaking
989 % possibilities.   
990 %    \begin{macrocode}
991 \renewcommand*\iff{%
992   \mskip\thickmuskip\Longleftrightarrow\mskip\thickmuskip
994 %    \end{macrocode}
995 % Some dotly symbols.   
996 %    \begin{macrocode}
997 \DeclareFlexCompoundSymbol{\cdots}{Inn}{\cdotp\cdotp\cdotp}%
998 \DeclareFlexCompoundSymbol{\vdots}{Ord}{%
999   \vbox{\baselineskip4\p@ \lineskiplimit\z@
1000     \kern6\p@\hbox{.}\hbox{.}\hbox{.}}}
1001 \DeclareFlexCompoundSymbol{\ddots}{Inn}{%
1002   \mkern1mu\raise7\p@
1003   \vbox{\kern7\p@\hbox{.}}\mkern2mu%
1004   \raise4\p@\hbox{.}\mkern2mu\raise\p@\hbox{.}\mkern1mu%
1006 %    \end{macrocode}
1007 % .   
1008 %    \begin{macrocode}
1009 \def\relbar{\begingroup \def\smash@{tb}% in case amsmath is loaded
1010     \mathpalette\mathsm@sh{\mathchar"200 }\endgroup}
1011 %    \end{macrocode}
1012 % For \cs{Relbar} we take an equal sign of class $0$ (Ord) from the
1013 % operator family. For \fn{cmr} and \pkg{mathptmx} we know this is
1014 % family $0$.
1015 %    \begin{macrocode}
1016 %<cmbase|mathptmx>\def\Relbar{\mathchar"3D }
1017 %    \end{macrocode}
1018 % For the \pkg{mathpazo} setup we need to use the equal sign from
1019 % \fn{cmr} and so must insert class $0$ and use the symbol from the
1020 % upright symbols.
1021 %    \begin{macrocode}
1022 %<mathpazo>\edef\Relbar{\mathchar\string"\hexnumber@\symupright3D }
1023 %    \end{macrocode}
1024 % Done.
1025 %    \begin{macrocode}
1026 %</cmbase|mathpazo|mathptmx>
1027 %    \end{macrocode}
1028 % Various synonyms such as \cs{le} for \cs{leq} and
1029 % \cs{to} for \cs{rightarrow} are defined in
1030 % \pkg{flexisym} with \cs{def} instead of \cs{let}, for
1031 % slower execution speed but smaller chance of synchronization
1032 % problems.   
1036 %    \begin{macrocode}
1037 %<*msabm>
1038 \ProvidesSymbols{msabm}[2001/09/08 v0.91]
1039 %    \end{macrocode}
1040 %    \begin{macrocode}
1041 \RequirePackage{amsfonts}\relax
1042 %    \end{macrocode}
1043 %    \begin{macrocode}
1044 \@xp\xdef\csname mg@MSA\endcsname{\hexnumber@\symAMSa}%
1045 \@xp\xdef\csname mg@MSB\endcsname{\hexnumber@\symAMSb}%
1046 %    \end{macrocode}
1047 %    \begin{macrocode}
1048 \DeclareFlexSymbol{\boxdot}       {Bin}{MSA}{00}
1049 \DeclareFlexSymbol{\boxplus}      {Bin}{MSA}{01}
1050 \DeclareFlexSymbol{\boxtimes}     {Bin}{MSA}{02}
1051 \DeclareFlexSymbol{\square}       {Ord}{MSA}{03}
1052 \DeclareFlexSymbol{\blacksquare}  {Ord}{MSA}{04}
1053 \DeclareFlexSymbol{\centerdot}    {Bin}{MSA}{05}
1054 \DeclareFlexSymbol{\lozenge}      {Ord}{MSA}{06}
1055 \DeclareFlexSymbol{\blacklozenge} {Ord}{MSA}{07}
1056 \DeclareFlexSymbol{\circlearrowright}   {Rel}{MSA}{08}
1057 \DeclareFlexSymbol{\circlearrowleft}    {Rel}{MSA}{09}
1058 %    \end{macrocode}
1059 % In amsfonts.sty:
1060 %    \begin{macrocode}
1061 %%\DeclareFlexSymbol{\rightleftharpoons}{Rel}{MSA}{0A}
1062 \DeclareFlexSymbol{\leftrightharpoons}  {Rel}{MSA}{0B}
1063 \DeclareFlexSymbol{\boxminus}     {Bin}{MSA}{0C}
1064 \DeclareFlexSymbol{\Vdash}        {Rel}{MSA}{0D}
1065 \DeclareFlexSymbol{\Vvdash}       {Rel}{MSA}{0E}
1066 \DeclareFlexSymbol{\vDash}        {Rel}{MSA}{0F}
1067 \DeclareFlexSymbol{\twoheadrightarrow}  {Rel}{MSA}{10}
1068 \DeclareFlexSymbol{\twoheadleftarrow}   {Rel}{MSA}{11}
1069 \DeclareFlexSymbol{\leftleftarrows}     {Rel}{MSA}{12}
1070 \DeclareFlexSymbol{\rightrightarrows}   {Rel}{MSA}{13}
1071 \DeclareFlexSymbol{\upuparrows}         {Rel}{MSA}{14}
1072 \DeclareFlexSymbol{\downdownarrows} {Rel}{MSA}{15}
1073 \DeclareFlexSymbol{\upharpoonright} {Rel}{MSA}{16}
1074  \let\restriction\upharpoonright
1075 \DeclareFlexSymbol{\downharpoonright}   {Rel}{MSA}{17}
1076 \DeclareFlexSymbol{\upharpoonleft}  {Rel}{MSA}{18}
1077 \DeclareFlexSymbol{\downharpoonleft}{Rel}{MSA}{19}
1078 \DeclareFlexSymbol{\rightarrowtail} {Rel}{MSA}{1A}
1079 \DeclareFlexSymbol{\leftarrowtail}  {Rel}{MSA}{1B}
1080 \DeclareFlexSymbol{\leftrightarrows}{Rel}{MSA}{1C}
1081 \DeclareFlexSymbol{\rightleftarrows}{Rel}{MSA}{1D}
1082 \DeclareFlexSymbol{\Lsh}            {Rel}{MSA}{1E}
1083 \DeclareFlexSymbol{\Rsh}            {Rel}{MSA}{1F}
1084 \DeclareFlexSymbol{\rightsquigarrow}  {Rel}{MSA}{20}
1085 \DeclareFlexSymbol{\leftrightsquigarrow}{Rel}{MSA}{21}
1086 \DeclareFlexSymbol{\looparrowleft}  {Rel}{MSA}{22}
1087 \DeclareFlexSymbol{\looparrowright} {Rel}{MSA}{23}
1088 \DeclareFlexSymbol{\circeq}       {Rel}{MSA}{24}
1089 \DeclareFlexSymbol{\succsim}      {Rel}{MSA}{25}
1090 \DeclareFlexSymbol{\gtrsim}       {Rel}{MSA}{26}
1091 \DeclareFlexSymbol{\gtrapprox}    {Rel}{MSA}{27}
1092 \DeclareFlexSymbol{\multimap}     {Rel}{MSA}{28}
1093 \DeclareFlexSymbol{\therefore}    {Rel}{MSA}{29}
1094 \DeclareFlexSymbol{\because}      {Rel}{MSA}{2A}
1095 \DeclareFlexSymbol{\doteqdot}     {Rel}{MSA}{2B}
1096  \let\Doteq\doteqdot
1097 \DeclareFlexSymbol{\triangleq}    {Rel}{MSA}{2C}
1098 \DeclareFlexSymbol{\precsim}      {Rel}{MSA}{2D}
1099 \DeclareFlexSymbol{\lesssim}      {Rel}{MSA}{2E}
1100 \DeclareFlexSymbol{\lessapprox}   {Rel}{MSA}{2F}
1101 \DeclareFlexSymbol{\eqslantless}  {Rel}{MSA}{30}
1102 \DeclareFlexSymbol{\eqslantgtr}   {Rel}{MSA}{31}
1103 \DeclareFlexSymbol{\curlyeqprec}  {Rel}{MSA}{32}
1104 \DeclareFlexSymbol{\curlyeqsucc}  {Rel}{MSA}{33}
1105 \DeclareFlexSymbol{\preccurlyeq}  {Rel}{MSA}{34}
1106 \DeclareFlexSymbol{\leqq}         {Rel}{MSA}{35}
1107 \DeclareFlexSymbol{\leqslant}     {Rel}{MSA}{36}
1108 \DeclareFlexSymbol{\lessgtr}      {Rel}{MSA}{37}
1109 \DeclareFlexSymbol{\backprime}    {Ord}{MSA}{38}
1110 \DeclareFlexSymbol{\risingdotseq} {Rel}{MSA}{3A}
1111 \DeclareFlexSymbol{\fallingdotseq}{Rel}{MSA}{3B}
1112 \DeclareFlexSymbol{\succcurlyeq}  {Rel}{MSA}{3C}
1113 \DeclareFlexSymbol{\geqq}         {Rel}{MSA}{3D}
1114 \DeclareFlexSymbol{\geqslant}     {Rel}{MSA}{3E}
1115 \DeclareFlexSymbol{\gtrless}      {Rel}{MSA}{3F}
1116 %    \end{macrocode}
1117 % in amsfonts.sty
1118 %    \begin{macrocode}
1119 %% \DeclareFlexSymbol{\sqsubset}    {Rel}{MSA}{40}
1120 %% \DeclareFlexSymbol{\sqsupset}    {Rel}{MSA}{41}
1121 \DeclareFlexSymbol{\vartriangleright}{Rel}{MSA}{42}
1122 \DeclareFlexSymbol{\vartriangleleft} {Rel}{MSA}{43}
1123 \DeclareFlexSymbol{\trianglerighteq} {Rel}{MSA}{44}
1124 \DeclareFlexSymbol{\trianglelefteq}  {Rel}{MSA}{45}
1125 \DeclareFlexSymbol{\bigstar}    {Ord}{MSA}{46}
1126 \DeclareFlexSymbol{\between}    {Rel}{MSA}{47}
1127 \DeclareFlexSymbol{\blacktriangledown}  {Ord}{MSA}{48}
1128 \DeclareFlexSymbol{\blacktriangleright} {Rel}{MSA}{49}
1129 \DeclareFlexSymbol{\blacktriangleleft}  {Rel}{MSA}{4A}
1130 \DeclareFlexSymbol{\vartriangle}        {Rel}{MSA}{4D}
1131 \DeclareFlexSymbol{\blacktriangle}      {Ord}{MSA}{4E}
1132 \DeclareFlexSymbol{\triangledown}       {Ord}{MSA}{4F}
1133 \DeclareFlexSymbol{\eqcirc}       {Rel}{MSA}{50}
1134 \DeclareFlexSymbol{\lesseqgtr}    {Rel}{MSA}{51}
1135 \DeclareFlexSymbol{\gtreqless}    {Rel}{MSA}{52}
1136 \DeclareFlexSymbol{\lesseqqgtr}   {Rel}{MSA}{53}
1137 \DeclareFlexSymbol{\gtreqqless}   {Rel}{MSA}{54}
1138 \DeclareFlexSymbol{\Rrightarrow}  {Rel}{MSA}{56}
1139 \DeclareFlexSymbol{\Lleftarrow}   {Rel}{MSA}{57}
1140 \DeclareFlexSymbol{\veebar}       {Bin}{MSA}{59}
1141 \DeclareFlexSymbol{\barwedge}     {Bin}{MSA}{5A}
1142 \DeclareFlexSymbol{\doublebarwedge} {Bin}{MSA}{5B}
1143 %    \end{macrocode}
1144 % In amsfonts.sty
1145 %    \begin{macrocode}
1146 %%\DeclareFlexSymbol{\angle}        {Ord}{MSA}{5C}
1147 \DeclareFlexSymbol{\measuredangle}  {Ord}{MSA}{5D}
1148 \DeclareFlexSymbol{\sphericalangle} {Ord}{MSA}{5E}
1149 \DeclareFlexSymbol{\varpropto}    {Rel}{MSA}{5F}
1150 \DeclareFlexSymbol{\smallsmile}   {Rel}{MSA}{60}
1151 \DeclareFlexSymbol{\smallfrown}   {Rel}{MSA}{61}
1152 \DeclareFlexSymbol{\Subset}       {Rel}{MSA}{62}
1153 \DeclareFlexSymbol{\Supset}       {Rel}{MSA}{63}
1154 \DeclareFlexSymbol{\Cup}          {Bin}{MSA}{64}
1155  \let\doublecup\Cup
1156 \DeclareFlexSymbol{\Cap}          {Bin}{MSA}{65}
1157  \let\doublecap\Cap
1158 \DeclareFlexSymbol{\curlywedge}   {Bin}{MSA}{66}
1159 \DeclareFlexSymbol{\curlyvee}     {Bin}{MSA}{67}
1160 \DeclareFlexSymbol{\leftthreetimes} {Bin}{MSA}{68}
1161 \DeclareFlexSymbol{\rightthreetimes}{Bin}{MSA}{69}
1162 \DeclareFlexSymbol{\subseteqq}    {Rel}{MSA}{6A}
1163 \DeclareFlexSymbol{\supseteqq}    {Rel}{MSA}{6B}
1164 \DeclareFlexSymbol{\bumpeq}       {Rel}{MSA}{6C}
1165 \DeclareFlexSymbol{\Bumpeq}       {Rel}{MSA}{6D}
1166 \DeclareFlexSymbol{\lll}          {Rel}{MSA}{6E}
1167  \let\llless\lll
1168 \DeclareFlexSymbol{\ggg}          {Rel}{MSA}{6F}
1169  \let\gggtr\ggg
1170 \DeclareFlexSymbol{\circledS}     {Ord}{MSA}{73}
1171 \DeclareFlexSymbol{\pitchfork}    {Rel}{MSA}{74}
1172 \DeclareFlexSymbol{\dotplus}      {Bin}{MSA}{75}
1173 \DeclareFlexSymbol{\backsim}      {Rel}{MSA}{76}
1174 \DeclareFlexSymbol{\backsimeq}    {Rel}{MSA}{77}
1175 \DeclareFlexSymbol{\complement}   {Ord}{MSA}{7B}
1176 \DeclareFlexSymbol{\intercal}     {Bin}{MSA}{7C}
1177 \DeclareFlexSymbol{\circledcirc}  {Bin}{MSA}{7D}
1178 \DeclareFlexSymbol{\circledast}   {Bin}{MSA}{7E}
1179 \DeclareFlexSymbol{\circleddash}  {Bin}{MSA}{7F}
1180 %    \end{macrocode}
1181 %   Begin AMSb declarations
1182 %    \begin{macrocode}
1183 \DeclareFlexSymbol{\lvertneqq}    {Rel}{MSB}{00}
1184 \DeclareFlexSymbol{\gvertneqq}    {Rel}{MSB}{01}
1185 \DeclareFlexSymbol{\nleq}         {Rel}{MSB}{02}
1186 \DeclareFlexSymbol{\ngeq}         {Rel}{MSB}{03}
1187 \DeclareFlexSymbol{\nless}        {Rel}{MSB}{04}
1188 \DeclareFlexSymbol{\ngtr}         {Rel}{MSB}{05}
1189 \DeclareFlexSymbol{\nprec}        {Rel}{MSB}{06}
1190 \DeclareFlexSymbol{\nsucc}        {Rel}{MSB}{07}
1191 \DeclareFlexSymbol{\lneqq}        {Rel}{MSB}{08}
1192 \DeclareFlexSymbol{\gneqq}        {Rel}{MSB}{09}
1193 \DeclareFlexSymbol{\nleqslant}    {Rel}{MSB}{0A}
1194 \DeclareFlexSymbol{\ngeqslant}    {Rel}{MSB}{0B}
1195 \DeclareFlexSymbol{\lneq}         {Rel}{MSB}{0C}
1196 \DeclareFlexSymbol{\gneq}         {Rel}{MSB}{0D}
1197 \DeclareFlexSymbol{\npreceq}      {Rel}{MSB}{0E}
1198 \DeclareFlexSymbol{\nsucceq}      {Rel}{MSB}{0F}
1199 \DeclareFlexSymbol{\precnsim}     {Rel}{MSB}{10}
1200 \DeclareFlexSymbol{\succnsim}     {Rel}{MSB}{11}
1201 \DeclareFlexSymbol{\lnsim}        {Rel}{MSB}{12}
1202 \DeclareFlexSymbol{\gnsim}        {Rel}{MSB}{13}
1203 \DeclareFlexSymbol{\nleqq}        {Rel}{MSB}{14}
1204 \DeclareFlexSymbol{\ngeqq}        {Rel}{MSB}{15}
1205 \DeclareFlexSymbol{\precneqq}     {Rel}{MSB}{16}
1206 \DeclareFlexSymbol{\succneqq}     {Rel}{MSB}{17}
1207 \DeclareFlexSymbol{\precnapprox}  {Rel}{MSB}{18}
1208 \DeclareFlexSymbol{\succnapprox}  {Rel}{MSB}{19}
1209 \DeclareFlexSymbol{\lnapprox}     {Rel}{MSB}{1A}
1210 \DeclareFlexSymbol{\gnapprox}     {Rel}{MSB}{1B}
1211 \DeclareFlexSymbol{\nsim}         {Rel}{MSB}{1C}
1212 \DeclareFlexSymbol{\ncong}        {Rel}{MSB}{1D}
1213 \DeclareFlexSymbol{\diagup}       {Ord}{MSB}{1E}
1214 \DeclareFlexSymbol{\diagdown}     {Ord}{MSB}{1F}
1215 \DeclareFlexSymbol{\varsubsetneq}   {Rel}{MSB}{20}
1216 \DeclareFlexSymbol{\varsupsetneq}   {Rel}{MSB}{21}
1217 \DeclareFlexSymbol{\nsubseteqq}     {Rel}{MSB}{22}
1218 \DeclareFlexSymbol{\nsupseteqq}     {Rel}{MSB}{23}
1219 \DeclareFlexSymbol{\subsetneqq}     {Rel}{MSB}{24}
1220 \DeclareFlexSymbol{\supsetneqq}     {Rel}{MSB}{25}
1221 \DeclareFlexSymbol{\varsubsetneqq}  {Rel}{MSB}{26}
1222 \DeclareFlexSymbol{\varsupsetneqq}  {Rel}{MSB}{27}
1223 \DeclareFlexSymbol{\subsetneq}      {Rel}{MSB}{28}
1224 \DeclareFlexSymbol{\supsetneq}      {Rel}{MSB}{29}
1225 \DeclareFlexSymbol{\nsubseteq}      {Rel}{MSB}{2A}
1226 \DeclareFlexSymbol{\nsupseteq}      {Rel}{MSB}{2B}
1227 \DeclareFlexSymbol{\nparallel}      {Rel}{MSB}{2C}
1228 \DeclareFlexSymbol{\nmid}           {Rel}{MSB}{2D}
1229 \DeclareFlexSymbol{\nshortmid}      {Rel}{MSB}{2E}
1230 \DeclareFlexSymbol{\nshortparallel} {Rel}{MSB}{2F}
1231 \DeclareFlexSymbol{\nvdash}         {Rel}{MSB}{30}
1232 \DeclareFlexSymbol{\nVdash}         {Rel}{MSB}{31}
1233 \DeclareFlexSymbol{\nvDash}         {Rel}{MSB}{32}
1234 \DeclareFlexSymbol{\nVDash}         {Rel}{MSB}{33}
1235 \DeclareFlexSymbol{\ntrianglerighteq}{Rel}{MSB}{34}
1236 \DeclareFlexSymbol{\ntrianglelefteq}{Rel}{MSB}{35}
1237 \DeclareFlexSymbol{\ntriangleleft}  {Rel}{MSB}{36}
1238 \DeclareFlexSymbol{\ntriangleright} {Rel}{MSB}{37}
1239 \DeclareFlexSymbol{\nleftarrow}     {Rel}{MSB}{38}
1240 \DeclareFlexSymbol{\nrightarrow}    {Rel}{MSB}{39}
1241 \DeclareFlexSymbol{\nLeftarrow}     {Rel}{MSB}{3A}
1242 \DeclareFlexSymbol{\nRightarrow}    {Rel}{MSB}{3B}
1243 \DeclareFlexSymbol{\nLeftrightarrow}{Rel}{MSB}{3C}
1244 \DeclareFlexSymbol{\nleftrightarrow}{Rel}{MSB}{3D}
1245 \DeclareFlexSymbol{\divideontimes}  {Bin}{MSB}{3E}
1246 \DeclareFlexSymbol{\varnothing}     {Ord}{MSB}{3F}
1247 \DeclareFlexSymbol{\nexists}        {Ord}{MSB}{40}
1248 \DeclareFlexSymbol{\Finv}           {Ord}{MSB}{60}
1249 \DeclareFlexSymbol{\Game}           {Ord}{MSB}{61}
1250 %    \end{macrocode}
1251 % In amsfonts.sty:
1252 %    \begin{macrocode}
1253 %%\DeclareFlexSymbol{\mho}          {Ord}{MSB}{66}
1254 \DeclareFlexSymbol{\eth}            {Ord}{MSB}{67}
1255 \DeclareFlexSymbol{\eqsim}          {Rel}{MSB}{68}
1256 \DeclareFlexSymbol{\beth}           {Ord}{MSB}{69}
1257 \DeclareFlexSymbol{\gimel}          {Ord}{MSB}{6A}
1258 \DeclareFlexSymbol{\daleth}         {Ord}{MSB}{6B}
1259 \DeclareFlexSymbol{\lessdot}        {Bin}{MSB}{6C}
1260 \DeclareFlexSymbol{\gtrdot}         {Bin}{MSB}{6D}
1261 \DeclareFlexSymbol{\ltimes}         {Bin}{MSB}{6E}
1262 \DeclareFlexSymbol{\rtimes}         {Bin}{MSB}{6F}
1263 \DeclareFlexSymbol{\shortmid}       {Rel}{MSB}{70}
1264 \DeclareFlexSymbol{\shortparallel}  {Rel}{MSB}{71}
1265 \DeclareFlexSymbol{\smallsetminus}  {Bin}{MSB}{72}
1266 \DeclareFlexSymbol{\thicksim}       {Rel}{MSB}{73}
1267 \DeclareFlexSymbol{\thickapprox}    {Rel}{MSB}{74}
1268 \DeclareFlexSymbol{\approxeq}       {Rel}{MSB}{75}
1269 \DeclareFlexSymbol{\succapprox}     {Rel}{MSB}{76}
1270 \DeclareFlexSymbol{\precapprox}     {Rel}{MSB}{77}
1271 \DeclareFlexSymbol{\curvearrowleft} {Rel}{MSB}{78}
1272 \DeclareFlexSymbol{\curvearrowright}{Rel}{MSB}{79}
1273 \DeclareFlexSymbol{\digamma}        {Ord}{MSB}{7A}
1274 \DeclareFlexSymbol{\varkappa}       {Ord}{MSB}{7B}
1275 \DeclareFlexSymbol{\Bbbk}           {Ord}{MSB}{7C}
1276 \DeclareFlexSymbol{\hslash}         {Ord}{MSB}{7D}
1277 %    \end{macrocode}
1278 % In amsfonts.sty:
1279 %    \begin{macrocode}
1280 %%\DeclareFlexSymbol{\hbar}         {Ord}{MSB}{7E}
1281 \DeclareFlexSymbol{\backepsilon}    {Rel}{MSB}{7F}
1282 %</msabm>
1283 %    \end{macrocode}
1285 % \PrintIndex
1287 % \Finale