]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/doc/comparison/amstex.sty
Moving PWG1 to PWGPP
[u/mrichter/AliRoot.git] / PWGPP / doc / comparison / amstex.sty
CommitLineData
20552425 1%%% ====================================================================
2%%% @LaTeX-file{
3%%% filename = "amstex.sty",
4%%% version = "1.2f",
5%%% date = "1999/11/15",
6%%% time = "14:07:07 EST",
7%%% checksum = "05218 2043 3020 71018",
8%%% author = "American Mathematical Society",
9%%% copyright = "Copyright 1995, 1999 American Mathematical Society,
10%%% all rights reserved. Copying of this file is
11%%% authorized only if either:
12%%% (1) you make absolutely no changes to your copy,
13%%% including name; OR
14%%% (2) if you do make changes, you first rename it
15%%% to some other name.",
16%%% address = "American Mathematical Society,
17%%% Technical Support,
18%%% Electronic Products and Services,
19%%% P. O. Box 6248,
20%%% Providence, RI 02940,
21%%% USA",
22%%% telephone = "401-455-4080 or (in the USA and Canada)
23%%% 800-321-4AMS (321-4267)",
24%%% FAX = "401-331-3842",
25%%% email = "tech-support@math.ams.org (Internet)",
26%%% keywords = "latex, amslatex, ams-latex, math, amstex, ams-tex",
27%%% supported = "yes",
28%%% abstract = "This package provides a variety of extra
29%%% mathematical features, largely derived from
30%%% AMS-\TeX{}. It was superseded in 1995 by the
31%%% amsmath package.",
32%%% docstring = "The checksum field above contains a CRC-16 checksum
33%%% as the first value, followed by the equivalent of
34%%% the standard UNIX wc (word count) utility output of
35%%% lines, words, and characters. This is produced by
36%%% Robert Solovay's checksum utility.",
37%%% }
38%%% ====================================================================
39% This file was generated from version 1.2beta of amstex.dtx and then
40% underwent additional hand-editing.
41\if@compatibility \else \catcode`\%=9 \fi
42%\PackageError{amstex}{%
43%Package `amstex' is obsolete, substituting `amsmath'}{You
44%should use \string\usepackage{amsmath} instead. If
45%that does not give satisfactory results, rename your previous copy
46%of amstex.sty to amstex12beta.sty and call it with
47%\string\usepackage{amstex12beta}.}
48%\catcode`\%=14 \relax \input{amsmath.sty}\endinput
49%
50\ProvidesPackage{amstex}[1999/11/15 v1.2f AMS extra math features]
51\let\@amsfonts=T
52\DeclareOption{noamsfonts}{\let\@amsfonts=F}
53\DeclareOption{psamsfonts}{\let\@amsfonts=P}
54\DeclareOption{intlimits}{\let\ilimits@\displaylimits}
55\DeclareOption{nointlimits}{\let\ilimits@\nolimits}
56\DeclareOption{sumlimits}{\let\slimits@\displaylimits}
57\DeclareOption{nosumlimits}{\let\slimits@\nolimits}
58\DeclareOption{namelimits}{\let\nlimits@\displaylimits}
59\DeclareOption{nonamelimits}{\let\nlimits@\nolimits}
60\newif\ifctagsplit@
61\newif\iftagsleft@
62\DeclareOption{leqno}{\tagsleft@true}
63\DeclareOption{reqno}{\tagsleft@false}
64\DeclareOption{centertags}{\ctagsplit@true}
65\DeclareOption{tbtags}{\ctagsplit@false}
66\newif\if@fleqn
67\newskip\@mathmargin
68\@mathmargin\@centering
69\DeclareOption{fleqn}{%
70 \@fleqntrue
71 \@mathmargin\m@ne sp
72 \AtBeginDocument{%
73 \ifdim\@mathmargin=\m@ne sp
74 \@mathmargin\leftmargini
75 \fi
76 }%
77}
78\DeclareOption{righttag}{\tagsleft@false}
79\DeclareOption{ctagsplt}{\ctagsplit@true}
80\DeclareOption{intlim}{\let\ilimits@\displaylimits}
81\DeclareOption{nosumlim}{\let\slimits@\nolimits}
82\DeclareOption{nonamelm}{\let\nlimits@\nolimits}
83\ExecuteOptions{nointlimits,sumlimits,namelimits,centertags}
84\ProcessOptions
85%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
86%% In this section \RequirePackage statements were replaced with the
87%% contents of the referenced files.
88%%% filename = "amsgen.dtx",
89%%% version = "1.2beta",
90%%% date = "1994/12/13",
91\providecommand{\@saveprimitive}[2]{\begingroup\escapechar`\\\relax
92 \edef\@tempa{\string#1}\edef\@tempb{\meaning#1}%
93 \ifx\@tempa\@tempb \global\let#2#1%
94 \else
95 \edef\@tempb{\meaning#2}%
96 \ifx\@tempa\@tempb
97 \else
98 \@latex@error{Unable to properly define \string#2; primitive
99 \noexpand#1no longer primitive}\@eha
100 \fi
101 \fi
102 \endgroup}
103\let\@xp=\expandafter
104\let\@nx=\noexpand
105\newtoks\@emptytoks
106\def\@oparg#1[#2]{\@ifnextchar[{#1}{#1[#2]}}
107\def\@ifempty#1{\@xifempty#1@@..\@nil}
108\long\def\@xifempty#1#2@#3#4#5\@nil{%
109 \ifx#3#4\@xp\@firstoftwo\else\@xp\@secondoftwo\fi}
110\long\def\@ifnotempty#1{\@ifempty{#1}{}}
111\def\FN@{\futurelet\@let@token}
112\def\DN@{\def\next@}
113\def\RIfM@{\relax\ifmmode}
114\def\setboxz@h{\setbox\z@\hbox}
115\def\wdz@{\wd\z@}
116\def\boxz@{\box\z@}
117\def\relaxnext@{\let\@let@token\relax}
118\def\new@ifnextchar#1#2#3{%
119 \let\@tempe #1\def\@tempa{#2}\def\@tempb{#3}\futurelet
120 \@tempc\new@ifnch}
121\def\new@ifnch{\ifx\@tempc \@tempe \let\@tempd\@tempa
122 \else\let\@tempd\@tempb\fi\@tempd}
123\def\new@ifstar#1#2{\new@ifnextchar *{\def\@tempa*{#1}\@tempa}{#2}}
124\@ifundefined{every@math@size}{%
125\let\every@math@size=\every@size
126\def\glb@settings{%
127 \expandafter\ifx\csname S@\f@size\endcsname\relax
128 \calculate@math@sizes
129 \fi
130 \csname S@\f@size\endcsname
131 \ifmath@fonts
132 \begingroup
133 \escapechar\m@ne
134 \csname mv@\math@version \endcsname
135 \globaldefs\@ne
136 \let \glb@currsize \f@size
137 \math@fonts
138 \endgroup
139 \the\every@math@size
140 \else
141 \fi
142}
143\def\set@fontsize#1#2#3{%
144 \@defaultunits\@tempdimb#2pt\relax\@nnil
145 \edef\f@size{\strip@pt\@tempdimb}%
146 \@defaultunits\@tempskipa#3pt\relax\@nnil
147 \edef\f@baselineskip{\the\@tempskipa}%
148 \edef\f@linespread{#1}%
149 \let\baselinestretch\f@linespread
150 \def\size@update{%
151 \baselineskip\f@baselineskip\relax
152 \baselineskip\f@linespread\baselineskip
153 \normalbaselineskip\baselineskip
154 \setbox\strutbox\hbox{%
155 \vrule\@height.7\baselineskip
156 \@depth.3\baselineskip
157 \@width\z@}%
158%%% \the\every@size
159 \let\size@update\relax}%
160 }
161}{}% end \@ifundefined test
162\newdimen\ex@
163\addto@hook\every@math@size{\compute@ex@}
164\def\compute@ex@{%
165 \begingroup
166 \dimen@-\f@size\p@
167 \ifdim\dimen@<-20\p@
168 \global\ex@ 1.5\p@
169 \else
170 \advance\dimen@10\p@ \multiply\dimen@\tw@
171 \edef\@tempa{\ifdim\dimen@>\z@ -\fi}%
172 \dimen@ \ifdim\dimen@<\z@ -\fi \dimen@
173 \advance\dimen@-\@m sp % fudge factor
174 \vfuzz\p@
175 \def\do{\ifdim\dimen@>\z@
176 \vfuzz=.97\vfuzz
177 \advance\dimen@ -\p@
178 \@xp\do \fi}%
179 \do
180 \dimen@\p@ \advance\dimen@-\vfuzz
181 \global\ex@\p@
182 \global\advance\ex@ \@tempa\dimen@
183 \fi
184 \endgroup
185}
186\def\@addpunct#1{\ifnum\spacefactor>\@m \else#1\fi}
187\def\frenchspacing{\sfcode`\.1006\sfcode`\?1005\sfcode`\!1004%
188 \sfcode`\:1003\sfcode`\;1002\sfcode`\,1001 }
189\def\@mathmeasure#1#2#3{\setbox#1\hbox{\frozen@everymath\@emptytoks
190 \m@th$#2#3$}}
191\def\nomath@env{\PackageError{amstex}{%
192 \string\begin{\@currenvir} allowed only in paragraph mode%
193}\@ehb% "You've lost some text"
194}
195\def\Invalid@@{Invalid use of \string}
196\def\nonmatherr@#1{\PackageError{amsfonts}%
197 {\noexpand#1allowed only in math mode}\@ehd}
198%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
199%%% filename = "amstext.dtx",
200%%% version = "1.2beta",
201%%% date = "1994/12/13",
202\DeclareRobustCommand{\text}{%
203 \ifmmode\expandafter\text@\else\expandafter\mbox\fi}
204\let\nfss@text\text
205\def\text@#1{\mathchoice
206 {\textdef@\displaystyle\f@size{#1}}%
207 {\textdef@\textstyle\tf@size{\firstchoice@false #1}}%
208 {\textdef@\textstyle\sf@size{\firstchoice@false #1}}%
209 {\textdef@\textstyle \ssf@size{\firstchoice@false #1}}%
210 \check@mathfonts
211}
212\def\textdef@#1#2#3{\hbox{{%
213 \everymath{#1}%
214 \let\f@size#2\selectfont
215 #3}}}
216\newif\iffirstchoice@
217\firstchoice@true
218\def\stepcounter#1{%
219 \iffirstchoice@
220 \global\expandafter\advance\csname c@#1\endcsname \@ne
221 \begingroup
222 \let\@elt\@stpelt
223 \csname cl@#1\endcsname
224 \endgroup
225 \fi}
226\toks@{\iffirstchoice@\else\@xp\@gobblefour\fi\protect}
227\edef\GenericInfo{\the\toks@
228 \@xp\@nx\csname GenericInfo \endcsname}
229\edef\GenericWarning{\the\toks@
230 \@xp\@nx\csname GenericWarning \endcsname}
231\toks@{\iffirstchoice@\else
232 \@xp\@xp\@xp\@gobblefour
233 \@xp\@gobbletwo\fi\protect}
234\edef\GenericError{\the\toks@
235 \@xp\@nx\csname GenericError \endcsname}
236\def\label#1{\@bsphack\iffirstchoice@\if@filesw {\let\thepage\relax
237 \def\protect{\noexpand\noexpand\noexpand}%
238\xdef\@gtempa{\write\@auxout{\string
239 \newlabel{#1}{{\@currentlabel}{\thepage}}}}}\@gtempa
240 \if@nobreak \ifvmode\nobreak\fi\fi\fi\fi\@esphack}
241\begingroup \catcode`\"=12
242\gdef\mathhexbox#1#2#3{\text{$\m@th\mathchar"#1#2#3$}}
243\endgroup
244%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
245%%% filename = "amsfonts.dtx",
246%%% version = "1.2beta",
247%%% date = "1994/12/13",
248\newbox\Mathstrutbox@
249\setbox\Mathstrutbox@=\hbox{}
250\def\Mathstrut@{\copy\Mathstrutbox@}
251\addto@hook\every@math@size{\setbox\z@\hbox{\normalfont(}%
252 \ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@}
253\newbox\strutbox@
254\def\strut@{\copy\strutbox@}
255\addto@hook\every@math@size{%
256 \global\setbox\strutbox@\hbox{\lower.5\normallineskiplimit
257 \vbox{\kern-\normallineskiplimit\copy\strutbox}}}
258\def\big{\bBigg@\@ne}
259\def\Big{\bBigg@{1.5}}
260\def\bigg{\bBigg@\tw@}
261\def\Bigg{\bBigg@{2.5}}
262\def\bBigg@#1#2{%
263 {%
264 \hbox{$\left#2\vcenter to#1\big@size{}\right.%
265 \n@space
266 $}}}
267\addto@hook\every@math@size{%
268 \global\big@size 1.2\ht\Mathstrutbox@
269 \global\advance\big@size 1.2\dp\Mathstrutbox@ }
270\newdimen\big@size
271%% msam, msbm, eufm fonts dealt with at end of file
272%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
273%%% filename = "amsbsy.dtx",
274%%% version = "1.2beta",
275%%% date = "1994/10/27",
276\DeclareRobustCommand{\boldsymbol}[1]{%
277 \begingroup
278 \let\@nomath\@gobble \mathversion{bold}%
279 \math@atom{#1}{%
280 \mathchoice%
281 {\hbox{$\m@th\displaystyle#1$}}%
282 {\hbox{$\m@th\textstyle#1$}}%
283 {\hbox{$\m@th\scriptstyle#1$}}%
284 {\hbox{$\m@th\scriptscriptstyle#1$}}}%
285 \endgroup}
286\def\math@atom#1#2{%
287 \binrel@{#1}\binrel@@{#2}}
288\DeclareRobustCommand{\pmb}{%
289 \ifmmode\else \expandafter\pmb@@\fi\mathpalette\pmb@}
290\def\pmb@@#1#2#3{\leavevmode\setboxz@h{#3}%
291 \dimen@-\wdz@
292 \kern-.5\ex@\copy\z@
293 \kern\dimen@\kern.25\ex@\raise.4\ex@\copy\z@
294 \kern\dimen@\kern.25\ex@\box\z@
295}
296\newdimen\pmbraise@
297\def\pmb@#1#2{\setbox8\hbox{$\m@th#1{#2}$}%
298 \setboxz@h{$\m@th#1\mkern.5mu$}\pmbraise@\wdz@
299 \binrel@{#2}%
300 \dimen@-\wd8 %
301 \binrel@@{%
302 \mkern-.8mu\copy8 %
303 \kern\dimen@\mkern.4mu\raise\pmbraise@\copy8 %
304 \kern\dimen@\mkern.4mu\box8 }%
305}
306\def\binrel@#1{\begingroup
307 \setboxz@h{\thinmuskip0mu
308 \medmuskip\m@ne mu\thickmuskip\@ne mu
309 \setbox\tw@\hbox{$#1\m@th$}\kern-\wd\tw@
310 ${}#1{}\m@th$}%
311 \edef\@tempa{\endgroup\let\noexpand\binrel@@
312 \ifdim\wdz@<\z@ \mathbin
313 \else\ifdim\wdz@>\z@ \mathrel
314 \else \relax\fi\fi}%
315 \@tempa
316}
317\let\binrel@@\relax
318%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
319\def\AmSTeX{\protect\AmS-\protect\TeX{}}
320\def\AmS{{\protect\AmSfont
321 A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
322\def\AmSfont{%
323 \usefont{OMS}{cmsy}{\if\@xp\@car\f@series\@nil bb\else m\fi}{n}}
324\def\prim@s{\prime\futurelet\@let@token\pr@m@s}
325\def\pr@m@s{%
326 \ifx\@let@token'\DN@##1{\prim@s}\else\let\next@\egroup\fi\next@}
327\let\@prime=\prime
328\renewcommand{\prime}{{\kern\z@\@prime}}
329\DeclareRobustCommand{\mspace}[3]{%
330 \ifmmode\mskip#1#2\else\kern#1#3\fi\relax}
331\renewcommand{\,}{\mspace+\thinmuskip{.1667em}}
332\let\thinspace\,
333\renewcommand{\!}{\mspace-\thinmuskip{.1667em}}
334\let\negthinspace\!
335\renewcommand{\:}{\mspace+\medmuskip{.2222em}}
336\let\medspace\:
337\newcommand{\negmedspace}{\mspace-\medmuskip{.2222em}}
338\renewcommand{\;}{\mspace+\thickmuskip{.2777em}}
339\let\thickspace\;
340\newcommand{\negthickspace}{\mspace-\thickmuskip{.2777em}}
341\def\implies{\DOTSB\;\Longrightarrow\;}
342\def\impliedby{\DOTSB\;\Longleftarrow\;}
343\begingroup \catcode`\"=12 % in case activated by a preceding package
344\gdef\And{\DOTSB\;\mathchar"3026 \;}
345\gdef\lvert{\delimiter"426A30C }
346\gdef\rvert{\delimiter"526A30C }
347\gdef\lVert{\delimiter"426B30D }
348\gdef\rVert{\delimiter"526B30D }
349\endgroup % restore "
350\DeclareRobustCommand{\frac}{\new@ifnextchar[{\frfrac{}}{\frfrac{}[]}}
351\def\frfrac#1[#2]#3#4{\def\next@{#2}%
352 \ifx\next@\@empty \def\next@{#1{#3\over#4}}%
353 \else \def\next@{{#1{#3\above#2\relax#4}}}%
354 \fi
355 \next@}
356\def\dfrac{\protect\frfrac\displaystyle[]}
357\def\tfrac{\protect\frfrac\textstyle[]}
358\DeclareRobustCommand{\binom}{\frbinom{}}
359\def\frbinom#1#2#3{{#1{#2\atopwithdelims()#3}}}
360\def\dbinom{\protect\frbinom\displaystyle}
361\def\tbinom{\protect\frbinom\textstyle}
362\def\colon{\nobreak\mskip2mu\mathpunct{}\nonscript
363 \mkern-\thinmuskip{:}\mskip6muplus1mu\relax}
364\begingroup \catcode`\"=12
365\DeclareMathSymbol{\coprod@}{\mathop}{largesymbols}{"60}
366\gdef\coprod{\DOTSB\coprod@\slimits@}
367\DeclareMathSymbol{\bigvee@}{\mathop}{largesymbols}{"57}
368\gdef\bigvee{\DOTSB\bigvee@\slimits@}
369\DeclareMathSymbol{\bigwedge@}{\mathop}{largesymbols}{"56}
370\gdef\bigwedge{\DOTSB\bigwedge@\slimits@}
371\DeclareMathSymbol{\biguplus@}{\mathop}{largesymbols}{"55}
372\gdef\biguplus{\DOTSB\biguplus@\slimits@}
373\DeclareMathSymbol{\bigcap@}{\mathop}{largesymbols}{"54}
374\gdef\bigcap{\DOTSB\bigcap@\slimits@}
375\DeclareMathSymbol{\bigcup@}{\mathop}{largesymbols}{"53}
376\gdef\bigcup{\DOTSB\bigcup@\slimits@}
377\DeclareMathSymbol{\prod@}{\mathop}{largesymbols}{"51}
378\gdef\prod{\DOTSB\prod@\slimits@}
379\DeclareMathSymbol{\sum@}{\mathop}{largesymbols}{"50}
380\gdef\sum{\DOTSB\sum@\slimits@}
381\DeclareMathSymbol{\bigotimes@}{\mathop}{largesymbols}{"4E}
382\gdef\bigotimes{\DOTSB\bigotimes@\slimits@}
383\DeclareMathSymbol{\bigoplus@}{\mathop}{largesymbols}{"4C}
384\gdef\bigoplus{\DOTSB\bigoplus@\slimits@}
385\DeclareMathSymbol{\bigodot@}{\mathop}{largesymbols}{"4A}
386\gdef\bigodot{\DOTSB\bigodot@\slimits@}
387\DeclareMathSymbol{\bigsqcup@}{\mathop}{largesymbols}{"46}
388\gdef\bigsqcup{\DOTSB\bigsqcup@\slimits@}
389\endgroup
390\def\dddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@
391 \hbox{\normalfont ...}\vss}}}}
392\def\ddddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@
393 \hbox{\normalfont....}\vss}}}}
394\def~{\nobreakspace}
395\DeclareRobustCommand{\nobreakspace}{\unskip\nobreak\ \ignorespaces}
396%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
397\newif\if@display
398\everydisplay\expandafter{\the\everydisplay \@displaytrue}
399\def\int{\DOTSI\intop\ilimits@}
400\def\oint{\DOTSI\ointop\ilimits@}
401\def\intkern@{\mkern-6mu\mathchoice{\mkern-3mu}{}{}{}}
402\def\intdots@{\mathchoice{\@cdots}%
403 {{\cdotp}\mkern1.5mu{\cdotp}\mkern1.5mu{\cdotp}}%
404 {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}%
405 {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}}
406
407\def\iint{\DOTSI\protect\ints@\tw@}
408\def\iiint{\DOTSI\protect\ints@\thr@@}
409\def\iiiint{\DOTSI\protect\ints@{4}}
410\def\idotsint{\DOTSI\protect\ints@\z@}
411
412\def\ints@#1{%
413 \mkern-7mu\mathchoice{\mkern-2mu}{}{}{}%
414 \mathop{\mkern7mu\mathchoice{\mkern2mu}{}{}{}%
415 \intop\ifnum#1=\z@\intdots@
416 \else\intkern@\fi
417 \ifnum#1>\tw@\intop\intkern@\fi
418 \ifnum#1>\thr@@\intop\intkern@\fi
419 \intop
420 }\ilimits@
421}
422\def\nolimits@{%
423 \DN@{\nolimits\ifx\@let@token\limits\expandafter\@gobble\fi}%
424 \FN@\next@}
425\begingroup \catcode`\"=12
426\gdef\newmcodes@{\mathcode`\'39\mathcode`\*42\mathcode`\."613A%
427 \mathcode`\-45\mathcode`\/47\mathcode`\:"603A\relax}
428\endgroup
429\DeclareRobustCommand{\operatorname}{%
430 \@ifstar{\qopname\newmcodes@ n}%
431 {\qopname\newmcodes@{no}}}%
432\DeclareRobustCommand{\qopname}[3]{\mathop{#1\kern\z@\operator@font#3}%
433 \csname #2limits@\endcsname}
434\def\arccos{\qopname\relax{no}{arccos}}
435\def\arcsin{\qopname\relax{no}{arcsin}}
436\def\arctan{\qopname\relax{no}{arctan}}
437\def\arg{\qopname\relax{no}{arg}}
438\def\cos{\qopname\relax{no}{cos}}
439\def\cosh{\qopname\relax{no}{cosh}}
440\def\cot{\qopname\relax{no}{cot}}
441\def\coth{\qopname\relax{no}{coth}}
442\def\csc{\qopname\relax{no}{csc}}
443\def\deg{\qopname\relax{no}{deg}}
444\def\det{\qopname\relax n{det}}
445\def\dim{\qopname\relax{no}{dim}}
446\def\exp{\qopname\relax{no}{exp}}
447\def\gcd{\qopname\relax n{gcd}}
448\def\hom{\qopname\relax{no}{hom}}
449\def\inf{\qopname\relax n{inf}}
450\def\injlim{\qopname\relax n{inj\,lim}}
451\def\ker{\qopname\relax{no}{ker}}
452\def\lg{\qopname\relax{no}{lg}}
453\def\lim{\qopname\relax n{lim}}
454\def\liminf{\qopname\relax n{lim\,inf}}
455\def\limsup{\qopname\relax n{lim\,sup}}
456\def\ln{\qopname\relax{no}{ln}}
457\def\log{\qopname\relax{no}{log}}
458\def\max{\qopname\relax n{max}}
459\def\min{\qopname\relax n{min}}
460\def\Pr{\qopname\relax n{Pr}}
461\def\projlim{\qopname\relax n{proj\,lim}}
462\def\sec{\qopname\relax{no}{sec}}
463\def\sin{\qopname\relax{no}{sin}}
464\def\sinh{\qopname\relax{no}{sinh}}
465\def\sup{\qopname\relax n{sup}}
466\def\tan{\qopname\relax{no}{tan}}
467\def\tanh{\qopname\relax{no}{tanh}}
468\def\operator@font{\mathgroup\symoperators}
469\def\operatornamewithlimits{\operatorname*}
470\def\varlim@#1#2{\mathop{\vtop{\ialign{##\crcr
471 \hfil$#1\m@th\operator@font lim$\hfil\crcr
472 \noalign{\nointerlineskip\kern\ex@}#2#1\crcr
473 \noalign{\nointerlineskip\kern-\ex@}\crcr}}}}
474\def\varinjlim{\mathpalette\varlim@\rightarrowfill@}
475\def\varprojlim{\mathpalette\varlim@\leftarrowfill@}
476\def\varliminf{\mathpalette\varliminf@{}}
477\def\varliminf@#1{\mathop{\@@underline{\vrule\@depth.2\ex@\@width\z@
478 \hbox{$#1\m@th\operator@font lim$}}}}
479\def\varlimsup{\mathpalette\varlimsup@{}}
480\def\varlimsup@#1{\mathop{\@@overline
481 {\hbox{$#1\m@th\operator@font lim$}}}}
482%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
483\def\numberwithin#1#2{\@ifundefined{c@#1}{\@nocounterr{#1}}{%
484 \@ifundefined{c@#2}{\@nocnterr{#2}}{%
485 \@addtoreset{#1}{#2}%
486 \toks@\expandafter\expandafter\expandafter{\csname the#1\endcsname}%
487 \expandafter\xdef\csname the#1\endcsname
488 {\expandafter\noexpand\csname the#2\endcsname
489 .\the\toks@}}}}
490\def\eqref#1{\textup{\tagform@{\ref{#1}}}}
491\def\bmod{\mskip-\medmuskip\mkern5mu\mathbin
492 {\operator@font mod}\penalty900
493 \mkern5mu\mskip-\medmuskip}
494\def\pod#1{\allowbreak\if@display\mkern18mu\else\mkern8mu\fi(#1)}
495\def\pmod#1{\pod{{\operator@font mod}\mkern6mu#1}}
496\def\mod#1{\allowbreak\if@display\mkern18mu
497 \else\mkern12mu\fi{\operator@font mod}\,\,#1}
498\newcommand{\cfrac}[3][c]{{\displaystyle\frac{%
499 \strut\ifx r#1\hfill\fi#2\ifx l#1\hfill\fi}{#3}}%
500 \kern-\nulldelimiterspace}
501\def\lcfrac{\cfrac[l]}
502\def\rcfrac{\cfrac[r]}
503\def\overset#1#2{\binrel@{#2}%
504 \binrel@@{\mathop{\kern\z@#2}\limits^{#1}}}
505\def\underset#1#2{\binrel@{#2}%
506 \binrel@@{\mathop{\kern\z@#2}\limits_{#1}}}
507\def\sideset#1#2#3{%
508 \setbox\z@\hbox{$\displaystyle{\vphantom{#3}}#1{#3}\m@th$}%
509 \setbox\tw@\hbox{$\displaystyle{#3}#2\m@th$}%
510 \hskip\wd\z@\hskip-\wd\tw@\mathop{\hskip\wd\tw@\hskip-\wd\z@
511 {\vphantom{#3}}#1{#3}#2}}
512\renewcommand{\smash}[2][tb]{%
513 \def\smash@{#1}%
514 \ifmmode\expandafter\mathpalette\expandafter\mathsm@sh\else
515 \expandafter\makesm@sh\fi{#2}}
516\def\finsm@sh{\def\mb@t{\ht\z@\z@}\def\mb@b{\dp\z@\z@}%
517 \def\mb@tb{\mb@t\mb@b}%
518 {\csname mb@\smash@\endcsname}%
519 \leavevmode\boxz@}
520\def\rightarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@
521 $#1\copy\z@\mkern-6mu\cleaders
522 \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
523 \mkern-6mu\mathord\rightarrow$}
524\def\leftarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@
525 $#1\mathord\leftarrow\mkern-6mu\cleaders
526 \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill
527 \mkern-6mu\box\z@$}
528\def\leftrightarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@
529 $#1\mathord\leftarrow\mkern-6mu\cleaders
530 \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
531 \mkern-6mu\mathord\rightarrow$}
532\def\overarrow@#1#2#3{\vbox{\ialign{##\crcr#1#2\crcr
533 \noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#2#3\hfil$\crcr}}}
534\def\overrightarrow{\mathpalette{\overarrow@\rightarrowfill@}}
535\def\overleftarrow{\mathpalette{\overarrow@\leftarrowfill@}}
536\def\overleftrightarrow{\mathpalette{\overarrow@\leftrightarrowfill@}}
537\def\underarrow@#1#2#3{%
538 \vtop{\ialign{##\crcr$\m@th\hfil#2#3\hfil$\crcr
539 \noalign{\nointerlineskip\kern-.5\ex@}#1#2\crcr}}}
540\def\underrightarrow{\mathpalette{\underarrow@\rightarrowfill@}}
541\def\underleftarrow{\mathpalette{\underarrow@\leftarrowfill@}}
542\def\underleftrightarrow{\mathpalette{\underarrow@\leftrightarrowfill@}}
543\let\ifgtest@\iffalse % initial value
544\def\gtest@true{\global\let\ifgtest@\iftrue}
545\def\gtest@false{\global\let\ifgtest@\iffalse}
546\let\DOTSI\relax
547\let\DOTSB\relax
548\let\DOTSX\relax
549{\uccode`7=`\\ \uccode`8=`m \uccode`9=`a \uccode`0=`t \uccode`!=`h
550 \uppercase{%
551 \gdef\math@#1#2#3#4#5#6\math@{\gtest@false\ifx 7#1\ifx 8#2%
552 \ifx 9#3\ifx 0#4\ifx !#5\xdef\meaning@{#6}\gtest@true
553 \fi\fi\fi\fi\fi}}}
554{\uccode`7=`c \uccode`8=`h \uccode`9=`\"
555 \uppercase{\gdef\mathch@#1#2#3#4#5#6\mathch@{\gtest@false
556 \ifx 7#1\ifx 8#2\ifx 9#5\gtest@true\xdef\meaning@{9#6}\fi\fi\fi}}}
557\newcount\classnum@
558\def\getmathch@#1.#2\getmathch@{\classnum@#1 \divide\classnum@4096
559 \ifcase\number\classnum@\or\or\gdef\thedots@{\dotsb@}\or
560 \gdef\thedots@{\dotsb@}\fi}
561{\uccode`4=`b \uccode`5=`i \uccode`6=`n
562 \uppercase{\gdef\mathbin@#1#2#3{\relaxnext@
563 \def\nextii@##1\mathbin@{\ifx\@sptoken\@let@token\gtest@true\fi}%
564 \gtest@false\DN@##1\mathbin@{}%
565 \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}}
566{\uccode`4=`r \uccode`5=`e \uccode`6=`l
567 \uppercase{\gdef\mathrel@#1#2#3{\relaxnext@
568 \def\nextii@##1\mathrel@{\ifx\@sptoken\@let@token\gtest@true\fi}%
569 \gtest@false\DN@##1\mathrel@{}%
570 \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}}
571{\uccode`5=`m \uccode`6=`a \uccode`7=`c
572 \uppercase{\gdef\macro@#1#2#3#4\macro@{\gtest@false
573 \ifx 5#1\ifx 6#2\ifx 7#3\gtest@true
574 \xdef\meaning@{\macro@@#4\macro@@}\fi\fi\fi}}}
575\def\macro@@#1->#2\macro@@{#2}
576\newcount\DOTSCASE@
577{\uccode`6=`\\ \uccode`7=`D \uccode`8=`O \uccode`9=`T \uccode`0=`S
578 \uppercase{\gdef\DOTS@#1#2#3#4#5{\gtest@false\DN@##1\DOTS@{}%
579 \ifx 6#1\ifx 7#2\ifx 8#3\ifx 9#4\ifx 0#5\let\next@\DOTS@@
580 \fi\fi\fi\fi\fi
581 \next@}}}
582{\uccode`3=`B \uccode`4=`I \uccode`5=`X
583 \uppercase{\gdef\DOTS@@#1{\relaxnext@
584 \def\nextii@##1\DOTS@{\ifx\@sptoken\@let@token\gtest@true\fi}%
585 \DN@{\FN@\nextii@}%
586 \ifx 3#1\global\DOTSCASE@\z@\else
587 \ifx 4#1\global\DOTSCASE@\@ne\else
588 \ifx 5#1\global\DOTSCASE@\tw@\else\DN@##1\DOTS@{}%
589 \fi\fi\fi\next@}}}
590{\uccode`5=`\\ \uccode`6=`n \uccode`7=`o \uccode`8=`t
591 \uppercase{\gdef\not@#1#2#3#4{\relaxnext@
592 \def\nextii@##1\not@{\ifx\@sptoken\@let@token\gtest@true\fi}%
593 \gtest@false\DN@##1\not@{}%
594 \ifx 5#1\ifx 6#2\ifx 7#3\ifx 8#4\DN@{\FN@\nextii@}\fi\fi\fi
595 \fi\next@}}}
596\def\keybin@{\gtest@true
597 \ifx\@let@token+\else\ifx\@let@token=\else\ifx\@let@token<%
598 \else\ifx\@let@token>\else\ifx\@let@token-\else\ifx\@let@token*%
599 \else\ifx\@let@token:\else\gtest@false\fi\fi\fi\fi\fi\fi\fi}
600\@ifundefined{@ldots}{\def\@ldots{\mathellipsis}}{}
601\DeclareRobustCommand{\dots}{\relax
602 \csname\ifmmode m\else t\fi dots@\endcsname}
603\def\tdots@{\leavevmode\unskip\relaxnext@
604 \DN@{$\m@th\@ldots\,
605 \ifx\@let@token,\,$\else\ifx\@let@token.\,$\else\ifx\@let@token;\,$%
606 \else\ifx\@let@token:\,$\else\ifx\@let@token?\,$%
607 \else\ifx\@let@token!\,$\else$ \fi\fi\fi\fi\fi\fi}%
608 \ \FN@\next@}
609\def\mdots@{\FN@\mdots@@}
610\def\mdots@@{\gdef\thedots@{\dotso@}%
611 \ifx\@let@token\boldsymbol\gdef\thedots@\boldsymbol{\boldsymboldots@}%
612 \else\ifx,\@let@token\gdef\thedots@{\dotsc}%
613 \else\ifx\not\@let@token\gdef\thedots@{\dotsb@}%
614 \else\keybin@
615 \ifgtest@\gdef\thedots@{\dotsb@}%
616 \else\xdef\meaning@{\meaning\@let@token..........}%
617 \xdef\meaning@@{\meaning@}%
618 \expandafter\math@\meaning@\math@
619 \ifgtest@
620 \expandafter\mathch@\meaning@\mathch@
621 \ifgtest@\expandafter\getmathch@\meaning@\getmathch@\fi
622 \else\expandafter\macro@\meaning@@\macro@
623 \ifgtest@
624 \expandafter\not@\meaning@\not@\ifgtest@\gdef\thedots@{\dotsb@}%
625 \else\expandafter\DOTS@\meaning@\DOTS@
626 \ifgtest@
627 \ifcase\number\DOTSCASE@\gdef\thedots@{\dotsb@}%
628 \or\gdef\thedots@{\dotsi}\else\fi
629 \else\expandafter\math@\meaning@\math@
630 \ifgtest@\expandafter\mathbin@\meaning@\mathbin@
631 \ifgtest@\gdef\thedots@{\dotsb@}%
632 \else\expandafter\mathrel@\meaning@\mathrel@
633 \ifgtest@\gdef\thedots@{\dotsb@}%
634 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
635 \thedots@}
636\def\boldsymboldots@#1{%
637 \bold@true\let\@let@token=#1\let\delayed@=#1\mdots@@
638 \boldsymbol#1\bold@false}
639\def\@cdots{\mathinner{\cdotp\cdotp\cdotp}}
640\def\dotsi{\!\@cdots}
641\let\dotsb@\@cdots
642\def\rightdelim@{\gtest@true
643 \ifx\@let@token)\else
644 \ifx\@let@token]\else
645 \ifx\@let@token\rbrack\else
646 \ifx\@let@token\}\else
647 \ifx\@let@token\rbrace\else
648 \ifx\@let@token\rangle\else
649 \ifx\@let@token\rceil\else
650 \ifx\@let@token\rfloor\else
651 \ifx\@let@token\rgroup\else
652 \ifx\@let@token\rmoustache\else
653 \ifx\@let@token\right\else
654 \ifx\@let@token\bigr\else
655 \ifx\@let@token\biggr\else
656 \ifx\@let@token\Bigr\else
657 \ifx\@let@token\Biggr\else\gtest@false
658 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
659\def\extra@{%
660 \rightdelim@\ifgtest@
661 \else\ifx\@let@token$\gtest@true
662 \else\xdef\meaning@{\meaning\@let@token..........}%
663 \expandafter\macro@\meaning@\macro@\ifgtest@
664 \expandafter\DOTS@\meaning@\DOTS@
665 \ifgtest@
666 \ifnum\DOTSCASE@=\tw@\gtest@true\else\gtest@false
667 \fi\fi\fi\fi\fi}
668\newif\ifbold@
669\def\dotso@{\relaxnext@
670 \ifbold@
671 \let\@let@token\delayed@
672 \def\nextii@{\extra@\@ldots\ifgtest@\,\fi}%
673 \else
674 \def\nextii@{\DN@{\extra@\@ldots\ifgtest@\,\fi}\FN@\next@}%
675 \fi
676 \nextii@}
677\def\extrap@#1{%
678 \DN@{#1\,}%
679 \ifx\@let@token,\else
680 \ifx\@let@token;\else
681 \ifx\@let@token.\else\extra@
682 \ifgtest@\else
683 \let\next@#1\fi\fi\fi\fi\next@}
684\DeclareRobustCommand{\ldots}{\relax
685 \ifmmode \DN@{\extrap@\@ldots}%
686 \else \let\next@\tdots@\fi
687 \FN@\next@}
688\DeclareRobustCommand{\cdots}{\DN@{\extrap@\@cdots}\FN@\next@}
689\let\dotso\ldots
690\let\dotsb\cdots
691\let\dotsm\dotsb
692\DeclareRobustCommand{\dotsc}{%
693 \DN@{\ifx\@let@token;\@ldots\,%
694 \else \ifx\@let@token.\@ldots\,%
695 \else \extra@\@ldots \ifgtest@\,\fi
696 \fi\fi}%
697 \FN@\next@}
698\def\longrightarrow{\DOTSB\relbar\joinrel\rightarrow}
699\def\Longrightarrow{\DOTSB\Relbar\joinrel\Rightarrow}
700\def\longleftarrow{\DOTSB\leftarrow\joinrel\relbar}
701\def\Longleftarrow{\DOTSB\Leftarrow\joinrel\Relbar}
702\def\longleftrightarrow{\DOTSB\leftarrow\joinrel\rightarrow}
703\def\Longleftrightarrow{\DOTSB\Leftarrow\joinrel\Rightarrow}
704\def\mapsto{\DOTSB\mapstochar\rightarrow}
705\def\longmapsto{\DOTSB\mapstochar\longrightarrow}
706\def\hookrightarrow{\DOTSB\lhook\joinrel\rightarrow}
707\def\hookleftarrow{\DOTSB\leftarrow\joinrel\rhook}
708\def\doteq{\DOTSB\buildrel\textstyle.\over=}
709\def\iff{\DOTSB\;\Longleftrightarrow\;}
710\begingroup \catcode`\"=12
711\mathchardef\@tempa="7000
712\ifx\@tempa\Gamma
713 \DeclareMathSymbol{\Gamma}{\mathord}{operators}{"00}
714 \DeclareMathSymbol{\Delta}{\mathord}{operators}{"01}
715 \DeclareMathSymbol{\Theta}{\mathord}{operators}{"02}
716 \DeclareMathSymbol{\Lambda}{\mathord}{operators}{"03}
717 \DeclareMathSymbol{\Xi}{\mathord}{operators}{"04}
718 \DeclareMathSymbol{\Pi}{\mathord}{operators}{"05}
719 \DeclareMathSymbol{\Sigma}{\mathord}{operators}{"06}
720 \DeclareMathSymbol{\Upsilon}{\mathord}{operators}{"07}
721 \DeclareMathSymbol{\Phi}{\mathord}{operators}{"08}
722 \DeclareMathSymbol{\Psi}{\mathord}{operators}{"09}
723 \DeclareMathSymbol{\Omega}{\mathord}{operators}{"0A}
724 \DeclareMathSymbol{\varGamma}{\mathord}{letters}{"00}
725 \DeclareMathSymbol{\varDelta}{\mathord}{letters}{"01}
726 \DeclareMathSymbol{\varTheta}{\mathord}{letters}{"02}
727 \DeclareMathSymbol{\varLambda}{\mathord}{letters}{"03}
728 \DeclareMathSymbol{\varXi}{\mathord}{letters}{"04}
729 \DeclareMathSymbol{\varPi}{\mathord}{letters}{"05}
730 \DeclareMathSymbol{\varSigma}{\mathord}{letters}{"06}
731 \DeclareMathSymbol{\varUpsilon}{\mathord}{letters}{"07}
732 \DeclareMathSymbol{\varPhi}{\mathord}{letters}{"08}
733 \DeclareMathSymbol{\varPsi}{\mathord}{letters}{"09}
734 \DeclareMathSymbol{\varOmega}{\mathord}{letters}{"0A}
735\fi
736\endgroup
737\def\accentclass@{7}
738\def\noaccents@{\def\accentclass@{0}}
739\DeclareFontEncoding{OML}{}{\noaccents@}
740\DeclareFontEncoding{OMS}{}{\noaccents@}
741\edef\@tempa#1#2{\def#1{\mathaccent\string"\noexpand\accentclass@#2 }}
742\@tempa\hat{05E}\@tempa\check{014}\@tempa\tilde{07E}\@tempa\acute{013}
743\@tempa\grave{012}\@tempa\dot{05F}\@tempa\ddot{07F}\@tempa\breve{015}
744\@tempa\bar{016}
745\newcount\skewcharcount@
746\newcount\familycount@
747\def\theskewchar@{\familycount@\@ne
748 \global\skewcharcount@\the\skewchar\textfont\@ne
749 \ifnum\mathgroup>\m@ne\ifnum\mathgroup<16
750 \global\familycount@\the\mathgroup\relax
751 \global\skewcharcount@\the\skewchar\textfont\the\mathgroup\relax\fi\fi
752 \ifnum\skewcharcount@>\m@ne
753 \ifnum\skewcharcount@<128
754 \multiply\familycount@256
755 \global\advance\skewcharcount@\familycount@
756 \global\advance\skewcharcount@28672
757 \mathchar\skewcharcount@\else
758 \global\skewcharcount@\m@ne\fi\else
759 \global\skewcharcount@\m@ne\fi}
760\newcount\pointcount@
761\def\getpoints@#1.#2\getpoints@{\pointcount@#1 }
762\newdimen\accentdimen@
763\newcount\accentmu@
764\def\dimentomu@{\multiply\accentdimen@ 100
765 \expandafter\getpoints@\the\accentdimen@\getpoints@
766 \multiply\pointcount@18
767 \divide\pointcount@\@m
768 \global\accentmu@\pointcount@}
769\def\mathaccent@#1#2{\ifnum\mathgroup=\m@ne\xdef\thefam@{1}\else
770 \xdef\thefam@{\the\mathgroup}\fi
771 \accentdimen@\z@
772 \setboxz@h{\unbracefonts@$\m@th\mathgroup\thefam@\relax#2$}%
773 \ifdim\accentdimen@=\z@\DN@{\mathaccent#1{#2}}%
774 \setbox\@ne\hbox{\unbracefonts@
775 $\m@th\mathgroup\thefam@\relax#2\theskewchar@$}
776 \setbox\tw@\hbox{$\m@th\ifnum\skewcharcount@=\m@ne\else
777 \mathchar\skewcharcount@\fi$}%
778 \global\accentdimen@\wd\@ne\global\advance\accentdimen@-\wdz@
779 \global\advance\accentdimen@-\wd\tw@
780 \global\multiply\accentdimen@\tw@
781 \dimentomu@\global\advance\accentmu@\@ne
782 \else\DN@{{\mathaccent#1{#2\mkern\accentmu@ mu}%
783 \mkern-\accentmu@ mu}{}}\fi
784 \next@}
785\def\unbracefonts@{\let\math@bgroup\@empty\let\math@egroup\@empty}
786\begingroup \catcode`\"=12
787\def\@tempa#1#2{\gdef#1{\RIfM@\DN@{\mathaccent@{"\accentclass@#2 }}%
788 \else\DN@{\nonmatherr@{#1}}\fi\next@}}
789\@tempa\Hat{05E}\@tempa\Check{014}\@tempa\Tilde{07E}\@tempa\Acute{013}
790\@tempa\Grave{012}\@tempa\Dot{05F}\@tempa\Ddot{07F}\@tempa\Breve{015}
791\@tempa\Bar{016}
792\gdef\Vec{\RIfM@\DN@{\mathaccent@{"017E }}\else
793 \DN@{\nonmatherr@\Vec}\fi\next@}
794\endgroup
795\begingroup \catcode`\"=12
796\gdef\@@sqrt#1{\radical"270370 {#1}}
797\endgroup
798\@saveprimitive\overline\@@overline
799\def\overline#1{\@@overline{#1}}
800\def\boxed#1{\fbox{\m@th$\displaystyle#1$}}
801\def\setb@ck{\iffirstchoice@\global\advance\c@equation\m@ne\fi}
802\newcount\dspbrk@lvl
803\dspbrk@lvl=-1
804\interdisplaylinepenalty\@M
805\def\allowdisplaybreaks{%
806 \new@ifnextchar[\allowdspbrks@{\allowdspbrks@[4]}}
807\def\allowdspbrks@[#1]{%
808 \interdisplaylinepenalty\getdsp@pen{#1}}
809\def\getdsp@pen#1{%
810 \ifcase #1\relax \@M
811 \or 9999
812 \or 6999
813 \or 2999
814 \or \z@\fi}
815\def\displaybreak{\PackageError{amstex}{\Invalid@@\displaybreak}\@eha}
816\def\displaybreak@{%
817 \def\displaybreak{\new@ifnextchar[\dspbrk@{\dspbrk@[4]}}}
818\def\dspbrk@[#1]{\global\dspbrk@lvl #1\relax}
819\def\math@cr{{\ifnum0=`}\fi
820 \new@ifstar{\global\@eqpen\@M\math@cr@}%
821 {\global\@eqpen
822 \ifnum\dspbrk@lvl <\z@ \interdisplaylinepenalty
823 \else -\@getpen\dspbrk@lvl \fi
824 \math@cr@}}
825\def\math@cr@{\new@ifnextchar[\math@cr@@{\math@cr@@[\z@]}}
826\def\math@cr@@[#1]{\ifnum0=`{\fi}\math@cr@@@
827 \noalign{\vskip#1\relax}}
828\def\Let@{\let\\\math@cr}
829\def\restore@math@cr{\def\math@cr@@@{\cr}}
830\restore@math@cr
831\def\intertext{\PackageError{amstex}{\Invalid@@\intertext}\@eha}
832\def\intertext@{\def\intertext##1{\noalign{%
833 \penalty\postdisplaypenalty\vskip\belowdisplayskip
834 \vbox{\normalbaselines\noindent##1}%
835 \penalty\predisplaypenalty\vskip\abovedisplayskip}}}
836\newhelp\tag@help
837 {tag cannot be used at this point.\space
838 If you don't understand why^^Jyou should consult
839 the documentation.^^JBut don't worry: just continue, and I'll
840 forget what happened.}
841\def\gobble@tag{\new@ifstar\@gobble\@gobble}
842\def\invalid@tag#1{\PackageError{amstex}{#1}{\the\tag@help}\gobble@tag}
843\def\dft@tag{\invalid@tag{\string\tag\space not allowed here}}
844\def\default@tag{\let\tag\dft@tag}
845\default@tag
846\def\maketag@@{\new@ifstar\maketag@@@\tagform@}
847\def\maketag@@@#1{\hbox{\m@th\normalfont#1}}
848\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip)}}
849\def\thetag{\leavevmode\tagform@}
850\def\make@df@tag{\new@ifstar\make@df@tag@@\make@df@tag@@@}
851\def\make@df@tag@@#1{%
852 \def\@currentlabel{#1}%
853 \gdef\df@tag{\maketag@@@{#1}}}
854\def\make@df@tag@@@#1{\@seteqlabel{#1}\gdef\df@tag{\tagform@{#1}}}
855\def\@seteqlabel#1{\toks@\@xp{\p@equation{#1}}%
856 \edef\@currentlabel{\the\toks@}}
857\def\notag{\nonumber}
858\iftagsleft@
859\def\@eqnnum{\hbox to1sp{}\rlap{\normalfont
860 \hskip -\displaywidth\tagform@\theequation}}
861\fi
862
863\let\@adjusttag\@empty
864
865\def\adjusttag#1{\skip@#1\relax\gdef\@adjusttag{#1}}
866
867\def\@movetag{%
868 \ifx\@adjusttag\@empty \else
869 \vskip\@adjusttag\relax
870 \global\let\@adjusttag\@empty
871 \fi
872}
873\def\multilimits@{\bgroup
874 \Let@
875 \restore@math@cr
876 \default@tag
877 \baselineskip\fontdimen10 \scriptfont\tw@
878 \advance\baselineskip\fontdimen12 \scriptfont\tw@
879 \lineskip\thr@@\fontdimen8 \scriptfont\thr@@
880 \lineskiplimit\lineskip
881 \vbox\bgroup\ialign\bgroup\hfil$\m@th\scriptstyle{##}$\hfil\crcr}
882\def\Sb{_\multilimits@}
883\def\Sp{^\multilimits@}
884\def\endSb{\crcr\egroup\egroup\egroup}
885\let\endSp=\endSb
886\def\smallmatrix{\null\,\vcenter\bgroup
887 \Let@\restore@math@cr\default@tag
888 \baselineskip6\ex@ \lineskip1.5\ex@ \lineskiplimit\lineskip
889 \ialign\bgroup\hfil$\m@th\scriptstyle{##}$\hfil&&\thickspace\hfil
890 $\m@th\scriptstyle{##}$\hfil\crcr}
891\def\endsmallmatrix{\crcr\egroup\egroup\,}
892\newcount\c@MaxMatrixCols
893\c@MaxMatrixCols=10
894
895\def\matrix{\hskip -\arraycolsep\array{*\c@MaxMatrixCols c}}
896\def\endmatrix{\endarray \hskip -\arraycolsep}
897\@ifundefined{prepnext@tok}{%
898 \def\@array[#1]#2{%
899 \setbox\@arstrutbox\hbox{\vrule\@height\arraystretch\ht\strutbox
900 \@depth\arraystretch\dp\strutbox \@width\z@}%
901 \@mkpream{#2}\edef\@preamble{\ialign \noexpand\@halignto
902 \bgroup \tabskip\z@ \@arstrut \@preamble \tabskip\z@ \cr}%
903 \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox
904 \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
905 \bgroup \let\par\@empty
906 \let\@sharp##\let\protect\relax
907 \lineskip\z@\baselineskip\z@\@preamble}%
908\begingroup \lccode`\~=`\@ \catcode`\~=\active % just to be sure!
909\lowercase{%
910\gdef\@xexpast#1*#2#3#4\@@{\begingroup
911 \def~{@}\edef\reserved@a{#1}\@tempcnta#2\relax
912 \ifnum\@tempcnta >\z@
913 \@whilenum\@tempcnta >\z@\do
914 {\edef\reserved@a{\reserved@a#3}\advance\@tempcnta \m@ne}%
915 \let\reserved@b\@xexpast
916 \else \let\reserved@b\@xexnoop\fi
917 \expandafter\reserved@b \reserved@a #4\@@
918 \expandafter\endgroup
919 \expandafter\def\expandafter\reserved@a\expandafter{\reserved@a}%
920 \let\@tempa\reserved@a
921}% End of \@xexpast
922}% End of \lowercase
923\endgroup
924}{}% End of \@ifundefined test.
925\def\pmatrix{\left(\matrix}
926\def\endpmatrix{\endmatrix\right)}
927\def\bmatrix{\left[\matrix}
928\def\endbmatrix{\endmatrix\right]}
929\def\vmatrix{\left|\matrix}
930\def\endvmatrix{\endmatrix\right|}
931\def\Vmatrix{\left\|\matrix}
932\def\endVmatrix{\endmatrix\right\|}
933\let\hdots\@ldots
934\def\hdotsfor#1{\if\noexpand#1[\expandafter\shdots@for\else
935 \hdots@for\@ne{#1}\fi}
936\newmuskip\dotsspace@
937\def\shdots@for#1]{\hdots@for{#1}}
938\def\hdots@for#1#2{\multicolumn{#2}c%
939 {\m@th\dotsspace@1.5mu\mkern-#1\dotsspace@
940 \xleaders\hbox{$\m@th\mkern#1\dotsspace@.\mkern#1\dotsspace@$}%
941 \hfill
942 \mkern-#1\dotsspace@}%
943 }
944\def\cases{\left\{\def\arraystretch{1.2}\hskip-\arraycolsep
945 \array{l@{\quad}l}}
946\def\endcases{\endarray\hskip-\arraycolsep\right.}
947\newif\ifinany@
948\newif\ifinalign@
949\newif\ifingather@
950\newcount\and@
951\newif\iftag@
952\newhelp\andhelp@
953{An extra & here is so disastrous that you should probably exit^^J
954and fix things up.}
955\newif\ifst@rred
956\newtoks\@envbody
957\def\addto@envbody#1{\@envbody\expandafter{\the\@envbody#1}}
958\def\collect@body#1{%
959 \@envbody{}%
960 \def\process@envbody{%
961 \expandafter#1\expandafter{\the\@envbody}}%
962 \expandafter\let\csname\@currenvir\endcsname\collect@@body
963 \csname\@currenvir\endcsname}
964\def\collect@@body#1\end#2{%
965 \def\@tempa{#2}%
966 \ifx\@tempa\@currenvir
967 \addto@envbody{#1}%
968 \expandafter\edef\csname\@currenvir\endcsname
969 {\noexpand\process@envbody\noexpand\end{\@tempa}}%
970 \else
971 \addto@envbody{#1\end{#2}}%
972 \fi
973 \csname\@currenvir\endcsname}
974\newenvironment{aligned}{%
975 \relax\ifmmode\else\nonmatherr@{\begin{aligned}}\fi
976 \null\,\new@ifnextchar[{\aligned@}{\aligned@[c]}%
977}{%
978 \crcr\egroup\egroup
979}
980\def\aligned@[#1]{%
981 \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
982 \bgroup
983 \Let@\restore@math@cr
984 \default@tag
985 \ifinany@\else\openup\jot\fi
986 \ialign\bgroup\hfil\strut@$\m@th\displaystyle{##}$&%
987 $\m@th\displaystyle{{}##}$\hfil\crcr}
988\newtoks\hashtoks@
989\hashtoks@{#}
990\newcount\atcount@
991\def\doat@#1{\toks@{\hfil\strut@$\m@th
992 \displaystyle{\the\hashtoks@}$&$\m@th\displaystyle
993 {{}\the\hashtoks@}$\hfil}%
994 \atcount@#1\relax\advance\atcount@\m@ne
995 \loop\ifnum\atcount@>\z@\toks@\expandafter{\the\toks@&\hfil$\m@th
996 \displaystyle{\the\hashtoks@}$&$\m@th
997 \displaystyle{{}\the\hashtoks@}$\hfil}\advance
998 \atcount@\m@ne\repeat
999 \xdef\preamble@{\the\toks@}\xdef\preamble@@{\preamble@}}
1000\newenvironment{alignedat}[2][c]{%
1001 \null\,%
1002 \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
1003 \bgroup\doat@{#2}\Let@ \restore@math@cr\default@tag
1004 \ifinany@\else\openup\jot\fi\ialign\bgroup\span\preamble@@\crcr
1005}{%
1006 \endaligned
1007}
1008\newenvironment{gathered}[1][c]{%
1009 \relax\ifmmode\else\nonmatherr@{\begin{gathered}}\fi
1010 \null\,%
1011 \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
1012 \bgroup\Let@\restore@math@cr
1013 \ifinany@\else\openup\jot\fi\ialign
1014 \bgroup\hfil\strut@$\m@th\displaystyle##$\hfil\crcr
1015}{%
1016 \endaligned
1017}
1018\def\tag@in@align{\relax
1019 \iftag@\DN@{\invalid@tag{Multiple \string\tag}}\else
1020 \global\tag@true
1021 \if@eqnsw\global\@eqnswfalse\fi
1022 \let\next@\make@df@tag\fi
1023 \next@}
1024\def\math@cr@@@align{%
1025 \if@eqnsw\global\tag@true\fi
1026 \iftag@
1027 \ifcase\and@
1028 \DN@{&&}\else
1029 \DN@{&}\fi\else
1030 \let\next@\relax\fi
1031 \next@
1032 \relax
1033 \if@eqnsw\tagform@\theequation\stepcounter{equation}\else
1034 \iftag@\df@tag\fi\fi
1035 \global\@eqnswtrue\cr}
1036\def\Tag@{\relax\iftag@\else\firstchoice@true
1037 \PackageError{amstex}{%
1038 Extra & on this line%
1039 }{\the\andhelp@% "An extra & here is disastrous"
1040}\fi}
1041\newdimen\lwidth@
1042\newdimen\rwidth@
1043\newdimen\maxlwidth@
1044\newdimen\maxrwidth@
1045\newdimen\totwidth@
1046\def\measure@#1{\lwidth@\z@\rwidth@\z@\maxlwidth@\z@\maxrwidth@\z@
1047 \global\and@\z@
1048 \setbox\@ne\vbox{%
1049 \everycr{\noalign{\global\tag@false\global\and@\z@}}\Let@
1050 \let\tag\gobble@tag
1051 \let\notag\@empty \let\nonumber\@empty
1052 \firstchoice@false
1053 \halign{\setboxz@h{$\m@th\displaystyle{\@lign##}$}%
1054 \global\lwidth@\wdz@
1055 \ifdim\lwidth@>\maxlwidth@\global\maxlwidth@\lwidth@\fi
1056 \global\advance\and@\@ne
1057 &\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}%
1058 \global\rwidth@\wdz@
1059 \ifdim\rwidth@>\maxrwidth@\global\maxrwidth@\rwidth@\fi
1060 \global\advance\and@\@ne
1061 &\Tag@\@gobble{##}\crcr#1\crcr}}%
1062 \totwidth@\maxlwidth@\advance\totwidth@\maxrwidth@}
1063\def\displ@y{\global\dt@ptrue\openup\jot\m@th
1064 \everycr{\noalign{\ifdt@p \global\dt@pfalse
1065 \vskip-\lineskiplimit \vskip\normallineskiplimit
1066 \else \penalty\@eqpen \fi}}}
1067\def\displ@y@{\global\dt@ptrue\openup\jot
1068 \everycr{\noalign{\global\tag@false
1069 \global\and@\z@
1070 \global\dspbrk@lvl\m@ne
1071 \ifdt@p\global\dt@pfalse
1072 \vskip-\lineskiplimit\vskip\normallineskiplimit\else
1073 \penalty\@eqpen\fi}}}
1074\def\black@#1{\noalign{\ifdim#1>\displaywidth
1075 \dimen@\prevdepth\nointerlineskip
1076 \vskip-\ht\strutbox@\vskip-\dp\strutbox@
1077 \vbox{\noindent\hbox to#1{\strut@\hfill}}%
1078 \prevdepth\dimen@
1079 \fi}}
1080\def\align{\ifingather@
1081 {\ifnum0=`}\fi
1082 \DN@{\@nameuse{align (in \string\gather)}}%
1083 \else \ifmmode\nomath@env
1084 \DN@{\let\endalign\relax\@gobble}\else
1085 $$\stepcounter{equation}%
1086 \st@rredfalse\let\next@\align@\fi\fi
1087 \collect@body\next@}
1088\@namedef{align*}{\ifingather@
1089 {\ifnum0=`}\fi
1090 \DN@{\@nameuse{align* (in \string\gather)}}\else
1091 \ifmmode\nomath@env
1092 \DN@{\@namedef{endalign*}{}\@gobble}\else
1093 $$\st@rredtrue
1094 \let\next@\align@\fi\fi
1095 \collect@body\next@}
1096\newdimen\lineht@
1097\def\align@{\inalign@true\inany@true
1098 \displaybreak@\intertext@
1099 \let\math@cr@@@\math@cr@@@align
1100 \let\tag\tag@in@align
1101 \global\and@\z@\global\dspbrk@lvl\m@ne
1102 \iftagsleft@\DN@{\@nameuse{align }}\else
1103 \DN@{\@nameuse{align \space}}\fi\next@}
1104\@namedef{align }#1{%
1105 \measure@{#1}%
1106 \global\and@\z@
1107 \global\dspbrk@lvl\m@ne
1108 \if@fleqn %%*F
1109 \advance\totwidth@\@mathmargin %%*F
1110 \fi %%*F
1111 \ifdim\totwidth@>\displaywidth
1112 \let\displaywidth@\totwidth@
1113 \else
1114 \let\displaywidth@\displaywidth
1115 \fi
1116 \ifingather@
1117 \everycr{%
1118 \noalign{%
1119 \global\and@\z@
1120 \global\dspbrk@lvl\m@ne
1121 }%
1122 }%
1123 \else
1124 \displ@y@
1125 \fi
1126 \Let@
1127 \ifst@rred\else\@seteqlabel\theequation\fi
1128 \tabskip\@mathmargin %%*F
1129 \dimen@\displaywidth %%*F
1130 \if@fleqn %%*F
1131 \ifingather@ %%*F
1132 \tabskip\z@skip %%*F
1133 \advance\dimen@-\@mathmargin %%*F
1134 \fi %%*F
1135 \fi %%*F
1136 \halign to\dimen@\bgroup %%*F
1137 \ifst@rred\nonumber\fi
1138 \hfil
1139 \strut@
1140 \setboxz@h{\global\tag@false$\m@th\displaystyle{\@lign##}$}%
1141 \global\lwidth@\wdz@
1142 \global\lineht@\ht\z@
1143 \boxz@
1144 \global\advance\and@\@ne
1145 \tabskip\z@skip
1146 &\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}%
1147 \global\rwidth@\wdz@
1148 \ifdim\ht\z@>\lineht@
1149 \global\lineht@\ht\z@
1150 \fi
1151 \boxz@
1152 \hfil
1153 \global\advance\and@\@ne
1154 \tabskip\@centering
1155 &\kern-\displaywidth@
1156 \setboxz@h{\@lign\strut@{##}}%
1157 \if@fleqn %%*F
1158 \dimen@\@mathmargin %%*F
1159 \advance\dimen@\maxlwidth@ %%*F
1160 \advance\dimen@-\lwidth@ %%*F
1161 \else %%*F
1162 \dimen@\displaywidth
1163 \advance\dimen@-\totwidth@
1164 \divide\dimen@\tw@
1165 \advance\dimen@\maxlwidth@
1166 \advance\dimen@-\lwidth@
1167 \fi %%*F
1168 \ifdim\dimen@<\tw@\wdz@
1169 \rlap{\vbox{\normalbaselines\boxz@\vbox to\lineht@{}}}%
1170 \else
1171 \rlap{\boxz@}%
1172 \fi
1173 \tabskip\displaywidth@
1174 \crcr
1175 #1%
1176}
1177\@namedef{align \space}#1{%
1178 \measure@{#1}%
1179 \if@fleqn %%*F
1180 \advance\totwidth@\@mathmargin %%*F
1181 \fi %%*F
1182 \global\and@\z@
1183 \global\dspbrk@lvl\m@ne
1184 \ifingather@
1185 \everycr{\noalign{\global\and@\z@\global\dspbrk@lvl\m@ne}}%
1186 \else
1187 \displ@y@
1188 \fi
1189 \Let@
1190 \ifst@rred\else\@seteqlabel\theequation\fi
1191 \tabskip\@mathmargin %%*F
1192 \dimen@\displaywidth %%*F
1193 \if@fleqn %%*
1194 \ifingather@ %%*F
1195 \tabskip\z@skip %%*F
1196 \advance\dimen@-\@mathmargin %%*F
1197 \fi %%*F
1198 \fi %%*F
1199 \halign to\dimen@\bgroup %%*F
1200 \ifst@rred\nonumber\fi
1201 \hfil
1202 \strut@
1203 \setboxz@h{\global\tag@false$\m@th\displaystyle{\@lign##}$}%
1204 \global\lwidth@\wdz@\boxz@
1205 \global\advance\and@\@ne
1206 \tabskip\z@skip
1207 &\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}%
1208 \global\rwidth@\wdz@
1209 \boxz@
1210 \hfill
1211 \global\advance\and@\@ne
1212 \tabskip\@centering
1213 &\setboxz@h{\@lign\strut@{##}}%
1214 \dimen@\displaywidth
1215 \advance\dimen@-\totwidth@
1216 \divide\dimen@\tw@
1217 \advance\dimen@\maxrwidth@
1218 \advance\dimen@-\rwidth@
1219 \ifdim\dimen@<\tw@\wdz@
1220 \llap{\vtop{\@movetag\normalbaselines\null\boxz@}}%%*T
1221 \else
1222 \llap{\boxz@}%
1223 \fi
1224 \tabskip\z@skip
1225 \crcr#1%
1226}
1227\def\endalign{\math@cr@@@align
1228 \black@\totwidth@
1229 \egroup$$\global\@ignoretrue\setb@ck}
1230
1231\@namedef{endalign*}{\math@cr@@@align\black@\totwidth@
1232 \egroup$$\global\@ignoretrue}
1233\@namedef{align (in \string\gather)}{%
1234 \ifst@rred\stepcounter{equation}\fi
1235 \def\endalign{\@nameuse{endalign (in \string\gather)}\ifnum0=`{\fi}}%
1236 \vcenter\bgroup\st@rredfalse
1237 \collect@body\align@}
1238\@namedef{endalign (in \string\gather)}{%
1239 \math@cr@@@align\black@\totwidth@
1240 \egroup\egroup
1241 \ifst@rred\setb@ck\fi% this ifst@rred is set by the enclosing gather
1242 \global\tag@false\global\@eqnswfalse}
1243\@namedef{align* (in \string\gather)}{%
1244 \@namedef{endalign*}{\@nameuse{endalign* (in \string\gather)}%
1245 \ifnum0=`{\fi}}%
1246 \vcenter\bgroup\st@rredtrue
1247 \collect@body\align@}
1248\@namedef{endalign* (in \string\gather)}{%
1249 \math@cr@@@align\black@\totwidth@\egroup\egroup
1250 \global\tag@false\global\@eqnswfalse}
1251\newif\ifxat@
1252\def\alignat#1{%
1253 \ifmmode\nomath@env\DN@{\let\endalignat\relax\@gobble}\else$$%
1254 \st@rredfalse\stepcounter{equation}\@seteqlabel\theequation
1255 \DN@{\@nameuse{alignat }#1}\fi
1256 \collect@body\next@}
1257\@namedef{alignat*}#1{%
1258 \ifmmode\nomath@env\DN@{\@namedef{endalignat*}{}\@gobble}\else$$%
1259 \st@rredtrue
1260 \DN@{\@nameuse{alignat }#1}\fi
1261 \collect@body\next@}
1262\newif\ifmeasuring@
1263\newbox\savealignat@
1264\def\math@cr@@@alignat{%
1265 \if@eqnsw\global\tag@true\fi
1266 \iftag@
1267 \multiply\count@\tw@
1268 \xdef\next@{}\loop\ifnum\count@>\and@\xdef\next@{&\next@}%
1269 \advance\count@\m@ne\repeat\else
1270 \let\next@\relax\fi
1271 \next@
1272 \relax
1273 \if@eqnsw\tagform@\theequation\stepcounter{equation}\else
1274 \iftag@\df@tag\fi\fi
1275 \global\@eqnswtrue\cr}%
1276\@namedef{alignat }#1#2{%
1277 \inany@true
1278 \xat@false
1279 \let\tag\tag@in@align
1280 \def\math@cr@@@{\count@#1\relax \math@cr@@@alignat}%
1281 \displaybreak@
1282 \intertext@
1283 \displ@y@
1284 \ifst@rred
1285 \global\@eqnswfalse
1286 \else
1287 \global\@eqnswtrue
1288 \fi
1289 \measuring@true
1290 \setbox\savealignat@\hbox{%
1291 $\m@th\displaystyle\Let@
1292 \attag@{#1}%
1293 \vbox{\firstchoice@false\halign{\span\preamble@@\crcr#2\crcr}}$%
1294 }%
1295 \measuring@false
1296 \Let@
1297 \attag@{#1}%
1298 \tabskip\@mathmargin %%*F
1299 \halign to\displaywidth\bgroup
1300 \span\preamble@@\crcr
1301 #2%
1302}
1303\def\endalignat{\math@cr@@@\black@{\wd\savealignat@}%
1304 \egroup\setb@ck$$\global\@ignoretrue}
1305\@namedef{endalignat*}{\math@cr@@@\black@{\wd\savealignat@}\egroup
1306 $$\global\@ignoretrue}
1307\def\xalignat#1{%
1308 \ifmmode\nomath@env\DN@{\let\endxalignat\relax\@gobble}\else$$%
1309 \st@rredfalse\stepcounter{equation}\@seteqlabel\theequation
1310 \DN@{\@nameuse{xalignat }#1}\fi
1311 \collect@body\next@}
1312\@namedef{xalignat*}#1{%
1313 \ifmmode\nomath@env\DN@{\@namedef{endxalignat*}{}\@gobble}\else$$%
1314 \st@rredtrue
1315 \DN@{\@nameuse{xalignat }#1}\fi
1316 \collect@body\next@}
1317\let\endxalignat=\endalignat
1318
1319\expandafter\let\csname endxalignat*\expandafter
1320 \endcsname\csname endalignat*\endcsname
1321\@namedef{xalignat }#1#2{%
1322 \inany@true
1323 \xat@true
1324 \let\tag\tag@in@align
1325 \def\math@cr@@@{\count@#1\relax\math@cr@@@alignat}%
1326 \displaybreak@
1327 \intertext@
1328 \displ@y@
1329 \measuring@true
1330 \setbox\savealignat@\hbox{%
1331 $\m@th\displaystyle\Let@
1332 \attag@{#1}%
1333 \vbox{%
1334 \firstchoice@false
1335 \halign{\span\preamble@@\crcr#2\crcr}%
1336 }%
1337 $%
1338 }%
1339 \measuring@false
1340 \Let@
1341 \attag@{#1}%
1342 \tabskip\@mathmargin %%*F
1343 \halign to\displaywidth\bgroup
1344 \span\preamble@@\crcr#2%
1345}
1346\def\attag@#1{%
1347 \let\TAG@\Tag@\let\Tag@0%
1348 \ifmeasuring@\def\llap@##1{\setboxz@h{##1}\hbox to\tw@\wdz@{}}%
1349 \def\rlap@##1{\setboxz@h{##1}\hbox to\tw@\wdz@{}}\else
1350 \let\llap@\llap\let\rlap@\rlap\fi
1351 \toks@{\hfil\strut@$\m@th\displaystyle{\@lign\the\hashtoks@}$%
1352 \tabskip\z@skip
1353 \global\advance\and@\@ne
1354 &$\m@th\displaystyle{{}\@lign\the\hashtoks@}$\hfil
1355 \ifxat@\tabskip\@centering\fi\global\advance\and@\@ne}%
1356 \iftagsleft@
1357 \@temptokena{\tabskip\@centering&\Tag@\kern-\displaywidth
1358 \rlap@{\@lign
1359 \the\hashtoks@
1360 }%
1361 \global\advance\and@\@ne\tabskip\displaywidth}\else
1362 \@temptokena{\tabskip\@centering&\Tag@\llap@{\@lign
1363 \the\hashtoks@
1364 }\global\advance\and@\@ne\tabskip\z@skip}\fi
1365 \atcount@#1\relax\advance\atcount@\m@ne
1366 \loop\ifnum\atcount@>\z@
1367 \toks@\expandafter{\the\toks@&\hfil$\m@th\displaystyle{\@lign
1368 \the\hashtoks@}$\global\advance\and@\@ne
1369 \tabskip\z@skip
1370 &$\m@th\displaystyle{{}\@lign\the\hashtoks@}$\hfil\ifxat@
1371 \tabskip\@centering\fi\global\advance\and@\@ne}\advance\atcount@\m@ne
1372 \repeat
1373 \xdef\preamble@{\the\toks@\the\@temptokena}%
1374 \xdef\preamble@@{\ifst@rred\noexpand\nonumber\fi\preamble@}%
1375 \let\Tag@\TAG@}
1376\def\xxalignat#1{%
1377 \ifmmode\nomath@env\DN@{\let\endxxalignat\relax\@gobble}\else$$%
1378 \DN@{\@nameuse{xxalignat }#1}\fi
1379 \collect@body\next@}
1380\@namedef{xxalignat }#1#2{\inany@true
1381 \displaybreak@\intertext@
1382 \displ@y\setbox\savealignat@\hbox{$\m@th\displaystyle\Let@
1383 \xxattag@{#1}%
1384 \vbox{\firstchoice@false\halign{\span\preamble@@\crcr#2\crcr}}$}%
1385 \Let@\xxattag@{#1}\tabskip\z@skip\halign to\displaywidth\bgroup
1386 \span\preamble@@\crcr#2}
1387\expandafter\let\expandafter\endxxalignat\csname endxalignat*\endcsname
1388\def\xxattag@#1{\toks@{\tabskip\z@skip\hfil\strut@
1389 $\m@th\displaystyle{\the\hashtoks@}$&%
1390 $\m@th\displaystyle{{}\the\hashtoks@}$\hfil\tabskip\@centering&}%
1391 \atcount@#1\relax\advance\atcount@\m@ne\loop\ifnum\atcount@>\z@
1392 \toks@
1393 \expandafter
1394 {\the\toks@&\hfil$\m@th\displaystyle{\the\hashtoks@}$%
1395 \tabskip\z@skip&$\m@th\displaystyle{{}\the\hashtoks@}$\hfil
1396 \tabskip\@centering}\advance\atcount@\m@ne\repeat
1397 \xdef\preamble@{\the\toks@\tabskip\z@skip}\xdef\preamble@@{\preamble@}}
1398\newdimen\gwidth@
1399\newdimen\gmaxwidth@
1400\def\gmeasure@#1{\gwidth@\z@\gmaxwidth@\z@\setbox\@ne\vbox{\Let@
1401 \firstchoice@false\let\tag\gobble@tag
1402 \halign{\setboxz@h{$\m@th\displaystyle{##}$}\global\gwidth@\wdz@
1403 \ifdim\gwidth@>\gmaxwidth@\global\gmaxwidth@\gwidth@\fi
1404 &\@gobble{##}\crcr#1\crcr}}}
1405\def\math@cr@@@gather{%
1406 \if@eqnsw\global\tag@true\fi
1407 \iftag@
1408 \DN@{&\relax \if@eqnsw
1409 \tagform@\theequation \stepcounter{equation}%
1410 \else\iftag@\df@tag\fi\fi}%
1411 \else
1412 \expandafter\@gobble\fi
1413 \next@
1414 \global\@eqnswtrue\cr}
1415\def\gather{%
1416 \ifmmode\nomath@env\DN@{\let\endgather\relax\@gobble}\else $$%
1417 \ingather@true\inany@true
1418 \stepcounter{equation}%
1419 \let\tag\tag@in@align\st@rredfalse
1420 \displaybreak@\intertext@
1421 \displ@y
1422 \Let@\@seteqlabel\theequation
1423 \let\math@cr@@@\math@cr@@@gather
1424 \iftagsleft@\DN@{\@nameuse{gather }}\else
1425 \DN@{\@nameuse{gather \space}}\fi\fi
1426 \collect@body\next@}
1427\@namedef{gather*}{%
1428 \ifmmode\nomath@env\DN@{\@namedef{endgather*}{}\@gobble}\else $$%
1429 \ingather@true\inany@true
1430 \let\tag\tag@in@align\st@rredtrue
1431 \displaybreak@\intertext@
1432 \displ@y\Let@
1433 \let\math@cr@@@\math@cr@@@gather
1434 \iftagsleft@\DN@{\@nameuse{gather }}\else
1435 \DN@{\@nameuse{gather \space}}\fi\fi
1436 \collect@body\next@}
1437\newdimen\glineht@
1438\@namedef{gather \space}#1{%
1439 \gmeasure@{#1}%
1440 \if@fleqn %%*F
1441 \advance\gmaxwidth@\@mathmargin %%*F
1442 \fi %%*F
1443 \global\dt@ptrue
1444 \tabskip\@mathmargin %%*F
1445 \halign to\displaywidth\bgroup
1446 \ifst@rred\nonumber\else\global\@eqnswtrue\fi
1447 \if@fleqn\else\hfil\fi %%*F
1448 \strut@
1449 \setboxz@h{\global\tag@false$\m@th\displaystyle{##}$}%
1450 \global\gwidth@\wdz@\boxz@
1451 \hfil
1452 \tabskip\@centering %%*F
1453 &\setboxz@h{\strut@{##}}%
1454 \dimen@\displaywidth
1455 \advance\dimen@-\gwidth@
1456 \if@fleqn %%*F
1457 \advance\dimen@-\@mathmargin %%*F
1458 \else %%*F
1459 \divide\dimen@\tw@ %%*B
1460 \fi %%*F
1461 \ifdim\dimen@<\tw@\wdz@ %%*
1462 \llap{\vtop{\@movetag\normalbaselines\null\boxz@}}%%*T %%*
1463 \else
1464 \llap{\boxz@}% %%*
1465 \fi
1466 \tabskip\z@skip
1467 \crcr
1468 #1%
1469}
1470\def\endgather{\math@cr
1471 \black@\gmaxwidth@\egroup $$\setb@ck\global\@ignoretrue}
1472
1473\@namedef{endgather*}{\math@cr
1474 \black@\gmaxwidth@\egroup $$\global\@ignoretrue}
1475\@namedef{gather }#1{%
1476 \gmeasure@{#1}%
1477 \global\dt@ptrue
1478 \if@fleqn %%*F
1479 \advance\gmaxwidth@\@mathmargin %%*F
1480 \fi %%*F
1481 \ifdim\gmaxwidth@>\displaywidth
1482 \let\gdisplaywidth@\gmaxwidth@
1483 \else
1484 \let\gdisplaywidth@\displaywidth
1485 \fi
1486 \tabskip\@mathmargin %%*F
1487 \halign to\displaywidth\bgroup
1488 \ifst@rred\nonumber\else\global\@eqnswtrue\fi
1489 \if@fleqn\else\hfil\fi %%*F
1490 \strut@
1491 \setboxz@h{\global\tag@false$\m@th\displaystyle{##}$}%
1492 \global\gwidth@\wdz@
1493 \global\glineht@\ht\z@
1494 \boxz@
1495 \hfil
1496 \tabskip\@centering %%*F
1497 &\kern-\gdisplaywidth@
1498 \setboxz@h{\strut@{##}}%
1499 \if@fleqn %%*F
1500 \dimen@\@mathmargin %%*F
1501 \else %%*F
1502 \dimen@\displaywidth
1503 \advance\dimen@-\gwidth@
1504 \divide\dimen@\tw@ %%*B
1505 \fi %%*F
1506 \ifdim\dimen@<\tw@\wdz@ %%*
1507 \rlap{\vbox{\normalbaselines\boxz@\vbox to\glineht@{}}}% %%*
1508 \else
1509 \rlap{\boxz@}% %%*
1510 \fi
1511 \tabskip\gdisplaywidth@
1512 \crcr
1513 #1%
1514}
1515\def\split{%
1516 \ifinany@\let\next@\insplit@\else
1517 \DN@{\PackageError{amstex}{\string\begin{split} is not allowed
1518 here. Try the `aligned' environment.}\@ehb}\fi
1519 \next@}
1520\def\insplit@{\global\setbox\z@\vbox\bgroup
1521 \Let@ \restore@math@cr \default@tag % disallow use of \tag here
1522 \ialign\bgroup \hfil\strut@
1523 $\m@th\displaystyle{##}$&$\m@th\displaystyle{{}##}$\hfill\crcr}
1524\def\endsplit{\crcr\egroup\egroup
1525 \iftagsleft@\expandafter\lendsplit@\else
1526 \expandafter\rendsplit@\fi}
1527\def\rendsplit@{\global\setbox9 \vbox
1528 {\unvcopy\z@\global\setbox8 \lastbox\unskip}%
1529 \setbox\@ne\hbox{\unhcopy8 \unskip\global\setbox\tw@\lastbox
1530 \unskip\global\setbox\thr@@\lastbox}%
1531 \global\setbox7 \hbox{\unhbox\tw@\unskip}%
1532 \ifinalign@\ifctagsplit@
1533 \gdef\split@{\hbox to\wd\thr@@{}&
1534 \vcenter{\vbox{\moveleft\wd\thr@@\boxz@}}}%
1535 \else\gdef\split@{&\vbox{\moveleft\wd\thr@@\box9}\crcr
1536 \box\thr@@&\box7}\fi
1537 \else
1538 \ifctagsplit@\gdef\split@{\vcenter{\boxz@}}\else
1539 \gdef\split@{\box9\crcr\hbox{\box\thr@@\box7}}\fi
1540 \fi
1541 \aftergroup\split@}
1542\def\lendsplit@{\global\setbox9\vtop{\unvcopy\z@}%
1543 \setbox\@ne\vbox{\unvcopy\z@\global\setbox8\lastbox}%
1544 \setbox\@ne\hbox{\unhcopy8\unskip\setbox\tw@\lastbox
1545 \unskip\global\setbox\thr@@\lastbox}%
1546 \ifinalign@\ifctagsplit@
1547 \gdef\split@{\hbox to\wd\thr@@{}&
1548 \vcenter{\vbox{\moveleft\wd\thr@@\box9}}}%
1549 \else
1550 \gdef\split@{\hbox to\wd\thr@@{}&\vbox{\moveleft\wd\thr@@\box9}}\fi
1551 \else
1552 \ifctagsplit@\gdef\split@{\vcenter{\box9}}\else
1553 \gdef\split@{\box9}\fi
1554 \fi\aftergroup\split@}
1555\newdimen\multlinegap
1556\multlinegap10pt
1557\newdimen\multlinetaggap@
1558\multlinetaggap@10pt
1559\def\multline{%
1560 \ifmmode\nomath@env\DN@{\let\endmultline\relax\@gobble}%
1561 \else $$\DN@{\collect@body\multline@}\fi
1562 \st@rredfalse\@eqnswtrue \@seteqlabel\theequation
1563 \stepcounter{equation}\next@}
1564\@namedef{multline*}{%
1565 \ifmmode\nomath@env\DN@{\@namedef{endmultline*}{}\@gobble}%
1566 \else $$\DN@{\collect@body\multline@}\fi
1567 \st@rredtrue\@eqnswfalse \let\@currentlabel\@empty
1568 \next@}
1569\def\multline@{\inany@true\displaybreak@
1570 \global\tag@false
1571 \def\tag{\ifst@rred\else
1572 \global\advance\c@equation\m@ne\fi\tag@in@align}%
1573 \iftagsleft@
1574 \expandafter\lmultline@@\else
1575 \expandafter\rmultline@@\fi}
1576\newdimen\mwidth@
1577\def\rmmeasure@#1{%
1578 \def\shoveleft##1{##1}\def\shoveright##1{##1}%
1579 \setbox\@ne\vbox{\firstchoice@false\Let@\halign{\setboxz@h
1580 {$\m@th\@lign\displaystyle{}##$}\global\mwidth@\wdz@
1581 \crcr#1\crcr}}}
1582\newdimen\mlineht@
1583\newif\ifzerocr@
1584\newif\ifonecr@
1585\def\lmmeasure@#1{\global\zerocr@true\global\onecr@false
1586 \everycr{\noalign{\ifonecr@\global\onecr@false\fi
1587 \ifzerocr@\global\zerocr@false\global\onecr@true\fi}}%
1588 \def\shoveleft##1{##1}\def\shoveright##1{##1}%
1589 \setbox\@ne\vbox{\Let@\firstchoice@false\halign{\setboxz@h
1590 {$\m@th\@lign\displaystyle{}##$}\ifonecr@\global\mwidth@\wdz@
1591 \global\mlineht@\ht\z@\fi\crcr#1\crcr}}}
1592\newbox\mtagbox@
1593\newdimen\ltwidth@
1594\newdimen\rtwidth@
1595\def\lmultline@@#1{%
1596 \lmmeasure@{#1}%
1597 \setbox\mtagbox@\hbox{%
1598 \iftag@
1599 \df@tag
1600 \else
1601 \if@eqnsw
1602 \global\tag@true
1603 \tagform@\theequation
1604 \fi
1605 \fi
1606 }%
1607 \dimen@\mwidth@
1608 \advance\dimen@\wd\mtagbox@
1609 \advance\dimen@\multlinetaggap@
1610 \if@fleqn %%*F
1611 \advance\dimen@\@mathmargin %%*F
1612 \fi %%*F
1613 \ifdim\dimen@>\displaywidth
1614 \ltwidth@\z@
1615 \else
1616 \ltwidth@\wd\mtagbox@
1617 \fi
1618 \lmultline@@@#1
1619}
1620\def\lmultline@@@{%
1621 \displ@y
1622 \def\shoveright##1{##1\hfilneg\hskip\multlinegap}%
1623 \if@fleqn %%*F
1624 \def\shoveleft##1{##1}% %%*F
1625 \else %%*F
1626 \def\shoveleft##1{%
1627 \setboxz@h{$\m@th\displaystyle{}##1$}%
1628 \setbox\@ne\hbox{$\m@th\displaystyle##1$}%
1629 \hfilneg
1630 \iftag@
1631 \ifdim\ltwidth@>\z@
1632 \hskip\ltwidth@
1633 \hskip\multlinetaggap@
1634 \fi
1635 \else
1636 \hskip\multlinegap
1637 \fi
1638 \hskip.5\wd\@ne
1639 \hskip-.5\wdz@##1%
1640 }%
1641 \fi %%*F
1642 \if@fleqn %%*F
1643 \tabskip\@mathmargin %%*F
1644 \else %%*F
1645 \tabskip\z@skip %%*
1646 \fi %%*F
1647 \totwidth@\displaywidth %%*F
1648 \if@fleqn %%*F
1649 \advance\totwidth@-\@mathmargin %%*F
1650 \fi %%*F
1651 \halign\bgroup
1652 \Let@
1653 \let\tag\gobble@tag
1654 \hbox to\totwidth@{% %%*F
1655 \strut@$\m@th\displaystyle
1656 \if@fleqn %%*F
1657 \hskip 0pt plus 1000pt %%*F
1658 \else %%*F
1659 \hfil
1660 \fi %%*F
1661 {}##\hfil$%
1662 }%
1663 \crcr
1664 \if@fleqn %%*F
1665 \hskip-\@mathmargin %%*F
1666 \else %%*F
1667 \hfilneg
1668 \fi %%*F
1669 \iftag@
1670 \ifdim\ltwidth@>\z@
1671 \box\mtagbox@
1672 \hskip\multlinetaggap@
1673 \else
1674 \rlap{%
1675 \vbox{%
1676 \normalbaselines
1677 \hbox{\strut@\box\mtagbox@}%
1678 \vbox to\mlineht@{}%
1679 }%
1680 }%
1681 \hskip\multlinegap %%*
1682 \fi
1683 \else
1684 \hskip\multlinegap
1685 \fi
1686}
1687\def\rmultline@@#1{%
1688 \rmmeasure@{#1}%
1689 \setbox\mtagbox@\hbox{%
1690 \iftag@
1691 \df@tag
1692 \else
1693 \if@eqnsw
1694 \global\tag@true
1695 \tagform@\theequation
1696 \fi
1697 \fi
1698 }%
1699 \dimen@\mwidth@
1700 \advance\dimen@\wd\mtagbox@
1701 \advance\dimen@\multlinetaggap@
1702 \if@fleqn %%*F
1703 \advance\dimen@\@mathmargin %%*F
1704 \fi %%*F
1705 \ifdim\dimen@>\displaywidth
1706 \rtwidth@\z@
1707 \else
1708 \rtwidth@\wd\mtagbox@
1709 \fi
1710 \rmultline@@@#1
1711}
1712\def\rmultline@@@{%
1713 \displ@y
1714 \def\shoveright##1{%
1715 ##1%
1716 \hfilneg
1717 \iftag@
1718 \ifdim\rtwidth@>\z@
1719 \hskip\rtwidth@
1720 \hskip\multlinetaggap@
1721 \fi
1722 \else
1723 \hskip\multlinegap
1724 \fi
1725 }%
1726 \if@fleqn %%*F
1727 \def\shoveleft##1{##1}% %%*F
1728 \else %%*F
1729 \def\shoveleft##1{%
1730 \setboxz@h{$\m@th\displaystyle{}##1$}%
1731 \setbox\@ne\hbox{$\m@th\displaystyle##1$}%
1732 \hfilneg
1733 \hskip\multlinegap
1734 \hskip.5\wd\@ne
1735 \hskip-.5\wdz@
1736 ##1%
1737 }%
1738 \fi %%*F
1739 \if@fleqn %%*F
1740 \tabskip\@mathmargin %%*F
1741 \else %%*F
1742 \tabskip\z@skip %%*
1743 \fi %%*F
1744 \totwidth@\displaywidth %%*F
1745 \if@fleqn %%*F
1746 \advance\totwidth@-\@mathmargin %%*F
1747 \fi %%*F
1748 \halign\bgroup
1749 \Let@
1750 \let\tag\gobble@tag
1751 \hbox to\totwidth@{%
1752 \strut@$\m@th\displaystyle
1753 \if@fleqn %%*F
1754 \hskip 0pt plus 1000pt %%*F
1755 \else %%*F
1756 \hfil
1757 \fi %%*F
1758 {}##\hfil$%
1759 }%
1760 \crcr
1761 \if@fleqn %%*F
1762 \hskip-\@mathmargin %%*F
1763 \else %%*F
1764 \hfilneg
1765 \fi %%*F
1766 \hskip\multlinegap
1767}
1768\def\endmultline{\iftagsleft@\expandafter\lendmultline@\else
1769 \expandafter\rendmultline@\fi\global\@ignoretrue}
1770\expandafter\let\csname endmultline*\endcsname=\endmultline
1771\def\lendmultline@{\hfilneg\hskip\multlinegap\crcr\egroup$$}
1772\def\rendmultline@{%
1773 \iftag@
1774 \ifdim\rtwidth@>\z@
1775 \hskip\multlinetaggap@
1776 \box\mtagbox@
1777 \else
1778 \hskip\multlinegap %%*
1779 \llap{%
1780 \vtop{%
1781 \@movetag %%*T
1782 \normalbaselines\null\hbox{\strut@\box\mtagbox@}%
1783 }%
1784 }%
1785 \fi
1786 \else
1787 \hskip\multlinegap
1788 \fi
1789 \hfilneg
1790 \crcr
1791 \egroup$$%
1792}
1793\expandafter\def
1794 \expandafter\@arrayparboxrestore
1795 \expandafter{\@arrayparboxrestore
1796 \inany@false\ingather@false\inalign@false
1797 \default@tag}
1798\def\equation{\gather\def\\{\PackageError{amstex}{\Invalid@@\\}\@eha}}
1799\def\endequation{\endgather}
1800\newenvironment{equation*}{%
1801 \equation
1802}{%
1803 \nonumber\endequation
1804}
1805\newcounter{parentequation}% Counter for ``parent equation''.
1806\newenvironment{subequations}{%
1807 \refstepcounter{equation}%
1808 \begingroup % conservative approach
1809 \let\protect\@nx
1810 \edef\@tempa{\def\@nx\theparentequation{\theequation}}%
1811 \@xp\endgroup\@tempa
1812 \setcounter{parentequation}{\value{equation}}%
1813 \setcounter{equation}{0}%
1814 \def\theequation{\theparentequation\alph{equation}}%
1815 \ignorespaces
1816}{%
1817 \setcounter{equation}{\value{parentequation}}%
1818 \global\@ignoretrue
1819}
1820%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1821\def\atdef@#1{\expandafter\def\csname\space @\string#1\endcsname}
1822\begingroup \catcode`\@=\active
1823\gdef @{\Iat}
1824\endgroup
1825\DeclareRobustCommand{\Iat}{\FN@\at@}
1826\def\at@{\let\next@\at@@
1827 \ifcat\noexpand\@let@token a\else
1828 \ifcat\noexpand\@let@token0\else
1829 \ifcat\noexpand\@let@token\relax\else
1830 \let\@let@token@\at@@@\fi\fi\fi\next@}
1831\def\at@@#1{\expandafter
1832 \@ifundefined{ @\string#1}%
1833 {\DN@{\at@@@#1}}%
1834 {\DN@{\csname\space @\string#1\endcsname}}%
1835 \next@}%
1836\def\at@@@{\PackageError{amstex}{\Invalid@@ @}%
1837 {\the\athelp@}% "I'll assume you wanted @@"
1838 \char64\relax}
1839\newhelp\athelp@
1840{Only certain combinations beginning with @ make sense to me.^^J%
1841I'll assume you wanted @@ for a printed @.}
1842\atdef@ @{{\atchar}}% to define @@
1843\chardef\atchar=64
1844\def\makeatother{\catcode64=\active}
1845\def\@tempa#1#2#3#4#5#6{%
1846 {#1}{#2}\ifnum0#6=0{13}\@xp\@gobblefour
1847 \else{#3}\fi\@tempa{#4}{#5}{#6}}%
1848\xdef\@currnamestack{\@xp\@tempa\@currnamestack{}{}{0}}
1849{\def\@makeother{\noexpand\@makeother\noexpand}
1850\xdef\@sanitize{\@sanitize\@makeother\@}}
1851{\def\do{\noexpand\do\noexpand}
1852\xdef\dospecials{\dospecials\do\@}}
1853\atdef@,{\ifmmode\mskip.1\thinmuskip\else \nonmatherr@{@,}\fi}
1854\atdef@!{\RIfM@\mskip-.1\thinmuskip\else \nonmatherr@{@!}\fi}
1855
1856\@ifpackageloaded{amscd}{%
1857}{%
1858\atdef@>#1>#2>{%
1859 \global\bigaw@\minaw@
1860 \setboxz@h{$\m@th\scriptstyle\;{#1}\;\;$}%
1861 \ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi
1862 \@ifnotempty{#2}{\setbox\@ne\hbox{$\m@th\scriptstyle\;{#2}\;\;$}%
1863 \ifdim\wd\@ne>\bigaw@ \global\bigaw@\wd\@ne \fi}%
1864 \mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}%
1865 \limits^{#1}\@ifnotempty{#2}{_{#2}}}%
1866}% end of @>>>
1867\atdef@<#1<#2<{%
1868 \global\bigaw@\minaw@
1869 \setboxz@h{$\m@th\scriptstyle\;\;{#1}\;$}%
1870 \ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi
1871 \@ifnotempty{#2}{\setbox\@ne\hbox{$\m@th\scriptstyle\;\;{#2}\;$}%
1872 \ifdim\wd\@ne>\bigaw@ \global\bigaw@\wd\@ne \fi}%
1873 \mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}%
1874 \limits^{#1}\@ifnotempty{#2}{_{#2}}}%
1875}% end of @<<<
1876}% end of @ifpackageloaded
1877\@ifundefined{minaw@}{\newdimen\minaw@}{}
1878\minaw@11.111pt
1879\@ifundefined{bigaw@}{\newdimen\bigaw@}{}
1880\atdef@-{\let\next-%%
1881 \DN@{\ifx\next-%%
1882 \def\next-{\setbox\z@\hbox{-}\unhbox\z@\FN@\next@}%%
1883 \expandafter\next \else\nobreak\fi}%%
1884 \next@-}%%
1885\def\leftroot{\PackageError{amstex}{\Invalid@@\leftroot}\@eha}
1886\def\uproot{\PackageError{amstex}{\Invalid@@\uproot}\@eha}
1887\newcount\uproot@
1888\newcount\leftroot@
1889\def\root{\relaxnext@
1890 \DN@{\ifx\@let@token\uproot\let\next@\nextii@\else
1891 \ifx\@let@token\leftroot\let\next@\nextiii@\else
1892 \let\next@\plainroot@\fi\fi\next@}%
1893 \def\nextii@\uproot##1{\uproot@##1\relax\FN@\nextiv@}%
1894 \def\nextiv@{\ifx\@let@token\@sptoken\DN@. {\FN@\nextv@}\else
1895 \DN@.{\FN@\nextv@}\fi\next@.}%
1896 \def\nextv@{\ifx\@let@token\leftroot\let\next@\nextvi@\else
1897 \let\next@\plainroot@\fi\next@}%
1898 \def\nextvi@\leftroot##1{\leftroot@##1\relax\plainroot@}%
1899 \def\nextiii@\leftroot##1{\leftroot@##1\relax\FN@\nextvii@}%
1900 \def\nextvii@{\ifx\@let@token\@sptoken
1901 \DN@. {\FN@\nextviii@}\else
1902 \DN@.{\FN@\nextviii@}\fi\next@.}%
1903 \def\nextviii@{\ifx\@let@token\uproot\let\next@\nextix@\else
1904 \let\next@\plainroot@\fi\next@}%
1905 \def\nextix@\uproot##1{\uproot@##1\relax\plainroot@}%
1906 \bgroup\uproot@\z@\leftroot@\z@\FN@\next@}
1907\def\plainroot@#1\of#2{\setbox\rootbox\hbox{%
1908 $\m@th\scriptscriptstyle{#1}$}%
1909 \mathchoice{\r@@t\displaystyle{#2}}{\r@@t\textstyle{#2}}
1910 {\r@@t\scriptstyle{#2}}{\r@@t\scriptscriptstyle{#2}}\egroup}
1911\def\r@@t#1#2{\setboxz@h{$\m@th#1\@@sqrt{#2}$}%
1912 \dimen@\ht\z@\advance\dimen@-\dp\z@
1913 \setbox\@ne\hbox{$\m@th#1\mskip\uproot@ mu$}%
1914 \advance\dimen@ by1.667\wd\@ne
1915 \mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@\copy\rootbox
1916 \mkern-10mu\mkern\leftroot@ mu\boxz@}
1917%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1918%% Fragment from old amsfonts.sty to deal with msam, msbm, eufm fonts;
1919%% omit if `noamsfonts' option was specified.
1920\ifx F\@amsfonts \endinput \fi
1921\DeclareSymbolFont{AMSa}{U}{msa}{m}{n}
1922\DeclareSymbolFont{AMSb}{U}{msb}{m}{n}
1923\ifx P\@amsfonts
1924 \DeclareFontFamily{U}{msa}{}%
1925 \DeclareFontShape{U}{msa}{m}{n}{<-6>msam5<6-8>msam7<8->msam10}{}%
1926 \DeclareFontFamily{U}{msb}{}%
1927 \DeclareFontShape{U}{msb}{m}{n}{<-6>msbm5<6-8>msbm7<8->msbm10}{}%
1928 \DeclareFontFamily{U}{euf}{}%
1929 \DeclareFontShape{U}{euf}{m}{n}{<-6>eufm5<6-8>eufm7<8->eufm10}{}%
1930 \DeclareFontShape{U}{euf}{b}{n}{<-6>eufb5<6-8>eufb7<8->eufb10}{}%
1931\fi
1932\@ifundefined{yen}{%
1933 \edef\yen{\noexpand\mathhexbox{\hexnumber@\symAMSa}55}
1934}{}
1935\@ifundefined{checkmark}{%
1936 \edef\checkmark{\noexpand\mathhexbox{\hexnumber@\symAMSa}58}
1937}{}
1938\@ifundefined{circledR}{%
1939 \edef\circledR{\noexpand\mathhexbox{\hexnumber@\symAMSa}72}
1940}{}
1941\@ifundefined{maltese}{%
1942 \edef\maltese{\noexpand\mathhexbox{\hexnumber@\symAMSa}7A}
1943}{}
1944\begingroup \catcode`\"=12
1945\DeclareMathDelimiter\ulcorner{\mathopen} {AMSa}{"70}{AMSa}{"70}
1946\DeclareMathDelimiter\urcorner{\mathclose}{AMSa}{"71}{AMSa}{"71}
1947\DeclareMathDelimiter\llcorner{\mathopen} {AMSa}{"78}{AMSa}{"78}
1948\DeclareMathDelimiter\lrcorner{\mathclose}{AMSa}{"79}{AMSa}{"79}
1949\xdef\widehat#1{\noexpand\@mathmeasure\z@\textstyle{#1}%
1950 \noexpand\ifdim\noexpand\wdz@>\tw@ em%
1951 \mathaccent"0\hexnumber@\symAMSb 5B{#1}%
1952 \noexpand\else\mathaccent"0362{#1}\noexpand\fi}
1953\xdef\widetilde#1{\noexpand\@mathmeasure\z@\textstyle{#1}%
1954 \noexpand\ifdim\noexpand\wdz@>\tw@ em%
1955 \mathaccent"0\hexnumber@\symAMSb 5D{#1}%
1956 \noexpand\else\mathaccent"0365{#1}\noexpand\fi}
1957\DeclareMathSymbol\dabar@{\mathord}{AMSa}{"39}
1958\xdef\dashrightarrow{\mathrel{\dabar@\dabar@
1959 \mathchar"0\hexnumber@\symAMSa 4B}}%
1960\xdef\dashleftarrow{\mathrel{\mathchar"0\hexnumber@\symAMSa 4C\dabar@
1961 \dabar@}}%
1962\global\let\dasharrow\dashrightarrow
1963\global\let\rightleftharpoons\undefined
1964\DeclareMathSymbol\rightleftharpoons{\mathrel}{AMSa}{"0A}
1965\global\let\angle\undefined
1966\DeclareMathSymbol\angle {\mathord}{AMSa}{"5C}
1967\global\let\hbar\undefined
1968\DeclareMathSymbol\hbar {\mathord}{AMSb}{"7E}
1969\global\let\sqsubset\undefined
1970\DeclareMathSymbol\sqsubset {\mathrel}{AMSa}{"40}
1971\global\let\sqsupset\undefined
1972\DeclareMathSymbol\sqsupset {\mathrel}{AMSa}{"41}
1973\global\let\mho\undefined
1974\DeclareMathSymbol\mho {\mathord}{AMSb}{"66}
1975\DeclareMathSymbol\square {\mathord}{AMSa}{"03}
1976\DeclareMathSymbol\lozenge {\mathord}{AMSa}{"06}
1977\DeclareMathSymbol\vartriangleright {\mathrel}{AMSa}{"42}
1978\DeclareMathSymbol\vartriangleleft {\mathrel}{AMSa}{"43}
1979\DeclareMathSymbol\trianglerighteq {\mathrel}{AMSa}{"44}
1980\DeclareMathSymbol\trianglelefteq {\mathrel}{AMSa}{"45}
1981\DeclareMathSymbol\rightsquigarrow {\mathrel}{AMSa}{"20}
1982\def\@tempa{\not@base\lhd}
1983\ifx\lhd\@tempa
1984 \global\let\lhd\vartriangleleft
1985 \global\let\unlhd\trianglelefteq
1986 \global\let\rhd\vartriangleright
1987 \global\let\unrhd\trianglerighteq
1988 \global\let\Box\square
1989 \global\let\Diamond\lozenge
1990 \global\let\leadsto\rightsquigarrow
1991\xdef\Join{\mathrel{\mathchar"0\hexnumber@\symAMSb 6F\mkern-13.8mu%
1992 \mathchar"0\hexnumber@\symAMSb 6E}}
1993\fi
1994\endgroup
1995\DeclareMathAlphabet\mathfrak{U}{euf}{m}{n}
1996\SetMathAlphabet\mathfrak{bold}{U}{euf}{b}{n}
1997\DeclareSymbolFontAlphabet{\mathbb}{AMSb}
1998\DeclareFontEncodingDefaults{\relax}{\def\accentclass@{7}}
1999\def\frak{\mathfrak}
2000\def\Bbb{\mathbb}
2001\def\bold{\mathbf}
2002\begingroup \catcode`\"=12 \relax
2003\gdef\newsymbol#1#2#3#4#5{%
2004 \@ifdefinable#1{%
2005 \edef\next@
2006 {\ifcase #2 \or
2007 \hexnumber@\symAMSa\or
2008 \hexnumber@\symAMSb\fi}%
2009 \ifx\next@\@empty
2010 \PackageError{amsfonts}{\Invalid@@\newsymbol}\@ehd%
2011 \else
2012 \global\mathchardef#1"#3\next@#4#5
2013 \fi}}
2014\endgroup
2015%% Some odds and ends
2016\def\sphat{^{\mathchoice{}{}%
2017 {\,\,\smash[b]{\hbox{\lower4\ex@\hbox{$\m@th\widehat{\null}$}}}}%
2018 {\,\smash[b]{\hbox{\lower3\ex@\hbox{$\m@th\hat{\null}$}}}}}}
2019\def\spcheck{^\vee}
2020\def\sptilde{^\sim}
2021\def\spdot{^{\hbox{\raise\ex@\hbox{\normalfont .}}}}
2022\def\spddot{^{\hbox{\raise\ex@\hbox{\normalfont ..}}}}
2023\def\spdddot{^{\hbox{\raise\ex@\hbox{\normalfont...}}}}
2024\def\spbreve{^{\!\smash[b]{\hbox{\lower4\ex@\hbox{\u{}}}}}}
2025\def\fracwithdelims#1#2{\new@ifnextchar[{\fracwithdelims@#1#2}%
2026 {\fracwithdelims@#1#2[\@empty]}}
2027\def\fracwithdelims@#1#2[#3]#4#5{\relax
2028 \ifx\@empty#3{#4\overwithdelims#1#2#5}\else
2029 {#4\abovewithdelims#1#2#3\relax#5}\fi}
2030\def\accentedsymbol#1#2{%
2031 \expandafter\newbox
2032 \csname\expandafter\@gobble\string#1@box\endcsname
2033 \expandafter\setbox
2034 \csname\expandafter\@gobble\string#1@box\endcsname
2035 \hbox{$\m@th#2$}%
2036 \newcommand{#1}{%
2037 \expandafter\copy
2038 \csname\expandafter\@gobble\string#1@box\endcsname{}}%
2039}
2040\def~{\nobreakspace}
2041\DeclareRobustCommand{\nobreakspace}{\unskip\nobreak\ \ignorespaces}
2042%%
2043%% End of file `amstex.sty'.