diff options
Diffstat (limited to 'Master')
25 files changed, 17963 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/amslatex/amsart.cls b/Master/texmf-dist/tex/latex/amslatex/amsart.cls new file mode 100644 index 00000000000..6161f65c164 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amsart.cls @@ -0,0 +1,1922 @@ +%% +%% This is file `amsart.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsclass.dtx (with options: `amsart,classes') +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsclass.dtx", +%%% version = "2.20", +%%% date = "2004/08/06", +%%% time = "13:03:53 EDT", +%%% checksum = "53558 5204 20497 185872", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 1999, 2004 +%%% American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Publications Technical Group, +%%% 201 Charles Street, +%%% Providence, RI 02904, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, AMS, documentclass, theorem", +%%% supported = "yes", +%%% abstract = "This is the source for the amsthm package and three +%%% AMS document classes: amsart, amsproc, and amsbook. +%%% They are designed for use with LaTeX.", +%%% docstring = "The checksum field above contains a CRC-16 checksum +%%% as the first value, followed by the equivalent of +%%% the standard UNIX wc (word count) utility output of +%%% lines, words, and characters. This is produced by +%%% Robert Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1995/06/01]% LaTeX date must be June 1995 or later +\ProvidesClass{amsart}[2004/08/06 v2.20] +\global\expandafter\let\csname ver@amsthm.sty\expandafter\endcsname + \csname ver@\@currname.\@currext\endcsname +\let\@xp=\expandafter +\let\@nx=\noexpand +\def\@oparg#1[#2]{\@ifnextchar[{#1}{#1[#2]}} +\long\def\@ifempty#1{\@xifempty#1@@..\@nil} +\long\def\@xifempty#1#2@#3#4#5\@nil{% + \ifx#3#4\@xp\@firstoftwo\else\@xp\@secondoftwo\fi} +\long\def\@ifnotempty#1{\@ifempty{#1}{}} +\def\setboxz@h{\setbox\z@\hbox} +\def\@addpunct#1{% + \relax\ifhmode + \ifnum\spacefactor>\@m \else#1\fi + \fi} +\def\nopunct{\spacefactor 1007 } +\def\frenchspacing{\sfcode`\.1006\sfcode`\?1005\sfcode`\!1004% + \sfcode`\:1003\sfcode`\;1002\sfcode`\,1001 } +\def\@tempa#1#2\@nil{\edef\@classname{#1}} +\expandafter\@tempa\@currnamestack{}{}{}\@nil +\ifx\@classname\@empty \edef\@classname{\@currname}\fi +\def\@True{00} +\def\@False{01} +\newcommand\newswitch[2][False]{% + \expandafter\@ifdefinable\csname ?@#2\endcsname{% + \global\expandafter\let\csname ?@#2\expandafter\endcsname + \csname @#1\endcsname + }% +} +\newcommand{\setFalse}[1]{% + \expandafter\let\csname ?@#1\endcsname\@False +} +\newcommand{\setTrue}[1]{% + \expandafter\let\csname ?@#1\endcsname\@True +} +\newswitch{} +\DeclareRobustCommand{\except}[1]{% + \if\csname ?@#1\endcsname \expandafter\@gobble + \else \expandafter\@firstofone + \fi +} +\DeclareRobustCommand{\for}[1]{% + \if\csname ?@#1\endcsname \expandafter\@firstofone + \else \expandafter\@gobble + \fi +} +\DeclareRobustCommand{\forany}[1]{% + \csname for@any@01\endcsname#1,?,\@nil +} +\@namedef{for@any@\@False}#1,{% + \csname for@any@% + \csname ?@\zap@space#1 \@empty\endcsname + \endcsname +} +\@namedef{?@?}{x} +\@namedef{for@any@\@True}#1\@nil#2{#2} +\def\for@any@x{\@car\@gobble} +\DeclareOption{a4paper}{\paperheight 297mm\paperwidth 210mm + \textheight 54.5pc } +\DeclareOption{letterpaper}{\paperheight 11in\paperwidth 8.5in } +\DeclareOption{landscape}{\@tempdima\paperheight + \paperheight\paperwidth \paperwidth\@tempdima} +\DeclareOption{portrait}{} +\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} +\DeclareOption{draft}{\overfullrule5\p@ + \ClassWarningNoLine{\@classname}{% + When the draft option is used, the + \protect\includegraphics\MessageBreak + command will print blank placeholder boxes\MessageBreak + for the graphics}% +} +\DeclareOption{final}{\overfullrule\z@ } +\def\dateposted#1{\def\@dateposted{#1}}% +\let\@dateposted\@empty +\def\@setdateposted{% + \newline Article electronically published on \@dateposted} +\def\article@logo{% + \set@logo{% + \publname + \ifx\@empty\currentvolume + \else \newline\volinfo, \pageinfo + \fi + \newline \@PII + \ifx\@empty\@dateposted \else \@setdateposted\fi + }% +} +\def\eonly@logo{% + \set@logo{% + \publname + \newline\volinfo, \pageinfo + \ifx\@empty\@dateposted \else \@setdateposted\fi + \newline \@PII + }% +} +\def\@logofont{\fontsize{6}{7\p@}\selectfont} +\long\def\set@logo#1{% + \vbox to\headheight{% + \@parboxrestore \@logofont + \noindent#1\par\vss + }% +} +\DeclareOption{e-only}{% + \def\volinfo{Volume \currentvolume}% + \dateposted{Xxxx XX, XXXX}% + \def\@setdateposted{\ (\@dateposted)}% + \let\article@logo\eonly@logo +} +\newif\if@titlepage +\DeclareOption{titlepage}{\@titlepagetrue} +\DeclareOption{notitlepage}{\@titlepagefalse} +\DeclareOption{onecolumn}{\@twocolumnfalse} +\DeclareOption{twocolumn}{\@twocolumntrue} +\DeclareOption{nomath}{} +\DeclareOption{noamsfonts}{} +\DeclareOption{psamsfonts}{% + \PassOptionsToPackage{psamsfonts}{amsfonts}% + \PassOptionsToPackage{cmex10}{amsmath}} +\newif\iftagsleft@ +\DeclareOption{leqno}{% + \tagsleft@true \PassOptionsToPackage{leqno}{amsmath}} +\DeclareOption{reqno}{% + \tagsleft@false \PassOptionsToPackage{reqno}{amsmath}} +\newif\ifctagsplit@ +\DeclareOption{centertags}{% + \ctagsplit@true \PassOptionsToPackage{centertags}{amsmath}} +\DeclareOption{tbtags}{% + \ctagsplit@false \PassOptionsToPackage{tbtags}{amsmath}} +\DeclareOption{fleqn}{}% +\newcommand{\@mainsize}{10} +\newcommand{\@ptsize}{0} +\newcommand{\larger}[1][1]{% + \count@\@currsizeindex \advance\count@#1\relax + \ifnum\count@<\z@ \count@\z@ \else\ifnum\count@>12 \count@12 \fi\fi + \ifcase\count@ + \Tiny\or\Tiny\or\tiny\or\SMALL\or\Small\or\small + \or\normalsize + \or\large\or\Large\or\LARGE\or\huge\or\Huge\else\Huge + \fi +} +\newcommand{\smaller}[1][1]{\larger[-#1]} +\def\@adjustvertspacing{% + \bigskipamount.7\baselineskip plus.7\baselineskip + \medskipamount\bigskipamount \divide\medskipamount\tw@ + \smallskipamount\medskipamount \divide\smallskipamount\tw@ + \abovedisplayskip\medskipamount + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip\abovedisplayskip + \advance\abovedisplayshortskip-1\abovedisplayskip + \belowdisplayshortskip\abovedisplayshortskip + \advance\belowdisplayshortskip 1\smallskipamount + \jot\baselineskip \divide\jot 4 \relax +} +\renewcommand\normalsize{\@xsetfontsize\normalsize 6% + \@adjustvertspacing \let\@listi\@listI} +\DeclareRobustCommand{\Tiny}{\@xsetfontsize\Tiny 1} +\DeclareRobustCommand{\tiny}{\@xsetfontsize\tiny 2} +\DeclareRobustCommand{\SMALL}{\@xsetfontsize\SMALL 3} +\DeclareRobustCommand{\Small}{\@xsetfontsize\Small 4% + \@adjustvertspacing + \def\@listi{\topsep\smallskipamount \parsep\z@skip \itemsep\z@skip + \leftmargin=\leftmargini + \labelwidth=\leftmargini \advance\labelwidth-\labelsep + }% +} +\DeclareRobustCommand{\small}{\@xsetfontsize\small 5\@adjustvertspacing} +\def\footnotesize{\Small} +\def\scriptsize{\SMALL} +\DeclareRobustCommand{\large}{\@xsetfontsize\large 7\@adjustvertspacing} +\DeclareRobustCommand{\Large}{\@xsetfontsize\Large 8\@adjustvertspacing} +\DeclareRobustCommand{\LARGE}{\@xsetfontsize\LARGE 9} +\DeclareRobustCommand{\huge}{\@xsetfontsize\huge{10}} +\DeclareRobustCommand{\Huge}{\@xsetfontsize\Huge{11}} +\def\@xsetfontsize#1#2{% + \chardef\@currsizeindex#2\relax + \edef\@tempa{\@nx\@setfontsize\@nx#1% + \@xp\ifcase\@xp\@currsizeindex\@typesizes + \else{99}{99}\fi}% + \@tempa +} +\chardef\@currsizeindex=6 +\widowpenalty=10000 +\clubpenalty=10000 +\brokenpenalty=10000 +\newdimen\linespacing +\lineskip=1pt \lineskiplimit=1pt +\normallineskip=1pt \normallineskiplimit=1pt +\let\baselinestretch=\@empty +\headheight=8pt \headsep=14pt +\footskip=12pt +\textheight=50.5pc \topskip=10pt +\textwidth=30pc +\columnsep=10pt \columnseprule=0pt +\marginparwidth=90pt +\marginparsep=11pt +\marginparpush=5pt +\AtBeginDocument{\settoheight{\footnotesep}{\footnotesize M$^1$}} +\skip\footins=7pt plus11pt +\skip\@mpfootins=\skip\footins +\fboxsep=3pt \fboxrule=.4pt +\arrayrulewidth=.4pt \doublerulesep=2pt +\labelsep=5pt \arraycolsep=\labelsep +\tabcolsep=\labelsep \tabbingsep=\labelsep +\floatsep=15pt plus 12pt \dblfloatsep=15pt plus 12pt +\textfloatsep=\floatsep \dbltextfloatsep=15pt plus 12pt +\intextsep=\floatsep +\@fptop=0pt plus1fil \@dblfptop=0pt plus1fil +\@fpbot=0pt plus1fil \@dblfpbot=0pt plus1fil +\@fpsep=8pt plus2fil \@dblfpsep=8pt plus2fil\relax +\parskip=0pt \relax +\newdimen\normalparindent +\normalparindent=12pt +\parindent=\normalparindent +\partopsep=0pt \relax \parsep=0pt \relax \itemsep=0pt \relax +\@lowpenalty=51 \@medpenalty=151 \@highpenalty=301 +\@beginparpenalty=-\@lowpenalty +\@endparpenalty=-\@lowpenalty +\@itempenalty=-\@lowpenalty +\DeclareOption{10pt}{\def\@mainsize{10}\def\@ptsize{0}% + \def\@typesizes{% + \or{5}{6}\or{6}{7}\or{7}{8}\or{8}{10}\or{9}{11}% + \or{10}{12}% normalsize + \or{\@xipt}{13}\or{\@xiipt}{14}\or{\@xivpt}{17}% + \or{\@xviipt}{20}\or{\@xxpt}{24}}% + \normalsize \linespacing=\baselineskip +} +\DeclareOption{11pt}{\def\@mainsize{11}\def\@ptsize{1}% + \def\@typesizes{% + \or{6}{7}\or{7}{8}\or{8}{10}\or{9}{11}\or{10}{12}% + \or{\@xipt}{13}% normalsize + \or{\@xiipt}{14}\or{\@xivpt}{17}\or{\@xviipt}{20}% + \or{\@xxpt}{24}\or{\@xxvpt}{30}}% + \normalsize \linespacing=\baselineskip +} +\DeclareOption{12pt}{\def\@mainsize{12}\def\@ptsize{2}% + \def\@typesizes{% + \or{7}{8}\or{8}{10}\or{9}{11}\or{10}{12}\or{\@xipt}{13}% + \or{\@xiipt}{14}% normalsize + \or{\@xivpt}{17}\or{\@xviipt}{20}\or{\@xxpt}{24}% + \or{\@xxvpt}{30}\or{\@xxvpt}{30}}% + \normalsize \linespacing=\baselineskip +} +\DeclareOption{8pt}{\def\@mainsize{8}\def\@ptsize{8}% + \def\@typesizes{% + \or{5}{6}\or{5}{6}\or{5}{6}\or{6}{7}\or{7}{8}% + \or{8}{10}% normalsize + \or{9}{11}\or{10}{12}\or{\@xipt}{13}% + \or{\@xiipt}{14}\or{\@xivpt}{17}}% + \normalsize \linespacing=\baselineskip +} +\DeclareOption{9pt}{\def\@mainsize{9}\def\@ptsize{9}% + \def\@typesizes{% + \or{5}{6}\or{5}{6}\or{6}{7}\or{7}{8}\or{8}{10}% + \or{9}{11}% normalsize + \or{10}{12}\or{\@xipt}{13}\or{\@xiipt}{14}% + \or{\@xivpt}{17}\or{\@xviipt}{20}}% + \normalsize \linespacing=\baselineskip +} +\def\ps@empty{\let\@mkboth\@gobbletwo + \let\@oddhead\@empty \let\@evenhead\@empty + \let\@oddfoot\@empty \let\@evenfoot\@empty + \global\topskip\normaltopskip} +\def\ps@plain{\ps@empty + \def\@oddfoot{\normalfont\scriptsize \hfil\thepage\hfil}% + \let\@evenfoot\@oddfoot} +\newswitch{runhead} +\def\ps@headings{\ps@empty + \def\@evenhead{% + \setTrue{runhead}% + \normalfont\scriptsize + \rlap{\thepage}\hfil + \def\thanks{\protect\thanks@warning}% + \leftmark{}{}\hfil}% + \def\@oddhead{% + \setTrue{runhead}% + \normalfont\scriptsize \hfil + \def\thanks{\protect\thanks@warning}% + \rightmark{}{}\hfil \llap{\thepage}}% + \let\@mkboth\markboth +} +\let\sectionname\@empty +\let\subsectionname\@empty +\let\subsubsectionname\@empty +\let\paragraphname\@empty +\let\subparagraphname\@empty +\def\leftmark{\expandafter\@firstoftwo\topmark{}{}} +\def\rightmark{\expandafter\@secondoftwo\botmark{}{}} +\def\ps@firstpage{\ps@plain + \def\@oddfoot{\normalfont\scriptsize \hfil\thepage\hfil + \global\topskip\normaltopskip}% + \let\@evenfoot\@oddfoot + \def\@oddhead{\@serieslogo\hss}% + \let\@evenhead\@oddhead % in case an article starts on a left-hand page +} +\long\def\@nilgobble#1\@nil{} +\def\markboth#1#2{% + \begingroup + \@temptokena{{#1}{#2}}\xdef\@themark{\the\@temptokena}% + \mark{\the\@temptokena}% + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi} +\def\ps@myheadings{\ps@headings \let\@mkboth\@gobbletwo} +\newskip\normaltopskip +\normaltopskip=10pt \relax +\let\sectionmark\@gobble +\let\subsectionmark\@gobble +\let\subsubsectionmark\@gobble +\let\paragraphmark\@gobble + +\DeclareOption{makeidx}{} +\ExecuteOptions{leqno,centertags,letterpaper,portrait,% + 10pt,twoside,onecolumn,final} +\ProcessOptions\relax +\if@compatibility + \def\@tempa{\RequirePackage{amstex}\relax}% +\else + \@ifclasswith{\@classname}{nomath}{% + \let\@tempa\relax + }{% + \def\@tempa{\RequirePackage{amsmath}\relax}% + }% +\fi +\@tempa % load amstex.sty or amsmath.sty +\@ifundefined{numberwithin}{% + \newcommand{\numberwithin}[3][\arabic]{% + \@ifundefined{c@#2}{\@nocounterr{#2}}{% + \@ifundefined{c@#3}{\@nocnterr{#3}}{% + \@addtoreset{#2}{#3}% + \@xp\xdef\csname the#2\endcsname{% + \@xp\@nx\csname the#3\endcsname .\@nx#1{#2}}}}% + } + \csname newtoks\endcsname\@emptytoks +}{} +\if@compatibility +\else + \@ifclasswith{\@classname}{noamsfonts}{% + % amsfonts package is not wanted + }{% + % amsfonts package IS wanted; test whether a recent enough version + % seems to be installed + \begingroup \fontencoding{U}\fontfamily{msa}\try@load@fontshape\endgroup + \global\@xp\let\csname U+msa\endcsname\relax % reset + \@ifundefined{U/msa/m/n}{% + \ClassError{\@classname}{% + Package `amsfonts' not installed, or version too old?\MessageBreak + Unable to get font info for the `msam' fonts in the expected form% + }{% + The amsfonts package will not be loaded, to avoid probable\MessageBreak + incompatibility problems. You can (a) use the `noamsfonts' + documentclass\MessageBreak + option next time, or (b) check that the amsfonts package is + installed\MessageBreak + correctly, and is not too old to be compatible.% + }% + }{% + \RequirePackage{amsfonts}[1995/01/01]\relax + }% + } +\fi % end yesamsfonts branch +\let\cleardouble@page\cleardoublepage +\AtBeginDocument{% + \ifx\cleardouble@page\cleardoublepage + \def\cleardoublepage{\clearpage{\pagestyle{empty}\cleardouble@page}} + \fi +} +\newcommand{\uppercasenonmath}[1]{\toks@\@emptytoks + \@xp\@skipmath\@xp\@empty#1$$% + \edef#1{{\@nx\protect\@nx\@upprep\the\toks@}}% +} +\newcommand{\@upprep}{% + \spaceskip1.3\fontdimen2\font plus1.3\fontdimen3\font + \upchars@} +\newcommand{\upchars@}{% + \def\ss{SS}\def\i{I}\def\j{J}\def\ae{\AE}\def\oe{\OE}% + \def\o{\O}\def\aa{\AA}\def\l{\L}\def\Mc{M{\scshape c}}} +\providecommand{\Mc}{Mc} +\newcommand{\@skipmath}{} +\long\def\@skipmath#1$#2${% + \@xskipmath#1\(\)% + \@ifnotempty{#2}{\toks@\@xp{\the\toks@$#2$}\@skipmath\@empty}}% +\newcommand{\@xskipmath}{} +\long\def\@xskipmath#1\(#2\){% + \uppercase{\toks@\@xp\@xp\@xp{\@xp\the\@xp\toks@#1}}% + \@ifnotempty{#2}{\toks@\@xp{\the\toks@\(#2\)}\@xskipmath\@empty}}% +\def\altucnm#1{% + \MakeTextUppercase{\toks@{#1}}% + \edef#1{\the\toks@}% +} +\AtBeginDocument{% + \@ifundefined{MakeTextUppercase}{}{\let\uppercasenonmath\altucnm}% +} +\@ifundefined{MakeUppercase}{\let\MakeUppercase\uppercase}{}% +\newcommand{\today}{% + \relax\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +%%\if@compatibility +%%\else +%% \def\@obsolete@fontswitch#1#2#3{% +%% \@latex@warning@no@line{% +%% Command {\string#1...}\on@line\space is obsolete;\MessageBreak +%% the LaTeX2e equivalent is \string#3{...}}% +%% \gdef#1{\@fontswitch\relax#3}% +%% } +%% \DeclareRobustCommand*\cal{% +%% \@xp\@obsolete@fontswitch\csname cal \endcsname\relax\mathcal} +%% \DeclareRobustCommand*\mit{% +%% \@xp\@obsolete@fontswitch\csname mit \endcsname\relax\mathnormal} +%%\fi +\renewcommand*{\title}[2][]{\gdef\shorttitle{#1}\gdef\@title{#2}} +\edef\title{\@nx\@dblarg + \@xp\@nx\csname\string\title\endcsname} +\renewcommand{\author}[2][]{% + \ifx\@empty\authors + \gdef\authors{#2}% + \else + \g@addto@macro\authors{\and#2}% + \g@addto@macro\addresses{\author{}}% + \fi + \@ifnotempty{#1}{% + \ifx\@empty\shortauthors + \gdef\shortauthors{#1}% + \else + \g@addto@macro\shortauthors{\and#1}% + \fi + }% +} +\edef\author{\@nx\@dblarg + \@xp\@nx\csname\string\author\endcsname} +\let\shortauthors\@empty \let\authors\@empty +\newif\ifresetcontrib \resetcontribfalse +\newcommand\contrib[2][]{% + \def\@tempa{#1}% + \ifx\@empty\@tempa + \else + \ifresetcontrib \@xcontribs + \else \global\resetcontribtrue + \fi + \fi + \ifx\@empty\contribs + \gdef\contribs{#1 #2}% + \else + \g@addto@macro\contribs{\and#1 #2}% + \fi + \@wraptoccontribs{#1}{#2}% +} +\def\wraptoccontribs#1#2{} +\def\@xcontribs{% + \author@andify\contribs + \ifx\@empty\xcontribs + \xdef\xcontribs{\contribs}% + \else + \xdef\xcontribs{\xcontribs, \contribs}% + \fi + \let\contribs\@empty +} +\let\contribs\@empty \let\xcontribs\@empty \let\toccontribs\@empty +\let\addresses\@empty \let\thankses\@empty +\newcommand{\address}[2][]{\g@addto@macro\addresses{\address{#1}{#2}}} +\newcommand{\curraddr}[2][]{\g@addto@macro\addresses{\curraddr{#1}{#2}}} +\newcommand{\email}[2][]{\g@addto@macro\addresses{\email{#1}{#2}}} +\newcommand{\urladdr}[2][]{\g@addto@macro\addresses{\urladdr{#1}{#2}}} +\long\def\thanks@warning#1{% + \ClassError{\@classname}{% + \protect\thanks\space should be given separately, not inside author name.% + }\@ehb +} +\renewcommand{\thanks}[1]{% + \@ifnotempty{#1}{\g@addto@macro\thankses{\thanks{#1}}}% +} +\def\enddoc@text{\ifx\@empty\@translators \else\@settranslators\fi + \ifx\@empty\addresses \else\@setaddresses\fi} +\AtEndDocument{\enddoc@text} +\def\curraddrname{{\itshape Current address}} +\def\emailaddrname{{\itshape E-mail address}} +\def\urladdrname{{\itshape URL}} +\def\@setaddresses{\par + \nobreak \begingroup +\footnotesize + \def\author##1{\nobreak\addvspace\bigskipamount}% + \def\\{\unskip, \ignorespaces}% + \interlinepenalty\@M + \def\address##1##2{\begingroup + \par\addvspace\bigskipamount\indent + \@ifnotempty{##1}{(\ignorespaces##1\unskip) }% + {\scshape\ignorespaces##2}\par\endgroup}% + \def\curraddr##1##2{\begingroup + \@ifnotempty{##2}{\nobreak\indent\curraddrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space + ##2\par}\endgroup}% + \def\email##1##2{\begingroup + \@ifnotempty{##2}{\nobreak\indent\emailaddrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space + \ttfamily##2\par}\endgroup}% + \def\urladdr##1##2{\begingroup + \def~{\char`\~}% + \@ifnotempty{##2}{\nobreak\indent\urladdrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space + \ttfamily##2\par}\endgroup}% + \addresses + \endgroup +} +\let\@date\@empty +\def\dedicatory#1{\def\@dedicatory{#1}} +\let\@dedicatory=\@empty +\def\keywords#1{\def\@keywords{#1}} +\let\@keywords=\@empty +\newcommand*\subjclass[2][1991]{% + \def\@subjclass{#2}% + \@ifundefined{subjclassname@#1}{% + \ClassWarning{\@classname}{Unknown edition (#1) of Mathematics + Subject Classification; using '1991'.}% + }{% + \@xp\let\@xp\subjclassname\csname subjclassname@#1\endcsname + }% +} +\let\@subjclass=\@empty +\def\commby#1{\def\@commby{(Communicated by #1)}} +\let\@commby=\@empty +\def\translname{Translated by} +\def\translator#1{% + \ifx\@empty\@translators \def\@translators{#1}% + \else\g@addto@macro\@translators{\and#1}\fi} +\let\@translators=\@empty +\def\@settranslators{\par\begingroup + \addvspace{6\p@\@plus9\p@}% + \hbox to\columnwidth{\hss\normalfont\normalsize + \translname{ }% + \andify\@translators \uppercasenonmath\@translators + \@translators} + \endgroup +} +\newcommand{\xandlist}[4]{\@andlista{{#1}{#2}{#3}}#4\and\and} +\def\@andlista#1#2\and#3\and{\@andlistc{#2}\@ifnotempty{#3}{% + \@andlistb#1{#3}}} +\def\@andlistb#1#2#3#4#5\and{% + \@ifempty{#5}{% + \@andlistc{#2#4}% + }{% + \@andlistc{#1#4}\@andlistb{#1}{#3}{#3}{#5}% + }} +\let\@andlistc\@iden +\newcommand{\nxandlist}[4]{% + \def\@andlistc##1{\toks@\@xp{\the\toks@##1}}% + \toks@{\toks@\@emptytoks \@andlista{{#1}{#2}{#3}}}% + \the\@xp\toks@#4\and\and + \edef#4{\the\toks@}% + \let\@andlistc\@iden} +\def\@@and{and} +\newcommand{\andify}{% + \nxandlist{\unskip, }{\unskip{} \@@and~}{\unskip, \@@and~}} +\def\and{\unskip{ }\@@and{ }\ignorespaces} +\def\maketitle{\par + \@topnum\z@ % this prevents figures from falling at the top of page 1 + \@setcopyright + \thispagestyle{firstpage}% this sets first page specifications + \uppercasenonmath\shorttitle + \ifx\@empty\shortauthors \let\shortauthors\shorttitle + \else \andify\shortauthors + \fi + \@maketitle@hook + \begingroup + \@maketitle + \toks@\@xp{\shortauthors}\@temptokena\@xp{\shorttitle}% + \toks4{\def\\{ \ignorespaces}}% defend against questionable usage + \edef\@tempa{% + \@nx\markboth{\the\toks4 + \@nx\MakeUppercase{\the\toks@}}{\the\@temptokena}}% + \@tempa + \endgroup + \c@footnote\z@ + \@cleartopmattertags +} +\def\@cleartopmattertags{% + \def\do##1{\let##1\relax}% + \do\maketitle \do\@maketitle \do\title \do\@xtitle \do\@title + \do\author \do\@xauthor \do\address \do\@xaddress + \do\contrib \do\contribs \do\xcontribs \do\toccontribs + \do\email \do\@xemail \do\curraddr \do\@xcurraddr + \do\commby \do\@commby + \do\dedicatory \do\@dedicatory \do\thanks \do\thankses + \do\keywords \do\@keywords \do\subjclass \do\@subjclass +} +\def\@maketitle@hook{\global\let\@maketitle@hook\@empty} +\def\@maketitle{% + \normalfont\normalsize + \@adminfootnotes + \@mkboth{\@nx\shortauthors}{\@nx\shorttitle}% + \global\topskip42\p@\relax % 5.5pc " " " " " + \@settitle + \ifx\@empty\authors \else \@setauthors \fi + \ifx\@empty\@dedicatory + \else + \baselineskip18\p@ + \vtop{\centering{\footnotesize\itshape\@dedicatory\@@par}% + \global\dimen@i\prevdepth}\prevdepth\dimen@i + \fi + \@setabstract + \normalsize + \if@titlepage + \newpage + \else + \dimen@34\p@ \advance\dimen@-\baselineskip + \vskip\dimen@\relax + \fi +} % end \@maketitle +\def\@adminfootnotes{% + \let\@makefnmark\relax \let\@thefnmark\relax + \ifx\@empty\@date\else \@footnotetext{\@setdate}\fi + \ifx\@empty\@subjclass\else \@footnotetext{\@setsubjclass}\fi + \ifx\@empty\@keywords\else \@footnotetext{\@setkeywords}\fi + \ifx\@empty\thankses\else \@footnotetext{% + \def\par{\let\par\@par}\@setthanks}% + \fi +} +\AtBeginDocument{% + \@ifundefined{publname}{% + \let\publname\@empty + \let\@serieslogo\@empty + }{% + \def\@serieslogo{\article@logo}% + }% +} +\AtBeginDocument{% + \@ifundefined{volinfo}{% + \def\volinfo{% + Volume \currentvolume, Number \number0\currentissue + \if\@printyear , \currentmonth\ \currentyear\fi + }% + }{}% +} +\def\@printyear{TF}% boolean false +\def\issueinfo#1#2#3#4{\def\currentvolume{#1}\def\currentissue{#2}% + \def\currentmonth{#3}\def\currentyear{#4}} +\issueinfo{00}% volume number + {0}% % issue number + {Xxxx}% % month + {XXXX}% % year +\newcommand{\copyrightinfo}[2]{% + \def\copyrightyear{#1}% + \@ifnotempty{#2}{\def\copyrightholder{#2}}% +} +\copyrightinfo{0000}{(copyright holder)} +\def\pagespan#1#2{\setcounter{page}{#1}% + \ifnum\c@page<\z@ \pagenumbering{roman}\setcounter{page}{-#1}\fi + \def\start@page{#1}\def\end@page{#2}} +\pagespan{000}{000} +\AtBeginDocument{% + \@ifundefined{pageinfo}{% + \def\pageinfo{% + \ifnum\start@page=\z@ + Pages 000--000 + \else + \ifx\start@page\end@page + Page \start@page + \else + Pages \start@page--\end@page + \fi + \fi}% + }{}% +} +\@ifundefined{ISSN}{\def\ISSN{0000-0000}}{} +\newcommand\PII[1]{\def\@PII{#1}} +\PII{S \ISSN(XX)0000-0} +\newinsert\copyins +\skip\copyins=1.5pc +\count\copyins=1000 % magnification factor, 1000 = 100% +\dimen\copyins=.5\textheight % maximum allowed per page +\g@addto@macro\@reinserts{% + \ifvoid\copyins\else\insert\copyins{\unvbox\copyins}\fi +} +\def\@copyinsfontsize{\fontsize{6}{7\p@}\normalfont\upshape} +\newif\if@extracrline \@extracrlinefalse +\let\@extracrline\@empty +\relax +\def\@setcopyright{% + \ifx\@empty\@serieslogo + \else\ifx\@empty\copyrightyear + \else + \insert\copyins{\hsize\textwidth + \parfillskip\z@\relax + \leftskip\z@\@plus.9\textwidth\relax \rightskip\z@\relax + \@copyinsfontsize + \everypar{}% + \vskip-\skip\copyins + \if@extracrline + \vskip-6pt + \fi + \nointerlineskip + \leavevmode\hfill\vrule\@width\z@\@height\skip\copyins + \copyright\copyrightyear\ \copyrightholder\ignorespaces + \if@extracrline \@extracrline \fi + \par + \kern\z@}% + \fi\fi +} +\def\@combinefloats{% + \ifx \@toplist\@empty \else \@cflt \fi + \ifx \@botlist\@empty \else \@cflb \fi + \ifvoid\copyins \else \@cflci \fi +} +\def\@cflci{% + \setbox\@outputbox\vbox{% + \unvbox\@outputbox + \vskip\skip\copyins + \if@twocolumn \else \vskip\z@ plus\p@ \fi + \hbox to\columnwidth{% + \hss\vbox to\z@{\vss + \if@twocolumn + \if@firstcolumn \else \unvbox\copyins \fi + \else + \unvbox\copyins + \fi + }}}% + \if@twocolumn \if@firstcolumn + \insert\copyins{\unvbox\copyins}% + \fi\fi + \global\count\copyins=999 \relax +} +\newif\if@revertcopyright \@revertcopyrightfalse +\newcommand{\revertcopyright}{% + \global\@revertcopyrighttrue + \global\@extracrlinetrue} +\def\@revertcrfontsize{\fontsize{6}{7\p@}\normalfont\upshape} +\def\@extracrline{% + \if@revertcopyright + \unskip\\ + \@revertcrfontsize + Reverts to public domain 28 years from publication + \fi +} +\newcommand{\abstractname}{Abstract} +\newcommand{\keywordsname}{Key words and phrases} +\newcommand{\subjclassname}{% + \textup{1991} Mathematics Subject Classification} +\@xp\let\csname subjclassname@1991\endcsname \subjclassname +\@namedef{subjclassname@2000}{% + \textup{2000} Mathematics Subject Classification} +\def\@tempb{amsart} +\ifx\@classname\@tempb + \newcommand{\datename}{\textit{Date}:} +\else + \newcommand{\datename}{Received by the editors} +\fi +\def\@settitle{\begin{center}% + \baselineskip14\p@\relax + \bfseries +\uppercasenonmath\@title + \@title + \end{center}% +} +\def\author@andify{% + \nxandlist {\unskip ,\penalty-1 \space\ignorespaces}% + {\unskip {} \@@and~}% + {\unskip ,\penalty-2 \space \@@and~}% +} +\def\@setauthors{% + \begingroup + \def\thanks{\protect\thanks@warning}% + \trivlist + \centering\footnotesize \@topsep30\p@\relax + \advance\@topsep by -\baselineskip + \item\relax + \author@andify\authors + \def\\{\protect\linebreak}% + \MakeUppercase{\authors}% + \ifx\@empty\contribs + \else + ,\penalty-3 \space \@setcontribs + \@closetoccontribs + \fi + \endtrivlist + \endgroup +} +\def\@closetoccontribs{} +\def\@setcontribs{% + \@xcontribs + \MakeUppercase{\xcontribs}% +} +\def\@setdate{\datename\ \@date\@addpunct.} +\def\@setsubjclass{% + {\itshape\subjclassname.}\enspace\@subjclass\@addpunct.} +\def\@setkeywords{% + {\itshape \keywordsname.}\enspace \@keywords\@addpunct.} +\def\@setthanks{\def\thanks##1{\par##1\@addpunct.}\thankses} +\newbox\abstractbox +\newenvironment{abstract}{% + \ifx\maketitle\relax + \ClassWarning{\@classname}{Abstract should precede + \protect\maketitle\space in AMS document classes; reported}% + \fi + \global\setbox\abstractbox=\vtop \bgroup + \normalfont\Small + \list{}{\labelwidth\z@ + \leftmargin3pc \rightmargin\leftmargin + \listparindent\normalparindent \itemindent\z@ + \parsep\z@ \@plus\p@ + \let\fullwidthdisplay\relax + }% + \item[\hskip\labelsep\scshape\abstractname.]% +}{% + \endlist\egroup + \ifx\@setabstract\relax \@setabstracta \fi +} +\def\@setabstract{\@setabstracta \global\let\@setabstract\relax} +\def\@setabstracta{% + \ifvoid\abstractbox + \else + \skip@20\p@ \advance\skip@-\lastskip + \advance\skip@-\baselineskip \vskip\skip@ + \box\abstractbox + \prevdepth\z@ % because \abstractbox is a vtop + \fi +} +\def\titlepage{% + \clearpage + \thispagestyle{empty}\setcounter{page}{0}} +\def\endtitlepage{\newpage} +\def\labelenumi{(\theenumi)} +\def\theenumi{\@arabic\c@enumi} +\def\labelenumii{(\theenumii)} +\def\theenumii{\@alph\c@enumii} +\def\p@enumii{\theenumi} +\def\labelenumiii{(\theenumiii)} +\def\theenumiii{\@roman\c@enumiii} +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{(\theenumiv)} +\def\theenumiv{\@Alph\c@enumiv} +\def\p@enumiv{\p@enumiii\theenumiii} +\def\labelitemi{$\m@th\bullet$} +\def\labelitemii{\bfseries --}% \upshape already done by \itemize +\def\labelitemiii{$\m@th\ast$} +\def\labelitemiv{$\m@th\cdot$} +\newenvironment{verse}{\let\\\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em\listparindent\itemindent + \rightmargin\leftmargin \advance\leftmargin 1.5em}\item[]% +}{% + \endlist +} +\let\endverse=\endlist % for efficiency +\newenvironment{quotation}{\list{}{% + \leftmargin3pc \listparindent\normalparindent + \itemindent\z@ + \rightmargin\leftmargin \parsep\z@ \@plus\p@}% + \item[]% +}{% + \endlist +} +\let\endquotation=\endlist % for efficiency +\newenvironment{quote}{% + \list{}{\rightmargin\leftmargin}\item[]% +}{% + \endlist +} +\let\endquote=\endlist % for efficiency +\def\trivlist{\parsep\parskip\@nmbrlistfalse + \@trivlist \labelwidth\z@ \leftmargin\z@ + \itemindent\z@ + \let\@itemlabel\@empty + \def\makelabel##1{\upshape##1}} +\renewenvironment{enumerate}{% + \ifnum \@enumdepth >3 \@toodeep\else + \advance\@enumdepth \@ne + \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list + {\csname label\@enumctr\endcsname}{\usecounter + {\@enumctr}\def\makelabel##1{\hss\llap{\upshape##1}}}\fi +}{% + \endlist +} +\let\endenumerate=\endlist % for efficiency +\renewenvironment{itemize}{% + \ifnum\@itemdepth>3 \@toodeep + \else \advance\@itemdepth\@ne + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \list{\csname\@itemitem\endcsname}% + {\def\makelabel##1{\hss\llap{\upshape##1}}}% + \fi +}{% + \endlist +} +\let\enditemize=\endlist % for efficiency +\newcommand{\descriptionlabel}[1]{\hspace\labelsep \upshape\bfseries #1:} +\newenvironment{description}{\list{}{% + \advance\leftmargini6\p@ \itemindent-12\p@ + \labelwidth\z@ \let\makelabel\descriptionlabel}% +}{ + \endlist +} +\let\enddescription=\endlist % for efficiency +\let\upn=\textup +\AtBeginDocument{% + \labelsep=5pt\relax + \setcounter{enumi}{13}\setcounter{enumii}{13}% + \setcounter{enumiii}{13}\setcounter{enumiv}{13}% + \settowidth\leftmargini{\labelenumi\hskip\labelsep}% + \advance\leftmargini by \normalparindent + \settowidth\leftmarginii{\labelenumii\hskip\labelsep}% + \settowidth\leftmarginiii{\labelenumiii\hskip\labelsep}% + \settowidth\leftmarginiv{\labelenumiv\hskip\labelsep}% + \setcounter{enumi}{0}\setcounter{enumii}{0}% + \setcounter{enumiii}{0}\setcounter{enumiv}{0}% + \leftmarginv=10pt \leftmarginvi=\leftmarginv + \leftmargin=\leftmargini + \labelwidth=\leftmargini \advance\labelwidth-\labelsep + \@listi} +\newskip\listisep +\listisep\smallskipamount +\def\@listI{\leftmargin\leftmargini \parsep\z@skip + \topsep\listisep \itemsep\z@skip + \listparindent\normalparindent} +\let\@listi\@listI +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii \advance\labelwidth-\labelsep + \topsep\z@skip \parsep\z@skip \partopsep\z@skip \itemsep\z@skip} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii \advance\labelwidth-\labelsep} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv \advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv \advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} +\@ifclasswith{\@classname}{fleqn}{% + \let\@tempa\@iden + \AtBeginDocument{\mathindent\leftmargini}% +}{\let\@tempa\@gobble}% +\@ifpackageloaded{amsmath}{\let\@tempa\@gobble}{% + \@ifpackageloaded{amstex}{\let\@tempa\@gobble}{}% +} +\@tempa{% + \def\[{\relax + \ifmmode\@badmath + \else + \begin{trivlist}% + \@beginparpenalty\predisplaypenalty + \@endparpenalty\postdisplaypenalty + \item[]\leavevmode + \hbox to\linewidth\bgroup$\displaystyle + \hskip\mathindent\bgroup + \fi}% + \def\]{\relax + \ifmmode + \egroup \m@th$\hfil \egroup + \end{trivlist}% + \else \@badmath + \fi}% + \renewenvironment{equation}{% + \@beginparpenalty\predisplaypenalty + \@endparpenalty\postdisplaypenalty + \refstepcounter{equation}% + \@topsep\abovedisplayskip \trivlist + \item[]\leavevmode + \hbox to\linewidth\bgroup\hskip\mathindent$\displaystyle + }{% + \m@th$\hfil \displaywidth\linewidth \hbox{\@eqnnum}\egroup + \endtrivlist + }% + \renewenvironment{eqnarray}{% + \stepcounter{equation}\let\@currentlabel\theequation + \global\@eqnswtrue \global\@eqcnt\z@ \tabskip\mathindent + \let\\=\@eqncr \abovedisplayskip\topsep + \ifvmode \advance\abovedisplayskip\partopsep \fi + \belowdisplayskip\abovedisplayskip + \belowdisplayshortskip\abovedisplayskip + \abovedisplayshortskip\abovedisplayskip + $$\everycr{}\halign to\linewidth\bgroup + \hskip\@centering + $\displaystyle\tabskip\z@skip####\m@th$&% + \@eqnsel \global\@eqcnt\@ne + \hfil${}####{}\m@th$\hfil&% + \global\@eqcnt\tw@ + $\displaystyle ####\m@th$\hfil\tabskip\@centering&% + \global\@eqcnt\thr@@ + \hbox to \z@\bgroup\hss####\egroup\tabskip\z@skip\cr + }{% + \@@eqncr \egroup \global\advance\c@equation\m@ne$$% + \global\@ignoretrue + }% + \newdimen\mathindent + \mathindent\leftmargini +} +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec \leavevmode \fi + \par \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi + \if@nobreak \everypar{}\else + \addpenalty\@secpenalty\addvspace\@tempskipa\fi + \@ifstar{\@dblarg{\@sect{#1}{\@m}{#3}{#4}{#5}{#6}}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}% +} +\def\@seccntformat#1{% + \protect\textup{\protect\@secnumfont + \csname the#1\endcsname + \protect\@secnumpunct + }% +} +\def\@secnumfont{\mdseries} +\def\@sect#1#2#3#4#5#6[#7]#8{% + \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}% + \ifnum #2>\c@secnumdepth \let\@secnumber\@empty + \else \@xp\let\@xp\@secnumber\csname the#1\endcsname\fi + \@tempskipa #5\relax + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \edef\@secnumpunct{% + \ifdim\@tempskipa>\z@ % not a run-in section heading + \@ifnotempty{#8}{.\@nx\enspace}% + \else + \@ifempty{#8}{.}{.\@nx\enspace}% + \fi + }% + \@ifempty{#8}{% + \ifnum #2=\tw@ \def\@secnumfont{\bfseries}\fi}{}% + \protected@edef\@svsec{% + \ifnum#2<\@m + \@ifundefined{#1name}{}{% + \ignorespaces\csname #1name\endcsname\space + }% + \fi + \@seccntformat{#1}% + }% + \fi + \ifdim \@tempskipa>\z@ % then this is not a run-in section heading + \begingroup #6\relax + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty\@M #8\par}% + \endgroup + \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi + \else + \def\@svsechd{#6\hskip #3\@svsec + \@ifnotempty{#8}{\ignorespaces#8\unskip + \@addpunct.}% + \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi + }% + \fi + \global\@nobreaktrue + \@xsect{#5}} +\let\@ssect\relax +\newcounter{part} +\newcounter{section} +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] +\newcounter{subparagraph}[paragraph] +\renewcommand\thepart {\arabic{part}} +\renewcommand\thesection {\arabic{section}} +\renewcommand\thesubsection {\thesection.\arabic{subsection}} +\renewcommand\thesubsubsection {\thesubsection .\arabic{subsubsection}} +\renewcommand\theparagraph {\thesubsubsection.\arabic{paragraph}} +\renewcommand\thesubparagraph {\theparagraph.\arabic{subparagraph}} +\setcounter{secnumdepth}{3} +\def\partname{Part} +\def\part{\@startsection{part}{0}% + \z@{\linespacing\@plus\linespacing}{.5\linespacing}% + {\normalfont\bfseries\raggedright}} +\def\specialsection{\@startsection{section}{1}% + \z@{\linespacing\@plus\linespacing}{.5\linespacing}% + {\normalfont\centering}} +\def\section{\@startsection{section}{1}% + \z@{.7\linespacing\@plus\linespacing}{.5\linespacing}% + {\normalfont\scshape\centering}} +\def\subsection{\@startsection{subsection}{2}% + \z@{.5\linespacing\@plus.7\linespacing}{-.5em}% + {\normalfont\bfseries}} +\def\subsubsection{\@startsection{subsubsection}{3}% + \z@{.5\linespacing\@plus.7\linespacing}{-.5em}% + {\normalfont\itshape}} +\def\paragraph{\@startsection{paragraph}{4}% + \z@\z@{-\fontdimen2\font}% + \normalfont} +\def\subparagraph{\@startsection{subparagraph}{5}% + \z@\z@{-\fontdimen2\font}% + \normalfont} +\def\appendix{\par\c@section\z@ \c@subsection\z@ + \let\sectionname\appendixname + \def\thesection{\@Alph\c@section}} +\def\appendixname{Appendix} +\def\@Roman#1{\@xp\@slowromancap + \romannumeral#1@}% +\def\@slowromancap#1{\ifx @#1% then terminate + \else + \if i#1I\else\if v#1V\else\if x#1X\else\if l#1L\else\if + c#1C\else\if m#1M\else#1\fi\fi\fi\fi\fi\fi + \@xp\@slowromancap + \fi +} +\newcommand{\@pnumwidth}{1.6em} +\newcommand{\@tocrmarg}{2.6em} +\setcounter{tocdepth}{2} +\newswitch{toc} +\newswitch{lof} +\newswitch{lot} +\newcommand\contentsnamefont{\scshape} +\def\@starttoc#1#2{\begingroup + \setTrue{#1}% + \par\removelastskip\vskip\z@skip + \@startsection{}\@M\z@{\linespacing\@plus\linespacing}% + {.5\linespacing}{\centering\contentsnamefont}{#2}% + \ifx\contentsname#2% + \else \addcontentsline{toc}{section}{#2}\fi + \makeatletter + \@input{\jobname.#1}% + \if@filesw + \@xp\newwrite\csname tf@#1\endcsname + \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax + \fi + \global\@nobreakfalse \endgroup + \addvspace{32\p@\@plus14\p@}% + \let\tableofcontents\relax +} +\def\contentsname{Contents} +\def\listfigurename{List of Figures} +\def\listtablename{List of Tables} +\def\tableofcontents{% + \@starttoc{toc}\contentsname +} +\def\listoffigures{\@starttoc{lof}\listfigurename} +\def\listoftables{\@starttoc{lot}\listtablename} +\AtBeginDocument{% + \@for\@tempa:=-1,0,1,2,3\do{% + \@ifundefined{r@tocindent\@tempa}{% + \@xp\gdef\csname r@tocindent\@tempa\endcsname{0pt}}{}% + }% +} +\def\@writetocindents{% + \begingroup + \@for\@tempa:=-1,0,1,2,3\do{% + \immediate\write\@auxout{% + \string\newlabel{tocindent\@tempa}{% + \csname r@tocindent\@tempa\endcsname}}% + }% + \endgroup} +\AtEndDocument{\@writetocindents} + +\let\indentlabel\@empty +\def\@tochangmeasure#1{\sbox\z@{#1}% + \ifdim\wd\z@>\csname r@tocindent\@toclevel\endcsname\relax + \@xp\xdef\csname r@tocindent\@toclevel\endcsname{\the\wd\z@}% + \fi +} +\def\@toclevel{0} +\def\@tocline#1#2#3#4#5#6#7{\relax + \ifnum #1>\c@tocdepth % then omit + \else + \par \addpenalty\@secpenalty\addvspace{#2}% + \begingroup \hyphenpenalty\@M + \@ifempty{#4}{% + \@tempdima\csname r@tocindent\number#1\endcsname\relax + }{% + \@tempdima#4\relax + }% + \parindent\z@ \leftskip#3\relax \advance\leftskip\@tempdima\relax + \rightskip\@pnumwidth plus4em \parfillskip-\@pnumwidth + #5\leavevmode\hskip-\@tempdima #6\nobreak\relax + \hfil\hbox to\@pnumwidth{\@tocpagenum{#7}}\par + \nobreak + \endgroup + \fi} +\def\@tocpagenum#1{\hss{\mdseries #1}} +\def\@tocwrite#1{\@xp\@tocwriteb\csname toc#1\endcsname{#1}} +\def\@tocwriteb#1#2#3{% + \begingroup + \def\@tocline##1##2##3##4##5##6{% + \ifnum##1>\c@tocdepth + \else \sbox\z@{##5\let\indentlabel\@tochangmeasure##6}\fi}% + \csname l@#2\endcsname{#1{\csname#2name\endcsname}{\@secnumber}{}}% + \endgroup + \addcontentsline{toc}{#2}% + {\protect#1{\csname#2name\endcsname}{\@secnumber}{#3}}} +\def\l@section{\@tocline{1}{0pt}{1pc}{}{}} +\newcommand{\tocsection}[3]{% + \indentlabel{\@ifnotempty{#2}{\ignorespaces#1 #2.\quad}}#3} +\def\l@subsection{\@tocline{2}{0pt}{1pc}{5pc}{}} +\let\tocsubsection\tocsection +\def\l@subsubsection{\@tocline{3}{0pt}{1pc}{7pc}{}} +\let\tocsubsubsection\tocsection +\let\l@paragraph\l@subsubsection +\let\tocparagraph\tocsection +\let\l@subparagraph\l@subsubsection +\let\tocsubparagraph\tocsection +\def\l@part{\@tocline{-1}{12pt plus2pt}{0pt}{}{\bfseries}} +\let\tocpart\tocsection +\def\l@chapter{\@tocline{0}{8pt plus1pt}{0pt}{}{}} +\let\tocchapter\tocsection +\newcommand{\tocappendix}[3]{% + \indentlabel{#1\@ifnotempty{#2}{ #2}.\quad}#3} +\def\l@figure{\@tocline{0}{3pt plus2pt}{0pt}{1.5pc}{}} +\let\l@table=\l@figure +\def\refname{References} +\def\bibname{Bibliography} +\def\@defaultbiblabelstyle#1{#1.} +\def\bibliographystyle#1{% + \if@filesw\immediate\write\@auxout{\string\bibstyle{#1}}\fi + \def\@tempa{#1}% + \def\@tempb{amsplain}% + \def\@tempc{}% + \ifx\@tempa\@tempb + \def\@biblabel##1{\@defaultbiblabelstyle{##1}}% + \def\bibsetup{}% + \else + \def\bibsetup{\labelsep6\p@}% + \ifx\@tempa\@tempc + \def\@biblabel##1{}% + \def\bibsetup{\labelwidth\z@ \leftmargin24\p@ + \itemindent-\leftmargin + \labelsep\z@ }% + \fi + \fi} +\newcommand{\bibliofont}{\footnotesize} +\newcommand{\@bibtitlestyle}{% + \@xp\section\@xp*\@xp{\refname}% +} +\newenvironment{thebibliography}[1]{% + \@bibtitlestyle + \normalfont\bibliofont\labelsep .5em\relax + \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty + \list{\@biblabel{\theenumiv}}{\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth \advance\leftmargin\labelsep + \usecounter{enumiv}}% + \sloppy \clubpenalty\@M \widowpenalty\clubpenalty + \sfcode`\.=\@m +}{% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \endlist +} +\def\bysame{\leavevmode\hbox to3em{\hrulefill}\thinspace} +\def\newblock{} +\newcommand\MR[1]{\relax\ifhmode\unskip\spacefactor3000 \space\fi + MR~\MRhref{#1}{#1}} +\let\MRhref\@gobble +\newcommand\URL{\begingroup + \def\@sverb##1{% + \def\@tempa####1##1{\@URL{####1}\egroup\endgroup}% + \@tempa}% + \verb} +\let\URLhref\@gobble +\def\@URL#1{\URLhref{#1}#1} +\newif\if@restonecol +\newcommand{\@indextitlestyle}{% + \twocolumn[\@xp\section\@xp*\@xp{\indexname}]% +} +\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi + \columnseprule\z@ \columnsep 35\p@ + \@indextitlestyle + \thispagestyle{plain}% + \let\item\@idxitem + \parindent\z@ \parskip\z@\@plus.3\p@\relax + \raggedright + \hyphenpenalty\@M + \footnotesize} +\def\indexname{Index} +\def\@idxitem{\par\hangindent 2em} +\def\subitem{\par\hangindent 2em\hspace*{1em}} +\def\subsubitem{\par\hangindent 3em\hspace*{2em}} +\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} +\def\indexspace{\par\bigskip} +\def\footnoterule{\kern-.4\p@ + \hrule\@width 5pc\kern11\p@\kern-\footnotesep} +\def\@makefnmark{% + \leavevmode + \raise.9ex\hbox{\fontsize\sf@size\z@\normalfont\@thefnmark}% +} +\def\@makefntext{\indent\@makefnmark} +\long\def\@footnotetext#1{% + \insert\footins{% + \normalfont\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep \splitmaxdepth \dp\strutbox + \floatingpenalty\@MM \hsize\columnwidth + \@parboxrestore \parindent\normalparindent \sloppy + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}} +\hfuzz=1pt \vfuzz=\hfuzz +\def\sloppy{\tolerance9999 \emergencystretch 3em\relax} +\setcounter{topnumber}{4} +\setcounter{bottomnumber}{4} +\setcounter{totalnumber}{4} +\setcounter{dbltopnumber}{4} +\renewcommand{\topfraction}{.97} +\renewcommand{\bottomfraction}{.97} +\renewcommand{\textfraction}{.03} +\renewcommand{\floatpagefraction}{.9} +\renewcommand{\dbltopfraction}{.97} +\renewcommand{\dblfloatpagefraction}{.9} +\setlength{\floatsep}{12pt plus 6pt minus 4pt} +\setlength{\textfloatsep}{15pt plus 8pt minus 5pt} +\setlength{\intextsep}{12pt plus 6pt minus 4pt} +\setlength{\dblfloatsep}{12pt plus 6pt minus 4pt} +\setlength{\dbltextfloatsep}{15pt plus 8pt minus 5pt} +\setlength{\@fptop}{0pt}% removed "plus 1fil" +\setlength{\@fpsep}{8pt}% removed "plus 2fil" +\setlength{\@fpbot}{0pt plus 1fil} +\setlength{\@dblfptop}{0pt}% removed "plus 1fil" +\setlength{\@dblfpsep}{8pt}% removed "plus 2fil" +\setlength{\@dblfpbot}{0pt plus 1fil} +\newcommand{\fps@figure}{tbp} +\newcommand{\fps@table}{tbp} +\newcounter{figure} +\def\@captionheadfont{\scshape} +\def\@captionfont{\normalfont} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{\figurename\ \thefigure} +\def\figurename{Figure} +\newenvironment{figure}{% + \@float{figure}% +}{% + \end@float +} +\newenvironment{figure*}{% + \@dblfloat{figure}% +}{% + \end@dblfloat +} +\newcounter{table} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{\tablename\ \thetable} +\def\tablename{Table} +\newenvironment{table}{% + \@float{table}% +}{% + \end@float +} +\newenvironment{table*}{% + \@dblfloat{table}% +}{% + \end@dblfloat +} +\def\@floatboxreset{\global\@minipagefalse \centering} +\long\def\@makecaption#1#2{% + \setbox\@tempboxa\vbox{\color@setgroup + \advance\hsize-2\captionindent\noindent + \@captionfont\@captionheadfont#1\@xp\@ifnotempty\@xp + {\@cdr#2\@nil}{.\@captionfont\upshape\enspace#2}% + \unskip\kern-2\captionindent\par + \global\setbox\@ne\lastbox\color@endgroup}% + \ifhbox\@ne % the normal case + \setbox\@ne\hbox{\unhbox\@ne\unskip\unskip\unpenalty\unkern}% + \fi + \ifdim\wd\@tempboxa=\z@ % this means caption will fit on one line + \setbox\@ne\hbox to\columnwidth{\hss\kern-2\captionindent\box\@ne\hss}% + \else % tempboxa contained more than one line + \setbox\@ne\vbox{\unvbox\@tempboxa\parskip\z@skip + \noindent\unhbox\@ne\advance\hsize-2\captionindent\par}% + \fi + \ifnum\@tempcnta<64 % if the float IS a figure... + \addvspace\abovecaptionskip + \hbox to\hsize{\kern\captionindent\box\@ne\hss}% + \else % if the float IS NOT a figure... + \hbox to\hsize{\kern\captionindent\box\@ne\hss}% + \nobreak + \vskip\belowcaptionskip + \fi +\relax +} +\newskip\abovecaptionskip \abovecaptionskip=12pt \relax +\newskip\belowcaptionskip \belowcaptionskip=12pt \relax +\newdimen\captionindent \captionindent=3pc +\def\nonbreakingspace{\unskip\nobreak\ \ignorespaces} +\def~{\protect\nonbreakingspace} +\def\@biblabel#1{\@ifnotempty{#1}{[#1]}} +\def\@citestyle{\m@th\upshape\mdseries} +\let\citeform\@firstofone +\def\@cite#1#2{{% + \@citestyle[\citeform{#1}\if@tempswa, #2\fi]}} +\@ifundefined{cite }{% + \expandafter\let\csname cite \endcsname\cite + \edef\cite{\@nx\protect\@xp\@nx\csname cite \endcsname}% +}{} +\def\fullwidthdisplay{\displayindent\z@ \displaywidth\columnwidth} +\edef\@tempa{\noexpand\fullwidthdisplay\the\everydisplay} +\everydisplay\expandafter{\@tempa} +\newcommand*\seeonlyname{see} +\newcommand*\seename{see also} +\newcommand*\alsoname{see also} +\newcommand*\seeonly[2]{\emph{\seeonlyname} #1} +\newcommand*\see[2]{\emph{\seename} #1} +\newcommand*\seealso[2]{\emph{\alsoname} #1} +\newcommand\printindex{\@input{\jobname.ind}} +\DeclareRobustCommand\textprime{\leavevmode + \raise.8ex\hbox{\check@mathfonts\the\scriptfont2 \char48 }} + +\newcommand{\theoremstyle}[1]{% + \@ifundefined{th@#1}{% + \PackageWarning{amsthm}{Unknown theoremstyle `#1'}% + \thm@style{plain}% + }{% + \thm@style{#1}% + }% +} +\newtoks\thm@style +\thm@style{plain} +\newtoks\thm@bodyfont \thm@bodyfont{\itshape} +\newtoks\thm@headfont \thm@headfont{\bfseries} +\newtoks\thm@notefont \thm@notefont{} +\newtoks\thm@headpunct \thm@headpunct{.} +\newskip\thm@preskip \newskip\thm@postskip +\def\thm@space@setup{% + \thm@preskip=.5\baselineskip\@plus.2\baselineskip + \@minus.2\baselineskip + \thm@postskip=\thm@preskip +} +\renewcommand{\newtheorem}{\@ifstar{\@xnthm *}{\@xnthm \relax}} +\def\@xnthm#1#2{% + \let\@tempa\relax + \@xp\@ifdefinable\csname #2\endcsname{% + \global\@xp\let\csname end#2\endcsname\@endtheorem + \ifx *#1% unnumbered, need to get one more mandatory arg + \edef\@tempa##1{% + \gdef\@xp\@nx\csname#2\endcsname{% + \@nx\@thm{\@xp\@nx\csname th@\the\thm@style\endcsname}% + {}{##1}}}% + \else % numbered theorem, need to check for optional arg + \def\@tempa{\@oparg{\@ynthm{#2}}[]}% + \fi + }% + \@tempa +} +\def\@ynthm#1[#2]#3{% + \ifx\relax#2\relax + \def\@tempa{\@oparg{\@xthm{#1}{#3}}[]}% + \else + \@ifundefined{c@#2}{% + \def\@tempa{\@nocounterr{#2}}% + }{% + \@xp\xdef\csname the#1\endcsname{\@xp\@nx\csname the#2\endcsname}% + \toks@{#3}% + \@xp\xdef\csname#1\endcsname{% + \@nx\@thm{% + \let\@nx\thm@swap + \if S\thm@swap\@nx\@firstoftwo\else\@nx\@gobble\fi + \@xp\@nx\csname th@\the\thm@style\endcsname}% + {#2}{\the\toks@}}% + \let\@tempa\relax + }% + \fi + \@tempa +} +\def\@xthm#1#2[#3]{% + \ifx\relax#3\relax + \newcounter{#1}% + \else + \newcounter{#1}[#3]% + \@xp\xdef\csname the#1\endcsname{\@xp\@nx\csname the#3\endcsname + \@thmcountersep\@thmcounter{#1}}% + \fi + \toks@{#2}% + \@xp\xdef\csname#1\endcsname{% + \@nx\@thm{% + \let\@nx\thm@swap + \if S\thm@swap\@nx\@firstoftwo\else\@nx\@gobble\fi + \@xp\@nx\csname th@\the\thm@style\endcsname}% + {#1}{\the\toks@}}% +} +\def\@thm#1#2#3{% + \ifhmode\unskip\unskip\par\fi + \normalfont + \trivlist + \let\thmheadnl\relax + \let\thm@swap\@gobble + \let\thm@indent\noindent % no indent + \thm@headfont{\bfseries}% heading font bold + \thm@notefont{\fontseries\mddefault\upshape}% + \thm@headpunct{.}% add period after heading + \thm@headsep 5\p@ plus\p@ minus\p@\relax + \thm@space@setup + #1% style overrides + \@topsep \thm@preskip % used by thm head + \@topsepadd \thm@postskip % used by \@endparenv + \def\@tempa{#2}\ifx\@empty\@tempa + \def\@tempa{\@oparg{\@begintheorem{#3}{}}[]}% + \else + \refstepcounter{#2}% + \def\@tempa{\@oparg{\@begintheorem{#3}{\csname the#2\endcsname}}[]}% + \fi + \@tempa +} +\def\@restorelabelsep{\relax} +\let\@ythm\relax +\let\thmname\@iden \let\thmnote\@iden \let\thmnumber\@iden +\providecommand\@upn{\textup} +\def\thmhead@plain#1#2#3{% + \thmname{#1}\thmnumber{\@ifnotempty{#1}{ }\@upn{#2}}% + \thmnote{ {\the\thm@notefont(#3)}}} +\let\thmhead\thmhead@plain +\def\swappedhead#1#2#3{% + \thmnumber{\@upn{\@secnumfont#2\@ifnotempty{#1}{.~}}}% + \thmname{#1}% + \thmnote{ {\the\thm@notefont(#3)}}} +\let\swappedhead@plain=\swappedhead +\let\thmheadnl\relax +\let\thm@indent\noindent +\let\thm@swap\@gobble +\def\@begintheorem#1#2[#3]{% + \deferred@thm@head{\the\thm@headfont \thm@indent + \@ifempty{#1}{\let\thmname\@gobble}{\let\thmname\@iden}% + \@ifempty{#2}{\let\thmnumber\@gobble}{\let\thmnumber\@iden}% + \@ifempty{#3}{\let\thmnote\@gobble}{\let\thmnote\@iden}% + \thm@swap\swappedhead\thmhead{#1}{#2}{#3}% + \the\thm@headpunct + \thmheadnl % possibly a newline. + \hskip\thm@headsep + }% + \ignorespaces} +\newskip\thm@headsep +\thm@headsep=5pt plus1pt minus1pt\relax +\let\adjust@parskip@nobreak=\@nbitem +\newtoks\dth@everypar +\dth@everypar={% + \@minipagefalse \global\@newlistfalse + \@noparitemfalse + \if@inlabel + \global\@inlabelfalse + \begingroup \setbox\z@\lastbox + \ifvoid\z@ \kern-\itemindent \fi + \endgroup + \unhbox\@labels + \fi + \if@nobreak \@nobreakfalse \clubpenalty\@M + \else \clubpenalty\@clubpenalty \everypar{}% + \fi +}% +\def\deferred@thm@head#1{% + \if@inlabel \indent \par \fi % eject a section head if one is pending + \if@nobreak + \adjust@parskip@nobreak + \else + \addpenalty\@beginparpenalty + \addvspace\@topsep + \addvspace{-\parskip}% + \fi + \global\@inlabeltrue + \everypar\dth@everypar + \sbox\@labels{\normalfont#1}% + \ignorespaces +} +\def\nonslanted{\relax + \@xp\let\@xp\@tempa\csname\f@shape shape\endcsname + \ifx\@tempa\itshape\upshape + \else\ifx\@tempa\slshape\upshape\fi\fi} +\def\swapnumbers{\edef\thm@swap{\if S\thm@swap N\else S\fi}} +\def\thm@swap{N}% +\let\@opargbegintheorem\relax +\def\th@plain{% +%% \let\thm@indent\noindent % no indent +%% \thm@headfont{\bfseries}% heading font is bold +%% \thm@notefont{}% same as heading font +%% \thm@headpunct{.}% add period after heading +%% \let\thm@swap\@gobble +%% \thm@preskip\topsep +%% \thm@postskip\theorempreskipamount + \itshape % body font +} +\def\th@definition{% + \normalfont % body font +} +\def\th@remark{% + \thm@headfont{\itshape}% + \normalfont % body font +} +\def\@endtheorem{\endtrivlist\@endpefalse } +\newcommand{\newtheoremstyle}[9]{% + \@ifempty{#5}{\dimen@\z@skip}{\dimen@#5\relax}% + \ifdim\dimen@=\z@ + \toks@{#4\let\thm@indent\noindent}% + \else + \toks@{#4\def\thm@indent{\noindent\hbox to#5{}}}% + \fi + \def\@tempa{#8}\ifx\space\@tempa + \toks@\@xp{\the\toks@ \thm@headsep\fontdimen\tw@\font\relax}% + \else + \def\@tempb{\newline}% + \ifx\@tempb\@tempa + \toks@\@xp{\the\toks@ \thm@headsep\z@skip + \def\thmheadnl{\newline}}% + \else + \toks@\@xp{\the\toks@ \thm@headsep#8\relax}% + \fi + \fi + \begingroup + \thm@space@setup + \@defaultunits\@tempskipa#2\thm@preskip\relax\@nnil + \@defaultunits\@tempskipb#3\thm@postskip\relax\@nnil + \xdef\@gtempa{\thm@preskip\the\@tempskipa + \thm@postskip\the\@tempskipb\relax}% + \endgroup + \@temptokena\@xp{\@gtempa + \thm@headfont{#6}\thm@headpunct{#7}% + }% + \@ifempty{#9}{% + \let\thmhead\thmhead@plain + }{% + \@namedef{thmhead@#1}##1##2##3{#9}% + \@temptokena\@xp{\the\@temptokena + \@xp\let\@xp\thmhead\csname thmhead@#1\endcsname}% + }% + \@xp\xdef\csname th@#1\endcsname{\the\toks@ \the\@temptokena}% +} +\DeclareRobustCommand{\qed}{% + \ifmmode \mathqed + \else + \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill + \quad\hbox{\qedsymbol}% + \fi +} +\let\QED@stack\@empty +\let\qed@elt\relax +\newcommand{\pushQED}[1]{% + \toks@{\qed@elt{#1}}\@temptokena\expandafter{\QED@stack}% + \xdef\QED@stack{\the\toks@\the\@temptokena}% +} +\newcommand{\popQED}{% + \begingroup\let\qed@elt\popQED@elt \QED@stack\relax\relax\endgroup +} +\def\popQED@elt#1#2\relax{#1\gdef\QED@stack{#2}} +\newcommand{\qedhere}{% + \begingroup \let\mathqed\math@qedhere + \let\qed@elt\setQED@elt \QED@stack\relax\relax \endgroup +} +\newif\ifmeasuring@ +\newif\iffirstchoice@ \firstchoice@true +\def\setQED@elt#1#2\relax{% + \ifmeasuring@ + \else \iffirstchoice@ \gdef\QED@stack{\qed@elt{}#2}\fi + \fi + #1% +} +\def\qed@warning{% + \PackageWarning{amsthm}{The \@nx\qedhere command may not work + correctly here}% +} +\newcommand{\mathqed}{\quad\hbox{\qedsymbol}} +\def\linebox@qed{\hfil\hbox{\qedsymbol}\hfilneg} +\@ifpackageloaded{amsmath}{% + \def\math@qedhere{% + \@ifundefined{\@currenvir @qed}{% + \qed@warning\quad\hbox{\qedsymbol}% + }{% + \@xp\aftergroup\csname\@currenvir @qed\endcsname + }% + } + \def\displaymath@qed{% + \relax + \ifmmode + \ifinner \aftergroup\linebox@qed + \else + \eqno + \let\eqno\relax \let\leqno\relax \let\veqno\relax + \hbox{\qedsymbol}% + \fi + \else + \aftergroup\linebox@qed + \fi + } + \@xp\let\csname equation*@qed\endcsname\displaymath@qed + \def\equation@qed{% + \iftagsleft@ + \hbox{\phantom{\quad\qedsymbol}}% + \gdef\alt@tag{% + \rlap{\hbox to\displaywidth{\hfil\qedsymbol}}% + \global\let\alt@tag\@empty + }% + \else + \gdef\alt@tag{% + \global\let\alt@tag\@empty + \vtop{\ialign{\hfil####\cr + \tagform@\theequation\cr + \qedsymbol\cr}}% + \setbox\z@ + }% + \fi + } + \def\qed@tag{% + \global\tag@true \nonumber + &\omit\setboxz@h {\strut@ \qedsymbol}\tagsleft@false + \place@tag@gather + \kern-\tabskip + \ifst@rred \else \global\@eqnswtrue \fi \global\advance\row@\@ne \cr + } + \def\split@qed{% + \def\endsplit{\crcr\egroup \egroup \ctagsplit@false \rendsplit@ + \aftergroup\align@qed + }% + } + \def\align@qed{% + \ifmeasuring@ \tag*{\qedsymbol}% + \else \let\math@cr@@@\qed@tag + \fi + } + \@xp\let\csname align*@qed\endcsname\align@qed + \@xp\let\csname gather*@qed\endcsname\align@qed +%% Needs some patching up for amsmath 1.2 +}{% end of amsmath branch, start plain LaTeX branch + \def\math@qedhere{% + \@ifundefined{\@currenvir @qed}{% + \qed@warning \aftergroup\displaymath@qed + }{% + \@xp\aftergroup\csname\@currenvir @qed\endcsname + }% + } + \def\displaymath@qed{% + \relax + \ifmmode + \ifinner \aftergroup\aftergroup\aftergroup\linebox@qed + \else + \eqno \def\@badmath{$$}% + \let\eqno\relax \let\leqno\relax \let\veqno\relax + \hbox{\qedsymbol}% + \fi + \else + \aftergroup\linebox@qed + \fi + } + \@ifundefined{ver@leqno.clo}{% + \def\equation@qed{\displaymath@qed \quad}% + }{% + \def\equation@qed{\displaymath@qed}% + } + \def\@tempa#1$#2#3\@nil{% + \def\[{#1$#2\def\@currenvir{displaymath}#3}% + }% + \expandafter\@tempa\[\@nil +} +\@ifpackageloaded{amstex}{% + \def\@tempa{TT}% +}{% + \@ifpackageloaded{amsmath}{% + \def\@tempb#1 v#2.#3\@nil{#2}% + \ifnum\@xp\@xp\@xp\@tempb\csname ver@amsmath.sty\endcsname v0.0\@nil + <\tw@ + \def\@tempa{TT}% + \else + \def\@tempa{TF}% + \fi + }{% + \def\@tempa{TF} + }% +} +\if\@tempa + \renewcommand{\math@qedhere}{\quad\hbox{\qedsymbol}}% +\fi +\newcommand{\openbox}{\leavevmode + \hbox to.77778em{% + \hfil\vrule + \vbox to.675em{\hrule width.6em\vfil\hrule}% + \vrule\hfil}} +\DeclareRobustCommand{\textsquare}{% + \begingroup \usefont{U}{msa}{m}{n}\thr@@\endgroup +} +\@ifclasswith{\@classname}{noamsfonts}{% + \providecommand{\qedsymbol}{\openbox}% +}{} +\providecommand{\qedsymbol}{\textsquare} +\newenvironment{proof}[1][\proofname]{\par + \pushQED{\qed}% + \normalfont \topsep6\p@\@plus6\p@\relax + \trivlist + \item[\hskip\labelsep + \itshape + #1\@addpunct{.}]\ignorespaces +}{% + \popQED\endtrivlist\@endpefalse +} +\providecommand{\proofname}{Proof} +\def\bb@skip#1{% + \skip@#1\relax \advance\skip@-\prevdepth \advance\skip@-\baselineskip + \vskip\skip@} +\def\markleft#1{{\let\protect\noexpand + \let\label\relax \let\index\relax \let\glossary\relax + \expandafter\@markleft\@themark{#1}% + \mark{\@themark}}% + \if@nobreak\ifvmode\nobreak\fi\fi} +\def\@markleft#1#2#3{\gdef\@themark{{#3}{#2}}} +\def\@tempa{} +\edef\@dh{% + \noexpand\mathhexbox{\hexnumber@\symAMSb}67} +\DeclareTextCommand{\dh}{OT1}{% + \edef\@tempb{\scdefault}% + \ifx\f@shape\@tempb + \leavevmode + \raisebox{-.8ex}{\makebox[\z@][l]{\hskip-.08em\accent"16\hss}}d% + \else + \@dh + \fi +} +\DeclareTextCommand{\DH}{OT1}{% + \leavevmode\raisebox{-.5ex}{\makebox[\z@][l]{\hskip-.07em\accent"16\hss}}D} +\DeclareTextCommand{\DJ}{OT1}{% + \leavevmode\raisebox{-.5ex}{\makebox[\z@][l]{\hskip-.07em\accent"16\hss}}D} +\DeclareTextCommand{\dj}{OT1}{% + \edef\@tempa{\f@shape}\edef\@tempb{\scdefault}% + \ifx\@tempa\@tempb + \leavevmode + \raisebox{-.75ex}{\makebox[\z@][l]{\hskip-.08em\accent"16\hss}}d% + \else + \leavevmode\raisebox{.02ex}{\makebox[\z@][l]{\hskip.1em\accent"16\hss}}d% + \fi} +\hyphenation{acad-e-my acad-e-mies af-ter-thought anom-aly anom-alies +an-ti-deriv-a-tive an-tin-o-my an-tin-o-mies apoth-e-o-ses +apoth-e-o-sis ap-pen-dix ar-che-typ-al as-sign-a-ble as-sist-ant-ship +as-ymp-tot-ic asyn-chro-nous at-trib-uted at-trib-ut-able bank-rupt +bank-rupt-cy bi-dif-fer-en-tial blue-print busier busiest +cat-a-stroph-ic cat-a-stroph-i-cally con-gress cross-hatched data-base +de-fin-i-tive de-riv-a-tive dis-trib-ute dri-ver dri-vers eco-nom-ics +econ-o-mist elit-ist equi-vari-ant ex-quis-ite ex-tra-or-di-nary +flow-chart for-mi-da-ble forth-right friv-o-lous ge-o-des-ic +ge-o-det-ic geo-met-ric griev-ance griev-ous griev-ous-ly +hexa-dec-i-mal ho-lo-no-my ho-mo-thetic ideals idio-syn-crasy +in-fin-ite-ly in-fin-i-tes-i-mal ir-rev-o-ca-ble key-stroke +lam-en-ta-ble light-weight mal-a-prop-ism man-u-script mar-gin-al +meta-bol-ic me-tab-o-lism meta-lan-guage me-trop-o-lis +met-ro-pol-i-tan mi-nut-est mol-e-cule mono-chrome mono-pole +mo-nop-oly mono-spline mo-not-o-nous mul-ti-fac-eted mul-ti-plic-able +non-euclid-ean non-iso-mor-phic non-smooth par-a-digm par-a-bol-ic +pa-rab-o-loid pa-ram-e-trize para-mount pen-ta-gon phe-nom-e-non +post-script pre-am-ble pro-ce-dur-al pro-hib-i-tive pro-hib-i-tive-ly +pseu-do-dif-fer-en-tial pseu-do-fi-nite pseu-do-nym qua-drat-ic +quad-ra-ture qua-si-smooth qua-si-sta-tion-ary qua-si-tri-an-gu-lar +quin-tes-sence quin-tes-sen-tial re-arrange-ment rec-tan-gle +ret-ri-bu-tion retro-fit retro-fit-ted right-eous right-eous-ness +ro-bot ro-bot-ics sched-ul-ing se-mes-ter semi-def-i-nite +semi-ho-mo-thet-ic set-up se-vere-ly side-step sov-er-eign spe-cious +spher-oid spher-oid-al star-tling star-tling-ly sta-tis-tics +sto-chas-tic straight-est strange-ness strat-a-gem strong-hold +sum-ma-ble symp-to-matic syn-chro-nous topo-graph-i-cal tra-vers-a-ble +tra-ver-sal tra-ver-sals treach-ery turn-around un-at-tached +un-err-ing-ly white-space wide-spread wing-spread wretch-ed +wretch-ed-ly Eng-lish Euler-ian Feb-ru-ary Gauss-ian +Hamil-ton-ian Her-mit-ian Jan-u-ary Japan-ese Kor-te-weg +Le-gendre Mar-kov-ian Noe-ther-ian No-vem-ber Rie-mann-ian Sep-tem-ber} +\def\calclayout{\advance\textheight -\headheight + \advance\textheight -\headsep + \oddsidemargin\paperwidth + \advance\oddsidemargin -\textwidth + \divide\oddsidemargin\tw@ + \ifdim\oddsidemargin<.5truein \oddsidemargin.5truein \fi + \advance\oddsidemargin -1truein + \evensidemargin\oddsidemargin + \topmargin\paperheight \advance\topmargin -\textheight + \advance\topmargin -\headheight \advance\topmargin -\headsep + \divide\topmargin\tw@ + \ifdim\topmargin<.5truein \topmargin.5truein \fi + \advance\topmargin -1truein\relax +} +\InputIfFileExists{amsart.cfg}{}{% + \calclayout % initialize + \pagenumbering{arabic}% + \pagestyle{headings}% + \thispagestyle{plain}% +} +\if@compatibility \else\endinput\fi +\def\tiny{\Tiny} +\def\defaultfont{\normalfont} +\def\rom{\textup} +\let\@newpf\proof \let\proof\relax \let\endproof\relax +\newenvironment{pf}{\@newpf[\proofname]}{\popQED\endtrivlist} +\newenvironment{pf*}[1]{\@newpf[#1]}{\popQED\endtrivlist} +\endinput +%% +%% End of file `amsart.cls'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amsbook.cls b/Master/texmf-dist/tex/latex/amslatex/amsbook.cls new file mode 100644 index 00000000000..bce71739d58 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amsbook.cls @@ -0,0 +1,1871 @@ +%% +%% This is file `amsbook.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsclass.dtx (with options: `amsbook,classes') +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsclass.dtx", +%%% version = "2.20", +%%% date = "2004/08/06", +%%% time = "13:03:53 EDT", +%%% checksum = "53558 5204 20497 185872", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 1999, 2004 +%%% American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Publications Technical Group, +%%% 201 Charles Street, +%%% Providence, RI 02904, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, AMS, documentclass, theorem", +%%% supported = "yes", +%%% abstract = "This is the source for the amsthm package and three +%%% AMS document classes: amsart, amsproc, and amsbook. +%%% They are designed for use with LaTeX.", +%%% docstring = "The checksum field above contains a CRC-16 checksum +%%% as the first value, followed by the equivalent of +%%% the standard UNIX wc (word count) utility output of +%%% lines, words, and characters. This is produced by +%%% Robert Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1995/06/01]% LaTeX date must be June 1995 or later +\ProvidesClass{amsbook}[2004/08/06 v2.20] +\global\expandafter\let\csname ver@amsthm.sty\expandafter\endcsname + \csname ver@\@currname.\@currext\endcsname +\let\@xp=\expandafter +\let\@nx=\noexpand +\def\@oparg#1[#2]{\@ifnextchar[{#1}{#1[#2]}} +\long\def\@ifempty#1{\@xifempty#1@@..\@nil} +\long\def\@xifempty#1#2@#3#4#5\@nil{% + \ifx#3#4\@xp\@firstoftwo\else\@xp\@secondoftwo\fi} +\long\def\@ifnotempty#1{\@ifempty{#1}{}} +\def\setboxz@h{\setbox\z@\hbox} +\def\@addpunct#1{% + \relax\ifhmode + \ifnum\spacefactor>\@m \else#1\fi + \fi} +\def\nopunct{\spacefactor 1007 } +\def\frenchspacing{\sfcode`\.1006\sfcode`\?1005\sfcode`\!1004% + \sfcode`\:1003\sfcode`\;1002\sfcode`\,1001 } +\def\@tempa#1#2\@nil{\edef\@classname{#1}} +\expandafter\@tempa\@currnamestack{}{}{}\@nil +\ifx\@classname\@empty \edef\@classname{\@currname}\fi +\def\@True{00} +\def\@False{01} +\newcommand\newswitch[2][False]{% + \expandafter\@ifdefinable\csname ?@#2\endcsname{% + \global\expandafter\let\csname ?@#2\expandafter\endcsname + \csname @#1\endcsname + }% +} +\newcommand{\setFalse}[1]{% + \expandafter\let\csname ?@#1\endcsname\@False +} +\newcommand{\setTrue}[1]{% + \expandafter\let\csname ?@#1\endcsname\@True +} +\newswitch{} +\DeclareRobustCommand{\except}[1]{% + \if\csname ?@#1\endcsname \expandafter\@gobble + \else \expandafter\@firstofone + \fi +} +\DeclareRobustCommand{\for}[1]{% + \if\csname ?@#1\endcsname \expandafter\@firstofone + \else \expandafter\@gobble + \fi +} +\DeclareRobustCommand{\forany}[1]{% + \csname for@any@01\endcsname#1,?,\@nil +} +\@namedef{for@any@\@False}#1,{% + \csname for@any@% + \csname ?@\zap@space#1 \@empty\endcsname + \endcsname +} +\@namedef{?@?}{x} +\@namedef{for@any@\@True}#1\@nil#2{#2} +\def\for@any@x{\@car\@gobble} +\DeclareOption{a4paper}{\paperheight 297mm\paperwidth 210mm + \textheight 54.5pc } +\DeclareOption{letterpaper}{\paperheight 11in\paperwidth 8.5in } +\DeclareOption{landscape}{\@tempdima\paperheight + \paperheight\paperwidth \paperwidth\@tempdima} +\DeclareOption{portrait}{} +\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} +\DeclareOption{draft}{\overfullrule5\p@ + \ClassWarningNoLine{\@classname}{% + When the draft option is used, the + \protect\includegraphics\MessageBreak + command will print blank placeholder boxes\MessageBreak + for the graphics}% +} +\DeclareOption{final}{\overfullrule\z@ } +\def\dateposted#1{\def\@dateposted{#1}}% +\let\@dateposted\@empty +\newif\if@titlepage +\DeclareOption{titlepage}{\@titlepagetrue} +\DeclareOption{notitlepage}{\@titlepagefalse} +\newif\if@openright +\DeclareOption{openright}{\@openrighttrue} +\DeclareOption{openany}{\@openrightfalse} +\@openrighttrue +\DeclareOption{onecolumn}{\@twocolumnfalse} +\DeclareOption{twocolumn}{\@twocolumntrue} +\DeclareOption{nomath}{} +\DeclareOption{noamsfonts}{} +\DeclareOption{psamsfonts}{% + \PassOptionsToPackage{psamsfonts}{amsfonts}% + \PassOptionsToPackage{cmex10}{amsmath}} +\newif\iftagsleft@ +\DeclareOption{leqno}{% + \tagsleft@true \PassOptionsToPackage{leqno}{amsmath}} +\DeclareOption{reqno}{% + \tagsleft@false \PassOptionsToPackage{reqno}{amsmath}} +\newif\ifctagsplit@ +\DeclareOption{centertags}{% + \ctagsplit@true \PassOptionsToPackage{centertags}{amsmath}} +\DeclareOption{tbtags}{% + \ctagsplit@false \PassOptionsToPackage{tbtags}{amsmath}} +\DeclareOption{fleqn}{}% +\newcommand{\@mainsize}{10} +\newcommand{\@ptsize}{0} +\newcommand{\larger}[1][1]{% + \count@\@currsizeindex \advance\count@#1\relax + \ifnum\count@<\z@ \count@\z@ \else\ifnum\count@>12 \count@12 \fi\fi + \ifcase\count@ + \Tiny\or\Tiny\or\tiny\or\SMALL\or\Small\or\small + \or\normalsize + \or\large\or\Large\or\LARGE\or\huge\or\Huge\else\Huge + \fi +} +\newcommand{\smaller}[1][1]{\larger[-#1]} +\def\@adjustvertspacing{% + \bigskipamount.7\baselineskip plus.7\baselineskip + \medskipamount\bigskipamount \divide\medskipamount\tw@ + \smallskipamount\medskipamount \divide\smallskipamount\tw@ + \abovedisplayskip\medskipamount + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip\abovedisplayskip + \advance\abovedisplayshortskip-1\abovedisplayskip + \belowdisplayshortskip\abovedisplayshortskip + \advance\belowdisplayshortskip 1\smallskipamount + \jot\baselineskip \divide\jot 4 \relax +} +\renewcommand\normalsize{\@xsetfontsize\normalsize 6% + \@adjustvertspacing \let\@listi\@listI} +\DeclareRobustCommand{\Tiny}{\@xsetfontsize\Tiny 1} +\DeclareRobustCommand{\tiny}{\@xsetfontsize\tiny 2} +\DeclareRobustCommand{\SMALL}{\@xsetfontsize\SMALL 3} +\DeclareRobustCommand{\Small}{\@xsetfontsize\Small 4% + \@adjustvertspacing + \def\@listi{\topsep\smallskipamount \parsep\z@skip \itemsep\z@skip + \leftmargin=\leftmargini + \labelwidth=\leftmargini \advance\labelwidth-\labelsep + }% +} +\DeclareRobustCommand{\small}{\@xsetfontsize\small 5\@adjustvertspacing} +\def\footnotesize{\Small} +\def\scriptsize{\SMALL} +\DeclareRobustCommand{\large}{\@xsetfontsize\large 7\@adjustvertspacing} +\DeclareRobustCommand{\Large}{\@xsetfontsize\Large 8\@adjustvertspacing} +\DeclareRobustCommand{\LARGE}{\@xsetfontsize\LARGE 9} +\DeclareRobustCommand{\huge}{\@xsetfontsize\huge{10}} +\DeclareRobustCommand{\Huge}{\@xsetfontsize\Huge{11}} +\def\@xsetfontsize#1#2{% + \chardef\@currsizeindex#2\relax + \edef\@tempa{\@nx\@setfontsize\@nx#1% + \@xp\ifcase\@xp\@currsizeindex\@typesizes + \else{99}{99}\fi}% + \@tempa +} +\chardef\@currsizeindex=6 +\widowpenalty=10000 +\clubpenalty=10000 +\brokenpenalty=10000 +\newdimen\linespacing +\lineskip=1pt \lineskiplimit=1pt +\normallineskip=1pt \normallineskiplimit=1pt +\let\baselinestretch=\@empty +\headheight=8pt \headsep=14pt +\footskip=18pt +\textheight=50.5pc \topskip=10pt +\textwidth=30pc +\columnsep=10pt \columnseprule=0pt +\marginparwidth=90pt +\marginparsep=11pt +\marginparpush=5pt +\AtBeginDocument{\settoheight{\footnotesep}{\footnotesize M$^1$}} +\skip\footins=7pt plus11pt +\skip\@mpfootins=\skip\footins +\fboxsep=3pt \fboxrule=.4pt +\arrayrulewidth=.4pt \doublerulesep=2pt +\labelsep=5pt \arraycolsep=\labelsep +\tabcolsep=\labelsep \tabbingsep=\labelsep +\floatsep=15pt plus 12pt \dblfloatsep=15pt plus 12pt +\textfloatsep=\floatsep \dbltextfloatsep=15pt plus 12pt +\intextsep=\floatsep +\@fptop=0pt plus1fil \@dblfptop=0pt plus1fil +\@fpbot=0pt plus1fil \@dblfpbot=0pt plus1fil +\@fpsep=8pt plus2fil \@dblfpsep=8pt plus2fil\relax +\parskip=0pt \relax +\newdimen\normalparindent +\normalparindent=18pt +\parindent=\normalparindent +\partopsep=0pt \relax \parsep=0pt \relax \itemsep=0pt \relax +\@lowpenalty=51 \@medpenalty=151 \@highpenalty=301 +\@beginparpenalty=-\@lowpenalty +\@endparpenalty=-\@lowpenalty +\@itempenalty=-\@lowpenalty +\DeclareOption{10pt}{\def\@mainsize{10}\def\@ptsize{0}% + \def\@typesizes{% + \or{5}{6}\or{6}{7}\or{7}{8}\or{8}{10}\or{9}{11}% + \or{10}{12}% normalsize + \or{\@xipt}{13}\or{\@xiipt}{14}\or{\@xivpt}{17}% + \or{\@xviipt}{20}\or{\@xxpt}{24}}% + \normalsize \linespacing=\baselineskip +} +\DeclareOption{11pt}{\def\@mainsize{11}\def\@ptsize{1}% + \def\@typesizes{% + \or{6}{7}\or{7}{8}\or{8}{10}\or{9}{11}\or{10}{12}% + \or{\@xipt}{13}% normalsize + \or{\@xiipt}{14}\or{\@xivpt}{17}\or{\@xviipt}{20}% + \or{\@xxpt}{24}\or{\@xxvpt}{30}}% + \normalsize \linespacing=\baselineskip +} +\DeclareOption{12pt}{\def\@mainsize{12}\def\@ptsize{2}% + \def\@typesizes{% + \or{7}{8}\or{8}{10}\or{9}{11}\or{10}{12}\or{\@xipt}{13}% + \or{\@xiipt}{14}% normalsize + \or{\@xivpt}{17}\or{\@xviipt}{20}\or{\@xxpt}{24}% + \or{\@xxvpt}{30}\or{\@xxvpt}{30}}% + \normalsize \linespacing=\baselineskip +} +\DeclareOption{8pt}{\def\@mainsize{8}\def\@ptsize{8}% + \def\@typesizes{% + \or{5}{6}\or{5}{6}\or{5}{6}\or{6}{7}\or{7}{8}% + \or{8}{10}% normalsize + \or{9}{11}\or{10}{12}\or{\@xipt}{13}% + \or{\@xiipt}{14}\or{\@xivpt}{17}}% + \normalsize \linespacing=\baselineskip +} +\DeclareOption{9pt}{\def\@mainsize{9}\def\@ptsize{9}% + \def\@typesizes{% + \or{5}{6}\or{5}{6}\or{6}{7}\or{7}{8}\or{8}{10}% + \or{9}{11}% normalsize + \or{10}{12}\or{\@xipt}{13}\or{\@xiipt}{14}% + \or{\@xivpt}{17}\or{\@xviipt}{20}}% + \normalsize \linespacing=\baselineskip +} +\def\ps@empty{\let\@mkboth\@gobbletwo + \let\@oddhead\@empty \let\@evenhead\@empty + \let\@oddfoot\@empty \let\@evenfoot\@empty + \global\topskip\normaltopskip} +\def\ps@plain{\ps@empty + \def\@oddfoot{\normalfont\scriptsize \hfil\thepage\hfil}% + \let\@evenfoot\@oddfoot} +\newswitch{runhead} +\def\ps@headings{\ps@empty + \def\@evenhead{% + \setTrue{runhead}% + \normalfont\scriptsize + \rlap{\thepage}\hfil + \def\thanks{\protect\thanks@warning}% + \leftmark{}{}\hfil}% + \def\@oddhead{% + \setTrue{runhead}% + \normalfont\scriptsize \hfil + \def\thanks{\protect\thanks@warning}% + \rightmark{}{}\hfil \llap{\thepage}}% + \let\@mkboth\markboth + \def\partmark{\@secmark\markboth\partrunhead\partname}% + \def\chaptermark{% + \@secmark\markboth\chapterrunhead{}}% + \def\sectionmark{% + \@secmark\markright\sectionrunhead\sectionname}% +} +\let\sectionname\@empty +\let\subsectionname\@empty +\let\subsubsectionname\@empty +\let\paragraphname\@empty +\let\subparagraphname\@empty +\def\leftmark{\expandafter\@firstoftwo\topmark{}{}} +\def\rightmark{\expandafter\@secondoftwo\botmark{}{}} +\long\def\@nilgobble#1\@nil{} +\def\@secmark#1#2#3#4{% + \begingroup \let\protect\@unexpandable@protect + \edef\@tempa{\endgroup \toks@{\protect#2{#3}{\@secnumber}}}% + \@tempa + \toks@\@xp{\the\toks@{#4}}% + \afterassignment\@nilgobble\@temptokena\@themark{}\@nil + \edef\@tempa{\@nx\@mkboth{% + \ifx\markright#1\the\@temptokena\else\the\toks@\fi}{\the\toks@}}% + \@tempa} +\let\@secnumber\@empty +\def\markboth#1#2{% + \begingroup + \@temptokena{{#1}{#2}}\xdef\@themark{\the\@temptokena}% + \mark{\the\@temptokena}% + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi} +\def\ps@myheadings{\ps@headings \let\@mkboth\@gobbletwo} +\newskip\normaltopskip +\normaltopskip=10pt \relax +\let\sectionmark\@gobble +\let\subsectionmark\@gobble +\let\subsubsectionmark\@gobble +\let\paragraphmark\@gobble + +\DeclareOption{makeidx}{} +\ExecuteOptions{leqno,centertags,letterpaper,portrait,% + 10pt,twoside,onecolumn,final} +\ProcessOptions\relax +\if@compatibility + \def\@tempa{\RequirePackage{amstex}\relax}% +\else + \@ifclasswith{\@classname}{nomath}{% + \let\@tempa\relax + }{% + \def\@tempa{\RequirePackage{amsmath}\relax}% + }% +\fi +\@tempa % load amstex.sty or amsmath.sty +\@ifundefined{numberwithin}{% + \newcommand{\numberwithin}[3][\arabic]{% + \@ifundefined{c@#2}{\@nocounterr{#2}}{% + \@ifundefined{c@#3}{\@nocnterr{#3}}{% + \@addtoreset{#2}{#3}% + \@xp\xdef\csname the#2\endcsname{% + \@xp\@nx\csname the#3\endcsname .\@nx#1{#2}}}}% + } + \csname newtoks\endcsname\@emptytoks +}{} +\if@compatibility +\else + \@ifclasswith{\@classname}{noamsfonts}{% + % amsfonts package is not wanted + }{% + % amsfonts package IS wanted; test whether a recent enough version + % seems to be installed + \begingroup \fontencoding{U}\fontfamily{msa}\try@load@fontshape\endgroup + \global\@xp\let\csname U+msa\endcsname\relax % reset + \@ifundefined{U/msa/m/n}{% + \ClassError{\@classname}{% + Package `amsfonts' not installed, or version too old?\MessageBreak + Unable to get font info for the `msam' fonts in the expected form% + }{% + The amsfonts package will not be loaded, to avoid probable\MessageBreak + incompatibility problems. You can (a) use the `noamsfonts' + documentclass\MessageBreak + option next time, or (b) check that the amsfonts package is + installed\MessageBreak + correctly, and is not too old to be compatible.% + }% + }{% + \RequirePackage{amsfonts}[1995/01/01]\relax + }% + } +\fi % end yesamsfonts branch +\let\cleardouble@page\cleardoublepage +\AtBeginDocument{% + \ifx\cleardouble@page\cleardoublepage + \def\cleardoublepage{\clearpage{\pagestyle{empty}\cleardouble@page}} + \fi +} +\newcommand{\uppercasenonmath}[1]{\toks@\@emptytoks + \@xp\@skipmath\@xp\@empty#1$$% + \edef#1{{\@nx\protect\@nx\@upprep\the\toks@}}% +} +\newcommand{\@upprep}{% + \spaceskip1.3\fontdimen2\font plus1.3\fontdimen3\font + \upchars@} +\newcommand{\upchars@}{% + \def\ss{SS}\def\i{I}\def\j{J}\def\ae{\AE}\def\oe{\OE}% + \def\o{\O}\def\aa{\AA}\def\l{\L}\def\Mc{M{\scshape c}}} +\providecommand{\Mc}{Mc} +\newcommand{\@skipmath}{} +\long\def\@skipmath#1$#2${% + \@xskipmath#1\(\)% + \@ifnotempty{#2}{\toks@\@xp{\the\toks@$#2$}\@skipmath\@empty}}% +\newcommand{\@xskipmath}{} +\long\def\@xskipmath#1\(#2\){% + \uppercase{\toks@\@xp\@xp\@xp{\@xp\the\@xp\toks@#1}}% + \@ifnotempty{#2}{\toks@\@xp{\the\toks@\(#2\)}\@xskipmath\@empty}}% +\def\altucnm#1{% + \MakeTextUppercase{\toks@{#1}}% + \edef#1{\the\toks@}% +} +\AtBeginDocument{% + \@ifundefined{MakeTextUppercase}{}{\let\uppercasenonmath\altucnm}% +} +\@ifundefined{MakeUppercase}{\let\MakeUppercase\uppercase}{}% +\newcommand{\today}{% + \relax\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +%%\if@compatibility +%%\else +%% \def\@obsolete@fontswitch#1#2#3{% +%% \@latex@warning@no@line{% +%% Command {\string#1...}\on@line\space is obsolete;\MessageBreak +%% the LaTeX2e equivalent is \string#3{...}}% +%% \gdef#1{\@fontswitch\relax#3}% +%% } +%% \DeclareRobustCommand*\cal{% +%% \@xp\@obsolete@fontswitch\csname cal \endcsname\relax\mathcal} +%% \DeclareRobustCommand*\mit{% +%% \@xp\@obsolete@fontswitch\csname mit \endcsname\relax\mathnormal} +%%\fi +\renewcommand*{\title}[2][]{\gdef\shorttitle{#1}\gdef\@title{#2}} +\edef\title{\@nx\@dblarg + \@xp\@nx\csname\string\title\endcsname} +\renewcommand{\author}[2][]{% + \ifx\@empty\authors + \gdef\authors{#2}% + \else + \g@addto@macro\authors{\and#2}% + \g@addto@macro\addresses{\author{}}% + \fi + \@ifnotempty{#1}{% + \ifx\@empty\shortauthors + \gdef\shortauthors{#1}% + \else + \g@addto@macro\shortauthors{\and#1}% + \fi + }% +} +\edef\author{\@nx\@dblarg + \@xp\@nx\csname\string\author\endcsname} +\let\shortauthors\@empty \let\authors\@empty +\let\addresses\@empty \let\thankses\@empty +\newcommand{\address}[2][]{\g@addto@macro\addresses{\address{#1}{#2}}} +\newcommand{\curraddr}[2][]{\g@addto@macro\addresses{\curraddr{#1}{#2}}} +\newcommand{\email}[2][]{\g@addto@macro\addresses{\email{#1}{#2}}} +\newcommand{\urladdr}[2][]{\g@addto@macro\addresses{\urladdr{#1}{#2}}} +\long\def\thanks@warning#1{% + \ClassError{\@classname}{% + \protect\thanks\space should be given separately, not inside author name.% + }\@ehb +} +\renewcommand{\thanks}[1]{% + \@ifnotempty{#1}{\g@addto@macro\thankses{\thanks{#1}}}% +} +\def\curraddrname{{\itshape Current address}} +\def\emailaddrname{{\itshape E-mail address}} +\def\urladdrname{{\itshape URL}} +\def\@setaddresses{\par + \nobreak \begingroup + \def\author##1{\nobreak\addvspace\bigskipamount}% + \def\\{\unskip, \ignorespaces}% + \interlinepenalty\@M + \def\address##1##2{\begingroup + \par\addvspace\bigskipamount\indent + \@ifnotempty{##1}{(\ignorespaces##1\unskip) }% + {\scshape\ignorespaces##2}\par\endgroup}% + \def\curraddr##1##2{\begingroup + \@ifnotempty{##2}{\nobreak\indent\curraddrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space + ##2\par}\endgroup}% + \def\email##1##2{\begingroup + \@ifnotempty{##2}{\nobreak\indent\emailaddrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space + \ttfamily##2\par}\endgroup}% + \def\urladdr##1##2{\begingroup + \def~{\char`\~}% + \@ifnotempty{##2}{\nobreak\indent\urladdrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space + \ttfamily##2\par}\endgroup}% + \addresses + \endgroup +} +\let\@date\@empty +\def\dedicatory#1{\def\@dedicatory{#1}} +\let\@dedicatory=\@empty +\def\keywords#1{\def\@keywords{#1}} +\let\@keywords=\@empty +\newcommand*\subjclass[2][1991]{% + \def\@subjclass{#2}% + \@ifundefined{subjclassname@#1}{% + \ClassWarning{\@classname}{Unknown edition (#1) of Mathematics + Subject Classification; using '1991'.}% + }{% + \@xp\let\@xp\subjclassname\csname subjclassname@#1\endcsname + }% +} +\let\@subjclass=\@empty +\def\translname{Translated by} +\def\translator#1{% + \ifx\@empty\@translators \def\@translators{#1}% + \else\g@addto@macro\@translators{\and#1}\fi} +\let\@translators=\@empty +\newcommand{\xandlist}[4]{\@andlista{{#1}{#2}{#3}}#4\and\and} +\def\@andlista#1#2\and#3\and{\@andlistc{#2}\@ifnotempty{#3}{% + \@andlistb#1{#3}}} +\def\@andlistb#1#2#3#4#5\and{% + \@ifempty{#5}{% + \@andlistc{#2#4}% + }{% + \@andlistc{#1#4}\@andlistb{#1}{#3}{#3}{#5}% + }} +\let\@andlistc\@iden +\newcommand{\nxandlist}[4]{% + \def\@andlistc##1{\toks@\@xp{\the\toks@##1}}% + \toks@{\toks@\@emptytoks \@andlista{{#1}{#2}{#3}}}% + \the\@xp\toks@#4\and\and + \edef#4{\the\toks@}% + \let\@andlistc\@iden} +\def\@@and{and} +\newcommand{\andify}{% + \nxandlist{\unskip, }{\unskip{} \@@and~}{\unskip, \@@and~}} +\def\and{\unskip{ }\@@and{ }\ignorespaces} +\newcommand{\copyrightinfo}[2]{% + \def\copyrightyear{#1}% + \@ifnotempty{#2}{\def\copyrightholder{#2}}% +} +\copyrightinfo{0000}{(copyright holder)} +\newinsert\copyins +\skip\copyins=1.5pc +\count\copyins=1000 % magnification factor, 1000 = 100% +\dimen\copyins=.5\textheight % maximum allowed per page +\g@addto@macro\@reinserts{% + \ifvoid\copyins\else\insert\copyins{\unvbox\copyins}\fi +} +\def\@copyinsfontsize{\fontsize{6}{7\p@}\normalfont\upshape} +\newif\if@extracrline \@extracrlinefalse +\let\@extracrline\@empty +\relax +\def\@setcopyright{% + \ifx\@empty\@serieslogo + \else\ifx\@empty\copyrightyear + \else + \insert\copyins{\hsize\textwidth + \parfillskip\z@\relax + \leftskip\z@\@plus.9\textwidth\relax \rightskip\z@\relax + \@copyinsfontsize + \everypar{}% + \vskip-\skip\copyins + \if@extracrline + \vskip-6pt + \fi + \nointerlineskip + \leavevmode\hfill\vrule\@width\z@\@height\skip\copyins + \copyright\copyrightyear\ \copyrightholder\ignorespaces + \if@extracrline \@extracrline \fi + \par + \kern\z@}% + \fi\fi +} +\def\@combinefloats{% + \ifx \@toplist\@empty \else \@cflt \fi + \ifx \@botlist\@empty \else \@cflb \fi + \ifvoid\copyins \else \@cflci \fi +} +\def\@cflci{% + \setbox\@outputbox\vbox{% + \unvbox\@outputbox + \vskip\skip\copyins + \if@twocolumn \else \vskip\z@ plus\p@ \fi + \hbox to\columnwidth{% + \hss\vbox to\z@{\vss + \if@twocolumn + \if@firstcolumn \else \unvbox\copyins \fi + \else + \unvbox\copyins + \fi + }}}% + \if@twocolumn \if@firstcolumn + \insert\copyins{\unvbox\copyins}% + \fi\fi + \global\count\copyins=999 \relax +} +\newcommand{\abstractname}{Abstract} +\newcommand{\keywordsname}{Key words and phrases} +\newcommand{\subjclassname}{% + \textup{1991} Mathematics Subject Classification} +\@xp\let\csname subjclassname@1991\endcsname \subjclassname +\@namedef{subjclassname@2000}{% + \textup{2000} Mathematics Subject Classification} +\def\@tempb{amsbook} +\ifx\@classname\@tempb + \newcommand{\datename}{\textit{Date}:} +\else + \newcommand{\datename}{Received by the editors} +\fi +\def\@setthanks{\def\thanks##1{\par##1\@addpunct.}\thankses} +\newbox\abstractbox +\newenvironment{abstract}{% + \ifx\maketitle\relax + \ClassWarning{\@classname}{Abstract should precede + \protect\maketitle\space in AMS document classes; reported}% + \fi + \global\setbox\abstractbox=\vtop \bgroup + \normalfont\Small + \list{}{\labelwidth\z@ + \leftmargin3pc \rightmargin\leftmargin + \listparindent\normalparindent \itemindent\z@ + \parsep\z@ \@plus\p@ + \let\fullwidthdisplay\relax + }% + \item[\hskip\labelsep\scshape\abstractname.]% +}{% + \endlist\egroup + \ifx\@setabstract\relax \@setabstracta \fi +} +\def\@setabstract{\@setabstracta \global\let\@setabstract\relax} +\def\@setabstracta{% + \ifvoid\abstractbox + \else + \skip@20\p@ \advance\skip@-\lastskip + \advance\skip@-\baselineskip \vskip\skip@ + \box\abstractbox + \prevdepth\z@ % because \abstractbox is a vtop + \fi +} +\def\titlepage{% + \cleardoublepage + \thispagestyle{empty}\setcounter{page}{0}} +\def\endtitlepage{\newpage} +\def\labelenumi{(\theenumi)} +\def\theenumi{\@arabic\c@enumi} +\def\labelenumii{(\theenumii)} +\def\theenumii{\@alph\c@enumii} +\def\p@enumii{\theenumi} +\def\labelenumiii{(\theenumiii)} +\def\theenumiii{\@roman\c@enumiii} +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{(\theenumiv)} +\def\theenumiv{\@Alph\c@enumiv} +\def\p@enumiv{\p@enumiii\theenumiii} +\def\labelitemi{$\m@th\bullet$} +\def\labelitemii{\bfseries --}% \upshape already done by \itemize +\def\labelitemiii{$\m@th\ast$} +\def\labelitemiv{$\m@th\cdot$} +\newenvironment{verse}{\let\\\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em\listparindent\itemindent + \rightmargin\leftmargin \advance\leftmargin 1.5em}\item[]% +}{% + \endlist +} +\let\endverse=\endlist % for efficiency +\newenvironment{quotation}{\list{}{% + \leftmargin3pc \listparindent\normalparindent + \itemindent\z@ + \rightmargin\leftmargin \parsep\z@ \@plus\p@}% + \item[]% +}{% + \endlist +} +\let\endquotation=\endlist % for efficiency +\newenvironment{quote}{% + \list{}{\rightmargin\leftmargin}\item[]% +}{% + \endlist +} +\let\endquote=\endlist % for efficiency +\def\trivlist{\parsep\parskip\@nmbrlistfalse + \@trivlist \labelwidth\z@ \leftmargin\z@ + \itemindent\z@ + \let\@itemlabel\@empty + \def\makelabel##1{\upshape##1}} +\renewenvironment{enumerate}{% + \ifnum \@enumdepth >3 \@toodeep\else + \advance\@enumdepth \@ne + \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list + {\csname label\@enumctr\endcsname}{\usecounter + {\@enumctr}\def\makelabel##1{\hss\llap{\upshape##1}}}\fi +}{% + \endlist +} +\let\endenumerate=\endlist % for efficiency +\renewenvironment{itemize}{% + \ifnum\@itemdepth>3 \@toodeep + \else \advance\@itemdepth\@ne + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \list{\csname\@itemitem\endcsname}% + {\def\makelabel##1{\hss\llap{\upshape##1}}}% + \fi +}{% + \endlist +} +\let\enditemize=\endlist % for efficiency +\newcommand{\descriptionlabel}[1]{\hspace\labelsep \upshape\bfseries #1:} +\newenvironment{description}{\list{}{% + \advance\leftmargini6\p@ \itemindent-12\p@ + \labelwidth\z@ \let\makelabel\descriptionlabel}% +}{ + \endlist +} +\let\enddescription=\endlist % for efficiency +\let\upn=\textup +\AtBeginDocument{% + \labelsep=5pt\relax + \setcounter{enumi}{13}\setcounter{enumii}{13}% + \setcounter{enumiii}{13}\setcounter{enumiv}{13}% + \settowidth\leftmargini{\labelenumi\hskip\labelsep}% + \advance\leftmargini by \normalparindent + \settowidth\leftmarginii{\labelenumii\hskip\labelsep}% + \settowidth\leftmarginiii{\labelenumiii\hskip\labelsep}% + \settowidth\leftmarginiv{\labelenumiv\hskip\labelsep}% + \setcounter{enumi}{0}\setcounter{enumii}{0}% + \setcounter{enumiii}{0}\setcounter{enumiv}{0}% + \leftmarginv=10pt \leftmarginvi=\leftmarginv + \leftmargin=\leftmargini + \labelwidth=\leftmargini \advance\labelwidth-\labelsep + \@listi} +\newskip\listisep +\listisep\smallskipamount +\def\@listI{\leftmargin\leftmargini \parsep\z@skip + \topsep\listisep \itemsep\z@skip + \listparindent\normalparindent} +\let\@listi\@listI +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii \advance\labelwidth-\labelsep + \topsep\z@skip \parsep\z@skip \partopsep\z@skip \itemsep\z@skip} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii \advance\labelwidth-\labelsep} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv \advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv \advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} +\@ifclasswith{\@classname}{fleqn}{% + \let\@tempa\@iden + \AtBeginDocument{\mathindent\leftmargini}% +}{\let\@tempa\@gobble}% +\@ifpackageloaded{amsmath}{\let\@tempa\@gobble}{% + \@ifpackageloaded{amstex}{\let\@tempa\@gobble}{}% +} +\@tempa{% + \def\[{\relax + \ifmmode\@badmath + \else + \begin{trivlist}% + \@beginparpenalty\predisplaypenalty + \@endparpenalty\postdisplaypenalty + \item[]\leavevmode + \hbox to\linewidth\bgroup$\displaystyle + \hskip\mathindent\bgroup + \fi}% + \def\]{\relax + \ifmmode + \egroup \m@th$\hfil \egroup + \end{trivlist}% + \else \@badmath + \fi}% + \renewenvironment{equation}{% + \@beginparpenalty\predisplaypenalty + \@endparpenalty\postdisplaypenalty + \refstepcounter{equation}% + \@topsep\abovedisplayskip \trivlist + \item[]\leavevmode + \hbox to\linewidth\bgroup\hskip\mathindent$\displaystyle + }{% + \m@th$\hfil \displaywidth\linewidth \hbox{\@eqnnum}\egroup + \endtrivlist + }% + \renewenvironment{eqnarray}{% + \stepcounter{equation}\let\@currentlabel\theequation + \global\@eqnswtrue \global\@eqcnt\z@ \tabskip\mathindent + \let\\=\@eqncr \abovedisplayskip\topsep + \ifvmode \advance\abovedisplayskip\partopsep \fi + \belowdisplayskip\abovedisplayskip + \belowdisplayshortskip\abovedisplayskip + \abovedisplayshortskip\abovedisplayskip + $$\everycr{}\halign to\linewidth\bgroup + \hskip\@centering + $\displaystyle\tabskip\z@skip####\m@th$&% + \@eqnsel \global\@eqcnt\@ne + \hfil${}####{}\m@th$\hfil&% + \global\@eqcnt\tw@ + $\displaystyle ####\m@th$\hfil\tabskip\@centering&% + \global\@eqcnt\thr@@ + \hbox to \z@\bgroup\hss####\egroup\tabskip\z@skip\cr + }{% + \@@eqncr \egroup \global\advance\c@equation\m@ne$$% + \global\@ignoretrue + }% + \newdimen\mathindent + \mathindent\leftmargini +} +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec \leavevmode \fi + \par \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi + \if@nobreak \everypar{}\else + \addpenalty\@secpenalty\addvspace\@tempskipa\fi + \@ifstar{\@dblarg{\@sect{#1}{\@m}{#3}{#4}{#5}{#6}}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}% +} +\def\@seccntformat#1{% + \protect\textup{\protect\@secnumfont + \csname the#1\endcsname + \protect\@secnumpunct + }% +} +\let\@secnumfont\@empty +\def\@sect#1#2#3#4#5#6[#7]#8{% + \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}% + \ifnum #2>\c@secnumdepth \let\@secnumber\@empty + \else \@xp\let\@xp\@secnumber\csname the#1\endcsname\fi + \@tempskipa #5\relax + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \edef\@secnumpunct{% + \ifdim\@tempskipa>\z@ % not a run-in section heading + \@ifnotempty{#8}{.\@nx\enspace}% + \else + \@ifempty{#8}{.}{.\@nx\enspace}% + \fi + }% + \protected@edef\@svsec{% + \ifnum#2<\@m + \@ifundefined{#1name}{}{% + \ignorespaces\csname #1name\endcsname\space + }% + \fi + \@seccntformat{#1}% + }% + \fi + \ifdim \@tempskipa>\z@ % then this is not a run-in section heading + \begingroup #6\relax + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty\@M #8\par}% + \endgroup + \csname #1mark\endcsname{#7}% + \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi + \else + \def\@svsechd{#6\hskip #3\@svsec + \@ifnotempty{#8}{\ignorespaces#8\unskip + \@addpunct.}% + \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi + }% + \fi + \global\@nobreaktrue + \@xsect{#5}} +\let\@ssect\relax +\newcounter{part} +\newcounter{chapter} +\newcounter{section}[chapter] +\def\thesection{\arabic{section}} +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] +\newcounter{subparagraph}[paragraph] +\renewcommand\thepart {\arabic{part}} +\renewcommand\thechapter {\arabic{chapter}} +\renewcommand\thesection {\arabic{section}} +\renewcommand\thesubsection {\thesection.\arabic{subsection}} +\renewcommand\thesubsubsection {\thesubsection .\arabic{subsubsection}} +\renewcommand\theparagraph {\thesubsubsection.\arabic{paragraph}} +\renewcommand\thesubparagraph {\theparagraph.\arabic{subparagraph}} +\setcounter{secnumdepth}{3} +\def\partname{Part} +\def\specialsection{\@startsection{section}{1}% + \z@{2\linespacing\@plus\linespacing}{.5\linespacing}% + {\large\scshape\centering}} +\def\part{\cleardoublepage \thispagestyle{empty}% + \null\vfil \markboth{}{}\secdef\@part\@spart} +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >-2\relax \refstepcounter{part}% + \addcontentsline{toc}{part}{\partname\ \thepart. + \protect\enspace\protect\noindent#1}% + \else + \addcontentsline{toc}{part}{#1}\fi + \begingroup\centering + \ifnum \c@secnumdepth >-2\relax + {\fontsize{\@xviipt}{22}\bfseries + \partname\ \thepart} \vskip 20\p@ \fi + \fontsize{\@xxpt}{25}\bfseries + #1\vfil\vfil\endgroup \newpage\thispagestyle{empty}} + +\def\@spart#1{\addcontentsline{toc}{part}{\protect\noindent#1}% + \begingroup\centering + \fontsize{\@xxpt}{25}\bfseries + #1\vfil\vfil\endgroup \newpage\thispagestyle{empty}} +\def\partrunhead#1#2#3{% + \@ifnotempty{#2}{\uppercase{\ignorespaces#1 #2\unskip}\@ifnotempty{#3}{. }}% + \def\@tempa{#3}% + \ifx\@empty\@tempa\else + \begingroup \def\\{ \ignorespaces}% defend against questionable usage + \uppercasenonmath\@tempa\@tempa + \endgroup + \fi +} +\let\chapterrunhead\partrunhead +\let\sectionrunhead\partrunhead +\def\section{\@startsection{section}{1}% + \z@{.7\linespacing\@plus\linespacing}{.5\linespacing}% + {\normalfont\bfseries\centering}} +\def\subsection{\@startsection{subsection}{2}% + \normalparindent{.5\linespacing\@plus.7\linespacing}{-.5em}% + {\normalfont\bfseries}} +\def\subsubsection{\@startsection{subsubsection}{3}% + \normalparindent\z@{-.5em}% + {\normalfont\itshape}} +\def\paragraph{\@startsection{paragraph}{4}% + \normalparindent\z@{-\fontdimen2\font}% + \normalfont} +\def\subparagraph{\@startsection{subparagraph}{5}% + \z@\z@{-\fontdimen2\font}% + \normalfont} +\def\@Roman#1{\@xp\@slowromancap + \romannumeral#1@}% +\def\@slowromancap#1{\ifx @#1% then terminate + \else + \if i#1I\else\if v#1V\else\if x#1X\else\if l#1L\else\if + c#1C\else\if m#1M\else#1\fi\fi\fi\fi\fi\fi + \@xp\@slowromancap + \fi +} +\def\frontmatter{\cleardoublepage\pagenumbering{roman}} +\def\mainmatter{\cleardoublepage\pagenumbering{arabic}} +\def\backmatter{% + \if@openright\cleardoublepage\else\clearpage\fi + \let\chaptername\relax} +\def\aufm#1{\par\vspace*{12pt}{\flushright #1\par}} +\newenvironment{xcb}{% + \setcounter{enumi}{0}% + \settowidth{\leftmargini}{\labelenumi\hskip\labelsep}% + \setcounter{enumii}{4}% letter d + \settowidth{\leftmarginii}{\labelenumii\hskip\labelsep}% + \@startsection{section}% counter name; ignored because of the + % * below + {1}% sectioning level + {\z@}% indent to the left of the section title + {18\p@\@plus2\p@}% vertical space above + {1sp}% Space below of 13pt base-to-base, so none needs to be added + % here; but \z@ would cause the following text to be run-in, so we + % use 1sp instead. + {\bfseries}% The font of the subsection title + *% always unnumbered +}{% + \par +} +\def\chapter{% + \if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{plain}\global\@topnum\z@ + \@afterindenttrue \secdef\@chapter\@schapter} +\def\@chapter[#1]#2{\refstepcounter{chapter}% + \ifnum\c@secnumdepth<\z@ \let\@secnumber\@empty + \else \let\@secnumber\thechapter \fi + \typeout{\chaptername\space\@secnumber}% + \def\@toclevel{0}% + \ifx\chaptername\appendixname \@tocwriteb\tocappendix{chapter}{#2}% + \else \@tocwriteb\tocchapter{chapter}{#2}\fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \@makechapterhead{#2}\@afterheading} +\def\@schapter#1{\typeout{#1}% + \let\@secnumber\@empty + \def\@toclevel{0}% + \ifx\chaptername\appendixname \@tocwriteb\tocappendix{chapter}{#1}% + \else \@tocwriteb\tocchapter{chapter}{#1}\fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \@makeschapterhead{#1}\@afterheading} +\newcommand\chaptername{Chapter} +\newcommand\appendixname{Appendix} +\def\@makechapterhead#1{\global\topskip 7.5pc\relax + \begingroup + \fontsize{\@xivpt}{18}\bfseries\centering + \ifnum\c@secnumdepth>\m@ne + \leavevmode \hskip-\leftskip + \rlap{\vbox to\z@{\vss + \centerline{\normalsize\mdseries + \uppercase\@xp{\chaptername}\enspace\thechapter} + \vskip 3pc}}\hskip\leftskip\fi + #1\par \endgroup + \skip@34\p@ \advance\skip@-\normalbaselineskip + \vskip\skip@ } +\def\@makeschapterhead#1{\global\topskip 7.5pc\relax + \begingroup + \fontsize{\@xivpt}{18}\bfseries\centering + #1\par \endgroup + \skip@34\p@ \advance\skip@-\normalbaselineskip + \vskip\skip@ } +\def\appendix{\par + \c@chapter\z@ \c@section\z@ + \let\chaptername\appendixname + \def\thechapter{\@Alph\c@chapter}} +\newcommand{\@pnumwidth}{1.6em} +\newcommand{\@tocrmarg}{2.6em} +\setcounter{tocdepth}{1} +\newswitch{toc} +\newswitch{lof} +\newswitch{lot} +\def\@starttoc#1#2{% + \begingroup + \setTrue{#1}% + \let\secdef\@gobbletwo \chapter + \let\@secnumber\@empty % for \@tocwrite and \chaptermark + \ifx\contentsname#2% + \else \@tocwrite{chapter}{#2}\fi + \typeout{#2}\@xp\chaptermark\@xp{#2}% + \@makeschapterhead{#2}\@afterheading + \parskip\z@skip + \makeatletter + \@input{\jobname.#1}% + \if@filesw + \@xp\newwrite\csname tf@#1\endcsname + \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax + \fi + \global\@nobreakfalse \endgroup + \newpage +} +\def\contentsname{Contents} +\def\listfigurename{List of Figures} +\def\listtablename{List of Tables} +\def\tableofcontents{% + \@starttoc{toc}\contentsname +} +\def\listoffigures{\@starttoc{lof}\listfigurename} +\def\listoftables{\@starttoc{lot}\listtablename} +\AtBeginDocument{% + \@for\@tempa:=-1,0,1,2,3\do{% + \@ifundefined{r@tocindent\@tempa}{% + \@xp\gdef\csname r@tocindent\@tempa\endcsname{0pt}}{}% + }% +} +\def\@writetocindents{% + \begingroup + \@for\@tempa:=-1,0,1,2,3\do{% + \immediate\write\@auxout{% + \string\newlabel{tocindent\@tempa}{% + \csname r@tocindent\@tempa\endcsname}}% + }% + \endgroup} +\AtEndDocument{\@writetocindents} + +\let\indentlabel\@empty +\def\@tochangmeasure#1{\sbox\z@{#1}% + \ifdim\wd\z@>\csname r@tocindent\@toclevel\endcsname\relax + \@xp\xdef\csname r@tocindent\@toclevel\endcsname{\the\wd\z@}% + \fi +} +\def\@toclevel{0} +\def\@tocline#1#2#3#4#5#6#7{\relax + \ifnum #1>\c@tocdepth % then omit + \else + \par \addpenalty\@secpenalty\addvspace{#2}% + \begingroup \hyphenpenalty\@M + \@ifempty{#4}{% + \@tempdima\csname r@tocindent\number#1\endcsname\relax + }{% + \@tempdima#4\relax + }% + \parindent\z@ \leftskip#3\relax \advance\leftskip\@tempdima\relax + \rightskip\@pnumwidth plus4em \parfillskip-\@pnumwidth + #5\leavevmode\hskip-\@tempdima #6\nobreak\relax + \hfil\hbox to\@pnumwidth{\@tocpagenum{#7}}\par + \nobreak + \endgroup + \fi} +\def\@tocpagenum#1{\hss{\mdseries #1}} +\def\@tocwrite#1{\@xp\@tocwriteb\csname toc#1\endcsname{#1}} +\def\@tocwriteb#1#2#3{% + \begingroup + \def\@tocline##1##2##3##4##5##6{% + \ifnum##1>\c@tocdepth + \else \sbox\z@{##5\let\indentlabel\@tochangmeasure##6}\fi}% + \csname l@#2\endcsname{#1{\csname#2name\endcsname}{\@secnumber}{}}% + \endgroup + \addcontentsline{toc}{#2}% + {\protect#1{\csname#2name\endcsname}{\@secnumber}{#3}}} +\def\l@section{\@tocline{1}{0pt}{1pc}{}{}} +\newcommand{\tocsection}[3]{% + \indentlabel{\@ifnotempty{#2}{\ignorespaces#1 #2.\quad}}#3} +\def\l@subsection{\@tocline{2}{0pt}{1pc}{5pc}{}} +\let\tocsubsection\tocsection +\def\l@subsubsection{\@tocline{3}{0pt}{1pc}{7pc}{}} +\let\tocsubsubsection\tocsection +\let\l@paragraph\l@subsubsection +\let\tocparagraph\tocsection +\let\l@subparagraph\l@subsubsection +\let\tocsubparagraph\tocsection +\def\l@part{\@tocline{-1}{12pt plus2pt}{0pt}{}{\bfseries}} +\let\tocpart\tocsection +\def\l@chapter{\@tocline{0}{8pt plus1pt}{0pt}{}{}} +\let\tocchapter\tocsection +\newcommand{\tocappendix}[3]{% + \indentlabel{#1\@ifnotempty{#2}{ #2}.\quad}#3} +\def\l@figure{\@tocline{0}{3pt plus2pt}{0pt}{1.5pc}{}} +\let\l@table=\l@figure +\def\refname{References} +\def\bibname{Bibliography} +\def\@defaultbiblabelstyle#1{#1.} +\def\bibliographystyle#1{% + \if@filesw\immediate\write\@auxout{\string\bibstyle{#1}}\fi + \def\@tempa{#1}% + \def\@tempb{amsplain}% + \def\@tempc{}% + \ifx\@tempa\@tempb + \def\@biblabel##1{\@defaultbiblabelstyle{##1}}% + \def\bibsetup{}% + \else + \def\bibsetup{\labelsep6\p@}% + \ifx\@tempa\@tempc + \def\@biblabel##1{}% + \def\bibsetup{\labelwidth\z@ \leftmargin24\p@ + \itemindent-\leftmargin + \labelsep\z@ }% + \fi + \fi} +\newcommand{\bibliofont}{\footnotesize} +\newcommand{\@bibtitlestyle}{% + \@xp\chapter\@xp*\@xp{\bibname}% +} +\newenvironment{thebibliography}[1]{% + \@bibtitlestyle + \normalfont\bibliofont\labelsep .5em\relax + \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty + \list{\@biblabel{\theenumiv}}{\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth \advance\leftmargin\labelsep + \usecounter{enumiv}}% + \sloppy \clubpenalty\@M \widowpenalty\clubpenalty + \sfcode`\.=\@m +}{% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \endlist +} +\def\bysame{\leavevmode\hbox to3em{\hrulefill}\thinspace} +\def\newblock{} +\newcommand\MR[1]{\relax\ifhmode\unskip\spacefactor3000 \space\fi + MR~\MRhref{#1}{#1}} +\let\MRhref\@gobble +\newcommand\URL{\begingroup + \def\@sverb##1{% + \def\@tempa####1##1{\@URL{####1}\egroup\endgroup}% + \@tempa}% + \verb} +\let\URLhref\@gobble +\def\@URL#1{\URLhref{#1}#1} +\newif\if@restonecol +\def\indexchap#1{\global\topskip 7.5pc\relax + \twocolumn[{\fontsize{\@xivpt}{18}\bfseries\centering + \vskip\topskip\hbox{}\vskip-\baselineskip% adjust top space + #1\par + \global\topskip 34\p@\relax + \ifx\@empty\indexintro + \else + \begingroup \normalsize + \skip@\topskip \advance\skip@ -\baselineskip + \vskip\skip@ + \parbox[t]{24pc}{\normalfont\indexintro\par}% + \endgroup + \global\topskip 24\p@\relax + \fi + }]% +} +\newcommand{\indexintro}{} +\newcommand{\@indextitlestyle}{% + \let\@makeschapterhead\indexchap + \@xp\chapter\@xp*\@xp{\indexname}% +} +\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi + \columnseprule\z@ \columnsep 35\p@ + \@indextitlestyle + \thispagestyle{plain}% + \let\item\@idxitem + \parindent\z@ \parskip\z@\@plus.3\p@\relax + \raggedright + \hyphenpenalty\@M + \footnotesize} +\def\indexname{Index} +\def\@idxitem{\par\hangindent 2em} +\def\subitem{\par\hangindent 2em\hspace*{1em}} +\def\subsubitem{\par\hangindent 3em\hspace*{2em}} +\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} +\def\indexspace{\par\bigskip} +\@addtoreset{footnote}{chapter} +\def\footnoterule{\kern-.4\p@ + \hrule\@width 5pc\kern11\p@\kern-\footnotesep} +\def\@makefnmark{% + \leavevmode + \raise.9ex\hbox{\fontsize\sf@size\z@\normalfont\@thefnmark}% +} +\def\@makefntext{\indent\@makefnmark} +\long\def\@footnotetext#1{% + \insert\footins{% + \normalfont\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep \splitmaxdepth \dp\strutbox + \floatingpenalty\@MM \hsize\columnwidth + \@parboxrestore \parindent\normalparindent \sloppy + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}} +\hfuzz=1pt \vfuzz=\hfuzz +\def\sloppy{\tolerance9999 \emergencystretch 3em\relax} +\setcounter{topnumber}{4} +\setcounter{bottomnumber}{4} +\setcounter{totalnumber}{4} +\setcounter{dbltopnumber}{4} +\renewcommand{\topfraction}{.97} +\renewcommand{\bottomfraction}{.97} +\renewcommand{\textfraction}{.03} +\renewcommand{\floatpagefraction}{.9} +\renewcommand{\dbltopfraction}{.97} +\renewcommand{\dblfloatpagefraction}{.9} +\setlength{\floatsep}{12pt plus 6pt minus 4pt} +\setlength{\textfloatsep}{15pt plus 8pt minus 5pt} +\setlength{\intextsep}{12pt plus 6pt minus 4pt} +\setlength{\dblfloatsep}{12pt plus 6pt minus 4pt} +\setlength{\dbltextfloatsep}{15pt plus 8pt minus 5pt} +\setlength{\@fptop}{0pt}% removed "plus 1fil" +\setlength{\@fpsep}{8pt}% removed "plus 2fil" +\setlength{\@fpbot}{0pt plus 1fil} +\setlength{\@dblfptop}{0pt}% removed "plus 1fil" +\setlength{\@dblfpsep}{8pt}% removed "plus 2fil" +\setlength{\@dblfpbot}{0pt plus 1fil} +\newcommand{\fps@figure}{tbp} +\newcommand{\fps@table}{tbp} +\newcounter{figure}[chapter] +\def\@captionheadfont{\scshape} +\def\@captionfont{\normalfont} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{\figurename\ \thefigure} +\def\figurename{Figure} +\newenvironment{figure}{% + \@float{figure}% +}{% + \end@float +} +\newenvironment{figure*}{% + \@dblfloat{figure}% +}{% + \end@dblfloat +} +\newcounter{table}[chapter] +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{\tablename\ \thetable} +\def\tablename{Table} +\newenvironment{table}{% + \@float{table}% +}{% + \end@float +} +\newenvironment{table*}{% + \@dblfloat{table}% +}{% + \end@dblfloat +} +\def\@floatboxreset{\global\@minipagefalse \centering} +\long\def\@makecaption#1#2{% + \setbox\@tempboxa\vbox{\color@setgroup + \advance\hsize-2\captionindent\noindent + \@captionfont\@captionheadfont#1\@xp\@ifnotempty\@xp + {\@cdr#2\@nil}{.\@captionfont\upshape\enspace#2}% + \unskip\kern-2\captionindent\par + \global\setbox\@ne\lastbox\color@endgroup}% + \ifhbox\@ne % the normal case + \setbox\@ne\hbox{\unhbox\@ne\unskip\unskip\unpenalty\unkern}% + \fi + \ifdim\wd\@tempboxa=\z@ % this means caption will fit on one line + \setbox\@ne\hbox to\columnwidth{\hss\kern-2\captionindent\box\@ne\hss}% + \else % tempboxa contained more than one line + \setbox\@ne\vbox{\unvbox\@tempboxa\parskip\z@skip + \noindent\unhbox\@ne\advance\hsize-2\captionindent\par}% + \fi + \ifnum\@tempcnta<64 % if the float IS a figure... + \addvspace\abovecaptionskip + \hbox to\hsize{\kern\captionindent\box\@ne\hss}% + \else % if the float IS NOT a figure... + \hbox to\hsize{\kern\captionindent\box\@ne\hss}% + \nobreak + \vskip\belowcaptionskip + \fi +\relax +} +\newskip\abovecaptionskip \abovecaptionskip=12pt \relax +\newskip\belowcaptionskip \belowcaptionskip=12pt \relax +\newdimen\captionindent \captionindent=3pc +\def\nonbreakingspace{\unskip\nobreak\ \ignorespaces} +\def~{\protect\nonbreakingspace} +\def\@biblabel#1{\@ifnotempty{#1}{[#1]}} +\def\@citestyle{\m@th\upshape\mdseries} +\def\citeform#1{{\bfseries#1}} +\def\@cite#1#2{{% + \@citestyle[\citeform{#1}\if@tempswa, #2\fi]}} +\@ifundefined{cite }{% + \expandafter\let\csname cite \endcsname\cite + \edef\cite{\@nx\protect\@xp\@nx\csname cite \endcsname}% +}{} +\def\fullwidthdisplay{\displayindent\z@ \displaywidth\columnwidth} +\edef\@tempa{\noexpand\fullwidthdisplay\the\everydisplay} +\everydisplay\expandafter{\@tempa} +\newcommand*\seeonlyname{see} +\newcommand*\seename{see also} +\newcommand*\alsoname{see also} +\newcommand*\seeonly[2]{\emph{\seeonlyname} #1} +\newcommand*\see[2]{\emph{\seename} #1} +\newcommand*\seealso[2]{\emph{\alsoname} #1} +\newcommand\printindex{\@input{\jobname.ind}} +\DeclareRobustCommand\textprime{\leavevmode + \raise.8ex\hbox{\check@mathfonts\the\scriptfont2 \char48 }} +\def\maketitle{\par + \@topnum\z@ % this prevents figures from falling at the top of page 1 + \begingroup + \@maketitle + \endgroup + \c@footnote\z@ + \def\do##1{\let##1\relax}% + \do\maketitle \do\@maketitle \do\title \do\@xtitle \do\@title + \do\author \do\@xauthor \do\address \do\@xaddress + \do\email \do\@xemail \do\curraddr \do\@xcurraddr + \do\dedicatory \do\@dedicatory \do\thanks \do\thankses + \do\keywords \do\@keywords \do\subjclass \do\@subjclass +} +\def\@maketitle{% + \cleardoublepage \thispagestyle{empty}% + \begingroup \topskip\z@skip + \null\vfil + \begingroup + \LARGE\bfseries \centering + \openup\medskipamount + \@title\par\vspace{24pt}% + \def\and{\par\medskip}\centering + \mdseries\authors\par\bigskip + \endgroup + \vfil + \ifx\@empty\addresses \else \@setaddresses \fi + \vfil + \ifx\@empty\@dedicatory + \else \begingroup + \centering{\footnotesize\itshape\@dedicatory\@@par}% + \endgroup + \fi + \vfill + \newpage\thispagestyle{empty} + \begin{center} + \ifx\@empty\@subjclass\else\@setsubjclass\fi + \ifx\@empty\@keywords\else\@setkeywords\fi + \ifx\@empty\@translators\else\vfil\@settranslators\fi + \ifx\@empty\thankses\else\vfil\@setthanks\fi + \end{center} + \vfil + \@setabstract + \endgroup} +\def\@settranslators{\par + \begingroup + \translname: \andify\@translators \uppercasenonmath\@translators + \@translators \@@par + \endgroup} +\def\@setdate{\par\smallskip\@date\par\smallskip} +\def\@setsubjclass{\par\smallskip + {\itshape\subjclassname.}\enspace\@subjclass\par\smallskip} +\def\@setkeywords{\par\smallskip + {\itshape \keywordsname.}\enspace \@keywords\par\smallskip} + +\newcommand{\theoremstyle}[1]{% + \@ifundefined{th@#1}{% + \PackageWarning{amsthm}{Unknown theoremstyle `#1'}% + \thm@style{plain}% + }{% + \thm@style{#1}% + }% +} +\newtoks\thm@style +\thm@style{plain} +\newtoks\thm@bodyfont \thm@bodyfont{\itshape} +\newtoks\thm@headfont \thm@headfont{\bfseries} +\newtoks\thm@notefont \thm@notefont{} +\newtoks\thm@headpunct \thm@headpunct{.} +\newskip\thm@preskip \newskip\thm@postskip +\def\thm@space@setup{% + \thm@preskip=.5\baselineskip\@plus.2\baselineskip + \@minus.2\baselineskip + \thm@postskip=\thm@preskip +} +\renewcommand{\newtheorem}{\@ifstar{\@xnthm *}{\@xnthm \relax}} +\def\@xnthm#1#2{% + \let\@tempa\relax + \@xp\@ifdefinable\csname #2\endcsname{% + \global\@xp\let\csname end#2\endcsname\@endtheorem + \ifx *#1% unnumbered, need to get one more mandatory arg + \edef\@tempa##1{% + \gdef\@xp\@nx\csname#2\endcsname{% + \@nx\@thm{\@xp\@nx\csname th@\the\thm@style\endcsname}% + {}{##1}}}% + \else % numbered theorem, need to check for optional arg + \def\@tempa{\@oparg{\@ynthm{#2}}[]}% + \fi + }% + \@tempa +} +\def\@ynthm#1[#2]#3{% + \ifx\relax#2\relax + \def\@tempa{\@oparg{\@xthm{#1}{#3}}[]}% + \else + \@ifundefined{c@#2}{% + \def\@tempa{\@nocounterr{#2}}% + }{% + \@xp\xdef\csname the#1\endcsname{\@xp\@nx\csname the#2\endcsname}% + \toks@{#3}% + \@xp\xdef\csname#1\endcsname{% + \@nx\@thm{% + \let\@nx\thm@swap + \if S\thm@swap\@nx\@firstoftwo\else\@nx\@gobble\fi + \@xp\@nx\csname th@\the\thm@style\endcsname}% + {#2}{\the\toks@}}% + \let\@tempa\relax + }% + \fi + \@tempa +} +\def\@xthm#1#2[#3]{% + \ifx\relax#3\relax + \newcounter{#1}% + \else + \newcounter{#1}[#3]% + \@xp\xdef\csname the#1\endcsname{\@xp\@nx\csname the#3\endcsname + \@thmcountersep\@thmcounter{#1}}% + \fi + \toks@{#2}% + \@xp\xdef\csname#1\endcsname{% + \@nx\@thm{% + \let\@nx\thm@swap + \if S\thm@swap\@nx\@firstoftwo\else\@nx\@gobble\fi + \@xp\@nx\csname th@\the\thm@style\endcsname}% + {#1}{\the\toks@}}% +} +\def\@thm#1#2#3{% + \ifhmode\unskip\unskip\par\fi + \normalfont + \trivlist + \let\thmheadnl\relax + \let\thm@swap\@gobble + \let\thm@indent\indent % indent + \thm@headfont{\scshape}% heading font small caps + \thm@notefont{\fontseries\mddefault\upshape}% + \thm@headpunct{.}% add period after heading + \thm@headsep 5\p@ plus\p@ minus\p@\relax + \thm@space@setup + #1% style overrides + \@topsep \thm@preskip % used by thm head + \@topsepadd \thm@postskip % used by \@endparenv + \def\@tempa{#2}\ifx\@empty\@tempa + \def\@tempa{\@oparg{\@begintheorem{#3}{}}[]}% + \else + \refstepcounter{#2}% + \def\@tempa{\@oparg{\@begintheorem{#3}{\csname the#2\endcsname}}[]}% + \fi + \@tempa +} +\def\@restorelabelsep{\relax} +\let\@ythm\relax +\let\thmname\@iden \let\thmnote\@iden \let\thmnumber\@iden +\providecommand\@upn{\textup} +\def\thmhead@plain#1#2#3{% + \thmname{#1}\thmnumber{\@ifnotempty{#1}{ }\@upn{#2}}% + \thmnote{ {\the\thm@notefont(#3)}}} +\let\thmhead\thmhead@plain +\def\swappedhead#1#2#3{% + \thmnumber{\@upn{\@secnumfont#2\@ifnotempty{#1}{.~}}}% + \thmname{#1}% + \thmnote{ {\the\thm@notefont(#3)}}} +\let\swappedhead@plain=\swappedhead +\let\thmheadnl\relax +\let\thm@indent\noindent +\let\thm@swap\@gobble +\def\@begintheorem#1#2[#3]{% + \deferred@thm@head{\the\thm@headfont \thm@indent + \@ifempty{#1}{\let\thmname\@gobble}{\let\thmname\@iden}% + \@ifempty{#2}{\let\thmnumber\@gobble}{\let\thmnumber\@iden}% + \@ifempty{#3}{\let\thmnote\@gobble}{\let\thmnote\@iden}% + \thm@swap\swappedhead\thmhead{#1}{#2}{#3}% + \the\thm@headpunct + \thmheadnl % possibly a newline. + \hskip\thm@headsep + }% + \ignorespaces} +\newskip\thm@headsep +\thm@headsep=5pt plus1pt minus1pt\relax +\let\adjust@parskip@nobreak=\@nbitem +\newtoks\dth@everypar +\dth@everypar={% + \@minipagefalse \global\@newlistfalse + \@noparitemfalse + \if@inlabel + \global\@inlabelfalse + \begingroup \setbox\z@\lastbox + \ifvoid\z@ \kern-\itemindent \fi + \endgroup + \unhbox\@labels + \fi + \if@nobreak \@nobreakfalse \clubpenalty\@M + \else \clubpenalty\@clubpenalty \everypar{}% + \fi +}% +\def\deferred@thm@head#1{% + \if@inlabel \indent \par \fi % eject a section head if one is pending + \if@nobreak + \adjust@parskip@nobreak + \else + \addpenalty\@beginparpenalty + \addvspace\@topsep + \addvspace{-\parskip}% + \fi + \global\@inlabeltrue + \everypar\dth@everypar + \sbox\@labels{\normalfont#1}% + \ignorespaces +} +\def\nonslanted{\relax + \@xp\let\@xp\@tempa\csname\f@shape shape\endcsname + \ifx\@tempa\itshape\upshape + \else\ifx\@tempa\slshape\upshape\fi\fi} +\def\swapnumbers{\edef\thm@swap{\if S\thm@swap N\else S\fi}} +\def\thm@swap{N}% +\let\@opargbegintheorem\relax +\def\th@plain{% +%% \let\thm@indent\noindent % no indent +%% \thm@headfont{\bfseries}% heading font is bold +%% \thm@notefont{}% same as heading font +%% \thm@headpunct{.}% add period after heading +%% \let\thm@swap\@gobble +%% \thm@preskip\topsep +%% \thm@postskip\theorempreskipamount + \itshape % body font +} +\def\th@definition{% + \normalfont % body font +} +\def\th@remark{% + \normalfont % body font +} +\def\@endtheorem{\endtrivlist\@endpefalse } +\newcommand{\newtheoremstyle}[9]{% + \@ifempty{#5}{\dimen@\z@skip}{\dimen@#5\relax}% + \ifdim\dimen@=\z@ + \toks@{#4\let\thm@indent\noindent}% + \else + \toks@{#4\def\thm@indent{\noindent\hbox to#5{}}}% + \fi + \def\@tempa{#8}\ifx\space\@tempa + \toks@\@xp{\the\toks@ \thm@headsep\fontdimen\tw@\font\relax}% + \else + \def\@tempb{\newline}% + \ifx\@tempb\@tempa + \toks@\@xp{\the\toks@ \thm@headsep\z@skip + \def\thmheadnl{\newline}}% + \else + \toks@\@xp{\the\toks@ \thm@headsep#8\relax}% + \fi + \fi + \begingroup + \thm@space@setup + \@defaultunits\@tempskipa#2\thm@preskip\relax\@nnil + \@defaultunits\@tempskipb#3\thm@postskip\relax\@nnil + \xdef\@gtempa{\thm@preskip\the\@tempskipa + \thm@postskip\the\@tempskipb\relax}% + \endgroup + \@temptokena\@xp{\@gtempa + \thm@headfont{#6}\thm@headpunct{#7}% + }% + \@ifempty{#9}{% + \let\thmhead\thmhead@plain + }{% + \@namedef{thmhead@#1}##1##2##3{#9}% + \@temptokena\@xp{\the\@temptokena + \@xp\let\@xp\thmhead\csname thmhead@#1\endcsname}% + }% + \@xp\xdef\csname th@#1\endcsname{\the\toks@ \the\@temptokena}% +} +\DeclareRobustCommand{\qed}{% + \ifmmode \mathqed + \else + \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill + \quad\hbox{\qedsymbol}% + \fi +} +\let\QED@stack\@empty +\let\qed@elt\relax +\newcommand{\pushQED}[1]{% + \toks@{\qed@elt{#1}}\@temptokena\expandafter{\QED@stack}% + \xdef\QED@stack{\the\toks@\the\@temptokena}% +} +\newcommand{\popQED}{% + \begingroup\let\qed@elt\popQED@elt \QED@stack\relax\relax\endgroup +} +\def\popQED@elt#1#2\relax{#1\gdef\QED@stack{#2}} +\newcommand{\qedhere}{% + \begingroup \let\mathqed\math@qedhere + \let\qed@elt\setQED@elt \QED@stack\relax\relax \endgroup +} +\newif\ifmeasuring@ +\newif\iffirstchoice@ \firstchoice@true +\def\setQED@elt#1#2\relax{% + \ifmeasuring@ + \else \iffirstchoice@ \gdef\QED@stack{\qed@elt{}#2}\fi + \fi + #1% +} +\def\qed@warning{% + \PackageWarning{amsthm}{The \@nx\qedhere command may not work + correctly here}% +} +\newcommand{\mathqed}{\quad\hbox{\qedsymbol}} +\def\linebox@qed{\hfil\hbox{\qedsymbol}\hfilneg} +\@ifpackageloaded{amsmath}{% + \def\math@qedhere{% + \@ifundefined{\@currenvir @qed}{% + \qed@warning\quad\hbox{\qedsymbol}% + }{% + \@xp\aftergroup\csname\@currenvir @qed\endcsname + }% + } + \def\displaymath@qed{% + \relax + \ifmmode + \ifinner \aftergroup\linebox@qed + \else + \eqno + \let\eqno\relax \let\leqno\relax \let\veqno\relax + \hbox{\qedsymbol}% + \fi + \else + \aftergroup\linebox@qed + \fi + } + \@xp\let\csname equation*@qed\endcsname\displaymath@qed + \def\equation@qed{% + \iftagsleft@ + \hbox{\phantom{\quad\qedsymbol}}% + \gdef\alt@tag{% + \rlap{\hbox to\displaywidth{\hfil\qedsymbol}}% + \global\let\alt@tag\@empty + }% + \else + \gdef\alt@tag{% + \global\let\alt@tag\@empty + \vtop{\ialign{\hfil####\cr + \tagform@\theequation\cr + \qedsymbol\cr}}% + \setbox\z@ + }% + \fi + } + \def\qed@tag{% + \global\tag@true \nonumber + &\omit\setboxz@h {\strut@ \qedsymbol}\tagsleft@false + \place@tag@gather + \kern-\tabskip + \ifst@rred \else \global\@eqnswtrue \fi \global\advance\row@\@ne \cr + } + \def\split@qed{% + \def\endsplit{\crcr\egroup \egroup \ctagsplit@false \rendsplit@ + \aftergroup\align@qed + }% + } + \def\align@qed{% + \ifmeasuring@ \tag*{\qedsymbol}% + \else \let\math@cr@@@\qed@tag + \fi + } + \@xp\let\csname align*@qed\endcsname\align@qed + \@xp\let\csname gather*@qed\endcsname\align@qed +%% Needs some patching up for amsmath 1.2 +}{% end of amsmath branch, start plain LaTeX branch + \def\math@qedhere{% + \@ifundefined{\@currenvir @qed}{% + \qed@warning \aftergroup\displaymath@qed + }{% + \@xp\aftergroup\csname\@currenvir @qed\endcsname + }% + } + \def\displaymath@qed{% + \relax + \ifmmode + \ifinner \aftergroup\aftergroup\aftergroup\linebox@qed + \else + \eqno \def\@badmath{$$}% + \let\eqno\relax \let\leqno\relax \let\veqno\relax + \hbox{\qedsymbol}% + \fi + \else + \aftergroup\linebox@qed + \fi + } + \@ifundefined{ver@leqno.clo}{% + \def\equation@qed{\displaymath@qed \quad}% + }{% + \def\equation@qed{\displaymath@qed}% + } + \def\@tempa#1$#2#3\@nil{% + \def\[{#1$#2\def\@currenvir{displaymath}#3}% + }% + \expandafter\@tempa\[\@nil +} +\@ifpackageloaded{amstex}{% + \def\@tempa{TT}% +}{% + \@ifpackageloaded{amsmath}{% + \def\@tempb#1 v#2.#3\@nil{#2}% + \ifnum\@xp\@xp\@xp\@tempb\csname ver@amsmath.sty\endcsname v0.0\@nil + <\tw@ + \def\@tempa{TT}% + \else + \def\@tempa{TF}% + \fi + }{% + \def\@tempa{TF} + }% +} +\if\@tempa + \renewcommand{\math@qedhere}{\quad\hbox{\qedsymbol}}% +\fi +\newcommand{\openbox}{\leavevmode + \hbox to.77778em{% + \hfil\vrule + \vbox to.675em{\hrule width.6em\vfil\hrule}% + \vrule\hfil}} +\DeclareRobustCommand{\textsquare}{% + \begingroup \usefont{U}{msa}{m}{n}\thr@@\endgroup +} +\@ifclasswith{\@classname}{noamsfonts}{% + \providecommand{\qedsymbol}{\openbox}% +}{} +\providecommand{\qedsymbol}{\textsquare} +\newenvironment{proof}[1][\proofname]{\par + \pushQED{\qed}% + \normalfont \topsep6\p@\@plus6\p@\relax + \trivlist + \itemindent\normalparindent + \item[\hskip\labelsep + \scshape + #1\@addpunct{.}]\ignorespaces +}{% + \popQED\endtrivlist\@endpefalse +} +\providecommand{\proofname}{Proof} +\def\bb@skip#1{% + \skip@#1\relax \advance\skip@-\prevdepth \advance\skip@-\baselineskip + \vskip\skip@} +\def\markleft#1{{\let\protect\noexpand + \let\label\relax \let\index\relax \let\glossary\relax + \expandafter\@markleft\@themark{#1}% + \mark{\@themark}}% + \if@nobreak\ifvmode\nobreak\fi\fi} +\def\@markleft#1#2#3{\gdef\@themark{{#3}{#2}}} +\def\@tempa{} +\edef\@dh{% + \noexpand\mathhexbox{\hexnumber@\symAMSb}67} +\DeclareTextCommand{\dh}{OT1}{% + \edef\@tempb{\scdefault}% + \ifx\f@shape\@tempb + \leavevmode + \raisebox{-.8ex}{\makebox[\z@][l]{\hskip-.08em\accent"16\hss}}d% + \else + \@dh + \fi +} +\DeclareTextCommand{\DH}{OT1}{% + \leavevmode\raisebox{-.5ex}{\makebox[\z@][l]{\hskip-.07em\accent"16\hss}}D} +\DeclareTextCommand{\DJ}{OT1}{% + \leavevmode\raisebox{-.5ex}{\makebox[\z@][l]{\hskip-.07em\accent"16\hss}}D} +\DeclareTextCommand{\dj}{OT1}{% + \edef\@tempa{\f@shape}\edef\@tempb{\scdefault}% + \ifx\@tempa\@tempb + \leavevmode + \raisebox{-.75ex}{\makebox[\z@][l]{\hskip-.08em\accent"16\hss}}d% + \else + \leavevmode\raisebox{.02ex}{\makebox[\z@][l]{\hskip.1em\accent"16\hss}}d% + \fi} +\hyphenation{acad-e-my acad-e-mies af-ter-thought anom-aly anom-alies +an-ti-deriv-a-tive an-tin-o-my an-tin-o-mies apoth-e-o-ses +apoth-e-o-sis ap-pen-dix ar-che-typ-al as-sign-a-ble as-sist-ant-ship +as-ymp-tot-ic asyn-chro-nous at-trib-uted at-trib-ut-able bank-rupt +bank-rupt-cy bi-dif-fer-en-tial blue-print busier busiest +cat-a-stroph-ic cat-a-stroph-i-cally con-gress cross-hatched data-base +de-fin-i-tive de-riv-a-tive dis-trib-ute dri-ver dri-vers eco-nom-ics +econ-o-mist elit-ist equi-vari-ant ex-quis-ite ex-tra-or-di-nary +flow-chart for-mi-da-ble forth-right friv-o-lous ge-o-des-ic +ge-o-det-ic geo-met-ric griev-ance griev-ous griev-ous-ly +hexa-dec-i-mal ho-lo-no-my ho-mo-thetic ideals idio-syn-crasy +in-fin-ite-ly in-fin-i-tes-i-mal ir-rev-o-ca-ble key-stroke +lam-en-ta-ble light-weight mal-a-prop-ism man-u-script mar-gin-al +meta-bol-ic me-tab-o-lism meta-lan-guage me-trop-o-lis +met-ro-pol-i-tan mi-nut-est mol-e-cule mono-chrome mono-pole +mo-nop-oly mono-spline mo-not-o-nous mul-ti-fac-eted mul-ti-plic-able +non-euclid-ean non-iso-mor-phic non-smooth par-a-digm par-a-bol-ic +pa-rab-o-loid pa-ram-e-trize para-mount pen-ta-gon phe-nom-e-non +post-script pre-am-ble pro-ce-dur-al pro-hib-i-tive pro-hib-i-tive-ly +pseu-do-dif-fer-en-tial pseu-do-fi-nite pseu-do-nym qua-drat-ic +quad-ra-ture qua-si-smooth qua-si-sta-tion-ary qua-si-tri-an-gu-lar +quin-tes-sence quin-tes-sen-tial re-arrange-ment rec-tan-gle +ret-ri-bu-tion retro-fit retro-fit-ted right-eous right-eous-ness +ro-bot ro-bot-ics sched-ul-ing se-mes-ter semi-def-i-nite +semi-ho-mo-thet-ic set-up se-vere-ly side-step sov-er-eign spe-cious +spher-oid spher-oid-al star-tling star-tling-ly sta-tis-tics +sto-chas-tic straight-est strange-ness strat-a-gem strong-hold +sum-ma-ble symp-to-matic syn-chro-nous topo-graph-i-cal tra-vers-a-ble +tra-ver-sal tra-ver-sals treach-ery turn-around un-at-tached +un-err-ing-ly white-space wide-spread wing-spread wretch-ed +wretch-ed-ly Eng-lish Euler-ian Feb-ru-ary Gauss-ian +Hamil-ton-ian Her-mit-ian Jan-u-ary Japan-ese Kor-te-weg +Le-gendre Mar-kov-ian Noe-ther-ian No-vem-ber Rie-mann-ian Sep-tem-ber} +\def\calclayout{\advance\textheight -\headheight + \advance\textheight -\headsep + \oddsidemargin\paperwidth + \advance\oddsidemargin -\textwidth + \divide\oddsidemargin\tw@ + \ifdim\oddsidemargin<.5truein \oddsidemargin.5truein \fi + \advance\oddsidemargin -1truein + \evensidemargin\oddsidemargin + \topmargin\paperheight \advance\topmargin -\textheight + \advance\topmargin -\headheight \advance\topmargin -\headsep + \divide\topmargin\tw@ + \ifdim\topmargin<.5truein \topmargin.5truein \fi + \advance\topmargin -1truein\relax +} +\InputIfFileExists{amsbook.cfg}{}{% + \calclayout % initialize + \pagenumbering{arabic}% + \pagestyle{headings}% + \thispagestyle{plain}% +} +\if@compatibility \else\endinput\fi +\def\tiny{\Tiny} +\def\defaultfont{\normalfont} +\def\rom{\textup} +\let\@newpf\proof \let\proof\relax \let\endproof\relax +\newenvironment{pf}{\@newpf[\proofname]}{\popQED\endtrivlist} +\newenvironment{pf*}[1]{\@newpf[#1]}{\popQED\endtrivlist} +\endinput +%% +%% End of file `amsbook.cls'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amsbooka.sty b/Master/texmf-dist/tex/latex/amslatex/amsbooka.sty new file mode 100644 index 00000000000..3f7ff73dbaa --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amsbooka.sty @@ -0,0 +1,151 @@ +%% +%% This is file `amsbooka.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsbooka.dtx +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsbooka.dtx", +%%% version = "2.01", +%%% date = "2003/02/28", +%%% time = "14:12:49 EST", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 1999 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% checksum = "63139 257 945 8723", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, amslatex, ams-latex, monograph", +%%% supported = "yes", +%%% abstract = "This is part of the AMS-\LaTeX{} distribution. +%%% It contains code to augment the AMS-LaTeX{} +%%% monograph document classes, providing the ability +%%% to include an author's name along with a chapter +%%% title, and to pass the author information along +%%% for inclusion in the table of contents", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1994/12/01]% LaTeX date must December 1994 or later +\ProvidesPackage{amsbooka}[2003/02/28 v2.01 monograph chapter authors] +\def\@gsm{gsm-l} +\def\@stml{stml-l} +\def\@makechapterhead#1{% + \ifx\@classname\@gsm \@makegsmchapterhead{#1}% + \else \ifx\@classname\@stml \@makestmlchapterhead{#1}% + \else \@makeplainchapterhead{#1}% + \fi \fi +} +\def\@makeplainchapterhead#1{% + \global\topskip 7.5pc\relax + \begingroup + \def\title{}% + \def\author##1{\vskip1pc\fontsize{\@xiipt}{14}\mdseries\textsc{##1}}% + \fontsize{\@xivpt}{18}\bfseries\centering + \ifnum\c@secnumdepth>\m@ne + \leavevmode \hskip-\leftskip + \rlap{\vbox to\z@{\vss + \centerline{\normalsize\mdseries + \uppercase\@xp{\chaptername}\enspace\thechapter} + \vskip 3pc}}\hskip\leftskip\fi + #1\par \endgroup + \skip@34\p@ \advance\skip@-\normalbaselineskip + \vskip\skip@ } +\def\@makeruledchapterhead#1{% + \global\topskip\normaltopskip + \begingroup + \def\author##1{\\ \hfil \\ \@chapauthorstyle ##1}% + \vbox to\topskip{% + \chapter@number + \vss + }\penalty\@M + \@chapheadstyle \raggedright + \noindent #1\par \endgroup + \if@index + \@indexstyle + \else + \@dropfolio + \@noindexstyle + \fi + \@afterheading +} +\def\@makegsmchapterhead#1{% + \def\@chapheadstyle{\Huge\bfseries \hsize24pc + \top@space{11pc}}% + \def\@chapauthorstyle{\LARGE\bfseries}% + \def\@indexstyle{% + \ifx\@empty\indexintro + \bb@space{7.5pc}% + \else + \vspace{3pc}% + \begingroup \small + \parbox[t]{27pc}{\leftskip3pc\normalfont\indexintro\par}% + \endgroup + \bb@space{3pc}% + \fi + }% + \def\@noindexstyle{\bb@space{7.5pc}}% + \@makeruledchapterhead{#1}% + } +\def\@makestmlchapterhead#1{% + \def\@chapheadstyle{\fontsize\@xxpt{22}\selectfont\bfseries\hsize 21pc + \top@par@space{9pc}}% + \def\@chapauthorstyle{\LARGE\mdseries}% + \def\@indexstyle{% + \ifx\@empty\indexintro + \bb@par@space{6.5pc}% + \else + \vspace{2.5pc}% + \begingroup \small + \parbox[t]{22.5pc}{\leftskip2.5pc\normalfont\indexintro\par}% + \endgroup + \bb@par@space{2.5pc}% + \fi + }% + \def\@noindexstyle{\bb@par@space{6.5pc}}% + \@makeruledchapterhead{#1}% + } +\def\@tocline#1#2#3#4#5#6#7{\relax + \ifnum #1>\c@tocdepth % then omit + \else + \def\author##1{\newline\textsc{##1}}% + \par \addpenalty\@secpenalty\addvspace{#2}% + \begingroup \hyphenpenalty\@M + \@ifempty{#4}{% + \@tempdima\csname r@tocindent\number#1\endcsname\relax + }{% + \@tempdima#4\relax + }% + \parindent\z@ \leftskip#3\relax \advance\leftskip\@tempdima\relax + \rightskip\@pnumwidth plus4em \parfillskip-\@pnumwidth + #5\leavevmode\hskip-\@tempdima #6\nobreak\relax + \hfil\hbox to\@pnumwidth{\@tocpagenum{#7}}\par + \nobreak + \endgroup + \fi} +\endinput +%% +%% End of file `amsbooka.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amsbsy.sty b/Master/texmf-dist/tex/latex/amslatex/amsbsy.sty new file mode 100644 index 00000000000..0e64d1b2e28 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amsbsy.sty @@ -0,0 +1,98 @@ +%% +%% This is file `amsbsy.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsbsy.dtx +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsbsy.dtx", +%%% version = "1.2d", +%%% date = "1999/11/29", +%%% time = "14:26:42 EST", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% checksum = "08988 251 1238 9625", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, bold symbol, pmb", +%%% supported = "yes", +%%% abstract = "This is a \LaTeX{} package that provides a command +%%% for producing bold math symbols when appropriate +%%% fonts exist, and a `poor man's bold' command that +%%% can be applied when no appropriate bold font +%%% is available.", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1994/12/01]% LaTeX date must December 1994 or later +\ProvidesPackage{amsbsy}[1999/11/29 v1.2d] +\RequirePackage{amsgen} +\DeclareRobustCommand{\boldsymbol}[1]{% + \begingroup + \let\@nomath\@gobble \mathversion{bold}% + \math@atom{#1}{% + \mathchoice% + {\hbox{$\m@th\displaystyle#1$}}% + {\hbox{$\m@th\textstyle#1$}}% + {\hbox{$\m@th\scriptstyle#1$}}% + {\hbox{$\m@th\scriptscriptstyle#1$}}}% + \endgroup} +\def\math@atom#1#2{% + \binrel@{#1}\binrel@@{#2}} +\DeclareRobustCommand{\pmb}{% + \ifmmode\else \expandafter\pmb@@\fi\mathpalette\pmb@} +\def\pmb@@#1#2#3{\leavevmode\setboxz@h{#3}% + \dimen@-\wdz@ + \kern-.5\ex@\copy\z@ + \kern\dimen@\kern.25\ex@\raise.4\ex@\copy\z@ + \kern\dimen@\kern.25\ex@\box\z@ +} +\newdimen\pmbraise@ +\def\pmb@#1#2{\setbox8\hbox{$\m@th#1{#2}$}% + \setboxz@h{$\m@th#1\mkern.5mu$}\pmbraise@\wdz@ + \binrel@{#2}% + \dimen@-\wd8 % + \binrel@@{% + \mkern-.8mu\copy8 % + \kern\dimen@\mkern.4mu\raise\pmbraise@\copy8 % + \kern\dimen@\mkern.4mu\box8 }% +} +\def\binrel@#1{\begingroup + \setboxz@h{\thinmuskip0mu + \medmuskip\m@ne mu\thickmuskip\@ne mu + \setbox\tw@\hbox{$#1\m@th$}\kern-\wd\tw@ + ${}#1{}\m@th$}% + \edef\@tempa{\endgroup\let\noexpand\binrel@@ + \ifdim\wdz@<\z@ \mathbin + \else\ifdim\wdz@>\z@ \mathrel + \else \relax\fi\fi}% + \@tempa +} +\let\binrel@@\relax +\endinput +%% +%% End of file `amsbsy.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amscd.sty b/Master/texmf-dist/tex/latex/amslatex/amscd.sty new file mode 100644 index 00000000000..d45fc2c7b65 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amscd.sty @@ -0,0 +1,171 @@ +%% +%% This is file `amscd.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amscd.dtx +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amscd.dtx", +%%% version = "2.0", +%%% date = "1999/11/29", +%%% time = "14:30:07 EST", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 1999 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% checksum = "07428 333 1152 12117", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, commutative diagram", +%%% supported = "yes", +%%% abstract = "This is a \LaTeX{} package that adapts the +%%% commutative diagram macros of AMS-\TeX{} for +%%% use in \LaTeX{}", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1994/12/01]% LaTeX date must December 1994 or later +\ProvidesPackage{amscd}[1999/11/29 v2.0] +\RequirePackage{amsgen} +\@ifundefined{math@cr}{% + \def\math@cr{{\ifnum0=`}\fi + \@ifstar{\global\@eqpen\@M\math@cr@}% + {\global\@eqpen\interdisplaylinepenalty \math@cr@}} + \def\math@cr@{\new@ifnextchar[\math@cr@@{\math@cr@@[\z@]}} + \def\math@cr@@[#1]{\ifnum0=`{\fi}\math@cr@@@ + \noalign{\vskip#1\relax}} + \def\restore@math@cr{\def\math@cr@@@{\cr}} +}{} +\restore@math@cr +\@ifundefined{rightarrowfill@}{ + \def\rightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@ + $#1\copy\z@\mkern-6mu\cleaders + \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill + \mkern-6mu\mathord\rightarrow$} + \def\leftarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@ + $#1\mathord\leftarrow\mkern-6mu\cleaders + \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill + \mkern-6mu\box\z@$} + \def\leftrightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@ + $#1\mathord\leftarrow\mkern-6mu\cleaders + \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill + \mkern-6mu\mathord\rightarrow$} +}{} +\def\atdef@#1{\expandafter\def\csname\space @\string#1\endcsname} +\@ifundefined{Iat}{% + \DeclareRobustCommand{\Iat}{\FN@\at@} +}{} +\begingroup \catcode`\@=\active +\csname if\string @compatibility\endcsname +\else \fam=\mathcode`\@ + \xdef @{\mathchar\number\fam\space } +\fi +\gdef\CDat{\let @=\Iat} +\endgroup +\mathcode`\@="8000 % make @ pseudo-active in math +\def\at@{\let\next@\at@@ + \ifcat\noexpand\next a\else + \ifcat\noexpand\next0\else + \ifcat\noexpand\next\relax\else + \let\next@\at@@@\fi\fi\fi\next@} +\def\at@@#1{\expandafter + \ifx\csname\space @\string#1\endcsname\relax + \DN@{\at@@@#1}% + \else + \DN@{\csname\space @\string#1\endcsname}% + \fi\next@}% +\@ifundefined{default@tag}{% + \def\default@tag{% + \def\tag{\PackageError{amscd}{\protect\tag\space not allowed + here}\@eha}}% +}{}% +\@ifundefined{at@@@}{% + \def\at@@@{\PackageError{amscd}{\Invalid@@ @}{\the\athelp@}\char64\relax} +}{} +\@ifundefined{athelp@}{\csname newhelp\endcsname\athelp@ +{Only certain combinations beginning with @ make sense to me.^^J% +I'll assume you wanted @@ for a printed @.}}{} +\@ifundefined{minaw@}{\newdimen\minaw@}{} +\@ifundefined{bigaw@}{\newdimen\bigaw@}{} +\minaw@11.111pt +\newdimen\minCDarrowwidth +\minCDarrowwidth2.5pc +\newif\ifCD@ +\let\ampersand@\relax +\newenvironment{CD}{% + \CDat + \bgroup\relax\iffalse{\fi\let\ampersand@&\iffalse}\fi + \CD@true\vcenter\bgroup\let\\\math@cr\restore@math@cr\default@tag + \tabskip\z@skip\baselineskip20\ex@ + \lineskip3\ex@\lineskiplimit3\ex@\halign\bgroup + &\hfill$\m@th##$\hfill\crcr +}{% + \crcr\egroup\egroup\egroup +} +\def\CD@check#1#2{\ifCD@\DN@{#2}\else + \DN@{\PackageError{amscd}{@\protect#1 not + allowed outside of the CD environment}\@eha}% + \fi\next@} +\atdef@>#1>#2>{\ampersand@ + \ifCD@ \global\bigaw@\minCDarrowwidth \else \global\bigaw@\minaw@ \fi + \setboxz@h{$\m@th\scriptstyle\;{#1}\;\;$}% + \ifdim\wdz@>\bigaw@\global\bigaw@\wdz@\fi + \@ifnotempty{#2}{\setbox\@ne\hbox{$\m@th\scriptstyle\;{#2}\;\;$}% + \ifdim\wd\@ne>\bigaw@\global\bigaw@\wd\@ne\fi}% + \ifCD@\enskip\fi + \mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}% + \limits^{#1}\@ifnotempty{#2}{_{#2}}}% + \ifCD@\enskip\fi \ampersand@} +\atdef@<#1<#2<{\ampersand@ + \ifCD@ \global\bigaw@\minCDarrowwidth \else \global\bigaw@\minaw@ \fi + \setboxz@h{$\m@th\scriptstyle\;\;{#1}\;$}% + \ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi + \@ifnotempty{#2}{\setbox\@ne\hbox{$\m@th\scriptstyle\;\;{#2}\;$}% + \ifdim\wd\@ne>\bigaw@ \global\bigaw@\wd\@ne \fi}% + \ifCD@\enskip\fi + \mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}% + \limits^{#1}\@ifnotempty{#2}{_{#2}}}% + \ifCD@\enskip\fi \ampersand@} +\begingroup \catcode`\~=\active \lccode`\~=`\@ +\lowercase{% + \global\atdef@)#1)#2){~>#1>#2>} + \global\atdef@(#1(#2({~<#1<#2<} +}% end lowercase +\endgroup +\atdef@ A#1A#2A{\CD@check{A..A..A}{\llap{$\m@th\vcenter{\hbox + {$\scriptstyle#1$}}$}\Big\uparrow + \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}} +\atdef@ V#1V#2V{\CD@check{V..V..V}{\llap{$\m@th\vcenter{\hbox + {$\scriptstyle#1$}}$}\Big\downarrow + \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}} +\atdef@={\CD@check={&\enskip\mathrel + {\vbox{\hrule\@width\minCDarrowwidth\vskip2\ex@\hrule\@width + \minCDarrowwidth}}\enskip&}} +\atdef@|{\CD@check|{\Big\Vert&&}} +\atdef@\vert{\CD@check\vert{\Big\Vert&&}} +\atdef@.{\CD@check.{&&}} +\endinput +%% +%% End of file `amscd.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amsdtx.cls b/Master/texmf-dist/tex/latex/amslatex/amsdtx.cls new file mode 100644 index 00000000000..96a50814c8f --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amsdtx.cls @@ -0,0 +1,517 @@ +%% +%% This is file `amsdtx.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsdtx.dtx (with options: `amsdtx') +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsdtx.dtx", +%%% version = "2.06", +%%% date = "2004/08/06", +%%% time = "12:18:49 EDT", +%%% checksum = "19929 1192 3506 39423", +%%% author = "Michael J. Downes, updated by David M. Jones", +%%% copyright = "Copyright 1996, 1999, 2004 +%%% American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Publications Technical Group, +%%% 201 Charles Street, +%%% Providence, RI 02904, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, amslatex, ams-latex, user documentation", +%%% supported = "yes", +%%% abstract = "This is the source for two document classes, amsdtx +%%% and amsldoc, used to produce AMS user documentation +%%% or technical documentation.", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1995/06/01]% LaTeX date must be June 1995 or later +\ProvidesClass{amsdtx}[2004/08/06 v2.06] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}} +\ProcessOptions +\LoadClass{book} +\IfFileExists{url.sty}{% + \RequirePackage{url}\relax + \@gobble +}{% + \@firstofone +} +{ + \DeclareRobustCommand{\url}[1]{% + \def\@tempa{#1}% + \texttt{\urlsetup $\expandafter\strip@prefix\meaning\@tempa$}% + }% + \def\urlsetup{% + \check@mathfonts \textfont\@ne\the\font \textfont\z@\the\font + \urlfix +\urlfix\=\urlfix\:\urlfix\-\urlfix\.\urlfix\,\urlfix\;% + \urlbreak\&\urlbreak\/\urlbreak\?% + }% + \def\urlbreak#1{% + \mathcode`#1="8000 + \begingroup \lccode`\~=`#1 \lowercase{\endgroup \edef~}% + {\mathchar\number`#1\penalty\hyphenpenalty}% + }% + \def\urlfix#1{% + \mathcode`#1=`#1\relax + }% +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\providecommand{\qq}[1]{\textquotedblleft#1\/\textquotedblright} +\providecommand{\mdash}{\textemdash\penalty\exhyphenpenalty} +\providecommand{\ndash}{\textendash\penalty\exhyphenpenalty} +\let\@xp\expandafter +\newcommand*{\autoindex}[1]{% + \index{#1\ifcodeline@index\encapchar usage\fi}% +} +\newcommand{\ntt}{\normalfont\ttfamily} +\newcommand*{\indexcs}[1]{% + \@xp\@xp\@xp\@indexcs\@xp\@nobslash\string#1\@nil +} +\def\@indexcs#1\@nil{% + \autoindex{#1\actualchar + \string\verb\quotechar*\verbatimchar + \@xp\@bothoftwo\string\ #1\@empty + \verbatimchar + }% +} +\def\@bothoftwo#1#2{#1#2} +\def\category@index#1#2{% + {\ntt#2}% + \@category@index{#1}{#2}% +} +\def\@category@index#1#2{% + \autoindex{% + #2\actualchar\string\texttt{#2}% + \ifx\@nil#1\@nil\else\space#1\fi + }% +} +\chardef\bslchar=`\\ % p. 424, TeXbook +\newcommand{\addbslash}{\expandafter\@addbslash\string} +\def\@addbslash#1{\bslchar\@nobslash#1} +\newcommand{\nobslash}{\expandafter\@nobslash\string} +\def\@nobslash#1{\ifnum`#1=\bslchar\else#1\fi} +\def\@boxorbreak{% + \leavevmode + \ifmmode\hbox\else\ifdim\lastskip=\z@\penalty9999 \fi\fi +} +\DeclareRobustCommand{\cs}[1]{% + \@boxorbreak{% + \ntt + \addbslash#1\@empty + \@xp\@xp\@xp\@indexcs\@xp\@nobslash\string#1\@nil + }% +} +\let\cn\cs +\DeclareRobustCommand{\cls}{\category@index{class}} +\DeclareRobustCommand{\pkg}{\category@index{package}} +\DeclareRobustCommand{\opt}{\category@index{option}} +\DeclareRobustCommand{\env}[1]{{\ntt#1}\SpecialEnvIndex{#1}} +\DeclareRobustCommand{\fn}{\category@index{}} +\DeclareRobustCommand{\bst}{\category@index{\string\BibTeX{} style}} +\DeclareRobustCommand{\cnt}{\category@index{counter}} +\DeclareRobustCommand{\fnt}{\category@index{font}} +\def\allowtthyphens{\begingroup + \fontencoding{OT1}\fontfamily{cmtt}% + \expandafter\let\csname OT1+cmtt\endcsname\relax + \try@load@fontshape + \endgroup + \expandafter\let\csname OT1+cmtt\endcsname\@empty +} +\hfuzz2pc +\vbadness9999 \hbadness5000 +\def\AmS{{\protect\usefont{OMS}{cmsy}{m}{n}% + A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}} +\def\latex/{{\protect\LaTeX}} +\def\amslatex/{{\protect\AmS-\protect\LaTeX}} +\def\tex/{{\protect\TeX}} +\def\amstex/{{\protect\AmS-\protect\TeX}} +\def\bibtex/{{Bib\protect\TeX}} +\def\makeindx/{MakeIndex} +\def\xypic/{XY\mbox{-}pic} +\newcommand{\Textures}{\textit{Textures}} +\def\<#1>{\textit{$\langle$#1\/$\rangle$}} +\def\@listi{% + \leftmargin\leftmargini + \topsep 3\p@ \@plus2\p@ \@minus\p@ + \parsep \p@ \@plus\p@ \itemsep\parsep +} +\let\@listI\@listi +\@listi +\def\@listii{% + \leftmargin\leftmarginii + \labelwidth\leftmarginii \advance\labelwidth-\labelsep + \topsep\p@\@plus\p@ \@minus\p@ + \parsep\z@skip \itemsep\z@skip +} +\def\@listiii{% + \leftmargin\leftmarginiii + \labelwidth\leftmarginiii \advance\labelwidth-\labelsep + \topsep\z@skip \parsep\z@skip \itemsep\z@skip +} +\newenvironment{histnote}{% + \trivlist\item[\hspace{\labelsep}\bfseries Historical Note:]% +}{% + \endtrivlist +} +\def\@starttoc#1{\begingroup + \let\autoindex\@gobble + \makeatletter + \@input{\jobname.#1}\if@filesw + \expandafter\newwrite\csname tf@#1\endcsname + \immediate\openout + \csname tf@#1\endcsname \jobname.#1\relax + \fi \global\@nobreakfalse \endgroup} +\newcommand*{\secref}[1]{\S\ref{#1}} +\newcommand{\qc}[1]{}% check for prior definition +\edef\qc#1{\noexpand\protect\expandafter\noexpand\csname qc \endcsname + \noexpand\protect#1} +\@namedef{qc }#1#2{\begingroup\ntt + \ifx\ #2\char`\ \else\escapechar\m@ne\string#2\fi\endgroup} +\DeclareRobustCommand{\qcat}{\qc\@}% +\DeclareRobustCommand{\qcamp}{\qc\&}% +\DeclareRobustCommand{\qcbang}{\qc\!}% +\DeclareRobustCommand{\arg}[1]{{\ntt\##1}} +\def\ncn#1{{\let\index\@gobble\cn{#1}}} + +\DeclareRobustCommand{\cnbang}{% + \ncn{\!}\index{"!@{\ntt\bslchar\qcbang}}} +\DeclareRobustCommand{\cnat}{% + \ncn{\!}\index{"@@{\ntt\bslchar\qcat}}} +\def\5{\penalty500 } +\newcommand{\errexa}{\par\noindent\textit{Example}:\ } +\newcommand{\errexpl}{\par\noindent\textit{Explanation}:\ } +\renewcommand\chapter{\par \@afterindentfalse + \secdef\@chapter\@schapter} +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}% + {\protect\numberline{\thechapter}#1}% + \else + \addcontentsline{toc}{chapter}{#1}\fi + \else + \addcontentsline{toc}{chapter}{#1} + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi} +\def\@makechapterhead#1{% + \vspace{1.5\baselineskip}% + {\parindent \z@ \raggedright \reset@font + \ifnum \c@secnumdepth >\m@ne + \large\bfseries \@chapapp\space\thechapter + \par\nobreak + \vskip.5\baselineskip\relax + \fi + #1\par\nobreak + \vskip\baselineskip + }} +\def\@schapter#1{\if@twocolumn + \@topnewpage[\@makeschapterhead{#1}]% + \else + \@makeschapterhead{#1}% + \@afterheading + \fi} +\def\@makeschapterhead#1{% + \vspace*{1.5\baselineskip}% + {\parindent \z@ \raggedright + \reset@font + \large \bfseries #1\par\nobreak + \vskip\baselineskip + }} +\def\@removefromreset#1#2{\let\@tempb\@elt + \expandafter\let\expandafter\@tempa\csname c@#1\endcsname + \def\@elt##1{\expandafter\ifx\csname c@##1\endcsname\@tempa\else + \noexpand\@elt{##1}\fi}% + \expandafter\edef\csname cl@#2\endcsname{\csname cl@#2\endcsname}% + \let\@elt\@tempb} +\@removefromreset{footnote}{chapter} +\def\ps@headings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\thepage\hfil{\footnotesize\leftmark{}{}}}% + \def\@oddhead{{\footnotesize\rightmark{}{}}\hfil\thepage}% + \let\@mkboth\markboth + \def\chaptermark##1{% + \markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \@chapapp\ \thechapter. \ \fi + \fi + ##1}}{}}% + \def\sectionmark##1{% + \markright {\uppercase{\ifnum \c@secnumdepth >\z@ + \thesection. \ \fi + ##1}}}} +\renewcommand\maketitle{\par + \begingroup + \renewcommand\thefootnote{\fnsymbol{footnote}}% + \def\@makefnmark{\hbox to\z@{$\m@th^{\@thefnmark}$\hss}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0}% + \let\thanks\relax + \let\maketitle\relax\let\@maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}} +\def\@maketitle{% + \newpage + \null + \vskip 2em% + \begin{center}% + {\LARGE \@title \par}% + \vskip 1.5em% + {\large + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\large \@date}% + \end{center}% + \par + \uppercase\expandafter{\expandafter\toks@\expandafter{\@title}}% + \edef\@tempa{\noexpand\markboth{\the\toks@}{\the\toks@}}% + \@tempa + \vskip 1.5em} +\renewcommand\tableofcontents{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \subsection*{\contentsname}% + \@starttoc{toc}% + \if@restonecol\twocolumn\fi + } +\renewcommand\section{\@startsection {section}{1}{\z@}% + {-.6\baselineskip \@plus -3\p@}% + {.4\baselineskip} + {\reset@font\Large\bfseries}} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-.3\baselineskip\@plus -2\p@}% + {.2\baselineskip}% + {\reset@font\large\bfseries}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-.2\baselineskip\@plus -2\p@}% + {.2\baselineskip}% + {\reset@font\normalsize\bfseries}} +\renewenvironment{theindex}{% + \if@twocolumn \@restonecolfalse \else \@restonecoltrue \fi + \columnseprule \z@ \columnsep 35\p@ + \let\autoindex\@gobble + \twocolumn[\section*{\indexname}]% + \addcontentsline{toc}{chapter}{\indexname}% + \@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem +}{% + \if@restonecol\onecolumn\else\clearpage\fi +} +\renewcommand{\thesection}{\arabic{section}} +\long\def\@makecaption#1#2{% + \addvspace\abovecaptionskip + \begingroup + \countdef\@parcycles=8 % local count register + \@parcycles\z@ + \@setpar{\advance\@parcycles\@ne \ifnum\@parcycles>999 + \@@par\@parcycles\z@\fi + \ifhmode \unskip\hskip\parfillskip\penalty-\@M\fi}% + \@hangfrom{\textbf{#1.} }\vadjust{\penalty\m@ne}#2% + \endgroup + \ifhmode\unpenalty\fi\par + \ifnum\lastpenalty=\m@ne % only one line in the caption + \unpenalty \setbox\@tempboxa\lastbox + \nointerlineskip + \hbox to\hsize{\hfill\unhbox\@tempboxa\unskip\hfill}% + \fi + \nobreak\vskip\belowcaptionskip +} +\renewenvironment{table}{% + \belowcaptionskip\abovecaptionskip \abovecaptionskip\z@skip + \@float{table}% +}{% + \end@float +} +\renewenvironment{table*}{% + \belowcaptionskip\abovecaptionskip \abovecaptionskip\z@skip + \@dblfloat{table}% +}{% + \end@dblfloat +} +\setcounter{topnumber}{4}\setcounter{bottomnumber}{4} +\setcounter{totalnumber}{4}\setcounter{dbltopnumber}{4} +\renewcommand{\topfraction}{.97}\renewcommand{\bottomfraction}{.97} +\renewcommand{\textfraction}{.03}\renewcommand{\floatpagefraction}{.9} +\renewcommand{\dbltopfraction}{.97} +\renewcommand{\dblfloatpagefraction}{.9} +\setlength{\floatsep}{8pt plus6pt} +\setlength{\textfloatsep}{10pt plus8pt} +\setlength{\intextsep}{8pt plus6pt} +\setlength{\dblfloatsep}{8pt plus6pt} +\setlength{\dbltextfloatsep}{10pt plus8pt} +\setlength{\@fptop}{0pt}\setlength{\@fpsep}{8pt}% +\setlength{\@fpbot}{0pt plus 1fil} +\setlength{\@dblfptop}{0pt}\setlength{\@dblfpsep}{8pt}% +\setlength{\@dblfpbot}{0pt plus 1fil} + +\pagestyle{headings} +\newcommand{\arrayargpatch}{% + \let\@oldarray\@array + \edef\@array[##1]##2{\catcode\number`\|=\number\catcode`\| + \catcode\number`\@=\number\catcode`\@ \relax + \let\noexpand\@array\noexpand\@oldarray + \noexpand\@array[##1]{##2}}% + \catcode`\|=12 \catcode`\@=12 \relax +} +\newenvironment{ctab}{% + \par\topsep\medskipamount + \trivlist\centering + \item[]% + \arrayargpatch + \begin{tabular}% +}{% + \end{tabular}% + \endtrivlist +} +\RequirePackage{doc} +\def\AltMacroFont{\MacroFont} +\def\SpecialMainEnvIndex#1{% + \@bsphack + \special@index{% + #1\actualchar\string\texttt{#1} environment\encapchar main% + }% + \special@index{% + environments:\levelchar#1% + \actualchar\string\texttt{#1}% + \encapchar main}% + \@esphack +} +\def\SpecialEnvIndex#1{% + \@bsphack + \index{#1\actualchar\string\texttt{#1} environment\encapchar usage}% + \index{% + environments:\levelchar#1% + \actualchar\string\texttt{#1}% + \encapchar usage}% + \@esphack +} +\def\DescribeOption{% + \leavevmode + \@bsphack + \begingroup + \MakePrivateLetters + \Describe@Option +} +\def\Describe@Option#1{% + \endgroup + \marginpar{\raggedleft\PrintDescribeOption{#1}}% + \SpecialOptionIndex{#1}% + \@esphack + \ignorespaces +} +\def\PrintDescribeOption#1{\strut \MacroFont #1\ } +\def\option{% + \let\SpecialMainEnvIndex\SpecialMainOptionIndex +\begingroup + \catcode`\\12 + \MakePrivateLetters \m@cro@ \iffalse} +\def\SpecialMainOptionIndex#1{% + \@bsphack + \special@index{#1\actualchar\string\texttt{#1} option\encapchar main}% + \@esphack +} +\def\SpecialOptionIndex{\@category@index{option}} +\def\hDocInput#1{\MakePercentIgnore + \begingroup + \begingroup \lccode`\~=`\@ + \lowercase{\endgroup\long\def ~}##1##{% + \catcode`\==12 \skipfileheader{##1}}% + \catcode`\@=\active \catcode`\==14 % comment + \def\filename{#1}% + \@@input#1 \MakePercentComment} +\def\skipfileheader#1#2 {\endgroup + \hGetFileInfo#2 version = "??" date = "??"\@nil + \begingroup\catcode`\==9 \catcode`\ =9 \futurelet\0\endgroup +} +\long\def\hGetFileInfo#1 version = "#2"#3 date = "#4"#5\@nil{% + \def\fileversion{#2}\def\filedate{#4}} +\DoNotIndex{\@xp,\@nx,\@empty,\newcommand,\renewcommand} +\DoNotIndex{\newenvironment,\renewenvironment,\providecommand} +\DoNotIndex{\if,\fi,\ifnum,\fi,\@let@token,\futurelet,\fsa@n} +\DoNotIndex{\ignorespaces,\@tempcnta,\@tempcntb,\count@} +\DoNotIndex{\toks@,\@ne,\advance} +\DoNotIndex{\!,\/,\?,\@,\^,\_} +\DoNotIndex{\@@par,\@M,\@auxout,\@bsphack,\@esphack,\@depth,\@ehc} +\DoNotIndex{\@for,\@flushglue,\@gobble,\@gobbletwo,\@height,\@idxitem} +\DoNotIndex{\@ifnextchar,\@ifstar,\@ifundefined,\@input,\@latexerr} +\DoNotIndex{\@makeschapterhead,\@namedef,\@nameuse,\@nil} +\DoNotIndex{\@nobreakfalse,\@restonecolfalse,\@restonecoltrue} +\DoNotIndex{\@tempa,\@tempb,\@tempc,\@tempf,\@temptokena,\@themark,\@width} +\DoNotIndex{\active,\aindex,\baselineskip,\begin,\begingroup,\box} +\DoNotIndex{\c@page,\catcode,\chapter,\char,\chardef,\closeout} +\DoNotIndex{\CodelineIndex,\sp,\sb,\label,\leavevmode,\mark} +\DoNotIndex{\mark,\newinsert,\newwrite,\newtoks,\xdef} +\DoNotIndex{\columnsep,\columnseprule,\columnwidth,\csname,\def} +\DoNotIndex{\dimen,\do,\DocInput,\documentstyle,\edef,\em} +\DoNotIndex{\EnableCrossrefs,\end,\endcsname,\endgroup,\endinput} +\DoNotIndex{\everypar,\expandafter,\filedate,\fileversion} +\DoNotIndex{\footnotesize,\gdef,\global,\glossary,\hangindent} +\DoNotIndex{\if@filesw,\else,\fi} +\DoNotIndex{\if@nobreak,\if@twocolumn,\if@twoside,\fi,\fi,\fi} +\DoNotIndex{\hsize,\hskip} +\DoNotIndex{\ifhmode,\ifmmode,\ifodd,\ifvmode,\ifx,\fi,\fi,\fi,\fi,\fi} +\DoNotIndex{\ifcase,\ifdim,\ifeof,\iffalse,\iftrue,\fi,\fi,\fi,\fi,\fi} +\DoNotIndex{\ifcat,\fi} +\DoNotIndex{\immediate,\insert,\item,\jobname,\long} +\DoNotIndex{\let,\lineskip,\marginparsep,\marginparwidth,\maxdimen} +\DoNotIndex{\makeatletter,\noexpand,\openout,\protect,\rlap} +\DoNotIndex{\min,\newpage,\nobreak,\normalbaselineskip} +\DoNotIndex{\normallineskip,\p@,\par,\parfillskip,\parindent,\parskip} +\DoNotIndex{\penalty,\relax,\section,\sin,\sloppy,\space,\string} +\DoNotIndex{\tableofcontents,\the,\thepage,\thispagestyle,\toks,\tt} +\DoNotIndex{\twocolumn,\uppercase,\vbox,\vrule,\vskip,\vss} +\DoNotIndex{\write,\z@,\z@skip} +\endinput +%% +%% End of file `amsdtx.cls'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amsgen.sty b/Master/texmf-dist/tex/latex/amslatex/amsgen.sty new file mode 100644 index 00000000000..9d39357a496 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amsgen.sty @@ -0,0 +1,160 @@ +%% +%% This is file `amsgen.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsgen.dtx +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsgen.dtx", +%%% version = "2.0", +%%% date = "1999/11/30", +%%% time = "12:33:33 EST", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 1999 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% checksum = "07569 396 1613 14368", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, amslatex, ams-latex", +%%% supported = "yes", +%%% abstract = "This is part of the AMS-\LaTeX{} distribution. +%%% It contains some general internal macros shared +%%% by several different files in AMS-\LaTeX{}.", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1994/12/01]% LaTeX date must December 1994 or later +\ProvidesFile{amsgen.sty}[1999/11/30 v2.0] +\providecommand{\@saveprimitive}[2]{\begingroup\escapechar`\\\relax + \edef\@tempa{\string#1}\edef\@tempb{\meaning#1}% + \ifx\@tempa\@tempb \global\let#2#1% + \else + \edef\@tempb{\meaning#2}% + \ifx\@tempa\@tempb + \else + \@latex@error{Unable to properly define \string#2; primitive + \noexpand#1no longer primitive}\@eha + \fi + \fi + \endgroup} +\let\@xp=\expandafter +\let\@nx=\noexpand +\newtoks\@emptytoks +\def\@oparg#1[#2]{\@ifnextchar[{#1}{#1[#2]}} +\long\def\@ifempty#1{\@xifempty#1@@..\@nil} +\long\def\@xifempty#1#2@#3#4#5\@nil{% + \ifx#3#4\@xp\@firstoftwo\else\@xp\@secondoftwo\fi} +\long\def\@ifnotempty#1{\@ifempty{#1}{}} +\def\FN@{\futurelet\@let@token} +\def\DN@{\def\next@} +\def\RIfM@{\relax\ifmmode} +\def\setboxz@h{\setbox\z@\hbox} +\def\wdz@{\wd\z@} +\def\boxz@{\box\z@} +\def\relaxnext@{\let\@let@token\relax} +\long\def\new@ifnextchar#1#2#3{% + \let\reserved@d= #1% + \def\reserved@a{#2}\def\reserved@b{#3}% + \futurelet\@let@token\new@ifnch +} +\def\new@ifnch{% + \ifx\@let@token\reserved@d \let\reserved@b\reserved@a \fi + \reserved@b +} +\def\@ifstar#1#2{\new@ifnextchar *{\def\reserved@a*{#1}\reserved@a}{#2}} +\@ifundefined{every@math@size}{% +\let\every@math@size=\every@size +\def\glb@settings{% + \expandafter\ifx\csname S@\f@size\endcsname\relax + \calculate@math@sizes + \fi + \csname S@\f@size\endcsname + \ifmath@fonts + \begingroup + \escapechar\m@ne + \csname mv@\math@version \endcsname + \globaldefs\@ne + \let \glb@currsize \f@size + \math@fonts + \endgroup + \the\every@math@size + \else + \fi +} +\def\set@fontsize#1#2#3{% + \@defaultunits\@tempdimb#2pt\relax\@nnil + \edef\f@size{\strip@pt\@tempdimb}% + \@defaultunits\@tempskipa#3pt\relax\@nnil + \edef\f@baselineskip{\the\@tempskipa}% + \edef\f@linespread{#1}% + \let\baselinestretch\f@linespread + \def\size@update{% + \baselineskip\f@baselineskip\relax + \baselineskip\f@linespread\baselineskip + \normalbaselineskip\baselineskip + \setbox\strutbox\hbox{% + \vrule\@height.7\baselineskip + \@depth.3\baselineskip + \@width\z@}% +%%% \the\every@size + \let\size@update\relax}% + } +}{}% end \@ifundefined test +\newdimen\ex@ +\addto@hook\every@math@size{\compute@ex@} +\def\compute@ex@{% + \begingroup + \dimen@-\f@size\p@ + \ifdim\dimen@<-20\p@ + \global\ex@ 1.5\p@ + \else + \advance\dimen@10\p@ \multiply\dimen@\tw@ + \edef\@tempa{\ifdim\dimen@>\z@ -\fi}% + \dimen@ \ifdim\dimen@<\z@ -\fi \dimen@ + \advance\dimen@-\@m sp % fudge factor + \vfuzz\p@ + \def\do{\ifdim\dimen@>\z@ + \vfuzz=.97\vfuzz + \advance\dimen@ -\p@ + \@xp\do \fi}% + \do + \dimen@\p@ \advance\dimen@-\vfuzz + \global\ex@\p@ + \global\advance\ex@ \@tempa\dimen@ + \fi + \endgroup +} +\def\@addpunct#1{\ifnum\spacefactor>\@m \else#1\fi} +\def\frenchspacing{\sfcode`\.1006\sfcode`\?1005\sfcode`\!1004% + \sfcode`\:1003\sfcode`\;1002\sfcode`\,1001 } +\def\nomath@env{\@amsmath@err{% + \string\begin{\@currenvir} allowed only in paragraph mode% +}\@ehb% "You've lost some text" +} +\def\Invalid@@{Invalid use of \string} +\endinput +%% +%% End of file `amsgen.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amsldoc.cls b/Master/texmf-dist/tex/latex/amslatex/amsldoc.cls new file mode 100644 index 00000000000..0e8d142cbf9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amsldoc.cls @@ -0,0 +1,451 @@ +%% +%% This is file `amsldoc.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsdtx.dtx (with options: `amsldoc') +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsdtx.dtx", +%%% version = "2.06", +%%% date = "2004/08/06", +%%% time = "12:18:49 EDT", +%%% checksum = "19929 1192 3506 39423", +%%% author = "Michael J. Downes, updated by David M. Jones", +%%% copyright = "Copyright 1996, 1999, 2004 +%%% American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Publications Technical Group, +%%% 201 Charles Street, +%%% Providence, RI 02904, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, amslatex, ams-latex, user documentation", +%%% supported = "yes", +%%% abstract = "This is the source for two document classes, amsdtx +%%% and amsldoc, used to produce AMS user documentation +%%% or technical documentation.", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1995/06/01]% LaTeX date must be June 1995 or later +\ProvidesClass{amsldoc}[2004/08/06 v2.06] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}} +\ProcessOptions +\LoadClass{book} +\IfFileExists{url.sty}{% + \RequirePackage{url}\relax + \@gobble +}{% + \@firstofone +} +{ + \DeclareRobustCommand{\url}[1]{% + \def\@tempa{#1}% + \texttt{\urlsetup $\expandafter\strip@prefix\meaning\@tempa$}% + }% + \def\urlsetup{% + \check@mathfonts \textfont\@ne\the\font \textfont\z@\the\font + \urlfix +\urlfix\=\urlfix\:\urlfix\-\urlfix\.\urlfix\,\urlfix\;% + \urlbreak\&\urlbreak\/\urlbreak\?% + }% + \def\urlbreak#1{% + \mathcode`#1="8000 + \begingroup \lccode`\~=`#1 \lowercase{\endgroup \edef~}% + {\mathchar\number`#1\penalty\hyphenpenalty}% + }% + \def\urlfix#1{% + \mathcode`#1=`#1\relax + }% +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\providecommand{\qq}[1]{\textquotedblleft#1\/\textquotedblright} +\providecommand{\mdash}{\textemdash\penalty\exhyphenpenalty} +\providecommand{\ndash}{\textendash\penalty\exhyphenpenalty} +\let\@xp\expandafter +\def\actualchar{@} +\def\quotechar{"} +\def\levelchar{!} +\def\encapchar{|} +\def\verbatimchar{+} +\newif\ifcodeline@index +\newcommand*{\autoindex}[1]{% + \index{#1\ifcodeline@index\encapchar usage\fi}% +} +\newcommand{\ntt}{\normalfont\ttfamily} +\newcommand*{\indexcs}[1]{% + \@xp\@xp\@xp\@indexcs\@xp\@nobslash\string#1\@nil +} +\def\@indexcs#1\@nil{% + \autoindex{#1\actualchar + \string\verb\quotechar*\verbatimchar + \@xp\@bothoftwo\string\ #1\@empty + \verbatimchar + }% +} +\def\@bothoftwo#1#2{#1#2} +\def\category@index#1#2{% + {\ntt#2}% + \@category@index{#1}{#2}% +} +\def\@category@index#1#2{% + \autoindex{% + #2\actualchar\string\texttt{#2}% + \ifx\@nil#1\@nil\else\space#1\fi + }% +} +\chardef\bslchar=`\\ % p. 424, TeXbook +\newcommand{\addbslash}{\expandafter\@addbslash\string} +\def\@addbslash#1{\bslchar\@nobslash#1} +\newcommand{\nobslash}{\expandafter\@nobslash\string} +\def\@nobslash#1{\ifnum`#1=\bslchar\else#1\fi} +\def\@boxorbreak{% + \leavevmode + \ifmmode\hbox\else\ifdim\lastskip=\z@\penalty9999 \fi\fi +} +\DeclareRobustCommand{\cs}[1]{% + \@boxorbreak{% + \ntt + \addbslash#1\@empty + \@xp\@xp\@xp\@indexcs\@xp\@nobslash\string#1\@nil + }% +} +\let\cn\cs +\DeclareRobustCommand{\cls}{\category@index{class}} +\DeclareRobustCommand{\pkg}{\category@index{package}} +\DeclareRobustCommand{\opt}{\category@index{option}} +\DeclareRobustCommand{\env}{\category@index{environment}} +\DeclareRobustCommand{\fn}{\category@index{}} +\DeclareRobustCommand{\bst}{\category@index{\string\BibTeX{} style}} +\DeclareRobustCommand{\cnt}{\category@index{counter}} +\DeclareRobustCommand{\fnt}{\category@index{font}} +\def\allowtthyphens{\begingroup + \fontencoding{OT1}\fontfamily{cmtt}% + \expandafter\let\csname OT1+cmtt\endcsname\relax + \try@load@fontshape + \endgroup + \expandafter\let\csname OT1+cmtt\endcsname\@empty +} +\hfuzz2pc +\vbadness9999 \hbadness5000 +\def\AmS{{\protect\usefont{OMS}{cmsy}{m}{n}% + A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}} +\def\latex/{{\protect\LaTeX}} +\def\amslatex/{{\protect\AmS-\protect\LaTeX}} +\def\tex/{{\protect\TeX}} +\def\amstex/{{\protect\AmS-\protect\TeX}} +\def\bibtex/{{Bib\protect\TeX}} +\def\makeindx/{MakeIndex} +\def\xypic/{XY\mbox{-}pic} +\newcommand{\Textures}{\textit{Textures}} +\def\<#1>{\textit{$\langle$#1\/$\rangle$}} +\def\@listi{% + \leftmargin\leftmargini + \topsep 3\p@ \@plus2\p@ \@minus\p@ + \parsep \p@ \@plus\p@ \itemsep\parsep +} +\let\@listI\@listi +\@listi +\def\@listii{% + \leftmargin\leftmarginii + \labelwidth\leftmarginii \advance\labelwidth-\labelsep + \topsep\p@\@plus\p@ \@minus\p@ + \parsep\z@skip \itemsep\z@skip +} +\def\@listiii{% + \leftmargin\leftmarginiii + \labelwidth\leftmarginiii \advance\labelwidth-\labelsep + \topsep\z@skip \parsep\z@skip \itemsep\z@skip +} +\newenvironment{histnote}{% + \trivlist\item[\hspace{\labelsep}\bfseries Historical Note:]% +}{% + \endtrivlist +} +\def\@starttoc#1{\begingroup + \let\autoindex\@gobble + \makeatletter + \@input{\jobname.#1}\if@filesw + \expandafter\newwrite\csname tf@#1\endcsname + \immediate\openout + \csname tf@#1\endcsname \jobname.#1\relax + \fi \global\@nobreakfalse \endgroup} +\newcommand{\gloss}[1]{} +\newcommand*{\secref}[1]{\S\ref{#1}} +\newcommand{\qc}[1]{}% check for prior definition +\edef\qc#1{\noexpand\protect\expandafter\noexpand\csname qc \endcsname + \noexpand\protect#1} +\@namedef{qc }#1#2{\begingroup\ntt + \ifx\ #2\char`\ \else\escapechar\m@ne\string#2\fi\endgroup} +\DeclareRobustCommand{\qcat}{\qc\@}% +\DeclareRobustCommand{\qcamp}{\qc\&}% +\DeclareRobustCommand{\qcbang}{\qc\!}% +\DeclareRobustCommand{\arg}[1]{{\ntt\##1}} +\newcommand{\openbox}{\leavevmode + \hbox to.77778em{% + \hfil\vrule + \vbox to.675em{\hrule width.6em\vfil\hrule}% + \vrule\hfil}} +\newcommand{\qedsymbol}{\openbox} +\def\mail{\texttt} +\def\*#1{\def\@tempa{#1}\def\@tempb{*}% + \ifx\@tempa\@tempb \expandafter\index + \else #1\index{#1}\fi} +\def\ncn#1{{\let\index\@gobble\cn{#1}}} + +\DeclareRobustCommand{\cnbang}{% + \ncn{\!}\index{"!@{\ntt\bslchar\qcbang}}} +\DeclareRobustCommand{\cnat}{% + \ncn{\!}\index{"@@{\ntt\bslchar\qcat}}} +\def\5{\penalty500 } +\newenvironment{error}{% + \begingroup\catcode`\\=12 \expandafter\endgroup\errora +}{% + \endtrivlist +} +\newcommand{\errora}[1]{% + \trivlist + \item[\hskip\labelsep\errorbullet\enspace + \ntt\frenchspacing\def\@tempa{#1}% + \expandafter\strip@prefix\meaning\@tempa]\leavevmode\par +} +\newcommand{\errorbullet}{\rule[-.5pt]{2.5pt}{7.5pt}% + \rule[-.5pt]{5pt}{2.5pt}\kern-2.5pt% + \rule[4.5pt]{2.5pt}{2.5pt}} +\newcommand{\errexa}{\par\noindent\textit{Example}:\ } +\newcommand{\errexpl}{\par\noindent\textit{Explanation}:\ } +\renewcommand\frontmatter{\clearpage + \@mainmatterfalse\pagenumbering{roman}} +\renewcommand\mainmatter{\clearpage + \@mainmattertrue\pagenumbering{arabic}} +\renewcommand\backmatter{\clearpage \@mainmatterfalse} +\renewcommand\part{\clearpage + \thispagestyle{plain}% + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \hbox{}\vfil + \secdef\@part\@spart} +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >-2\relax + \refstepcounter{part}% + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% + \else + \addcontentsline{toc}{part}{#1}% + \fi + \markboth{}{}% + {\centering + \interlinepenalty \@M + \reset@font + \ifnum \c@secnumdepth >-2\relax + \Large\bfseries \partname~\thepart + \par + \vskip 20\p@ + \fi + \Large \bfseries #2\par}% + \@endpart} +\def\@spart#1{% + {\centering + \interlinepenalty \@M + \reset@font + \Large \bfseries #1\par}% + \@endpart} +\def\@endpart{\vfil\newpage + \if@twoside + \hbox{}% + \thispagestyle{empty}% + \newpage + \fi + \if@tempswa + \twocolumn + \fi} +\renewcommand\chapter{\par \@afterindentfalse + \secdef\@chapter\@schapter} +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}% + {\protect\numberline{\thechapter}#1}% + \else + \addcontentsline{toc}{chapter}{#1}\fi + \else + \addcontentsline{toc}{chapter}{#1} + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi} +\def\@makechapterhead#1{% + \vspace{1.5\baselineskip}% + {\parindent \z@ \raggedright \reset@font + \ifnum \c@secnumdepth >\m@ne + \large\bfseries \@chapapp\space\thechapter + \par\nobreak + \vskip.5\baselineskip\relax + \fi + #1\par\nobreak + \vskip\baselineskip + }} +\def\@schapter#1{\if@twocolumn + \@topnewpage[\@makeschapterhead{#1}]% + \else + \@makeschapterhead{#1}% + \@afterheading + \fi} +\def\@makeschapterhead#1{% + \vspace*{1.5\baselineskip}% + {\parindent \z@ \raggedright + \reset@font + \large \bfseries #1\par\nobreak + \vskip\baselineskip + }} +\def\@removefromreset#1#2{\let\@tempb\@elt + \expandafter\let\expandafter\@tempa\csname c@#1\endcsname + \def\@elt##1{\expandafter\ifx\csname c@##1\endcsname\@tempa\else + \noexpand\@elt{##1}\fi}% + \expandafter\edef\csname cl@#2\endcsname{\csname cl@#2\endcsname}% + \let\@elt\@tempb} +\@removefromreset{footnote}{chapter} +\def\ps@headings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\thepage\hfil{\footnotesize\leftmark{}{}}}% + \def\@oddhead{{\footnotesize\rightmark{}{}}\hfil\thepage}% + \let\@mkboth\markboth + \def\chaptermark##1{% + \markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \@chapapp\ \thechapter. \ \fi + \fi + ##1}}{}}% + \def\sectionmark##1{% + \markright {\uppercase{\ifnum \c@secnumdepth >\z@ + \thesection. \ \fi + ##1}}}} +\renewcommand\section{\@startsection {section}{1}{\z@}% + {-.6\baselineskip \@plus -3\p@}% + {.4\baselineskip} + {\reset@font\normalsize\bfseries}} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-.3\baselineskip\@plus -2\p@}% + {.2\baselineskip}% + {\reset@font\normalsize\bfseries}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-.2\baselineskip\@plus -2\p@}% + {.2\baselineskip}% + {\reset@font\normalsize\bfseries}} +\renewenvironment{theindex}{% + \if@twocolumn \@restonecolfalse \else \@restonecoltrue \fi + \columnseprule \z@ \columnsep 35\p@ + \let\autoindex\@gobble + \twocolumn[\@makeschapterhead{\indexname}]% + \addcontentsline{toc}{chapter}{\indexname}% + \@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem +}{% + \if@restonecol\onecolumn\else\clearpage\fi +} +\long\def\@makecaption#1#2{% + \addvspace\abovecaptionskip + \begingroup + \countdef\@parcycles=8 % local count register + \@parcycles\z@ + \@setpar{\advance\@parcycles\@ne \ifnum\@parcycles>999 + \@@par\@parcycles\z@\fi + \ifhmode \unskip\hskip\parfillskip\penalty-\@M\fi}% + \@hangfrom{\textbf{#1.} }\vadjust{\penalty\m@ne}#2% + \endgroup + \ifhmode\unpenalty\fi\par + \ifnum\lastpenalty=\m@ne % only one line in the caption + \unpenalty \setbox\@tempboxa\lastbox + \nointerlineskip + \hbox to\hsize{\hfill\unhbox\@tempboxa\unskip\hfill}% + \fi + \nobreak\vskip\belowcaptionskip +} +\renewenvironment{table}{% + \belowcaptionskip\abovecaptionskip \abovecaptionskip\z@skip + \@float{table}% +}{% + \end@float +} +\renewenvironment{table*}{% + \belowcaptionskip\abovecaptionskip \abovecaptionskip\z@skip + \@dblfloat{table}% +}{% + \end@dblfloat +} +\setcounter{topnumber}{4}\setcounter{bottomnumber}{4} +\setcounter{totalnumber}{4}\setcounter{dbltopnumber}{4} +\renewcommand{\topfraction}{.97}\renewcommand{\bottomfraction}{.97} +\renewcommand{\textfraction}{.03}\renewcommand{\floatpagefraction}{.9} +\renewcommand{\dbltopfraction}{.97} +\renewcommand{\dblfloatpagefraction}{.9} +\setlength{\floatsep}{8pt plus6pt} +\setlength{\textfloatsep}{10pt plus8pt} +\setlength{\intextsep}{8pt plus6pt} +\setlength{\dblfloatsep}{8pt plus6pt} +\setlength{\dbltextfloatsep}{10pt plus8pt} +\setlength{\@fptop}{0pt}\setlength{\@fpsep}{8pt}% +\setlength{\@fpbot}{0pt plus 1fil} +\setlength{\@dblfptop}{0pt}\setlength{\@dblfpsep}{8pt}% +\setlength{\@dblfpbot}{0pt plus 1fil} + +\pagestyle{headings} +\AtBeginDocument{\catcode`\|=\active } +\def\activevert{\verb|} +\expandafter\gdef\expandafter\dospecials\expandafter + {\dospecials \do\|}% +\expandafter\gdef\expandafter\@sanitize\expandafter + {\@sanitize \@makeother\|} +\begingroup\catcode`\|=\active \gdef|{\protect\activevert{}}\endgroup +\newcommand{\arrayargpatch}{% + \let\@oldarray\@array + \edef\@array[##1]##2{\catcode\number`\|=\number\catcode`\| + \catcode\number`\@=\number\catcode`\@ \relax + \let\noexpand\@array\noexpand\@oldarray + \noexpand\@array[##1]{##2}}% + \catcode`\|=12 \catcode`\@=12 \relax +} +\newenvironment{ctab}{% + \par\topsep\medskipamount + \trivlist\centering + \item[]% + \arrayargpatch + \begin{tabular}% +}{% + \end{tabular}% + \endtrivlist +} +\endinput +%% +%% End of file `amsldoc.cls'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amsmath.sty b/Master/texmf-dist/tex/latex/amslatex/amsmath.sty new file mode 100644 index 00000000000..8d22f7aeb0f --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amsmath.sty @@ -0,0 +1,2670 @@ +%% +%% This is file `amsmath.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsmath.dtx +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsmath.dtx", +%%% version = "2.13", +%%% date = "2000/07/18", +%%% time = "08:16:41 EDT", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 2000 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Publications Technical Group, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% checksum = "38084 5829 21569 202795", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, amslatex, math, amsmath", +%%% supported = "yes", +%%% abstract = "This is a \LaTeX{} package that provides a variety of +%%% extra mathematical features, largely derived from +%%% AMS-\TeX{}.", +%%% docstring = "The checksum field above contains a CRC-16 checksum +%%% as the first value, followed by the equivalent of +%%% the standard UNIX wc (word count) utility output of +%%% lines, words, and characters. This is produced by +%%% Robert Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1994/12/01]% LaTeX date must be December 1994 or later +\ProvidesPackage{amsmath}[2000/07/18 v2.13 AMS math features] +\edef\@temp{\catcode 96=\number\catcode 96 } +\catcode\string `\`=12 +\def\do#1{\catcode\number`#1=\number\catcode`#1} +\edef\@temp{% + \noexpand\AtEndOfPackage{% + \@temp + \do\"\do\'\do\(\do\)\do\*\do\+\do\,\do\-\do\.% + \do\/\do\<\do\=\do\>\do\[\do\]\do\^\do\_\relax + }% +} +\@temp +\def\do#1{\catcode\number`#1=12 } +\do\"\do\'\do\(\do\)\do\*\do\+\do\,\do\-\do\. +\do\/\do\<\do\=\do\>\do\[\do\] +\catcode`\^=7 \catcode`\_=8 +\DeclareOption{intlimits}{\let\ilimits@\displaylimits} +\DeclareOption{nointlimits}{\let\ilimits@\nolimits} +\DeclareOption{sumlimits}{\let\slimits@\displaylimits} +\DeclareOption{nosumlimits}{\let\slimits@\nolimits} +\DeclareOption{namelimits}{\PassOptionsToPackage{namelimits}{amsopn}} +\DeclareOption{nonamelimits}{% + \PassOptionsToPackage{nonamelimits}{amsopn}} +\newif\ifctagsplit@ +\newif\iftagsleft@ +\DeclareOption{leqno}{\tagsleft@true} +\DeclareOption{reqno}{\tagsleft@false} +\DeclareOption{centertags}{\ctagsplit@true} +\DeclareOption{tbtags}{\ctagsplit@false} +\DeclareOption{cmex10}{% + \ifnum\cmex@opt=\@ne \def\cmex@opt{0}% + \else \def\cmex@opt{10}\fi +} +\@ifundefined{cmex@opt}{\def\cmex@opt{7}}{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newif\if@fleqn +\newskip\@mathmargin +\@mathmargin\@centering +\DeclareOption{fleqn}{% + \@fleqntrue + \@mathmargin = -1sp + \let\mathindent=\@mathmargin + \AtBeginDocument{% + \ifdim\@mathmargin= -1sp + \@mathmargin\leftmargini minus\leftmargini + \fi + }% +} +\DeclareOption{?}{} +\ExecuteOptions{nointlimits,sumlimits,namelimits,centertags} +\ProcessOptions\par +\@ifpackagewith{amsmath}{?}{% + \typeout{^^J% +Documentation for the amsmath package is found in amsldoc.dvi^^J% +(or .pdf or .tex).^^J% +^^J% +See also http://www.ams.org/tex/amslatex.html.^^J% +^^J% +Note: Using the first edition of The LaTeX Companion (1994) without^^J% +errata as a guide for amsmath use is not recommended.^^J% + }% +}{% + \typeout{% +For additional information on amsmath, use the \lq ?\rq\space option.% + }% +} +\ifnum\cmex@opt=7 \relax + \DeclareFontShape{OMX}{cmex}{m}{n}{% + <-8>cmex7<8>cmex8<9>cmex9% + <10><10.95><12><14.4><17.28><20.74><24.88>cmex10% + }{}% + \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax +\else + \ifnum\cmex@opt=\z@ % need to override cmex7 fontdef from amsfonts + \begingroup + \fontencoding{OMX}\fontfamily{cmex}% + \expandafter\let\csname OMX+cmex\endcsname\relax + \try@load@fontshape + \endgroup + \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax + \def\cmex@opt{10}% + \fi +\fi +\RequirePackage{amstext}[1995/01/25] +\RequirePackage{amsbsy}[1995/01/20] +\RequirePackage{amsopn}[1995/01/20] +\def\@amsmath@err{\PackageError{amsmath}} +\providecommand{\AmS}{{\protect\AmSfont + A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}} +\newcommand{\AmSfont}{% + \usefont{OMS}{cmsy}{\if\@xp\@car\f@series\@nil bb\else m\fi}{n}} +\def\@mathmeasure#1#2#3{\setbox#1\hbox{\frozen@everymath\@emptytoks + \m@th$#2#3$}} +\@ifundefined{inf@bad}{% + \newcount\inf@bad \inf@bad=1000000 \relax +}{} +\DeclareRobustCommand{\tmspace}[3]{% + \ifmmode\mskip#1#2\else\kern#1#3\fi\relax} +\renewcommand{\,}{\tmspace+\thinmuskip{.1667em}} +\let\thinspace\, +\renewcommand{\!}{\tmspace-\thinmuskip{.1667em}} +\let\negthinspace\! +\renewcommand{\:}{\tmspace+\medmuskip{.2222em}} +\let\medspace\: +\newcommand{\negmedspace}{\tmspace-\medmuskip{.2222em}} +\renewcommand{\;}{\tmspace+\thickmuskip{.2777em}} +\let\thickspace\; +\newcommand{\negthickspace}{\tmspace-\thickmuskip{.2777em}} +\newcommand{\mspace}[1]{\mskip#1\relax} +\def\@tempa#1#2\@nil{% + \ifx\delimiter#1\@tempcnta#2\relax\else\@tempcnta\z@\fi +} +\@xp\@tempa\vert\@empty\@nil +\ifnum\@tempcnta>\z@ + \advance\@tempcnta "4000000 + \xdef\lvert{\delimiter\number\@tempcnta\space } + \advance\@tempcnta "1000000 + \xdef\rvert{\delimiter\number\@tempcnta\space } +\else + \ifx\@@undefined\lvert + % Fall back to cmex encoding since we don't know what else to do. + \DeclareMathDelimiter{\lvert} + {\mathopen}{symbols}{"6A}{largesymbols}{"0C} + \DeclareMathDelimiter{\rvert} + {\mathclose}{symbols}{"6A}{largesymbols}{"0C} + \fi +\fi +\@xp\@tempa\Vert\@empty\@nil +\ifnum\@tempcnta>\z@ + \advance\@tempcnta "4000000 + \xdef\lVert{\delimiter\number\@tempcnta\space } + \advance\@tempcnta "1000000 + \xdef\rVert{\delimiter\number\@tempcnta\space } +\else + \ifx\@@undefined\lVert + \DeclareMathDelimiter{\lVert} + {\mathopen}{symbols}{"6B}{largesymbols}{"0D} + \DeclareMathDelimiter{\rVert} + {\mathclose}{symbols}{"6B}{largesymbols}{"0D} + \fi +\fi +\@saveprimitive\over\@@over +\@saveprimitive\atop\@@atop +\@saveprimitive\above\@@above +\@saveprimitive\overwithdelims\@@overwithdelims +\@saveprimitive\atopwithdelims\@@atopwithdelims +\@saveprimitive\abovewithdelims\@@abovewithdelims +\DeclareRobustCommand{\primfrac}[1]{% + \PackageWarning{amsmath}{% +Foreign command \@backslashchar#1;\MessageBreak +\protect\frac\space or \protect\genfrac\space should be used instead% +\MessageBreak + } + \global\@xp\let\csname#1\@xp\endcsname\csname @@#1\endcsname + \csname#1\endcsname +} +\renewcommand{\over}{\primfrac{over}} +\renewcommand{\atop}{\primfrac{atop}} +\renewcommand{\above}{\primfrac{above}} +\renewcommand{\overwithdelims}{\primfrac{overwithdelims}} +\renewcommand{\atopwithdelims}{\primfrac{atopwithdelims}} +\renewcommand{\abovewithdelims}{\primfrac{abovewithdelims}} +\DeclareRobustCommand{\frac}[2]{{\begingroup#1\endgroup\@@over#2}} +\newcommand{\dfrac}{\genfrac{}{}{}0} +\newcommand{\tfrac}{\genfrac{}{}{}1} +\DeclareRobustCommand{\binom}{\genfrac()\z@{}} +\newcommand{\dbinom}{\genfrac(){0pt}0} +\newcommand{\tbinom}{\genfrac(){0pt}1} +\DeclareRobustCommand{\genfrac}[4]{% + \def\@tempa{#1#2}% + \edef\@tempb{\@nx\@genfrac\@mathstyle{#4}% + \csname @@\ifx @#3@over\else above\fi + \ifx\@tempa\@empty \else withdelims\fi\endcsname} + \@tempb{#1#2#3}} +\def\@genfrac#1#2#3#4#5{{#1{\begingroup#4\endgroup#2#3\relax#5}}} +\def\@mathstyle#1{% + \ifx\@empty#1\@empty\relax + \else\ifcase#1\displaystyle % case 0 + \or\textstyle\or\scriptstyle\else\scriptscriptstyle\fi\fi} +\begingroup +\edef\@tempa{\string\mathchar"} +\def\@tempb#1"#2\@nil{#1"} +\edef\@tempc{\expandafter\@tempb\meaning\coprod "\@nil} +\ifx\@tempa\@tempc + \global\let\coprod@\coprod + \gdef\coprod{\DOTSB\coprod@\slimits@} + \global\let\bigvee@\bigvee + \gdef\bigvee{\DOTSB\bigvee@\slimits@} + \global\let\bigwedge@\bigwedge + \gdef\bigwedge{\DOTSB\bigwedge@\slimits@} + \global\let\biguplus@\biguplus + \gdef\biguplus{\DOTSB\biguplus@\slimits@} + \global\let\bigcap@\bigcap + \gdef\bigcap{\DOTSB\bigcap@\slimits@} + \global\let\bigcup@\bigcup + \gdef\bigcup{\DOTSB\bigcup@\slimits@} + \global\let\prod@\prod + \gdef\prod{\DOTSB\prod@\slimits@} + \global\let\sum@\sum + \gdef\sum{\DOTSB\sum@\slimits@} + \global\let\bigotimes@\bigotimes + \gdef\bigotimes{\DOTSB\bigotimes@\slimits@} + \global\let\bigoplus@\bigoplus + \gdef\bigoplus{\DOTSB\bigoplus@\slimits@} + \global\let\bigodot@\bigodot + \gdef\bigodot{\DOTSB\bigodot@\slimits@} + \global\let\bigsqcup@\bigsqcup + \gdef\bigsqcup{\DOTSB\bigsqcup@\slimits@} +\fi +\endgroup +\newcommand{\leftroot}{\@amsmath@err{\Invalid@@\leftroot}\@eha} +\newcommand{\uproot}{\@amsmath@err{\Invalid@@\uproot}\@eha} +\newcount\uproot@ +\newcount\leftroot@ +\renewcommand{\root}{\relaxnext@ + \DN@{\ifx\@let@token\uproot\let\next@\nextii@\else + \ifx\@let@token\leftroot\let\next@\nextiii@\else + \let\next@\plainroot@\fi\fi\next@}% + \def\nextii@\uproot##1{\uproot@##1\relax\FN@\nextiv@}% + \def\nextiv@{\ifx\@let@token\@sptoken\DN@. {\FN@\nextv@}\else + \DN@.{\FN@\nextv@}\fi\next@.}% + \def\nextv@{\ifx\@let@token\leftroot\let\next@\nextvi@\else + \let\next@\plainroot@\fi\next@}% + \def\nextvi@\leftroot##1{\leftroot@##1\relax\plainroot@}% + \def\nextiii@\leftroot##1{\leftroot@##1\relax\FN@\nextvii@}% + \def\nextvii@{\ifx\@let@token\@sptoken + \DN@. {\FN@\nextviii@}\else + \DN@.{\FN@\nextviii@}\fi\next@.}% + \def\nextviii@{\ifx\@let@token\uproot\let\next@\nextix@\else + \let\next@\plainroot@\fi\next@}% + \def\nextix@\uproot##1{\uproot@##1\relax\plainroot@}% + \bgroup\uproot@\z@\leftroot@\z@\FN@\next@} +\def\plainroot@#1\of#2{\setbox\rootbox\hbox{% + $\m@th\scriptscriptstyle{#1}$}% + \mathchoice{\r@@t\displaystyle{#2}}{\r@@t\textstyle{#2}} + {\r@@t\scriptstyle{#2}}{\r@@t\scriptscriptstyle{#2}}\egroup} + +\@ifundefined{sqrtsign}{\let\sqrtsign\@@sqrt}{} +\def\r@@t#1#2{\setboxz@h{$\m@th#1\sqrtsign{#2}$}% + \dimen@\ht\z@\advance\dimen@-\dp\z@ + \setbox\@ne\hbox{$\m@th#1\mskip\uproot@ mu$}% + \advance\dimen@ by1.667\wd\@ne + \mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@\copy\rootbox + \mkern-10mu\mkern\leftroot@ mu\boxz@} +\@ifundefined{varGamma}{% + \DeclareMathSymbol{\varGamma}{\mathord}{letters}{"00} + \DeclareMathSymbol{\varDelta}{\mathord}{letters}{"01} + \DeclareMathSymbol{\varTheta}{\mathord}{letters}{"02} + \DeclareMathSymbol{\varLambda}{\mathord}{letters}{"03} + \DeclareMathSymbol{\varXi}{\mathord}{letters}{"04} + \DeclareMathSymbol{\varPi}{\mathord}{letters}{"05} + \DeclareMathSymbol{\varSigma}{\mathord}{letters}{"06} + \DeclareMathSymbol{\varUpsilon}{\mathord}{letters}{"07} + \DeclareMathSymbol{\varPhi}{\mathord}{letters}{"08} + \DeclareMathSymbol{\varPsi}{\mathord}{letters}{"09} + \DeclareMathSymbol{\varOmega}{\mathord}{letters}{"0A} +}{} +\@saveprimitive\overline\@@overline +\DeclareRobustCommand{\overline}[1]{\@@overline{#1}} +\newcommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}} +\newcommand{\implies}{\DOTSB\;\Longrightarrow\;} +\newcommand{\impliedby}{\DOTSB\;\Longleftarrow\;} +\def\And{\DOTSB\;\mathchar"3026 \;} +\newcommand{\nobreakdash}{\leavevmode + \toks@\@emptytoks \def\@tempa##1{\toks@\@xp{\the\toks@-}\FN@\next@}% + \DN@{\ifx\@let@token-\@xp\@tempa + \else\setboxz@h{\the\toks@\nobreak}\unhbox\z@\fi}% + \FN@\next@ +} +\renewcommand{\colon}{\nobreak\mskip2mu\mathpunct{}\nonscript + \mkern-\thinmuskip{:}\mskip6muplus1mu\relax} +\let\ifgtest@\iffalse % initial value +\def\gtest@true{\global\let\ifgtest@\iftrue} +\def\gtest@false{\global\let\ifgtest@\iffalse} +\let\DOTSI\relax +\let\DOTSB\relax +\let\DOTSX\relax +{\uccode`7=`\\ \uccode`8=`m \uccode`9=`a \uccode`0=`t \uccode`!=`h + \uppercase{% + \gdef\math@#1#2#3#4#5#6\math@{\gtest@false\ifx 7#1\ifx 8#2% + \ifx 9#3\ifx 0#4\ifx !#5\xdef\meaning@{#6}\gtest@true + \fi\fi\fi\fi\fi}}} +{\uccode`7=`c \uccode`8=`h \uccode`9=`\" + \uppercase{\gdef\mathch@#1#2#3#4#5#6\mathch@{\gtest@false + \ifx 7#1\ifx 8#2\ifx 9#5\gtest@true\xdef\meaning@{9#6}\fi\fi\fi}}} +\newcount\classnum@ +\def\getmathch@#1.#2\getmathch@{\classnum@#1 \divide\classnum@4096 + \ifcase\number\classnum@\or\or\gdef\thedots@{\dotsb@}\or + \gdef\thedots@{\dotsb@}\fi} +{\uccode`4=`b \uccode`5=`i \uccode`6=`n + \uppercase{\gdef\mathbin@#1#2#3{\relaxnext@ + \def\nextii@##1\mathbin@{\ifx\@sptoken\@let@token\gtest@true\fi}% + \gtest@false\DN@##1\mathbin@{}% + \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}} +{\uccode`4=`r \uccode`5=`e \uccode`6=`l + \uppercase{\gdef\mathrel@#1#2#3{\relaxnext@ + \def\nextii@##1\mathrel@{\ifx\@sptoken\@let@token\gtest@true\fi}% + \gtest@false\DN@##1\mathrel@{}% + \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}} +{\uccode`5=`m \uccode`6=`a \uccode`7=`c + \uppercase{\gdef\macro@#1#2#3#4\macro@{\gtest@false + \ifx 5#1\ifx 6#2\ifx 7#3\gtest@true + \xdef\meaning@{\macro@@#4\macro@@}\fi\fi\fi}}} +\def\macro@@#1->#2\macro@@{#2} +\newcount\DOTSCASE@ +{\uccode`6=`\\ \uccode`7=`D \uccode`8=`O \uccode`9=`T \uccode`0=`S + \uppercase{\gdef\DOTS@#1#2#3#4#5{\gtest@false\DN@##1\DOTS@{}% + \ifx 6#1\ifx 7#2\ifx 8#3\ifx 9#4\ifx 0#5\let\next@\DOTS@@ + \fi\fi\fi\fi\fi + \next@}}} +{\uccode`3=`B \uccode`4=`I \uccode`5=`X + \uppercase{\gdef\DOTS@@#1{\relaxnext@ + \def\nextii@##1\DOTS@{\ifx\@sptoken\@let@token\gtest@true\fi}% + \DN@{\FN@\nextii@}% + \ifx 3#1\global\DOTSCASE@\z@\else + \ifx 4#1\global\DOTSCASE@\@ne\else + \ifx 5#1\global\DOTSCASE@\tw@\else\DN@##1\DOTS@{}% + \fi\fi\fi\next@}}} +{\uccode`5=`\\ \uccode`6=`n \uccode`7=`o \uccode`8=`t + \uppercase{\gdef\not@#1#2#3#4{\relaxnext@ + \def\nextii@##1\not@{\ifx\@sptoken\@let@token\gtest@true\fi}% + \gtest@false\DN@##1\not@{}% + \ifx 5#1\ifx 6#2\ifx 7#3\ifx 8#4\DN@{\FN@\nextii@}\fi\fi\fi + \fi\next@}}} +\def\keybin@{\gtest@true + \ifx\@let@token+\else\ifx\@let@token=\else + \ifx\@let@token<\else\ifx\@let@token>\else + \ifx\@let@token-\else\ifx\@let@token*\else\ifx\@let@token:\else + \gtest@false\fi\fi\fi\fi\fi\fi\fi} +\@ifundefined{@ldots}{\def\@ldots{\mathellipsis}}{} +\DeclareRobustCommand{\ldots}{% + \ifmmode \mathellipsis \else \textellipsis \fi +} +\DeclareRobustCommand{\dots}{% + \ifmmode \@xp\mdots@\else \@xp\textellipsis \fi +} +\def\tdots@{\leavevmode\unskip\relaxnext@ + \DN@{$\m@th\@ldots\, + \ifx\@let@token,\,$\else\ifx\@let@token.\,$\else + \ifx\@let@token;\,$\else\ifx\@let@token:\,$\else + \ifx\@let@token?\,$\else\ifx\@let@token!\,$\else + $ \fi\fi\fi\fi\fi\fi}% + \ \FN@\next@} +\def\mdots@{\FN@\mdots@@} +\def\mdots@@{\gdef\thedots@{\dotso@}% + \ifx\@let@token\boldsymbol \gdef\thedots@\boldsymbol{\boldsymboldots@}% + \else\ifx,\@let@token \gdef\thedots@{\dotsc}% + \else\ifx\not\@let@token \gdef\thedots@{\dotsb@}% + \else\keybin@ + \ifgtest@\gdef\thedots@{\dotsb@}% + \else\xdef\meaning@{\meaning\@let@token..........}% + \xdef\meaning@@{\meaning@}% + \@xp\math@\meaning@\math@ + \ifgtest@ + \@xp\mathch@\meaning@\mathch@ + \ifgtest@\@xp\getmathch@\meaning@\getmathch@\fi + \else\@xp\macro@\meaning@@\macro@ + \ifgtest@ + \@xp\not@\meaning@\not@\ifgtest@\gdef\thedots@{\dotsb@}% + \else\@xp\DOTS@\meaning@\DOTS@ + \ifgtest@ + \ifcase\number\DOTSCASE@\gdef\thedots@{\dotsb@}% + \or\gdef\thedots@{\dotsi}\else\fi + \else\@xp\math@\meaning@\math@ + \ifgtest@\@xp\mathbin@\meaning@\mathbin@ + \ifgtest@\gdef\thedots@{\dotsb@}% + \else\@xp\mathrel@\meaning@\mathrel@ + \ifgtest@\gdef\thedots@{\dotsb@}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \thedots@} +\def\boldsymboldots@#1{% + \bold@true\let\@let@token=#1\let\delayed@=#1\mdots@@ + \boldsymbol#1\bold@false} +\def\@cdots{\mathinner{\cdotp\cdotp\cdotp}} +\newcommand{\dotsi}{\!\@cdots} +\let\dotsb@\@cdots +\def\rightdelim@{\gtest@true + \ifx\@let@token)\else + \ifx\@let@token]\else + \ifx\@let@token\rbrack\else + \ifx\@let@token\}\else + \ifx\@let@token\rbrace\else + \ifx\@let@token\rangle\else + \ifx\@let@token\rceil\else + \ifx\@let@token\rfloor\else + \ifx\@let@token\rgroup\else + \ifx\@let@token\rmoustache\else + \ifx\@let@token\right\else + \ifx\@let@token\bigr\else + \ifx\@let@token\biggr\else + \ifx\@let@token\Bigr\else + \ifx\@let@token\Biggr\else\gtest@false + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} +\def\extra@{% + \rightdelim@\ifgtest@ + \else\ifx\@let@token$\gtest@true + \else\xdef\meaning@{\meaning\@let@token..........}% + \@xp\macro@\meaning@\macro@\ifgtest@ + \@xp\DOTS@\meaning@\DOTS@ + \ifgtest@ + \ifnum\DOTSCASE@=\tw@\gtest@true\else\gtest@false + \fi\fi\fi\fi\fi} +\newif\ifbold@ +\def\dotso@{\relaxnext@ + \ifbold@ + \let\@let@token\delayed@ + \def\nextii@{\extra@\@ldots\ifgtest@\,\fi}% + \else + \def\nextii@{\DN@{\extra@\@ldots\ifgtest@\,\fi}\FN@\next@}% + \fi + \nextii@} +\def\extrap@#1{% + \DN@{#1\,}% + \ifx\@let@token,\else + \ifx\@let@token;\else + \ifx\@let@token.\else\extra@ + \ifgtest@\else + \let\next@#1\fi\fi\fi\fi\next@} +\DeclareRobustCommand{\cdots}{\DN@{\extrap@\@cdots}\FN@\next@} +\let\dotsb\cdots +\let\dotsm\cdots +\DeclareRobustCommand{\dotso}{\relax + \ifmmode \DN@{\extrap@\@ldots}% + \else \let\next@\tdots@\fi + \FN@\next@} +\DeclareRobustCommand{\dotsc}{% + \DN@{\ifx\@let@token;\@ldots\,% + \else \ifx\@let@token.\@ldots\,% + \else \extra@\@ldots \ifgtest@\,\fi + \fi\fi}% + \FN@\next@} +\renewcommand{\longrightarrow}{% + \DOTSB\protect\relbar\protect\joinrel\rightarrow} +\renewcommand{\Longrightarrow}{% + \DOTSB\protect\Relbar\protect\joinrel\Rightarrow} +\renewcommand{\longleftarrow}{% + \DOTSB\leftarrow\protect\joinrel\protect\relbar} +\renewcommand{\Longleftarrow}{% + \DOTSB\Leftarrow\protect\joinrel\protect\Relbar} +\renewcommand{\longleftrightarrow}{\DOTSB\leftarrow\joinrel\rightarrow} +\renewcommand{\Longleftrightarrow}{\DOTSB\Leftarrow\joinrel\Rightarrow} +\renewcommand{\mapsto}{\DOTSB\mapstochar\rightarrow} +\renewcommand{\longmapsto}{\DOTSB\mapstochar\longrightarrow} +\renewcommand{\hookrightarrow}{\DOTSB\lhook\joinrel\rightarrow} +\renewcommand{\hookleftarrow}{\DOTSB\leftarrow\joinrel\rhook} +\renewcommand{\iff}{\DOTSB\;\Longleftrightarrow\;} +\renewcommand{\doteq}{% + \DOTSB\mathrel{\mathop{\kern0pt =}\limits^{\textstyle.}}} +\newif\if@display +\everydisplay\@xp{\the\everydisplay \@displaytrue} +\renewcommand{\int}{\DOTSI\intop\ilimits@} +\renewcommand{\oint}{\DOTSI\ointop\ilimits@} +\def\intkern@{\mkern-6mu\mathchoice{\mkern-3mu}{}{}{}} +\def\intdots@{\mathchoice{\@cdots}% + {{\cdotp}\mkern1.5mu{\cdotp}\mkern1.5mu{\cdotp}}% + {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}% + {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}} +\newcommand{\iint}{\DOTSI\protect\MultiIntegral{2}} +\newcommand{\iiint}{\DOTSI\protect\MultiIntegral{3}} +\newcommand{\iiiint}{\DOTSI\protect\MultiIntegral{4}} +\newcommand{\idotsint}{\DOTSI\protect\MultiIntegral{0}} +\newcommand{\MultiIntegral}[1]{% + \edef\ints@c{\noexpand\intop + \ifnum#1=\z@\noexpand\intdots@\else\noexpand\intkern@\fi + \ifnum#1>\tw@\noexpand\intop\noexpand\intkern@\fi + \ifnum#1>\thr@@\noexpand\intop\noexpand\intkern@\fi + \noexpand\intop + \noexpand\ilimits@ + }% + \futurelet\@let@token\ints@a +} +\def\ints@a{% + \ifx\limits\@let@token \ints@b + \else \ifx\displaylimits\@let@token \ints@b + \else\ifx\ilimits@\displaylimits \ints@b + \fi\fi\fi + \ints@c +} +\def\ints@b{% + \mkern-7mu\mathchoice{\mkern-2mu}{}{}{}% + \mathop\bgroup + \mkern7mu\mathchoice{\mkern2mu}{}{}{}% + \let\ilimits@\egroup +}% +\newbox\Mathstrutbox@ +\setbox\Mathstrutbox@=\hbox{} +\def\Mathstrut@{\copy\Mathstrutbox@} +\def\resetMathstrut@{% + \setbox\z@\hbox{% + \mathchardef\@tempa\mathcode`\(\relax + \def\@tempb##1"##2##3{\the\textfont"##3\char"}% + \expandafter\@tempb\meaning\@tempa \relax + }% + \ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@ +} +\addto@hook\every@math@size{\resetMathstrut@} +\newbox\strutbox@ +\def\strut@{\copy\strutbox@} +\def\reset@strutbox@{% + \global\setbox\strutbox@\hbox{% + \lower.5\normallineskiplimit + \vbox{\kern-\normallineskiplimit\copy\strutbox}}} +\addto@hook\every@math@size{\reset@strutbox@} +\AtBeginDocument{\reset@strutbox@} +\renewcommand{\big}{\bBigg@\@ne} +\renewcommand{\Big}{\bBigg@{1.5}} +\renewcommand{\bigg}{\bBigg@\tw@} +\renewcommand{\Bigg}{\bBigg@{2.5}} +\def\bBigg@#1#2{% + {\@mathmeasure\z@{\nulldelimiterspace\z@}% + {\left#2\vcenter to#1\big@size{}\right.}% + \box\z@}} +\addto@hook\every@math@size{% + \global\big@size 1.2\ht\Mathstrutbox@ + \global\advance\big@size 1.2\dp\Mathstrutbox@ } +\newdimen\big@size +\def\accentclass@{7} +\def\noaccents@{\def\accentclass@{0}} +\DeclareFontEncoding{OML}{}{\noaccents@} +\DeclareFontEncoding{OMS}{}{\noaccents@} +\newcommand{\dddot}[1]{% + {\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ + \hbox{\normalfont ...}\vss}}}} +\newcommand{\ddddot}[1]{% + {\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ + \hbox{\normalfont....}\vss}}}} +\def\set@mathaccent#1#2#3#4{% + \xdef#2{\@nx\protect\@nx\mathaccentV + {\@xp\@gobble\string#2}\hexnumber@#1#4}% +} +\def\@tempa#1{\@xp\@tempb\meaning#1\@nil#1} +\def\@tempb#1>#2#3 #4\@nil#5{% + \@xp\ifx\csname#3\endcsname\mathaccent + \@tempc#4?"7777\@nil#5% + \else + \PackageWarningNoLine{amsmath}{% + Unable to redefine math accent \string#5}% + \fi +} +\def\@tempc#1"#2#3#4#5#6\@nil#7{% + \chardef\@tempd="#3\relax\set@mathaccent\@tempd{#7}{#2}{#4#5}} +\@tempa{\hat} +\@tempa{\check} +\@tempa{\tilde} +\@tempa{\acute} +\@tempa{\grave} +\@tempa{\dot} +\@tempa{\ddot} +\@tempa{\breve} +\@tempa{\bar} +\@tempa{\vec} +\@ifundefined{mathring}{% + \DeclareMathAccent{\mathring}{\mathalpha}{operators}{"17} +}{% + \@tempa{\mathring} +} +%%\@tempa\widetilde +%%\@tempa\widehat +\newcommand{\acc@check}{} +\newcommand{\acc@error}{} +\def\acc@check{\@ifnextchar\@empty\relax\acc@error} +\def\acc@error{% + \@amsmath@err{% + Improper argument for math accent:\MessageBreak + Extra braces must be added to prevent wrong output% + }\@ehc +} +\newcount\macc@depth +\long\def\@gobblethree#1#2#3{} +\def\mathaccentV#1#2#3#4#5{% + \ifmmode + \gdef\macc@tmp{\macc@depth\@ne}% + \setbox\z@\hbox{% + \let\mathaccentV\macc@test + \let\use@mathgroup\@gobbletwo \let\select@group\@gobblethree + \frozen@everymath{}$#5$% + }% + \macc@tmp + \ifnum\macc@depth=\@ne + \global\let\macc@nucleus\@empty + \mathaccent"\accentclass@ + \else + \@xp\macc@nested + \fi + #2#3#4{#5}% + \macc@nucleus + \else + \@xp\nonmatherr@\csname#1\endcsname + \fi +} +\def\macc@test#1#2#3#4{\xdef\macc@tmp{\macc@tmp\advance\macc@depth\@ne}} +\def\macc@group{-1} +\def\macc@nested#1#2#3#4{% + \begingroup + \let\math@bgroup\@empty \let\math@egroup\macc@set@skewchar + \mathsurround\z@ \frozen@everymath{\mathgroup\macc@group\relax}% + \macc@set@skewchar\relax + \let\mathaccentV\macc@nested@a + \macc@nested@a\relax#1#2#3{#4}% + \endgroup +} +\let\macc@palette\mathpalette +\def\macc@nested@a#1#2#3#4#5{% + \ifnum\macc@group=\mathgroup + \else \macc@set@skewchar\relax \edef\macc@group{\the\mathgroup}% + \fi + \mathchardef\macc@code "\accentclass@ #2#3#4\relax + \macc@palette\macc@a{#5}% +} +\def\macc@set@skewchar#1{% + \begingroup + \ifnum\mathgroup=\m@ne \let\@tempa\@ne + \else + \ifnum\skewchar\textfont\mathgroup=\m@ne \let\@tempa\@ne + \else \let\@tempa\mathgroup + \fi + \fi + \count@=\skewchar\textfont\@tempa + \advance\count@"7100 + \edef\@tempa{\endgroup + \mathchardef\noexpand\macc@skewchar=\number\count@\relax}% + \@tempa + #1% +} +\def\macc@a#1#2{% + \begingroup + \let\macc@style#1\relax + \def\macc@palette##1{##1\macc@style}% + \advance\macc@depth\m@ne + \ifnum\macc@depth=\z@ + \gdef\macc@nucleus{#2}% + \setbox\z@\hbox{$#1#2\@empty{}\macc@skewchar$}% + \setbox\tw@\hbox{$#1#2\@empty\macc@skewchar$}% + \dimen@\tw@\wd\tw@ \advance\dimen@-\tw@\wd\z@ + \xdef\macc@kerna{\the\dimen@\relax}% + \setbox4\hbox{$#1#2\acc@check\@empty$}% + \global\setbox\@ne\hbox to\wd4{}% + \ht\@ne\ht4 \dp\@ne\dp4 + \xdef\macc@kernb{\the\wd4\relax}% + \mathaccent\macc@code{\box\@ne\kern\macc@kerna}% + \else + \mathaccent\macc@code{\let\macc@adjust\@empty #1#2\@empty}% + \macc@adjust + \fi + \endgroup +} +\def\macc@adjust{% + \dimen@\macc@kerna\advance\dimen@\macc@kernb + \kern-\dimen@ +} +\def\Hat{\hat} +\def\Check{\check} +\def\Tilde{\tilde} +\def\Acute{\acute} +\def\Grave{\grave} +\def\Dot{\dot} +\def\Ddot{\ddot} +\def\Breve{\breve} +\def\Bar{\bar} +\def\Vec{\vec} +\def\nonmatherr@#1{\@amsmath@err{\protect + #1 allowed only in math mode}\@ehd} +\renewcommand{\bmod}{\nonscript\mskip-\medmuskip\mkern5mu\mathbin + {\operator@font mod}\penalty900 + \mkern5mu\nonscript\mskip-\medmuskip} +\newcommand{\pod}[1]{\allowbreak + \if@display\mkern18mu\else\mkern8mu\fi(#1)} +\renewcommand{\pmod}[1]{\pod{{\operator@font mod}\mkern6mu#1}} +\newcommand{\mod}[1]{\allowbreak\if@display\mkern18mu + \else\mkern12mu\fi{\operator@font mod}\,\,#1} +\newcommand{\cfrac}[3][c]{{\displaystyle\frac{% + \strut\ifx r#1\hfill\fi#2\ifx l#1\hfill\fi}{#3}}% + \kern-\nulldelimiterspace} +\newcommand{\overset}[2]{\binrel@{#2}% + \binrel@@{\mathop{\kern\z@#2}\limits^{#1}}} +\newcommand{\underset}[2]{\binrel@{#2}% + \binrel@@{\mathop{\kern\z@#2}\limits_{#1}}} +\newcommand{\sideset}[3]{% + \@mathmeasure\z@\displaystyle{#3}% + \global\setbox\@ne\vbox to\ht\z@{}\dp\@ne\dp\z@ + \setbox\tw@\box\@ne + \@mathmeasure4\displaystyle{\copy\tw@#1}% + \@mathmeasure6\displaystyle{#3\nolimits#2}% + \dimen@-\wd6 \advance\dimen@\wd4 \advance\dimen@\wd\z@ + \hbox to\dimen@{}\mathop{\kern-\dimen@\box4\box6}% +} +\renewcommand{\smash}[1][tb]{% + \def\mb@t{\ht}\def\mb@b{\dp}\def\mb@tb{\ht\z@\z@\dp}% + \edef\finsm@sh{\csname mb@#1\endcsname\z@\z@ \box\z@}% + \ifmmode \@xp\mathpalette\@xp\mathsm@sh + \else \@xp\makesm@sh + \fi +} +\mathchardef\std@minus\mathcode`\-\relax +\mathchardef\std@equal\mathcode`\=\relax +\AtBeginDocument{% + \mathchardef\std@minus\mathcode`\-\relax + \mathchardef\std@equal\mathcode`\=\relax +} +\def\relbar{\mathrel{\mathpalette\mathsm@sh\std@minus}} +\def\Relbar{\mathrel\std@equal} +\def\arrowfill@#1#2#3#4{% + $\m@th\thickmuskip0mu\medmuskip\thickmuskip\thinmuskip\thickmuskip + \relax#4#1\mkern-7mu% + \cleaders\hbox{$#4\mkern-2mu#2\mkern-2mu$}\hfill + \mkern-7mu#3$% +} +\def\leftarrowfill@{\arrowfill@\leftarrow\relbar\relbar} +\def\rightarrowfill@{\arrowfill@\relbar\relbar\rightarrow} +\def\leftrightarrowfill@{\arrowfill@\leftarrow\relbar\rightarrow} +\def\Leftarrowfill@{\arrowfill@\Leftarrow\Relbar\Relbar} +\def\Rightarrowfill@{\arrowfill@\Relbar\Relbar\Rightarrow} +\def\Leftrightarrowfill@{\arrowfill@\Leftarrow\Relbar\Rightarrow} +\def\overarrow@#1#2#3{\vbox{\ialign{##\crcr#1#2\crcr + \noalign{\nointerlineskip}$\m@th\hfil#2#3\hfil$\crcr}}} +\renewcommand{\overrightarrow}{% + \mathpalette{\overarrow@\rightarrowfill@}} +\renewcommand{\overleftarrow}{% + \mathpalette{\overarrow@\leftarrowfill@}} +\newcommand{\overleftrightarrow}{% + \mathpalette{\overarrow@\leftrightarrowfill@}} +\def\underarrow@#1#2#3{% + \vtop{\ialign{##\crcr$\m@th\hfil#2#3\hfil$\crcr + \noalign{\nointerlineskip\kern1.3\ex@}#1#2\crcr}}} +\newcommand{\underrightarrow}{% + \mathpalette{\underarrow@\rightarrowfill@}} +\newcommand{\underleftarrow}{% + \mathpalette{\underarrow@\leftarrowfill@}} +\newcommand{\underleftrightarrow}{% + \mathpalette{\underarrow@\leftrightarrowfill@}} +\def\ext@arrow#1#2#3#4#5#6#7{% + \mathrel{\mathop{% + \setbox\z@\hbox{#5\displaystyle}% + \setbox\tw@\vbox{\m@th + \hbox{$\scriptstyle\mkern#3mu{#6}\mkern#4mu$}% + \hbox{$\scriptstyle\mkern#3mu{#7}\mkern#4mu$}% + \copy\z@ + }% + \hbox to\wd\tw@{\unhbox\z@}}% + \limits + \@ifnotempty{#7}{^{\if0#1\else\mkern#1mu\fi + #7\if0#2\else\mkern#2mu\fi}}% + \@ifnotempty{#6}{_{\if0#1\else\mkern#1mu\fi + #6\if0#2\else\mkern#2mu\fi}}}% +} +\newcommand{\xrightarrow}[2][]{\ext@arrow 0359\rightarrowfill@{#1}{#2}} +\newcommand{\xleftarrow}[2][]{\ext@arrow 3095\leftarrowfill@{#1}{#2}} +\newenvironment{subarray}[1]{% + \vcenter\bgroup + \Let@ \restore@math@cr \default@tag + \baselineskip\fontdimen10 \scriptfont\tw@ + \advance\baselineskip\fontdimen12 \scriptfont\tw@ + \lineskip\thr@@\fontdimen8 \scriptfont\thr@@ + \lineskiplimit\lineskip + \ialign\bgroup\ifx c#1\hfil\fi + $\m@th\scriptstyle##$\hfil\crcr +}{% + \crcr\egroup\egroup +} +\newcommand{\substack}[1]{\subarray{c}#1\endsubarray} +\newenvironment{smallmatrix}{\null\,\vcenter\bgroup + \Let@\restore@math@cr\default@tag + \baselineskip6\ex@ \lineskip1.5\ex@ \lineskiplimit\lineskip + \ialign\bgroup\hfil$\m@th\scriptstyle##$\hfil&&\thickspace\hfil + $\m@th\scriptstyle##$\hfil\crcr +}{% + \crcr\egroup\egroup\,% +} +\renewenvironment{matrix}{% + \matrix@check\matrix\env@matrix +}{% + \endarray \hskip -\arraycolsep +} +\def\env@matrix{\hskip -\arraycolsep + \let\@ifnextchar\new@ifnextchar + \array{*\c@MaxMatrixCols c}} +\newcount\c@MaxMatrixCols \c@MaxMatrixCols=10 +\def\matrix@check#1{% + \@xp\ifx\csname\@currenvir\endcsname#1% + \else\matrix@error#1% + \@xp\@gobble + \fi +} +\def\matrix@error#1{% + \@amsmath@err{% +Old form `\string#1' should be \string\begin{\@xp\@gobble\string#1}% + }{% +`\string#1{...}' is old Plain-TeX syntax whose use is +ill-advised in LaTeX.% + }% +} +\renewenvironment{pmatrix}{% + \left(% + \matrix@check\pmatrix\env@matrix +}{ + \endmatrix\right)% +} +\newenvironment{bmatrix}{\left[\env@matrix}{\endmatrix\right]} +\newenvironment{Bmatrix}{% + \left\lbrace\env@matrix +}{% + \endmatrix\right\rbrace +} +\newenvironment{vmatrix}{\left\lvert\env@matrix}{\endmatrix\right\rvert} +\newenvironment{Vmatrix}{\left\lVert\env@matrix}{\endmatrix\right\rVert} +\let\hdots\@ldots +\newcommand{\hdotsfor}[1]{% + \ifx[#1\@xp\shdots@for\else\hdots@for\@ne{#1}\fi} +\newmuskip\dotsspace@ +\def\shdots@for#1]{\hdots@for{#1}} +\def\hdots@for#1#2{\multicolumn{#2}c% + {\m@th\dotsspace@1.5mu\mkern-#1\dotsspace@ + \xleaders\hbox{$\m@th\mkern#1\dotsspace@.\mkern#1\dotsspace@$}% + \hfill + \mkern-#1\dotsspace@}% + } +\renewenvironment{cases}{% + \matrix@check\cases\env@cases +}{% + \endarray\right.% +} +\def\env@cases{% + \let\@ifnextchar\new@ifnextchar + \left\lbrace + \def\arraystretch{1.2}% + \array{@{}l@{\quad}l@{}}% +} +\newcounter{parentequation}% Counter for ``parent equation''. +\@ifundefined{ignorespacesafterend}{% + \def\ignorespacesafterend{\global\@ignoretrue}% +}{} +\newenvironment{subequations}{% + \refstepcounter{equation}% + \protected@edef\theparentequation{\theequation}% + \setcounter{parentequation}{\value{equation}}% + \setcounter{equation}{0}% + \def\theequation{\theparentequation\alph{equation}}% + \ignorespaces +}{% + \setcounter{equation}{\value{parentequation}}% + \ignorespacesafterend +} +\newcommand{\numberwithin}[3][\arabic]{% + \@ifundefined{c@#2}{\@nocounterr{#2}}{% + \@ifundefined{c@#3}{\@nocnterr{#3}}{% + \@addtoreset{#2}{#3}% + \@xp\xdef\csname the#2\endcsname{% + \@xp\@nx\csname the#3\endcsname .\@nx#1{#2}}}}% +} +\newcommand{\eqref}[1]{\textup{\tagform@{\ref{#1}}}} +\newcount\dspbrk@lvl +\dspbrk@lvl=-1 +\interdisplaylinepenalty\@M +\newcommand{\allowdisplaybreaks}[1][4]{% + \interdisplaylinepenalty\getdsp@pen{#1}\relax +} +\def\getdsp@pen#1{% + \ifcase #1\@M \or 9999 \or 6999 \or 2999 \or \z@\fi +} +\newcommand{\displaybreak}{\new@ifnextchar[\dspbrk@{\dspbrk@[4]}} +\chardef\dspbrk@context=\sixt@@n +\def\dspbrk@[#1]{% + \ifmeasuring@ + \else + \ifcase\dspbrk@context % case 0 --- OK + \global\dspbrk@lvl #1\relax + \or % case 1 --- inside a box + \nogood@displaybreak + \else % other cases --- outside of a display + \@amsmath@err{\Invalid@@\displaybreak}\@eha + \fi + \fi +} +\def\nogood@displaybreak{% + \@amsmath@err{\protect +\displaybreak\space cannot be applied here}% +{One of the enclosing environments creates an + unbreakable box\MessageBreak +(e.g., split, aligned, gathered, ...).}% +} +\def\math@cr{\relax\iffalse{\fi\ifnum0=`}\fi + \@ifstar{\global\@eqpen\@M\math@cr@}% + {\global\@eqpen + \ifnum\dspbrk@lvl <\z@ \interdisplaylinepenalty + \else -\@getpen\dspbrk@lvl \fi + \math@cr@}} +\def\math@cr@{\new@ifnextchar[\math@cr@@{\math@cr@@[\z@]}} +\def\math@cr@@[#1]{\ifnum0=`{\fi \iffalse}\fi\math@cr@@@ + \noalign{\vskip#1\relax}} +\def\Let@{\let\\\math@cr} +\def\restore@math@cr{\def\math@cr@@@{\cr}} +\restore@math@cr +\newcommand{\intertext}{\@amsmath@err{\Invalid@@\intertext}\@eha} +\def\intertext@{% + \def\intertext##1{% + \ifvmode\else\\\@empty\fi + \noalign{% + \penalty\postdisplaypenalty\vskip\belowdisplayskip + \vbox{\normalbaselines + \ifdim\linewidth=\columnwidth + \else \parshape\@ne \@totalleftmargin \linewidth + \fi + \noindent##1\par}% + \penalty\predisplaypenalty\vskip\abovedisplayskip% + }% +}} +\newhelp\tag@help + {tag cannot be used at this point.\space + If you don't understand why^^Jyou should consult + the documentation.^^JBut don't worry: just continue, and I'll + forget what happened.} +\def\gobble@tag{\@ifstar\@gobble\@gobble} +\def\invalid@tag#1{\@amsmath@err{#1}{\the\tag@help}\gobble@tag} +\def\dft@tag{\invalid@tag{\string\tag\space not allowed here}} +\def\default@tag{\let\tag\dft@tag} +\default@tag +\def\maketag@@{\@ifstar\maketag@@@\tagform@} +\def\maketag@@@#1{\hbox{\m@th\normalfont#1}} +\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr)}} +\iftagsleft@ + \def\@eqnnum{\hbox to1sp{}\rlap{\normalfont\normalcolor + \hskip -\displaywidth\tagform@\theequation}} +\else + \def\@eqnnum{{\normalfont\normalcolor \tagform@\theequation}} +\fi +\newcommand{\thetag}{\leavevmode\tagform@} +\let\df@tag\@empty +\def\make@df@tag{\@ifstar\make@df@tag@@\make@df@tag@@@} +\def\make@df@tag@@#1{% + \gdef\df@tag{\maketag@@@{#1}\def\@currentlabel{#1}}} +\def\make@df@tag@@@#1{\gdef\df@tag{\tagform@{#1}% + \toks@\@xp{\p@equation{#1}}\edef\@currentlabel{\the\toks@}}} +\let\ltx@label\label +\def\label@in@display{% + \ifx\df@label\@empty\else + \@amsmath@err{Multiple \string\label's: + label '\df@label' will be lost}\@eha + \fi + \gdef\df@label +} +\toks@\@xp{\@arrayparboxrestore \let\label\ltx@label}% +\edef\@arrayboxrestore{\the\toks@} +\let\df@label\@empty +\def\make@display@tag{% + \if@eqnsw \incr@eqnum \print@eqnum + \else \iftag@ \df@tag \global\let\df@tag\@empty \fi + \fi + \ifmeasuring@ + \else + \ifx\df@label\@empty + \else + \@xp\ltx@label\@xp{\df@label}% + \global\let\df@label\@empty + \fi + \fi +} +\def\tag@in@align{% + \relax + \iftag@ + \DN@{\invalid@tag{Multiple \string\tag}}% + \else + \global\tag@true + \nonumber + \let\next@\make@df@tag + \fi + \next@ +} +\newcommand{\raisetag}[1]{\skip@#1\relax + \xdef\raise@tag{\vskip\iftagsleft@\else-\fi\the\skip@\relax}% +} +\let\raise@tag\@empty +\newcommand{\notag}{\nonumber} +\renewcommand{\nonumber}{% + \if@eqnsw + \ifx\incr@eqnum\@empty \addtocounter{equation}\m@ne \fi + \fi + \let\print@eqnum\@empty \let\incr@eqnum\@empty + \global\@eqnswfalse +} +\def\print@eqnum{\tagform@\theequation} +\def\incr@eqnum{\refstepcounter{equation}\let\incr@eqnum\@empty} +\newif\ifinalign@ +\newif\ifingather@ +\@xp\def\@xp\@arrayparboxrestore\@xp{\@arrayparboxrestore + \ingather@false\inalign@false \default@tag + \let\spread@equation\@spread@equation + \let\reset@equation\@empty + \def\print@eqnum{\tagform@\theequation}% + \def\incr@eqnum{\refstepcounter{equation}\let\incr@eqnum\@empty}% +} +\newif\iftag@ +\newif\ifst@rred +\newif\ifmeasuring@ +\newif\ifshifttag@ +\newcount\row@ +\newcount\column@ +\def\column@plus{% + \global\advance\column@\@ne +} +\newcount\maxfields@ +\def\add@amp#1{\if m#1&\@xp\add@amp\fi} +\def\add@amps#1{% + \begingroup + \count@#1\advance\count@-\column@ + \edef\@tempa{\endgroup + \@xp\add@amp\romannumeral\number\count@ 000q}% + \@tempa +} +\newhelp\andhelp@ +{An extra & here is so disastrous that you should probably exit^^J +and fix things up.} +\newdimen\eqnshift@ +\newdimen\alignsep@ +\newdimen\tagshift@ +\newcommand{\mintagsep}{.5\fontdimen6\textfont\tw@} +\newcommand{\minalignsep}{10pt} +\newdimen\tagwidth@ +\newdimen\totwidth@ +\newdimen\lineht@ +\def\tag@width#1{% + \ifcase\@xp#1\tag@lengths\fi +} + +\def\savetaglength@{% + \begingroup + \let\or\relax + \xdef\tag@lengths{\tag@lengths\or \the\wdz@}% + \endgroup +} + +\def\shift@tag#1{% + \ifcase\@xp#1\tag@shifts\fi\relax +} + +\let\tag@shifts\@empty +\def\saveshift@#1{% + \begingroup + \let\or\relax + \xdef\tag@shifts{\or#1\tag@shifts}% + \endgroup +} +\def\spread@equation{\reset@strutbox@ + \openup\jot \let\spread@equation\@empty} +\let\@spread@equation\spread@equation +\def\displ@y{\@display@init{}} +\def\@display@init#1{% + \global\dt@ptrue \spread@equation + \everycr{% + \noalign{% + #1% + \ifdt@p + \global\dt@pfalse + \vskip-\lineskiplimit + \vskip\normallineskiplimit + \else + \penalty\@eqpen \global\dspbrk@lvl\m@ne + \fi + }% + }% +} +\def\displ@y@{\@display@init{% + \global\column@\z@ \global\dspbrk@lvl\m@ne + \global\tag@false \global\let\raise@tag\@empty +}} +\def\black@#1{% + \noalign{% + \ifdim#1>\displaywidth + \dimen@\prevdepth + \nointerlineskip + \vskip-\ht\strutbox@ + \vskip-\dp\strutbox@ + \vbox{\noindent\hbox to#1{\strut@\hfill}}% + \prevdepth\dimen@ + \fi + }% +} +\def\savecounters@{% + \begingroup + \def\@elt##1{% + \global\csname c@##1\endcsname\the\csname c@##1\endcsname}% + \xdef\@gtempa{% + \cl@@ckpt + \let\@nx\restorecounters@\@nx\@empty + }% + \endgroup + \let\restorecounters@\@gtempa +} +\let\restorecounters@\@empty +\def\savealignstate@{% + \begingroup + \let\or\relax + \xdef\@gtempa{% + \global\totwidth@\the\totwidth@ + \global\row@\the\row@ + \gdef\@nx\tag@lengths{\tag@lengths}% + \let\@nx\restorealignstate@\@nx\@empty + }% + \endgroup + \let\restorealignstate@\@gtempa +} + +\let\restorealignstate@\@empty +\def\savecolumn@{% + \edef\restorecolumn@{% + \global\column@\number\column@ + \let\@nx\restorecolumn@\@nx\@empty + }% +} +\let\restorecolumn@\@empty +\newtoks\@envbody +\def\addto@envbody#1{\global\@envbody\@xp{\the\@envbody#1}} +\def\collect@body#1{% + \@envbody{\@xp#1\@xp{\the\@envbody}}% + \edef\process@envbody{\the\@envbody\@nx\end{\@currenvir}}% + \@envbody\@emptytoks \def\begin@stack{b}% + \begingroup + \@xp\let\csname\@currenvir\endcsname\collect@@body + \edef\process@envbody{\@xp\@nx\csname\@currenvir\endcsname}% + \process@envbody +} +\def\push@begins#1\begin#2{% + \ifx\end#2\else b\@xp\push@begins\fi +} +\def\collect@@body#1\end#2{% + \edef\begin@stack{\push@begins#1\begin\end \@xp\@gobble\begin@stack}% + \ifx\@empty\begin@stack + \endgroup + \@checkend{#2}% + \addto@envbody{#1}% + \else + \addto@envbody{#1\end{#2}}% + \fi + \process@envbody % A little tricky! Note the grouping +} +\def\math@cr@@@aligned{% + \ifodd\column@ \let\next@\@empty + \else \def\next@{&\kern-\alignsep@}% + \fi + \next@ \cr +} +\newcommand{\start@aligned}[2]{% + \RIfM@\else + \nonmatherr@{\begin{\@currenvir}}% + \fi + \savecolumn@ % Assumption: called inside a group + \null\,% + \if #1t\vtop \else \if#1b \vbox \else \vcenter \fi \fi \bgroup + \maxfields@#2\relax + \ifnum\maxfields@>\m@ne + \multiply\maxfields@\tw@ + \let\math@cr@@@\math@cr@@@alignedat + \alignsep@\z@skip + \else + \let\math@cr@@@\math@cr@@@aligned + \alignsep@\minalignsep + \fi + \Let@ \chardef\dspbrk@context\@ne + \default@tag + \spread@equation % no-op if already called + \global\column@\z@ + \ialign\bgroup + &\column@plus + \hfil + \strut@ + $\m@th\displaystyle{##}$% + \tabskip\z@skip + &\column@plus + $\m@th\displaystyle{{}##}$% + \hfil + \tabskip\alignsep@ + \crcr +} +\def\math@cr@@@alignedat{% + \ifnum\column@>\maxfields@ + \begingroup + \measuring@false + \@amsmath@err{Extra & on this line}% + {\the\andhelp@}% "An extra & here is disastrous" + \endgroup + \fi + \global\column@\z@ + \cr +} +\def\alignsafe@testopt#1#2{% + \relax\iffalse{\fi\ifnum`}=0\fi + \@ifnextchar[% + {\let\@let@token\relax \ifnum`{=\z@\fi\iffalse}\fi#1}% + {\let\@let@token\relax \ifnum`{=\z@\fi\iffalse}\fi#1[#2]}% +} +\newenvironment{aligned}{% + \let\@testopt\alignsafe@testopt + \aligned@a +}{% + \crcr\egroup + \restorecolumn@ + \egroup +} +\newcommand{\aligned@a}[1][c]{\start@aligned{#1}\m@ne} +\newenvironment{alignedat}{% + \let\@testopt\alignsafe@testopt + \alignedat@a +}{% + \endaligned +} +\newcommand{\alignedat@a}[1][c]{\start@aligned{#1}} +\newenvironment{gathered}[1][c]{% + \RIfM@\else + \nonmatherr@{\begin{gathered}}% + \fi + \null\,% + \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi \bgroup + \Let@ \chardef\dspbrk@context\@ne \restore@math@cr + \spread@equation + \ialign\bgroup + \hfil\strut@$\m@th\displaystyle##$\hfil + \crcr +}{% + \endaligned +} +\def\start@gather#1{% + \RIfM@ + \nomath@env + \DN@{\@namedef{end\@currenvir}{}\@gobble}% + \else + $$% + #1% + \ifst@rred \else \global\@eqnswtrue \fi + \let\next@\gather@ + \fi + \collect@body\next@ +} +\newenvironment{gather}{% + \start@gather\st@rredfalse +}{% + \math@cr \black@\totwidth@ \egroup + $$\ignorespacesafterend +} + +\newenvironment{gather*}{% + \start@gather\st@rredtrue +}{% + \endgather +} +\def\gather@#1{% + \ingather@true \let\split\insplit@ + \let\tag\tag@in@align \let\label\label@in@display + \chardef\dspbrk@context\z@ + \intertext@ \displ@y@ \Let@ + \let\math@cr@@@\math@cr@@@gather + \gmeasure@{#1}% + \global\shifttag@false + \tabskip\z@skip + \global\row@\@ne + \halign to\displaywidth\bgroup + \strut@ + \setboxz@h{$\m@th\displaystyle{##}$}% + \calc@shift@gather + \set@gather@field + \tabskip\@centering + &\setboxz@h{\strut@{##}}% + \place@tag@gather + \tabskip \iftagsleft@ \gdisplaywidth@ \else \z@skip \span\fi + \crcr + #1% +} +\def\gmeasure@#1{% + \begingroup + \measuring@true + \totwidth@\z@ + \global\let\tag@lengths\@empty + \savecounters@ + \setbox\@ne\vbox{% + \everycr{\noalign{\global\tag@false + \global\let\raise@tag\@empty \global\column@\z@}}% + \let\label\@gobble + \halign{% + \setboxz@h{$\m@th\displaystyle{##}$}% + \ifdim\wdz@>\totwidth@ + \global\totwidth@\wdz@ + \fi + &\setboxz@h{\strut@{##}}% + \savetaglength@ + \crcr + #1% + \math@cr@@@ + }% + }% + \restorecounters@ + \if@fleqn + \global\advance\totwidth@\@mathmargin + \fi + \iftagsleft@ + \ifdim\totwidth@>\displaywidth + \global\let\gdisplaywidth@\totwidth@ + \else + \global\let\gdisplaywidth@\displaywidth + \fi + \fi + \endgroup +} +\def\math@cr@@@gather{% + \ifst@rred\nonumber\fi + &\relax + \make@display@tag + \ifst@rred\else\global\@eqnswtrue\fi + \global\advance\row@\@ne + \cr +} +\def\calc@shift@gather{% + \dimen@\mintagsep\relax + \tagwidth@\tag@width\row@\relax + \if@fleqn + \global\eqnshift@\@mathmargin + \ifdim\tagwidth@>\z@ + \advance\dimen@\tagwidth@ + \iftagsleft@ + \ifdim\dimen@>\@mathmargin + \global\shifttag@true + \fi + \else + \advance\dimen@\@mathmargin + \advance\dimen@\wdz@ + \ifdim\dimen@>\displaywidth + \global\shifttag@true + \fi + \fi + \fi + \else + \global\eqnshift@\displaywidth + \global\advance\eqnshift@-\wdz@ + \ifdim\tagwidth@>\z@ + \multiply\dimen@\tw@ + \advance\dimen@\wdz@ + \advance\dimen@\tagwidth@ + \ifdim\dimen@>\displaywidth + \global\shifttag@true + \else + \ifdim\eqnshift@<4\tagwidth@ + \global\advance\eqnshift@-\tagwidth@ + \fi + \fi + \fi + \global\divide\eqnshift@\tw@ + \iftagsleft@ + \global\eqnshift@-\eqnshift@ + \global\advance\eqnshift@\displaywidth + \global\advance\eqnshift@-\wdz@ + \fi + \ifdim\eqnshift@<\z@ + \global\eqnshift@\z@ + \fi + \fi +} +\def\place@tag@gather{% + \iftagsleft@ + \kern-\gdisplaywidth@ + \ifshifttag@ + \rlap{\vbox{% + \normalbaselines + \boxz@ + \vbox to\lineht@{}% + \raise@tag + }}% + \global\shifttag@false + \else + \rlap{\boxz@}% + \fi + \else + \ifdim\totwidth@>\displaywidth + \dimen@\totwidth@ + \advance\dimen@-\displaywidth + \kern-\dimen@ + \fi + \ifshifttag@ + \llap{\vtop{% + \raise@tag + \normalbaselines + \setbox\@ne\null + \dp\@ne\lineht@ + \box\@ne + \boxz@ + }}% + \global\shifttag@false + \else + \llap{\boxz@}% + \fi + \fi +} +\def\set@gather@field{% + \iftagsleft@ + \global\lineht@\ht\z@ + \else + \global\lineht@\dp\z@ + \fi + \kern\eqnshift@ + \boxz@ + \hfil +} +\newif\ifxxat@ + +\newif\ifcheckat@ + +\let\xatlevel@\@empty +\def\start@align#1#2#3{% + \let\xatlevel@#1% always \z@, \@ne, or \tw@ + \maxfields@#3\relax + \ifnum\maxfields@>\m@ne + \checkat@true + \ifnum\xatlevel@=\tw@ + \xxat@true + \fi + \multiply\maxfields@\tw@ + \else + \checkat@false + \fi + \ifingather@ + \iffalse{\fi\ifnum0=`}\fi + \DN@{\vcenter\bgroup\savealignstate@\align@#2}% + \else + \ifmmode + \if@display + \DN@{\align@recover}% + \else + \nomath@env + \DN@{\@namedef{end\@currenvir}{}\@gobble}% + \fi + \else + $$% + \let\split\insplit@ + \DN@{\align@#2}% + \fi + \fi + \collect@body\next@ +} +\def\align@recover#1#2#3{% + \endgroup + \@amsmath@err{% +Erroneous nesting of equation structures;\MessageBreak +trying to recover with `aligned'% + }\@ehc + \begin{aligned}\relax#1\end{aligned}% +} +\newenvironment{alignat}{% + \start@align\z@\st@rredfalse +}{% + \endalign +} +\newenvironment{alignat*}{% + \start@align\z@\st@rredtrue +}{% + \endalign +} +\newenvironment{xalignat}{% + \start@align\@ne\st@rredfalse +}{% + \endalign +} +\newenvironment{xalignat*}{% + \start@align\@ne\st@rredtrue +}{% + \endalign +} +\newenvironment{xxalignat}{% + \start@align\tw@\st@rredtrue +}{% + \endalign +} +\newenvironment{align}{% + \start@align\@ne\st@rredfalse\m@ne +}{% + \math@cr \black@\totwidth@ + \egroup + \ifingather@ + \restorealignstate@ + \egroup + \nonumber + \ifnum0=`{\fi\iffalse}\fi + \else + $$% + \fi + \ignorespacesafterend +} +\newenvironment{align*}{% + \start@align\@ne\st@rredtrue\m@ne +}{% + \endalign +} +\newenvironment{flalign}{% + \start@align\tw@\st@rredfalse\m@ne +}{% + \endalign +} +\newenvironment{flalign*}{% + \start@align\tw@\st@rredtrue\m@ne +}{% + \endalign +} +\def\align@#1#2{% + \inalign@true \intertext@ \Let@ \chardef\dspbrk@context\z@ + \ifingather@\else\displ@y@\fi + \let\math@cr@@@\math@cr@@@align + \ifxxat@\else \let\tag\tag@in@align \fi + \let\label\label@in@display + #1% set st@r + \ifst@rred\else \global\@eqnswtrue \fi + \measure@{#2}% + \global\row@\z@ + \tabskip\eqnshift@ + \halign\bgroup + \span\align@preamble\crcr + #2% +} +\def\math@cr@@@align{% + \ifst@rred\nonumber\fi + \if@eqnsw \global\tag@true \fi + \global\advance\row@\@ne + \add@amps\maxfields@ + \omit + \kern-\alignsep@ + \iftag@ + \setboxz@h{\@lign\strut@{\make@display@tag}}% + \place@tag + \fi + \ifst@rred\else\global\@eqnswtrue\fi + \global\lineht@\z@ + \cr +} +\def\math@cr@@@align@measure{% + &\omit + \global\advance\row@\@ne + \ifst@rred\nonumber\fi + \if@eqnsw \global\tag@true \fi + \ifnum\column@>\maxfields@ + \ifcheckat@ + \begingroup + \measuring@false + \@amsmath@err{Extra & on this line}% + {\the\andhelp@}% "An extra & here is disastrous" + \endgroup + \else + \global\maxfields@\column@ + \fi + \fi + \setboxz@h{\@lign\strut@{% + \if@eqnsw + \stepcounter{equation}% + \tagform@\theequation + \else + \iftag@\df@tag\fi + \fi + }}% + \savetaglength@ + \ifst@rred\else\global\@eqnswtrue\fi + \cr +} +\let\field@lengths\@empty + +\def\savefieldlength@{% + \begingroup + \let\or\relax + \xdef\field@lengths{% + \field@lengths + \ifnum\column@=0 + \or + \else + ,% + \fi + \the\wdz@ + }% + \endgroup +} + +\def\fieldlengths@#1{% + \ifcase\@xp#1\field@lengths\fi +} +\let\maxcolumn@widths\@empty +\def\maxcol@width#1{% + \ifcase\@xp#1\maxcolumn@widths\fi\relax +} +\def\measure@#1{% + \begingroup + \measuring@true + \global\eqnshift@\z@ + \global\alignsep@\z@ + \global\let\tag@lengths\@empty + \global\let\field@lengths\@empty + \savecounters@ + \global\setbox0\vbox{% + \let\math@cr@@@\math@cr@@@align@measure + \everycr{\noalign{\global\tag@false + \global\let\raise@tag\@empty \global\column@\z@}}% + \let\label\@gobble + \global\row@\z@ + \tabskip\z@ + \halign{\span\align@preamble\crcr + #1% + \math@cr@@@ + \global\column@\z@ + \add@amps\maxfields@\cr + }% + }% + \restorecounters@ + \ifodd\maxfields@ + \global\advance\maxfields@\@ne + \fi + \ifnum\xatlevel@=\tw@ + \ifnum\maxfields@<\thr@@ + \let\xatlevel@\z@ + \fi + \fi + \setbox\z@\vbox{% + \unvbox\z@ \unpenalty \global\setbox\@ne\lastbox + }% + \global\totwidth@\wd\@ne + \if@fleqn \global\advance\totwidth@\@mathmargin \fi + \global\let\maxcolumn@widths\@empty + \begingroup + \let\or\relax + \loop + \global\setbox\@ne\hbox{% + \unhbox\@ne \unskip \global\setbox\thr@@\lastbox + }% + \ifhbox\thr@@ + \xdef\maxcolumn@widths{ \or \the\wd\thr@@ \maxcolumn@widths}% + \repeat + \endgroup + \dimen@\displaywidth + \advance\dimen@-\totwidth@ + \ifcase\xatlevel@ + \global\alignsep@\z@ + \let\minalignsep\z@ + \@tempcntb\z@ + \if@fleqn + \@tempcnta\@ne + \global\eqnshift@\@mathmargin + \else + \@tempcnta\tw@ + \global\eqnshift@\dimen@ + \global\divide\eqnshift@\@tempcnta + \fi + \or + \@tempcntb\maxfields@ + \divide\@tempcntb\tw@ + \@tempcnta\@tempcntb + \advance\@tempcntb\m@ne + \if@fleqn + \global\eqnshift@\@mathmargin + \global\alignsep@\dimen@ + \global\divide\alignsep@\@tempcnta + \else + \global\advance\@tempcnta\@ne + \global\eqnshift@\dimen@ + \global\divide\eqnshift@\@tempcnta + \global\alignsep@\eqnshift@ + \fi + \or + \@tempcntb\maxfields@ + \divide\@tempcntb\tw@ + \global\advance\@tempcntb\m@ne + \global\@tempcnta\@tempcntb + \global\eqnshift@\z@ + \global\alignsep@\dimen@ + \if@fleqn + \global\advance\alignsep@\@mathmargin\relax + \fi + \global\divide\alignsep@\@tempcntb + \fi + \ifdim\alignsep@<\minalignsep\relax + \global\alignsep@\minalignsep\relax + \ifdim\eqnshift@>\z@ + \if@fleqn\else + \global\eqnshift@\displaywidth + \global\advance\eqnshift@-\totwidth@ + \global\advance\eqnshift@-\@tempcntb\alignsep@ + \global\divide\eqnshift@\tw@ + \fi + \fi + \fi + \ifdim\eqnshift@<\z@ + \global\eqnshift@\z@ + \fi + \calc@shift@align + \global\tagshift@\totwidth@ + \global\advance\tagshift@\@tempcntb\alignsep@ + \if@fleqn + \ifnum\xatlevel@=\tw@ + \global\advance\tagshift@-\@mathmargin\relax + \fi + \else + \global\advance\tagshift@\eqnshift@ + \fi + \iftagsleft@ \else + \global\advance\tagshift@-\displaywidth + \fi + \dimen@\minalignsep\relax + \global\advance\totwidth@\@tempcntb\dimen@ + \ifdim\totwidth@>\displaywidth + \global\let\displaywidth@\totwidth@ + \else + \global\let\displaywidth@\displaywidth + \fi + \endgroup +} +\iftagsleft@\if@fleqn + \def\calc@shift@align{% + \global\let\tag@shifts\@empty + \begingroup + \@tempdima\@mathmargin\relax + \advance\@tempdima-\mintagsep\relax + \loop + \ifnum\row@>0 + \ifdim\tag@width\row@>\z@ + \x@calc@shift@lf + \else + \saveshift@0% + \fi + \advance\row@\m@ne + \repeat + \endgroup + } + \def\x@calc@shift@lf{% + \ifdim\eqnshift@=\z@ + \global\eqnshift@\@mathmargin\relax + \alignsep@\displaywidth + \advance\alignsep@-\totwidth@ + \global\divide\alignsep@\@tempcntb + \ifdim\alignsep@<\minalignsep\relax + \global\alignsep@\minalignsep\relax + \fi + \fi + \ifdim\tag@width\row@>\@tempdima + \saveshift@1% + \else + \saveshift@0% + \fi + } +\fi\fi +\iftagsleft@\else\if@fleqn + \def\calc@shift@align{% + \global\let\tag@shifts\@empty + \begingroup + \loop + \ifnum\row@>0 + \ifdim\tag@width\row@>\z@ + \x@calc@shift@rf + \else + \saveshift@0% + \fi + \advance\row@\m@ne + \repeat + \endgroup + } + \def\x@calc@shift@rf{% + \column@\z@ + \@tempdimb\z@ + \@tempdimc\z@ + \edef\@tempb{\fieldlengths@\row@}% + \@for\@tempa:=\@tempb\do{% + \advance\column@\@ne + \x@rcalc@width + }% + \begingroup + \advance\column@\m@ne + \divide\column@\tw@ + \ifnum\@tempcntb>\column@ + \advance\@tempcnta-\@tempcntb + \advance\@tempcnta\column@ + \@tempcntb\column@ + \fi + \tagwidth@\tag@width\row@\relax + \@tempdima\eqnshift@ + \advance\@tempdima\@tempdimc\relax + \advance\@tempdima\tagwidth@ + \dimen@\minalignsep\relax + \multiply\dimen@\@tempcntb + \advance\dimen@\mintagsep\relax + \advance\dimen@\@tempdima + \ifdim\dimen@>\displaywidth + \saveshift@1% + \else + \saveshift@0% + \dimen@\alignsep@\relax + \multiply\dimen@\@tempcntb + \advance\dimen@\@tempdima + \advance\dimen@\tagwidth@ + \ifdim\dimen@>\displaywidth + \dimen@\displaywidth + \advance\dimen@-\@tempdima + \ifnum\xatlevel@=\tw@ + \advance\dimen@-\mintagsep\relax + \fi + \divide\dimen@\@tempcnta + \ifdim\dimen@<\minalignsep\relax + \global\alignsep@\minalignsep\relax + \else + \global\alignsep@\dimen@ + \fi + \fi + \fi + \endgroup + } +\fi\fi +\iftagsleft@\else\if@fleqn\else + \def\calc@shift@align{% + \global\let\tag@shifts\@empty + \begingroup + \loop + \ifnum\row@>0 + \ifdim\tag@width\row@>\z@ + \x@calc@shift@rc + \else + \saveshift@0% + \fi + \advance\row@\m@ne + \repeat + \endgroup + } + \def\x@calc@shift@rc{% + \column@\z@ + \@tempdimb\z@ + \@tempdimc\z@ + \edef\@tempb{\fieldlengths@\row@}% + \@for\@tempa:=\@tempb\do{% + \advance\column@\@ne + \x@rcalc@width + }% + \begingroup + \advance\column@\m@ne + \divide\column@\tw@ + \ifnum\@tempcntb>\column@ + \advance\@tempcnta-\@tempcntb + \advance\@tempcnta\column@ + \@tempcntb\column@ + \fi + \tagwidth@\tag@width\row@\relax + \@tempdima\@tempdimc + \advance\@tempdima\tagwidth@ + \dimen@\minalignsep\relax + \multiply\dimen@\@tempcntb + \advance\dimen@\mintagsep\relax + \ifnum\xatlevel@=\tw@ \else + \advance\dimen@\mintagsep\relax + \fi + \advance\dimen@\@tempdima + \ifdim\dimen@>\displaywidth + \saveshift@1% + \else + \saveshift@0% + \dimen@\eqnshift@ + \advance\dimen@\@tempdima + \advance\dimen@\@tempcntb\alignsep@ + \advance\dimen@\tagwidth@ + \ifdim\dimen@>\displaywidth + \dimen@\displaywidth + \advance\dimen@-\@tempdima + \ifnum\xatlevel@=\tw@ + \advance\dimen@-\mintagsep\relax + \fi + \divide\dimen@\@tempcnta + \ifdim\dimen@<\minalignsep\relax + \global\alignsep@\minalignsep\relax + \eqnshift@\displaywidth + \advance\eqnshift@-\@tempdima + \advance\eqnshift@-\@tempcntb\alignsep@ + \global\divide\eqnshift@\tw@ + \else + \ifdim\dimen@<\eqnshift@ + \ifdim\dimen@<\z@ + \global\eqnshift@\z@ + \else + \global\eqnshift@\dimen@ + \fi + \fi + \ifdim\dimen@<\alignsep@ + \global\alignsep@\dimen@ + \fi + \fi + \fi + \fi + \endgroup + } +\fi\fi +\iftagsleft@\else + \def\x@rcalc@width{% + \ifdim\@tempa > \z@ + \advance\@tempdimc\@tempdimb + \ifodd\column@ + \advance\@tempdimc\maxcol@width\column@ + \@tempdimb\z@ + \else + \advance\@tempdimc\@tempa\relax + \@tempdimb\maxcol@width\column@ + \advance\@tempdimb-\@tempa\relax + \fi + \else + \advance\@tempdimb\maxcol@width\column@\relax + \fi + } +\fi +\iftagsleft@\if@fleqn\else + \def\calc@shift@align{% + \global\let\tag@shifts\@empty + \begingroup + \loop + \ifnum\row@>\z@ + \ifdim\tag@width\row@>\z@ + \x@calc@shift@lc + \else + \saveshift@0% + \fi + \advance\row@\m@ne + \repeat + \endgroup + } + \def\x@calc@shift@lc{% + \column@\z@ + \@tempdima\z@ % ``width of equation'' + \@tempdimb\z@ % ``indent of equation'' + \edef\@tempb{\fieldlengths@\row@}% + \@for\@tempa:=\@tempb\do{% + \advance\column@\@ne + \x@lcalc@width + }% + \begingroup + \tagwidth@\tag@width\row@\relax + \@tempdima\totwidth@ + \advance\@tempdima-\@tempdimb + \advance\@tempdima\tagwidth@ + \dimen@\minalignsep\relax + \multiply\dimen@\@tempcntb + \advance\dimen@\mintagsep\relax + \ifnum\xatlevel@=\tw@ \else + \advance\dimen@\mintagsep\relax + \fi + \advance\dimen@\@tempdima + \ifdim\dimen@>\displaywidth + \saveshift@1% + \else + \saveshift@0% + \dimen@\alignsep@ + \multiply\dimen@\count@ + \advance\dimen@\eqnshift@ + \advance\dimen@\@tempdimb + \ifdim\dimen@<2\tagwidth@ + \dimen@\displaywidth + \advance\dimen@-\@tempdima + \ifnum\xatlevel@=\tw@ + \advance\dimen@-\mintagsep\relax + \fi + \ifnum\@tempcnta>\z@ + \divide\dimen@\@tempcnta + \else \dimen@\z@ + \fi + \ifdim\dimen@<\minalignsep\relax + \global\alignsep@\minalignsep\relax + \dimen@\displaywidth + \advance\dimen@-\@tempdima + \advance\dimen@-\@tempcntb\alignsep@ + \global\divide\dimen@\tw@ + \else + \ifdim\dimen@<\alignsep@ + \global\alignsep@\dimen@ + \fi + \fi + \ifnum\xatlevel@=\tw@ + \dimen@\mintagsep\relax + \fi + \advance\dimen@\tagwidth@ + \advance\dimen@-\@tempdimb + \advance\dimen@-\count@\alignsep@ + \ifdim\dimen@>\eqnshift@ + \global\eqnshift@\dimen@ + \fi + \fi + \fi + \endgroup + } + \def\x@lcalc@width{% + \ifdim\@tempdima = \z@ + \ifdim\@tempa > \z@ + \@tempdima\p@ + \ifodd\column@ + \advance\@tempdimb \maxcol@width\column@ + \advance\@tempdimb-\@tempa + \fi + \count@\column@ + \advance\count@\m@ne + \divide\count@\tw@ + \advance\@tempcnta-\count@ + \advance\@tempcntb-\count@ + \else + \advance\@tempdimb \maxcol@width\column@\relax + \fi + \fi + } +\fi\fi +\def\place@tag{% + \iftagsleft@ + \kern-\tagshift@ + \if1\shift@tag\row@\relax + \rlap{\vbox{% + \normalbaselines + \boxz@ + \vbox to\lineht@{}% + \raise@tag + }}% + \else + \rlap{\boxz@}% + \fi + \kern\displaywidth@ + \else + \kern-\tagshift@ + \if1\shift@tag\row@\relax + \llap{\vtop{% + \raise@tag + \normalbaselines + \setbox\@ne\null + \dp\@ne\lineht@ + \box\@ne + \boxz@ + }}% + \else + \llap{\boxz@}% + \fi + \fi +} +\def\align@preamble{% + &\hfil + \strut@ + \setboxz@h{\@lign$\m@th\displaystyle{##}$}% + \ifmeasuring@\savefieldlength@\fi + \set@field + \tabskip\z@skip + &\setboxz@h{\@lign$\m@th\displaystyle{{}##}$}% + \ifmeasuring@\savefieldlength@\fi + \set@field + \hfil + \tabskip\alignsep@ +} +\def\set@field{% + \column@plus + \iftagsleft@ + \ifdim\ht\z@>\lineht@ + \global\lineht@\ht\z@ + \fi + \else + \ifdim\dp\z@>\lineht@ + \global\lineht@\dp\z@ + \fi + \fi + \boxz@ +} +\edef\split@err#1{% + \@nx\@amsmath@err{% + \string\begin{split} won't work here% + }{% + \@xp\@nx\csname + Did you forget a preceding \string\begin{equation}?^^J% + If not, perhaps the `aligned' environment is what + you want.\endcsname}% +} +\newenvironment{split}{% + \if@display + \ifinner + \@xp\@xp\@xp\split@aligned + \else + \ifst@rred \else \global\@eqnswtrue \fi + \fi + \else \let\endsplit\@empty \@xp\collect@body\@xp\split@err + \fi + \collect@body\gather@split +}{% + \crcr + \egroup + \egroup + \iftagsleft@ \@xp\lendsplit@ \else \@xp\rendsplit@ \fi +} +\let\split@tag\relax % init +\def\gather@split#1#2#3{% + \@xp\endgroup \reset@equation % math@cr will handle equation numbering + \iftag@ + \toks@\@xp{\df@tag}% + \edef\split@tag{% + \gdef\@nx\df@tag{\the\toks@}% + \global\@nx\tag@true \@nx\nonumber + }% + \else \let\split@tag\@empty + \fi + \spread@equation + \vcenter\bgroup + \gather@{\split@tag \begin{split}#1\end{split}}% + \def\endmathdisplay@a{% + \math@cr \black@ \totwidth@ \egroup + \egroup + }% +} +\def\insplit@{% + \global\setbox\z@\vbox\bgroup + \Let@ \chardef\dspbrk@context\@ne \restore@math@cr + \default@tag % disallow use of \tag here + \ialign\bgroup + \hfil + \strut@ + $\m@th\displaystyle{##}$% + &$\m@th\displaystyle{{}##}$% + \hfill % Why not \hfil?---dmj, 1994/12/28 + \crcr +} +\def\rendsplit@{% + \ifinalign@ + \global\setbox9 \vtop{% + \unvcopy\z@ + \global\setbox8 \lastbox + \unskip + }% + \setbox\@ne\hbox{% + \unhcopy8 + \unskip + \global\setbox\tw@\lastbox + \unskip + \global\setbox\thr@@\lastbox + }% + \ifctagsplit@ + \gdef\split@{% + \hbox to\wd\thr@@{}% + &\vcenter{\vbox{\moveleft\wd\thr@@\boxz@}}% + }% + \else + \global\setbox7 \hbox{\unhbox\tw@\unskip}% + \gdef\split@{% + \global\@tempcnta\column@ + &\setboxz@h{}% + \savetaglength@ + \global\advance\row@\@ne + \vbox{\moveleft\wd\thr@@\box9}% + \crcr + \noalign{\global\lineht@\z@}% + \add@amps\@tempcnta + \box\thr@@ + &\box7 + }% + \fi + \else + \ifctagsplit@ + \gdef\split@{\vcenter{\boxz@}}% + \else + \gdef\split@{% + \boxz@ + }% + \fi + \fi + \aftergroup\split@ +} +\def\lendsplit@{% + \global\setbox9\vtop{\unvcopy\z@}% + \ifinalign@ + \setbox\@ne\vbox{% + \unvcopy\z@ + \global\setbox8\lastbox + }% + \setbox\@ne\hbox{% + \unhcopy8% + \unskip + \setbox\tw@\lastbox + \unskip + \global\setbox\thr@@\lastbox + }% + \ifctagsplit@ + \gdef\split@{% + \hbox to\wd\thr@@{}% + &\vcenter{\vbox{\moveleft\wd\thr@@\box9}}% + }% + \else + \gdef\split@{% + \hbox to\wd\thr@@{}% + &\vbox{\moveleft\wd\thr@@\box9}% + }% + \fi + \else + \ifctagsplit@ + \gdef\split@{\vcenter{\box9}}% + \else + \gdef\split@{\box9}% + \fi + \fi + \aftergroup\split@ +} +\def\split@aligned#1#2{% + \iffalse{\fi\ifnum0=`}\fi + \collect@body\split@al@a} +\def\split@al@a#1#2#3{% + \split@warning + \endgroup + \toks@{\begin{aligned}}% + \if@fleqn \split@al@tagcheck \fi + \the\toks@\relax#1\end{aligned}% + \ifnum0=`{\fi\iffalse}\fi +} +\def\split@al@tagcheck{% + \ifctagsplit@ + \else + \iftagsleft@ \toks@\@xp{\the\toks@ [t]}% + \else \toks@\@xp{\the\toks@ [b]}% + \fi + \fi +} +\def\split@warning{% + \PackageWarning{amsmath}{% +Cannot use `split' here;\MessageBreak trying to recover with `aligned'}% +} +\newskip\multlinegap +\multlinegap10pt +\newskip\multlinetaggap +\multlinetaggap10pt +\def\start@multline#1{% + \RIfM@ + \nomath@env + \DN@{\@namedef{end\@currenvir}{}\@gobble}% + \else + $$% + #1% + \ifst@rred + \nonumber + \else + \global\@eqnswtrue + \fi + \let\next@\multline@ + \fi + \collect@body\next@ +} +\newenvironment{multline}{% + \start@multline\st@rredfalse +}{% + \iftagsleft@ \@xp\lendmultline@ \else \@xp\rendmultline@ \fi + \ignorespacesafterend +} +\newenvironment{multline*}{\start@multline\st@rredtrue}{\endmultline} +\def\multline@#1{% + \Let@ + \@display@init{\global\advance\row@\@ne \global\dspbrk@lvl\m@ne}% + \chardef\dspbrk@context\z@ + \restore@math@cr + \let\tag\tag@in@align + \global\tag@false \global\let\raise@tag\@empty + \mmeasure@{#1}% + \let\tag\gobble@tag \let\label\@gobble + \tabskip \if@fleqn \@mathmargin \else \z@skip \fi + \totwidth@\displaywidth + \if@fleqn + \advance\totwidth@-\@mathmargin + \fi + \halign\bgroup + \hbox to\totwidth@{% + \if@fleqn + \hskip \@centering \relax + \else + \hfil + \fi + \strut@ + $\m@th\displaystyle{}##\endmultline@math + \hfil + }% + \crcr + \if@fleqn + \hskip-\@mathmargin + \def\multline@indent{\hskip\@mathmargin}% put it back + \else + \hfilneg + \def\multline@indent{\hskip\multlinegap}% + \fi + \iftagsleft@ + \iftag@ + \begingroup + \ifshifttag@ + \rlap{\vbox{% + \normalbaselines + \hbox{% + \strut@ + \make@display@tag + }% + \vbox to\lineht@{}% + \raise@tag + }}% + \multline@indent + \else + \setbox\z@\hbox{\make@display@tag}% + \dimen@\@mathmargin \advance\dimen@-\wd\z@ + \ifdim\dimen@<\multlinetaggap + \dimen@\multlinetaggap + \fi + \box\z@ \hskip\dimen@\relax + \fi + \endgroup + \else + \multline@indent + \fi + \else + \multline@indent + \fi + #1% +} +\def\endmultline@math{$} +\def\lendmultline@{% + \hfilneg + \hskip\multlinegap + \math@cr + \egroup + $$% +} +\def\rendmultline@{% + \iftag@ + $\let\endmultline@math\relax + \ifshifttag@ + \hskip\multlinegap + \llap{\vtop{% + \raise@tag + \normalbaselines + \setbox\@ne\null + \dp\@ne\lineht@ + \box\@ne + \hbox{\strut@\make@display@tag}% + }}% + \else + \hskip\multlinetaggap + \make@display@tag + \fi + \else + \hskip\multlinegap + \fi + \hfilneg + \math@cr + \egroup$$% +} +\def\mmeasure@#1{% + \begingroup + \measuring@true + \def\label##1{% + \begingroup\measuring@false\label@in@display{##1}\endgroup}% + \def\math@cr@@@{\cr}% + \let\shoveleft\@iden \let\shoveright\@iden + \savecounters@ + \global\row@\z@ + \setbox\@ne\vbox{% + \global\let\df@tag\@empty + \halign{% + \setboxz@h{\@lign$\m@th\displaystyle{}##$}% + \iftagsleft@ + \ifnum\row@=\@ne + \global\totwidth@\wdz@ + \global\lineht@\ht\z@ + \fi + \else + \global\totwidth@\wdz@ + \global\lineht@\dp\z@ + \fi + \crcr + #1% + \crcr + }% + }% + \ifx\df@tag\@empty\else\global\tag@true\fi + \if@eqnsw\global\tag@true\fi + \iftag@ + \setboxz@h{% + \if@eqnsw + \stepcounter{equation}% + \tagform@\theequation + \else + \df@tag + \fi + }% + \global\tagwidth@\wdz@ + \dimen@\totwidth@ + \advance\dimen@\tagwidth@ + \advance\dimen@\multlinetaggap + \iftagsleft@\else + \if@fleqn + \advance\dimen@\@mathmargin + \fi + \fi + \ifdim\dimen@>\displaywidth + \global\shifttag@true + \else + \global\shifttag@false + \fi + \fi + \restorecounters@ + \endgroup +} +\iftagsleft@ + \def\shoveright#1{% + #1% + \hfilneg + \hskip\multlinegap + } +\else + \def\shoveright#1{% + #1% + \hfilneg + \iftag@ + \ifshifttag@ + \hskip\multlinegap + \else + \hskip\tagwidth@ + \hskip\multlinetaggap + \fi + \else + \hskip\multlinegap + \fi + } +\fi + +\if@fleqn + \def\shoveleft#1{#1}% +\else + \iftagsleft@ + \def\shoveleft#1{% + \setboxz@h{$\m@th\displaystyle{}#1$}% + \setbox\@ne\hbox{$\m@th\displaystyle#1$}% + \hfilneg + \iftag@ + \ifshifttag@ + \hskip\multlinegap + \else + \hskip\tagwidth@ + \hskip\multlinetaggap + \fi + \else + \hskip\multlinegap + \fi + \hskip.5\wd\@ne + \hskip-.5\wdz@ + #1% + } + \else + \def\shoveleft#1{% + \setboxz@h{$\m@th\displaystyle{}#1$}% + \setbox\@ne\hbox{$\m@th\displaystyle#1$}% + \hfilneg + \hskip\multlinegap + \hskip.5\wd\@ne + \hskip-.5\wdz@ + #1% + } + \fi +\fi +\@saveprimitive\leqno\@@leqno +\@saveprimitive\eqno\@@eqno +\def\eqno{\@@eqno\let\eqno\relax\let\leqno\relax} +\def\leqno{\@@leqno\let\leqno\relax\let\eqno\relax} +\let\veqno=\@@eqno +\iftagsleft@ \let\veqno=\@@leqno \fi +\@ifundefined{SK@@label}{% + \let\SK@@label\relax \let\SK@equationtrue\relax +}{} +\let\reset@equation\@empty +\let\alt@tag\@empty +\def\tag@in@display#1#{\relax\tag@in@display@a{#1}} +\def\tag@in@display@a#1#2{% + \iftag@ + \invalid@tag{Multiple \string\tag}\relax + \else + \global\tag@true \nonumber \reset@equation \st@rredtrue + \if *\string#1% + \gdef\alt@tag{\def\SK@tagform@{#2\@gobble}% + \ifx\SK@@label\relax \let\tagform@\SK@tagform@ \fi + }% + \make@df@tag@@{#2}% + \else + \make@df@tag@@@{#2}% + \fi + \fi +} +\let\restore@hfuzz\@empty +\def\mathdisplay#1{% + \ifmmode \@badmath + \else + $$\def\@currenvir{#1}% + \let\dspbrk@context\z@ + \let\tag\tag@in@display \let\label\label@in@display \SK@equationtrue + \global\let\df@label\@empty \global\let\df@tag\@empty + \global\tag@false + \let\mathdisplay@push\mathdisplay@@push + \let\mathdisplay@pop\mathdisplay@@pop + \if@fleqn + \edef\restore@hfuzz{\hfuzz\the\hfuzz\relax}% + \hfuzz\maxdimen + \setbox\z@\hbox to\displaywidth\bgroup + \let\split@warning\relax \restore@hfuzz + \everymath\@emptytoks \m@th $\displaystyle + \fi + \fi +} +\def\endmathdisplay#1{% + \ifmmode \else \@badmath \fi + \endmathdisplay@a + $$% + \global\let\df@label\@empty \global\let\df@tag\@empty + \global\tag@false \global\let\alt@tag\@empty + \global\@eqnswfalse +} +\def\endmathdisplay@a{% + \if@eqnsw \gdef\df@tag{\tagform@\theequation}\fi + \if@fleqn \@xp\endmathdisplay@fleqn + \else \ifx\df@tag\@empty \else \veqno \alt@tag \df@tag \fi + \ifx\df@label\@empty \else \@xp\ltx@label\@xp{\df@label}\fi + \fi + \ifnum\dspbrk@lvl>\m@ne + \postdisplaypenalty -\@getpen\dspbrk@lvl + \global\dspbrk@lvl\m@ne + \fi +} +\let\too@wide\@ne +\def\endmathdisplay@fleqn{% + $\hfil\hskip\@mathmargin\egroup + \ifnum\badness<\inf@bad \let\too@wide\@ne \else \let\too@wide\z@ \fi + \ifx\@empty\df@tag + \else + \setbox4\hbox{\df@tag + \ifx\df@label\@empty \else \@xp\ltx@label\@xp{\df@label}\fi + }% + \fi + \csname emdf@% + \ifx\df@tag\@empty U\else \iftagsleft@ L\else R\fi\fi + \endcsname +} +\def\emdf@U{% + \restore@hfuzz + \ifodd\too@wide % not too wide: just need to swap the glue around + \hbox to\displaywidth{\hskip\@mathmargin\unhbox\z@\unskip}% + \else % M+B > displaywidth + \emdf@Ua + \fi +} +\def\emdf@Ua{% + \hbox to\columnwidth{% + \ifdim\displayindent>\z@ + \hskip\displayindent minus\displayindent + \fi + \hskip\@mathmargin \unhbox\z@ \unskip + }% + \displayindent\z@ \displaywidth\columnwidth +} +\def\emdf@R{% + \setbox\tw@\hbox to\displaywidth{% + \hskip\@mathmargin \unhcopy\z@\unskip\hfil\hskip\mintagsep\copy4 + }% + \restore@hfuzz + \ifnum\badness<\inf@bad \box\tw@ \else \emdf@Ra \fi +} +\def\emdf@Ra{% + \skip@\displayindent minus\displayindent + \displayindent\z@ \displaywidth\columnwidth + \spread@equation \everycr{}\tabskip\z@skip + \halign{\hbox to\displaywidth{##}\cr + \relax + \ifdim\skip@>\z@ \hskip\skip@ \fi + \hskip\@mathmargin\unhbox\z@\unskip\hfil\cr + \noalign{\raise@tag}% + \hfil\box4 \cr}% +} +\def\emdf@L{% + \@tempdima\@mathmargin + \advance\@tempdima-\wd4 \advance\@tempdima-\mintagsep + \skip@\@tempdima minus\@tempdima + \setbox\tw@\hbox to\displaywidth{% + \copy4\hskip\mintagsep + \ifdim\skip@>\z@ \hskip\skip@\fi + \unhcopy\z@\unskip + }% + \restore@hfuzz + \ifnum\badness<\inf@bad \box\tw@ \else \emdf@La \fi +} +\def\emdf@La{% + \spread@equation \everycr{}\tabskip\z@skip + \halign{\hbox to\displaywidth{##}\cr + \box4 \hfil \cr + \noalign{\raise@tag}% + \hskip\@mathmargin\unhbox\z@\unskip\hfil\cr}% +} +\newtoks\mathdisplay@stack +\let\mathdisplay@push\@empty +\def\mathdisplay@@push{% + \begingroup + \toks@\@xp{\df@label}\@temptokena\@xp{\df@tag}% + \toks8\@xp{\alt@tag}% + \edef\@tempa{% + \global\if@eqnsw\@nx\@eqnswtrue\else\@nx\@eqnswfalse\fi + \global\iftag@\@nx\tag@false\else\@nx\tag@true\fi + \gdef\@nx\df@label{\the\toks@}\gdef\@nx\df@tag{\the\@temptokena}% + \gdef\@nx\alt@tag{\the\toks8}% + \global\mathdisplay@stack{\the\mathdisplay@stack}% + }% + \global\mathdisplay@stack\@xp{\@tempa} + \endgroup +} +\let\mathdisplay@pop\@empty +\def\mathdisplay@@pop{\the\mathdisplay@stack} +\renewenvironment{equation}{% + \incr@eqnum + \mathdisplay@push + \st@rredfalse \global\@eqnswtrue + \mathdisplay{equation}% +}{% + \endmathdisplay{equation}% + \mathdisplay@pop + \ignorespacesafterend +} +\newenvironment{equation*}{% + \mathdisplay@push + \st@rredtrue \global\@eqnswfalse + \mathdisplay{equation*}% +}{% + \endmathdisplay{equation*}% + \mathdisplay@pop + \ignorespacesafterend +} +\DeclareRobustCommand{\[}{\begin{equation*}} +\DeclareRobustCommand{\]}{\end{equation*}} +\endinput +%% +%% End of file `amsmath.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amsmidx.sty b/Master/texmf-dist/tex/latex/amslatex/amsmidx.sty new file mode 100644 index 00000000000..f8bae104430 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amsmidx.sty @@ -0,0 +1,122 @@ +%% +%% This is file `amsmidx.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsmidx.dtx +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsmidx.dtx", +%%% version = "2.01", +%%% date = "2004/08/03", +%%% time = "14:45:42 EDT", +%%% checksum = "63234 241 948 8307", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 2004 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Publications Technical Group, +%%% 201 Charles Street, +%%% Providence, RI 02904, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, amslatex, multiple indexes", +%%% supported = "yes", +%%% abstract = "This is part of the AMS-\LaTeX{} distribution. +%%% It contains code to support the creation and +%%% typesetting of multiple indexes with AMS-LaTeX{} +%%% document classes, superseding the single-index +%%% facilities built into those document classes. +%%% It also provides a facility to insert a paragraph +%%% of comments between the title and the index proper", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\ProvidesPackage{amsmidx}[2004/08/03 v2.01 multiple indexes for AMS classes] +\renewcommand{\makeindex}[1]{% + \begingroup + \makeatletter + \if@filesw \expandafter\newwrite\csname #1@idxfile\endcsname + \expandafter\immediate\openout \csname #1@idxfile\endcsname #1.idx\relax + \typeout{Writing index file #1.idx }\fi + \endgroup} +\renewcommand{\index}[1]{% + \@bsphack + \begingroup + \def\protect##1{\string##1\space}\@sanitize\@wrindex{#1}} +\renewcommand{\@wrindex}[2]{% + \let\thepage\relax + \xdef\@gtempa{% + \@ifundefined{#1@idxfile}{% + \PackageError{\@packagename}{% + The requested file, #1@idxfile.idx, does not exist;\MessageBreak + index term #2 will not be be written out.% + }% + }{% + \expandafter\write\csname #1@idxfile\endcsname + {\string\indexentry{#2}{\thepage}}% + }% + }% + \endgroup\@gtempa + \if@nobreak \ifvmode\nobreak\fi\fi + \@esphack + } +\renewcommand{\printindex}[1]{\@input{#1.ind}} +\newcommand{\Printindex}[2]{% + \begingroup + \cleardoublepage + \def\indexname{#2}% + \raggedright + \hyphenpenalty=10000 + \renewcommand{\seename}{see~also} + \renewcommand{\subitem}{\par\hangindent 3em\hspace*{1em}} + \@input{#1.ind}% + \endgroup + } +\newdimen\@indexcommentwidth +\@indexcommentwidth=\textwidth +\ifdim\@indexcommentwidth > 26pc + \advance\@indexcommentwidth-6pc +\else + \advance\@indexcommentwidth-4pc +\fi +\newcommand{\indexcomment}[1]{% + \def\theindexcomment{% + \vskip\baselineskip + \parbox[t]{\@indexcommentwidth}{\normalsize\mdseries#1}% + }% + } +\let\theindexcomment\@empty +\renewcommand{\indexchap}[1]{% + \global\topskip 7.5pc\relax + \twocolumn[\fontsize{\@xivpt}{18}% + \vskip\topskip\vskip-\baselineskip\hbox{}% adjust top space + \bfseries\centering #1\par + \ifx\theindexcomment\@empty + \else \theindexcomment + \global\let\theindexcomment\@empty + \fi + ]% + \global\topskip 34\p@ +} +\endinput +%% +%% End of file `amsmidx.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amsopn.sty b/Master/texmf-dist/tex/latex/amslatex/amsopn.sty new file mode 100644 index 00000000000..76580233765 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amsopn.sty @@ -0,0 +1,132 @@ +%% +%% This is file `amsopn.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsopn.dtx +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsopn.dtx", +%%% version = "2.01", +%%% date = "1999/12/14", +%%% time = "17:30:59 EST", +%%% checksum = "46904 254 1037 9431", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 1999 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "operator name, amsopn, DeclareMathOperator", +%%% supported = "yes", +%%% abstract = "This is a \LaTeX{} package that provides a +%%% DeclareMathOperator command for defining named +%%% operators like sin and lim.", +%%% docstring = "The checksum field above contains a CRC-16 checksum +%%% as the first value, followed by the equivalent of +%%% the standard UNIX wc (word count) utility output of +%%% lines, words, and characters. This is produced by +%%% Robert Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1994/12/01]% LaTeX date must December 1994 or later +\ProvidesPackage{amsopn}[1999/12/14 v2.01 operator names] +\def\nolimits@{\@ifnextchar\limits{\nolimits\@gobble}{\nolimits}} +\begingroup \catcode`\"=12 +\gdef\newmcodes@{\mathcode`\'39\mathcode`\*42\mathcode`\."613A% + \ifnum\mathcode`\-=45 \else + \mathchardef\std@minus\mathcode`\-\relax + \fi + \mathcode`\-45\mathcode`\/47\mathcode`\:"603A\relax} +\endgroup +\DeclareRobustCommand{\operatorname}{% + \@ifstar{\qopname\newmcodes@ m}% + {\qopname\newmcodes@ o}}% +\DeclareRobustCommand{\qopname}[3]{% + \mathop{#1\kern\z@\operator@font#3}% + \csname n#2limits@\endcsname} +\newcommand{\DeclareMathOperator}{% + \@ifstar{\@declmathop m}{\@declmathop o}} +\long\def\@declmathop#1#2#3{% + \@ifdefinable{#2}{% + \DeclareRobustCommand{#2}{\qopname\newmcodes@#1{#3}}}} +\@onlypreamble\DeclareMathOperator +\@onlypreamble\@declmathop +\def\arccos{\qopname\relax o{arccos}} +\def\arcsin{\qopname\relax o{arcsin}} +\def\arctan{\qopname\relax o{arctan}} +\def\arg{\qopname\relax o{arg}} +\def\cos{\qopname\relax o{cos}} +\def\cosh{\qopname\relax o{cosh}} +\def\cot{\qopname\relax o{cot}} +\def\coth{\qopname\relax o{coth}} +\def\csc{\qopname\relax o{csc}} +\def\deg{\qopname\relax o{deg}} +\def\det{\qopname\relax m{det}} +\def\dim{\qopname\relax o{dim}} +\def\exp{\qopname\relax o{exp}} +\def\gcd{\qopname\relax m{gcd}} +\def\hom{\qopname\relax o{hom}} +\def\inf{\qopname\relax m{inf}} +\def\injlim{\qopname\relax m{inj\,lim}} +\def\ker{\qopname\relax o{ker}} +\def\lg{\qopname\relax o{lg}} +\def\lim{\qopname\relax m{lim}} +\def\liminf{\qopname\relax m{lim\,inf}} +\def\limsup{\qopname\relax m{lim\,sup}} +\def\ln{\qopname\relax o{ln}} +\def\log{\qopname\relax o{log}} +\def\max{\qopname\relax m{max}} +\def\min{\qopname\relax m{min}} +\def\Pr{\qopname\relax m{Pr}} +\def\projlim{\qopname\relax m{proj\,lim}} +\def\sec{\qopname\relax o{sec}} +\def\sin{\qopname\relax o{sin}} +\def\sinh{\qopname\relax o{sinh}} +\def\sup{\qopname\relax m{sup}} +\def\tan{\qopname\relax o{tan}} +\def\tanh{\qopname\relax o{tanh}} +\def\operator@font{\mathgroup\symoperators} +\def\operatorfont{\operator@font} +\def\operatornamewithlimits{\operatorname*} +\def\varlim@#1#2{% + \vtop{\m@th\ialign{##\cr + \hfil$#1\operator@font lim$\hfil\cr + \noalign{\nointerlineskip\kern1.5\ex@}#2\cr + \noalign{\nointerlineskip\kern-\ex@}\cr}}% +} +\def\varinjlim{% + \mathop{\mathpalette\varlim@{\rightarrowfill@\textstyle}}\nmlimits@ +} +\def\varprojlim{% + \mathop{\mathpalette\varlim@{\leftarrowfill@\textstyle}}\nmlimits@ +} +\def\varliminf{\mathop{\mathpalette\varliminf@{}}\nmlimits@} +\def\varliminf@#1{\@@underline{\vrule\@depth.2\ex@\@width\z@ + \hbox{$#1\m@th\operator@font lim$}}} +\def\varlimsup{\mathop{\mathpalette\varlimsup@{}}\nmlimits@} +\def\varlimsup@#1{\@@overline{\hbox{$#1\m@th\operator@font lim$}}} +\let\nmlimits@\displaylimits +\DeclareOption{namelimits}{\let\nmlimits@\displaylimits} +\DeclareOption{nonamelimits}{\let\nmlimits@\nolimits} +\ProcessOptions\relax +\RequirePackage{amsgen}\relax +\endinput +%% +%% End of file `amsopn.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amsproc.cls b/Master/texmf-dist/tex/latex/amslatex/amsproc.cls new file mode 100644 index 00000000000..a85c122203c --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amsproc.cls @@ -0,0 +1,1858 @@ +%% +%% This is file `amsproc.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsclass.dtx (with options: `amsproc,classes') +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsclass.dtx", +%%% version = "2.20", +%%% date = "2004/08/06", +%%% time = "13:03:53 EDT", +%%% checksum = "53558 5204 20497 185872", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 1999, 2004 +%%% American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Publications Technical Group, +%%% 201 Charles Street, +%%% Providence, RI 02904, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, AMS, documentclass, theorem", +%%% supported = "yes", +%%% abstract = "This is the source for the amsthm package and three +%%% AMS document classes: amsart, amsproc, and amsbook. +%%% They are designed for use with LaTeX.", +%%% docstring = "The checksum field above contains a CRC-16 checksum +%%% as the first value, followed by the equivalent of +%%% the standard UNIX wc (word count) utility output of +%%% lines, words, and characters. This is produced by +%%% Robert Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1995/06/01]% LaTeX date must be June 1995 or later +\ProvidesClass{amsproc}[2004/08/06 v2.20] +\global\expandafter\let\csname ver@amsthm.sty\expandafter\endcsname + \csname ver@\@currname.\@currext\endcsname +\let\@xp=\expandafter +\let\@nx=\noexpand +\def\@oparg#1[#2]{\@ifnextchar[{#1}{#1[#2]}} +\long\def\@ifempty#1{\@xifempty#1@@..\@nil} +\long\def\@xifempty#1#2@#3#4#5\@nil{% + \ifx#3#4\@xp\@firstoftwo\else\@xp\@secondoftwo\fi} +\long\def\@ifnotempty#1{\@ifempty{#1}{}} +\def\setboxz@h{\setbox\z@\hbox} +\def\@addpunct#1{% + \relax\ifhmode + \ifnum\spacefactor>\@m \else#1\fi + \fi} +\def\nopunct{\spacefactor 1007 } +\def\frenchspacing{\sfcode`\.1006\sfcode`\?1005\sfcode`\!1004% + \sfcode`\:1003\sfcode`\;1002\sfcode`\,1001 } +\def\@tempa#1#2\@nil{\edef\@classname{#1}} +\expandafter\@tempa\@currnamestack{}{}{}\@nil +\ifx\@classname\@empty \edef\@classname{\@currname}\fi +\def\@True{00} +\def\@False{01} +\newcommand\newswitch[2][False]{% + \expandafter\@ifdefinable\csname ?@#2\endcsname{% + \global\expandafter\let\csname ?@#2\expandafter\endcsname + \csname @#1\endcsname + }% +} +\newcommand{\setFalse}[1]{% + \expandafter\let\csname ?@#1\endcsname\@False +} +\newcommand{\setTrue}[1]{% + \expandafter\let\csname ?@#1\endcsname\@True +} +\newswitch{} +\DeclareRobustCommand{\except}[1]{% + \if\csname ?@#1\endcsname \expandafter\@gobble + \else \expandafter\@firstofone + \fi +} +\DeclareRobustCommand{\for}[1]{% + \if\csname ?@#1\endcsname \expandafter\@firstofone + \else \expandafter\@gobble + \fi +} +\DeclareRobustCommand{\forany}[1]{% + \csname for@any@01\endcsname#1,?,\@nil +} +\@namedef{for@any@\@False}#1,{% + \csname for@any@% + \csname ?@\zap@space#1 \@empty\endcsname + \endcsname +} +\@namedef{?@?}{x} +\@namedef{for@any@\@True}#1\@nil#2{#2} +\def\for@any@x{\@car\@gobble} +\DeclareOption{a4paper}{\paperheight 297mm\paperwidth 210mm + \textheight 54.5pc } +\DeclareOption{letterpaper}{\paperheight 11in\paperwidth 8.5in } +\DeclareOption{landscape}{\@tempdima\paperheight + \paperheight\paperwidth \paperwidth\@tempdima} +\DeclareOption{portrait}{} +\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} +\DeclareOption{draft}{\overfullrule5\p@ + \ClassWarningNoLine{\@classname}{% + When the draft option is used, the + \protect\includegraphics\MessageBreak + command will print blank placeholder boxes\MessageBreak + for the graphics}% +} +\DeclareOption{final}{\overfullrule\z@ } +\def\dateposted#1{\def\@dateposted{#1}}% +\let\@dateposted\@empty +\def\@logofont{\fontsize{6}{7\p@}\selectfont} +\long\def\set@logo#1{% + \vbox to\headheight{% + \@parboxrestore \@logofont + \noindent#1\par\vss + }% +} +\def\procart@logo{% + \set@logo{\publname + \ifx\@empty\volinfo \else\newline\volinfo\fi}% +} +\newif\if@titlepage +\DeclareOption{titlepage}{\@titlepagetrue} +\DeclareOption{notitlepage}{\@titlepagefalse} +\DeclareOption{onecolumn}{\@twocolumnfalse} +\DeclareOption{twocolumn}{\@twocolumntrue} +\DeclareOption{nomath}{} +\DeclareOption{noamsfonts}{} +\DeclareOption{psamsfonts}{% + \PassOptionsToPackage{psamsfonts}{amsfonts}% + \PassOptionsToPackage{cmex10}{amsmath}} +\newif\iftagsleft@ +\DeclareOption{leqno}{% + \tagsleft@true \PassOptionsToPackage{leqno}{amsmath}} +\DeclareOption{reqno}{% + \tagsleft@false \PassOptionsToPackage{reqno}{amsmath}} +\newif\ifctagsplit@ +\DeclareOption{centertags}{% + \ctagsplit@true \PassOptionsToPackage{centertags}{amsmath}} +\DeclareOption{tbtags}{% + \ctagsplit@false \PassOptionsToPackage{tbtags}{amsmath}} +\DeclareOption{fleqn}{}% +\newcommand{\@mainsize}{10} +\newcommand{\@ptsize}{0} +\newcommand{\larger}[1][1]{% + \count@\@currsizeindex \advance\count@#1\relax + \ifnum\count@<\z@ \count@\z@ \else\ifnum\count@>12 \count@12 \fi\fi + \ifcase\count@ + \Tiny\or\Tiny\or\tiny\or\SMALL\or\Small\or\small + \or\normalsize + \or\large\or\Large\or\LARGE\or\huge\or\Huge\else\Huge + \fi +} +\newcommand{\smaller}[1][1]{\larger[-#1]} +\def\@adjustvertspacing{% + \bigskipamount.7\baselineskip plus.7\baselineskip + \medskipamount\bigskipamount \divide\medskipamount\tw@ + \smallskipamount\medskipamount \divide\smallskipamount\tw@ + \abovedisplayskip\medskipamount + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip\abovedisplayskip + \advance\abovedisplayshortskip-1\abovedisplayskip + \belowdisplayshortskip\abovedisplayshortskip + \advance\belowdisplayshortskip 1\smallskipamount + \jot\baselineskip \divide\jot 4 \relax +} +\renewcommand\normalsize{\@xsetfontsize\normalsize 6% + \@adjustvertspacing \let\@listi\@listI} +\DeclareRobustCommand{\Tiny}{\@xsetfontsize\Tiny 1} +\DeclareRobustCommand{\tiny}{\@xsetfontsize\tiny 2} +\DeclareRobustCommand{\SMALL}{\@xsetfontsize\SMALL 3} +\DeclareRobustCommand{\Small}{\@xsetfontsize\Small 4% + \@adjustvertspacing + \def\@listi{\topsep\smallskipamount \parsep\z@skip \itemsep\z@skip + \leftmargin=\leftmargini + \labelwidth=\leftmargini \advance\labelwidth-\labelsep + }% +} +\DeclareRobustCommand{\small}{\@xsetfontsize\small 5\@adjustvertspacing} +\def\footnotesize{\Small} +\def\scriptsize{\SMALL} +\DeclareRobustCommand{\large}{\@xsetfontsize\large 7\@adjustvertspacing} +\DeclareRobustCommand{\Large}{\@xsetfontsize\Large 8\@adjustvertspacing} +\DeclareRobustCommand{\LARGE}{\@xsetfontsize\LARGE 9} +\DeclareRobustCommand{\huge}{\@xsetfontsize\huge{10}} +\DeclareRobustCommand{\Huge}{\@xsetfontsize\Huge{11}} +\def\@xsetfontsize#1#2{% + \chardef\@currsizeindex#2\relax + \edef\@tempa{\@nx\@setfontsize\@nx#1% + \@xp\ifcase\@xp\@currsizeindex\@typesizes + \else{99}{99}\fi}% + \@tempa +} +\chardef\@currsizeindex=6 +\widowpenalty=10000 +\clubpenalty=10000 +\brokenpenalty=10000 +\newdimen\linespacing +\lineskip=1pt \lineskiplimit=1pt +\normallineskip=1pt \normallineskiplimit=1pt +\let\baselinestretch=\@empty +\headheight=8pt \headsep=14pt +\footskip=12pt +\textheight=50.5pc \topskip=10pt +\textwidth=30pc +\columnsep=10pt \columnseprule=0pt +\marginparwidth=90pt +\marginparsep=11pt +\marginparpush=5pt +\AtBeginDocument{\settoheight{\footnotesep}{\footnotesize M$^1$}} +\skip\footins=7pt plus11pt +\skip\@mpfootins=\skip\footins +\fboxsep=3pt \fboxrule=.4pt +\arrayrulewidth=.4pt \doublerulesep=2pt +\labelsep=5pt \arraycolsep=\labelsep +\tabcolsep=\labelsep \tabbingsep=\labelsep +\floatsep=15pt plus 12pt \dblfloatsep=15pt plus 12pt +\textfloatsep=\floatsep \dbltextfloatsep=15pt plus 12pt +\intextsep=\floatsep +\@fptop=0pt plus1fil \@dblfptop=0pt plus1fil +\@fpbot=0pt plus1fil \@dblfpbot=0pt plus1fil +\@fpsep=8pt plus2fil \@dblfpsep=8pt plus2fil\relax +\parskip=0pt \relax +\newdimen\normalparindent +\normalparindent=18pt +\parindent=\normalparindent +\partopsep=0pt \relax \parsep=0pt \relax \itemsep=0pt \relax +\@lowpenalty=51 \@medpenalty=151 \@highpenalty=301 +\@beginparpenalty=-\@lowpenalty +\@endparpenalty=-\@lowpenalty +\@itempenalty=-\@lowpenalty +\DeclareOption{10pt}{\def\@mainsize{10}\def\@ptsize{0}% + \def\@typesizes{% + \or{5}{6}\or{6}{7}\or{7}{8}\or{8}{10}\or{9}{11}% + \or{10}{12}% normalsize + \or{\@xipt}{13}\or{\@xiipt}{14}\or{\@xivpt}{17}% + \or{\@xviipt}{20}\or{\@xxpt}{24}}% + \normalsize \linespacing=\baselineskip +} +\DeclareOption{11pt}{\def\@mainsize{11}\def\@ptsize{1}% + \def\@typesizes{% + \or{6}{7}\or{7}{8}\or{8}{10}\or{9}{11}\or{10}{12}% + \or{\@xipt}{13}% normalsize + \or{\@xiipt}{14}\or{\@xivpt}{17}\or{\@xviipt}{20}% + \or{\@xxpt}{24}\or{\@xxvpt}{30}}% + \normalsize \linespacing=\baselineskip +} +\DeclareOption{12pt}{\def\@mainsize{12}\def\@ptsize{2}% + \def\@typesizes{% + \or{7}{8}\or{8}{10}\or{9}{11}\or{10}{12}\or{\@xipt}{13}% + \or{\@xiipt}{14}% normalsize + \or{\@xivpt}{17}\or{\@xviipt}{20}\or{\@xxpt}{24}% + \or{\@xxvpt}{30}\or{\@xxvpt}{30}}% + \normalsize \linespacing=\baselineskip +} +\DeclareOption{8pt}{\def\@mainsize{8}\def\@ptsize{8}% + \def\@typesizes{% + \or{5}{6}\or{5}{6}\or{5}{6}\or{6}{7}\or{7}{8}% + \or{8}{10}% normalsize + \or{9}{11}\or{10}{12}\or{\@xipt}{13}% + \or{\@xiipt}{14}\or{\@xivpt}{17}}% + \normalsize \linespacing=\baselineskip +} +\DeclareOption{9pt}{\def\@mainsize{9}\def\@ptsize{9}% + \def\@typesizes{% + \or{5}{6}\or{5}{6}\or{6}{7}\or{7}{8}\or{8}{10}% + \or{9}{11}% normalsize + \or{10}{12}\or{\@xipt}{13}\or{\@xiipt}{14}% + \or{\@xivpt}{17}\or{\@xviipt}{20}}% + \normalsize \linespacing=\baselineskip +} +\def\ps@empty{\let\@mkboth\@gobbletwo + \let\@oddhead\@empty \let\@evenhead\@empty + \let\@oddfoot\@empty \let\@evenfoot\@empty + \global\topskip\normaltopskip} +\def\ps@plain{\ps@empty + \def\@oddfoot{\normalfont\scriptsize \hfil\thepage\hfil}% + \let\@evenfoot\@oddfoot} +\newswitch{runhead} +\def\ps@headings{\ps@empty + \def\@evenhead{% + \setTrue{runhead}% + \normalfont\scriptsize + \rlap{\thepage}\hfil + \def\thanks{\protect\thanks@warning}% + \leftmark{}{}\hfil}% + \def\@oddhead{% + \setTrue{runhead}% + \normalfont\scriptsize \hfil + \def\thanks{\protect\thanks@warning}% + \rightmark{}{}\hfil \llap{\thepage}}% + \let\@mkboth\markboth +} +\let\sectionname\@empty +\let\subsectionname\@empty +\let\subsubsectionname\@empty +\let\paragraphname\@empty +\let\subparagraphname\@empty +\def\leftmark{\expandafter\@firstoftwo\topmark{}{}} +\def\rightmark{\expandafter\@secondoftwo\botmark{}{}} +\def\ps@firstpage{\ps@plain + \def\@oddfoot{\normalfont\scriptsize \hfil\thepage\hfil + \global\topskip\normaltopskip}% + \let\@evenfoot\@oddfoot + \def\@oddhead{\@serieslogo\hss}% + \let\@evenhead\@oddhead % in case an article starts on a left-hand page +} +\long\def\@nilgobble#1\@nil{} +\def\markboth#1#2{% + \begingroup + \@temptokena{{#1}{#2}}\xdef\@themark{\the\@temptokena}% + \mark{\the\@temptokena}% + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi} +\def\ps@myheadings{\ps@headings \let\@mkboth\@gobbletwo} +\newskip\normaltopskip +\normaltopskip=10pt \relax +\let\sectionmark\@gobble +\let\subsectionmark\@gobble +\let\subsubsectionmark\@gobble +\let\paragraphmark\@gobble + +\DeclareOption{makeidx}{} +\ExecuteOptions{leqno,centertags,letterpaper,portrait,% + 10pt,twoside,onecolumn,final} +\ProcessOptions\relax +\if@compatibility + \def\@tempa{\RequirePackage{amstex}\relax}% +\else + \@ifclasswith{\@classname}{nomath}{% + \let\@tempa\relax + }{% + \def\@tempa{\RequirePackage{amsmath}\relax}% + }% +\fi +\@tempa % load amstex.sty or amsmath.sty +\@ifundefined{numberwithin}{% + \newcommand{\numberwithin}[3][\arabic]{% + \@ifundefined{c@#2}{\@nocounterr{#2}}{% + \@ifundefined{c@#3}{\@nocnterr{#3}}{% + \@addtoreset{#2}{#3}% + \@xp\xdef\csname the#2\endcsname{% + \@xp\@nx\csname the#3\endcsname .\@nx#1{#2}}}}% + } + \csname newtoks\endcsname\@emptytoks +}{} +\if@compatibility +\else + \@ifclasswith{\@classname}{noamsfonts}{% + % amsfonts package is not wanted + }{% + % amsfonts package IS wanted; test whether a recent enough version + % seems to be installed + \begingroup \fontencoding{U}\fontfamily{msa}\try@load@fontshape\endgroup + \global\@xp\let\csname U+msa\endcsname\relax % reset + \@ifundefined{U/msa/m/n}{% + \ClassError{\@classname}{% + Package `amsfonts' not installed, or version too old?\MessageBreak + Unable to get font info for the `msam' fonts in the expected form% + }{% + The amsfonts package will not be loaded, to avoid probable\MessageBreak + incompatibility problems. You can (a) use the `noamsfonts' + documentclass\MessageBreak + option next time, or (b) check that the amsfonts package is + installed\MessageBreak + correctly, and is not too old to be compatible.% + }% + }{% + \RequirePackage{amsfonts}[1995/01/01]\relax + }% + } +\fi % end yesamsfonts branch +\let\cleardouble@page\cleardoublepage +\AtBeginDocument{% + \ifx\cleardouble@page\cleardoublepage + \def\cleardoublepage{\clearpage{\pagestyle{empty}\cleardouble@page}} + \fi +} +\newcommand{\uppercasenonmath}[1]{\toks@\@emptytoks + \@xp\@skipmath\@xp\@empty#1$$% + \edef#1{{\@nx\protect\@nx\@upprep\the\toks@}}% +} +\newcommand{\@upprep}{% + \spaceskip1.3\fontdimen2\font plus1.3\fontdimen3\font + \upchars@} +\newcommand{\upchars@}{% + \def\ss{SS}\def\i{I}\def\j{J}\def\ae{\AE}\def\oe{\OE}% + \def\o{\O}\def\aa{\AA}\def\l{\L}\def\Mc{M{\scshape c}}} +\providecommand{\Mc}{Mc} +\newcommand{\@skipmath}{} +\long\def\@skipmath#1$#2${% + \@xskipmath#1\(\)% + \@ifnotempty{#2}{\toks@\@xp{\the\toks@$#2$}\@skipmath\@empty}}% +\newcommand{\@xskipmath}{} +\long\def\@xskipmath#1\(#2\){% + \uppercase{\toks@\@xp\@xp\@xp{\@xp\the\@xp\toks@#1}}% + \@ifnotempty{#2}{\toks@\@xp{\the\toks@\(#2\)}\@xskipmath\@empty}}% +\def\altucnm#1{% + \MakeTextUppercase{\toks@{#1}}% + \edef#1{\the\toks@}% +} +\AtBeginDocument{% + \@ifundefined{MakeTextUppercase}{}{\let\uppercasenonmath\altucnm}% +} +\@ifundefined{MakeUppercase}{\let\MakeUppercase\uppercase}{}% +\newcommand{\today}{% + \relax\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +%%\if@compatibility +%%\else +%% \def\@obsolete@fontswitch#1#2#3{% +%% \@latex@warning@no@line{% +%% Command {\string#1...}\on@line\space is obsolete;\MessageBreak +%% the LaTeX2e equivalent is \string#3{...}}% +%% \gdef#1{\@fontswitch\relax#3}% +%% } +%% \DeclareRobustCommand*\cal{% +%% \@xp\@obsolete@fontswitch\csname cal \endcsname\relax\mathcal} +%% \DeclareRobustCommand*\mit{% +%% \@xp\@obsolete@fontswitch\csname mit \endcsname\relax\mathnormal} +%%\fi +\renewcommand*{\title}[2][]{\gdef\shorttitle{#1}\gdef\@title{#2}} +\edef\title{\@nx\@dblarg + \@xp\@nx\csname\string\title\endcsname} +\renewcommand{\author}[2][]{% + \ifx\@empty\authors + \gdef\authors{#2}% + \else + \g@addto@macro\authors{\and#2}% + \g@addto@macro\addresses{\author{}}% + \fi + \@ifnotempty{#1}{% + \ifx\@empty\shortauthors + \gdef\shortauthors{#1}% + \else + \g@addto@macro\shortauthors{\and#1}% + \fi + }% +} +\edef\author{\@nx\@dblarg + \@xp\@nx\csname\string\author\endcsname} +\let\shortauthors\@empty \let\authors\@empty +\newif\ifresetcontrib \resetcontribfalse +\newcommand\contrib[2][]{% + \def\@tempa{#1}% + \ifx\@empty\@tempa + \else + \ifresetcontrib \@xcontribs + \else \global\resetcontribtrue + \fi + \fi + \ifx\@empty\contribs + \gdef\contribs{#1 #2}% + \else + \g@addto@macro\contribs{\and#1 #2}% + \fi + \@wraptoccontribs{#1}{#2}% +} +\def\wraptoccontribs#1#2{} +\def\@xcontribs{% + \author@andify\contribs + \ifx\@empty\xcontribs + \xdef\xcontribs{\contribs}% + \else + \xdef\xcontribs{\xcontribs, \contribs}% + \fi + \let\contribs\@empty +} +\let\contribs\@empty \let\xcontribs\@empty \let\toccontribs\@empty +\let\addresses\@empty \let\thankses\@empty +\newcommand{\address}[2][]{\g@addto@macro\addresses{\address{#1}{#2}}} +\newcommand{\curraddr}[2][]{\g@addto@macro\addresses{\curraddr{#1}{#2}}} +\newcommand{\email}[2][]{\g@addto@macro\addresses{\email{#1}{#2}}} +\newcommand{\urladdr}[2][]{\g@addto@macro\addresses{\urladdr{#1}{#2}}} +\long\def\thanks@warning#1{% + \ClassError{\@classname}{% + \protect\thanks\space should be given separately, not inside author name.% + }\@ehb +} +\renewcommand{\thanks}[1]{% + \@ifnotempty{#1}{\g@addto@macro\thankses{\thanks{#1}}}% +} +\def\enddoc@text{\ifx\@empty\@translators \else\@settranslators\fi + \ifx\@empty\addresses \else\@setaddresses\fi} +\AtEndDocument{\enddoc@text} +\def\curraddrname{{\itshape Current address}} +\def\emailaddrname{{\itshape E-mail address}} +\def\urladdrname{{\itshape URL}} +\def\@setaddresses{\par + \nobreak \begingroup +\footnotesize + \def\author##1{\nobreak\addvspace\bigskipamount}% + \def\\{\unskip, \ignorespaces}% + \interlinepenalty\@M + \def\address##1##2{\begingroup + \par\addvspace\bigskipamount\indent + \@ifnotempty{##1}{(\ignorespaces##1\unskip) }% + {\scshape\ignorespaces##2}\par\endgroup}% + \def\curraddr##1##2{\begingroup + \@ifnotempty{##2}{\nobreak\indent\curraddrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space + ##2\par}\endgroup}% + \def\email##1##2{\begingroup + \@ifnotempty{##2}{\nobreak\indent\emailaddrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space + \ttfamily##2\par}\endgroup}% + \def\urladdr##1##2{\begingroup + \def~{\char`\~}% + \@ifnotempty{##2}{\nobreak\indent\urladdrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space + \ttfamily##2\par}\endgroup}% + \addresses + \endgroup +} +\let\@date\@empty +\def\dedicatory#1{\def\@dedicatory{#1}} +\let\@dedicatory=\@empty +\def\keywords#1{\def\@keywords{#1}} +\let\@keywords=\@empty +\newcommand*\subjclass[2][1991]{% + \def\@subjclass{#2}% + \@ifundefined{subjclassname@#1}{% + \ClassWarning{\@classname}{Unknown edition (#1) of Mathematics + Subject Classification; using '1991'.}% + }{% + \@xp\let\@xp\subjclassname\csname subjclassname@#1\endcsname + }% +} +\let\@subjclass=\@empty +\def\translname{Translated by} +\def\translator#1{% + \ifx\@empty\@translators \def\@translators{#1}% + \else\g@addto@macro\@translators{\and#1}\fi} +\let\@translators=\@empty +\def\@settranslators{\par\begingroup + \addvspace{6\p@\@plus9\p@}% + \hbox to\columnwidth{\hss\normalfont\normalsize + \translname{ }% + \andify\@translators \uppercasenonmath\@translators + \@translators} + \endgroup +} +\newcommand{\xandlist}[4]{\@andlista{{#1}{#2}{#3}}#4\and\and} +\def\@andlista#1#2\and#3\and{\@andlistc{#2}\@ifnotempty{#3}{% + \@andlistb#1{#3}}} +\def\@andlistb#1#2#3#4#5\and{% + \@ifempty{#5}{% + \@andlistc{#2#4}% + }{% + \@andlistc{#1#4}\@andlistb{#1}{#3}{#3}{#5}% + }} +\let\@andlistc\@iden +\newcommand{\nxandlist}[4]{% + \def\@andlistc##1{\toks@\@xp{\the\toks@##1}}% + \toks@{\toks@\@emptytoks \@andlista{{#1}{#2}{#3}}}% + \the\@xp\toks@#4\and\and + \edef#4{\the\toks@}% + \let\@andlistc\@iden} +\def\@@and{and} +\newcommand{\andify}{% + \nxandlist{\unskip, }{\unskip{} \@@and~}{\unskip, \@@and~}} +\def\and{\unskip{ }\@@and{ }\ignorespaces} +\def\maketitle{\par + \@topnum\z@ % this prevents figures from falling at the top of page 1 + \@setcopyright + \thispagestyle{firstpage}% this sets first page specifications + \uppercasenonmath\shorttitle + \ifx\@empty\shortauthors \let\shortauthors\shorttitle + \else \andify\shortauthors + \fi + \@maketitle@hook + \begingroup + \@maketitle + \toks@\@xp{\shortauthors}\@temptokena\@xp{\shorttitle}% + \toks4{\def\\{ \ignorespaces}}% defend against questionable usage + \edef\@tempa{% + \@nx\markboth{\the\toks4 + \@nx\MakeUppercase{\the\toks@}}{\the\@temptokena}}% + \@tempa + \endgroup + \c@footnote\z@ + \@cleartopmattertags +} +\def\@cleartopmattertags{% + \def\do##1{\let##1\relax}% + \do\maketitle \do\@maketitle \do\title \do\@xtitle \do\@title + \do\author \do\@xauthor \do\address \do\@xaddress + \do\contrib \do\contribs \do\xcontribs \do\toccontribs + \do\email \do\@xemail \do\curraddr \do\@xcurraddr + \do\dedicatory \do\@dedicatory \do\thanks \do\thankses + \do\keywords \do\@keywords \do\subjclass \do\@subjclass +} +\def\@maketitle@hook{\global\let\@maketitle@hook\@empty} +\def\@maketitle{% + \normalfont\normalsize + \@adminfootnotes + \@mkboth{\@nx\shortauthors}{\@nx\shorttitle}% + \global\topskip8pc\relax % 10pc to base of first title line + \@settitle + \ifx\@empty\authors \else \@setauthors \fi + \ifx\@empty\@dedicatory + \else + \baselineskip26\p@ + \vtop{\centering{\footnotesize\itshape\@dedicatory\@@par}% + \global\dimen@i\prevdepth}\prevdepth\dimen@i + \fi + \@setabstract + \normalsize + \if@titlepage + \newpage + \else + \dimen@34\p@ \advance\dimen@-\baselineskip + \vskip\dimen@\relax + \fi +} % end \@maketitle +\def\@adminfootnotes{% + \let\@makefnmark\relax \let\@thefnmark\relax + \ifx\@empty\@subjclass\else \@footnotetext{\@setsubjclass}\fi + \ifx\@empty\@keywords\else \@footnotetext{\@setkeywords}\fi + \ifx\@empty\thankses\else \@footnotetext{% + \def\par{\let\par\@par}\@setthanks}% + \fi +} +\AtBeginDocument{% + \@ifundefined{publname}{% + \let\publname\@empty + \let\@serieslogo\@empty + }{% + \def\@serieslogo{\procart@logo}% + }% +} +\AtBeginDocument{% + \@ifundefined{volinfo}{\let\volinfo\@empty}{} +} +\def\issueinfo#1#2#3#4{\def\currentvolume{#1}\def\currentissue{#2}% + \def\currentmonth{#3}\def\currentyear{#4}} +\issueinfo{00}% volume number + {0}% % issue number + {Xxxx}% % month + {XXXX}% % year +\newcommand{\copyrightinfo}[2]{% + \def\copyrightyear{#1}% + \@ifnotempty{#2}{\def\copyrightholder{#2}}% +} +\copyrightinfo{0000}{(copyright holder)} +\def\pagespan#1#2{\setcounter{page}{#1}% + \ifnum\c@page<\z@ \pagenumbering{roman}\setcounter{page}{-#1}\fi + \def\start@page{#1}\def\end@page{#2}} +\pagespan{000}{000} +\newinsert\copyins +\skip\copyins=1.5pc +\count\copyins=1000 % magnification factor, 1000 = 100% +\dimen\copyins=.5\textheight % maximum allowed per page +\g@addto@macro\@reinserts{% + \ifvoid\copyins\else\insert\copyins{\unvbox\copyins}\fi +} +\def\@copyinsfontsize{\fontsize{6}{7\p@}\normalfont\upshape} +\newif\if@extracrline \@extracrlinefalse +\let\@extracrline\@empty +\relax +\def\@setcopyright{% + \ifx\@empty\@serieslogo + \else\ifx\@empty\copyrightyear + \else + \insert\copyins{\hsize\textwidth + \parfillskip\z@\relax + \leftskip\z@\@plus.9\textwidth\relax \rightskip\z@\relax + \@copyinsfontsize + \everypar{}% + \vskip-\skip\copyins + \if@extracrline + \vskip-6pt + \fi + \nointerlineskip + \leavevmode\hfill\vrule\@width\z@\@height\skip\copyins + \copyright\copyrightyear\ \copyrightholder\ignorespaces + \if@extracrline \@extracrline \fi + \par + \kern\z@}% + \fi\fi +} +\def\@combinefloats{% + \ifx \@toplist\@empty \else \@cflt \fi + \ifx \@botlist\@empty \else \@cflb \fi + \ifvoid\copyins \else \@cflci \fi +} +\def\@cflci{% + \setbox\@outputbox\vbox{% + \unvbox\@outputbox + \vskip\skip\copyins + \if@twocolumn \else \vskip\z@ plus\p@ \fi + \hbox to\columnwidth{% + \hss\vbox to\z@{\vss + \if@twocolumn + \if@firstcolumn \else \unvbox\copyins \fi + \else + \unvbox\copyins + \fi + }}}% + \if@twocolumn \if@firstcolumn + \insert\copyins{\unvbox\copyins}% + \fi\fi + \global\count\copyins=999 \relax +} +\newcommand{\abstractname}{Abstract} +\newcommand{\keywordsname}{Key words and phrases} +\newcommand{\subjclassname}{% + \textup{1991} Mathematics Subject Classification} +\@xp\let\csname subjclassname@1991\endcsname \subjclassname +\@namedef{subjclassname@2000}{% + \textup{2000} Mathematics Subject Classification} +\def\@tempb{amsproc} +\ifx\@classname\@tempb + \newcommand{\datename}{\textit{Date}:} +\else + \newcommand{\datename}{Received by the editors} +\fi +\def\@settitle{\begin{center}% + \Large + \bfseries + \@title + \end{center}% +} +\def\author@andify{% + \nxandlist {\unskip ,\penalty-1 \space\ignorespaces}% + {\unskip {} \@@and~}% + {\unskip ,\penalty-2 \space \@@and~}% +} +\def\@setauthors{% + \begingroup + \def\thanks{\protect\thanks@warning}% + \trivlist + \centering \fontsize{11}{13\p@}\selectfont\@topsep13\p@\relax + \item\relax + \author@andify\authors + \def\\{\protect\linebreak}% + \authors + \ifx\@empty\contribs + \else + ,\penalty-3 \space \@setcontribs + \@closetoccontribs + \fi + \endtrivlist + \endgroup +} +\def\@closetoccontribs{} +\def\@setcontribs{% + \@xcontribs + \xcontribs +} +\def\@setdate{\datename\ \@date\@addpunct.} +\def\@setsubjclass{% + {\itshape\subjclassname.}\enspace\@subjclass\@addpunct.} +\def\@setkeywords{% + {\itshape \keywordsname.}\enspace \@keywords\@addpunct.} +\def\@setthanks{\def\thanks##1{\par##1\@addpunct.}\thankses} +\newbox\abstractbox +\newenvironment{abstract}{% + \ifx\maketitle\relax + \ClassWarning{\@classname}{Abstract should precede + \protect\maketitle\space in AMS document classes; reported}% + \fi + \global\setbox\abstractbox=\vtop \bgroup + \normalfont\Small + \list{}{\labelwidth\z@ + \leftmargin3pc \rightmargin\leftmargin + \listparindent\normalparindent \itemindent\z@ + \parsep\z@ \@plus\p@ + \let\fullwidthdisplay\relax + }% + \item[\hskip\labelsep\scshape\abstractname.]% +}{% + \endlist\egroup + \ifx\@setabstract\relax \@setabstracta \fi +} +\def\@setabstract{\@setabstracta \global\let\@setabstract\relax} +\def\@setabstracta{% + \ifvoid\abstractbox + \else + \skip@20\p@ \advance\skip@-\lastskip + \advance\skip@-\baselineskip \vskip\skip@ + \box\abstractbox + \prevdepth\z@ % because \abstractbox is a vtop + \fi +} +\def\titlepage{% + \clearpage + \thispagestyle{empty}\setcounter{page}{0}} +\def\endtitlepage{\newpage} +\def\labelenumi{(\theenumi)} +\def\theenumi{\@arabic\c@enumi} +\def\labelenumii{(\theenumii)} +\def\theenumii{\@alph\c@enumii} +\def\p@enumii{\theenumi} +\def\labelenumiii{(\theenumiii)} +\def\theenumiii{\@roman\c@enumiii} +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{(\theenumiv)} +\def\theenumiv{\@Alph\c@enumiv} +\def\p@enumiv{\p@enumiii\theenumiii} +\def\labelitemi{$\m@th\bullet$} +\def\labelitemii{\bfseries --}% \upshape already done by \itemize +\def\labelitemiii{$\m@th\ast$} +\def\labelitemiv{$\m@th\cdot$} +\newenvironment{verse}{\let\\\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em\listparindent\itemindent + \rightmargin\leftmargin \advance\leftmargin 1.5em}\item[]% +}{% + \endlist +} +\let\endverse=\endlist % for efficiency +\newenvironment{quotation}{\list{}{% + \leftmargin3pc \listparindent\normalparindent + \itemindent\z@ + \rightmargin\leftmargin \parsep\z@ \@plus\p@}% + \item[]% +}{% + \endlist +} +\let\endquotation=\endlist % for efficiency +\newenvironment{quote}{% + \list{}{\rightmargin\leftmargin}\item[]% +}{% + \endlist +} +\let\endquote=\endlist % for efficiency +\def\trivlist{\parsep\parskip\@nmbrlistfalse + \@trivlist \labelwidth\z@ \leftmargin\z@ + \itemindent\z@ + \let\@itemlabel\@empty + \def\makelabel##1{\upshape##1}} +\renewenvironment{enumerate}{% + \ifnum \@enumdepth >3 \@toodeep\else + \advance\@enumdepth \@ne + \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list + {\csname label\@enumctr\endcsname}{\usecounter + {\@enumctr}\def\makelabel##1{\hss\llap{\upshape##1}}}\fi +}{% + \endlist +} +\let\endenumerate=\endlist % for efficiency +\renewenvironment{itemize}{% + \ifnum\@itemdepth>3 \@toodeep + \else \advance\@itemdepth\@ne + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \list{\csname\@itemitem\endcsname}% + {\def\makelabel##1{\hss\llap{\upshape##1}}}% + \fi +}{% + \endlist +} +\let\enditemize=\endlist % for efficiency +\newcommand{\descriptionlabel}[1]{\hspace\labelsep \upshape\bfseries #1:} +\newenvironment{description}{\list{}{% + \advance\leftmargini6\p@ \itemindent-12\p@ + \labelwidth\z@ \let\makelabel\descriptionlabel}% +}{ + \endlist +} +\let\enddescription=\endlist % for efficiency +\let\upn=\textup +\AtBeginDocument{% + \labelsep=5pt\relax + \setcounter{enumi}{13}\setcounter{enumii}{13}% + \setcounter{enumiii}{13}\setcounter{enumiv}{13}% + \settowidth\leftmargini{\labelenumi\hskip\labelsep}% + \advance\leftmargini by \normalparindent + \settowidth\leftmarginii{\labelenumii\hskip\labelsep}% + \settowidth\leftmarginiii{\labelenumiii\hskip\labelsep}% + \settowidth\leftmarginiv{\labelenumiv\hskip\labelsep}% + \setcounter{enumi}{0}\setcounter{enumii}{0}% + \setcounter{enumiii}{0}\setcounter{enumiv}{0}% + \leftmarginv=10pt \leftmarginvi=\leftmarginv + \leftmargin=\leftmargini + \labelwidth=\leftmargini \advance\labelwidth-\labelsep + \@listi} +\newskip\listisep +\listisep\smallskipamount +\def\@listI{\leftmargin\leftmargini \parsep\z@skip + \topsep\listisep \itemsep\z@skip + \listparindent\normalparindent} +\let\@listi\@listI +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii \advance\labelwidth-\labelsep + \topsep\z@skip \parsep\z@skip \partopsep\z@skip \itemsep\z@skip} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii \advance\labelwidth-\labelsep} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv \advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv \advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} +\@ifclasswith{\@classname}{fleqn}{% + \let\@tempa\@iden + \AtBeginDocument{\mathindent\leftmargini}% +}{\let\@tempa\@gobble}% +\@ifpackageloaded{amsmath}{\let\@tempa\@gobble}{% + \@ifpackageloaded{amstex}{\let\@tempa\@gobble}{}% +} +\@tempa{% + \def\[{\relax + \ifmmode\@badmath + \else + \begin{trivlist}% + \@beginparpenalty\predisplaypenalty + \@endparpenalty\postdisplaypenalty + \item[]\leavevmode + \hbox to\linewidth\bgroup$\displaystyle + \hskip\mathindent\bgroup + \fi}% + \def\]{\relax + \ifmmode + \egroup \m@th$\hfil \egroup + \end{trivlist}% + \else \@badmath + \fi}% + \renewenvironment{equation}{% + \@beginparpenalty\predisplaypenalty + \@endparpenalty\postdisplaypenalty + \refstepcounter{equation}% + \@topsep\abovedisplayskip \trivlist + \item[]\leavevmode + \hbox to\linewidth\bgroup\hskip\mathindent$\displaystyle + }{% + \m@th$\hfil \displaywidth\linewidth \hbox{\@eqnnum}\egroup + \endtrivlist + }% + \renewenvironment{eqnarray}{% + \stepcounter{equation}\let\@currentlabel\theequation + \global\@eqnswtrue \global\@eqcnt\z@ \tabskip\mathindent + \let\\=\@eqncr \abovedisplayskip\topsep + \ifvmode \advance\abovedisplayskip\partopsep \fi + \belowdisplayskip\abovedisplayskip + \belowdisplayshortskip\abovedisplayskip + \abovedisplayshortskip\abovedisplayskip + $$\everycr{}\halign to\linewidth\bgroup + \hskip\@centering + $\displaystyle\tabskip\z@skip####\m@th$&% + \@eqnsel \global\@eqcnt\@ne + \hfil${}####{}\m@th$\hfil&% + \global\@eqcnt\tw@ + $\displaystyle ####\m@th$\hfil\tabskip\@centering&% + \global\@eqcnt\thr@@ + \hbox to \z@\bgroup\hss####\egroup\tabskip\z@skip\cr + }{% + \@@eqncr \egroup \global\advance\c@equation\m@ne$$% + \global\@ignoretrue + }% + \newdimen\mathindent + \mathindent\leftmargini +} +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec \leavevmode \fi + \par \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi + \if@nobreak \everypar{}\else + \addpenalty\@secpenalty\addvspace\@tempskipa\fi + \@ifstar{\@dblarg{\@sect{#1}{\@m}{#3}{#4}{#5}{#6}}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}% +} +\def\@seccntformat#1{% + \protect\textup{\protect\@secnumfont + \csname the#1\endcsname + \protect\@secnumpunct + }% +} +\let\@secnumfont\@empty +\def\@sect#1#2#3#4#5#6[#7]#8{% + \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}% + \ifnum #2>\c@secnumdepth \let\@secnumber\@empty + \else \@xp\let\@xp\@secnumber\csname the#1\endcsname\fi + \@tempskipa #5\relax + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \edef\@secnumpunct{% + \ifdim\@tempskipa>\z@ % not a run-in section heading + \@ifnotempty{#8}{.\@nx\enspace}% + \else + \@ifempty{#8}{.}{.\@nx\enspace}% + \fi + }% + \protected@edef\@svsec{% + \ifnum#2<\@m + \@ifundefined{#1name}{}{% + \ignorespaces\csname #1name\endcsname\space + }% + \fi + \@seccntformat{#1}% + }% + \fi + \ifdim \@tempskipa>\z@ % then this is not a run-in section heading + \begingroup #6\relax + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty\@M #8\par}% + \endgroup + \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi + \else + \def\@svsechd{#6\hskip #3\@svsec + \@ifnotempty{#8}{\ignorespaces#8\unskip + \@addpunct.}% + \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi + }% + \fi + \global\@nobreaktrue + \@xsect{#5}} +\let\@ssect\relax +\newcounter{part} +\newcounter{section} +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] +\newcounter{subparagraph}[paragraph] +\renewcommand\thepart {\arabic{part}} +\renewcommand\thesection {\arabic{section}} +\renewcommand\thesubsection {\thesection.\arabic{subsection}} +\renewcommand\thesubsubsection {\thesubsection .\arabic{subsubsection}} +\renewcommand\theparagraph {\thesubsubsection.\arabic{paragraph}} +\renewcommand\thesubparagraph {\theparagraph.\arabic{subparagraph}} +\setcounter{secnumdepth}{3} +\def\partname{Part} +\def\part{\@startsection{part}{0}% + \z@{\linespacing\@plus\linespacing}{.5\linespacing}% + {\normalfont\bfseries\raggedright}} +\def\specialsection{\@startsection{section}{1}% + \z@{2\linespacing\@plus\linespacing}{.5\linespacing}% + {\large\scshape\centering}} +\def\section{\@startsection{section}{1}% + \z@{.7\linespacing\@plus\linespacing}{.5\linespacing}% + {\normalfont\bfseries\centering}} +\def\subsection{\@startsection{subsection}{2}% + \normalparindent{.5\linespacing\@plus.7\linespacing}{-.5em}% + {\normalfont\bfseries}} +\def\subsubsection{\@startsection{subsubsection}{3}% + \normalparindent\z@{-.5em}% + {\normalfont\itshape}} +\def\paragraph{\@startsection{paragraph}{4}% + \normalparindent\z@{-\fontdimen2\font}% + \normalfont} +\def\subparagraph{\@startsection{subparagraph}{5}% + \z@\z@{-\fontdimen2\font}% + \normalfont} +\def\appendix{\par\c@section\z@ \c@subsection\z@ + \let\sectionname\appendixname + \def\thesection{\@Alph\c@section}} +\def\appendixname{Appendix} +\def\@Roman#1{\@xp\@slowromancap + \romannumeral#1@}% +\def\@slowromancap#1{\ifx @#1% then terminate + \else + \if i#1I\else\if v#1V\else\if x#1X\else\if l#1L\else\if + c#1C\else\if m#1M\else#1\fi\fi\fi\fi\fi\fi + \@xp\@slowromancap + \fi +} +\def\aufm#1{\par\vspace*{12pt}{\flushright #1\par}} +\newcommand{\@pnumwidth}{1.6em} +\newcommand{\@tocrmarg}{2.6em} +\setcounter{tocdepth}{1} +\newswitch{toc} +\newswitch{lof} +\newswitch{lot} +\newcommand\contentsnamefont{\scshape} +\def\@starttoc#1#2{\begingroup + \setTrue{#1}% + \par\removelastskip\vskip\z@skip + \@startsection{}\@M\z@{\linespacing\@plus\linespacing}% + {.5\linespacing}{\centering\contentsnamefont}{#2}% + \ifx\contentsname#2% + \else \addcontentsline{toc}{section}{#2}\fi + \makeatletter + \@input{\jobname.#1}% + \if@filesw + \@xp\newwrite\csname tf@#1\endcsname + \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax + \fi + \global\@nobreakfalse \endgroup + \addvspace{32\p@\@plus14\p@}% + \let\tableofcontents\relax +} +\def\contentsname{Contents} +\def\listfigurename{List of Figures} +\def\listtablename{List of Tables} +\def\tableofcontents{% + \@starttoc{toc}\contentsname +} +\def\listoffigures{\@starttoc{lof}\listfigurename} +\def\listoftables{\@starttoc{lot}\listtablename} +\AtBeginDocument{% + \@for\@tempa:=-1,0,1,2,3\do{% + \@ifundefined{r@tocindent\@tempa}{% + \@xp\gdef\csname r@tocindent\@tempa\endcsname{0pt}}{}% + }% +} +\def\@writetocindents{% + \begingroup + \@for\@tempa:=-1,0,1,2,3\do{% + \immediate\write\@auxout{% + \string\newlabel{tocindent\@tempa}{% + \csname r@tocindent\@tempa\endcsname}}% + }% + \endgroup} +\AtEndDocument{\@writetocindents} + +\let\indentlabel\@empty +\def\@tochangmeasure#1{\sbox\z@{#1}% + \ifdim\wd\z@>\csname r@tocindent\@toclevel\endcsname\relax + \@xp\xdef\csname r@tocindent\@toclevel\endcsname{\the\wd\z@}% + \fi +} +\def\@toclevel{0} +\def\@tocline#1#2#3#4#5#6#7{\relax + \ifnum #1>\c@tocdepth % then omit + \else + \par \addpenalty\@secpenalty\addvspace{#2}% + \begingroup \hyphenpenalty\@M + \@ifempty{#4}{% + \@tempdima\csname r@tocindent\number#1\endcsname\relax + }{% + \@tempdima#4\relax + }% + \parindent\z@ \leftskip#3\relax \advance\leftskip\@tempdima\relax + \rightskip\@pnumwidth plus4em \parfillskip-\@pnumwidth + #5\leavevmode\hskip-\@tempdima #6\nobreak\relax + \hfil\hbox to\@pnumwidth{\@tocpagenum{#7}}\par + \nobreak + \endgroup + \fi} +\def\@tocpagenum#1{\hss{\mdseries #1}} +\def\@tocwrite#1{\@xp\@tocwriteb\csname toc#1\endcsname{#1}} +\def\@tocwriteb#1#2#3{% + \begingroup + \def\@tocline##1##2##3##4##5##6{% + \ifnum##1>\c@tocdepth + \else \sbox\z@{##5\let\indentlabel\@tochangmeasure##6}\fi}% + \csname l@#2\endcsname{#1{\csname#2name\endcsname}{\@secnumber}{}}% + \endgroup + \addcontentsline{toc}{#2}% + {\protect#1{\csname#2name\endcsname}{\@secnumber}{#3}}} +\def\l@section{\@tocline{1}{0pt}{1pc}{}{}} +\newcommand{\tocsection}[3]{% + \indentlabel{\@ifnotempty{#2}{\ignorespaces#1 #2.\quad}}#3} +\def\l@subsection{\@tocline{2}{0pt}{1pc}{5pc}{}} +\let\tocsubsection\tocsection +\def\l@subsubsection{\@tocline{3}{0pt}{1pc}{7pc}{}} +\let\tocsubsubsection\tocsection +\let\l@paragraph\l@subsubsection +\let\tocparagraph\tocsection +\let\l@subparagraph\l@subsubsection +\let\tocsubparagraph\tocsection +\def\l@part{\@tocline{-1}{12pt plus2pt}{0pt}{}{\bfseries}} +\let\tocpart\tocsection +\def\l@chapter{\@tocline{0}{8pt plus1pt}{0pt}{}{}} +\let\tocchapter\tocsection +\newcommand{\tocappendix}[3]{% + \indentlabel{#1\@ifnotempty{#2}{ #2}.\quad}#3} +\def\l@figure{\@tocline{0}{3pt plus2pt}{0pt}{1.5pc}{}} +\let\l@table=\l@figure +\def\refname{References} +\def\bibname{Bibliography} +\def\@defaultbiblabelstyle#1{#1.} +\def\bibliographystyle#1{% + \if@filesw\immediate\write\@auxout{\string\bibstyle{#1}}\fi + \def\@tempa{#1}% + \def\@tempb{amsplain}% + \def\@tempc{}% + \ifx\@tempa\@tempb + \def\@biblabel##1{\@defaultbiblabelstyle{##1}}% + \def\bibsetup{}% + \else + \def\bibsetup{\labelsep6\p@}% + \ifx\@tempa\@tempc + \def\@biblabel##1{}% + \def\bibsetup{\labelwidth\z@ \leftmargin24\p@ + \itemindent-\leftmargin + \labelsep\z@ }% + \fi + \fi} +\newcommand{\bibliofont}{\footnotesize} +\newcommand{\@bibtitlestyle}{% + \@xp\section\@xp*\@xp{\refname}% +} +\newenvironment{thebibliography}[1]{% + \@bibtitlestyle + \normalfont\bibliofont\labelsep .5em\relax + \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty + \list{\@biblabel{\theenumiv}}{\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth \advance\leftmargin\labelsep + \usecounter{enumiv}}% + \sloppy \clubpenalty\@M \widowpenalty\clubpenalty + \sfcode`\.=\@m +}{% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \endlist +} +\def\bysame{\leavevmode\hbox to3em{\hrulefill}\thinspace} +\def\newblock{} +\newcommand\MR[1]{\relax\ifhmode\unskip\spacefactor3000 \space\fi + MR~\MRhref{#1}{#1}} +\let\MRhref\@gobble +\newcommand\URL{\begingroup + \def\@sverb##1{% + \def\@tempa####1##1{\@URL{####1}\egroup\endgroup}% + \@tempa}% + \verb} +\let\URLhref\@gobble +\def\@URL#1{\URLhref{#1}#1} +\newif\if@restonecol +\newcommand{\@indextitlestyle}{% + \twocolumn[\@xp\section\@xp*\@xp{\indexname}]% +} +\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi + \columnseprule\z@ \columnsep 35\p@ + \@indextitlestyle + \thispagestyle{plain}% + \let\item\@idxitem + \parindent\z@ \parskip\z@\@plus.3\p@\relax + \raggedright + \hyphenpenalty\@M + \footnotesize} +\def\indexname{Index} +\def\@idxitem{\par\hangindent 2em} +\def\subitem{\par\hangindent 2em\hspace*{1em}} +\def\subsubitem{\par\hangindent 3em\hspace*{2em}} +\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} +\def\indexspace{\par\bigskip} +\def\footnoterule{\kern-.4\p@ + \hrule\@width 5pc\kern11\p@\kern-\footnotesep} +\def\@makefnmark{% + \leavevmode + \raise.9ex\hbox{\fontsize\sf@size\z@\normalfont\@thefnmark}% +} +\def\@makefntext{\indent\@makefnmark} +\long\def\@footnotetext#1{% + \insert\footins{% + \normalfont\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep \splitmaxdepth \dp\strutbox + \floatingpenalty\@MM \hsize\columnwidth + \@parboxrestore \parindent\normalparindent \sloppy + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}} +\hfuzz=1pt \vfuzz=\hfuzz +\def\sloppy{\tolerance9999 \emergencystretch 3em\relax} +\setcounter{topnumber}{4} +\setcounter{bottomnumber}{4} +\setcounter{totalnumber}{4} +\setcounter{dbltopnumber}{4} +\renewcommand{\topfraction}{.97} +\renewcommand{\bottomfraction}{.97} +\renewcommand{\textfraction}{.03} +\renewcommand{\floatpagefraction}{.9} +\renewcommand{\dbltopfraction}{.97} +\renewcommand{\dblfloatpagefraction}{.9} +\setlength{\floatsep}{12pt plus 6pt minus 4pt} +\setlength{\textfloatsep}{15pt plus 8pt minus 5pt} +\setlength{\intextsep}{12pt plus 6pt minus 4pt} +\setlength{\dblfloatsep}{12pt plus 6pt minus 4pt} +\setlength{\dbltextfloatsep}{15pt plus 8pt minus 5pt} +\setlength{\@fptop}{0pt}% removed "plus 1fil" +\setlength{\@fpsep}{8pt}% removed "plus 2fil" +\setlength{\@fpbot}{0pt plus 1fil} +\setlength{\@dblfptop}{0pt}% removed "plus 1fil" +\setlength{\@dblfpsep}{8pt}% removed "plus 2fil" +\setlength{\@dblfpbot}{0pt plus 1fil} +\newcommand{\fps@figure}{tbp} +\newcommand{\fps@table}{tbp} +\newcounter{figure} +\def\@captionheadfont{\scshape} +\def\@captionfont{\normalfont} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{\figurename\ \thefigure} +\def\figurename{Figure} +\newenvironment{figure}{% + \@float{figure}% +}{% + \end@float +} +\newenvironment{figure*}{% + \@dblfloat{figure}% +}{% + \end@dblfloat +} +\newcounter{table} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{\tablename\ \thetable} +\def\tablename{Table} +\newenvironment{table}{% + \@float{table}% +}{% + \end@float +} +\newenvironment{table*}{% + \@dblfloat{table}% +}{% + \end@dblfloat +} +\def\@floatboxreset{\global\@minipagefalse \centering} +\long\def\@makecaption#1#2{% + \setbox\@tempboxa\vbox{\color@setgroup + \advance\hsize-2\captionindent\noindent + \@captionfont\@captionheadfont#1\@xp\@ifnotempty\@xp + {\@cdr#2\@nil}{.\@captionfont\upshape\enspace#2}% + \unskip\kern-2\captionindent\par + \global\setbox\@ne\lastbox\color@endgroup}% + \ifhbox\@ne % the normal case + \setbox\@ne\hbox{\unhbox\@ne\unskip\unskip\unpenalty\unkern}% + \fi + \ifdim\wd\@tempboxa=\z@ % this means caption will fit on one line + \setbox\@ne\hbox to\columnwidth{\hss\kern-2\captionindent\box\@ne\hss}% + \else % tempboxa contained more than one line + \setbox\@ne\vbox{\unvbox\@tempboxa\parskip\z@skip + \noindent\unhbox\@ne\advance\hsize-2\captionindent\par}% + \fi + \ifnum\@tempcnta<64 % if the float IS a figure... + \addvspace\abovecaptionskip + \hbox to\hsize{\kern\captionindent\box\@ne\hss}% + \else % if the float IS NOT a figure... + \hbox to\hsize{\kern\captionindent\box\@ne\hss}% + \nobreak + \vskip\belowcaptionskip + \fi +\relax +} +\newskip\abovecaptionskip \abovecaptionskip=12pt \relax +\newskip\belowcaptionskip \belowcaptionskip=12pt \relax +\newdimen\captionindent \captionindent=3pc +\def\nonbreakingspace{\unskip\nobreak\ \ignorespaces} +\def~{\protect\nonbreakingspace} +\def\@biblabel#1{\@ifnotempty{#1}{[#1]}} +\def\@citestyle{\m@th\upshape\mdseries} +\def\citeform#1{{\bfseries#1}} +\def\@cite#1#2{{% + \@citestyle[\citeform{#1}\if@tempswa, #2\fi]}} +\@ifundefined{cite }{% + \expandafter\let\csname cite \endcsname\cite + \edef\cite{\@nx\protect\@xp\@nx\csname cite \endcsname}% +}{} +\def\fullwidthdisplay{\displayindent\z@ \displaywidth\columnwidth} +\edef\@tempa{\noexpand\fullwidthdisplay\the\everydisplay} +\everydisplay\expandafter{\@tempa} +\newcommand*\seeonlyname{see} +\newcommand*\seename{see also} +\newcommand*\alsoname{see also} +\newcommand*\seeonly[2]{\emph{\seeonlyname} #1} +\newcommand*\see[2]{\emph{\seename} #1} +\newcommand*\seealso[2]{\emph{\alsoname} #1} +\newcommand\printindex{\@input{\jobname.ind}} +\DeclareRobustCommand\textprime{\leavevmode + \raise.8ex\hbox{\check@mathfonts\the\scriptfont2 \char48 }} + +\newcommand{\theoremstyle}[1]{% + \@ifundefined{th@#1}{% + \PackageWarning{amsthm}{Unknown theoremstyle `#1'}% + \thm@style{plain}% + }{% + \thm@style{#1}% + }% +} +\newtoks\thm@style +\thm@style{plain} +\newtoks\thm@bodyfont \thm@bodyfont{\itshape} +\newtoks\thm@headfont \thm@headfont{\bfseries} +\newtoks\thm@notefont \thm@notefont{} +\newtoks\thm@headpunct \thm@headpunct{.} +\newskip\thm@preskip \newskip\thm@postskip +\def\thm@space@setup{% + \thm@preskip=.5\baselineskip\@plus.2\baselineskip + \@minus.2\baselineskip + \thm@postskip=\thm@preskip +} +\renewcommand{\newtheorem}{\@ifstar{\@xnthm *}{\@xnthm \relax}} +\def\@xnthm#1#2{% + \let\@tempa\relax + \@xp\@ifdefinable\csname #2\endcsname{% + \global\@xp\let\csname end#2\endcsname\@endtheorem + \ifx *#1% unnumbered, need to get one more mandatory arg + \edef\@tempa##1{% + \gdef\@xp\@nx\csname#2\endcsname{% + \@nx\@thm{\@xp\@nx\csname th@\the\thm@style\endcsname}% + {}{##1}}}% + \else % numbered theorem, need to check for optional arg + \def\@tempa{\@oparg{\@ynthm{#2}}[]}% + \fi + }% + \@tempa +} +\def\@ynthm#1[#2]#3{% + \ifx\relax#2\relax + \def\@tempa{\@oparg{\@xthm{#1}{#3}}[]}% + \else + \@ifundefined{c@#2}{% + \def\@tempa{\@nocounterr{#2}}% + }{% + \@xp\xdef\csname the#1\endcsname{\@xp\@nx\csname the#2\endcsname}% + \toks@{#3}% + \@xp\xdef\csname#1\endcsname{% + \@nx\@thm{% + \let\@nx\thm@swap + \if S\thm@swap\@nx\@firstoftwo\else\@nx\@gobble\fi + \@xp\@nx\csname th@\the\thm@style\endcsname}% + {#2}{\the\toks@}}% + \let\@tempa\relax + }% + \fi + \@tempa +} +\def\@xthm#1#2[#3]{% + \ifx\relax#3\relax + \newcounter{#1}% + \else + \newcounter{#1}[#3]% + \@xp\xdef\csname the#1\endcsname{\@xp\@nx\csname the#3\endcsname + \@thmcountersep\@thmcounter{#1}}% + \fi + \toks@{#2}% + \@xp\xdef\csname#1\endcsname{% + \@nx\@thm{% + \let\@nx\thm@swap + \if S\thm@swap\@nx\@firstoftwo\else\@nx\@gobble\fi + \@xp\@nx\csname th@\the\thm@style\endcsname}% + {#1}{\the\toks@}}% +} +\def\@thm#1#2#3{% + \ifhmode\unskip\unskip\par\fi + \normalfont + \trivlist + \let\thmheadnl\relax + \let\thm@swap\@gobble + \let\thm@indent\indent % indent + \thm@headfont{\scshape}% heading font small caps + \thm@notefont{\fontseries\mddefault\upshape}% + \thm@headpunct{.}% add period after heading + \thm@headsep 5\p@ plus\p@ minus\p@\relax + \thm@space@setup + #1% style overrides + \@topsep \thm@preskip % used by thm head + \@topsepadd \thm@postskip % used by \@endparenv + \def\@tempa{#2}\ifx\@empty\@tempa + \def\@tempa{\@oparg{\@begintheorem{#3}{}}[]}% + \else + \refstepcounter{#2}% + \def\@tempa{\@oparg{\@begintheorem{#3}{\csname the#2\endcsname}}[]}% + \fi + \@tempa +} +\def\@restorelabelsep{\relax} +\let\@ythm\relax +\let\thmname\@iden \let\thmnote\@iden \let\thmnumber\@iden +\providecommand\@upn{\textup} +\def\thmhead@plain#1#2#3{% + \thmname{#1}\thmnumber{\@ifnotempty{#1}{ }\@upn{#2}}% + \thmnote{ {\the\thm@notefont(#3)}}} +\let\thmhead\thmhead@plain +\def\swappedhead#1#2#3{% + \thmnumber{\@upn{\@secnumfont#2\@ifnotempty{#1}{.~}}}% + \thmname{#1}% + \thmnote{ {\the\thm@notefont(#3)}}} +\let\swappedhead@plain=\swappedhead +\let\thmheadnl\relax +\let\thm@indent\noindent +\let\thm@swap\@gobble +\def\@begintheorem#1#2[#3]{% + \deferred@thm@head{\the\thm@headfont \thm@indent + \@ifempty{#1}{\let\thmname\@gobble}{\let\thmname\@iden}% + \@ifempty{#2}{\let\thmnumber\@gobble}{\let\thmnumber\@iden}% + \@ifempty{#3}{\let\thmnote\@gobble}{\let\thmnote\@iden}% + \thm@swap\swappedhead\thmhead{#1}{#2}{#3}% + \the\thm@headpunct + \thmheadnl % possibly a newline. + \hskip\thm@headsep + }% + \ignorespaces} +\newskip\thm@headsep +\thm@headsep=5pt plus1pt minus1pt\relax +\let\adjust@parskip@nobreak=\@nbitem +\newtoks\dth@everypar +\dth@everypar={% + \@minipagefalse \global\@newlistfalse + \@noparitemfalse + \if@inlabel + \global\@inlabelfalse + \begingroup \setbox\z@\lastbox + \ifvoid\z@ \kern-\itemindent \fi + \endgroup + \unhbox\@labels + \fi + \if@nobreak \@nobreakfalse \clubpenalty\@M + \else \clubpenalty\@clubpenalty \everypar{}% + \fi +}% +\def\deferred@thm@head#1{% + \if@inlabel \indent \par \fi % eject a section head if one is pending + \if@nobreak + \adjust@parskip@nobreak + \else + \addpenalty\@beginparpenalty + \addvspace\@topsep + \addvspace{-\parskip}% + \fi + \global\@inlabeltrue + \everypar\dth@everypar + \sbox\@labels{\normalfont#1}% + \ignorespaces +} +\def\nonslanted{\relax + \@xp\let\@xp\@tempa\csname\f@shape shape\endcsname + \ifx\@tempa\itshape\upshape + \else\ifx\@tempa\slshape\upshape\fi\fi} +\def\swapnumbers{\edef\thm@swap{\if S\thm@swap N\else S\fi}} +\def\thm@swap{N}% +\let\@opargbegintheorem\relax +\def\th@plain{% +%% \let\thm@indent\noindent % no indent +%% \thm@headfont{\bfseries}% heading font is bold +%% \thm@notefont{}% same as heading font +%% \thm@headpunct{.}% add period after heading +%% \let\thm@swap\@gobble +%% \thm@preskip\topsep +%% \thm@postskip\theorempreskipamount + \itshape % body font +} +\def\th@definition{% + \normalfont % body font +} +\def\th@remark{% + \normalfont % body font +} +\def\@endtheorem{\endtrivlist\@endpefalse } +\newcommand{\newtheoremstyle}[9]{% + \@ifempty{#5}{\dimen@\z@skip}{\dimen@#5\relax}% + \ifdim\dimen@=\z@ + \toks@{#4\let\thm@indent\noindent}% + \else + \toks@{#4\def\thm@indent{\noindent\hbox to#5{}}}% + \fi + \def\@tempa{#8}\ifx\space\@tempa + \toks@\@xp{\the\toks@ \thm@headsep\fontdimen\tw@\font\relax}% + \else + \def\@tempb{\newline}% + \ifx\@tempb\@tempa + \toks@\@xp{\the\toks@ \thm@headsep\z@skip + \def\thmheadnl{\newline}}% + \else + \toks@\@xp{\the\toks@ \thm@headsep#8\relax}% + \fi + \fi + \begingroup + \thm@space@setup + \@defaultunits\@tempskipa#2\thm@preskip\relax\@nnil + \@defaultunits\@tempskipb#3\thm@postskip\relax\@nnil + \xdef\@gtempa{\thm@preskip\the\@tempskipa + \thm@postskip\the\@tempskipb\relax}% + \endgroup + \@temptokena\@xp{\@gtempa + \thm@headfont{#6}\thm@headpunct{#7}% + }% + \@ifempty{#9}{% + \let\thmhead\thmhead@plain + }{% + \@namedef{thmhead@#1}##1##2##3{#9}% + \@temptokena\@xp{\the\@temptokena + \@xp\let\@xp\thmhead\csname thmhead@#1\endcsname}% + }% + \@xp\xdef\csname th@#1\endcsname{\the\toks@ \the\@temptokena}% +} +\DeclareRobustCommand{\qed}{% + \ifmmode \mathqed + \else + \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill + \quad\hbox{\qedsymbol}% + \fi +} +\let\QED@stack\@empty +\let\qed@elt\relax +\newcommand{\pushQED}[1]{% + \toks@{\qed@elt{#1}}\@temptokena\expandafter{\QED@stack}% + \xdef\QED@stack{\the\toks@\the\@temptokena}% +} +\newcommand{\popQED}{% + \begingroup\let\qed@elt\popQED@elt \QED@stack\relax\relax\endgroup +} +\def\popQED@elt#1#2\relax{#1\gdef\QED@stack{#2}} +\newcommand{\qedhere}{% + \begingroup \let\mathqed\math@qedhere + \let\qed@elt\setQED@elt \QED@stack\relax\relax \endgroup +} +\newif\ifmeasuring@ +\newif\iffirstchoice@ \firstchoice@true +\def\setQED@elt#1#2\relax{% + \ifmeasuring@ + \else \iffirstchoice@ \gdef\QED@stack{\qed@elt{}#2}\fi + \fi + #1% +} +\def\qed@warning{% + \PackageWarning{amsthm}{The \@nx\qedhere command may not work + correctly here}% +} +\newcommand{\mathqed}{\quad\hbox{\qedsymbol}} +\def\linebox@qed{\hfil\hbox{\qedsymbol}\hfilneg} +\@ifpackageloaded{amsmath}{% + \def\math@qedhere{% + \@ifundefined{\@currenvir @qed}{% + \qed@warning\quad\hbox{\qedsymbol}% + }{% + \@xp\aftergroup\csname\@currenvir @qed\endcsname + }% + } + \def\displaymath@qed{% + \relax + \ifmmode + \ifinner \aftergroup\linebox@qed + \else + \eqno + \let\eqno\relax \let\leqno\relax \let\veqno\relax + \hbox{\qedsymbol}% + \fi + \else + \aftergroup\linebox@qed + \fi + } + \@xp\let\csname equation*@qed\endcsname\displaymath@qed + \def\equation@qed{% + \iftagsleft@ + \hbox{\phantom{\quad\qedsymbol}}% + \gdef\alt@tag{% + \rlap{\hbox to\displaywidth{\hfil\qedsymbol}}% + \global\let\alt@tag\@empty + }% + \else + \gdef\alt@tag{% + \global\let\alt@tag\@empty + \vtop{\ialign{\hfil####\cr + \tagform@\theequation\cr + \qedsymbol\cr}}% + \setbox\z@ + }% + \fi + } + \def\qed@tag{% + \global\tag@true \nonumber + &\omit\setboxz@h {\strut@ \qedsymbol}\tagsleft@false + \place@tag@gather + \kern-\tabskip + \ifst@rred \else \global\@eqnswtrue \fi \global\advance\row@\@ne \cr + } + \def\split@qed{% + \def\endsplit{\crcr\egroup \egroup \ctagsplit@false \rendsplit@ + \aftergroup\align@qed + }% + } + \def\align@qed{% + \ifmeasuring@ \tag*{\qedsymbol}% + \else \let\math@cr@@@\qed@tag + \fi + } + \@xp\let\csname align*@qed\endcsname\align@qed + \@xp\let\csname gather*@qed\endcsname\align@qed +%% Needs some patching up for amsmath 1.2 +}{% end of amsmath branch, start plain LaTeX branch + \def\math@qedhere{% + \@ifundefined{\@currenvir @qed}{% + \qed@warning \aftergroup\displaymath@qed + }{% + \@xp\aftergroup\csname\@currenvir @qed\endcsname + }% + } + \def\displaymath@qed{% + \relax + \ifmmode + \ifinner \aftergroup\aftergroup\aftergroup\linebox@qed + \else + \eqno \def\@badmath{$$}% + \let\eqno\relax \let\leqno\relax \let\veqno\relax + \hbox{\qedsymbol}% + \fi + \else + \aftergroup\linebox@qed + \fi + } + \@ifundefined{ver@leqno.clo}{% + \def\equation@qed{\displaymath@qed \quad}% + }{% + \def\equation@qed{\displaymath@qed}% + } + \def\@tempa#1$#2#3\@nil{% + \def\[{#1$#2\def\@currenvir{displaymath}#3}% + }% + \expandafter\@tempa\[\@nil +} +\@ifpackageloaded{amstex}{% + \def\@tempa{TT}% +}{% + \@ifpackageloaded{amsmath}{% + \def\@tempb#1 v#2.#3\@nil{#2}% + \ifnum\@xp\@xp\@xp\@tempb\csname ver@amsmath.sty\endcsname v0.0\@nil + <\tw@ + \def\@tempa{TT}% + \else + \def\@tempa{TF}% + \fi + }{% + \def\@tempa{TF} + }% +} +\if\@tempa + \renewcommand{\math@qedhere}{\quad\hbox{\qedsymbol}}% +\fi +\newcommand{\openbox}{\leavevmode + \hbox to.77778em{% + \hfil\vrule + \vbox to.675em{\hrule width.6em\vfil\hrule}% + \vrule\hfil}} +\DeclareRobustCommand{\textsquare}{% + \begingroup \usefont{U}{msa}{m}{n}\thr@@\endgroup +} +\@ifclasswith{\@classname}{noamsfonts}{% + \providecommand{\qedsymbol}{\openbox}% +}{} +\providecommand{\qedsymbol}{\textsquare} +\newenvironment{proof}[1][\proofname]{\par + \pushQED{\qed}% + \normalfont \topsep6\p@\@plus6\p@\relax + \trivlist + \itemindent\normalparindent + \item[\hskip\labelsep + \scshape + #1\@addpunct{.}]\ignorespaces +}{% + \popQED\endtrivlist\@endpefalse +} +\providecommand{\proofname}{Proof} +\def\bb@skip#1{% + \skip@#1\relax \advance\skip@-\prevdepth \advance\skip@-\baselineskip + \vskip\skip@} +\def\markleft#1{{\let\protect\noexpand + \let\label\relax \let\index\relax \let\glossary\relax + \expandafter\@markleft\@themark{#1}% + \mark{\@themark}}% + \if@nobreak\ifvmode\nobreak\fi\fi} +\def\@markleft#1#2#3{\gdef\@themark{{#3}{#2}}} +\def\@tempa{} +\edef\@dh{% + \noexpand\mathhexbox{\hexnumber@\symAMSb}67} +\DeclareTextCommand{\dh}{OT1}{% + \edef\@tempb{\scdefault}% + \ifx\f@shape\@tempb + \leavevmode + \raisebox{-.8ex}{\makebox[\z@][l]{\hskip-.08em\accent"16\hss}}d% + \else + \@dh + \fi +} +\DeclareTextCommand{\DH}{OT1}{% + \leavevmode\raisebox{-.5ex}{\makebox[\z@][l]{\hskip-.07em\accent"16\hss}}D} +\DeclareTextCommand{\DJ}{OT1}{% + \leavevmode\raisebox{-.5ex}{\makebox[\z@][l]{\hskip-.07em\accent"16\hss}}D} +\DeclareTextCommand{\dj}{OT1}{% + \edef\@tempa{\f@shape}\edef\@tempb{\scdefault}% + \ifx\@tempa\@tempb + \leavevmode + \raisebox{-.75ex}{\makebox[\z@][l]{\hskip-.08em\accent"16\hss}}d% + \else + \leavevmode\raisebox{.02ex}{\makebox[\z@][l]{\hskip.1em\accent"16\hss}}d% + \fi} +\hyphenation{acad-e-my acad-e-mies af-ter-thought anom-aly anom-alies +an-ti-deriv-a-tive an-tin-o-my an-tin-o-mies apoth-e-o-ses +apoth-e-o-sis ap-pen-dix ar-che-typ-al as-sign-a-ble as-sist-ant-ship +as-ymp-tot-ic asyn-chro-nous at-trib-uted at-trib-ut-able bank-rupt +bank-rupt-cy bi-dif-fer-en-tial blue-print busier busiest +cat-a-stroph-ic cat-a-stroph-i-cally con-gress cross-hatched data-base +de-fin-i-tive de-riv-a-tive dis-trib-ute dri-ver dri-vers eco-nom-ics +econ-o-mist elit-ist equi-vari-ant ex-quis-ite ex-tra-or-di-nary +flow-chart for-mi-da-ble forth-right friv-o-lous ge-o-des-ic +ge-o-det-ic geo-met-ric griev-ance griev-ous griev-ous-ly +hexa-dec-i-mal ho-lo-no-my ho-mo-thetic ideals idio-syn-crasy +in-fin-ite-ly in-fin-i-tes-i-mal ir-rev-o-ca-ble key-stroke +lam-en-ta-ble light-weight mal-a-prop-ism man-u-script mar-gin-al +meta-bol-ic me-tab-o-lism meta-lan-guage me-trop-o-lis +met-ro-pol-i-tan mi-nut-est mol-e-cule mono-chrome mono-pole +mo-nop-oly mono-spline mo-not-o-nous mul-ti-fac-eted mul-ti-plic-able +non-euclid-ean non-iso-mor-phic non-smooth par-a-digm par-a-bol-ic +pa-rab-o-loid pa-ram-e-trize para-mount pen-ta-gon phe-nom-e-non +post-script pre-am-ble pro-ce-dur-al pro-hib-i-tive pro-hib-i-tive-ly +pseu-do-dif-fer-en-tial pseu-do-fi-nite pseu-do-nym qua-drat-ic +quad-ra-ture qua-si-smooth qua-si-sta-tion-ary qua-si-tri-an-gu-lar +quin-tes-sence quin-tes-sen-tial re-arrange-ment rec-tan-gle +ret-ri-bu-tion retro-fit retro-fit-ted right-eous right-eous-ness +ro-bot ro-bot-ics sched-ul-ing se-mes-ter semi-def-i-nite +semi-ho-mo-thet-ic set-up se-vere-ly side-step sov-er-eign spe-cious +spher-oid spher-oid-al star-tling star-tling-ly sta-tis-tics +sto-chas-tic straight-est strange-ness strat-a-gem strong-hold +sum-ma-ble symp-to-matic syn-chro-nous topo-graph-i-cal tra-vers-a-ble +tra-ver-sal tra-ver-sals treach-ery turn-around un-at-tached +un-err-ing-ly white-space wide-spread wing-spread wretch-ed +wretch-ed-ly Eng-lish Euler-ian Feb-ru-ary Gauss-ian +Hamil-ton-ian Her-mit-ian Jan-u-ary Japan-ese Kor-te-weg +Le-gendre Mar-kov-ian Noe-ther-ian No-vem-ber Rie-mann-ian Sep-tem-ber} +\def\calclayout{\advance\textheight -\headheight + \advance\textheight -\headsep + \oddsidemargin\paperwidth + \advance\oddsidemargin -\textwidth + \divide\oddsidemargin\tw@ + \ifdim\oddsidemargin<.5truein \oddsidemargin.5truein \fi + \advance\oddsidemargin -1truein + \evensidemargin\oddsidemargin + \topmargin\paperheight \advance\topmargin -\textheight + \advance\topmargin -\headheight \advance\topmargin -\headsep + \divide\topmargin\tw@ + \ifdim\topmargin<.5truein \topmargin.5truein \fi + \advance\topmargin -1truein\relax +} +\InputIfFileExists{amsproc.cfg}{}{% + \calclayout % initialize + \pagenumbering{arabic}% + \pagestyle{headings}% + \thispagestyle{plain}% +} +\if@compatibility \else\endinput\fi +\def\tiny{\Tiny} +\def\defaultfont{\normalfont} +\def\rom{\textup} +\let\@newpf\proof \let\proof\relax \let\endproof\relax +\newenvironment{pf}{\@newpf[\proofname]}{\popQED\endtrivlist} +\newenvironment{pf*}[1]{\@newpf[#1]}{\popQED\endtrivlist} +\endinput +%% +%% End of file `amsproc.cls'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amsrbeta.sty b/Master/texmf-dist/tex/latex/amslatex/amsrbeta.sty new file mode 100644 index 00000000000..6dba64291d8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amsrbeta.sty @@ -0,0 +1,901 @@ +%% +%% This is file `amsrefs.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsrefs.dtx (with options: `pkg') +%% +%%% ==================================================================== +%%% @LaTeX-doc-source-file{ +%%% filename = "amsrefs.dtx", +%%% version = "1.01", +%%% date = "2000/04/07", +%%% time = "14:13:41 EDT", +%%% author = "Michael J Downes", +%%% address = "American Mathematical Society, +%%% Publications Technical Group, +%%% PO Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% email = "tech-support@ams.org", +%%% URL = "http://www.ams.org/", +%%% abstract = "A LaTeX package that permits bibliography style +%%% to be controlled completely from the LaTeX side +%%% instead of being determined chiefly by the BibTeX +%%% style file.", +%%% checksum = "13215 2240 8648 73862", +%%% docstring = "The checksum field, produced by Robert Solovay's +%%% checksum utility, gives CRC-16 checksum, lines, +%%% words, and characters.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +%\ProvidesPackage{amsrefs}[2000/04/07 v1.03] +\ProvidesPackage{amsrbeta}[2000/04/07 v1.03] +\begingroup +\edef\c{\number\catcode\string`\`} +\catcode\string`\`=12 +\edef\c{% + \endgroup + \noexpand\AtEndOfPackage{% + \catcode\number`\==\number\catcode`\= + \catcode\number`\:=\number\catcode`\: + \catcode\number`\`=\c\relax + }% + \catcode\number`\`=12 +} +\c \catcode`\'12 \catcode`\=12 \catcode`\:12 +\let\@xp=\expandafter +\let\@nx=\noexpand +\long\def\@ifempty#1{\@xifempty#1@@..\@nil} +\long\def\@xifempty#1#2@#3#4#5\@nil{% + \ifx#3#4\@xp\@firstoftwo\else\@xp\@secondoftwo\fi} +\long\def\@ifnotempty#1{\@ifempty{#1}{}} +\@ifundefined{@emptytoks}{\csname newtoks\endcsname\@emptytoks}{} +\def\addto@macro#1#2{\@xp\def\@xp#1\@xp{#1#2}} +\let\star@char=* +\def\star@#1#2{% + \def\star@a##1{#1}\def\star@b{#1{#2}}% + \futurelet\@let@token\star@test +} +\def\star@test{% + \ifx\@let@token\star@char \let\star@b\star@a\fi + \star@b +} +\RequirePackage{ifoption}[2000/02/15] +\DeclareExclusiveOptions{*sorted,*citation-order} +\DeclareExclusiveOptions{alphabetic,author-year,numeric} +\DeclareBooleanOption{short-journals} +\DeclareBooleanOption{short-months} +\DeclareBooleanOption{initials} +\DeclareExclusiveOptions{traditional-quotes,logical-quotes} +\DeclareExclusiveOptions{sorted-cites,non-sorted-cites} +\DeclareExclusiveOptions{non-compressed-cites,compressed-cites} +\DeclareBooleanOption{jpa} +\DeclareBooleanOption{backrefs} +\def\amsrefs@verbose{01} +\DeclareOption{?}{\def\amsrefs@verbose{00}} +\DeclareOption{beta}{} +\ExecuteOptions{numeric,*sorted,traditional-quotes,% + sorted-cites,compressed-cites} +\ProcessOptions\relax +\ProcessExclusiveOptions +\IfOption{beta}{}{% + \PackageWarningNoLine{amsrefs}{% + Option `beta' should be used with this beta release}% +} +%\RequirePackage{rkeyval}[2000/02/02] +\RequirePackage{rkvbeta}[2000/02/02] +\RequirePackage{inicap}[2000/02/02] +\newenvironment{biblist}[1][]{% + \normalfont \footnotesize \labelsep .5em\relax + \list{\@biblabel{\thebib}}{% + \resetbiblist{00}% + \usecounter{bib}}% + \sloppy + \interlinepenalty\@m \clubpenalty\@M \widowpenalty\clubpenalty + \frenchspacing + #1\relax +}{% + \def\@noitemerr{\@latex@warning{Empty bibliography list}}% + \endlist +} +\def\@biblabel#1{[#1]} +\newcommand{\resetbiblist}[1]{% + \settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth \advance\leftmargin\labelsep +} +\def\bib@start#1{% + \begingroup + \let\@elt\relax % work around a LaTeX output routine bug + \item\leavevmode +} +\def\bib@end{\relax + \par\endgroup +} +\providecommand{\name}{} +\DefineAdditiveKey{bib}{author}{\name} +\DefineAdditiveKey{bib}{editor}{\name} +\DefineSimpleKey{bib}{title} +\DefineSimpleKey{bib}{subtitle} +\DefineSimpleKey{bib}{booktitle} +\DefineSimpleKey{bib}{series} +\DefineSimpleKey{bib}{conference} +\DefineSimpleKey{bib}{publisher} +\DefineSimpleKey{bib}{organization} +\DefineSimpleKey{bib}{institution} +\DefineSimpleKey{bib}{address} +\DefineSimpleKey{bib}{place} +\DefineSimpleKey{bib}{year} +\DefineSimpleKey{bib}{date} +\DefineSimpleKey{bib}{journal} +\DefineSimpleKey{bib}{volume} +\DefineSimpleKey{bib}{number} +\DefineSimpleKey{bib}{pages} +\DefineSimpleKey{bib}{part} +\DefineAdditiveKey{bib}{isbn}{\isbn} +\DefineSimpleKey{bib}{issn} +\DefineSimpleKey{bib}{doi} +\DefineAdditiveKey{bib}{review}{\review} +\DefineSimpleKey{bib}{status} +\DefineSimpleKey{bib}{eprint} +\DefineSimpleKey{bib}{preprint} +\DefineSimpleKey{bib}{language} +\DefineSimpleKey{bib}{note} +\DefineSimpleKey{bib}{xid} +\DefineSimpleKey{bib}{label} +\DefineSimpleKey{bib}{type} +\DefineSimpleKey{bib}{edition} +\DefineSimpleKey{bib}{setup} +\DefineDummyKey{bib}{transition} +\newcommand{\bib}[3][]{% + \begingroup + \toks@{#1}% + \def\@tempa{#2}% + \edef\@tempb{% + \@nx\@bibdef\@xp\@nx\csname setbib@#3\endcsname{\the\toks@}{#3}% + {\@xp\strip@prefix\meaning\@tempa}% + }% + \@tempb +} +\let\biblio@list\@empty +\newcounter{bib} +\def\amsrefs@nocomma{\PackageWarning{amsrefs}{% + Missing comma: some text might print incorrectly\MessageBreak}} +\def\@bibdef#1#2#3#4{% + \ifx\relax#1% + \PackageError{amsrefs}{Undefined entry type: #3}\@ehc + \let#1\setbib@misc + \fi + \RestrictedSetKeys[\amsrefs@nocomma]{bib}% + {\bib@exec{#4}{\the\rsk@toks}{#1}{#2}\endgroup}% +} +\begingroup \catcode`\'=11 +\gdef\bib@field@patches{% + \let\bib@author\bib'author + \let\bib@editor\bib'editor + \let\bib@date\bib'date + \ifx\bib@date\@empty \let\bib@date\bib'year \fi + \bib@parsedate + \let\bib@language\bib'language + \ifx\bib@language\@empty \let\bib@language\biblanguagedefault \fi + \ifx\bib'place\@empty \let\bib'place\bib'address\fi + \bib'setup +} +\endgroup +\def\bib@bibcite#1#2#3{% + \@cons\biblio@list{{#1}}% + \if\numeric@refs + \stepcounter{bib}% + \protected@edef\@currentlabel{\@nx\@nx\@nx\cite@x{\thebib}{}}% + \else + #2% execute definitions locally + \bib@field@patches + \def\@currentlabel{\@nx\cite@x{\bib@year}{\bib@author}}% + \let\name\relax + \fi + \protected@edef\@tempa{\protect\bibcite{#1}{\@currentlabel}}% + \@tempa +} +\def\bib@print#1#2#3#4{% + \alpha@label{#4}% + \bib@start{#1}% + #2\bib@field@patches + \bib@cite{#1}\kern\@ne sp\relax + #3% + \bib@end +} +\let\bib@exec\bib@bibcite +\AtBeginDocument{\let\bib@exec\bib@print} +\IfOption{author-year}{% + \def\cite@label{% + \ifx\bib@author\@empty \bib@editor \else \bib@author \fi + }% +}{% + \def\cite@label{\@currentlabel}% +} + +\IfOption{alphabetic}{% + \def\alpha@label{\def\thebib}% +}{% + \let\alpha@label\@gobble +} +\def\bib@cite@check#1#2#3#4#5#6\@nil#7{% + \ifodd0#2\relax + \PackageWarning{amsrefs}{% + Duplicate use of \protect\bib\space key `#7'\MessageBreak}% + \else + \@xp\gdef\csname b@#7\endcsname{\citeselect #11{#3}{#4}{#5}}% + \fi +} +\def\bib@cite#1{% + \protected@write\@auxout {\def\name{\protect\name}}{% + \protect\bibcite{#1}{% + \protect\citeselect 00{\cite@label}{\bib@year}{}}% + }% + \@ifundefined{b@#1}{% + \protected@edef\@tempa{% + \gdef\@xp\@nx\csname b@#1\endcsname{% + \protect\citeselect 01{\cite@label}{\bib@year}% + }% + } + \@tempa + }{% + \begingroup + \let\citeselect\bib@cite@check + \csname b@#1\endcsname 00xxx\@nil{#1}% + \endgroup + }% +} +\let\@@testdef\@testdef +\def\@testdef #1{% + \if b\@car#1x\@nil \@xp\test@bibcite + \else \@xp\@@testdef + \fi + {#1}% +} +\def\test@bibcite#1#2#3{% + \@xp\@xp\@xp\test@bibcite@a\csname b@#2\endcsname #3\@nil +} +\def\test@bibcite@a#1#2#3#4\citeselect#5#6#7\@nil{% + \def\reserved@a{#4}\def\reserved@b{#7}% + \ifx\reserved@a\reserved@b \else\@tempswatrue \fi +} +\def\printbibliography{% + \bibsection + \begin{biblist}% + \let\@elt\bib@print + \biblio@list + \end{biblist}% +} +\renewenvironment{thebibliography}[1]{% + \bibsection + \biblist[\resetbiblist{#1}]% +}{% + \endbiblist +} +\providecommand{\bibname}{Bibliography} +\@ifundefined{chapter}{% + \newcommand{\bibsection}{\section*{\bibname}}% +}{% + \newcommand{\bibsection}{\chapter*{\bibname}}% +} +\def\SwapBreak#1{% + \@tempcnta\@MM + \ifhmode + \unskip + \ifnum\lastpenalty=\z@ + \else \@tempcnta\lastpenalty \unpenalty + \fi + \fi + \toks@{#1}% + \edef\@tempa{% + \@nx\deferredquoteslogical + \ifnum\lastkern=\@ne + \else + \ifnum\spacefactor=\sfcode\@xp\@xp\@xp`\@xp\@car\string#1)\@nil + \else \the\toks@ + \fi + \fi + \@nx\deferredquotes + \ifnum\@tempcnta=\@MM \else \penalty\number\@tempcnta\space\fi + \ifnum\lastkern=\@ne \ignorespaces \fi + }% + \@tempa +} +\newcount\series@index +\def\PrintSeries#1#2#3#4#5#6#7#8{% + \begingroup + \def\series@add@a{#2}% + \def\series@add@b{\SwapBreak{#3}#4}% + \def\series@add@c{\SwapBreak{#5}#6}% + \def\series@add@d{\SwapBreak{#7}#8}% + \PrintSeries@a{#1}% +} +\newcommand{\SingularPlural}[2]{#1} +\newcommand{\Plural}{\SingularPlural{}} +\def\PrintSeries@a#1#2#3#4{% + \series@index\z@ \def#1{\advance\series@index\@ne \@gobble}% + #3\relax + \ifnum\series@index=\@ne \let\SingularPlural\@firstoftwo + \else \let\SingularPlural\@secondoftwo + \fi + \chardef\series@total=\series@index \series@index=\z@ + \let#1\series@add + #2#3#4\relax + \endgroup +} +\def\series@add#1{% + \advance\series@index\@ne + \let\@tempa\relax + \ifcase\series@index + \or % material before name 1 + \let\@tempa\series@add@a + \or % material before name 2 + \ifnum\series@total<\thr@@ \let\@tempa\series@add@b + \else \let\@tempa\series@add@c + \fi + \else % material before name 3, 4, 5, ... + \ifnum\series@index<\series@total \let\@tempa\series@add@c + \else \let\@tempa\series@add@d + \fi + \fi + \@tempa{#1}% +} +\def\bib@append#1#2#3{% + \ifx\@empty#3\relax + \else + \ifx\relax#2\errmessage{#3=\relax}\fi + \@temptokena{\SwapBreak{#1}#2}\toks@\@xp{#3}% + \edef\@tempa{\the\@temptokena{\the\toks@}}% + \@xp\@tempa + \fi + \relax +} +\let\endbracket\@empty +\let\bracket@stack\@empty +\def\push@bracket#1{% + \xdef\bracket@stack{#1\bracket@stack}% +} +\def\pop@bracket{\iffalse{\fi + \@xp\pop@bracket@a\bracket@stack \@empty}} +\def\pop@bracket@a#1{\leavevmode\/\upn{#1}\xdef\bracket@stack{\iffalse}\fi} +\providecommand{\upn}[1]{#1} +\newcommand{\parenthesize}[1]{% + \leavevmode\push@bracket)\upn{(}#1\pop@bracket +} +\let\deferredquotes\@empty +\IfOption{logical-quotes}{% + \def\deferredquoteslogical{\deferredquotes}% +}{% + \let\deferredquoteslogical\relax +} +\newcommand{\bibquotes}[1]{% + \textquotedblleft#1% + \gdef\deferredquotes{% + \global\let\deferredquotes\@empty \textquotedblright + }% +} +\providecommand{\mdash}{\textemdash} +\providecommand{\ndash}{\textendash} +\providecommand{\MRhref}[1]{} +\@ifundefined{@addpunct}{% + \def\@addpunct#1{% + \relax\ifhmode\unskip\ifnum\spacefactor>\@m \else#1\fi\fi + } + \def\frenchspacing{\sfcode`\.1006\sfcode`\?1005\sfcode`\!1004% + \sfcode`\:1003\sfcode`\;1002\sfcode`\,1001 } +}{} +\providecommand{\nopunct}{\spacefactor 1005 } +\def\bibspec@scan#1#2#3#4{% + \toks@\@xp{\the\toks@\bib@append{#1}{#2}}% + \edef\@tempa{% + \toks@{\the\toks@ \@xp\@nx\csname bib'#3\endcsname}% + }% + \@tempa + \ifx\@empty#4\@xp\@gobble % end the recursion + \else \ifx +#4\else\bibspec@scan@error\fi + \fi + \bibspec@scan +} +\newcommand{\bibspec}[2]{% + \toks@\@emptytoks + \@ifnextchar{+}{\@xp\bibspec@scan\@gobble}{\bibspec@scan}#2% + \@empty\@empty\@empty\@empty + \@xp\edef\csname setbib@#1\endcsname{\the\toks@}% +} +\IfOption{initials}{% + \def\set@forenames#1#2 #3{% + \ignorespaces#1. \ifx\@empty#3\@xp\@gobbletwo\fi \set@forenames#3% + } +}{% + \def\set@forenames{\ignorespaces} +} +\def\uninvertName#1{\rnscan@a#1,,,\@nil} +\def\rnscan@a#1,#2,#3,#4\@nil{% + \set@forenames#2 \@empty#1\unskip + \@ifnotempty{#3}{, \ignorespaces #3}} +\def\UninvertedNames{% + \PrintSeries{\name}% + {\uninvertName}% + {}{ and \uninvertName}% + {,}{ \uninvertName}% + {,}{ and \uninvertName}% +} +\newcommand{\aulist}[1]{\UninvertedNames{}{#1}{}} +\providecommand{\bysame}{\leavevmode\hbox to3em{\hrulefill}\thinspace} +\newcommand{\sameauthors}[1]{\bysame} +\def\PreviousAuthors{\relax} +\newcommand{\PrintAuthors}{% + \ifx\PreviousAuthors\bib@author \@xp\sameauthors + \else + \global\let\PreviousAuthors\bib@author + \@xp\aulist + \fi +} +\newcommand{\PrintEditorsA}[1]{% + \UninvertedNames{}{#1}{ (ed\Plural{s}.)}% +} +\newcommand{\PrintEditorsB}[1]{% + \UninvertedNames{(}{#1}{\SwapBreak{,} ed\Plural{s}.)}% +} +\newcommand{\ReviewList}[1]{% + \PrintSeries{\review}{}{,}{ }{,}{ }{,}{ }{}{#1}{}% +} +\newcommand{\voltext}{vol.~} +\newcommand{\pptext}[1]{% + p\pp@scan@a#1@\ndash p@\ndash{\pp@scan#1@-p@-{}\@nil}\@nil.~#1% +} +\def\pp@scan#1-#2@-#3#4\@nil{#3} +\def\pp@scan@a#1\ndash#2@\ndash#3#4\@nil{#3} +\newcommand{\eprintpages}[1]{% + #1\IfEmptyBibField{eprint}{}{\IfEmptyBibField{journal}{ pp.}{}}% +} +\def\ISSNlookup#1{% + \@ifnotempty{#1}{% + \ISSN@lu#1\@nil{#1}% + }% +} +\def\ISSN@lu#1#2\@nil#3{% + \def\@tempa{#3}% + \ifcat A\@nx#1% + \lowercase{\if#1}#1% + \def\@tempb##1<#3>##2##3\@nil{\def\@tempc{##2}}% + \@xp\@tempb\ISSN@list<#3>{}\@nil + \ifx\@tempc\@empty \arf@unknown{journal}{#3}% + \else \let\@tempa\@tempc + \fi + \fi + \fi + \@tempa +} +\def\arf@unknown#1#2{% + \toks@{#2}% + \PackageWarning{amsrefs}{Unknown #1 abbreviation '\the\toks@'}% +} +\def\PublisherLookup#1{\Publ@LU#1?\@nil{#1}} +\def\Publ@LU#1#2\@nil#3{% + \ifcat A\@nx#1% + \lowercase{\if#1}#1% + \lowercase{\uppercase{\csname PN}.#3}\endcsname + \else + #3% + \fi + \fi +} +\def\biblanguageEnglish{English} +\let\biblanguagedefault\biblanguageEnglish +\edef\amsrefs@tmp{\catcode\number`\'=\number\catcode`\'\relax} +\catcode`\'=11 +\newcommand{\EnglishInitialCaps}[1]{% + \ifx\@empty\bib'language \let\bib'language\biblanguagedefault\fi + \ifx\bib'language\biblanguageEnglish \inicap{#1}\fi +} +\amsrefs@tmp +\def\PrintThesisType#1{% + \thesis@type#1?\@nil{#1}% +} +\def\thesis@type#1#2\@nil#3{% + \ifx p#1Ph.D. Thesis% + \else\ifx m#1Master's Thesis% + \else #3\fi\fi +} +\newcommand{\BibField}[1]{\csname bib'#1\endcsname} +\newcommand{\IfEmptyBibField}{\rkvIfEmpty{bib}} +\newcommand{\PrintDOI}[1]{% + DOI #1% + \IfEmptyBibField{volume}{, (to appear in print)}{}% +} +\def\bib@parsedate{% + \@xp\bib@parsedate@a\bib@date ---\@nil +} +\let\bib@year\@empty +\let\bib@month\@empty +\let\bib@day\@empty +\begingroup \catcode`\'=11 +\gdef\bib@parsedate@a#1-#2-#3-#4\@nil{% + \def\bib@year{#1}\def\bib@month{#2}\def\bib@day{#3}% + \ifx\@empty\bib@month \let\bib'date\bib@year + \else \def\bib'date{#1-#2-#3}% + \fi +} +\endgroup +\newcommand{\PrintDatePV}[1]{% + \IfEmptyBibField{doi}{\let\@tempa\PrintDate}{% + \IfEmptyBibField{volume}{\let\@tempa\PrintDatePosted}{% + \let\@tempa\PrintDate}}% + \@tempa{#1}% +} +\newcommand{\PrintDate}[1]{(\print@date)} +\def\print@date{% + \ifx\bib@month\@empty \else\print@month@day \fi + \bib@year +} +\def\print@month@day{% + \ifcase 0\bib@month\ignorespaces + \or January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\or + Winter\or Spring\or Summer\or Fall\else Unknown Month% + \fi + \ifx\@empty\bib@day \else \space\number 0\bib@day,\fi + \space +} +\newcommand{\PrintYear}[1]{\bib@year} +\newcommand{\PrintDatePosted}[1]{\unskip, posted on \print@date} +\newcommand{\CardinalNumeric}[1]{% + \number#1\relax + \if\ifnum#1<14 \ifnum#1>\thr@@ T\else F\fi\else F\fi T% + th% + \else + \@xp\keep@last@digit\@xp#1\number#1\relax + \ifcase#1th\or st\or nd\or rd\else th\fi + \fi +} +\def\keep@last@digit#1#2{% + \ifx\relax#2\@xp\@gobbletwo + \else #1=#2\relax + \fi + \keep@last@digit#1% +} +\newcommand{\PrintEdition}[1]{% + \afterassignment\print@edition + \count@ 0#1\relax\@nil +} +\newcommand{\editiontext}{ed.} +\def\print@edition#1#2\@nil{% + \ifx\relax#1\relax + \ifnum\count@>\z@ \CardinalNumeric\count@ + \else ??th% + \fi + \ \editiontext + \else \ifnum\count@>\z@\number\count@\fi #1#2\relax + \fi +} +\newcommand{\intersentencespace}{{\spacefactor3000} } +\newcommand{\eprint}[1]{#1} +\bibspec{article}{% + +{}{\PrintAuthors} {author} + +{,}{ \textit} {title} + +{:}{ \textit} {subtitle} + +{.}{ } {part} + +{,}{ \ISSNlookup} {journal} + +{} { \textbf} {volume} + +{} { \PrintDatePV} {date} + +{,}{ \PrintDOI} {doi} + +{,}{ \eprint} {eprint} + +{} { \parenthesize}{status} + +{,}{ \eprintpages} {pages} + +{,}{ } {note} + +{.}{} {transition} + +{} {\intersentencespace \ReviewList} {review} +} +\bibspec{book}{% + +{}{\PrintAuthors}{author} + +{}{\PrintEditorsA}{editor} + +{,}{ \textit}{title} + +{:}{ \textit}{subtitle} + +{,}{ }{type} + +{,}{ \EnglishInitialCaps}{booktitle} + +{,}{ \PrintEdition}{edition} + +{,}{ }{series} + +{,}{ vol.~}{volume} + +{,}{ part~}{part} + +{,}{ \PublisherLookup}{publisher} + +{,}{ }{organization} + +{,}{ }{place} + +{,}{ }{date} + +{,}{ ISBN }{isbn} + +{}{ \parenthesize}{status} + +{,}{ }{note} + +{.}{}{transition} + +{}{\intersentencespace \ReviewList}{review} +} +\bibspec{incollection}{% + +{}{\PrintAuthors}{author} + +{,}{ \textit}{title} + +{:}{ \textit}{subtitle} + +{,}{ }{type} + +{,}{ \EnglishInitialCaps}{booktitle} + +{,}{ \PrintEdition}{edition} + +{}{ \PrintEditorsB}{editor} + +{,}{ Proc.\ }{conference} + +{,}{ }{series} + +{,}{ vol.~}{volume} + +{,}{ part~}{part} + +{,}{ \PublisherLookup}{publisher} + +{,}{ }{organization} + +{,}{ }{place} + +{,}{ }{date} + +{,}{ \pptext}{pages} + +{,}{ ISBN }{isbn} + +{}{ \parenthesize}{status} + +{,}{ }{note} + +{.}{}{transition} + +{}{\intersentencespace \ReviewList}{review} +} +\let\setbib@inproceedings\setbib@incollection +\let\setbib@booktitle\setbib@incollection +\let\setbib@misc\setbib@book +\let\setbib@unpublished\setbib@book +\bibspec{techreport}{% + +{}{\PrintAuthors}{author} + +{}{\PrintEditorsA}{editor} + +{,}{ \textit}{title} + +{:}{ \textit}{subtitle} + +{,}{ }{type} + +{,}{ \EnglishInitialCaps}{booktitle} + +{,}{ Technical Report }{number} + +{,}{ }{series} + +{,}{ vol.~}{volume} + +{,}{ part~}{part} + +{,}{ \PublisherLookup}{publisher} + +{,}{ }{organization} + +{,}{ }{institution} + +{,}{ }{place} + +{,}{ }{date} + +{,}{ ISBN }{isbn} + +{,}{ \eprint} {eprint} + +{}{ \parenthesize}{status} + +{,}{ }{note} + +{.}{}{transition} + +{}{\intersentencespace \ReviewList}{review} +} +\bibspec{thesis}{% + +{}{\PrintAuthors}{author} + +{}{\PrintEditorsA}{editor} + +{,}{ \textit}{title} + +{:}{ \textit}{subtitle} + +{,}{ \PrintThesisType}{type} + +{,}{ part~}{part} + +{,}{ }{organization} + +{,}{ }{institution} + +{,}{ }{place} + +{,}{ }{date} + +{}{ \parenthesize}{status} + +{,}{ }{note} + +{.}{}{transition} + +{}{\intersentencespace \ReviewList}{review} +} +\DeclareRobustCommand{\tsup}[1]{% + \leavevmode\raise.9ex\hbox{\fontsize\sf@size\z@\selectfont #1}% +} +\DeclareRobustCommand{\tsub}[1]{% + \leavevmode\lower.6ex\hbox{\fontsize\sf@size\z@\selectfont #1}% +} +\DeclareRobustCommand{\tprime}{\tsup{\usefont{OMS}{cmsy}{m}{n}\char48 }} +\def\citeleft{[} +\def\citeright{]} +\def\citemid{,\penalty9999 \space} +\def\citepunct{,\penalty9999 \hskip.13em plus.1em minus.05em\relax} +\let\citeform\@iden +\def\@citeleft{\citeleft} +\def\citeselect@author#1#2#3#4#5{\UninvertedNames{#3}} +\def\citeselect@authoryear#1#2#3#4#5{\UninvertedNames{#3}, #4} +\def\citeselect@object#1#2#3#4#5{\UninvertedNames{#3} \citeleft#4} +\def\citeselect@year#1#2#3#4#5{#4} +\def\citeselect@key#1#2#3#4#5{#3} +\let\citeselect\citeselect@key +\DeclareRobustCommand{\cite}[1]{\star@{\cite@a\citeselect{#1}}{}} +\def\cite@multiple#1,#2#3\@nil{\ifx\relax#2F\else T\fi T} +\def\MultipleCiteKeyWarning#1{% + \PackageWarning{amsrefs}{% + Use of \string\cites\space is recommended\MessageBreak + instead of \string\cite\space for multiple cites '#1'}% + \global\let\MultipleCiteKeyWarning\@gobble +} +\def\cite@a#1#2{% + \begingroup + \def\@tempa{#2}% + \toks@{\endgroup \cite@b#1}% + \edef\@tempa{\the\toks@{\@xp\strip@prefix\meaning\@tempa}}% + \@tempa +} +\def\cite@b#1#2#3{% + \if\cite@multiple#2,\relax\@nil + \MultipleCiteKeyWarning{#2}% + \cites{#2}% + \else + \cite@c#1{#2}{#3}% + \fi +} +\@ifundefined{@extra@b@citeb}{\let\@extra@b@citeb\@empty}{} +\def\cite@lookup#1{\csname b@#1\@extra@b@citeb\endcsname} +\def\undefined@cite#1{% + \PackageWarning{amsrefs}{Undefined citation '#1'}% + \texttt{#1}} +\newcommand{\citedest}[2]{} +\def\cite@c#1#2#3{% + \begingroup + \let\citeselect#1\relax + \@citeleft + \@xp\@xp\@xp\ifx\cite@lookup{#2}\relax \undefined@cite{#2}% + \else \cite@lookup{#2}% + \fi + \if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \write\@auxout{\string\citedest{#2}{\thepage}}% + \@ifnotempty{#3}{\citemid #3}% + \citeright + \endgroup +} +\newcommand{\cites}[1]{} +\def\cites#1{\begingroup + \edef\@tempa{\zap@space#1 \@empty}% + \edef\@tempa{\@xp\strip@prefix\meaning\@tempa}% + \edef\@tempa{\endgroup + \@nx\citelist@a{}{sorted}{% + \@xp\cites@a\@tempa,{@\csname fi\@car\endcsname},\@nil + }% + }% + \@tempa +} +\def\cites@a#1,{% + \ifx @#1@\else \@nx\cite@c\@nx\citeselect{#1}{}\fi \cites@a +} +\newcommand{\citelist}{\@ifnextchar <{\citelist@a}{\citelist@a <{sorted}}}% +\def\NonNumericCiteWarning{% + \PackageWarning{amsrefs}{% + Unable to confirm that cite keys are numeric: not sorting% + }% +} +\def\citelist@a#1#2#3{% + \leavevmode + \citeleft\nopunct % suppress first \citepunct + \begingroup + \def\citeleft{\@addpunct{\citepunct}}\let\citeright\ignorespaces + \ifx\cite@sorted\relax #3\relax + \else + \@xp\ifx\csname cite@#2\endcsname\cite@sorted + \ifx\citeselect\citeselect@key + \cite@sorted@s #3\cite@sorted@e + \else \NonNumericCiteWarning#3\relax + \fi + \else #3\relax + \fi + \fi + \endgroup + \citeright +} +\let\cite@das\@empty +\def\cite@sorted@s{% + \begingroup \let\cite@print\cite@c + \let\cite@c\cite@compress + \begingroup \let\cite@c\cite@sorted \ignorespaces} +\def\cite@sorted@e{% + \relax \@xp\endgroup\the\cite@toks \last@cite \endgroup +} +\newtoks\cite@toks +\def\cite@sorted#1#2#3{% + \@tempcnta 0\cite@lookup{#2}\relax % highest number so far + \cite@toks{\cite@c#1{#2}{#3}}% + \edef\sort@cite@temp{\the\cite@toks}% + \let\cite@c\sort@cite@b + \ignorespaces +} +\def\sort@cite@b#1#2#3{% + \@tempcntb 0\cite@lookup{#2}\relax + \ifnum\@tempcntb>\@tempcnta + \cite@toks\@xp{\the\cite@toks \cite@c#1{#2}{#3}}% + \else + \let\cite@c\sort@cite@c \cite@toks\@emptytoks + \def\@tempb{\cite@toks\@xp{\the\cite@toks\cite@c#1{#2}{#3}}}% + \sort@cite@temp \@tempb \let\cite@c\sort@cite@b + \fi + \edef\sort@cite@temp{\the\cite@toks}% + \ignorespaces +} +\def\sort@cite@c#1#2#3{% + \ifnum\@tempcntb<0\cite@lookup{#2}% + \@tempb \let\@tempb\@empty + \fi + \cite@toks\@xp{\the\cite@toks \cite@c#1{#2}{#3}}% + \ignorespaces +} +\let\last@cite\@empty +\def\cite@compress#1#2#3{% + \cite@print#1{#2}{#3}\@tempcnta 0\cite@lookup{#2}\relax + \let\cite@c\cite@compress@a +} +\def\cite@compress@a#1#2#3{% + \advance\@tempcnta\@ne \@tempcntb 0\cite@lookup{#2}\relax + \ifnum\@tempcnta=\@tempcntb + \def\cite@dash{\textendash \nopunct \let\cite@dash\@empty}% + \def\last@cite{\cite@print#1{#2}{#3}}% + \let\cite@c\cite@compress@b + \else + \cite@print#1{#2}{#3}\@tempcnta\@tempcntb + \fi +} +\def\cite@compress@b#1#2#3{% + \advance\@tempcnta\@ne \@tempcntb 0\cite@lookup{#2}\relax + \ifnum\@tempcnta=\@tempcntb + \cite@dash + \def\last@cite{\cite@print#1{#2}{#3}}% + \else + \last@cite \let\last@cite\@empty + \cite@print#1{#2}{#3}\@tempcnta\@tempcntb + \let\cite@c\cite@compress@a + \fi +} +\IfOption{unsorted-cites}{\let\cite@sorted\relax}{} +\DeclareRobustCommand{\ycite}[1]{% + \star@{\cite@a\citeselect@year{#1}}{}% +} +\DeclareRobustCommand{\ycites}{\cites}% not done yet +\DeclareRobustCommand{\ocite}[1]{% + \star@{\cite@a\citeselect@object{#1}}{}% +} +\DeclareRobustCommand{\ocites}{\cites}% not done yet +\IfOption{author-year}{% + \let\citeselect\citeselect@authoryear + \def\citeleft{(}\def\citeright{)}% + \def\@citeleft{\ifx\citeselect\citeselect@object\else\citeleft\fi}% + \let\@biblabel\@gobble +}{% + \let\ycite\cite \let\ocite\cite + \let\ycites\cites \let\ocites\cites +} +\let\ISSN@list=\@empty +\newcommand{\DefineJournal}[1]{\lowercase{\DefJrn@a{#1}}} +\def\DefJrn@a#1#2#3#4{% + \def\@tempa##1<#1>##2##3\@nil{% + \ifx\@empty##3\@empty + \else + \PackageWarning{amsrefs}{Redefining journal '#1'->'#2'}% + \fi + \toks@{##1<#1>}\@temptokena{##3}% + \xdef\ISSN@list{% + \the\toks@\@xp\@nx\csname SN.#2\endcsname\the\@temptokena + }% + }% + \edef\@tempb{% + \@nx\@xp\@nx\@tempa\@nx\ISSN@list + <#1>\@xp\@nx\csname SN.#2\endcsname\@nx\@nil + }% + \@tempb + \global\@namedef{SN.#2}{\SerialISSNName{#1}{#3}{#4}}% + \if\amsrefs@verbose + \toks@{Journal #1 -> #2 / #3^^J = #4}\typeout{\the\toks@}% + \fi +} +\newcommand{\SerialName}[3]{#2} +\let\SerialISSNName\SerialName +\newcommand{\DefinePublisher}[1]{% + \lowercase{\uppercase{\expandafter\DefPub@a\csname PN}.#1}\endcsname{#1}% +} +\def\DefPub@a#1#2#3#4#5{% + \ifx\relax#1\else + \PackageWarning{amsrefs}{Redefining publisher '#2'}% + \fi + \gdef#1{\PublisherNameAddress{#3}{#4}{#5}}% + \if\amsrefs@verbose + \toks@{Publisher #2 -> #3 / #5^^J = #4}\typeout{\the\toks@}% + \fi +} +\newcommand{\PublisherNameAddress}[3]{% + #1\IfEmptyBibField{place}{\SwapBreak{,} #3}{}% +} +\IfOption{jpa}{\RequirePackage{amsjpa}[2000/02/02]}{} +\endinput +%% +%% End of file `amsrefs.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amsrefs.sty b/Master/texmf-dist/tex/latex/amslatex/amsrefs.sty new file mode 100644 index 00000000000..8fcd754b2e9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amsrefs.sty @@ -0,0 +1,2996 @@ +%% +%% This is file `amsrefs.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsrefs.dtx (with options: `pkg') +%% +%%% ==================================================================== +%%% @LaTeX-doc-source-file{ +%%% filename = "amsrefs.dtx", +%%% version = "2.0", +%%% date = "2004/06/30", +%%% time = "11:24:39 EDT", +%%% author = "Michael J Downes and David M. Jones", +%%% address = "American Mathematical Society, +%%% Publications Technical Group, +%%% PO Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% email = "tech-support@ams.org", +%%% URL = "http://www.ams.org/", +%%% abstract = "A LaTeX package that permits bibliography style +%%% to be controlled completely from the LaTeX side +%%% instead of being determined chiefly by the BibTeX +%%% style file.", +%%% checksum = "09127 8030 25325 242081", +%%% docstring = "The checksum field, produced by Robert Solovay's +%%% checksum utility, gives CRC-16 checksum, lines, +%%% words, and characters.", +%%% } +%%% ==================================================================== +%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\def\amsrefs@warning@nl{\PackageWarningNoLine{amsrefs}} +\@ifpackagewith{amsrefs}{beta}{% + \amsrefs@warning@nl{The beta option is deprecated^^J% + and will be removed in a future release of amsrefs} + \expandafter\edef\csname opt@amsrbeta.sty\endcsname + {\@ptionlist{amsrefs.sty}}% + \def\@currname{amsrbeta}% + \expandafter\let\csname amsrbeta.sty-h@@k\endcsname\@empty + \def\@tempa{\input{amsrbeta.sty}\endinput}% +}{% + \let\@tempa\@empty +} +\@tempa +\IfFileExists{url.sty}{% + \RequirePackage{url}\relax + \@gobble +}{% + \@firstofone +} +{ + \DeclareRobustCommand{\url}[1]{% + \def\@tempa{#1}% + \texttt{\@urlsetup $\expandafter\strip@prefix\meaning\@tempa$}% + }% + \def\@urlsetup{% + \check@mathfonts \textfont\@ne\the\font \textfont\z@\the\font + \@apply\@urlfix{\do\+\do\=\do\:\do\-\do\.\do\,\do\;}% + \@apply\@urlbreak{\do\&\do\/\do\?}% + }% + \def\@urlbreak#1{% + \mathcode`#1="8000 + \begingroup \lccode`\~=`#1 \lowercase{\endgroup \edef~}% + {\mathchar\number`#1\penalty\hyphenpenalty}% + }% + \def\@urlfix#1{% + \mathcode`#1=`#1\relax + }% +} +\@ifundefined{NormalCatcodes}{\RequirePackage{pcatcode}\relax}{} +\PushCatcodes\NormalCatcodes +\ProvidesPackage{amsrefs}[2004/06/07 v1.71] +%% WARNING WARNING WARNING: Catcode of apostrophe ' is letter +%% throughout this file. +\catcode`\'=11 % letter +\def\after@deleting@token#1{% + \afterassignment#1% + \let\@let@token= % Don't delete this space! +} +\long\def\@ifempty#1{\@xifempty#1@@..\@nil} + +\long\def\@xifempty#1#2@#3#4#5\@nil{% + \ifx#3#4\@xp\@firstoftwo\else\@xp\@secondoftwo\fi +} + +\long\def\@ifnotempty#1{\@ifempty{#1}{}} +\def\macrotext{\expandafter\strip@prefix\meaning} +\def\vdef#1#2{% + \def#1{#2}% + \edef#1{\macrotext#1}% +} +\def\auto@protect#1{\def#1{\@nx#1}} +\def\g@undef#1{\global\let#1\relax} +\def\@concat#1#2{\edef#1{#1#2}} +\def\add@toks@{\addto@hook\toks@} +\def\@lappend#1#2{% + \begingroup + \def\do{\@nx\do\@nx}% + \edef\@tempa{\def\@nx#1{#1\do#2}}% + \@xp\endgroup + \@tempa +} +\def\@apply#1#2{% + \let\do#1% + #2% +} +\def\get@numberof#1#2#3{% + \begingroup + \def#2{\advance\@tempcnta\@ne \@gobble}% + \@tempcnta\z@ + #3\relax + \edef\@tempb{#1=\the\@tempcnta\relax}% + \@xp\endgroup + \@tempb +} +\def\safe@set#1#2{% + \afterassignment\@nilgobble + #1=0#2\relax\@nil +} +\def\@chomp#1#2{% + \begingroup + \toks@\@emptytoks + \def\@chomper##1##2#2\@empty##3\@nil{% + \ifx\@let@token\bgroup + \toks@{{##1}##2}% + \else + \toks@{##1##2}% + \fi + }% + \@xp\chomp@ #1\@empty#2\@empty\@nil + \edef\@tempa{\def\@nx#1\@xp{\the\toks@}}% + \@xp\endgroup + \@tempa +} +\def\chomp@{% + \futurelet\@let@token + \@chomper +} +\def\amsrefs@warning{\PackageWarning{amsrefs}} +\def\amsrefs@error{\PackageError{amsrefs}} +\def\MessageBreakNS{\MessageBreak\romannumeral`\^^@} +\@ifundefined{@addpunct}{% + \def\@addpunct#1{% + \relax\ifhmode + \ifnum\spacefactor>\@m \else#1\fi + \fi + } + \def\frenchspacing{% + \sfcode`\.1006 + \sfcode`\?1005 + \sfcode`\!1004 + \sfcode`\:1003 + \sfcode`\;1002 + \sfcode`\,1001\relax + } +}{} +\providecommand{\nopunct}{\spacefactor \@nopunctsfcode} +\def\@nopunctsfcode{1007 } +\RequirePackage{ifoption}[2000/02/15] +\DeclareExclusiveOptions{sorted,citation-order} +\DeclareExclusiveOptions{alphabetic,shortalphabetic,author-year,numeric} +\DeclareBooleanOption{y2k} +\DeclareBooleanOption{nobysame} +\DeclareBooleanOption{short-journals} +\DeclareBooleanOption{short-publishers} +\DeclareBooleanOption{short-months} +\DeclareBooleanOption{initials} +\DeclareOption{abbrev}{% + \@pass@ptions + \@currext + {initials,short-months,short-journals,short-publishers}% + \@currname +} +\DeclareExclusiveOptions{traditional-quotes,logical-quotes} +\DeclareExclusiveOptions{sorted-cites,non-sorted-cites} +\DeclareExclusiveOptions{non-compressed-cites,compressed-cites} +\DeclareBooleanOption{backrefs} +\DeclareBooleanOption{?} +\DeclareBooleanOption{lite} +\DeclareBooleanOption{beta} +\DeclareBooleanOption{jpa} +\DeclareBooleanOption{bibtex-style} +\ExecuteOptions{numeric,traditional-quotes,sorted-cites,compressed-cites} + +\ProcessOptions\relax + +\ProcessExclusiveOptions +\IfOption{backrefs}{% + \IfFileExists{hyperref.sty}{% + \RequirePackage{hyperref}[1999/07/08] + }{}% + \IfFileExists{backref.sty}{% + \RequirePackage{backref}[1999/05/30] + }{}% +}{} +\IfOption{?}{% + \typeout{^^J% + Documentation for the amsrefs package is found in amsrdoc.dvi^^J% + (or .pdf or .tex). + ^^J% + }% +}{}% +\RequirePackage{rkeyval}[2001/12/22] +\IfOption{lite}{% True? Then don't load the next two packages. +}{% False? OK, let's load them: + \RequirePackage{textcmds}[2001/12/14] + \RequirePackage{mathscinet}[2002/01/01] +} +\newcommand{\BibField}[1]{\csname bib'#1\endcsname} +\newcommand{\IfEmptyBibField}{\rkvIfEmpty{bib}} +\let\fld@elt=? +\let\name=? +\DefineAdditiveKey{bib}{author}{\name} +\DefineAdditiveKey{bib}{editor}{\name} +\DefineAdditiveKey{bib}{translator}{\name} +\DefineAdditiveKey{bib}{contribution}{\fld@elt} +\DefineAdditiveKey{bib}{isbn}{\fld@elt} +\DefineAdditiveKey{bib}{issn}{\fld@elt} +\DefineAdditiveKey{bib}{review}{\fld@elt} +\DefineAdditiveKey{bib}{partial}{\fld@elt} +\DefineSimpleKey{bib}{address} +\DefineSimpleKey{bib}{book} +\DefineSimpleKey{bib}{booktitle} +\DefineSimpleKey{bib}{conference} +\DefineSimpleKey{bib}{copula} +\DefineSimpleKey{bib}{date} +\DefineSimpleKey{bib}{doi} +\DefineSimpleKey{bib}{edition} +\DefineSimpleKey{bib}{eprint} +\DefineSimpleKey{bib}{fulljournal} +\DefineSimpleKey{bib}{hyphenation} +\DefineSimpleKey{bib}{institution} +\DefineSimpleKey{bib}{journal} +\DefineSimpleKey{bib}{label} +\DefineSimpleKey{bib}{language} +\DefineSimpleKey{bib}{name} +\DefineSimpleKey{bib}{note} +\DefineSimpleKey{bib}{number} +\DefineSimpleKey{bib}{organization} +\DefineSimpleKey{bib}{pages} +\DefineSimpleKey{bib}{part} +\DefineSimpleKey{bib}{place} +\DefineSimpleKey{bib}{publisher} +\DefineSimpleKey{bib}{reprint} +\DefineSimpleKey{bib}{school} +\DefineSimpleKey{bib}{series} +\DefineSimpleKey{bib}{setup} +\DefineSimpleKey{bib}{status} +\DefineSimpleKey{bib}{subtitle} +\DefineSimpleKey{bib}{title} +\DefineSimpleKey{bib}{translation} +\DefineSimpleKey{bib}{type} +\DefineSimpleKey{bib}{url} +\DefineSimpleKey{bib}{volume} +\DefineSimpleKey{bib}{xref} +\DefineSimpleKey{bib}{year} +\DefineDummyKey{bib}{transition} +\DefineSimpleKey{prop}{inverted} +\DefineSimpleKey{prop}{language} +\newcommand{\BibSpec}[2]{% + \toks@\@emptytoks + \@ifnotempty{#2}{% + \@ifnextchar{+}{\@xp\bibspec@scan\@gobble}{\bibspec@scan}% + #2\@empty\@empty\@empty\@empty + }% + \@xp\edef\csname setbib@#1\endcsname{\the\toks@}% +} +\def\bibspec@scan#1#2#3#4{% + \add@toks@{\bib@append{#1}{#2}}% + \edef\@tempa{% + \toks@{\the\toks@ \@xp\@nx\csname bib'#3\endcsname}% + }% + \@tempa + \ifx\@empty#4% + \@xp\@gobble % end the recursion + \else + \ifx +#4\else\bibspec@scan@error\fi + \fi + \bibspec@scan +} +\def\bibspec@scan@error{\amsrefs@error{Bad BibSpec: Expected '+'}} +\def\bib@append#1#2#3{% + \ifx\@empty#3% + \else + \ifx\relax#3% + \errmessage{#3=\relax}% + \else + \begingroup + \series@index\m@ne + \def\current@bibfield{#3}% + \@ifempty{#1}{% + \@temptokena{\ifnum\lastkern=\@ne\ignorespaces\fi #2}% + }{% + \@temptokena{\SwapBreak{#1}#2}% + }% + \toks@\@xp{#3}% + \edef\@tempa{\the\@temptokena{\the\toks@}}% + \rkvIfAdditive#3{}{% + \get@current@properties + \select@auxlanguage + }% + \@tempa + \endgroup + \fi + \fi +} +\def\select@auxlanguage{% + \ifx\prop'language\@empty + \else + \@xp\selectlanguage\@xp{\prop'language}% + \fi +} +\def\erase@field#1{% + \aftergroup\let\aftergroup#1\aftergroup\@empty +} +\def\get@current@properties{% + \begingroup + \@xp\get@nth@property\@xp\@tempa\current@bibfield\series@index + \edef\@tempa{% + \@nx\RestrictedSetKeys{}{prop}{% + \def\@nx\@tempa{\@nx\prop@reset \@nx\the\@nx\rsk@toks}% + }{\@tempa}% + }% + \@tempa + \@xp\endgroup + \@tempa +} +\newcommand{\BibSpecAlias}[2]{% + \@xp\def\@xp\@tempa\@xp{\csname setbib@#1\@xp\endcsname}% + \@xp\ifx\csname setbib@#2\endcsname\@tempa + \amsrefs@error{% + Mirror alias #1->#2 not allowed (infinite loop)}\@ehc + \else + \@xp\def\csname setbib@#1\@xp\endcsname + \@xp{\csname setbib@#2\endcsname}% + \fi +} +\BibSpec{article}{% + +{} {\PrintAuthors} {author} + +{,} { \textit} {title} + +{.} { } {part} + +{:} { \textit} {subtitle} + +{,} { \PrintContributions} {contribution} + +{.} { \PrintPartials} {partial} + +{,} { } {journal} + +{} { \textbf} {volume} + +{} { \PrintDatePV} {date} + +{,} { \issuetext} {number} + +{,} { \eprintpages} {pages} + +{,} { } {status} + +{,} { \PrintDOI} {doi} + +{,} { available at \eprint} {eprint} + +{} { \parenthesize} {language} + +{} { \PrintTranslation} {translation} + +{;} { \PrintReprint} {reprint} + +{.} { } {note} + +{.} {} {transition} + +{} {\SentenceSpace \PrintReviews} {review} +} + +\BibSpec{partial}{% + +{} {} {part} + +{:} { \textit} {subtitle} + +{,} { \PrintContributions} {contribution} + +{,} { } {journal} + +{} { \textbf} {volume} + +{} { \PrintDatePV} {date} + +{,} { \issuetext} {number} + +{,} { \eprintpages} {pages} +} + +\BibSpec{contribution}{% + +{} {} {type} + +{} { by \PrintNameList} {author} +} + +\BibSpec{book}{% + +{} {\PrintPrimary} {transition} + +{,} { \textit} {title} + +{.} { } {part} + +{:} { \textit} {subtitle} + +{,} { \PrintEdition} {edition} + +{} { \PrintEditorsB} {editor} + +{,} { \PrintTranslatorsC} {translator} + +{,} { \PrintContributions} {contribution} + +{,} { } {series} + +{,} { \voltext} {volume} + +{,} { } {publisher} + +{,} { } {organization} + +{,} { } {address} + +{,} { \PrintDateB} {date} + +{,} { } {status} + +{} { \parenthesize} {language} + +{} { \PrintTranslation} {translation} + +{;} { \PrintReprint} {reprint} + +{.} { } {note} + +{.} {} {transition} + +{} {\SentenceSpace \PrintReviews} {review} +} + +\BibSpec{collection.article}{% + +{} {\PrintAuthors} {author} + +{,} { \textit} {title} + +{.} { } {part} + +{:} { \textit} {subtitle} + +{,} { \PrintContributions} {contribution} + +{,} { \PrintConference} {conference} + +{} {\PrintBook} {book} + +{,} { } {booktitle} + +{,} { \PrintDateB} {date} + +{,} { pp.~} {pages} + +{,} { } {status} + +{,} { \PrintDOI} {doi} + +{,} { available at \eprint} {eprint} + +{} { \parenthesize} {language} + +{} { \PrintTranslation} {translation} + +{;} { \PrintReprint} {reprint} + +{.} { } {note} + +{.} {} {transition} + +{} {\SentenceSpace \PrintReviews} {review} +} + +\BibSpec{conference}{% + +{} {} {title} + +{} {\PrintConferenceDetails} {transition} +} + +\BibSpec{innerbook}{% + +{,} { } {title} + +{.} { } {part} + +{:} { } {subtitle} + +{,} { \PrintEdition} {edition} + +{} { \PrintEditorsB} {editor} + +{,} { \PrintTranslatorsC} {translator} + +{,} { \PrintContributions} {contribution} + +{,} { } {series} + +{,} { \voltext} {volume} + +{,} { } {publisher} + +{,} { } {organization} + +{,} { } {address} + +{,} { \PrintDateB} {date} + +{.} { } {note} +} + +\BibSpec{report}{% + +{} {\PrintPrimary} {transition} + +{,} { \textit} {title} + +{.} { } {part} + +{:} { \textit} {subtitle} + +{,} { \PrintEdition} {edition} + +{,} { \PrintContributions} {contribution} + +{,} { Technical Report } {number} + +{,} { } {series} + +{,} { } {organization} + +{,} { } {address} + +{,} { \PrintDateB} {date} + +{,} { \eprint} {eprint} + +{,} { } {status} + +{} { \parenthesize} {language} + +{} { \PrintTranslation} {translation} + +{;} { \PrintReprint} {reprint} + +{.} { } {note} + +{.} {} {transition} + +{} {\SentenceSpace \PrintReviews} {review} +} + +\BibSpec{thesis}{% + +{} {\PrintAuthors} {author} + +{,} { \textit} {title} + +{:} { \textit} {subtitle} + +{,} { \PrintThesisType} {type} + +{,} { } {organization} + +{,} { } {address} + +{,} { \PrintDateB} {date} + +{,} { \eprint} {eprint} + +{,} { } {status} + +{} { \parenthesize} {language} + +{} { \PrintTranslation} {translation} + +{;} { \PrintReprint} {reprint} + +{.} { } {note} + +{.} {} {transition} + +{} {\SentenceSpace \PrintReviews} {review} +} +\BibSpecAlias{periodical}{book} +\BibSpecAlias{collection}{book} +\BibSpecAlias{proceedings}{book} +\BibSpecAlias{manual}{book} +\BibSpecAlias{miscellaneous}{book} +\BibSpecAlias{misc}{miscellaneous} +\BibSpecAlias{unpublished}{book} +\BibSpecAlias{proceedings.article}{collection.article} +\BibSpecAlias{techreport}{report} +\edef\setbib@incollection{% + \@xp\@nx\csname setbib@collection.article\endcsname +} +\edef\setbib@inproceedings{% + \@xp\@nx\csname setbib@collection.article\endcsname +} +\BibSpec{name}{% + +{} {\PrintAuthors} {name} +} + +\BibSpec{publisher}{% + +{,} { } {publisher} + +{,} { } {address} +} +\newcounter{bib} +\newenvironment{biblist}{% + \setcounter{bib}\z@ + \@biblist +}{% + \@endbiblist +} +\newenvironment{biblist*}{% + \@biblist +}{% + \@endbiblist +} +\newcommand\@biblist[1][]{% + \stepcounter{bib@env} + \normalfont + \footnotesize + \labelsep .5em\relax + \list{\BibLabel}{% + \restore@labelwidth + \@maxlabelwidth\z@ + \@nmbrlisttrue + \def\@listctr{bib}% + \let\makelabel\bib@mklab + #1\relax + }% + \sloppy + \interlinepenalty\@m + \clubpenalty\@M + \widowpenalty\clubpenalty + \frenchspacing + \ResetCapSFCodes +} +\def\@endbiblist{% + \save@labelwidth + \def\@noitemerr{\@latex@warning{Empty bibliography list}}% + \endlist +} +\newdimen\@maxlabelwidth +\def\bib@mklab#1{% + \settowidth\@tempdima{#1}% + \ifdim \@tempdima > \@maxlabelwidth + \global\@maxlabelwidth\@tempdima + \fi + #1\hfil +} +\newcounter{bib@env} +\def\save@labelwidth{% + \if@filesw + \immediate\write\@auxout{% + \string\newlabel{[bibenv:\the\c@bib@env]}{\the\@maxlabelwidth}% + }% + \fi +} +\def\restore@labelwidth{% + \@xp\ifx \csname r@[bibenv:\the\c@bib@env]\endcsname \relax + \resetbiblist{00}% + \else + \@xp\labelwidth\csname r@[bibenv:\the\c@bib@env]\endcsname + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \fi +} +\providecommand{\ResetCapSFCodes}{% + \count@=`\A + \def\@tempa{% + \sfcode\count@=\@m + \advance\count@\@ne + \ifnum\count@>`\Z\relax \expandafter\@gobble \fi + \@tempa + }% + \@tempa +} +\def\CurrentBib{??} +\newcommand{\BibLabel}{% + [\hyper@anchorstart{cite.\CurrentBib}\relax\thebib\hyper@anchorend]% +} +\newcommand{\resetbiblist}[1]{% + \settowidth\labelwidth{\def\thebib{#1}\BibLabel}% + \leftmargin\labelwidth + \ifdim\labelwidth=\z@ + \leftmargin=1em + \itemindent=-\leftmargin + \else + \advance\leftmargin\labelsep + \fi +} +\newcommand{\bib}{% + \begingroup + \@ifstar{% + \@tempswatrue + \let\@bibdef\star@bibdef + \BibItem + }{% + \@tempswafalse + \BibItem + }% +} +\newcommand{\BibItem}[2]{% + \def\@tempa{#1}% + \edef\@tempb{% + \@nx\@bibdef\@xp\@nx\csname setbib@#2\endcsname{#2}% + {\macrotext\@tempa}% + }% + \@tempb +} +\AtBeginDocument{\let\@bibdef\normal@bibdef} +\AtBeginDocument{\let\bib@exec\bib@print} +\def\normal@bibdef#1#2#3{% + \def\CurrentBibType{#2}% + \ifx\relax#1% + \amsrefs@error{Undefined entry type: #2}\@ehc + \let#1\setbib@misc + \fi + \RestrictedSetKeys{}{bib}% + {\bib@exec{#3}{\the\rsk@toks}{#1}\endgroup}% +} + +\let\@bibdef\normal@bibdef +\def\star@bibdef{% + \let\bib@exec\bib@store + \normal@bibdef +} +\def\copy@bibdef{% + \if@tempswa + \@xp\defer@bibdef + \else + \@xp\copy@bibdef@a + \fi +} +\def\copy@bibdef@a#1#2#3#4{% + \@open@bbl@file + \process@xrefs{#4}% + \bbl@write{% + \string\bib\if@tempswa*\fi{#3}{#2}\string{\iffalse}\fi + }% + \RestrictedSetKeys{\global\let\rsk@set\bbl@copy}\@empty + {\bbl@write{\iffalse{\fi\string}^^J}% + \endgroup}{#4}% +} +\catcode`\:=11 + +\def\modify@xref@fields{% + \let\set:bib'author\output@xref@a + \let\set:bib'editor\output@xref@a + \let\set:bib'translator\output@xref@a + \let\set:bib'journal\output@xref@a + \let\set:bib'publisher\output@xref@a + \def\set:bib'xref##1##2{\output@xref@{##1}\@empty}% +} + +\catcode`\:=12 + +\def\process@xrefs#1{% + \begingroup + \RestrictedSetKeys{\modify@xref@fields}{bib}{\the\rsk@toks}{#1}% + \endgroup +} + +\def\output@xref@a#1#2{% + \def\@tempa{#1}% + \lowercase{\def\@tempb{#1}}% + \ifx\@tempa\@tempb + \output@xref@{#1}% + \fi +} + +\def\output@xref@#1{% + \@ifnotempty{#1}{% + \@ifundefined{bi@#1}{}{% + \begingroup + \let\star@bibdef\copy@bibdef@a + \csname bi@#1\endcsname + \endgroup + }% + \@xp\g@undef\csname bi@#1\endcsname + }% +} +\def\bbl@copy#1\endcsname#2{% + \begingroup + \def\@tempa{#1}% + \toks@{{#2}}% + \star@{\bbl@copy@a}{}% +} +\def\bbl@copy@a#1{% + \@ifnotempty{#1}{% + \add@toks@{*{#1}}% + }% + \bbl@write{ \space\@tempa=\the\toks@,}% + \endgroup + \rsk@resume +} +\def\selective@bibdef#1#2#3{% + \@xp\selbibdef@a\csname b@#3\endcsname{#1}{#2}{#3}% +} +\def\selbibdef@a#1{% + \def\@tempa{\endgroup\@gobblefour}% + \ifx\relax#1\else \@xp\selbibdef@b#1\@nil \fi + \@tempa +} +\def\selbibdef@b#1#2#3\@nil{% + \ifx 1#2\let\@tempa\copy@bibdef\fi +} +\def\defer@bibdef#1#2#3#4{% + \@xp\gdef\csname bi@#3\endcsname{% + \bib*{#3}{#2}{#4}% + }% + \@xp\addto@defer@list \csname bi@#3\endcsname + \endgroup +} +\let\bibdefer@list\@empty +\def\addto@defer@list#1{% + \begingroup + \def\do{\@nx\do\@nx}% + \xdef\bibdefer@list{\bibdefer@list\do#1}% + \endgroup +} +\def\bib@store#1{% + \afterassignment\@gobble + \@xp\xdef\csname bi@#1\endcsname +} +\def\numeric@refs{00} +\def\bib@print#1#2#3{% + \bib@start{#1}% + \let\setbib@@#3% + #2\relax % execute definitions locally + \bib@resolve@xrefs + \bib@field@patches + \bib@selectlanguage + \generate@label + \bib'setup + \bib@cite{#1}% + \kern\@ne sp + \ifx\setbib@@\setbib@article + \ifx\bib'booktitle\@empty + \ifx\bib'book\@empty + \ifx\bib'conference\@empty + \else + \let\setbib@@\setbib@incollection + \fi + \else + \let\setbib@@\setbib@incollection + \fi + \else + \let\setbib@@\setbib@incollection + \fi + \fi + \setbib@@ + \bib@end +} +\def\bib@print@inner#1#2{% + \begingroup + #2\relax % execute definitions locally + \bib@field@patches + \bib'setup + #1% + \endgroup +} +\let\current@citekey\@empty +\let\prev@citekey\@empty +\def\bib@start#1{% + \begingroup + \def\current@citekey{#1}% +} +\def\bib@end{% + \relax + \@xp\PrintBackRefs\@xp{\CurrentBib}% + \par + \save@primary + \global\let\prev@citekey\current@citekey + \endgroup +} +\def\bib@resolve@xrefs{% + \xref@check@c\bib'xref + \xref@check@a\bib'author + \xref@check@a\bib'editor + \xref@check@a\bib'translator + \xref@check@b\bib'journal + \xref@check@b\bib'publisher +} +\def\xref@check@a#1{% + \ifx\@empty#1\relax + \else + \begingroup + \toks@\@emptytoks + \@temptokenb\@emptytoks + \series@index\z@ + \def\name{\xref@check@aa#1}% + #1\relax + \edef\@tempa{% + \def\@nx#1{\the\toks@}% + \the\@temptokenb + }% + \@xp\endgroup + \@tempa + \fi +} +\def\xref@check@aa#1#2{% + \advance\series@index\@ne + \def\@tempa{#2}% + \lowercase{\def\@tempb{#2}}% + \ifx\@tempa\@tempb + \ifx\@tempa\@empty + \add@toks@{\name{}}% + \else + \@ifundefined{bi@#2}{% + \BibAbbrevWarning{#2}% + \add@toks@{\name{#2}}% + }{% + \xref@check@ab#1{#2}% + }% + \fi + \else + \add@toks@{\name{#2}}% + \fi +} +\def\xref@check@ab#1#2{% + \csname bi@#2\endcsname + \ifx\@empty\bib'name + \@temptokena{#2}% + \else + \@temptokena\@xp{\bib'name}% + \get@property\@tempa\bib'name + \edef\@tempa{% + \@nx\addto@hook\@temptokenb{% + \@nx\reset@nth@property\@nx#1\the\series@index{\@tempa}% + }% + }% + \@tempa + \fi + \edef\@tempa{\@nx\add@toks@{\@nx\name{\the\@temptokena}}}% + \@tempa +} +\def\xref@check@b#1{% + \ifx\@empty#1% + \else + \toks@\@xp{#1}% + \edef\@tempb{\lowercase{\def\@nx\@tempa{\the\toks@}}}% + \@tempb + \ifx\@tempa#1\relax % all lowercase + \@ifundefined{bi@#1}{% + \BibAbbrevWarning{#1}% + }{% + \let#1\@empty + \xref@check@c\@tempa + }% + \fi + \fi +} +\def\xref@check@c#1{% + \ifx#1\@empty + \else + \begingroup + \let\DSK@def\xref@add@toks + \let\DSK@append\xref@append + \toks@\@emptytoks + \let\bib@reset\@empty + \@for\xref@ID:=#1\do{% + \@ifundefined{bi@\xref@ID}{% + \XRefWarning{\xref@ID}% + }{% + \csname bi@\xref@ID\endcsname + }% + }% + \edef\@tempa{\endgroup\the\toks@}% + \@tempa + \fi +} +\def\xref@add@toks#1#2#3{% + \ifx#1\@empty + \edef\@tempa{% + \@nx\add@toks@{\@xp\@nx\csname\rkv@setter#1\endcsname{#2}{#3}}% + }% + \@tempa + \else + \in@\bib'title{#1}% + \ifin@ + \ifx\bib'booktitle\@empty + \edef\@tempa{% + \@nx\add@toks@{% + \@xp\@nx\csname set:bib'booktitle\endcsname + }% + }% + \@tempa + \add@toks@{{#2}{#3}}% + \fi + \fi + \fi +} +\def\xref@append#1#2#3#4{% + \edef\@tempa{% + \@nx\add@toks@{\@xp\@nx\csname\rkv@setter#2\endcsname{#3}{#4}}% + }% + \@tempa +} +\def\BibAbbrevWarning#1{\amsrefs@warning{Abbreviation '#1' undefined}} +\def\XRefWarning#1{\amsrefs@warning{Xref '#1' undefined}} +\let\current@primary\@empty +\let\previous@primary\@empty +\IfOption{nobysame}{% + \let\save@primary\@empty +}{% + \def\save@primary{% + \global\let\previous@primary\current@primary + }% +} +\def\bib@field@patches{% + \ifx\bib'author\@empty + \ifx\bib'editor\@empty + \let\current@primary\bib'translator + \let\print@primary\PrintTranslatorsA + \else + \let\current@primary\bib'editor + \let\print@primary\PrintEditorsA + \fi + \else + \let\current@primary\bib'author + \let\print@primary\PrintAuthors + \fi + \ifx\bib'address\@empty + \let\bib'address\bib'place + \fi + \ifx\bib'organization\@empty + \ifx\bib'institution\@empty + \let\bib'organization\bib'school + \else + \let\bib'organization\bib'institution + \fi + \fi + \ifx\bib'date\@empty + \ifx\bib'year\@empty + \let\bib@year\bib'status + \else + \bib@parsedate\bib'year + \fi + \else + \bib@parsedate\bib'date + \fi + \def\@tempa{year}% + \ifx\bib'volume\@tempa + \let\bib'volume\bib@year + \let\bib'date\@empty + \fi + \bib@language@fixup +} +\let\bib@year\@empty +\let\bib@month\@empty +\let\bib@day\@empty +\def\bib@parsedate#1{% + \@xp\bib@parsedate@a#1---\@nil +} +\def\bib@parsedate@a#1-#2-#3-#4\@nil{% + \def\bib@year{#1}% + \def\bib@month{#2}% + \def\bib@day{#3}% + \ifx\@empty\bib@day + \ifx\@empty\bib@month + \let\bib'date\bib@year + \else + \def\bib'date{#1-#2}% + \fi + \else + \def\bib'date{#1-#2-#3}% + \fi +} +\def\bib@language@fixup{% + \ifx\bib'hyphenation\@empty + \ifx\bib'language\@empty + \let\bib@language\biblanguagedefault + \else + \let\bib@language\bib'language + \fi + \else + \let\bib@language\bib'hyphenation + \fi + \def\@tempa##1 ##2\@nil{\lowercase{\def\bib@language{##1}}}% + \@firstofone{\@xp\@tempa\bib@language} \@nil +} +\def\bib@selectlanguage{% + \@ifsame@patterns{\languagename}{\bib@language}{}{% + \@ifundefined{date\bib@language}{}{% + \@xp\selectlanguage\@xp{\bib@language}% + }% + }% +} +\def\@ifsame@patterns#1#2{% + \@xp\@ifsamepat\csname l@#1\@xp\endcsname\csname l@#2\endcsname +} +\def\@ifsamepat#1#2{% + \ifnum \ifx\relax#1\m@ne\else#1\fi = \ifx\relax#2\m@ne\else#2\fi + \@xp\@firstoftwo + \else + \@xp\@secondoftwo + \fi +} +\providecommand{\languagename}{english} +\def\biblanguageEnglish{english} +\let\biblanguagedefault\biblanguageEnglish +\let\bib@language\@empty +\let\generate@label\relax +\def\cite@label{\@currentlabel} +\let\alpha@label\relax +\def\bib@cite#1{% + \def\CurrentBib{#1}% + \alpha@label % modify \thebib if necessary + \item\leavevmode + \SK@\SK@@label{#1}% + \@xp\bib@cite@a\csname b@#1\endcsname + \bibcite@write{#1}% +} +\def\bib@cite@a#1{% + \ifx\relax#1% + \begingroup + \auto@protect\etaltext + \protected@edef\@tempa{% + \gdef\@nx#1{% + \@nx\citesel 01{\cite@label}{\bib@label@year}{}% + }% + }% + \@xp\endgroup + \@tempa + \else + \@xp\bib@cite@check\@xp#1#1\@empty\@empty\@empty\@empty\@empty + \fi +} +\def\bib@cite@check#1#2#3#4#5#6#7{% + \ifx 1#4\relax + \DuplicateBibKeyWarning + \else + \begingroup + \auto@protect\etaltext + \@apply\auto@protect\amsrefs@textsymbols + \@apply\auto@protect\amsrefs@textaccents + \@tempswafalse + \in@\CitePrintUndefined{#5}% + \ifin@ + \let\@tempa\@empty + \else + \def\@tempa{#5}% + \fi + \ifx\@tempa\@empty + \else + \@xp\ifx\@xp\@currentlabel\cite@label + \edef\@tempb{\cite@label}% + \else + \let\@tempb\cite@label + \fi + \ifx\@tempa\@tempb + \def\@tempa{#6}% + \ifx\@tempa\bib@label@year + \else + \@tempswatrue + \fi + \else + \@tempswatrue + \fi + \fi + \if@tempswa + \@ifempty{#6}{% + \def\@tempa{#5}% + \let\@tempb\cite@label + }{% + \def\@tempa{#5, #6}% + \def\@tempb{\cite@label, \bib@label@year}% + }% + \amsrefs@warning{Citation label for \extr@cite#1 is + changing from `\@tempa ' to `\@tempb '}% + \fi + \protected@edef\@tempa{% + \gdef\@nx#1{% + \@nx\citesel #31{\cite@label}{\bib@label@year}{#7}% + }% + }% + \@xp\endgroup + \@tempa + \fi +} +\let\bib@label@year\@empty +\def\DuplicateBibKeyWarning{% + \amsrefs@warning{% + Duplicate \protect\bib\space key + `\CurrentBib ' detected\MessageBreakNS}% +} +\def\bibcite@write#1{% + \if@filesw + \let\citesel\citesel@write + \csname b@#1\endcsname + \fi +} +\def\citesel@write#1#2#3#4#5{% + \begingroup + \toks@{{#3}{#4}}% + \immediate\write\@auxout{\string\bibcite{\CurrentBib}{\the\toks@}}% + \endgroup +} +\AtEndDocument{\let\bibcite\@gobbletwo} +\providecommand{\bibname}{Bibliography} +\providecommand{\refname}{References} +\newenvironment{bibchapter}[1][\bibname]{% + \begingroup + \protected@edef\@{\endgroup\protect\chapter*{#1}}% + \@ +}{\par} +\newenvironment{bibsection}[1][\refname]{% + \begingroup + \protected@edef\@{\endgroup\protect\section*{#1}}% + \@ +}{\par} +\@ifundefined{chapter}{% + \newenvironment{bibdiv}{\bibsection}{\endbibsection} +}{% + \newenvironment{bibdiv}{\bibchapter}{\endbibchapter} +} +\renewenvironment{thebibliography}[1]{% + \bibdiv + \biblist[\resetbiblist{#1}]% +}{% + \endbiblist + \endbibdiv +} +\newcommand{\DefineName}[2]{% + \bib*{#1}{name}{name={#2}}% +} +\newcommand{\DefineJournal}[4]{% + \bib*{#1}{periodical}{ + issn={#2}, + journal={#4} + }% +} +\newcommand{\DefinePublisher}[4]{% + \bib*{#1}{publisher}{% + publisher={#3}, + address={#4} + }% +} +\newcommand{\bibselect}{% + \@ifstar{% + \let\@bibdef\copy@bibdef + \BibSelect + }{% + \let\@bibdef\selective@bibdef + \BibSelect + }% +} +\newcommand{\BibSelect}[2][\bblname]{% + \if@filesw + \typeout{Trying to create bbl file `#1.bbl' ...}% + \def\bibselect@msg{% + \typeout{ ... rats. Unable to create bbl file.}% + }% + \let\@open@bbl@file\OpenBBLFile + \@for\@tempa:=#2\do{\ReadBibData{\@tempa}}% + \fi + \@close@bbl@file + \@apply\g@undef\bibdefer@list + \global\let\bibdefer@list\@empty + \let\@bibdef\normal@bibdef + \@input@{#1.bbl}% + \let\BibSelect\MultipleBibSelectWarning +} +\newcommand\MultipleBibSelectWarning[2][]{% + \amsrefs@warning{% + Multiple \string\bibselect 's found (only one + \string\bibselect\space per biblist environment is allowed)% + }% +} +\def\bblname{\jobname} +\newread\bib@dbfile +\newcommand{\ReadBibData}[1]{% + \IfFileExists{#1.ltb}{% + \openin\bib@dbfile=\@filef@und \relax + }{% + \IfFileExists{#1.ltx}{% + \openin\bib@dbfile=\@filef@und \relax + }{% + \IfFileExists{#1.tex}{% + \openin\bib@dbfile=\@filef@und \relax + }{% + \begingroup + \NoBibDBFile{#1}% + \let\ReadBibData@a\endgroup + }% + }% + }% + \ReadBibData@a +} +\def\NoBibDBFile#1{% + \amsrefs@warning{No data file #1.ltb (.ltx, .tex) found}% +} +\def\ReadBibData@a{% + \ProvidesFile{\@filef@und}\relax + \begingroup + \let\star@bibdef\defer@bibdef + \ReadBibLoop + \endgroup + \closein\bib@dbfile +} +\def\ReadBibLoop{% + \ifeof\bib@dbfile + \@xp\@gobble + \else + \read\bib@dbfile to\CurLine + \@xp\ReadBibLoop@a\CurLine\@empty\@nil + \fi + \ReadBibLoop +} +\long\def\ReadBibLoop@a#1#2\@nil{% + \ifx\bib#1% + \CurLine % just exec it + \else + \ifx\endinput#1% + \let\ReadBibLoop\@empty + \else + \@xp\ReadBibLoop@b#1#2\@empty\@nil + \fi + \fi +} +\long\def\ReadBibLoop@b#1#2\@nil{% + \ifx\bib#1% + \CurLine % just exec it + \fi +} +\let\bbl@out=\relax +\let\bbl@write\@gobble +\let\@open@bbl@file\relax +\let\@close@bbl@file\relax +\def\OpenBBLFile{% + \if@filesw + % Just use the next unused output stream + \count@\count17 + \advance\count@\@ne + \ifnum\count@<\sixt@@n + \global\chardef\bbl@out=\count@ + \immediate\openout\bbl@out=\bblname.bbl\relax + \global\let\@close@bbl@file\CloseBBLFile + \gdef\bbl@write{\immediate\write\bbl@out}% + \else + \ch@ck\count@\sixt@@n\write + \fi + \fi + \global\let\@open@bbl@file\relax +} +\def\CloseBBLFile{% + \immediate\closeout\bbl@out\relax + \global\let\@close@bbl@file\relax + \global\let\bbl@write\@gobble + \global\let\bbl@out\relax +} +\def\citesel@update#1#2#3#4#5#6{% + \gdef#6{\citesel 1#2{#3}{#4}{#5}}% +} +\def\citesel@number#1#2#3#4#5{#3} +\def\citesel@year#1#2#3#4#5{#4} +\let\citesel\citesel@number +\expandafter\let\csname cite \endcsname\relax +\renewcommand{\cite}[2][]{% + \if\cite@single#2,\@gobble \else\MultipleCiteKeyWarning{#2}{#1}\fi + \@ifempty{#1}{% + \cites@o{#2}% + }{% + \ObsoleteCiteOptionWarning + \cites@a{*{#1}}{#2}% + }% +} +\def\MultipleCiteKeyWarning#1#2{% + \amsrefs@warning{% + Use of \string\cites\space is recommended instead of % + \string\cite\space\MessageBreak + for multiple cites '#1'}% + \@ifnotempty{#2}{% + \amsrefs@warning{Star option requires \string\citelist\space here}% + }% + \global\let\MultipleCiteKeyWarning\@gobbletwo +} +\def\ObsoleteCiteOptionWarning{% + \amsrefs@warning{% + The form \string\cite{...}*{...} is recommended\MessageBreak + instead of \string\cite[...]{...}}% + \global\let\ObsoleteCiteOptionWarning\@empty +} +\edef\cite@single#1,#2{\iffalse{\fi\iffalse{\fi\string}#2.\string}} +\def\cites@o#1{\star@{\cites@oo{#1}}{}} +\def\cites@oo#1#2{\@ifempty{#2}{\cites@a{}{#1}}{\cites@a{*{#2}}{#1}}} +\def\cites@a#1#2{% + \begingroup + \toks@{\endgroup \cites@b{#1}}% + \vdef\@tempa{#2}% + \edef\@tempa{% + \the\toks@ \@firstofone{\@xp\zap@space\@tempa} \@empty + }% + \@tempa,\@empty + \edef\@tempa{\endgroup\@nx\citelist{\the\toks@}}% + \@tempa +} +\def\cites@b#1#2,#3{% + \begingroup + \toks@{\InnerCite{#2}#1}% + \ifx\@empty#3\@xp\@gobble\fi + \cites@c#3% +} +\def\cites@c#1,#2{% + \add@toks@{\InnerCite{#1}}% + \ifx\@empty#2\@xp\@gobble\fi + \cites@c#2% +} +\def\citeleft{[} +\def\citeright{]} +\def\citemid{,\penalty9999 \space} +\def\citepunct{,\penalty9999 \hskip.13em plus.1em minus.05em\relax} +\def\citeAltPunct{;\ } +\providecommand{\citeform}{\@firstofone} +\DeclareRobustCommand{\citelist}{\@citelist} +\def\@citelist#1{% + \leavevmode + \begingroup + \@citestyle + \citeleft\nopunct % suppress first \citepunct + \cite@begingroup + \in@*{#1}% + \ifin@ + \let\citepunct\citeAltPunct + \fi + \let\cite@endgroup\@empty + \cites@init + \def\citeleft{\@addpunct{\citepunct}}% + \let\citeright\ignorespaces + \def\cite{\InnerCite}% + \process@citelist{#1}% + \endgroup + \citeright + \endgroup +} +\providecommand{\@citestyle}{\m@th\upshape\mdseries} +\def\cite@begingroup{\begingroup\let\cite@begingroup\relax} +\let\cite@endgroup\endgroup +\def\cites@init{% + \gdef\prev@names{???}% + \let\cites@init\@empty +} +\newcommand{\InnerCite}[1]{\star@{\cite@a\citesel{#1}}{}} +\def\cite@a#1#2{% + \BackCite{#2}% + \cite@begingroup + \cites@init + \let\citesel#1\relax + \ifx\citesel\citesel@author + \let\citeleft\@empty + \let\citeright\@empty + \fi + \begingroup + \toks@{\endgroup \cite@b}% + \vdef\@tempa{#2}% + \edef\@tempa{% + \the\toks@{\@firstofone{\@xp\zap@space\@tempa} \@empty}% + }% + \@tempa +} +\def\cite@b#1#2{% + \@xp\cite@bc\csname b@#1\@xp\endcsname {#1}{#2}% +} +\def\cite@bc#1#2{% + \ifx#1\@@undefined \global\let#1\relax \fi + \ifx#1\relax \global\let#1\empty@cite \fi + \@xp\cite@nobib@test#1{}{}{}{}\@nil#1% + \cite@cj#1% +} +\def\empty@cite{\citesel 00{}{}{}} +\def\cite@nobib@test#1#2#3#4#5\@nil#6{% + \@ifempty{#4}{% + \G@refundefinedtrue + \UndefinedCiteWarning#6% + \xdef#6{\@nx\citesel #2#3{% + \@nx\CitePrintUndefined{\extr@cite#6}}{}{}}% + }{}% +} +\def\UndefinedCiteWarning#1{% + \@latex@warning{% + Citation `\extr@cite#1' on page \thepage\space undefined}% +} +\DeclareRobustCommand{\CitePrintUndefined}[1]{% + \begingroup\fontshape{n}\fontseries\mddefault \ttfamily ?#1\endgroup +} +\let\CPU@normal\CitePrintUndefined +\def\cite@cj#1#2{% + \leavevmode + \begingroup + \cite@cb#1% write info to aux file + \ar@SK@cite#1% + \@citeleft + \ar@hyperlink{#1}% + \@ifnotempty{#2}{\citemid{#2}}% + \citeright + \endgroup + \ignorespaces % ignore spaces inside \citelist + \cite@endgroup +} +\def\@citeleft{\citeleft} +\def\cite@cb#1{% + \if@filesw + \immediate\write\@auxout{\string\citation{\extr@cite#1}}% + \fi + \begingroup + \let\citesel\citesel@update + #1#1% + \endgroup +} +\def\extr@cite{\@xp\@gobblethree\string} +\DeclareRobustCommand{\cites}{\cites@a{}} +\providecommand{\citen}{\ocite} +\def\ycite{\cite} +\let\ycites\cites +\let\ocite\ycite +\let\ocites\cites +\let\fullcite\cite +\let\fullocite\ocite +\let\citeauthor\ycite +\let\citeauthory\ycite +\renewcommand{\nocite}[1]{\othercites{#1}} +\newcommand{\othercites}[1]{% + \cite@begingroup + \let\cite@endgroup\@empty + \def\citelist{\othercitelist}% + \cites{#1}% +} +\newcommand{\othercitelist}[1]{% + \cite@begingroup + \let\cite@endgroup\@empty + \cites@init + \let\citeleft\relax + \let\citeright\ignorespaces + \def\InnerCite{\OtherCite}% + \def\cite@cj ##1##2{% + \begingroup + \@xp\citesel##1% + \cite@cb ##1% + \endgroup + \@xp\ifx\csname b@*\endcsname ##1% + \global\let\selective@bibdef\copy@bibdef + \fi + \ignorespaces + \cite@endgroup + }% + #1\relax + \endgroup +} +\def\OtherCite#1{\cite@a\citesel@other{#1}{}{}} +\def\citesel@other#1#2#3#4#5#6{} +\@namedef{b@*}{\citesel 11{*}{*}{*}} +\def\process@citelist@sorted#1{% + \ifx\citesel\citesel@number + \cite@sorted@s #1\cite@sorted@e + \else + \NonNumericCiteWarning + \process@citelist@unsorted{#1}% + \fi +} +\def\NonNumericCiteWarning{% + \amsrefs@warning{% + Unable to confirm that cite keys are numeric: not sorting% + }% +} +\def\process@citelist@unsorted#1{% + \ignorespaces#1\relax +} +\let\process@citelist\process@citelist@sorted +\def\CPU@sort#1{2147483647} +\def\cite@sorted@s{% + \begingroup + \let\CitePrintUndefined\CPU@sort + \let\cite@cjs\cite@cj + \let\cite@cj\cite@compress + \begingroup + \toks@\@emptytoks + \let\cite@cj\cite@sort + \ignorespaces +} +\def\cite@sorted@e{% + \@xp\endgroup + \the\toks@ + \cite@dash + \prev@cite + \endgroup +} +\def\cite@sort#1#2{% + \safe@set\@tempcnta#1% highest number so far + \toks@{\cite@cj#1{#2}}% + \@temptokena\toks@ + \let\cite@cj\cite@sort@a + \ignorespaces +} +\def\cite@sort@a#1#2{% + \safe@set\@tempcntb#1% + \ifnum\@tempcntb > \@tempcnta + \add@toks@{\cite@cj#1{#2}}% + \@tempcnta\@tempcntb + \else + \let\cite@cj\cite@sort@b + \toks@\@emptytoks + \def\@tempb{\add@toks@{\cite@cj#1{#2}}}% + \the\@temptokena + \@tempb + \let\cite@cj\cite@sort@a + \fi + \@temptokena\toks@ + \ignorespaces +} +\def\cite@sort@b#1#2{% + \safe@set\count@#1% + \ifnum\@tempcntb < \count@ + \@tempb + \let\@tempb\@empty + \fi + \add@toks@{\cite@cj#1{#2}}% + \ignorespaces +} +\let\prev@cite\@empty +\def\prev@cite@cb{% + \ifx\@prev@cite\@empty + \else + \begingroup + \def\cite@print##1##2{% + \cite@cb##1% + }% + \prev@cite + \endgroup + \fi +} +\def\cite@print#1#2{% + \begingroup + \let\CitePrintUndefined\CPU@normal + \cite@cjs#1{#2}% + \endgroup +} +\let\cite@dash\@empty +\def\print@one@dash{% + \textendash \nopunct + \let\cite@dash\@empty +} +\def\cite@compress#1#2{% + \cite@print#1{#2}% + \@ifempty{#2}{% + \safe@set\@tempcnta#1% + \let\cite@cj\cite@compress@a + }{}% +} +\def\cite@compress@a#1#2{% + \@ifempty{#2}{% + \advance\@tempcnta\@ne + \safe@set\@tempcntb#1% + \ifnum\@tempcnta=\@tempcntb + \def\prev@cite{\cite@print#1{}}% + \let\cite@cj\cite@compress@b + \else + \cite@print#1{}% + \@tempcnta\@tempcntb + \fi + }{% + \cite@print#1{#2}% + \let\cite@cj\cite@compress + }% +} +\def\cite@compress@b#1#2{% + \@ifempty{#2}{% + \advance\@tempcnta\@ne + \safe@set\@tempcntb#1% + \ifnum\@tempcnta=\@tempcntb + \let\cite@dash\print@one@dash + \prev@cite@cb + \def\prev@cite{\cite@print#1{}}% + \else + \cite@dash + \prev@cite + \let\prev@cite\@empty + \cite@print#1{}% + \@tempcnta\@tempcntb + \let\cite@cj\cite@compress@a + \fi + }{% + \cite@dash + \prev@cite + \let\prev@cite\@empty + \cite@print#1{#2}% + \let\cite@cj\cite@compress + }% +} +\def\bibcite#1{\@xp\bibcite@a\csname b@#1\endcsname} +\def\bibcite@a#1#2{% + \ifx\relax#1% + \gdef#1{\citesel 00#2{}}% + \else + \begingroup + \@xp\bibcite@b\@xp#1#1{#2}% + \endgroup + \fi +} +\def\bibcite@b#1#2#3#4#5#6#7#8{\gdef#1{\citesel#3#4#8{#7}}} +\newcommand{\citedest}[1]{\@xp\cite@dest\csname b@#1\endcsname} +\def\cite@dest#1{% + \ifx\relax#1% + \gdef#1{\citesel 00{}{}{}}% + \fi + \@xp\cite@dest@b\@xp#1#1% +} +\def\cite@dest@b#1#2#3#4#5#6#7#8{% + \@ifempty{#7}{% + \def#1{\citesel #3#4{#5}{#6}{{#8}}}% + }{% + \gdef#1{\citesel #3#4{#5}{#6}{#7,{#8}}}% + }% +} +\@ifundefined{ifBR@verbose}{\let\ifBR@verbose\iffalse \let\fi\fi}{}% +\let\BackCite\@gobble +\def\back@cite#1{% + \ifBR@verbose + \PackageInfo{backref}{back cite \string `\extr@cite#1'}% + \fi + \Hy@backout{#1}% +} +\def\print@backrefs#1{% + \space\SentenceSpace$\uparrow$\csname br@#1\endcsname +} +\let\PrintBackRefs\@gobble +\def\ar@hyperlink#1{\hyper@@link [cite]{}{cite.\extr@cite#1}{#1}} +\def\ar@SK@cite#1{\@bsphack\@xp\SK@\@xp\SK@@ref\@xp{\extr@cite#1}\@esphack} +\AtBeginDocument{% + \@ifundefined{hyper@@link}{% + \let\ar@hyperlink\@firstofone + \let\hyper@anchorstart\@gobble + \let\hyper@anchorend\relax + }{}% + \@ifundefined{SK@@label}{% + \let\ar@SK@cite\@gobble + \let\SK@@label\@gobble + \let\SK@\@gobbletwo + }{}% +} +\let\amsrefs@textaccents\@empty +\def\DeclareNameAccent{% + \@lappend\amsrefs@textaccents +} +\DeclareNameAccent\" +\DeclareNameAccent\' +\DeclareNameAccent\. +\DeclareNameAccent\= +\DeclareNameAccent\^ +\DeclareNameAccent\` +\DeclareNameAccent\~% +\DeclareNameAccent\b +\DeclareNameAccent\c +\DeclareNameAccent\d +\DeclareNameAccent\H +\DeclareNameAccent\k +\DeclareNameAccent\r +\DeclareNameAccent\t +\DeclareNameAccent\u +\DeclareNameAccent\v +\DeclareNameAccent\utilde +\DeclareNameAccent\uarc +\DeclareNameAccent\dudot +\DeclareNameAccent\lfhook +\DeclareNameAccent\udot +\DeclareNameAccent\polhk +\DeclareNameAccent\soft +\DeclareNameAccent\etalchar +\let\amsrefs@textsymbols\@empty +\def\DeclareNameSymbol#1#2{% + \@lappend\amsrefs@textsymbols#1% + \@lappend\amsrefs@textsymbols#2% + \ifx#1#2\else + \@lappend\amsrefs@textsymbols#2% + \@lappend\amsrefs@textsymbols#2% + \fi +} +\DeclareNameSymbol\i\i +\DeclareNameSymbol\j\j +\DeclareNameSymbol\AE\ae +\DeclareNameSymbol\OE\oe +\DeclareNameSymbol\O\o +\DeclareNameSymbol\DH\dh +\DeclareNameSymbol\DJ\dj +\DeclareNameSymbol\L\l +\DeclareNameSymbol\NG\ng +\DeclareNameSymbol\SS\ss +\DeclareNameSymbol\TH\th +\DeclareNameSymbol\Dbar\dbar +\DeclareNameSymbol\lasp\lasp +\DeclareNameSymbol\rasp\rasp +\DeclareNameSymbol\cprime\cprime +\DeclareNameSymbol\cdprime\cdprime +\DeclareNameSymbol\bud\bud +\DeclareNameSymbol\cydot\cydot +\DeclareNameSymbol~~% +\def\normalize@edef#1#2{% + \begingroup + \@apply\auto@protect\amsrefs@textsymbols + \@apply\wrap@accent\amsrefs@textaccents + \let\@tabacckludge\use@accent + \let~\space + \edef\@tempa{\def\@nx#1{#2}}% + \@xp\endgroup + \@tempa +} +\def\use@accent#1{\csname\string#1\endcsname} +\def\wrap@accent#1{% + \def#1##1{{\@nx#1##1}}% +} +\def\lc@edef#1#2{% + \begingroup + \let\@tabacckludge\use@accent %%?? + \@apply\auto@protect\amsrefs@textaccents + \@apply\lc@do\amsrefs@textsymbols + \edef\@tempa{\lowercase{\def\@nx#1{#2}}}% + \@xp\endgroup + \@tempa +} +\def\lc@do#1\do#2{% + \ifx#1#2% + \auto@protect#1% + \else + \def#1{#2}% + \fi +} +\def\purge@edef#1#2{% + \begingroup + \@apply\auto@protect\amsrefs@textsymbols + \let~\space + \@apply\purge@accent\amsrefs@textaccents + \let\@tabacckludge\@gobble + \def\i{i}% + \def\j{j}% + \edef\@tempa{#2}% + \toks@\@emptytoks + \@xp\purge@edef@ \@tempa \@nil + \edef\@tempa{\def\@nx#1{\the\toks@}}% + \@xp\endgroup + \@tempa +} +\def\purge@edef@{% + \futurelet\@let@token + \purge@edef@a +} +\def\purge@edef@a#1{% + \ifx\@let@token\@nil + \let\@tempa\@empty + \else + \ifx\@let@token\bgroup + \def\@tempa{% + \purge@edef@ #1\@nil + \purge@edef@ + }% + \else + \add@toks@{#1}% + \let\@tempa\purge@edef@ + \fi + \fi + \@tempa +} +\def\purge@accent#1{% + \def#1##1{##1}% +} +\def\name@split{% + \get@namepart\bib'surname\name@split@given +} +\def\name@split@given{% + \get@namepart\bib'given\name@split@jr +} +\def\name@split@jr{% + \get@namepart\bib'jr\name@split@finish +} +\def\name@split@finish{% + \ifx\bib'surname\@empty \EmptyNameWarning \fi +%% \ifx\@empty\bib'given +%% \NameCheck \bib'surname ??\@nil +%% \else + \extract@initials\bib'given +%% \fi + \@nilgobble +} +\def\get@namepart#1#2{% + \toks@{#1}% + \@temptokena{#2}% + \get@namepart@a +} +\def\get@namepart@a{% + \futurelet\@let@token + \get@namepart@b +} +\def\get@namepart@b{% + \ifx\@let@token\@sptoken + \@xp\get@namepart@c + \else + \@xp\get@namepart@d + \fi +} +\def\get@namepart@c{% + \after@deleting@token\get@namepart@a +} +\def\get@namepart@d{% + \futurelet\@let@token + \get@namepart@e +} +\def\get@namepart@e{% + \ifx\@let@token,% + \@xp\let\the\toks@\@empty + \edef\@tempa{% + \@nx\after@deleting@token\the\@temptokena + }% + \@xp\@tempa + \else + \@xp\get@namepart@f + \fi +} +\def\get@namepart@f#1#2,{% + \ifx\@let@token\bgroup + \@xp\def\the\toks@{{#1}#2}% + \else + \@xp\def\the\toks@{#1#2}% + \fi + \the\@temptokena +} +\def\EmptyNameWarning{\amsrefs@warning{Empty contributor name}} +\def\extract@initials#1{% + \begingroup + \auto@protect\ini@hyphen + \auto@protect\nobreakspace + \let~\relax + \@apply\auto@protect\amsrefs@textsymbols + \@apply\auto@protect\amsrefs@textaccents + \normalize@edef\@tempa{#1}% + \ifx\@tempa\@empty + \else + \process@hyphens\@tempa + \process@dots\@tempa + \process@names\@tempa + \@chomp\@tempa{~}% + \fi + \edef\@tempa{\def\@nx\bib'initials{\@tempa}}% + \@xp\endgroup + \@tempa +} +\def\ini@hyphen{\unskip-\nobreak} +\def\process@hyphens#1{% + \begingroup + \toks@\@emptytoks + \@xp\process@one@hyphen #1-\@nil + \edef\@tempa{\the\toks@}% + \@chomp\@tempa{ \ini@hyphen\space}% + \edef\@tempa{\def\@nx#1{\@tempa}}% + \@xp\endgroup + \@tempa +} +\def\process@one@hyphen{% + \futurelet\@let@token + \process@one@hyphen@a +} +\def\process@one@hyphen@a{% + \ifx\@let@token\@nil + \let\fsa@n\@gobble + \else + \ifx\@let@token -% + \TrailingHyphenWarning + \let\fsa@n\process@one@hyphen@b + \else + \ifx\@let@token\@sptoken + \let\fsa@n\process@one@hyphen@b + \else + \let\fsa@n\process@one@hyphen@c + \fi + \fi + \fi + \fsa@n +} +\def\process@one@hyphen@b{% + \after@deleting@token\process@one@hyphen +} +\def\process@one@hyphen@c#1#2-{% + \ifx\bgroup\@let@token + \add@toks@{{#1}#2 \ini@hyphen\space}% + \else + \add@toks@{#1#2 \ini@hyphen\space}% + \fi + \futurelet\@let@token + \process@one@hyphen@d +} +\def\process@one@hyphen@d{% + \ifx\@let@token\@nil + \@xp\@gobble + \else + \@xp\process@one@hyphen + \fi +} +\def\TrailingHyphenWarning{% + \amsrefs@warning{Trailing hyphen deleted from name}% +} +\def\process@dots#1{% + \begingroup + \toks@\@emptytoks + \@xp\process@one@dot #1.\@nil + \edef\@tempa{\the\toks@}% + \@chomp\@tempa{. }% + \@chomp\@tempa{ }% + \edef\@tempa{\def\@nx#1{\@tempa}}% + \@xp\endgroup + \@tempa +} +\def\process@one@dot{% + \futurelet\@let@token + \process@one@dot@a +} +\def\process@one@dot@a{% + \ifx\@let@token .% + \def\fsa@n{\after@deleting@token\process@bare@dot}% + \else + \ifx\@let@token\@sptoken + \let\fsa@n\process@one@dot@b + \else + \let\fsa@n\process@one@dot@c + \fi + \fi + \fsa@n +} +\def\process@bare@dot{% + \add@toks@{. }% + \futurelet\@let@token + \process@one@dot@d +} +\def\process@one@dot@b{% + \after@deleting@token\process@one@dot +} +\def\process@one@dot@c#1#2.{% + \ifx\bgroup\@let@token + \add@toks@{{#1}#2. }% + \else + \add@toks@{#1#2. }% + \fi + \futurelet\@let@token + \process@one@dot@d +} +\def\process@one@dot@d{% + \ifx\@let@token\@nil + \@xp\@gobble + \else + \@xp\process@one@dot + \fi +} +\def\process@names#1{% + \begingroup + \toks@\@emptytoks + \@xp\extract@initial #1 \@nil + \edef\@tempa{\def\@nx#1{\the\toks@}}% + \@xp\endgroup + \@tempa +} +\def\extract@initial{% + \futurelet\@let@token + \extract@initial@a +} +\def\extract@initial@a{% + \ifx\@let@token\@nil + \let\fsa@n\@gobble + \else + \ifx\@let@token\@sptoken + \let\fsa@n\extract@initial@b + \else + \let\fsa@n\extract@initial@c + \fi + \fi + \fsa@n +} +\def\extract@initial@b{% + \after@deleting@token\extract@initial +} +\def\extract@initial@c#1#2 {% + \ifx\@let@token\bgroup + \@extract@initial {{#1}}#2\@nil + \else + \@extract@initial #1#2\@nil + \fi + \futurelet\@let@token + \extract@initial@d +} +\def\extract@initial@d{% + \ifx\@let@token\@nil + \@xp\@gobble + \else + \@xp\extract@initial + \fi +} +\def\@extract@initial#1#2\@nil{% + \ifx\ini@hyphen#1% + \add@toks@{\ini@hyphen}% + \else + \in@{.\@nil}{#1#2\@nil}% Look for a period at the end of the name + \ifin@ + \add@toks@{#1#2~}% + \else + \count@chars\@tempcnta{#1#2}% + \ifnum\@tempcnta > \@ne + \add@toks@{#1.~}% + \else + \add@toks@{#1~}% + \fi + \fi + \fi +} +\def\count@chars#1#2{% + \begingroup + \@tempcnta\z@ + \@count@chars#2\@nil + \edef\@tempb{#1=\the\@tempcnta\relax}% + \@xp\endgroup + \@tempb +} +\def\@count@chars#1{% + \ifx #1\@nil + \else + \advance\@tempcnta\@ne + \@xp\@count@chars + \fi +} +\let\previous@stem\@empty +\let\current@stem\@empty +\let\previous@year\@empty +\let\current@year\@empty +\def\append@to@stem{\global\@concat\current@stem} +\def\generate@alphalabel{% + \ifx\bib'label\@empty + \begingroup + \global\let\previous@stem\current@stem + \global\let\current@stem\@empty + \@apply\auto@protect\amsrefs@textsymbols + \@apply\auto@protect\amsrefs@textaccents + \auto@protect\name + \auto@protect\etaltext + \normalize@edef\@tempa\current@primary + \get@numberof\@tempcnta\name\@tempa + \calc@author@part + \append@label@year + \calc@alpha@suffix + \edef\@tempa{% + \def\@nx\bib'label{% + \current@stem + \alpha@label@suffix + }% + }% + \@xp\endgroup + \@tempa + \fi +} +\def\calc@author@part{% + \ifnum \@tempcnta = 1 + \@xp\@oneauthorlabel\@xp{\@tempa}% + \else + \@xp\@multiauthorlabel\@xp{\@tempa}% + \fi +} +\def\@firstone#1{\@car#1\@empty\@nil} +\def\@firstthree#1{\@carcube#1\@empty\@empty\@empty\@nil} +\let\@nametoken\@firstone +\def\hyph@to@space#1-{#1 \hyph@to@space} +\def\@marknames#1{% + \@ifnotempty{#1}{\surround@names#1 ' }% +} +\def\surround@names#1 {% + \ifx '#1% + \else + \@nx\@nametoken{#1}% + \@xp\surround@names + \fi +} +\def\extract@surnames#1#2{% + \get@namepart\@tempb\@nilgobble #2,\@nil + \edef\@tempb{\@nx\@marknames{\@xp\hyph@to@space\@tempb\@gobble-}}% + \edef#1{\@tempb}% +} +\newcommand{\@oneauthorlabel}[1]{% + \def\name##1{% + \extract@surnames\@tempa{##1}% + \get@numberof\@tempcnta\@nametoken\@tempa + \ifnum \@tempcnta = 1 + \let\@nametoken\@firstthree + \fi + \append@to@stem{\@tempa}% + }% + #1% +} +\def\@threeauthors\name#1\name#2\name#3#4\@empty{% + \name{#1}\name{#2}\name{#3}% + \append@to@stem{\etalchar{+}}% +} +\newcommand{\@multiauthorlabel}[1]{% + \def\name##1{% + \ifx\etaltext ##1% + \def\@tempa{\@nx\etalchar{+}}% + \let\name\@gobble + \else + \extract@surnames\@tempa{##1}% + \fi + \append@to@stem{\@tempa}% + }% + \ifnum \@tempcnta > 4 \@xp \@threeauthors \fi + #1\@empty +} +\newcommand{\etalchar}[1]{$^{#1}$} +\def\year@short#1#2#3#4\@nil{#3#4} +\def\append@label@year{% + \safe@set\@tempcnta\bib@year + \edef\bib@citeyear{\the\@tempcnta}% + \append@to@stem{% + \ifx\bib@year\@empty + \else + \@xp\year@short \bib@citeyear \@nil + \fi + }% +} +\let\alpha@label@suffix\@empty + +\newcount\alpha@suffix +\alpha@suffix\@ne +\let\@suffix@format\@alph +\def\calc@alpha@suffix{% + \@tempswafalse + \compare@stems\previous@stem\current@stem + \ifsame@stems + \ifx\previous@year\current@year + \@tempswatrue + \fi + \fi + \if@tempswa + \global\advance\alpha@suffix\@ne + \edef\alpha@label@suffix{\@suffix@format\alpha@suffix}% + \ifnum\alpha@suffix=\tw@ + \immediate\write\@auxout{% + \string\ModifyBibLabel{\prev@citekey}% + }% + \fi + \else + \let\alpha@label@suffix\@empty + \global\alpha@suffix\@ne + \@xp\ifx \csname b@\current@citekey @suffix\endcsname \relax + \else + \edef\alpha@label@suffix{\@suffix@format\alpha@suffix}% + \fi + \fi +} +\newif\ifsame@stems +\def\compare@stems#1#2{% + \begingroup + \purge@edef\@tempa{#1}% + \purge@edef\@tempb{#2}% + \lc@edef\@tempa{\@tempa}% + \lc@edef\@tempb{\@tempb}% + \ifx\@tempa\@tempb + \def\@tempa{\same@stemstrue}% + \else + \def\@tempa{\same@stemsfalse}% + \fi + \@xp\endgroup + \@tempa +} +\def\ModifyBibLabel#1{% + \global\@xp\let\csname b@#1@suffix\endcsname\@empty +} +\newcount\series@index +\def\PrintSeries#1#2#3#4#5#6#7#8{% + \begingroup + \def\series@add@a{#2}% + \def\series@add@b{\SwapBreak{#3}#4}% + \def\series@add@c{\SwapBreak{#5}#6}% + \def\series@add@d{\SwapBreak{#7}#8}% + \def\series@add@e{\SwapBreak{#7}}% + \PrintSeries@a{#1}% +} +\def\PrintSeries@a#1#2#3#4{% + \get@numberof\@tempcnta#1{#3}% + \chardef\series@total=\@tempcnta + \ifnum\series@total=\@ne + \let\SingularPlural\@firstoftwo + \else + \let\SingularPlural\@secondoftwo + \fi + \series@index=\z@ + \let#1\series@add + #2#3#4\relax + \endgroup +} +\def\series@add#1{% + \advance\series@index\@ne + \ifx\etaltext#1\relax + \ifnum\series@index=\tw@ + \def\@tempa{\space\SubEtal}% + \else + \def\@tempa{\series@add@e\space\SubEtal}% + \fi + \series@index\@MM + \else + \ifcase\series@index + \or + \let\@tempa\series@add@a + \or + \ifnum\series@total<\thr@@ + \let\@tempa\series@add@b + \else + \let\@tempa\series@add@c + \fi + \else + \ifnum\series@index=\series@total + \let\@tempa\series@add@d + \else + \ifnum\series@index<\series@total + \let\@tempa\series@add@c + \else + \let\@tempa\@gobble + \fi + \fi + \fi + \fi + \@tempa{#1}% +} +\def\SwapBreak#1{% + \relax\ifvmode\leavevmode\fi + \@tempcnta\@MM + \toks@{#1}% + \unskip + \ifnum \lastkern>\@ne \unkern \fi + \ifnum\lastpenalty=\z@ + \else + \@tempcnta\lastpenalty + \unpenalty + \fi + \edef\@tempa{% + \@nx\deferredquoteslogical + \ifnum\lastkern=\@ne + \else + \ifnum\spacefactor=\sfcode\@xp\@xp\@xp`\@xp\@car\string#1)\@nil + \else + \ifnum\spacefactor=\@nopunctsfcode + \else + \the\toks@ + \fi + \fi + \fi + \@nx\deferredquotes + \ifnum\@tempcnta=\@MM \else \penalty\number\@tempcnta\space \fi + \ifnum\lastkern=\@ne \ignorespaces \fi + }% + \@tempa +} +\newcommand{\SingularPlural}[2]{#1} +\newcommand{\Plural}{\SingularPlural{}} +\BibSpec{nameLE}{ + +{}{}{given} + +{}{\IfEmptyBibField{given}{}{ }}{surname} + +{}{ }{jr} +} +\BibSpec{nameBE}{ + +{}{}{surname} + +{}{ }{given} +} +\BibSpec{nameinverted}{ + +{} {} {surname} + +{,}{ } {given} + +{,}{ } {jr} +} +\newcommand{\PrintNames}{% + \@ifstar{\PrintNames@a\set@othername}{\PrintNames@a\set@firstname}% +} +\newcommand{\PrintNames@a}[4]{% + \PrintSeries{\name} + {#1} + {}{ and \set@othername} + {,}{ \set@othername} + {,}{ and \set@othername} + {#2}{#4}{#3}% +} +\def\set@firstname#1{% + \set@name{#1}\setbib@nameLE +} +\def\set@othername#1{% + \set@name{#1}\setbib@nameLE +} +\def\set@name#1{% + \name@split#1,,,\@nil + \set@name@a +} +\def\set@name@a#1{% + \begingroup + \get@current@properties + \select@auxlanguage + \def\@tempa{yes}% + \ifx\@tempa\prop'inverted + \setbib@nameBE + \else + #1% + \fi + \endgroup +} +\def\PrintPrimary{% + \ifx\current@primary\@empty + \EmptyPrimaryWarning + \else + \print@primary\current@primary + \fi +} +\def\EmptyPrimaryWarning{% + \amsrefs@warning{No authors, editors or translators}% +} +\newcommand{\PrintAuthors}[1]{% + \ifx\previous@primary\current@primary + \sameauthors\@empty + \else + \def\current@bibfield{\bib'author}% + \PrintNames{}{}{#1}% + \fi +} +\newcommand{\sameauthors}[1]{\bysame#1} +\def\bysame{% + \leavevmode\hbox to3em{\hrulefill}\thinspace + \kern\z@ +} +\newcommand{\PrintNameList}{\PrintNames{}{}} +\newcommand{\PrintEditorsC}[1]{% + \PrintNames{Edited by }{}{#1}% +} +\newcommand{\PrintEditorsA}[1]{% + \ifx\previous@primary\current@primary + \sameauthors{(ed\Plural{s}.)}% + \else + \def\current@bibfield{\bib'editor}% + \PrintNames{}{ (ed\Plural{s}.)}{#1}% + \fi + \erase@field\bib'editor +} +\newcommand{\PrintEditorsB}{% + \PrintNames*{(}{\SwapBreak{,}~ed\Plural{s}.)}% +} +\newcommand{\PrintContributions}[1]{% + \PrintSeries + {\fld@elt} + {\print@contribution} + {}{ and \print@contribution} + {,}{ \print@contribution} + {,}{ and \print@contribution}{}{#1}{}% +} +\newcommand{\print@contribution}[1]{% + \in@={#1}% + \ifin@ + \ifnum\series@index=\@ne with \fi + \RestrictedSetKeys{}{bib}{% + \bib@print@inner\setbib@contribution{\the\rsk@toks}% + }{#1}% + \else + #1% + \fi +} +\def\resolve@inner#1#2{% + \in@={#2}% + \ifin@ + \RestrictedSetKeys{}{bib}{#1{\the\rsk@toks}}{#2}% + \else + \@ifundefined{bi@#2}{% + \XRefWarning{#2}% + }{% + #1{\csname bi@#2\endcsname}% + }% + \fi +} +\def\PrintConference{% + \resolve@inner{\bib@print@inner\setbib@conference} +} +\def\PrintConferenceDetails#1{% + \ifx\@empty\bib'address + \ifx\@empty\bib'date + \else + \PrintConferenceDetails@ + \fi + \else + \PrintConferenceDetails@ + \fi +} +\def\PrintConferenceDetails@{% + \ifnum\lastkern=\@ne\else\space\fi(\kern 1sp + \ifx\@empty\bib'address + \else + \bib'address + \fi + \ifx\@empty\bib'date + \else + \SwapBreak{,}\space + \print@date + \fi + )%\spacefactor\sfcode`\,% +} +\def\PrintBook{% + \resolve@inner{\bib@print@inner\setbib@innerbook} +} +\def\PrintReprint{% + \resolve@inner{\bib@reprint} +} +\def\bib@reprint#1{% + \begingroup + #1\relax % execute definitions locally + \bib@field@patches + \bib'setup + \IfEmptyBibField{copula}{reprinted in}{\bib'copula} \nopunct + \let\bib'language\@empty + \setbib@book + \endgroup +} +\def\PrintTranslation{% + \resolve@inner{\bib@translation} +} +\def\bib@translation#1{% + \begingroup + #1\relax % execute definitions locally + \bib@field@patches + \bib'setup + \let\PrintPrimary\@empty + \bib@append{;}{ % keep this space! + \IfEmptyBibField{language}{English}{\bib'language} transl.% + \IfEmptyBibField{pages}{ in \kern\@ne sp}{, }% + }\bib'transition + \let\bib'language\@empty + \setbib@@ + \endgroup +} +\newcommand{\PrintTranslatorsC}[1]{% + \PrintNames{translated by }{}{#1}% +} +\newcommand{\PrintTranslatorsA}[1]{% + \ifx\previous@primary\current@primary + \sameauthors{(trans.)}% + \else + \def\current@bibfield{\bib'translator}% + \PrintNames{}{ (trans.)}{#1}% + \fi + \erase@field\bib'translator +} +\newcommand{\PrintTranslatorsB}[1]{ + \PrintNames*{(}{\SwapBreak{,}~tran\Plural{s}.)}% +} +\DefineName{alii}{\etaltext} +\DefineName{others}{\etaltext} +\newcommand{\etaltext}{et al.} +\newcommand{\SubEtal}[1]{\etaltext} +\newcommand{\print@partial}{% + \resolve@inner{\bib@print@inner\setbib@partial} +} +\newcommand{\parenthesize}[1]{% + \leavevmode\push@bracket)\upn{(}#1\pop@bracket +} +\providecommand{\upn}[1]{#1} +\let\bracket@stack\@empty + +\def\push@bracket#1{% + \xdef\bracket@stack{#1\bracket@stack}% +} + +\def\pop@bracket{% + \iffalse{\fi + \@xp\pop@bracket@a\bracket@stack \@empty}% +} + +\def\pop@bracket@a#1{% + \leavevmode\/\upn{#1}% + \xdef\bracket@stack{\iffalse}\fi +} +\newcommand{\bibquotes}[1]{% + \textquotedblleft#1% + \gdef\deferredquotes{% + \global\let\deferredquotes\@empty + \textquotedblright + }% +} +\providecommand{\mdash}{\textemdash} +\providecommand{\ndash}{\textendash} +\def\MR#1{% + \relax\ifhmode\unskip\spacefactor3000 \space\fi + \def\@tempa##1:##2:##3\@nil{% + \ifx @##2\@empty##1\else\textbf{##1:}##2\fi + }% + \MRhref{#1}{MR \@tempa#1:@:\@nil}% +} +\providecommand{\MRhref}[1]{} +\newcommand{\PrintReviews}[1]{% + \PrintSeries{\fld@elt}{}{,}{ }{,}{ }{,}{ }{}{#1}{}% +} +\newcommand{\PrintPartials}[1]{% + \PrintSeries + {\fld@elt} + {\print@partial} + {;}{ \print@partial} + {;}{ \print@partial} + {;}{ \print@partial}{}{#1}{}% +} +\newcommand{\PrintISBNs}[1]{% + \PrintSeries{\fld@elt}{}{,}{ }{,}{ }{,}{ }{ISBN }{#1}{}% +} +\newcommand{\voltext}{\IfEmptyBibField{series}{Vol.~}{vol.~}} +\newcommand{\issuetext}{no.~} +\newcommand{\DashPages}[1]{% + p\pp@scan@a#1@\ndash p@\ndash{\pp@scan#1@-p@-{}\@nil}\@nil.~#1% +} + +\def\pp@scan#1-#2@-#3#4\@nil{#3} + +\def\pp@scan@a#1\ndash#2@\ndash#3#4\@nil{#3} +\newcommand{\eprintpages}[1]{% + #1\IfEmptyBibField{eprint}{}{\IfEmptyBibField{journal}{ pp.}{}}% +} +\def\PrintThesisType#1{% + \thesis@type#1?\@nil{#1}% +} + +\def\thesis@type#1#2\@nil#3{% + \ifx p#1% + Ph.D. Thesis% + \else + \ifx m#1% + Master's Thesis% + \else + #3% + \fi + \fi +} +\newcommand{\PrintDOI}[1]{% + DOI #1% + \IfEmptyBibField{volume}{, (to appear in print)}{}% +} +\newcommand{\PrintDatePV}[1]{% + \IfEmptyBibField{doi}{% + \let\@tempa\PrintDate + }{% + \IfEmptyBibField{volume}{% + \let\@tempa\PrintDatePosted + }{% + \let\@tempa\PrintDate + }% + }% + \@tempa{#1}% +} +\newcommand{\PrintDate}[1]{(\print@date)} +\newcommand{\PrintDateB}[1]{\print@date} +\def\print@date{% + \ifx\bib@month\@empty + \else + \print@month@day + \fi + \bib@year +} +\def\print@month@day{% + \bib@monthname + \ifx\@empty\bib@day \else \nobreakspace\number 0\bib@day,\fi + \space +} +\newcommand{\bib@monthname}{% + \ifcase 0\bib@month + \or January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\or + Winter\or Spring\or Summer\or Fall\else Unknown Month% + \fi +} +\newcommand{\PrintYear}[1]{\bib@year} +\newcommand{\PrintDatePosted}[1]{\unskip, posted on \print@date} +\newcommand{\PrintEdition}[1]{% + \afterassignment\print@edition + \count@ 0#1\relax\@nil +} +\def\print@edition#1#2\@nil{% + \ifx\relax#1\relax + \ifnum\count@>\z@ + \CardinalNumeric\count@ + \else + ??th% + \fi + \ \editiontext + \else + \ifnum \count@>\z@ \number\count@ \fi + #1#2\relax + \fi +} +\newcommand{\editiontext}{ed.} +\newcommand{\CardinalNumeric}[1]{% + \number#1\relax + \if + \ifnum#1<14 + \ifnum#1>\thr@@ T\else F\fi + \else + F% + \fi + T% + th% + \else + \@xp\keep@last@digit\@xp#1\number#1\relax + \ifcase#1th\or st\or nd\or rd\else th\fi + \fi +} +\def\keep@last@digit#1#2{% + \ifx\relax#2% + \@xp\@gobbletwo + \else + #1=#2\relax + \fi + \keep@last@digit#1% +} +\newcommand{\SentenceSpace}{\relax\ifhmode\spacefactor`\. \fi} +\newcommand{\eprint}[1]{\url{#1}} +\let\bibliographystyle\@gobble +\def\bibtex@style{amsrn} +\AtBeginDocument{ + \if@filesw + \immediate\write\@auxout{\string\bibstyle{\bibtex@style}}% + \fi +} +\IfOption{alphabetic}{% + \def\bibtex@style{amsra}% + \def\alpha@label{% + \ifx\@empty\bib'label + \def\thebib{\CurrentBib}% + \else + \let\thebib\bib'label + \fi + }% + \let\generate@label\generate@alphalabel + \let\process@citelist\process@citelist@unsorted + \def\numeric@refs{01}% +}{} +\IfOption{shortalphabetic}{% + \def\bibtex@style{amsrs}% + \def\alpha@label{% + \ifx\@empty\bib'label + \def\thebib{\CurrentBib}% + \else + \let\thebib\bib'label + \fi + }% + \let\@suffix@format\@arabic + \def\calc@author@part{% + \@xp\@multiauthorlabel\@xp{\@tempa}% + }% + \let\append@label@year\@empty + \let\generate@label\generate@alphalabel + \let\process@citelist\process@citelist@unsorted + \def\numeric@refs{01}% +}{} +\IfOption{backrefs}{% + \let\PrintBackRefs\print@backrefs + \@ifundefined{Hy@backout}{% + \amsrefs@warning{backref option requires hyperref package}% + }{% + \let\BackCite\back@cite + \AtBeginDocument{\@starttoc{brf}{}}% + }% +}{% +} +\IfOption{citation-order}{% + \IfOption{alphabetic}{% + \amsrefs@warning@nl{% + The 'citation-order' and 'alphabetic' options are + incompatible% + }% + }{ + \def\bibtex@style{amsru}% + } +}{} +\IfOption{initials}{% TRUE: + \BibSpec{nameLE}{ + +{}{}{initials} + +{}{\IfEmptyBibField{initials}{}{ }}{surname} + +{}{ }{jr} + } + + \BibSpec{nameBE}{ + +{}{}{surname} + +{}{ }{initials} + % +{}{ }{jr} + } + + \BibSpec{nameinverted}{ + +{} {} {surname} + +{,}{ } {initials} + +{,}{ } {jr} + } +}{% initials? FALSE: +} % end conditional code for initials option +\IfOption{jpa}{% + \amsrefs@warning{The 'jpa' option is obsolete}% + \typeout{Trying \string\usepackage{amsjpa} instead ...}% + \RequirePackage{amsjpa}[2000/02/02] +}{} +\let\deferredquotes\@empty +\IfOption{logical-quotes}{% + \def\deferredquoteslogical{\deferredquotes}% +}{% + \let\deferredquoteslogical\relax +} +\IfOption{non-compressed-cites}{% + \let\cite@compress\cite@print +}{} +\IfOption{non-sorted-cites}{% + \let\process@citelist\process@citelist@unsorted +}{} +\IfOption{short-journals}{% + \renewcommand{\DefineJournal}[4]{% + \bib*{#1}{periodical}{ + issn={#2}, + journal={#3}, + }% + } +}{} +\IfOption{short-publishers}{% + \renewcommand{\DefinePublisher}[4]{% + \bib*{#1}{publisher}{% + publisher={#2},% + address={#4}, + }% + }% +}{} +\IfOption{short-months}{% + \renewcommand{\bib@monthname}{% + \ifcase 0\bib@month + \or Jan.\or Feb.\or Mar.\or Apr.\or May\or June\or + July\or Aug.\or Sep.\or Oct.\or Nov.\or Dec.\or + Winter\or Spring\or Summer\or Fall\else Unknown Month% + \fi + }% +}{} +\IfOption{y2k}{% + \IfOption{alphabetic}{% + \def\year@short#1\@nil{#1}% + \def\bibtex@style{amsry}% + }{% + \amsrefs@warning@nl{% + The 'y2k' option can only be used with the^^J% + 'alphabetic' option% + }% +} +}{} +\IfOption{bibtex-style}{% + \RequirePackage{amsbst} +}{} +\IfOption{author-year}{}{\PopCatcodes \endinput} +\def\generate@label{% + \ifx\bib'label\@empty + \begingroup + \global\let\previous@stem\current@stem + \global\let\current@stem\@empty + \global\let\previous@year\current@year + \global\let\current@year\bib@year + \@apply\auto@protect\amsrefs@textsymbols + \@apply\auto@protect\amsrefs@textaccents + \def\name##1{\@nx\name{\lnscan@a##1,\@nil}}% + \auto@protect\etaltext + \normalize@edef\current@stem{\current@primary}% + \xdef\current@stem{\current@stem}% + \calc@alpha@suffix + \edef\@tempa{% + \def\@nx\cite@label{\current@stem}% + \def\@nx\bib@label@year{% + \current@year + \alpha@label@suffix + }% + } + \@xp\endgroup + \@tempa + \fi +} +\def\lnscan@a#1,#2\@nil{#1} +\def\citesel@author#1#2#3#4#5{\PrintCiteNames{#3}} +\def\citesel@authoryear#1#2#3#4#5{\PrintCNY{#3}{#4}} +\def\citesel@object#1#2#3#4#5{\PrintCiteNames{#3} \citeleft#4} +\let\citesel\citesel@authoryear +\def\numeric@refs{01}% +\def\citeleft{(}% +\def\citeright{)}% +\def\@citeleft{\ifx\citesel\citesel@object\else\citeleft\fi}% +\def\citepunct{; } +\let\BibLabel\@empty +\let\process@citelist\process@citelist@unsorted +\DeclareRobustCommand{\ycite}[1]{% + \star@{\cite@a\citesel@year{#1}}{}% +} +\DeclareRobustCommand{\ycites}[1]{% + \begingroup + \def\citepunct{, }% + \let\citesel\citesel@year + \cites{#1}% + \endgroup +} +\DeclareRobustCommand{\ocite}[1]{% + \star@{\cite@a\citesel@object{#1}}{}% +} +\DeclareRobustCommand{\ocites}[1]{% + \begingroup + \let\@citelist\@ocitelist + \cites{#1}% + \endgroup +} +\def\@ocitelist#1{% + \PrintSeries{\InnerCite}% + {\ocite}% + {}{ and \ocite}% + {,}{ \ocite}% + {,}{ and \ocite}% + {}% + {#1}% + {}% +} +\DeclareRobustCommand{\citeauthor}[1]{% + \star@{\cite@a\citesel@author{#1}}{}% +} +\DeclareRobustCommand{\citeauthory}[1]{% + \citeauthor{#1} \ycite{#1}% +} +\DeclareRobustCommand{\fullcite}[1]{% + \begingroup + \let\print@citenames\CiteNamesFull + \star@{\cite@a\citesel@authoryear{#1}}{}% + \endgroup +} +\DeclareRobustCommand{\fullocite}[1]{% + \begingroup + \let\print@citenames\CiteNamesFull + \star@{\cite@a\citesel@object{#1}}{}% + \endgroup +} +\def\set@firstname#1{% + \set@name{#1}\setbib@nameinverted +} +\def\PrintCNY#1#2{% + \PrintCiteNames{#1}% + \@ifnotempty{#2}{\@addpunct{,} #2}% +} +\def\PrintCiteNames#1{% + \leavevmode + \def\@tempa{#1}% + \ifx\@tempa\prev@names + \else + \gdef\prev@names{#1}% + \@xp\ifx\@car#1.\@nil\CitePrintUndefined + #1\relax + \else + \print@citenames{#1}% + \fi + \fi +} +\newcommand{\CiteNames}[1]{% + \PrintSeries{\name}% + {}% + {}{ and }% + {}{\@gobble}% + {}{ \etaltext\@\@gobble}% + {}% + {#1}% + {}% +} +\let\print@citenames\CiteNames +\newcommand{\CiteNamesFull}[1]{% + \PrintSeries{\name}% + {}% + {}{ and }% + {,}{ }% + {,}{ and }% + {}% + {#1}% + {}% +} +\renewcommand{\PrintDate}[1]{\bib@label@year} +\def\print@date{% + \IfEmptyBibField{date}{% + \IfEmptyBibField{year}{\BibField{status}}{\bib@year}% + }{% + \bib@year + }% +} +\BibSpec{article}{% + +{} {\PrintAuthors} {author} + +{.} { \PrintDate} {date} + +{.} { \textit} {title} + +{.} { } {part} + +{:} { \textit} {subtitle} + +{,} { \PrintContributions} {contribution} + +{.} { \PrintPartials} {partial} + +{,} { } {journal} + +{} { \textbf} {volume} + +{,} { \issuetext} {number} + +{,} { \eprintpages} {pages} + +{,} { } {status} + +{,} { \PrintDOI} {doi} + +{,} { available at \eprint} {eprint} + +{} { \parenthesize} {language} + +{} { \PrintTranslation} {translation} + +{;} { \PrintReprint} {reprint} + +{.} { } {note} + +{.} {} {transition} + +{} {\SentenceSpace \PrintReviews} {review} +} + +\BibSpec{book}{% + +{} {\PrintPrimary} {transition} + +{.} { \PrintDate} {date} + +{.} { \textit} {title} + +{.} { } {part} + +{:} { \textit} {subtitle} + +{,} { \PrintEdition} {edition} + +{} { \PrintEditorsB} {editor} + +{,} { \PrintTranslatorsC} {translator} + +{,} { \PrintContributions} {contribution} + +{,} { } {series} + +{,} { \voltext} {volume} + +{,} { } {publisher} + +{,} { } {organization} + +{,} { } {address} + +{,} { } {status} + +{} { \parenthesize} {language} + +{} { \PrintTranslation} {translation} + +{;} { \PrintReprint} {reprint} + +{.} { } {note} + +{.} {} {transition} + +{} {\SentenceSpace \PrintReviews} {review} +} + +\BibSpec{collection.article}{% + +{} {\PrintAuthors} {author} + +{.} { \PrintDate} {date} + +{.} { \textit} {title} + +{.} { } {part} + +{:} { \textit} {subtitle} + +{,} { \PrintContributions} {contribution} + +{,} { \PrintConference} {conference} + +{} {\PrintBook} {book} + +{,} { } {booktitle} + +{,} { pp.~} {pages} + +{,} { } {status} + +{,} { \PrintDOI} {doi} + +{,} { available at \eprint} {eprint} + +{} { \parenthesize} {language} + +{} { \PrintTranslation} {translation} + +{;} { \PrintReprint} {reprint} + +{.} { } {note} + +{.} {} {transition} + +{} {\SentenceSpace \PrintReviews} {review} +} + +\BibSpec{report}{% + +{} {\PrintPrimary} {transition} + +{.} { \PrintDate} {date} + +{.} { \textit} {title} + +{.} { } {part} + +{:} { \textit} {subtitle} + +{,} { \PrintEdition} {edition} + +{,} { \PrintContributions} {contribution} + +{,} { Technical Report } {number} + +{,} { } {series} + +{,} { } {organization} + +{,} { } {address} + +{,} { \eprint} {eprint} + +{,} { } {status} + +{} { \parenthesize} {language} + +{} { \PrintTranslation} {translation} + +{;} { \PrintReprint} {reprint} + +{.} { } {note} + +{.} {} {transition} + +{} {\SentenceSpace \PrintReviews} {review} +} + +\BibSpec{thesis}{% + +{} {\PrintAuthors} {author} + +{.} { \PrintDate} {date} + +{.} { \textit} {title} + +{:} { \textit} {subtitle} + +{,} { \PrintThesisType} {type} + +{,} { } {organization} + +{,} { } {address} + +{,} { \eprint} {eprint} + +{,} { } {status} + +{} { \parenthesize} {language} + +{} { \PrintTranslation} {translation} + +{;} { \PrintReprint} {reprint} + +{.} { } {note} + +{.} {} {transition} + +{} {\SentenceSpace \PrintReviews} {review} +} +\PopCatcodes +\endinput +%% +%% End of file `amsrefs.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amstex.sty b/Master/texmf-dist/tex/latex/amslatex/amstex.sty new file mode 100644 index 00000000000..f67435c5829 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amstex.sty @@ -0,0 +1,2043 @@ +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amstex.sty", +%%% version = "1.2f", +%%% date = "1999/11/15", +%%% time = "14:07:07 EST", +%%% checksum = "05218 2043 3020 71018", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 1999 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@math.ams.org (Internet)", +%%% keywords = "latex, amslatex, ams-latex, math, amstex, ams-tex", +%%% supported = "yes", +%%% abstract = "This package provides a variety of extra +%%% mathematical features, largely derived from +%%% AMS-\TeX{}. It was superseded in 1995 by the +%%% amsmath package.", +%%% docstring = "The checksum field above contains a CRC-16 checksum +%%% as the first value, followed by the equivalent of +%%% the standard UNIX wc (word count) utility output of +%%% lines, words, and characters. This is produced by +%%% Robert Solovay's checksum utility.", +%%% } +%%% ==================================================================== +% This file was generated from version 1.2beta of amstex.dtx and then +% underwent additional hand-editing. +\if@compatibility \else \catcode`\%=9 \fi +%\PackageError{amstex}{% +%Package `amstex' is obsolete, substituting `amsmath'}{You +%should use \string\usepackage{amsmath} instead. If +%that does not give satisfactory results, rename your previous copy +%of amstex.sty to amstex12beta.sty and call it with +%\string\usepackage{amstex12beta}.} +%\catcode`\%=14 \relax \input{amsmath.sty}\endinput +% +\ProvidesPackage{amstex}[1999/11/15 v1.2f AMS extra math features] +\let\@amsfonts=T +\DeclareOption{noamsfonts}{\let\@amsfonts=F} +\DeclareOption{psamsfonts}{\let\@amsfonts=P} +\DeclareOption{intlimits}{\let\ilimits@\displaylimits} +\DeclareOption{nointlimits}{\let\ilimits@\nolimits} +\DeclareOption{sumlimits}{\let\slimits@\displaylimits} +\DeclareOption{nosumlimits}{\let\slimits@\nolimits} +\DeclareOption{namelimits}{\let\nlimits@\displaylimits} +\DeclareOption{nonamelimits}{\let\nlimits@\nolimits} +\newif\ifctagsplit@ +\newif\iftagsleft@ +\DeclareOption{leqno}{\tagsleft@true} +\DeclareOption{reqno}{\tagsleft@false} +\DeclareOption{centertags}{\ctagsplit@true} +\DeclareOption{tbtags}{\ctagsplit@false} +\newif\if@fleqn +\newskip\@mathmargin +\@mathmargin\@centering +\DeclareOption{fleqn}{% + \@fleqntrue + \@mathmargin\m@ne sp + \AtBeginDocument{% + \ifdim\@mathmargin=\m@ne sp + \@mathmargin\leftmargini + \fi + }% +} +\DeclareOption{righttag}{\tagsleft@false} +\DeclareOption{ctagsplt}{\ctagsplit@true} +\DeclareOption{intlim}{\let\ilimits@\displaylimits} +\DeclareOption{nosumlim}{\let\slimits@\nolimits} +\DeclareOption{nonamelm}{\let\nlimits@\nolimits} +\ExecuteOptions{nointlimits,sumlimits,namelimits,centertags} +\ProcessOptions +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% In this section \RequirePackage statements were replaced with the +%% contents of the referenced files. +%%% filename = "amsgen.dtx", +%%% version = "1.2beta", +%%% date = "1994/12/13", +\providecommand{\@saveprimitive}[2]{\begingroup\escapechar`\\\relax + \edef\@tempa{\string#1}\edef\@tempb{\meaning#1}% + \ifx\@tempa\@tempb \global\let#2#1% + \else + \edef\@tempb{\meaning#2}% + \ifx\@tempa\@tempb + \else + \@latex@error{Unable to properly define \string#2; primitive + \noexpand#1no longer primitive}\@eha + \fi + \fi + \endgroup} +\let\@xp=\expandafter +\let\@nx=\noexpand +\newtoks\@emptytoks +\def\@oparg#1[#2]{\@ifnextchar[{#1}{#1[#2]}} +\def\@ifempty#1{\@xifempty#1@@..\@nil} +\long\def\@xifempty#1#2@#3#4#5\@nil{% + \ifx#3#4\@xp\@firstoftwo\else\@xp\@secondoftwo\fi} +\long\def\@ifnotempty#1{\@ifempty{#1}{}} +\def\FN@{\futurelet\@let@token} +\def\DN@{\def\next@} +\def\RIfM@{\relax\ifmmode} +\def\setboxz@h{\setbox\z@\hbox} +\def\wdz@{\wd\z@} +\def\boxz@{\box\z@} +\def\relaxnext@{\let\@let@token\relax} +\def\new@ifnextchar#1#2#3{% + \let\@tempe #1\def\@tempa{#2}\def\@tempb{#3}\futurelet + \@tempc\new@ifnch} +\def\new@ifnch{\ifx\@tempc \@tempe \let\@tempd\@tempa + \else\let\@tempd\@tempb\fi\@tempd} +\def\new@ifstar#1#2{\new@ifnextchar *{\def\@tempa*{#1}\@tempa}{#2}} +\@ifundefined{every@math@size}{% +\let\every@math@size=\every@size +\def\glb@settings{% + \expandafter\ifx\csname S@\f@size\endcsname\relax + \calculate@math@sizes + \fi + \csname S@\f@size\endcsname + \ifmath@fonts + \begingroup + \escapechar\m@ne + \csname mv@\math@version \endcsname + \globaldefs\@ne + \let \glb@currsize \f@size + \math@fonts + \endgroup + \the\every@math@size + \else + \fi +} +\def\set@fontsize#1#2#3{% + \@defaultunits\@tempdimb#2pt\relax\@nnil + \edef\f@size{\strip@pt\@tempdimb}% + \@defaultunits\@tempskipa#3pt\relax\@nnil + \edef\f@baselineskip{\the\@tempskipa}% + \edef\f@linespread{#1}% + \let\baselinestretch\f@linespread + \def\size@update{% + \baselineskip\f@baselineskip\relax + \baselineskip\f@linespread\baselineskip + \normalbaselineskip\baselineskip + \setbox\strutbox\hbox{% + \vrule\@height.7\baselineskip + \@depth.3\baselineskip + \@width\z@}% +%%% \the\every@size + \let\size@update\relax}% + } +}{}% end \@ifundefined test +\newdimen\ex@ +\addto@hook\every@math@size{\compute@ex@} +\def\compute@ex@{% + \begingroup + \dimen@-\f@size\p@ + \ifdim\dimen@<-20\p@ + \global\ex@ 1.5\p@ + \else + \advance\dimen@10\p@ \multiply\dimen@\tw@ + \edef\@tempa{\ifdim\dimen@>\z@ -\fi}% + \dimen@ \ifdim\dimen@<\z@ -\fi \dimen@ + \advance\dimen@-\@m sp % fudge factor + \vfuzz\p@ + \def\do{\ifdim\dimen@>\z@ + \vfuzz=.97\vfuzz + \advance\dimen@ -\p@ + \@xp\do \fi}% + \do + \dimen@\p@ \advance\dimen@-\vfuzz + \global\ex@\p@ + \global\advance\ex@ \@tempa\dimen@ + \fi + \endgroup +} +\def\@addpunct#1{\ifnum\spacefactor>\@m \else#1\fi} +\def\frenchspacing{\sfcode`\.1006\sfcode`\?1005\sfcode`\!1004% + \sfcode`\:1003\sfcode`\;1002\sfcode`\,1001 } +\def\@mathmeasure#1#2#3{\setbox#1\hbox{\frozen@everymath\@emptytoks + \m@th$#2#3$}} +\def\nomath@env{\PackageError{amstex}{% + \string\begin{\@currenvir} allowed only in paragraph mode% +}\@ehb% "You've lost some text" +} +\def\Invalid@@{Invalid use of \string} +\def\nonmatherr@#1{\PackageError{amsfonts}% + {\noexpand#1allowed only in math mode}\@ehd} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% filename = "amstext.dtx", +%%% version = "1.2beta", +%%% date = "1994/12/13", +\DeclareRobustCommand{\text}{% + \ifmmode\expandafter\text@\else\expandafter\mbox\fi} +\let\nfss@text\text +\def\text@#1{\mathchoice + {\textdef@\displaystyle\f@size{#1}}% + {\textdef@\textstyle\tf@size{\firstchoice@false #1}}% + {\textdef@\textstyle\sf@size{\firstchoice@false #1}}% + {\textdef@\textstyle \ssf@size{\firstchoice@false #1}}% + \check@mathfonts +} +\def\textdef@#1#2#3{\hbox{{% + \everymath{#1}% + \let\f@size#2\selectfont + #3}}} +\newif\iffirstchoice@ +\firstchoice@true +\def\stepcounter#1{% + \iffirstchoice@ + \global\expandafter\advance\csname c@#1\endcsname \@ne + \begingroup + \let\@elt\@stpelt + \csname cl@#1\endcsname + \endgroup + \fi} +\toks@{\iffirstchoice@\else\@xp\@gobblefour\fi\protect} +\edef\GenericInfo{\the\toks@ + \@xp\@nx\csname GenericInfo \endcsname} +\edef\GenericWarning{\the\toks@ + \@xp\@nx\csname GenericWarning \endcsname} +\toks@{\iffirstchoice@\else + \@xp\@xp\@xp\@gobblefour + \@xp\@gobbletwo\fi\protect} +\edef\GenericError{\the\toks@ + \@xp\@nx\csname GenericError \endcsname} +\def\label#1{\@bsphack\iffirstchoice@\if@filesw {\let\thepage\relax + \def\protect{\noexpand\noexpand\noexpand}% +\xdef\@gtempa{\write\@auxout{\string + \newlabel{#1}{{\@currentlabel}{\thepage}}}}}\@gtempa + \if@nobreak \ifvmode\nobreak\fi\fi\fi\fi\@esphack} +\begingroup \catcode`\"=12 +\gdef\mathhexbox#1#2#3{\text{$\m@th\mathchar"#1#2#3$}} +\endgroup +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% filename = "amsfonts.dtx", +%%% version = "1.2beta", +%%% date = "1994/12/13", +\newbox\Mathstrutbox@ +\setbox\Mathstrutbox@=\hbox{} +\def\Mathstrut@{\copy\Mathstrutbox@} +\addto@hook\every@math@size{\setbox\z@\hbox{\normalfont(}% + \ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@} +\newbox\strutbox@ +\def\strut@{\copy\strutbox@} +\addto@hook\every@math@size{% + \global\setbox\strutbox@\hbox{\lower.5\normallineskiplimit + \vbox{\kern-\normallineskiplimit\copy\strutbox}}} +\def\big{\bBigg@\@ne} +\def\Big{\bBigg@{1.5}} +\def\bigg{\bBigg@\tw@} +\def\Bigg{\bBigg@{2.5}} +\def\bBigg@#1#2{% + {% + \hbox{$\left#2\vcenter to#1\big@size{}\right.% + \n@space + $}}} +\addto@hook\every@math@size{% + \global\big@size 1.2\ht\Mathstrutbox@ + \global\advance\big@size 1.2\dp\Mathstrutbox@ } +\newdimen\big@size +%% msam, msbm, eufm fonts dealt with at end of file +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% filename = "amsbsy.dtx", +%%% version = "1.2beta", +%%% date = "1994/10/27", +\DeclareRobustCommand{\boldsymbol}[1]{% + \begingroup + \let\@nomath\@gobble \mathversion{bold}% + \math@atom{#1}{% + \mathchoice% + {\hbox{$\m@th\displaystyle#1$}}% + {\hbox{$\m@th\textstyle#1$}}% + {\hbox{$\m@th\scriptstyle#1$}}% + {\hbox{$\m@th\scriptscriptstyle#1$}}}% + \endgroup} +\def\math@atom#1#2{% + \binrel@{#1}\binrel@@{#2}} +\DeclareRobustCommand{\pmb}{% + \ifmmode\else \expandafter\pmb@@\fi\mathpalette\pmb@} +\def\pmb@@#1#2#3{\leavevmode\setboxz@h{#3}% + \dimen@-\wdz@ + \kern-.5\ex@\copy\z@ + \kern\dimen@\kern.25\ex@\raise.4\ex@\copy\z@ + \kern\dimen@\kern.25\ex@\box\z@ +} +\newdimen\pmbraise@ +\def\pmb@#1#2{\setbox8\hbox{$\m@th#1{#2}$}% + \setboxz@h{$\m@th#1\mkern.5mu$}\pmbraise@\wdz@ + \binrel@{#2}% + \dimen@-\wd8 % + \binrel@@{% + \mkern-.8mu\copy8 % + \kern\dimen@\mkern.4mu\raise\pmbraise@\copy8 % + \kern\dimen@\mkern.4mu\box8 }% +} +\def\binrel@#1{\begingroup + \setboxz@h{\thinmuskip0mu + \medmuskip\m@ne mu\thickmuskip\@ne mu + \setbox\tw@\hbox{$#1\m@th$}\kern-\wd\tw@ + ${}#1{}\m@th$}% + \edef\@tempa{\endgroup\let\noexpand\binrel@@ + \ifdim\wdz@<\z@ \mathbin + \else\ifdim\wdz@>\z@ \mathrel + \else \relax\fi\fi}% + \@tempa +} +\let\binrel@@\relax +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\AmSTeX{\protect\AmS-\protect\TeX{}} +\def\AmS{{\protect\AmSfont + A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}} +\def\AmSfont{% + \usefont{OMS}{cmsy}{\if\@xp\@car\f@series\@nil bb\else m\fi}{n}} +\def\prim@s{\prime\futurelet\@let@token\pr@m@s} +\def\pr@m@s{% + \ifx\@let@token'\DN@##1{\prim@s}\else\let\next@\egroup\fi\next@} +\let\@prime=\prime +\renewcommand{\prime}{{\kern\z@\@prime}} +\DeclareRobustCommand{\mspace}[3]{% + \ifmmode\mskip#1#2\else\kern#1#3\fi\relax} +\renewcommand{\,}{\mspace+\thinmuskip{.1667em}} +\let\thinspace\, +\renewcommand{\!}{\mspace-\thinmuskip{.1667em}} +\let\negthinspace\! +\renewcommand{\:}{\mspace+\medmuskip{.2222em}} +\let\medspace\: +\newcommand{\negmedspace}{\mspace-\medmuskip{.2222em}} +\renewcommand{\;}{\mspace+\thickmuskip{.2777em}} +\let\thickspace\; +\newcommand{\negthickspace}{\mspace-\thickmuskip{.2777em}} +\def\implies{\DOTSB\;\Longrightarrow\;} +\def\impliedby{\DOTSB\;\Longleftarrow\;} +\begingroup \catcode`\"=12 % in case activated by a preceding package +\gdef\And{\DOTSB\;\mathchar"3026 \;} +\gdef\lvert{\delimiter"426A30C } +\gdef\rvert{\delimiter"526A30C } +\gdef\lVert{\delimiter"426B30D } +\gdef\rVert{\delimiter"526B30D } +\endgroup % restore " +\DeclareRobustCommand{\frac}{\new@ifnextchar[{\frfrac{}}{\frfrac{}[]}} +\def\frfrac#1[#2]#3#4{\def\next@{#2}% + \ifx\next@\@empty \def\next@{#1{#3\over#4}}% + \else \def\next@{{#1{#3\above#2\relax#4}}}% + \fi + \next@} +\def\dfrac{\protect\frfrac\displaystyle[]} +\def\tfrac{\protect\frfrac\textstyle[]} +\DeclareRobustCommand{\binom}{\frbinom{}} +\def\frbinom#1#2#3{{#1{#2\atopwithdelims()#3}}} +\def\dbinom{\protect\frbinom\displaystyle} +\def\tbinom{\protect\frbinom\textstyle} +\def\colon{\nobreak\mskip2mu\mathpunct{}\nonscript + \mkern-\thinmuskip{:}\mskip6muplus1mu\relax} +\begingroup \catcode`\"=12 +\DeclareMathSymbol{\coprod@}{\mathop}{largesymbols}{"60} +\gdef\coprod{\DOTSB\coprod@\slimits@} +\DeclareMathSymbol{\bigvee@}{\mathop}{largesymbols}{"57} +\gdef\bigvee{\DOTSB\bigvee@\slimits@} +\DeclareMathSymbol{\bigwedge@}{\mathop}{largesymbols}{"56} +\gdef\bigwedge{\DOTSB\bigwedge@\slimits@} +\DeclareMathSymbol{\biguplus@}{\mathop}{largesymbols}{"55} +\gdef\biguplus{\DOTSB\biguplus@\slimits@} +\DeclareMathSymbol{\bigcap@}{\mathop}{largesymbols}{"54} +\gdef\bigcap{\DOTSB\bigcap@\slimits@} +\DeclareMathSymbol{\bigcup@}{\mathop}{largesymbols}{"53} +\gdef\bigcup{\DOTSB\bigcup@\slimits@} +\DeclareMathSymbol{\prod@}{\mathop}{largesymbols}{"51} +\gdef\prod{\DOTSB\prod@\slimits@} +\DeclareMathSymbol{\sum@}{\mathop}{largesymbols}{"50} +\gdef\sum{\DOTSB\sum@\slimits@} +\DeclareMathSymbol{\bigotimes@}{\mathop}{largesymbols}{"4E} +\gdef\bigotimes{\DOTSB\bigotimes@\slimits@} +\DeclareMathSymbol{\bigoplus@}{\mathop}{largesymbols}{"4C} +\gdef\bigoplus{\DOTSB\bigoplus@\slimits@} +\DeclareMathSymbol{\bigodot@}{\mathop}{largesymbols}{"4A} +\gdef\bigodot{\DOTSB\bigodot@\slimits@} +\DeclareMathSymbol{\bigsqcup@}{\mathop}{largesymbols}{"46} +\gdef\bigsqcup{\DOTSB\bigsqcup@\slimits@} +\endgroup +\def\dddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ + \hbox{\normalfont ...}\vss}}}} +\def\ddddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ + \hbox{\normalfont....}\vss}}}} +\def~{\nobreakspace} +\DeclareRobustCommand{\nobreakspace}{\unskip\nobreak\ \ignorespaces} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newif\if@display +\everydisplay\expandafter{\the\everydisplay \@displaytrue} +\def\int{\DOTSI\intop\ilimits@} +\def\oint{\DOTSI\ointop\ilimits@} +\def\intkern@{\mkern-6mu\mathchoice{\mkern-3mu}{}{}{}} +\def\intdots@{\mathchoice{\@cdots}% + {{\cdotp}\mkern1.5mu{\cdotp}\mkern1.5mu{\cdotp}}% + {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}% + {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}} + +\def\iint{\DOTSI\protect\ints@\tw@} +\def\iiint{\DOTSI\protect\ints@\thr@@} +\def\iiiint{\DOTSI\protect\ints@{4}} +\def\idotsint{\DOTSI\protect\ints@\z@} + +\def\ints@#1{% + \mkern-7mu\mathchoice{\mkern-2mu}{}{}{}% + \mathop{\mkern7mu\mathchoice{\mkern2mu}{}{}{}% + \intop\ifnum#1=\z@\intdots@ + \else\intkern@\fi + \ifnum#1>\tw@\intop\intkern@\fi + \ifnum#1>\thr@@\intop\intkern@\fi + \intop + }\ilimits@ +} +\def\nolimits@{% + \DN@{\nolimits\ifx\@let@token\limits\expandafter\@gobble\fi}% + \FN@\next@} +\begingroup \catcode`\"=12 +\gdef\newmcodes@{\mathcode`\'39\mathcode`\*42\mathcode`\."613A% + \mathcode`\-45\mathcode`\/47\mathcode`\:"603A\relax} +\endgroup +\DeclareRobustCommand{\operatorname}{% + \@ifstar{\qopname\newmcodes@ n}% + {\qopname\newmcodes@{no}}}% +\DeclareRobustCommand{\qopname}[3]{\mathop{#1\kern\z@\operator@font#3}% + \csname #2limits@\endcsname} +\def\arccos{\qopname\relax{no}{arccos}} +\def\arcsin{\qopname\relax{no}{arcsin}} +\def\arctan{\qopname\relax{no}{arctan}} +\def\arg{\qopname\relax{no}{arg}} +\def\cos{\qopname\relax{no}{cos}} +\def\cosh{\qopname\relax{no}{cosh}} +\def\cot{\qopname\relax{no}{cot}} +\def\coth{\qopname\relax{no}{coth}} +\def\csc{\qopname\relax{no}{csc}} +\def\deg{\qopname\relax{no}{deg}} +\def\det{\qopname\relax n{det}} +\def\dim{\qopname\relax{no}{dim}} +\def\exp{\qopname\relax{no}{exp}} +\def\gcd{\qopname\relax n{gcd}} +\def\hom{\qopname\relax{no}{hom}} +\def\inf{\qopname\relax n{inf}} +\def\injlim{\qopname\relax n{inj\,lim}} +\def\ker{\qopname\relax{no}{ker}} +\def\lg{\qopname\relax{no}{lg}} +\def\lim{\qopname\relax n{lim}} +\def\liminf{\qopname\relax n{lim\,inf}} +\def\limsup{\qopname\relax n{lim\,sup}} +\def\ln{\qopname\relax{no}{ln}} +\def\log{\qopname\relax{no}{log}} +\def\max{\qopname\relax n{max}} +\def\min{\qopname\relax n{min}} +\def\Pr{\qopname\relax n{Pr}} +\def\projlim{\qopname\relax n{proj\,lim}} +\def\sec{\qopname\relax{no}{sec}} +\def\sin{\qopname\relax{no}{sin}} +\def\sinh{\qopname\relax{no}{sinh}} +\def\sup{\qopname\relax n{sup}} +\def\tan{\qopname\relax{no}{tan}} +\def\tanh{\qopname\relax{no}{tanh}} +\def\operator@font{\mathgroup\symoperators} +\def\operatornamewithlimits{\operatorname*} +\def\varlim@#1#2{\mathop{\vtop{\ialign{##\crcr + \hfil$#1\m@th\operator@font lim$\hfil\crcr + \noalign{\nointerlineskip\kern\ex@}#2#1\crcr + \noalign{\nointerlineskip\kern-\ex@}\crcr}}}} +\def\varinjlim{\mathpalette\varlim@\rightarrowfill@} +\def\varprojlim{\mathpalette\varlim@\leftarrowfill@} +\def\varliminf{\mathpalette\varliminf@{}} +\def\varliminf@#1{\mathop{\@@underline{\vrule\@depth.2\ex@\@width\z@ + \hbox{$#1\m@th\operator@font lim$}}}} +\def\varlimsup{\mathpalette\varlimsup@{}} +\def\varlimsup@#1{\mathop{\@@overline + {\hbox{$#1\m@th\operator@font lim$}}}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\numberwithin#1#2{\@ifundefined{c@#1}{\@nocounterr{#1}}{% + \@ifundefined{c@#2}{\@nocnterr{#2}}{% + \@addtoreset{#1}{#2}% + \toks@\expandafter\expandafter\expandafter{\csname the#1\endcsname}% + \expandafter\xdef\csname the#1\endcsname + {\expandafter\noexpand\csname the#2\endcsname + .\the\toks@}}}} +\def\eqref#1{\textup{\tagform@{\ref{#1}}}} +\def\bmod{\mskip-\medmuskip\mkern5mu\mathbin + {\operator@font mod}\penalty900 + \mkern5mu\mskip-\medmuskip} +\def\pod#1{\allowbreak\if@display\mkern18mu\else\mkern8mu\fi(#1)} +\def\pmod#1{\pod{{\operator@font mod}\mkern6mu#1}} +\def\mod#1{\allowbreak\if@display\mkern18mu + \else\mkern12mu\fi{\operator@font mod}\,\,#1} +\newcommand{\cfrac}[3][c]{{\displaystyle\frac{% + \strut\ifx r#1\hfill\fi#2\ifx l#1\hfill\fi}{#3}}% + \kern-\nulldelimiterspace} +\def\lcfrac{\cfrac[l]} +\def\rcfrac{\cfrac[r]} +\def\overset#1#2{\binrel@{#2}% + \binrel@@{\mathop{\kern\z@#2}\limits^{#1}}} +\def\underset#1#2{\binrel@{#2}% + \binrel@@{\mathop{\kern\z@#2}\limits_{#1}}} +\def\sideset#1#2#3{% + \setbox\z@\hbox{$\displaystyle{\vphantom{#3}}#1{#3}\m@th$}% + \setbox\tw@\hbox{$\displaystyle{#3}#2\m@th$}% + \hskip\wd\z@\hskip-\wd\tw@\mathop{\hskip\wd\tw@\hskip-\wd\z@ + {\vphantom{#3}}#1{#3}#2}} +\renewcommand{\smash}[2][tb]{% + \def\smash@{#1}% + \ifmmode\expandafter\mathpalette\expandafter\mathsm@sh\else + \expandafter\makesm@sh\fi{#2}} +\def\finsm@sh{\def\mb@t{\ht\z@\z@}\def\mb@b{\dp\z@\z@}% + \def\mb@tb{\mb@t\mb@b}% + {\csname mb@\smash@\endcsname}% + \leavevmode\boxz@} +\def\rightarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@ + $#1\copy\z@\mkern-6mu\cleaders + \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill + \mkern-6mu\mathord\rightarrow$} +\def\leftarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@ + $#1\mathord\leftarrow\mkern-6mu\cleaders + \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill + \mkern-6mu\box\z@$} +\def\leftrightarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@ + $#1\mathord\leftarrow\mkern-6mu\cleaders + \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill + \mkern-6mu\mathord\rightarrow$} +\def\overarrow@#1#2#3{\vbox{\ialign{##\crcr#1#2\crcr + \noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#2#3\hfil$\crcr}}} +\def\overrightarrow{\mathpalette{\overarrow@\rightarrowfill@}} +\def\overleftarrow{\mathpalette{\overarrow@\leftarrowfill@}} +\def\overleftrightarrow{\mathpalette{\overarrow@\leftrightarrowfill@}} +\def\underarrow@#1#2#3{% + \vtop{\ialign{##\crcr$\m@th\hfil#2#3\hfil$\crcr + \noalign{\nointerlineskip\kern-.5\ex@}#1#2\crcr}}} +\def\underrightarrow{\mathpalette{\underarrow@\rightarrowfill@}} +\def\underleftarrow{\mathpalette{\underarrow@\leftarrowfill@}} +\def\underleftrightarrow{\mathpalette{\underarrow@\leftrightarrowfill@}} +\let\ifgtest@\iffalse % initial value +\def\gtest@true{\global\let\ifgtest@\iftrue} +\def\gtest@false{\global\let\ifgtest@\iffalse} +\let\DOTSI\relax +\let\DOTSB\relax +\let\DOTSX\relax +{\uccode`7=`\\ \uccode`8=`m \uccode`9=`a \uccode`0=`t \uccode`!=`h + \uppercase{% + \gdef\math@#1#2#3#4#5#6\math@{\gtest@false\ifx 7#1\ifx 8#2% + \ifx 9#3\ifx 0#4\ifx !#5\xdef\meaning@{#6}\gtest@true + \fi\fi\fi\fi\fi}}} +{\uccode`7=`c \uccode`8=`h \uccode`9=`\" + \uppercase{\gdef\mathch@#1#2#3#4#5#6\mathch@{\gtest@false + \ifx 7#1\ifx 8#2\ifx 9#5\gtest@true\xdef\meaning@{9#6}\fi\fi\fi}}} +\newcount\classnum@ +\def\getmathch@#1.#2\getmathch@{\classnum@#1 \divide\classnum@4096 + \ifcase\number\classnum@\or\or\gdef\thedots@{\dotsb@}\or + \gdef\thedots@{\dotsb@}\fi} +{\uccode`4=`b \uccode`5=`i \uccode`6=`n + \uppercase{\gdef\mathbin@#1#2#3{\relaxnext@ + \def\nextii@##1\mathbin@{\ifx\@sptoken\@let@token\gtest@true\fi}% + \gtest@false\DN@##1\mathbin@{}% + \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}} +{\uccode`4=`r \uccode`5=`e \uccode`6=`l + \uppercase{\gdef\mathrel@#1#2#3{\relaxnext@ + \def\nextii@##1\mathrel@{\ifx\@sptoken\@let@token\gtest@true\fi}% + \gtest@false\DN@##1\mathrel@{}% + \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}} +{\uccode`5=`m \uccode`6=`a \uccode`7=`c + \uppercase{\gdef\macro@#1#2#3#4\macro@{\gtest@false + \ifx 5#1\ifx 6#2\ifx 7#3\gtest@true + \xdef\meaning@{\macro@@#4\macro@@}\fi\fi\fi}}} +\def\macro@@#1->#2\macro@@{#2} +\newcount\DOTSCASE@ +{\uccode`6=`\\ \uccode`7=`D \uccode`8=`O \uccode`9=`T \uccode`0=`S + \uppercase{\gdef\DOTS@#1#2#3#4#5{\gtest@false\DN@##1\DOTS@{}% + \ifx 6#1\ifx 7#2\ifx 8#3\ifx 9#4\ifx 0#5\let\next@\DOTS@@ + \fi\fi\fi\fi\fi + \next@}}} +{\uccode`3=`B \uccode`4=`I \uccode`5=`X + \uppercase{\gdef\DOTS@@#1{\relaxnext@ + \def\nextii@##1\DOTS@{\ifx\@sptoken\@let@token\gtest@true\fi}% + \DN@{\FN@\nextii@}% + \ifx 3#1\global\DOTSCASE@\z@\else + \ifx 4#1\global\DOTSCASE@\@ne\else + \ifx 5#1\global\DOTSCASE@\tw@\else\DN@##1\DOTS@{}% + \fi\fi\fi\next@}}} +{\uccode`5=`\\ \uccode`6=`n \uccode`7=`o \uccode`8=`t + \uppercase{\gdef\not@#1#2#3#4{\relaxnext@ + \def\nextii@##1\not@{\ifx\@sptoken\@let@token\gtest@true\fi}% + \gtest@false\DN@##1\not@{}% + \ifx 5#1\ifx 6#2\ifx 7#3\ifx 8#4\DN@{\FN@\nextii@}\fi\fi\fi + \fi\next@}}} +\def\keybin@{\gtest@true + \ifx\@let@token+\else\ifx\@let@token=\else\ifx\@let@token<% + \else\ifx\@let@token>\else\ifx\@let@token-\else\ifx\@let@token*% + \else\ifx\@let@token:\else\gtest@false\fi\fi\fi\fi\fi\fi\fi} +\@ifundefined{@ldots}{\def\@ldots{\mathellipsis}}{} +\DeclareRobustCommand{\dots}{\relax + \csname\ifmmode m\else t\fi dots@\endcsname} +\def\tdots@{\leavevmode\unskip\relaxnext@ + \DN@{$\m@th\@ldots\, + \ifx\@let@token,\,$\else\ifx\@let@token.\,$\else\ifx\@let@token;\,$% + \else\ifx\@let@token:\,$\else\ifx\@let@token?\,$% + \else\ifx\@let@token!\,$\else$ \fi\fi\fi\fi\fi\fi}% + \ \FN@\next@} +\def\mdots@{\FN@\mdots@@} +\def\mdots@@{\gdef\thedots@{\dotso@}% + \ifx\@let@token\boldsymbol\gdef\thedots@\boldsymbol{\boldsymboldots@}% + \else\ifx,\@let@token\gdef\thedots@{\dotsc}% + \else\ifx\not\@let@token\gdef\thedots@{\dotsb@}% + \else\keybin@ + \ifgtest@\gdef\thedots@{\dotsb@}% + \else\xdef\meaning@{\meaning\@let@token..........}% + \xdef\meaning@@{\meaning@}% + \expandafter\math@\meaning@\math@ + \ifgtest@ + \expandafter\mathch@\meaning@\mathch@ + \ifgtest@\expandafter\getmathch@\meaning@\getmathch@\fi + \else\expandafter\macro@\meaning@@\macro@ + \ifgtest@ + \expandafter\not@\meaning@\not@\ifgtest@\gdef\thedots@{\dotsb@}% + \else\expandafter\DOTS@\meaning@\DOTS@ + \ifgtest@ + \ifcase\number\DOTSCASE@\gdef\thedots@{\dotsb@}% + \or\gdef\thedots@{\dotsi}\else\fi + \else\expandafter\math@\meaning@\math@ + \ifgtest@\expandafter\mathbin@\meaning@\mathbin@ + \ifgtest@\gdef\thedots@{\dotsb@}% + \else\expandafter\mathrel@\meaning@\mathrel@ + \ifgtest@\gdef\thedots@{\dotsb@}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \thedots@} +\def\boldsymboldots@#1{% + \bold@true\let\@let@token=#1\let\delayed@=#1\mdots@@ + \boldsymbol#1\bold@false} +\def\@cdots{\mathinner{\cdotp\cdotp\cdotp}} +\def\dotsi{\!\@cdots} +\let\dotsb@\@cdots +\def\rightdelim@{\gtest@true + \ifx\@let@token)\else + \ifx\@let@token]\else + \ifx\@let@token\rbrack\else + \ifx\@let@token\}\else + \ifx\@let@token\rbrace\else + \ifx\@let@token\rangle\else + \ifx\@let@token\rceil\else + \ifx\@let@token\rfloor\else + \ifx\@let@token\rgroup\else + \ifx\@let@token\rmoustache\else + \ifx\@let@token\right\else + \ifx\@let@token\bigr\else + \ifx\@let@token\biggr\else + \ifx\@let@token\Bigr\else + \ifx\@let@token\Biggr\else\gtest@false + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} +\def\extra@{% + \rightdelim@\ifgtest@ + \else\ifx\@let@token$\gtest@true + \else\xdef\meaning@{\meaning\@let@token..........}% + \expandafter\macro@\meaning@\macro@\ifgtest@ + \expandafter\DOTS@\meaning@\DOTS@ + \ifgtest@ + \ifnum\DOTSCASE@=\tw@\gtest@true\else\gtest@false + \fi\fi\fi\fi\fi} +\newif\ifbold@ +\def\dotso@{\relaxnext@ + \ifbold@ + \let\@let@token\delayed@ + \def\nextii@{\extra@\@ldots\ifgtest@\,\fi}% + \else + \def\nextii@{\DN@{\extra@\@ldots\ifgtest@\,\fi}\FN@\next@}% + \fi + \nextii@} +\def\extrap@#1{% + \DN@{#1\,}% + \ifx\@let@token,\else + \ifx\@let@token;\else + \ifx\@let@token.\else\extra@ + \ifgtest@\else + \let\next@#1\fi\fi\fi\fi\next@} +\DeclareRobustCommand{\ldots}{\relax + \ifmmode \DN@{\extrap@\@ldots}% + \else \let\next@\tdots@\fi + \FN@\next@} +\DeclareRobustCommand{\cdots}{\DN@{\extrap@\@cdots}\FN@\next@} +\let\dotso\ldots +\let\dotsb\cdots +\let\dotsm\dotsb +\DeclareRobustCommand{\dotsc}{% + \DN@{\ifx\@let@token;\@ldots\,% + \else \ifx\@let@token.\@ldots\,% + \else \extra@\@ldots \ifgtest@\,\fi + \fi\fi}% + \FN@\next@} +\def\longrightarrow{\DOTSB\relbar\joinrel\rightarrow} +\def\Longrightarrow{\DOTSB\Relbar\joinrel\Rightarrow} +\def\longleftarrow{\DOTSB\leftarrow\joinrel\relbar} +\def\Longleftarrow{\DOTSB\Leftarrow\joinrel\Relbar} +\def\longleftrightarrow{\DOTSB\leftarrow\joinrel\rightarrow} +\def\Longleftrightarrow{\DOTSB\Leftarrow\joinrel\Rightarrow} +\def\mapsto{\DOTSB\mapstochar\rightarrow} +\def\longmapsto{\DOTSB\mapstochar\longrightarrow} +\def\hookrightarrow{\DOTSB\lhook\joinrel\rightarrow} +\def\hookleftarrow{\DOTSB\leftarrow\joinrel\rhook} +\def\doteq{\DOTSB\buildrel\textstyle.\over=} +\def\iff{\DOTSB\;\Longleftrightarrow\;} +\begingroup \catcode`\"=12 +\mathchardef\@tempa="7000 +\ifx\@tempa\Gamma + \DeclareMathSymbol{\Gamma}{\mathord}{operators}{"00} + \DeclareMathSymbol{\Delta}{\mathord}{operators}{"01} + \DeclareMathSymbol{\Theta}{\mathord}{operators}{"02} + \DeclareMathSymbol{\Lambda}{\mathord}{operators}{"03} + \DeclareMathSymbol{\Xi}{\mathord}{operators}{"04} + \DeclareMathSymbol{\Pi}{\mathord}{operators}{"05} + \DeclareMathSymbol{\Sigma}{\mathord}{operators}{"06} + \DeclareMathSymbol{\Upsilon}{\mathord}{operators}{"07} + \DeclareMathSymbol{\Phi}{\mathord}{operators}{"08} + \DeclareMathSymbol{\Psi}{\mathord}{operators}{"09} + \DeclareMathSymbol{\Omega}{\mathord}{operators}{"0A} + \DeclareMathSymbol{\varGamma}{\mathord}{letters}{"00} + \DeclareMathSymbol{\varDelta}{\mathord}{letters}{"01} + \DeclareMathSymbol{\varTheta}{\mathord}{letters}{"02} + \DeclareMathSymbol{\varLambda}{\mathord}{letters}{"03} + \DeclareMathSymbol{\varXi}{\mathord}{letters}{"04} + \DeclareMathSymbol{\varPi}{\mathord}{letters}{"05} + \DeclareMathSymbol{\varSigma}{\mathord}{letters}{"06} + \DeclareMathSymbol{\varUpsilon}{\mathord}{letters}{"07} + \DeclareMathSymbol{\varPhi}{\mathord}{letters}{"08} + \DeclareMathSymbol{\varPsi}{\mathord}{letters}{"09} + \DeclareMathSymbol{\varOmega}{\mathord}{letters}{"0A} +\fi +\endgroup +\def\accentclass@{7} +\def\noaccents@{\def\accentclass@{0}} +\DeclareFontEncoding{OML}{}{\noaccents@} +\DeclareFontEncoding{OMS}{}{\noaccents@} +\edef\@tempa#1#2{\def#1{\mathaccent\string"\noexpand\accentclass@#2 }} +\@tempa\hat{05E}\@tempa\check{014}\@tempa\tilde{07E}\@tempa\acute{013} +\@tempa\grave{012}\@tempa\dot{05F}\@tempa\ddot{07F}\@tempa\breve{015} +\@tempa\bar{016} +\newcount\skewcharcount@ +\newcount\familycount@ +\def\theskewchar@{\familycount@\@ne + \global\skewcharcount@\the\skewchar\textfont\@ne + \ifnum\mathgroup>\m@ne\ifnum\mathgroup<16 + \global\familycount@\the\mathgroup\relax + \global\skewcharcount@\the\skewchar\textfont\the\mathgroup\relax\fi\fi + \ifnum\skewcharcount@>\m@ne + \ifnum\skewcharcount@<128 + \multiply\familycount@256 + \global\advance\skewcharcount@\familycount@ + \global\advance\skewcharcount@28672 + \mathchar\skewcharcount@\else + \global\skewcharcount@\m@ne\fi\else + \global\skewcharcount@\m@ne\fi} +\newcount\pointcount@ +\def\getpoints@#1.#2\getpoints@{\pointcount@#1 } +\newdimen\accentdimen@ +\newcount\accentmu@ +\def\dimentomu@{\multiply\accentdimen@ 100 + \expandafter\getpoints@\the\accentdimen@\getpoints@ + \multiply\pointcount@18 + \divide\pointcount@\@m + \global\accentmu@\pointcount@} +\def\mathaccent@#1#2{\ifnum\mathgroup=\m@ne\xdef\thefam@{1}\else + \xdef\thefam@{\the\mathgroup}\fi + \accentdimen@\z@ + \setboxz@h{\unbracefonts@$\m@th\mathgroup\thefam@\relax#2$}% + \ifdim\accentdimen@=\z@\DN@{\mathaccent#1{#2}}% + \setbox\@ne\hbox{\unbracefonts@ + $\m@th\mathgroup\thefam@\relax#2\theskewchar@$} + \setbox\tw@\hbox{$\m@th\ifnum\skewcharcount@=\m@ne\else + \mathchar\skewcharcount@\fi$}% + \global\accentdimen@\wd\@ne\global\advance\accentdimen@-\wdz@ + \global\advance\accentdimen@-\wd\tw@ + \global\multiply\accentdimen@\tw@ + \dimentomu@\global\advance\accentmu@\@ne + \else\DN@{{\mathaccent#1{#2\mkern\accentmu@ mu}% + \mkern-\accentmu@ mu}{}}\fi + \next@} +\def\unbracefonts@{\let\math@bgroup\@empty\let\math@egroup\@empty} +\begingroup \catcode`\"=12 +\def\@tempa#1#2{\gdef#1{\RIfM@\DN@{\mathaccent@{"\accentclass@#2 }}% + \else\DN@{\nonmatherr@{#1}}\fi\next@}} +\@tempa\Hat{05E}\@tempa\Check{014}\@tempa\Tilde{07E}\@tempa\Acute{013} +\@tempa\Grave{012}\@tempa\Dot{05F}\@tempa\Ddot{07F}\@tempa\Breve{015} +\@tempa\Bar{016} +\gdef\Vec{\RIfM@\DN@{\mathaccent@{"017E }}\else + \DN@{\nonmatherr@\Vec}\fi\next@} +\endgroup +\begingroup \catcode`\"=12 +\gdef\@@sqrt#1{\radical"270370 {#1}} +\endgroup +\@saveprimitive\overline\@@overline +\def\overline#1{\@@overline{#1}} +\def\boxed#1{\fbox{\m@th$\displaystyle#1$}} +\def\setb@ck{\iffirstchoice@\global\advance\c@equation\m@ne\fi} +\newcount\dspbrk@lvl +\dspbrk@lvl=-1 +\interdisplaylinepenalty\@M +\def\allowdisplaybreaks{% + \new@ifnextchar[\allowdspbrks@{\allowdspbrks@[4]}} +\def\allowdspbrks@[#1]{% + \interdisplaylinepenalty\getdsp@pen{#1}} +\def\getdsp@pen#1{% + \ifcase #1\relax \@M + \or 9999 + \or 6999 + \or 2999 + \or \z@\fi} +\def\displaybreak{\PackageError{amstex}{\Invalid@@\displaybreak}\@eha} +\def\displaybreak@{% + \def\displaybreak{\new@ifnextchar[\dspbrk@{\dspbrk@[4]}}} +\def\dspbrk@[#1]{\global\dspbrk@lvl #1\relax} +\def\math@cr{{\ifnum0=`}\fi + \new@ifstar{\global\@eqpen\@M\math@cr@}% + {\global\@eqpen + \ifnum\dspbrk@lvl <\z@ \interdisplaylinepenalty + \else -\@getpen\dspbrk@lvl \fi + \math@cr@}} +\def\math@cr@{\new@ifnextchar[\math@cr@@{\math@cr@@[\z@]}} +\def\math@cr@@[#1]{\ifnum0=`{\fi}\math@cr@@@ + \noalign{\vskip#1\relax}} +\def\Let@{\let\\\math@cr} +\def\restore@math@cr{\def\math@cr@@@{\cr}} +\restore@math@cr +\def\intertext{\PackageError{amstex}{\Invalid@@\intertext}\@eha} +\def\intertext@{\def\intertext##1{\noalign{% + \penalty\postdisplaypenalty\vskip\belowdisplayskip + \vbox{\normalbaselines\noindent##1}% + \penalty\predisplaypenalty\vskip\abovedisplayskip}}} +\newhelp\tag@help + {tag cannot be used at this point.\space + If you don't understand why^^Jyou should consult + the documentation.^^JBut don't worry: just continue, and I'll + forget what happened.} +\def\gobble@tag{\new@ifstar\@gobble\@gobble} +\def\invalid@tag#1{\PackageError{amstex}{#1}{\the\tag@help}\gobble@tag} +\def\dft@tag{\invalid@tag{\string\tag\space not allowed here}} +\def\default@tag{\let\tag\dft@tag} +\default@tag +\def\maketag@@{\new@ifstar\maketag@@@\tagform@} +\def\maketag@@@#1{\hbox{\m@th\normalfont#1}} +\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip)}} +\def\thetag{\leavevmode\tagform@} +\def\make@df@tag{\new@ifstar\make@df@tag@@\make@df@tag@@@} +\def\make@df@tag@@#1{% + \def\@currentlabel{#1}% + \gdef\df@tag{\maketag@@@{#1}}} +\def\make@df@tag@@@#1{\@seteqlabel{#1}\gdef\df@tag{\tagform@{#1}}} +\def\@seteqlabel#1{\toks@\@xp{\p@equation{#1}}% + \edef\@currentlabel{\the\toks@}} +\def\notag{\nonumber} +\iftagsleft@ +\def\@eqnnum{\hbox to1sp{}\rlap{\normalfont + \hskip -\displaywidth\tagform@\theequation}} +\fi + +\let\@adjusttag\@empty + +\def\adjusttag#1{\skip@#1\relax\gdef\@adjusttag{#1}} + +\def\@movetag{% + \ifx\@adjusttag\@empty \else + \vskip\@adjusttag\relax + \global\let\@adjusttag\@empty + \fi +} +\def\multilimits@{\bgroup + \Let@ + \restore@math@cr + \default@tag + \baselineskip\fontdimen10 \scriptfont\tw@ + \advance\baselineskip\fontdimen12 \scriptfont\tw@ + \lineskip\thr@@\fontdimen8 \scriptfont\thr@@ + \lineskiplimit\lineskip + \vbox\bgroup\ialign\bgroup\hfil$\m@th\scriptstyle{##}$\hfil\crcr} +\def\Sb{_\multilimits@} +\def\Sp{^\multilimits@} +\def\endSb{\crcr\egroup\egroup\egroup} +\let\endSp=\endSb +\def\smallmatrix{\null\,\vcenter\bgroup + \Let@\restore@math@cr\default@tag + \baselineskip6\ex@ \lineskip1.5\ex@ \lineskiplimit\lineskip + \ialign\bgroup\hfil$\m@th\scriptstyle{##}$\hfil&&\thickspace\hfil + $\m@th\scriptstyle{##}$\hfil\crcr} +\def\endsmallmatrix{\crcr\egroup\egroup\,} +\newcount\c@MaxMatrixCols +\c@MaxMatrixCols=10 + +\def\matrix{\hskip -\arraycolsep\array{*\c@MaxMatrixCols c}} +\def\endmatrix{\endarray \hskip -\arraycolsep} +\@ifundefined{prepnext@tok}{% + \def\@array[#1]#2{% + \setbox\@arstrutbox\hbox{\vrule\@height\arraystretch\ht\strutbox + \@depth\arraystretch\dp\strutbox \@width\z@}% + \@mkpream{#2}\edef\@preamble{\ialign \noexpand\@halignto + \bgroup \tabskip\z@ \@arstrut \@preamble \tabskip\z@ \cr}% + \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox + \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi + \bgroup \let\par\@empty + \let\@sharp##\let\protect\relax + \lineskip\z@\baselineskip\z@\@preamble}% +\begingroup \lccode`\~=`\@ \catcode`\~=\active % just to be sure! +\lowercase{% +\gdef\@xexpast#1*#2#3#4\@@{\begingroup + \def~{@}\edef\reserved@a{#1}\@tempcnta#2\relax + \ifnum\@tempcnta >\z@ + \@whilenum\@tempcnta >\z@\do + {\edef\reserved@a{\reserved@a#3}\advance\@tempcnta \m@ne}% + \let\reserved@b\@xexpast + \else \let\reserved@b\@xexnoop\fi + \expandafter\reserved@b \reserved@a #4\@@ + \expandafter\endgroup + \expandafter\def\expandafter\reserved@a\expandafter{\reserved@a}% + \let\@tempa\reserved@a +}% End of \@xexpast +}% End of \lowercase +\endgroup +}{}% End of \@ifundefined test. +\def\pmatrix{\left(\matrix} +\def\endpmatrix{\endmatrix\right)} +\def\bmatrix{\left[\matrix} +\def\endbmatrix{\endmatrix\right]} +\def\vmatrix{\left|\matrix} +\def\endvmatrix{\endmatrix\right|} +\def\Vmatrix{\left\|\matrix} +\def\endVmatrix{\endmatrix\right\|} +\let\hdots\@ldots +\def\hdotsfor#1{\if\noexpand#1[\expandafter\shdots@for\else + \hdots@for\@ne{#1}\fi} +\newmuskip\dotsspace@ +\def\shdots@for#1]{\hdots@for{#1}} +\def\hdots@for#1#2{\multicolumn{#2}c% + {\m@th\dotsspace@1.5mu\mkern-#1\dotsspace@ + \xleaders\hbox{$\m@th\mkern#1\dotsspace@.\mkern#1\dotsspace@$}% + \hfill + \mkern-#1\dotsspace@}% + } +\def\cases{\left\{\def\arraystretch{1.2}\hskip-\arraycolsep + \array{l@{\quad}l}} +\def\endcases{\endarray\hskip-\arraycolsep\right.} +\newif\ifinany@ +\newif\ifinalign@ +\newif\ifingather@ +\newcount\and@ +\newif\iftag@ +\newhelp\andhelp@ +{An extra & here is so disastrous that you should probably exit^^J +and fix things up.} +\newif\ifst@rred +\newtoks\@envbody +\def\addto@envbody#1{\@envbody\expandafter{\the\@envbody#1}} +\def\collect@body#1{% + \@envbody{}% + \def\process@envbody{% + \expandafter#1\expandafter{\the\@envbody}}% + \expandafter\let\csname\@currenvir\endcsname\collect@@body + \csname\@currenvir\endcsname} +\def\collect@@body#1\end#2{% + \def\@tempa{#2}% + \ifx\@tempa\@currenvir + \addto@envbody{#1}% + \expandafter\edef\csname\@currenvir\endcsname + {\noexpand\process@envbody\noexpand\end{\@tempa}}% + \else + \addto@envbody{#1\end{#2}}% + \fi + \csname\@currenvir\endcsname} +\newenvironment{aligned}{% + \relax\ifmmode\else\nonmatherr@{\begin{aligned}}\fi + \null\,\new@ifnextchar[{\aligned@}{\aligned@[c]}% +}{% + \crcr\egroup\egroup +} +\def\aligned@[#1]{% + \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi + \bgroup + \Let@\restore@math@cr + \default@tag + \ifinany@\else\openup\jot\fi + \ialign\bgroup\hfil\strut@$\m@th\displaystyle{##}$&% + $\m@th\displaystyle{{}##}$\hfil\crcr} +\newtoks\hashtoks@ +\hashtoks@{#} +\newcount\atcount@ +\def\doat@#1{\toks@{\hfil\strut@$\m@th + \displaystyle{\the\hashtoks@}$&$\m@th\displaystyle + {{}\the\hashtoks@}$\hfil}% + \atcount@#1\relax\advance\atcount@\m@ne + \loop\ifnum\atcount@>\z@\toks@\expandafter{\the\toks@&\hfil$\m@th + \displaystyle{\the\hashtoks@}$&$\m@th + \displaystyle{{}\the\hashtoks@}$\hfil}\advance + \atcount@\m@ne\repeat + \xdef\preamble@{\the\toks@}\xdef\preamble@@{\preamble@}} +\newenvironment{alignedat}[2][c]{% + \null\,% + \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi + \bgroup\doat@{#2}\Let@ \restore@math@cr\default@tag + \ifinany@\else\openup\jot\fi\ialign\bgroup\span\preamble@@\crcr +}{% + \endaligned +} +\newenvironment{gathered}[1][c]{% + \relax\ifmmode\else\nonmatherr@{\begin{gathered}}\fi + \null\,% + \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi + \bgroup\Let@\restore@math@cr + \ifinany@\else\openup\jot\fi\ialign + \bgroup\hfil\strut@$\m@th\displaystyle##$\hfil\crcr +}{% + \endaligned +} +\def\tag@in@align{\relax + \iftag@\DN@{\invalid@tag{Multiple \string\tag}}\else + \global\tag@true + \if@eqnsw\global\@eqnswfalse\fi + \let\next@\make@df@tag\fi + \next@} +\def\math@cr@@@align{% + \if@eqnsw\global\tag@true\fi + \iftag@ + \ifcase\and@ + \DN@{&&}\else + \DN@{&}\fi\else + \let\next@\relax\fi + \next@ + \relax + \if@eqnsw\tagform@\theequation\stepcounter{equation}\else + \iftag@\df@tag\fi\fi + \global\@eqnswtrue\cr} +\def\Tag@{\relax\iftag@\else\firstchoice@true + \PackageError{amstex}{% + Extra & on this line% + }{\the\andhelp@% "An extra & here is disastrous" +}\fi} +\newdimen\lwidth@ +\newdimen\rwidth@ +\newdimen\maxlwidth@ +\newdimen\maxrwidth@ +\newdimen\totwidth@ +\def\measure@#1{\lwidth@\z@\rwidth@\z@\maxlwidth@\z@\maxrwidth@\z@ + \global\and@\z@ + \setbox\@ne\vbox{% + \everycr{\noalign{\global\tag@false\global\and@\z@}}\Let@ + \let\tag\gobble@tag + \let\notag\@empty \let\nonumber\@empty + \firstchoice@false + \halign{\setboxz@h{$\m@th\displaystyle{\@lign##}$}% + \global\lwidth@\wdz@ + \ifdim\lwidth@>\maxlwidth@\global\maxlwidth@\lwidth@\fi + \global\advance\and@\@ne + &\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}% + \global\rwidth@\wdz@ + \ifdim\rwidth@>\maxrwidth@\global\maxrwidth@\rwidth@\fi + \global\advance\and@\@ne + &\Tag@\@gobble{##}\crcr#1\crcr}}% + \totwidth@\maxlwidth@\advance\totwidth@\maxrwidth@} +\def\displ@y{\global\dt@ptrue\openup\jot\m@th + \everycr{\noalign{\ifdt@p \global\dt@pfalse + \vskip-\lineskiplimit \vskip\normallineskiplimit + \else \penalty\@eqpen \fi}}} +\def\displ@y@{\global\dt@ptrue\openup\jot + \everycr{\noalign{\global\tag@false + \global\and@\z@ + \global\dspbrk@lvl\m@ne + \ifdt@p\global\dt@pfalse + \vskip-\lineskiplimit\vskip\normallineskiplimit\else + \penalty\@eqpen\fi}}} +\def\black@#1{\noalign{\ifdim#1>\displaywidth + \dimen@\prevdepth\nointerlineskip + \vskip-\ht\strutbox@\vskip-\dp\strutbox@ + \vbox{\noindent\hbox to#1{\strut@\hfill}}% + \prevdepth\dimen@ + \fi}} +\def\align{\ifingather@ + {\ifnum0=`}\fi + \DN@{\@nameuse{align (in \string\gather)}}% + \else \ifmmode\nomath@env + \DN@{\let\endalign\relax\@gobble}\else + $$\stepcounter{equation}% + \st@rredfalse\let\next@\align@\fi\fi + \collect@body\next@} +\@namedef{align*}{\ifingather@ + {\ifnum0=`}\fi + \DN@{\@nameuse{align* (in \string\gather)}}\else + \ifmmode\nomath@env + \DN@{\@namedef{endalign*}{}\@gobble}\else + $$\st@rredtrue + \let\next@\align@\fi\fi + \collect@body\next@} +\newdimen\lineht@ +\def\align@{\inalign@true\inany@true + \displaybreak@\intertext@ + \let\math@cr@@@\math@cr@@@align + \let\tag\tag@in@align + \global\and@\z@\global\dspbrk@lvl\m@ne + \iftagsleft@\DN@{\@nameuse{align }}\else + \DN@{\@nameuse{align \space}}\fi\next@} +\@namedef{align }#1{% + \measure@{#1}% + \global\and@\z@ + \global\dspbrk@lvl\m@ne + \if@fleqn %%*F + \advance\totwidth@\@mathmargin %%*F + \fi %%*F + \ifdim\totwidth@>\displaywidth + \let\displaywidth@\totwidth@ + \else + \let\displaywidth@\displaywidth + \fi + \ifingather@ + \everycr{% + \noalign{% + \global\and@\z@ + \global\dspbrk@lvl\m@ne + }% + }% + \else + \displ@y@ + \fi + \Let@ + \ifst@rred\else\@seteqlabel\theequation\fi + \tabskip\@mathmargin %%*F + \dimen@\displaywidth %%*F + \if@fleqn %%*F + \ifingather@ %%*F + \tabskip\z@skip %%*F + \advance\dimen@-\@mathmargin %%*F + \fi %%*F + \fi %%*F + \halign to\dimen@\bgroup %%*F + \ifst@rred\nonumber\fi + \hfil + \strut@ + \setboxz@h{\global\tag@false$\m@th\displaystyle{\@lign##}$}% + \global\lwidth@\wdz@ + \global\lineht@\ht\z@ + \boxz@ + \global\advance\and@\@ne + \tabskip\z@skip + &\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}% + \global\rwidth@\wdz@ + \ifdim\ht\z@>\lineht@ + \global\lineht@\ht\z@ + \fi + \boxz@ + \hfil + \global\advance\and@\@ne + \tabskip\@centering + &\kern-\displaywidth@ + \setboxz@h{\@lign\strut@{##}}% + \if@fleqn %%*F + \dimen@\@mathmargin %%*F + \advance\dimen@\maxlwidth@ %%*F + \advance\dimen@-\lwidth@ %%*F + \else %%*F + \dimen@\displaywidth + \advance\dimen@-\totwidth@ + \divide\dimen@\tw@ + \advance\dimen@\maxlwidth@ + \advance\dimen@-\lwidth@ + \fi %%*F + \ifdim\dimen@<\tw@\wdz@ + \rlap{\vbox{\normalbaselines\boxz@\vbox to\lineht@{}}}% + \else + \rlap{\boxz@}% + \fi + \tabskip\displaywidth@ + \crcr + #1% +} +\@namedef{align \space}#1{% + \measure@{#1}% + \if@fleqn %%*F + \advance\totwidth@\@mathmargin %%*F + \fi %%*F + \global\and@\z@ + \global\dspbrk@lvl\m@ne + \ifingather@ + \everycr{\noalign{\global\and@\z@\global\dspbrk@lvl\m@ne}}% + \else + \displ@y@ + \fi + \Let@ + \ifst@rred\else\@seteqlabel\theequation\fi + \tabskip\@mathmargin %%*F + \dimen@\displaywidth %%*F + \if@fleqn %%* + \ifingather@ %%*F + \tabskip\z@skip %%*F + \advance\dimen@-\@mathmargin %%*F + \fi %%*F + \fi %%*F + \halign to\dimen@\bgroup %%*F + \ifst@rred\nonumber\fi + \hfil + \strut@ + \setboxz@h{\global\tag@false$\m@th\displaystyle{\@lign##}$}% + \global\lwidth@\wdz@\boxz@ + \global\advance\and@\@ne + \tabskip\z@skip + &\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}% + \global\rwidth@\wdz@ + \boxz@ + \hfill + \global\advance\and@\@ne + \tabskip\@centering + &\setboxz@h{\@lign\strut@{##}}% + \dimen@\displaywidth + \advance\dimen@-\totwidth@ + \divide\dimen@\tw@ + \advance\dimen@\maxrwidth@ + \advance\dimen@-\rwidth@ + \ifdim\dimen@<\tw@\wdz@ + \llap{\vtop{\@movetag\normalbaselines\null\boxz@}}%%*T + \else + \llap{\boxz@}% + \fi + \tabskip\z@skip + \crcr#1% +} +\def\endalign{\math@cr@@@align + \black@\totwidth@ + \egroup$$\global\@ignoretrue\setb@ck} + +\@namedef{endalign*}{\math@cr@@@align\black@\totwidth@ + \egroup$$\global\@ignoretrue} +\@namedef{align (in \string\gather)}{% + \ifst@rred\stepcounter{equation}\fi + \def\endalign{\@nameuse{endalign (in \string\gather)}\ifnum0=`{\fi}}% + \vcenter\bgroup\st@rredfalse + \collect@body\align@} +\@namedef{endalign (in \string\gather)}{% + \math@cr@@@align\black@\totwidth@ + \egroup\egroup + \ifst@rred\setb@ck\fi% this ifst@rred is set by the enclosing gather + \global\tag@false\global\@eqnswfalse} +\@namedef{align* (in \string\gather)}{% + \@namedef{endalign*}{\@nameuse{endalign* (in \string\gather)}% + \ifnum0=`{\fi}}% + \vcenter\bgroup\st@rredtrue + \collect@body\align@} +\@namedef{endalign* (in \string\gather)}{% + \math@cr@@@align\black@\totwidth@\egroup\egroup + \global\tag@false\global\@eqnswfalse} +\newif\ifxat@ +\def\alignat#1{% + \ifmmode\nomath@env\DN@{\let\endalignat\relax\@gobble}\else$$% + \st@rredfalse\stepcounter{equation}\@seteqlabel\theequation + \DN@{\@nameuse{alignat }#1}\fi + \collect@body\next@} +\@namedef{alignat*}#1{% + \ifmmode\nomath@env\DN@{\@namedef{endalignat*}{}\@gobble}\else$$% + \st@rredtrue + \DN@{\@nameuse{alignat }#1}\fi + \collect@body\next@} +\newif\ifmeasuring@ +\newbox\savealignat@ +\def\math@cr@@@alignat{% + \if@eqnsw\global\tag@true\fi + \iftag@ + \multiply\count@\tw@ + \xdef\next@{}\loop\ifnum\count@>\and@\xdef\next@{&\next@}% + \advance\count@\m@ne\repeat\else + \let\next@\relax\fi + \next@ + \relax + \if@eqnsw\tagform@\theequation\stepcounter{equation}\else + \iftag@\df@tag\fi\fi + \global\@eqnswtrue\cr}% +\@namedef{alignat }#1#2{% + \inany@true + \xat@false + \let\tag\tag@in@align + \def\math@cr@@@{\count@#1\relax \math@cr@@@alignat}% + \displaybreak@ + \intertext@ + \displ@y@ + \ifst@rred + \global\@eqnswfalse + \else + \global\@eqnswtrue + \fi + \measuring@true + \setbox\savealignat@\hbox{% + $\m@th\displaystyle\Let@ + \attag@{#1}% + \vbox{\firstchoice@false\halign{\span\preamble@@\crcr#2\crcr}}$% + }% + \measuring@false + \Let@ + \attag@{#1}% + \tabskip\@mathmargin %%*F + \halign to\displaywidth\bgroup + \span\preamble@@\crcr + #2% +} +\def\endalignat{\math@cr@@@\black@{\wd\savealignat@}% + \egroup\setb@ck$$\global\@ignoretrue} +\@namedef{endalignat*}{\math@cr@@@\black@{\wd\savealignat@}\egroup + $$\global\@ignoretrue} +\def\xalignat#1{% + \ifmmode\nomath@env\DN@{\let\endxalignat\relax\@gobble}\else$$% + \st@rredfalse\stepcounter{equation}\@seteqlabel\theequation + \DN@{\@nameuse{xalignat }#1}\fi + \collect@body\next@} +\@namedef{xalignat*}#1{% + \ifmmode\nomath@env\DN@{\@namedef{endxalignat*}{}\@gobble}\else$$% + \st@rredtrue + \DN@{\@nameuse{xalignat }#1}\fi + \collect@body\next@} +\let\endxalignat=\endalignat + +\expandafter\let\csname endxalignat*\expandafter + \endcsname\csname endalignat*\endcsname +\@namedef{xalignat }#1#2{% + \inany@true + \xat@true + \let\tag\tag@in@align + \def\math@cr@@@{\count@#1\relax\math@cr@@@alignat}% + \displaybreak@ + \intertext@ + \displ@y@ + \measuring@true + \setbox\savealignat@\hbox{% + $\m@th\displaystyle\Let@ + \attag@{#1}% + \vbox{% + \firstchoice@false + \halign{\span\preamble@@\crcr#2\crcr}% + }% + $% + }% + \measuring@false + \Let@ + \attag@{#1}% + \tabskip\@mathmargin %%*F + \halign to\displaywidth\bgroup + \span\preamble@@\crcr#2% +} +\def\attag@#1{% + \let\TAG@\Tag@\let\Tag@0% + \ifmeasuring@\def\llap@##1{\setboxz@h{##1}\hbox to\tw@\wdz@{}}% + \def\rlap@##1{\setboxz@h{##1}\hbox to\tw@\wdz@{}}\else + \let\llap@\llap\let\rlap@\rlap\fi + \toks@{\hfil\strut@$\m@th\displaystyle{\@lign\the\hashtoks@}$% + \tabskip\z@skip + \global\advance\and@\@ne + &$\m@th\displaystyle{{}\@lign\the\hashtoks@}$\hfil + \ifxat@\tabskip\@centering\fi\global\advance\and@\@ne}% + \iftagsleft@ + \@temptokena{\tabskip\@centering&\Tag@\kern-\displaywidth + \rlap@{\@lign + \the\hashtoks@ + }% + \global\advance\and@\@ne\tabskip\displaywidth}\else + \@temptokena{\tabskip\@centering&\Tag@\llap@{\@lign + \the\hashtoks@ + }\global\advance\and@\@ne\tabskip\z@skip}\fi + \atcount@#1\relax\advance\atcount@\m@ne + \loop\ifnum\atcount@>\z@ + \toks@\expandafter{\the\toks@&\hfil$\m@th\displaystyle{\@lign + \the\hashtoks@}$\global\advance\and@\@ne + \tabskip\z@skip + &$\m@th\displaystyle{{}\@lign\the\hashtoks@}$\hfil\ifxat@ + \tabskip\@centering\fi\global\advance\and@\@ne}\advance\atcount@\m@ne + \repeat + \xdef\preamble@{\the\toks@\the\@temptokena}% + \xdef\preamble@@{\ifst@rred\noexpand\nonumber\fi\preamble@}% + \let\Tag@\TAG@} +\def\xxalignat#1{% + \ifmmode\nomath@env\DN@{\let\endxxalignat\relax\@gobble}\else$$% + \DN@{\@nameuse{xxalignat }#1}\fi + \collect@body\next@} +\@namedef{xxalignat }#1#2{\inany@true + \displaybreak@\intertext@ + \displ@y\setbox\savealignat@\hbox{$\m@th\displaystyle\Let@ + \xxattag@{#1}% + \vbox{\firstchoice@false\halign{\span\preamble@@\crcr#2\crcr}}$}% + \Let@\xxattag@{#1}\tabskip\z@skip\halign to\displaywidth\bgroup + \span\preamble@@\crcr#2} +\expandafter\let\expandafter\endxxalignat\csname endxalignat*\endcsname +\def\xxattag@#1{\toks@{\tabskip\z@skip\hfil\strut@ + $\m@th\displaystyle{\the\hashtoks@}$&% + $\m@th\displaystyle{{}\the\hashtoks@}$\hfil\tabskip\@centering&}% + \atcount@#1\relax\advance\atcount@\m@ne\loop\ifnum\atcount@>\z@ + \toks@ + \expandafter + {\the\toks@&\hfil$\m@th\displaystyle{\the\hashtoks@}$% + \tabskip\z@skip&$\m@th\displaystyle{{}\the\hashtoks@}$\hfil + \tabskip\@centering}\advance\atcount@\m@ne\repeat + \xdef\preamble@{\the\toks@\tabskip\z@skip}\xdef\preamble@@{\preamble@}} +\newdimen\gwidth@ +\newdimen\gmaxwidth@ +\def\gmeasure@#1{\gwidth@\z@\gmaxwidth@\z@\setbox\@ne\vbox{\Let@ + \firstchoice@false\let\tag\gobble@tag + \halign{\setboxz@h{$\m@th\displaystyle{##}$}\global\gwidth@\wdz@ + \ifdim\gwidth@>\gmaxwidth@\global\gmaxwidth@\gwidth@\fi + &\@gobble{##}\crcr#1\crcr}}} +\def\math@cr@@@gather{% + \if@eqnsw\global\tag@true\fi + \iftag@ + \DN@{&\relax \if@eqnsw + \tagform@\theequation \stepcounter{equation}% + \else\iftag@\df@tag\fi\fi}% + \else + \expandafter\@gobble\fi + \next@ + \global\@eqnswtrue\cr} +\def\gather{% + \ifmmode\nomath@env\DN@{\let\endgather\relax\@gobble}\else $$% + \ingather@true\inany@true + \stepcounter{equation}% + \let\tag\tag@in@align\st@rredfalse + \displaybreak@\intertext@ + \displ@y + \Let@\@seteqlabel\theequation + \let\math@cr@@@\math@cr@@@gather + \iftagsleft@\DN@{\@nameuse{gather }}\else + \DN@{\@nameuse{gather \space}}\fi\fi + \collect@body\next@} +\@namedef{gather*}{% + \ifmmode\nomath@env\DN@{\@namedef{endgather*}{}\@gobble}\else $$% + \ingather@true\inany@true + \let\tag\tag@in@align\st@rredtrue + \displaybreak@\intertext@ + \displ@y\Let@ + \let\math@cr@@@\math@cr@@@gather + \iftagsleft@\DN@{\@nameuse{gather }}\else + \DN@{\@nameuse{gather \space}}\fi\fi + \collect@body\next@} +\newdimen\glineht@ +\@namedef{gather \space}#1{% + \gmeasure@{#1}% + \if@fleqn %%*F + \advance\gmaxwidth@\@mathmargin %%*F + \fi %%*F + \global\dt@ptrue + \tabskip\@mathmargin %%*F + \halign to\displaywidth\bgroup + \ifst@rred\nonumber\else\global\@eqnswtrue\fi + \if@fleqn\else\hfil\fi %%*F + \strut@ + \setboxz@h{\global\tag@false$\m@th\displaystyle{##}$}% + \global\gwidth@\wdz@\boxz@ + \hfil + \tabskip\@centering %%*F + &\setboxz@h{\strut@{##}}% + \dimen@\displaywidth + \advance\dimen@-\gwidth@ + \if@fleqn %%*F + \advance\dimen@-\@mathmargin %%*F + \else %%*F + \divide\dimen@\tw@ %%*B + \fi %%*F + \ifdim\dimen@<\tw@\wdz@ %%* + \llap{\vtop{\@movetag\normalbaselines\null\boxz@}}%%*T %%* + \else + \llap{\boxz@}% %%* + \fi + \tabskip\z@skip + \crcr + #1% +} +\def\endgather{\math@cr + \black@\gmaxwidth@\egroup $$\setb@ck\global\@ignoretrue} + +\@namedef{endgather*}{\math@cr + \black@\gmaxwidth@\egroup $$\global\@ignoretrue} +\@namedef{gather }#1{% + \gmeasure@{#1}% + \global\dt@ptrue + \if@fleqn %%*F + \advance\gmaxwidth@\@mathmargin %%*F + \fi %%*F + \ifdim\gmaxwidth@>\displaywidth + \let\gdisplaywidth@\gmaxwidth@ + \else + \let\gdisplaywidth@\displaywidth + \fi + \tabskip\@mathmargin %%*F + \halign to\displaywidth\bgroup + \ifst@rred\nonumber\else\global\@eqnswtrue\fi + \if@fleqn\else\hfil\fi %%*F + \strut@ + \setboxz@h{\global\tag@false$\m@th\displaystyle{##}$}% + \global\gwidth@\wdz@ + \global\glineht@\ht\z@ + \boxz@ + \hfil + \tabskip\@centering %%*F + &\kern-\gdisplaywidth@ + \setboxz@h{\strut@{##}}% + \if@fleqn %%*F + \dimen@\@mathmargin %%*F + \else %%*F + \dimen@\displaywidth + \advance\dimen@-\gwidth@ + \divide\dimen@\tw@ %%*B + \fi %%*F + \ifdim\dimen@<\tw@\wdz@ %%* + \rlap{\vbox{\normalbaselines\boxz@\vbox to\glineht@{}}}% %%* + \else + \rlap{\boxz@}% %%* + \fi + \tabskip\gdisplaywidth@ + \crcr + #1% +} +\def\split{% + \ifinany@\let\next@\insplit@\else + \DN@{\PackageError{amstex}{\string\begin{split} is not allowed + here. Try the `aligned' environment.}\@ehb}\fi + \next@} +\def\insplit@{\global\setbox\z@\vbox\bgroup + \Let@ \restore@math@cr \default@tag % disallow use of \tag here + \ialign\bgroup \hfil\strut@ + $\m@th\displaystyle{##}$&$\m@th\displaystyle{{}##}$\hfill\crcr} +\def\endsplit{\crcr\egroup\egroup + \iftagsleft@\expandafter\lendsplit@\else + \expandafter\rendsplit@\fi} +\def\rendsplit@{\global\setbox9 \vbox + {\unvcopy\z@\global\setbox8 \lastbox\unskip}% + \setbox\@ne\hbox{\unhcopy8 \unskip\global\setbox\tw@\lastbox + \unskip\global\setbox\thr@@\lastbox}% + \global\setbox7 \hbox{\unhbox\tw@\unskip}% + \ifinalign@\ifctagsplit@ + \gdef\split@{\hbox to\wd\thr@@{}& + \vcenter{\vbox{\moveleft\wd\thr@@\boxz@}}}% + \else\gdef\split@{&\vbox{\moveleft\wd\thr@@\box9}\crcr + \box\thr@@&\box7}\fi + \else + \ifctagsplit@\gdef\split@{\vcenter{\boxz@}}\else + \gdef\split@{\box9\crcr\hbox{\box\thr@@\box7}}\fi + \fi + \aftergroup\split@} +\def\lendsplit@{\global\setbox9\vtop{\unvcopy\z@}% + \setbox\@ne\vbox{\unvcopy\z@\global\setbox8\lastbox}% + \setbox\@ne\hbox{\unhcopy8\unskip\setbox\tw@\lastbox + \unskip\global\setbox\thr@@\lastbox}% + \ifinalign@\ifctagsplit@ + \gdef\split@{\hbox to\wd\thr@@{}& + \vcenter{\vbox{\moveleft\wd\thr@@\box9}}}% + \else + \gdef\split@{\hbox to\wd\thr@@{}&\vbox{\moveleft\wd\thr@@\box9}}\fi + \else + \ifctagsplit@\gdef\split@{\vcenter{\box9}}\else + \gdef\split@{\box9}\fi + \fi\aftergroup\split@} +\newdimen\multlinegap +\multlinegap10pt +\newdimen\multlinetaggap@ +\multlinetaggap@10pt +\def\multline{% + \ifmmode\nomath@env\DN@{\let\endmultline\relax\@gobble}% + \else $$\DN@{\collect@body\multline@}\fi + \st@rredfalse\@eqnswtrue \@seteqlabel\theequation + \stepcounter{equation}\next@} +\@namedef{multline*}{% + \ifmmode\nomath@env\DN@{\@namedef{endmultline*}{}\@gobble}% + \else $$\DN@{\collect@body\multline@}\fi + \st@rredtrue\@eqnswfalse \let\@currentlabel\@empty + \next@} +\def\multline@{\inany@true\displaybreak@ + \global\tag@false + \def\tag{\ifst@rred\else + \global\advance\c@equation\m@ne\fi\tag@in@align}% + \iftagsleft@ + \expandafter\lmultline@@\else + \expandafter\rmultline@@\fi} +\newdimen\mwidth@ +\def\rmmeasure@#1{% + \def\shoveleft##1{##1}\def\shoveright##1{##1}% + \setbox\@ne\vbox{\firstchoice@false\Let@\halign{\setboxz@h + {$\m@th\@lign\displaystyle{}##$}\global\mwidth@\wdz@ + \crcr#1\crcr}}} +\newdimen\mlineht@ +\newif\ifzerocr@ +\newif\ifonecr@ +\def\lmmeasure@#1{\global\zerocr@true\global\onecr@false + \everycr{\noalign{\ifonecr@\global\onecr@false\fi + \ifzerocr@\global\zerocr@false\global\onecr@true\fi}}% + \def\shoveleft##1{##1}\def\shoveright##1{##1}% + \setbox\@ne\vbox{\Let@\firstchoice@false\halign{\setboxz@h + {$\m@th\@lign\displaystyle{}##$}\ifonecr@\global\mwidth@\wdz@ + \global\mlineht@\ht\z@\fi\crcr#1\crcr}}} +\newbox\mtagbox@ +\newdimen\ltwidth@ +\newdimen\rtwidth@ +\def\lmultline@@#1{% + \lmmeasure@{#1}% + \setbox\mtagbox@\hbox{% + \iftag@ + \df@tag + \else + \if@eqnsw + \global\tag@true + \tagform@\theequation + \fi + \fi + }% + \dimen@\mwidth@ + \advance\dimen@\wd\mtagbox@ + \advance\dimen@\multlinetaggap@ + \if@fleqn %%*F + \advance\dimen@\@mathmargin %%*F + \fi %%*F + \ifdim\dimen@>\displaywidth + \ltwidth@\z@ + \else + \ltwidth@\wd\mtagbox@ + \fi + \lmultline@@@#1 +} +\def\lmultline@@@{% + \displ@y + \def\shoveright##1{##1\hfilneg\hskip\multlinegap}% + \if@fleqn %%*F + \def\shoveleft##1{##1}% %%*F + \else %%*F + \def\shoveleft##1{% + \setboxz@h{$\m@th\displaystyle{}##1$}% + \setbox\@ne\hbox{$\m@th\displaystyle##1$}% + \hfilneg + \iftag@ + \ifdim\ltwidth@>\z@ + \hskip\ltwidth@ + \hskip\multlinetaggap@ + \fi + \else + \hskip\multlinegap + \fi + \hskip.5\wd\@ne + \hskip-.5\wdz@##1% + }% + \fi %%*F + \if@fleqn %%*F + \tabskip\@mathmargin %%*F + \else %%*F + \tabskip\z@skip %%* + \fi %%*F + \totwidth@\displaywidth %%*F + \if@fleqn %%*F + \advance\totwidth@-\@mathmargin %%*F + \fi %%*F + \halign\bgroup + \Let@ + \let\tag\gobble@tag + \hbox to\totwidth@{% %%*F + \strut@$\m@th\displaystyle + \if@fleqn %%*F + \hskip 0pt plus 1000pt %%*F + \else %%*F + \hfil + \fi %%*F + {}##\hfil$% + }% + \crcr + \if@fleqn %%*F + \hskip-\@mathmargin %%*F + \else %%*F + \hfilneg + \fi %%*F + \iftag@ + \ifdim\ltwidth@>\z@ + \box\mtagbox@ + \hskip\multlinetaggap@ + \else + \rlap{% + \vbox{% + \normalbaselines + \hbox{\strut@\box\mtagbox@}% + \vbox to\mlineht@{}% + }% + }% + \hskip\multlinegap %%* + \fi + \else + \hskip\multlinegap + \fi +} +\def\rmultline@@#1{% + \rmmeasure@{#1}% + \setbox\mtagbox@\hbox{% + \iftag@ + \df@tag + \else + \if@eqnsw + \global\tag@true + \tagform@\theequation + \fi + \fi + }% + \dimen@\mwidth@ + \advance\dimen@\wd\mtagbox@ + \advance\dimen@\multlinetaggap@ + \if@fleqn %%*F + \advance\dimen@\@mathmargin %%*F + \fi %%*F + \ifdim\dimen@>\displaywidth + \rtwidth@\z@ + \else + \rtwidth@\wd\mtagbox@ + \fi + \rmultline@@@#1 +} +\def\rmultline@@@{% + \displ@y + \def\shoveright##1{% + ##1% + \hfilneg + \iftag@ + \ifdim\rtwidth@>\z@ + \hskip\rtwidth@ + \hskip\multlinetaggap@ + \fi + \else + \hskip\multlinegap + \fi + }% + \if@fleqn %%*F + \def\shoveleft##1{##1}% %%*F + \else %%*F + \def\shoveleft##1{% + \setboxz@h{$\m@th\displaystyle{}##1$}% + \setbox\@ne\hbox{$\m@th\displaystyle##1$}% + \hfilneg + \hskip\multlinegap + \hskip.5\wd\@ne + \hskip-.5\wdz@ + ##1% + }% + \fi %%*F + \if@fleqn %%*F + \tabskip\@mathmargin %%*F + \else %%*F + \tabskip\z@skip %%* + \fi %%*F + \totwidth@\displaywidth %%*F + \if@fleqn %%*F + \advance\totwidth@-\@mathmargin %%*F + \fi %%*F + \halign\bgroup + \Let@ + \let\tag\gobble@tag + \hbox to\totwidth@{% + \strut@$\m@th\displaystyle + \if@fleqn %%*F + \hskip 0pt plus 1000pt %%*F + \else %%*F + \hfil + \fi %%*F + {}##\hfil$% + }% + \crcr + \if@fleqn %%*F + \hskip-\@mathmargin %%*F + \else %%*F + \hfilneg + \fi %%*F + \hskip\multlinegap +} +\def\endmultline{\iftagsleft@\expandafter\lendmultline@\else + \expandafter\rendmultline@\fi\global\@ignoretrue} +\expandafter\let\csname endmultline*\endcsname=\endmultline +\def\lendmultline@{\hfilneg\hskip\multlinegap\crcr\egroup$$} +\def\rendmultline@{% + \iftag@ + \ifdim\rtwidth@>\z@ + \hskip\multlinetaggap@ + \box\mtagbox@ + \else + \hskip\multlinegap %%* + \llap{% + \vtop{% + \@movetag %%*T + \normalbaselines\null\hbox{\strut@\box\mtagbox@}% + }% + }% + \fi + \else + \hskip\multlinegap + \fi + \hfilneg + \crcr + \egroup$$% +} +\expandafter\def + \expandafter\@arrayparboxrestore + \expandafter{\@arrayparboxrestore + \inany@false\ingather@false\inalign@false + \default@tag} +\def\equation{\gather\def\\{\PackageError{amstex}{\Invalid@@\\}\@eha}} +\def\endequation{\endgather} +\newenvironment{equation*}{% + \equation +}{% + \nonumber\endequation +} +\newcounter{parentequation}% Counter for ``parent equation''. +\newenvironment{subequations}{% + \refstepcounter{equation}% + \begingroup % conservative approach + \let\protect\@nx + \edef\@tempa{\def\@nx\theparentequation{\theequation}}% + \@xp\endgroup\@tempa + \setcounter{parentequation}{\value{equation}}% + \setcounter{equation}{0}% + \def\theequation{\theparentequation\alph{equation}}% + \ignorespaces +}{% + \setcounter{equation}{\value{parentequation}}% + \global\@ignoretrue +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\atdef@#1{\expandafter\def\csname\space @\string#1\endcsname} +\begingroup \catcode`\@=\active +\gdef @{\Iat} +\endgroup +\DeclareRobustCommand{\Iat}{\FN@\at@} +\def\at@{\let\next@\at@@ + \ifcat\noexpand\@let@token a\else + \ifcat\noexpand\@let@token0\else + \ifcat\noexpand\@let@token\relax\else + \let\@let@token@\at@@@\fi\fi\fi\next@} +\def\at@@#1{\expandafter + \@ifundefined{ @\string#1}% + {\DN@{\at@@@#1}}% + {\DN@{\csname\space @\string#1\endcsname}}% + \next@}% +\def\at@@@{\PackageError{amstex}{\Invalid@@ @}% + {\the\athelp@}% "I'll assume you wanted @@" + \char64\relax} +\newhelp\athelp@ +{Only certain combinations beginning with @ make sense to me.^^J% +I'll assume you wanted @@ for a printed @.} +\atdef@ @{{\atchar}}% to define @@ +\chardef\atchar=64 +\def\makeatother{\catcode64=\active} +\def\@tempa#1#2#3#4#5#6{% + {#1}{#2}\ifnum0#6=0{13}\@xp\@gobblefour + \else{#3}\fi\@tempa{#4}{#5}{#6}}% +\xdef\@currnamestack{\@xp\@tempa\@currnamestack{}{}{0}} +{\def\@makeother{\noexpand\@makeother\noexpand} +\xdef\@sanitize{\@sanitize\@makeother\@}} +{\def\do{\noexpand\do\noexpand} +\xdef\dospecials{\dospecials\do\@}} +\atdef@,{\ifmmode\mskip.1\thinmuskip\else \nonmatherr@{@,}\fi} +\atdef@!{\RIfM@\mskip-.1\thinmuskip\else \nonmatherr@{@!}\fi} + +\@ifpackageloaded{amscd}{% +}{% +\atdef@>#1>#2>{% + \global\bigaw@\minaw@ + \setboxz@h{$\m@th\scriptstyle\;{#1}\;\;$}% + \ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi + \@ifnotempty{#2}{\setbox\@ne\hbox{$\m@th\scriptstyle\;{#2}\;\;$}% + \ifdim\wd\@ne>\bigaw@ \global\bigaw@\wd\@ne \fi}% + \mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}% + \limits^{#1}\@ifnotempty{#2}{_{#2}}}% +}% end of @>>> +\atdef@<#1<#2<{% + \global\bigaw@\minaw@ + \setboxz@h{$\m@th\scriptstyle\;\;{#1}\;$}% + \ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi + \@ifnotempty{#2}{\setbox\@ne\hbox{$\m@th\scriptstyle\;\;{#2}\;$}% + \ifdim\wd\@ne>\bigaw@ \global\bigaw@\wd\@ne \fi}% + \mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}% + \limits^{#1}\@ifnotempty{#2}{_{#2}}}% +}% end of @<<< +}% end of @ifpackageloaded +\@ifundefined{minaw@}{\newdimen\minaw@}{} +\minaw@11.111pt +\@ifundefined{bigaw@}{\newdimen\bigaw@}{} +\atdef@-{\let\next-%% + \DN@{\ifx\next-%% + \def\next-{\setbox\z@\hbox{-}\unhbox\z@\FN@\next@}%% + \expandafter\next \else\nobreak\fi}%% + \next@-}%% +\def\leftroot{\PackageError{amstex}{\Invalid@@\leftroot}\@eha} +\def\uproot{\PackageError{amstex}{\Invalid@@\uproot}\@eha} +\newcount\uproot@ +\newcount\leftroot@ +\def\root{\relaxnext@ + \DN@{\ifx\@let@token\uproot\let\next@\nextii@\else + \ifx\@let@token\leftroot\let\next@\nextiii@\else + \let\next@\plainroot@\fi\fi\next@}% + \def\nextii@\uproot##1{\uproot@##1\relax\FN@\nextiv@}% + \def\nextiv@{\ifx\@let@token\@sptoken\DN@. {\FN@\nextv@}\else + \DN@.{\FN@\nextv@}\fi\next@.}% + \def\nextv@{\ifx\@let@token\leftroot\let\next@\nextvi@\else + \let\next@\plainroot@\fi\next@}% + \def\nextvi@\leftroot##1{\leftroot@##1\relax\plainroot@}% + \def\nextiii@\leftroot##1{\leftroot@##1\relax\FN@\nextvii@}% + \def\nextvii@{\ifx\@let@token\@sptoken + \DN@. {\FN@\nextviii@}\else + \DN@.{\FN@\nextviii@}\fi\next@.}% + \def\nextviii@{\ifx\@let@token\uproot\let\next@\nextix@\else + \let\next@\plainroot@\fi\next@}% + \def\nextix@\uproot##1{\uproot@##1\relax\plainroot@}% + \bgroup\uproot@\z@\leftroot@\z@\FN@\next@} +\def\plainroot@#1\of#2{\setbox\rootbox\hbox{% + $\m@th\scriptscriptstyle{#1}$}% + \mathchoice{\r@@t\displaystyle{#2}}{\r@@t\textstyle{#2}} + {\r@@t\scriptstyle{#2}}{\r@@t\scriptscriptstyle{#2}}\egroup} +\def\r@@t#1#2{\setboxz@h{$\m@th#1\@@sqrt{#2}$}% + \dimen@\ht\z@\advance\dimen@-\dp\z@ + \setbox\@ne\hbox{$\m@th#1\mskip\uproot@ mu$}% + \advance\dimen@ by1.667\wd\@ne + \mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@\copy\rootbox + \mkern-10mu\mkern\leftroot@ mu\boxz@} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Fragment from old amsfonts.sty to deal with msam, msbm, eufm fonts; +%% omit if `noamsfonts' option was specified. +\ifx F\@amsfonts \endinput \fi +\DeclareSymbolFont{AMSa}{U}{msa}{m}{n} +\DeclareSymbolFont{AMSb}{U}{msb}{m}{n} +\ifx P\@amsfonts + \DeclareFontFamily{U}{msa}{}% + \DeclareFontShape{U}{msa}{m}{n}{<-6>msam5<6-8>msam7<8->msam10}{}% + \DeclareFontFamily{U}{msb}{}% + \DeclareFontShape{U}{msb}{m}{n}{<-6>msbm5<6-8>msbm7<8->msbm10}{}% + \DeclareFontFamily{U}{euf}{}% + \DeclareFontShape{U}{euf}{m}{n}{<-6>eufm5<6-8>eufm7<8->eufm10}{}% + \DeclareFontShape{U}{euf}{b}{n}{<-6>eufb5<6-8>eufb7<8->eufb10}{}% +\fi +\@ifundefined{yen}{% + \edef\yen{\noexpand\mathhexbox{\hexnumber@\symAMSa}55} +}{} +\@ifundefined{checkmark}{% + \edef\checkmark{\noexpand\mathhexbox{\hexnumber@\symAMSa}58} +}{} +\@ifundefined{circledR}{% + \edef\circledR{\noexpand\mathhexbox{\hexnumber@\symAMSa}72} +}{} +\@ifundefined{maltese}{% + \edef\maltese{\noexpand\mathhexbox{\hexnumber@\symAMSa}7A} +}{} +\begingroup \catcode`\"=12 +\DeclareMathDelimiter\ulcorner{\mathopen} {AMSa}{"70}{AMSa}{"70} +\DeclareMathDelimiter\urcorner{\mathclose}{AMSa}{"71}{AMSa}{"71} +\DeclareMathDelimiter\llcorner{\mathopen} {AMSa}{"78}{AMSa}{"78} +\DeclareMathDelimiter\lrcorner{\mathclose}{AMSa}{"79}{AMSa}{"79} +\xdef\widehat#1{\noexpand\@mathmeasure\z@\textstyle{#1}% + \noexpand\ifdim\noexpand\wdz@>\tw@ em% + \mathaccent"0\hexnumber@\symAMSb 5B{#1}% + \noexpand\else\mathaccent"0362{#1}\noexpand\fi} +\xdef\widetilde#1{\noexpand\@mathmeasure\z@\textstyle{#1}% + \noexpand\ifdim\noexpand\wdz@>\tw@ em% + \mathaccent"0\hexnumber@\symAMSb 5D{#1}% + \noexpand\else\mathaccent"0365{#1}\noexpand\fi} +\DeclareMathSymbol\dabar@{\mathord}{AMSa}{"39} +\xdef\dashrightarrow{\mathrel{\dabar@\dabar@ + \mathchar"0\hexnumber@\symAMSa 4B}}% +\xdef\dashleftarrow{\mathrel{\mathchar"0\hexnumber@\symAMSa 4C\dabar@ + \dabar@}}% +\global\let\dasharrow\dashrightarrow +\global\let\rightleftharpoons\undefined +\DeclareMathSymbol\rightleftharpoons{\mathrel}{AMSa}{"0A} +\global\let\angle\undefined +\DeclareMathSymbol\angle {\mathord}{AMSa}{"5C} +\global\let\hbar\undefined +\DeclareMathSymbol\hbar {\mathord}{AMSb}{"7E} +\global\let\sqsubset\undefined +\DeclareMathSymbol\sqsubset {\mathrel}{AMSa}{"40} +\global\let\sqsupset\undefined +\DeclareMathSymbol\sqsupset {\mathrel}{AMSa}{"41} +\global\let\mho\undefined +\DeclareMathSymbol\mho {\mathord}{AMSb}{"66} +\DeclareMathSymbol\square {\mathord}{AMSa}{"03} +\DeclareMathSymbol\lozenge {\mathord}{AMSa}{"06} +\DeclareMathSymbol\vartriangleright {\mathrel}{AMSa}{"42} +\DeclareMathSymbol\vartriangleleft {\mathrel}{AMSa}{"43} +\DeclareMathSymbol\trianglerighteq {\mathrel}{AMSa}{"44} +\DeclareMathSymbol\trianglelefteq {\mathrel}{AMSa}{"45} +\DeclareMathSymbol\rightsquigarrow {\mathrel}{AMSa}{"20} +\def\@tempa{\not@base\lhd} +\ifx\lhd\@tempa + \global\let\lhd\vartriangleleft + \global\let\unlhd\trianglelefteq + \global\let\rhd\vartriangleright + \global\let\unrhd\trianglerighteq + \global\let\Box\square + \global\let\Diamond\lozenge + \global\let\leadsto\rightsquigarrow +\xdef\Join{\mathrel{\mathchar"0\hexnumber@\symAMSb 6F\mkern-13.8mu% + \mathchar"0\hexnumber@\symAMSb 6E}} +\fi +\endgroup +\DeclareMathAlphabet\mathfrak{U}{euf}{m}{n} +\SetMathAlphabet\mathfrak{bold}{U}{euf}{b}{n} +\DeclareSymbolFontAlphabet{\mathbb}{AMSb} +\DeclareFontEncodingDefaults{\relax}{\def\accentclass@{7}} +\def\frak{\mathfrak} +\def\Bbb{\mathbb} +\def\bold{\mathbf} +\begingroup \catcode`\"=12 \relax +\gdef\newsymbol#1#2#3#4#5{% + \@ifdefinable#1{% + \edef\next@ + {\ifcase #2 \or + \hexnumber@\symAMSa\or + \hexnumber@\symAMSb\fi}% + \ifx\next@\@empty + \PackageError{amsfonts}{\Invalid@@\newsymbol}\@ehd% + \else + \global\mathchardef#1"#3\next@#4#5 + \fi}} +\endgroup +%% Some odds and ends +\def\sphat{^{\mathchoice{}{}% + {\,\,\smash[b]{\hbox{\lower4\ex@\hbox{$\m@th\widehat{\null}$}}}}% + {\,\smash[b]{\hbox{\lower3\ex@\hbox{$\m@th\hat{\null}$}}}}}} +\def\spcheck{^\vee} +\def\sptilde{^\sim} +\def\spdot{^{\hbox{\raise\ex@\hbox{\normalfont .}}}} +\def\spddot{^{\hbox{\raise\ex@\hbox{\normalfont ..}}}} +\def\spdddot{^{\hbox{\raise\ex@\hbox{\normalfont...}}}} +\def\spbreve{^{\!\smash[b]{\hbox{\lower4\ex@\hbox{\u{}}}}}} +\def\fracwithdelims#1#2{\new@ifnextchar[{\fracwithdelims@#1#2}% + {\fracwithdelims@#1#2[\@empty]}} +\def\fracwithdelims@#1#2[#3]#4#5{\relax + \ifx\@empty#3{#4\overwithdelims#1#2#5}\else + {#4\abovewithdelims#1#2#3\relax#5}\fi} +\def\accentedsymbol#1#2{% + \expandafter\newbox + \csname\expandafter\@gobble\string#1@box\endcsname + \expandafter\setbox + \csname\expandafter\@gobble\string#1@box\endcsname + \hbox{$\m@th#2$}% + \newcommand{#1}{% + \expandafter\copy + \csname\expandafter\@gobble\string#1@box\endcsname{}}% +} +\def~{\nobreakspace} +\DeclareRobustCommand{\nobreakspace}{\unskip\nobreak\ \ignorespaces} +%% +%% End of file `amstex.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amstext.sty b/Master/texmf-dist/tex/latex/amslatex/amstext.sty new file mode 100644 index 00000000000..6c3c1692d89 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amstext.sty @@ -0,0 +1,101 @@ +%% +%% This is file `amstext.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amstext.dtx +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amstext.dtx", +%%% version = "2.01", +%%% date = "2000/06/29", +%%% time = "08:34:33 EDT", +%%% checksum = "09860 314 1647 12368", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 1999 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% supported = "yes", +%%% keywords = "latex, math, text", +%%% abstract = "This is a \LaTeX{} package that defines a +%%% \cn{\text} macro, which makes it easy to +%%% incorporate fragments of text inside a displayed +%%% equation or a sub or superscript. Font sizes +%%% are automatically scaled in sub/superscripts.", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1994/12/01]% LaTeX date must be December 1994 or later +\ProvidesPackage{amstext}[2000/06/29 v2.01] +\RequirePackage{amsgen} +\DeclareRobustCommand{\text}{% + \ifmmode\expandafter\text@\else\expandafter\mbox\fi} +\let\nfss@text\text +\def\text@#1{{\mathchoice + {\textdef@\displaystyle\f@size{#1}}% + {\textdef@\textstyle\f@size{\firstchoice@false #1}}% + {\textdef@\textstyle\sf@size{\firstchoice@false #1}}% + {\textdef@\textstyle \ssf@size{\firstchoice@false #1}}% + \check@mathfonts + }% +} +\def\textdef@#1#2#3{\hbox{{% + \everymath{#1}% + \let\f@size#2\selectfont + #3}}} +\newif\iffirstchoice@ +\firstchoice@true +\def\stepcounter#1{% + \iffirstchoice@ + \addtocounter{#1}\@ne + \begingroup \let\@elt\@stpelt \csname cl@#1\endcsname \endgroup + \fi +} +\def\addtocounter#1#2{% + \iffirstchoice@ + \@ifundefined {c@#1}{\@nocounterr {#1}}% + {\global \advance \csname c@#1\endcsname #2\relax}% + \fi} +\let\m@gobble\@empty +\@xp\let\csname m@gobble4\endcsname\@gobblefour +\long\@xp\def\csname m@gobble6\endcsname#1#2#3#4#5#6{} +\toks@{% + \csname m@gobble\iffirstchoice@\else 4\fi\endcsname + \protect} +\edef\GenericInfo{\the\toks@ + \@xp\@nx\csname GenericInfo \endcsname} +\edef\GenericWarning{\the\toks@ + \@xp\@nx\csname GenericWarning \endcsname} +\toks@{% + \csname m@gobble\iffirstchoice@\else 6\fi\endcsname + \protect} +\edef\GenericError{\the\toks@ + \@xp\@nx\csname GenericError \endcsname} +\begingroup \catcode`\"=12 +\gdef\mathhexbox#1#2#3{\text{$\m@th\mathchar"#1#2#3$}} +\endgroup +\endinput +%% +%% End of file `amstext.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amsthm.sty b/Master/texmf-dist/tex/latex/amslatex/amsthm.sty new file mode 100644 index 00000000000..adc0add1a9f --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amsthm.sty @@ -0,0 +1,448 @@ +%% +%% This is file `amsthm.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsclass.dtx (with options: `amsthm') +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsclass.dtx", +%%% version = "2.20", +%%% date = "2004/08/06", +%%% time = "13:03:53 EDT", +%%% checksum = "53558 5204 20497 185872", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 1999, 2004 +%%% American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Publications Technical Group, +%%% 201 Charles Street, +%%% Providence, RI 02904, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, AMS, documentclass, theorem", +%%% supported = "yes", +%%% abstract = "This is the source for the amsthm package and three +%%% AMS document classes: amsart, amsproc, and amsbook. +%%% They are designed for use with LaTeX.", +%%% docstring = "The checksum field above contains a CRC-16 checksum +%%% as the first value, followed by the equivalent of +%%% the standard UNIX wc (word count) utility output of +%%% lines, words, and characters. This is produced by +%%% Robert Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1995/06/01]% LaTeX date must be June 1995 or later +\ProvidesPackage{amsthm}[2004/08/06 v2.20] +\let\@xp=\expandafter +\let\@nx=\noexpand +\def\@oparg#1[#2]{\@ifnextchar[{#1}{#1[#2]}} +\long\def\@ifempty#1{\@xifempty#1@@..\@nil} +\long\def\@xifempty#1#2@#3#4#5\@nil{% + \ifx#3#4\@xp\@firstoftwo\else\@xp\@secondoftwo\fi} +\long\def\@ifnotempty#1{\@ifempty{#1}{}} +\def\setboxz@h{\setbox\z@\hbox} +\def\@addpunct#1{% + \relax\ifhmode + \ifnum\spacefactor>\@m \else#1\fi + \fi} +\def\nopunct{\spacefactor 1007 } +\def\frenchspacing{\sfcode`\.1006\sfcode`\?1005\sfcode`\!1004% + \sfcode`\:1003\sfcode`\;1002\sfcode`\,1001 } +\DeclareOption*{\input{\CurrentOption .thm}} +\ProcessOptions + +\newcommand{\theoremstyle}[1]{% + \@ifundefined{th@#1}{% + \PackageWarning{amsthm}{Unknown theoremstyle `#1'}% + \thm@style{plain}% + }{% + \thm@style{#1}% + }% +} +\newtoks\thm@style +\thm@style{plain} +\newtoks\thm@bodyfont \thm@bodyfont{\itshape} +\newtoks\thm@headfont \thm@headfont{\bfseries} +\newtoks\thm@notefont \thm@notefont{} +\newtoks\thm@headpunct \thm@headpunct{.} +\newskip\thm@preskip \newskip\thm@postskip +\def\thm@space@setup{% + \thm@preskip=\topsep \thm@postskip=\thm@preskip +} +\renewcommand{\newtheorem}{\@ifstar{\@xnthm *}{\@xnthm \relax}} +\def\@xnthm#1#2{% + \let\@tempa\relax + \@xp\@ifdefinable\csname #2\endcsname{% + \global\@xp\let\csname end#2\endcsname\@endtheorem + \ifx *#1% unnumbered, need to get one more mandatory arg + \edef\@tempa##1{% + \gdef\@xp\@nx\csname#2\endcsname{% + \@nx\@thm{\@xp\@nx\csname th@\the\thm@style\endcsname}% + {}{##1}}}% + \else % numbered theorem, need to check for optional arg + \def\@tempa{\@oparg{\@ynthm{#2}}[]}% + \fi + }% + \@tempa +} +\def\@ynthm#1[#2]#3{% + \ifx\relax#2\relax + \def\@tempa{\@oparg{\@xthm{#1}{#3}}[]}% + \else + \@ifundefined{c@#2}{% + \def\@tempa{\@nocounterr{#2}}% + }{% + \@xp\xdef\csname the#1\endcsname{\@xp\@nx\csname the#2\endcsname}% + \toks@{#3}% + \@xp\xdef\csname#1\endcsname{% + \@nx\@thm{% + \let\@nx\thm@swap + \if S\thm@swap\@nx\@firstoftwo\else\@nx\@gobble\fi + \@xp\@nx\csname th@\the\thm@style\endcsname}% + {#2}{\the\toks@}}% + \let\@tempa\relax + }% + \fi + \@tempa +} +\def\@xthm#1#2[#3]{% + \ifx\relax#3\relax + \newcounter{#1}% + \else + \newcounter{#1}[#3]% + \@xp\xdef\csname the#1\endcsname{\@xp\@nx\csname the#3\endcsname + \@thmcountersep\@thmcounter{#1}}% + \fi + \toks@{#2}% + \@xp\xdef\csname#1\endcsname{% + \@nx\@thm{% + \let\@nx\thm@swap + \if S\thm@swap\@nx\@firstoftwo\else\@nx\@gobble\fi + \@xp\@nx\csname th@\the\thm@style\endcsname}% + {#1}{\the\toks@}}% +} +\def\@thm#1#2#3{% + \ifhmode\unskip\unskip\par\fi + \normalfont + \trivlist + \let\thmheadnl\relax + \let\thm@swap\@gobble + \thm@notefont{\fontseries\mddefault\upshape}% + \thm@headpunct{.}% add period after heading + \thm@headsep 5\p@ plus\p@ minus\p@\relax + \thm@space@setup + #1% style overrides + \@topsep \thm@preskip % used by thm head + \@topsepadd \thm@postskip % used by \@endparenv + \def\@tempa{#2}\ifx\@empty\@tempa + \def\@tempa{\@oparg{\@begintheorem{#3}{}}[]}% + \else + \refstepcounter{#2}% + \def\@tempa{\@oparg{\@begintheorem{#3}{\csname the#2\endcsname}}[]}% + \fi + \@tempa +} +\def\@restorelabelsep{\relax} +\let\@ythm\relax +\let\thmname\@iden \let\thmnote\@iden \let\thmnumber\@iden +\providecommand\@upn{\textup} +\def\thmhead@plain#1#2#3{% + \thmname{#1}\thmnumber{\@ifnotempty{#1}{ }\@upn{#2}}% + \thmnote{ {\the\thm@notefont(#3)}}} +\let\thmhead\thmhead@plain +\def\swappedhead#1#2#3{% + \thmnumber{#2}% + \thmname{\@ifnotempty{#2}{~}#1}% + \thmnote{ {\the\thm@notefont(#3)}}} +\let\swappedhead@plain=\swappedhead +\let\thmheadnl\relax +\let\thm@indent\noindent +\let\thm@swap\@gobble +\def\@begintheorem#1#2[#3]{% + \deferred@thm@head{\the\thm@headfont \thm@indent + \@ifempty{#1}{\let\thmname\@gobble}{\let\thmname\@iden}% + \@ifempty{#2}{\let\thmnumber\@gobble}{\let\thmnumber\@iden}% + \@ifempty{#3}{\let\thmnote\@gobble}{\let\thmnote\@iden}% + \thm@swap\swappedhead\thmhead{#1}{#2}{#3}% + \the\thm@headpunct + \thmheadnl % possibly a newline. + \hskip\thm@headsep + }% + \ignorespaces} +\newskip\thm@headsep +\thm@headsep=5pt plus1pt minus1pt\relax +\let\adjust@parskip@nobreak=\@nbitem +\newtoks\dth@everypar +\dth@everypar={% + \@minipagefalse \global\@newlistfalse + \@noparitemfalse + \if@inlabel + \global\@inlabelfalse + \begingroup \setbox\z@\lastbox + \ifvoid\z@ \kern-\itemindent \fi + \endgroup + \unhbox\@labels + \fi + \if@nobreak \@nobreakfalse \clubpenalty\@M + \else \clubpenalty\@clubpenalty \everypar{}% + \fi +}% +\def\deferred@thm@head#1{% + \if@inlabel \indent \par \fi % eject a section head if one is pending + \if@nobreak + \adjust@parskip@nobreak + \else + \addpenalty\@beginparpenalty + \addvspace\@topsep + \addvspace{-\parskip}% + \fi + \global\@inlabeltrue + \everypar\dth@everypar + \sbox\@labels{\normalfont#1}% + \ignorespaces +} +\def\nonslanted{\relax + \@xp\let\@xp\@tempa\csname\f@shape shape\endcsname + \ifx\@tempa\itshape\upshape + \else\ifx\@tempa\slshape\upshape\fi\fi} +\def\swapnumbers{\edef\thm@swap{\if S\thm@swap N\else S\fi}} +\def\thm@swap{N}% +\let\@opargbegintheorem\relax +\def\th@plain{% +%% \let\thm@indent\noindent % no indent +%% \thm@headfont{\bfseries}% heading font is bold +%% \thm@notefont{}% same as heading font +%% \thm@headpunct{.}% add period after heading +%% \let\thm@swap\@gobble +%% \thm@preskip\topsep +%% \thm@postskip\theorempreskipamount + \itshape % body font +} +\def\th@definition{% + \normalfont % body font +} +\def\th@remark{% + \thm@headfont{\itshape}% + \normalfont % body font + \thm@preskip\topsep \divide\thm@preskip\tw@ + \thm@postskip\thm@preskip +} +\def\@endtheorem{\endtrivlist\@endpefalse } +\newcommand{\newtheoremstyle}[9]{% + \@ifempty{#5}{\dimen@\z@skip}{\dimen@#5\relax}% + \ifdim\dimen@=\z@ + \toks@{#4\let\thm@indent\noindent}% + \else + \toks@{#4\def\thm@indent{\noindent\hbox to#5{}}}% + \fi + \def\@tempa{#8}\ifx\space\@tempa + \toks@\@xp{\the\toks@ \thm@headsep\fontdimen\tw@\font\relax}% + \else + \def\@tempb{\newline}% + \ifx\@tempb\@tempa + \toks@\@xp{\the\toks@ \thm@headsep\z@skip + \def\thmheadnl{\newline}}% + \else + \toks@\@xp{\the\toks@ \thm@headsep#8\relax}% + \fi + \fi + \begingroup + \thm@space@setup + \@defaultunits\@tempskipa#2\thm@preskip\relax\@nnil + \@defaultunits\@tempskipb#3\thm@postskip\relax\@nnil + \xdef\@gtempa{\thm@preskip\the\@tempskipa + \thm@postskip\the\@tempskipb\relax}% + \endgroup + \@temptokena\@xp{\@gtempa + \thm@headfont{#6}\thm@headpunct{#7}% + }% + \@ifempty{#9}{% + \let\thmhead\thmhead@plain + }{% + \@namedef{thmhead@#1}##1##2##3{#9}% + \@temptokena\@xp{\the\@temptokena + \@xp\let\@xp\thmhead\csname thmhead@#1\endcsname}% + }% + \@xp\xdef\csname th@#1\endcsname{\the\toks@ \the\@temptokena}% +} +\DeclareRobustCommand{\qed}{% + \ifmmode \mathqed + \else + \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill + \quad\hbox{\qedsymbol}% + \fi +} +\let\QED@stack\@empty +\let\qed@elt\relax +\newcommand{\pushQED}[1]{% + \toks@{\qed@elt{#1}}\@temptokena\expandafter{\QED@stack}% + \xdef\QED@stack{\the\toks@\the\@temptokena}% +} +\newcommand{\popQED}{% + \begingroup\let\qed@elt\popQED@elt \QED@stack\relax\relax\endgroup +} +\def\popQED@elt#1#2\relax{#1\gdef\QED@stack{#2}} +\newcommand{\qedhere}{% + \begingroup \let\mathqed\math@qedhere + \let\qed@elt\setQED@elt \QED@stack\relax\relax \endgroup +} +\newif\ifmeasuring@ +\newif\iffirstchoice@ \firstchoice@true +\def\setQED@elt#1#2\relax{% + \ifmeasuring@ + \else \iffirstchoice@ \gdef\QED@stack{\qed@elt{}#2}\fi + \fi + #1% +} +\def\qed@warning{% + \PackageWarning{amsthm}{The \@nx\qedhere command may not work + correctly here}% +} +\newcommand{\mathqed}{\quad\hbox{\qedsymbol}} +\def\linebox@qed{\hfil\hbox{\qedsymbol}\hfilneg} +\@ifpackageloaded{amsmath}{% + \def\math@qedhere{% + \@ifundefined{\@currenvir @qed}{% + \qed@warning\quad\hbox{\qedsymbol}% + }{% + \@xp\aftergroup\csname\@currenvir @qed\endcsname + }% + } + \def\displaymath@qed{% + \relax + \ifmmode + \ifinner \aftergroup\linebox@qed + \else + \eqno + \let\eqno\relax \let\leqno\relax \let\veqno\relax + \hbox{\qedsymbol}% + \fi + \else + \aftergroup\linebox@qed + \fi + } + \@xp\let\csname equation*@qed\endcsname\displaymath@qed + \def\equation@qed{% + \iftagsleft@ + \hbox{\phantom{\quad\qedsymbol}}% + \gdef\alt@tag{% + \rlap{\hbox to\displaywidth{\hfil\qedsymbol}}% + \global\let\alt@tag\@empty + }% + \else + \gdef\alt@tag{% + \global\let\alt@tag\@empty + \vtop{\ialign{\hfil####\cr + \tagform@\theequation\cr + \qedsymbol\cr}}% + \setbox\z@ + }% + \fi + } + \def\qed@tag{% + \global\tag@true \nonumber + &\omit\setboxz@h {\strut@ \qedsymbol}\tagsleft@false + \place@tag@gather + \kern-\tabskip + \ifst@rred \else \global\@eqnswtrue \fi \global\advance\row@\@ne \cr + } + \def\split@qed{% + \def\endsplit{\crcr\egroup \egroup \ctagsplit@false \rendsplit@ + \aftergroup\align@qed + }% + } + \def\align@qed{% + \ifmeasuring@ \tag*{\qedsymbol}% + \else \let\math@cr@@@\qed@tag + \fi + } + \@xp\let\csname align*@qed\endcsname\align@qed + \@xp\let\csname gather*@qed\endcsname\align@qed +%% Needs some patching up for amsmath 1.2 +}{% end of amsmath branch, start plain LaTeX branch + \def\math@qedhere{% + \@ifundefined{\@currenvir @qed}{% + \qed@warning \aftergroup\displaymath@qed + }{% + \@xp\aftergroup\csname\@currenvir @qed\endcsname + }% + } + \def\displaymath@qed{% + \relax + \ifmmode + \ifinner \aftergroup\aftergroup\aftergroup\linebox@qed + \else + \eqno \def\@badmath{$$}% + \let\eqno\relax \let\leqno\relax \let\veqno\relax + \hbox{\qedsymbol}% + \fi + \else + \aftergroup\linebox@qed + \fi + } + \@ifundefined{ver@leqno.clo}{% + \def\equation@qed{\displaymath@qed \quad}% + }{% + \def\equation@qed{\displaymath@qed}% + } + \def\@tempa#1$#2#3\@nil{% + \def\[{#1$#2\def\@currenvir{displaymath}#3}% + }% + \expandafter\@tempa\[\@nil +} +\@ifpackageloaded{amstex}{% + \def\@tempa{TT}% +}{% + \@ifpackageloaded{amsmath}{% + \def\@tempb#1 v#2.#3\@nil{#2}% + \ifnum\@xp\@xp\@xp\@tempb\csname ver@amsmath.sty\endcsname v0.0\@nil + <\tw@ + \def\@tempa{TT}% + \else + \def\@tempa{TF}% + \fi + }{% + \def\@tempa{TF} + }% +} +\if\@tempa + \renewcommand{\math@qedhere}{\quad\hbox{\qedsymbol}}% +\fi +\newcommand{\openbox}{\leavevmode + \hbox to.77778em{% + \hfil\vrule + \vbox to.675em{\hrule width.6em\vfil\hrule}% + \vrule\hfil}} +\DeclareRobustCommand{\textsquare}{% + \begingroup \usefont{U}{msa}{m}{n}\thr@@\endgroup +} +\providecommand{\qedsymbol}{\openbox} +\newenvironment{proof}[1][\proofname]{\par + \pushQED{\qed}% + \normalfont \topsep6\p@\@plus6\p@\relax + \trivlist + \item[\hskip\labelsep + \itshape + #1\@addpunct{.}]\ignorespaces +}{% + \popQED\endtrivlist\@endpefalse +} +\providecommand{\proofname}{Proof} +\endinput +%% +%% End of file `amsthm.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/amsxtra.sty b/Master/texmf-dist/tex/latex/amslatex/amsxtra.sty new file mode 100644 index 00000000000..10a65df4a20 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/amsxtra.sty @@ -0,0 +1,80 @@ +%% +%% This is file `amsxtra.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsxtra.dtx +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsxtra.dtx", +%%% version = "1.2c", +%%% date = "1999/11/15", +%%% time = "14:15:41 EST", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 1999 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% checksum = "41382 136 533 5124", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, accentedsymbol, fracwithdelims, sphat", +%%% supported = "yes", +%%% abstract = "This package contains some seldom-used commands +%%% ported from AMS-TeX in 1989.", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\ProvidesPackage{amsxtra}[1999/11/15 v1.2c] +\@ifpackageloaded{amstex}{}{% + \RequirePackage{amsmath}[1996/10/01 v1.2]} +\def\sphat{^{\mathchoice{}{}% + {\,\,\smash[b]{\hbox{\lower4\ex@\hbox{$\m@th\widehat{\null}$}}}}% + {\,\smash[b]{\hbox{\lower3\ex@\hbox{$\m@th\hat{\null}$}}}}}} +\def\spcheck{^\vee} +\def\sptilde{^\sim} +\def\spdot{^{\hbox{\raise\ex@\hbox{\normalfont .}}}} +\def\spddot{^{\hbox{\raise\ex@\hbox{\normalfont ..}}}} +\def\spdddot{^{\hbox{\raise\ex@\hbox{\normalfont...}}}} +\def\spbreve{^{\!\smash[b]{\hbox{\lower4\ex@\hbox{\u{}}}}}} +\@ifpackageloaded{amstex}{% +\def\fracwithdelims#1#2{\new@ifnextchar[{\fracwithdelims@#1#2}% + {\fracwithdelims@#1#2[\@empty]}} +\def\fracwithdelims@#1#2[#3]#4#5{\relax + \ifx\@empty#3{#4\overwithdelims#1#2#5}\else + {#4\abovewithdelims#1#2#3\relax#5}\fi} +}{} +\def\accentedsymbol#1#2{% + \expandafter\newbox + \csname\expandafter\@gobble\string#1@box\endcsname + \expandafter\setbox + \csname\expandafter\@gobble\string#1@box\endcsname + \hbox{$\m@th#2$}% + \newcommand{#1}{% + \expandafter\copy + \csname\expandafter\@gobble\string#1@box\endcsname{}}% +} +\def~{\nobreakspace} +\DeclareRobustCommand{\nobreakspace}{\unskip\nobreak\ \ignorespaces} +\endinput +%% +%% End of file `amsxtra.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/ifoption.sty b/Master/texmf-dist/tex/latex/amslatex/ifoption.sty new file mode 100644 index 00000000000..7e6e9039dbe --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/ifoption.sty @@ -0,0 +1,79 @@ +%% +%% This is file `ifoption.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% ifoption.dtx +%% +%%% ==================================================================== +%%% @LaTeX-doc-source-file{ +%%% filename = "ifoption.dtx", +%%% version = "1.02", +%%% date = "2002/03/04", +%%% time = "16:33:16 EST", +%%% author = "Michael J Downes", +%%% address = "American Mathematical Society, +%%% Publications Technical Group, +%%% PO Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% email = "tech-support@ams.org", +%%% URL = "http://www.ams.org/", +%%% abstract = "", +%%% checksum = "06695 170 563 5432", +%%% docstring = "The checksum field, produced by Robert Solovay's +%%% checksum utility, gives CRC-16 checksum, lines, +%%% words, and characters.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{ifoption}[2002/03/04 v1.02] +\let\@xp\expandafter \let\@nx\noexpand +\def\@True{00} +\def\@False{01} +\def\CurrentPackage{\@currname} +\let\CurrentClass\CurrentPackage +\newcommand{\IfOption}{} +\def\IfPackageOption{\@ifpackagewith} +\def\IfClassOption{\@ifclasswith} +\def\IfOption{% + \ifx\@currext\@pkgextension \@xp\IfPackageOption + \else \@xp\IfClassOption + \fi + \@currname +} +\newcommand{\DeclareExclusiveOptions}[1]{% + \xdef\@declaredoptions{\@declaredoptions,#1}% + \gdef\ProcessExclusiveOptions{\relax}% + \@for\CurrOption:=#1\do{% + \@xp\deo@a\csname ds@\CurrOption\@xp\endcsname\@xp{\CurrOption}{#1}% + }% +} +\def\DeclareBooleanOption{\DeclareExclusiveOptions} +\def\deo@a#1#2#3{% + \def#1{% + \g@addto@macro\ProcessExclusiveOptions{\OptionsFalseTrue{#3}{#2}}% + }% +} +\def\cull@options#1,{% + \@xp\ifx\csname ds@#1\@gobble\@percentchar\@empty\endcsname\@False + \else #1,\fi + \cull@options +} + +\newcommand{\OptionsFalseTrue}[2]{% + \begingroup + \@for\CurrentOption:=#1\do{% + \@xp\let\csname ds@\CurrentOption\endcsname\@False + }% + \let\ds@\@False + \@xp\xdef\csname opt@\@currname.\@currext\endcsname{% + \@xp\@xp\@xp\cull@options\csname opt@\@currname.\@currext\endcsname + ,\@firstoftwo\@firstoftwo,#2% + }% + \endgroup +} +\endinput +%% +%% End of file `ifoption.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/mathscinet.sty b/Master/texmf-dist/tex/latex/amslatex/mathscinet.sty new file mode 100644 index 00000000000..80ed5d99e57 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/mathscinet.sty @@ -0,0 +1,178 @@ +%% +%% This is file `mathscinet.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mathscinet.dtx +%% +%%% ==================================================================== +%%% @LaTeX-doc-source-file{ +%%% filename = "mathscinet.dtx", +%%% version = "2.01", +%%% date = "2004/06/30", +%%% time = "12:00:17 EDT", +%%% author = "Michael J Downes and David M. Jones", +%%% address = "American Mathematical Society, +%%% Publications Technical Group, +%%% PO Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% email = "tech-support@ams.org", +%%% URL = "http://www.ams.org/", +%%% abstract = "", +%%% checksum = "34681 595 2175 20194", +%%% docstring = "The checksum field, produced by Robert Solovay's +%%% checksum utility, gives CRC-16 checksum, lines, +%%% words, and characters.", +%%% } +%%% ==================================================================== +%%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{mathscinet}[2002/04/17 v1.05] +\RequirePackage{textcmds}\relax +\providecommand\setboxz@h{\setbox\z@\hbox} +\providecommand{\bold}{\mathbf} +\providecommand{\scr}{\mathcal} +\AtBeginDocument{% + \@ifundefined{mathfrak}{% + \providecommand{\germ}{% + \PackageError{mathscinet}{To use the \string\germ\space + command, please load the amsfonts package}\@ehc + }% + }{% + \providecommand{\germ}{\mathfrak}% + }% +} +\providecommand{\romsup}{\tsup} +\providecommand{\asup}{\tsup} +\AtBeginDocument{\providecommand{\hslash}{\hbar}} +\ProvideTextCommandDefault{\rasp}{\leavevmode\raise.45ex\hbox{$\rhook$}} +\ProvideTextCommandDefault{\lasp}{\leavevmode\raise.45ex\hbox{$\lhook$}} +\ProvideTextCommand{\Dbar}{T1}{\DJ} + +\ProvideTextCommandDefault{\Dbar}{% + \leavevmode\lower.5ex\rlap{\hskip-.07em\accent"16}D% +} +\ProvideTextCommand{\dbar}{T1}{\dj} +\ProvideTextCommandDefault{\dbar}{% + \begingroup + \edef\@tempa{\scdefault}% + \ifx\@tempa\f@shape + \dimen@-.75ex + \dimen@i-.08em + \else + \dimen@.02ex + \dimen@i.1em + \fi + \leavevmode\raise\dimen@\rlap{\hskip\dimen@i\char"16}d% + \endgroup +} +\ProvideTextCommandDefault{\cprime}{\tprime} +\ProvideTextCommandDefault{\cdprime}{\tprime\tprime} +\ProvideTextCommandDefault{\bud}{\cdprime} +\ProvideTextCommandDefault{\cydot}{\leavevmode\raise.4ex\hbox{.}} +\def\save@sf{% + \ifmmode\else\global\mathchardef\accent@spacefactor\spacefactor\fi +} +\def\restore@sf{\ifmmode\else\spacefactor\accent@spacefactor\fi} +\def\@underaccent#1#2#3{% + \leavevmode + \begingroup + \ifmmode\let\@mathtoggle$\else\let\@mathtoggle\relax\fi + \setboxz@h{\@mathtoggle#3\save@sf\@mathtoggle}% + \setbox\@ne\hb@xt@\wd\z@{% + \hss\fontshape\updefault\rmfamily#1\char#2\hss + }% + \dimen@\ht\@ne + \advance\dimen@\dp\z@ + \advance\dimen@.2ex + \setboxz@h{\lower\dimen@\rlap{\copy\@ne}\unhbox\z@}% + \ifdim\ht\@ne>1ex + \advance\dimen@-1.2ex + \dp\z@\dimen@ + \fi + \box\z@ + \restore@sf + \endgroup +} +\DeclareTextCommandDefault{\utilde}{\@underaccent\@empty{`\~}} +\DeclareTextCommandDefault{\uarc}{\@underaccent\@empty{'025}} +\DeclareTextCommandDefault{\lfhook}{\@underaccent\supsize{`\,}} +\DeclareTextCommandDefault{\dudot}{\@underaccent\@empty{'177}} +\DeclareTextCommandDefault{\udot}{\d} +\DeclareTextCommand{\polhk}{OT4}{\k} +\DeclareTextCommand{\polhk}{T1}{\k} +\DeclareTextCommand{\polhk}{OT1}[1]{\TextSymbolUnavailable{\k{#1}}#1} +\DeclareTextCompositeCommand{\polhk}{OT1}{a}{\msc@ogonek {.6}{.07} a} +\DeclareTextCompositeCommand{\polhk}{OT1}{A}{\msc@ogonek {.6}{.07} A} +\DeclareTextCompositeCommand{\polhk}{OT1}{e}{\msc@ogonek 0 {.06} e} +\DeclareTextCompositeCommand{\polhk}{OT1}{E}{\msc@ogonek{.35}{.07} E} +\DeclareTextCompositeCommand{\polhk}{OT1}{i}{\msc@ogonek {.2}{.07} i} +\DeclareTextCompositeCommand{\polhk}{OT1}{I}{\msc@ogonek {.2}{.07} I} +\DeclareTextCompositeCommand{\polhk}{OT1}{u}{\msc@ogonek {.6}{.07} u} +\DeclareTextCompositeCommand{\polhk}{OT1}{U}{\msc@ogonek 0 {.05} U} +\DeclareTextCompositeCommand{\polhk}{OT1}{o}{\msc@ogonek 0 {.07} o} +\DeclareTextCompositeCommand{\polhk}{OT1}{O}{\msc@ogonek 0 {.05} O} +\DeclareTextCompositeCommand{\polhk}{T1}{i}{\msc@ogonek@a 0 i} +\DeclareTextCompositeCommand{\polhk}{T1}{I}{\msc@ogonek@a 0 I} +\DeclareTextCompositeCommand{\polhk}{T1}{u}{\msc@ogonek@a {.6} u} +\DeclareTextCompositeCommand{\polhk}{T1}{U}{\msc@ogonek@a 0 U} +\DeclareTextCompositeCommand{\polhk}{T1}{o}{\msc@ogonek@a 0 o} +\DeclareTextCompositeCommand{\polhk}{T1}{O}{\msc@ogonek@a 0 O} +\DeclareTextCompositeCommand{\polhk}{OT4}{i}{\msc@ogonek {.2}{.07} i} +\DeclareTextCompositeCommand{\polhk}{OT4}{I}{\msc@ogonek {.2}{.07} I} +\DeclareTextCompositeCommand{\polhk}{OT4}{u}{\msc@ogonek {.6}{.07} u} +\DeclareTextCompositeCommand{\polhk}{OT4}{U}{\msc@ogonek 0 {.05} U} +\DeclareTextCompositeCommand{\polhk}{OT4}{o}{\msc@ogonek 0 {.07} o} +\DeclareTextCompositeCommand{\polhk}{OT4}{O}{\msc@ogonek 0 {.05} O} +\def\msc@ogonek#1#2#3{% + \begingroup + \setboxz@h{#3\save@sf}% + \dimen@\wd\z@ + \ooalign{% + \unhbox\z@\crcr + \hidewidth + \setboxz@h{\kern#1\dimen@\supsize$\lhook$}% + \dimen@\ht\z@ + \advance\dimen@-#2ex\relax + \lower\dimen@\box\z@ + \hidewidth + }% + \restore@sf + \endgroup +} +\def\msc@ogonek@a#1#2{% + \begingroup + \ooalign{% + #2\save@sf\crcr + \hidewidth + \raise0.02ex\hbox{\kern#1ex\char'014}% + \hidewidth + }% + \restore@sf + \endgroup +} +\DeclareTextCommand{\soft}{OT4}{\v} +\DeclareTextCommand{\soft}{T1}{\v} +\DeclareTextCommand{\soft}{OT1}{\v} + +\DeclareTextCompositeCommand{\soft}{OT1}{t}{\msc@soft{t}\@ne{.5ex}} +\DeclareTextCompositeCommand{\soft}{OT1}{d}{\msc@soft{d}{.925}{.95ex}} +\DeclareTextCompositeCommand{\soft}{OT1}{l}{\msc@soft{l}{.95}{.4ex}} +\DeclareTextCompositeCommand{\soft}{OT1}{L}{\msc@soft{L}{.975}{.8ex}} + +\DeclareTextCompositeCommand{\soft}{OT4}{t}{\msc@soft{t}\@ne{.5ex}} +\DeclareTextCompositeCommand{\soft}{OT4}{d}{\msc@soft{d}{.925}{.95ex}} +\DeclareTextCompositeCommand{\soft}{OT4}{l}{\msc@soft{l}{.95}{.4ex}} +\DeclareTextCompositeCommand{\soft}{OT4}{L}{\msc@soft{L}{.975}{.8ex}} +\def\msc@soft#1#2#3{% + \leavevmode + \begingroup + \setboxz@h{#1}% + \raise#2\ht\z@\rlap{\kern#3\supsize,}\unhbox\z@ + \endgroup +} +\endinput +%% +%% End of file `mathscinet.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/pcatcode.sty b/Master/texmf-dist/tex/latex/amslatex/pcatcode.sty new file mode 100644 index 00000000000..a9431543c5f --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/pcatcode.sty @@ -0,0 +1,166 @@ +%% +%% This is file `pcatcode.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% pcatcode.dtx +%% +%%% ==================================================================== +%%% @LaTeX-doc-source-file{ +%%% filename = "pcatcode.dtx", +%%% version = "1.04", +%%% date = "2002/04/16", +%%% time = "09:20:52 EDT", +%%% author = "Michael J Downes", +%%% copyright = "Copyright 2001 American Mathematical Society", +%%% address = "American Mathematical Society, +%%% Publications Technical Group, +%%% PO Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% email = "tech-support@ams.org", +%%% URL = "http://www.ams.org/", +%%% abstract = "The pcatcode package changes LaTeX package loading +%%% internals so that all subsequently loaded packages +%%% can rely on having normal catcodes in effect.", +%%% license = "Artistic", +%%% checksum = "25118 359 1469 13319", +%%% docstring = "The checksum field, produced by Robert Solovay's +%%% checksum utility, gives CRC-16 checksum, lines, +%%% words, and characters.", +%%% } +%%% ==================================================================== +\begingroup\let\e\endlinechar\iffalse\ +\fi\chardef\E\e\e13\chardef\n\catcode\e\catcode\e5\relax\relax +\chardef\s\catcode32\chardef\t10\catcode32\t +\chardef\c\catcode37 \catcode37 14 % percent +\chardef\=\catcode61 \catcode61 12 % equal sign +\chardef\l=\catcode123 \catcode123=1 % left brace +\chardef\r=\catcode125 \catcode125=2 % right brace +\chardef\[=\catcode91 \catcode91=12 % left bracket +\chardef\]=\catcode93 \catcode93=12 % right bracket +\chardef\^=\catcode94 \catcode94=7 % hat +\chardef\.=\catcode46 \catcode46=12 % period +\chardef\/=\catcode47 \catcode47=12 % slash +\edef\c{% + \endgroup + \def\noexpand\pcat@restore{% + \catcode\number\e=\number\n \catcode32=\number\s + \catcode123=\number\l \catcode125=\number\r + \catcode37=\number\c \catcode61=\number\=% + \catcode91=\number\[\catcode93=\number\]\catcode94=\number\^% + \catcode46=\number\.\catcode47=\number\/% + \endlinechar=\number\E \relax + }% +} +\c +\endlinechar13\catcode13\string=5\relax\relax +\catcode32\string=10 \catcode37 14\relax\relax +\catcode61 12\catcode123=1\catcode125=2\catcode91=12\catcode93=12\relax +\catcode46=12\catcode47=12\catcode94=7\relax +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{pcatcode}[2002/04/16 v1.04] +\def\NormalCatcodes{% + \endlinechar=13% + \catcode33=12\catcode34=12\catcode35=6\catcode36=3\catcode37=14% + \catcode38=4\catcode39=12\catcode40=12\catcode41=12\catcode42=12% + \catcode43=12\catcode44=12\catcode45=12\catcode46=12\catcode47=12% + \catcode58=12\catcode59=12\catcode60=12\catcode61=12\catcode62=12% + \catcode63=12\catcode91=12\catcode92=0\catcode93=12\catcode94=7% + \catcode95=8\catcode96=12\catcode123=1\catcode124=12\catcode125=2% + \catcode126=13\catcode32=10\catcode13=5\catcode9=10\catcode10=12% + \relax +} +\def\CatcodeStack{} +\begingroup \escapechar=\m@ne \let\s\string +\xdef\pcat@otherchars{% + \s\!\s\"\s\#\s\$\s\%\s\&\s\'\s\(\s\)\s\*\s +\s\,\s\-\s\.\s\/\s\:% + \s\;\s\<\s\=\s\>\s\?\s\[\s\\\s\]\s\^\s\_\s\`\s\{\s\|\s\}\s\~% +} +\endgroup +\gdef\PushCatcodes{% + \xdef\CatcodeStack{% + \expandafter\PushCat@a\pcat@otherchars\ \ + \^^I\^^J{T \@gobbletwo}\@empty + \relax + {\CatcodeStack}}% +} +\def\PushCat@a#1{\catcode\number`#1=\number\catcode`#1 \PushCat@a} +\PushCatcodes \NormalCatcodes +\def\PopCatcodes{\expandafter\PopCat@a\CatcodeStack} +\def\PopCat@a#1#{#1\xdef\CatcodeStack} +\def\CCSdo#1{ (\string#1\@iden{:\number\catcode`#1)\CCSdo}} +\def\CurrentCatcodesSubset{% + \romannumeral 0\CCSdo\^^I\^^J\^^L\^^M\ \!\"\#\$\%\&\'\(\)\*+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}{\~\@gobbletwo}:\number\catcode`\~)% +} +\begingroup\pcat@restore +\begingroup +\catcode`\3="3 \catcode`\4="4 \catcode`\7="7 \catcode`\8="8 +\catcode`\A="A \catcode`\B="B \catcode`\C="C \catcode`\D="D +\gdef\fls@let#1#2{% + \ifx\@@undefined#1\else\errmessage{\string#1 already defined}\fi + \begingroup + \lccode`\3=`#2\lccode`\7=`#2\lccode`\8=`#2% + \lccode`\B=`#2\lccode`\C=`#2\lccode`\D=`#2\relax + \ifnum\catcode`#2=\active + \def\do##1{\noexpand\do\noexpand##1\noexpand}% + \lowercase{% + \xdef\fls@active@characters{% + \fls@active@characters + \do#1D}% + }% + \fi + \aftergroup\global \aftergroup\let \aftergroup#1\aftergroup=% + \lowercase{\aftergroup} % + \lowercase{\expandafter\endgroup + \ifcase\catcode`#2 % + 0\or \bgroup\or \egroup\or 3\or 4\or 5\or 6\or 7\or 8\or 9\or + \@sptoken\or B\or C\else D\fi + }% +} +\endgroup +\gdef\FutureLetSetup{% + \gdef\fls@active@characters{}% + \fls@let\dl@@space\ % + \fls@let\dl@@exclam\!% + \fls@let\dl@@dblquote\"% + \fls@let\dl@@hash\#% + \fls@let\dl@@dollar\$% + \fls@let\dl@@ampersand\&% + \fls@let\dl@@rquote\'% + \fls@let\dl@@lparen\(% + \fls@let\dl@@rparen\)% + \fls@let\dl@@star\*% + \fls@let\dl@@plus\+% + \fls@let\dl@@comma\,% + \fls@let\dl@@hyphen\-% + \fls@let\dl@@period\.% + \fls@let\dl@@slash\/% + \fls@let\dl@@colon\:% + \fls@let\dl@@semicolon\;% + \fls@let\dl@@less\<% + \fls@let\dl@@equal\=% + \fls@let\dl@@greater\>% + \fls@let\dl@@question\?% + \fls@let\dl@@lbracket\[% + \fls@let\dl@@rbracket\]% + \fls@let\dl@@hat\^% + \fls@let\dl@@underscore\_% + \fls@let\dl@@lquote\`% + \fls@let\dl@@lbrace\{% + \fls@let\dl@@vert\|% + \fls@let\dl@@rbrace\}% + \fls@let\dl@@tilde\~% +} +\AtBeginDocument{\FutureLetSetup} +\gdef\FutureLetReset{% + \def\do##1##2{\let##1= ##2}% + \fls@active@characters + \let\do\relax +} +\endgroup +\endinput \PopCatcodes\pcat@restore +\endinput +%% +%% End of file `pcatcode.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/rkeyval.sty b/Master/texmf-dist/tex/latex/amslatex/rkeyval.sty new file mode 100644 index 00000000000..48ae11173e0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/rkeyval.sty @@ -0,0 +1,454 @@ +%% +%% This is file `rkeyval.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% rkeyval.dtx +%% +%%% ==================================================================== +%%% @LaTeX-doc-source-file{ +%%% filename = "rkeyval.dtx", +%%% version = "2.00", +%%% date = "2004/06/28", +%%% time = "15:19:29 EDT", +%%% author = "Michael J Downes and David M. Jones", +%%% address = "American Mathematical Society, +%%% Publications Technical Group, +%%% PO Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% email = "tech-support@ams.org", +%%% URL = "http://www.ams.org/", +%%% abstract = "Key-value scanning functions with more restrictive +%%% syntax than the standard keyval package. This permits +%%% some improvements in the error-checking.", +%%% checksum = "44721 1116 3178 30537", +%%% docstring = "The checksum field, produced by Robert Solovay's +%%% checksum utility, gives CRC-16 checksum, lines, +%%% words, and characters.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{rkeyval}[2004/05/05 v1.08] +\let\@xp\expandafter +\let\@nx\noexpand +\long\def\@gobblethree#1#2#3{} +\long\def\@nilgobble#1\@nil{} +\@ifundefined{@emptytoks}{\csname newtoks\endcsname\@emptytoks}{} +\@ifundefined{@temptokenb}{\csname newtoks\endcsname\@temptokenb}{} +\def\@append#1#2#3{\@xp\def\@xp#2\@xp{#2#1{#3}}} +\def\star@#1#2{% + \def\star@a##1{#1}% + \def\star@b{#1{#2}}% + \futurelet\@let@token\star@test +} + +\def\star@test{\ifx*\@let@token \let\star@b\star@a\fi \star@b} +\@ifundefined{NormalCatcodes}{\RequirePackage{pcatcode}\relax}{} +\PushCatcodes\NormalCatcodes +\def\extract@group#1{% + \@xp\extract@group@a\string#1\@nil +} +\def\extract@group@a#1#2'{#2\@nilgobble} +\def\set@property#1{% + \begingroup + \edef\@tempa{\extract@group#1}% + \edef\@tempa{% + \@nx\@append\@nx#1\@xp\@nx\csname \@tempa,aux\endcsname + }% + \@xp\endgroup + \@tempa +} +\def\get@property#1#2{% + \get@nth@property#1#2\m@ne +} +\def\get@nth@property#1#2#3{% + \begingroup + \edef\@tempa{\extract@group#2}% + \@tempcnta#3\relax + \@tempcntb\z@ + \@xp\scan@properties\@xp#2\csname \@tempa,aux\endcsname + \edef\@tempa{\def\@nx#1{\@tempa}}% + \@xp\endgroup + \@tempa +} +\def\scan@properties#1#2{% + \begingroup + \def\@tempa{#1}% + \let\@tempc\@empty + \@xp\find@property #2 \@nil\@nil + \edef\@tempa{\def\@nx\@tempa{\@tempc}}% + \@xp\endgroup + \@tempa +} +\def\find@property#1#2{% + \ifx\@nil#1% + \else + \def\@tempb{#1}% + \ifx\@tempa\@tempb + \ifnum\@tempcnta<\z@ + \def\@tempc{#2}% + \else + \advance\@tempcntb\@ne + \ifnum\@tempcntb=\@tempcnta + \def\@tempc{#2}% + \fi + \fi + \fi + \@xp\find@property + \fi +} +\def\reset@property#1#2{% + \reset@nth@property#1\m@ne{#2}% +} +\def\reset@nth@property#1#2#3{% + \begingroup + \edef\@tempa{\extract@group#1}% + \@tempcnta#2\relax + \@temptokena{#3}% + \toks@\@emptytoks + \@tempcntb\z@ + \@xp\reset@scan\@xp#1\csname \@tempa,aux\endcsname + \edef\@tempa{% + \def\@xp\@nx\csname \@tempa,aux\endcsname{\the\toks@}% + }% + \@xp\endgroup + \@tempa +} +\def\reset@scan#1#2{% + \begingroup + \def\@tempa{#1}% + \@xp\reset@scan@a #2 \@nil\@nil + \edef\@tempa{\toks@{\the\toks@}}% + \@xp\endgroup + \@tempa +} +\def\reset@scan@a#1#2{% + \ifx\@nil#1% + \else + \def\@tempb{#1}% + \ifx\@tempa\@tempb + \ifnum\@tempcnta<\z@ + \@temptokenb\@temptokena + \else + \advance\@tempcntb\@ne + \ifnum\@tempcntb=\@tempcnta + \@temptokenb\@temptokena + \fi + \fi + \else + \@temptokenb{#2}% + \fi + \edef\@tempb{% + \toks@{\the\toks@ \@nx#1{\the\@temptokenb}}% + }% + \@tempb + \@xp\reset@scan@a + \fi +} +\def\fsa@l{\futurelet\@let@token\fsa@t} +\def\fsa@b{\afterassignment\fsa@l \let\@let@token= } +\def\fsa@c#1{\aftergroup#1\fsa@l} +\let\fsa@n\@empty +\let\fsa@t\@empty +\newtoks\rsk@toks +\def\rkvIfEmpty#1#2{% + \@xp\ifx\csname#1'#2\endcsname\@empty + \@xp\@firstoftwo + \else + \@xp\@secondoftwo + \fi +} +\def\rkvIfAdditive#1{% + \@xp\let\@xp\@let@token \csname \rkv@setter#1\endcsname + \afterassignment\@nilgobble + \@xp\let\@xp\@let@token \@let@token \@empty\@empty\@nil + \ifx\@let@token\DSK@append + \@xp\@firstoftwo + \else + \@xp\@secondoftwo + \fi +} +\def\rkv@setter#1{set:\@xp\@gobble\string#1} +\def\rkv@DSAK#1#2{% + \addto@group@reset#1{\let#1\@empty}% + \edef\@tempa{\def\csname \rkv@setter#1\endcsname}% + \@tempa{#2#1}% +} +\def\rkv@DDK#1{% + \addto@group@reset#1{\def#1{\@empty}}% + \@xp\let\csname \rkv@setter#1\endcsname\@gobble +} +\def\DSK@def#1{% + \ifx#1\@empty\else + \PackageWarningNoLine{rkeyval}% + {Key \string#1 should not be repeated}% + \fi + \DSK@redef#1% +} +\def\DSK@redef#1#2{% + \@ifempty{#2}{\@gobble}{% + \def#1{#2}% + \set@property#1 + }% +} +\def\init@group@reset#1{% + \begingroup + \edef\@tempb{\@xp\@nx\csname #1@reset\endcsname}% + \@xp\ifx\@tempb\relax + \@xp\xdef\@tempb{\let \csname #1,aux\endcsname\@nx\@empty} + \fi + \endgroup +} +\def\addto@group@reset#1{% + \begingroup + \edef\@tempa{\extract@group#1}% + \init@group@reset\@tempa + \edef\@tempa{% + \@nx\g@addto@macro\@xp\@nx\csname\@tempa @reset\endcsname + }% + \@xp\endgroup + \@tempa +} +\newcommand{\DefineSimpleKey}[2]{% + \@xp\rkv@DSAK + \csname #1'#2\endcsname + {\DSK@def}% +} +\newcommand{\DefineSupersedingKey}[2]{% + \@xp\rkv@DSAK + \csname #1'#2\endcsname + {\DSK@redef}% +} +\newcommand{\DefineAdditiveKey}[3]{% + \@xp\rkv@DSAK + \csname #1'#2\endcsname + {\DSK@append#3}% +} +\def\DSK@append#1#2#3{% + \@ifempty{#3}{\@gobble}{% + \@append#1#2{#3}% + \set@property#2 + }% +} +\newcommand{\DefineDummyKey}[2]{% + \@xp\rkv@DDK \csname #1'#2\endcsname +} +\newcommand{\RestrictedSetKeys}[3]{% + \global\rsk@toks\@xp{\csname #2@reset\endcsname}% + \def\rsk@finish{#3}% + \gdef\rsk@set{\@xp\rsk@set@a\csname#2'}% + #1\relax + \begingroup + \rsk@changecase + \aftergroup\rsk@set + \let\fsa@t\rsk@z + \fsa@l +} +\def\rsk@unknown@key#1{% + \PackageWarning{rkeyval}{Unknown key: \string#1}% + \@xp\def\csname\rkv@setter#1\endcsname {\DSK@redef#1}% +} +\def\rsk@z{% + \ifx\bgroup\@let@token + \let\fsa@t\rsk@b + \let\fsa@n\fsa@b + \else + \ifx\@sptoken\@let@token + \let\fsa@n\fsa@b + \else + \rsk@errf + \fi + \fi + \fsa@n +} +\def\rsk@a{% + \ifx\@let@token\@sptoken + \let\fsa@n\fsa@b + \else + \ifx\@let@token\par + \let\fsa@n\fsa@b + \else + \ifx,\@let@token + \endgroup + \let\fsa@t\rsk@b + \let\fsa@n\fsa@b + \else + \ifx\egroup\@let@token + \endgroup + \let\fsa@n\rsk@end + \else + \endgroup + \let\fsa@n\rsk@erraa + \fi + \fi + \fi + \fi + \fsa@n +} +\def\rsk@b{% + \ifcat\@nx\@let@token A% + \let\fsa@t\rsk@c + \let\fsa@n\fsa@c + \else + \ifx\@sptoken\@let@token + \let\fsa@n\fsa@b + \else + \rsk@bb + \fi + \fi + \fsa@n +} +\def\rsk@bb{% + \ifx,\@let@token + \let\fsa@n\fsa@b + \else + \ifx\bgroup\@let@token + \let\fsa@n\rsk@errb + \else + \ifx\egroup\@let@token + \let\fsa@n\rsk@end + \else + \ifx\par\@let@token + \let\fsa@n\fsa@b + \else + \let\fsa@n\rsk@errc + \fi + \fi + \fi + \fi +} +\def\rsk@c{% + \ifcat\@nx\@let@token A% + \let\fsa@n\fsa@c + \else + \ifx\@sptoken\@let@token + \let\fsa@t\rsk@d + \let\fsa@n\fsa@b + \else + \ifx=\@let@token + \let\saw@equal T% + \let\fsa@t\rsk@d + \let\fsa@n\fsa@b + \else + \rsk@cb + \fi + \fi + \fi + \fsa@n +} +\def\rsk@cb{% + \ifx,\@let@token + \let\fsa@n\rsk@errc + \else + \ifcat\@nx\@let@token .% + \let\fsa@n\fsa@c + \else + \ifx\bgroup\@let@token + \let\fsa@n\rsk@noequal + \else + \ifx\egroup\@let@token + \let\fsa@n\rsk@noequal + \else + \let\fsa@n\rsk@errc + \fi + \fi + \fi + \fi +} +\let\saw@equal=F +\def\rsk@d{% + \ifx\bgroup\@let@token + \ifx\saw@equal T% + \aftergroup\endcsname + \rsk@endcase + \let\fsa@n\endgroup + \else + \let\saw@equal T% + \let\fsa@n\rsk@noequal + \fi + \else + \ifx\@sptoken\@let@token + \let\fsa@n\fsa@b + \else + \ifx=\@let@token + \let\saw@equal T% + \let\fsa@n\fsa@b + \else + \let\fsa@n\rsk@erre + \fi + \fi + \fi + \fsa@n +} +\def\rsk@casesensitive{% + \let\rsk@changecase\@empty + \let\rsk@endcase\@empty +} +\def\rsk@startlc{\aftergroup\lowercase\aftergroup{\iffalse}\fi} +\def\rsk@endlc{\iffalse{\fi\aftergroup}} +\def\rsk@lowercase{% + \let\rsk@changecase\rsk@startlc + \let\rsk@endcase\rsk@endlc +} +\rsk@lowercase +\def\rsk@resume{% + \begingroup + \rsk@changecase + \aftergroup\rsk@set + \let\fsa@t\rsk@a + \begingroup + \catcode\endlinechar=\active + \lccode`\~=\endlinechar + \lowercase{\let~\par}% + \fsa@l +} +\def\rsk@set@a#1#2{% + \star@{\rsk@set@b#1{#2}}{}% +} +\def\rsk@set@b#1#2#3{% + \@xp\ifx \csname\rkv@setter#1\endcsname \relax + \rsk@unknown@key#1% + \fi + \edef\@tempa{\@xp\@nx\csname \rkv@setter#1\endcsname}% + \toks@\@xp{\@tempa{#2}{#3}}% + \edef\@tempa{% + \global\rsk@toks{\the\rsk@toks \the\toks@}% + }% + \@tempa + \rsk@resume +} +\def\rsk@end{% + \global\let\rsk@set\rsk@terminate + \rsk@endcase + \endgroup + \endcsname + \afterassignment\rsk@finish + \toks@\bgroup +} +\def\rsk@terminate{\@xp\@gobble\csname} +\def\NoCommaWarning{\PackageWarning{rkeyval}{Missing comma}}% +%% % \begin{macro}{\NoCommaError} +%% % \begin{macrocode} +%% \def\NoCommaError{\rsk@err{Missing comma}\@ehc} +%% % \end{macrocode} +%% % \end{macro} +\def\rsk@nocomma{\NoCommaWarning} +\def\rsk@err{\PackageError{rkeyval}} +\def\rsk@errf{\rsk@err{Missing open brace}\@ehc\rsk@b} +\long\def\rsk@erraa{\rsk@nocomma \let\fsa@t\rsk@b \fsa@l} +\def\rsk@errb{\rsk@err{Missing key name}\@ehc\rsk@d} +\def\rsk@errc{\rsk@err{Invalid key name character}\@ehc\fsa@b} +\def\rsk@noequal{\rsk@err{Missing equal sign}\@ehc\rsk@d} +\def\rsk@erre#1,{% + \rsk@err{Missing open brace for key value}\@ehc + \iffalse{\fi + \endgroup + \endcsname + \rsk@endcase }{#1},% +} +\PopCatcodes +\endinput +%% +%% End of file `rkeyval.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/rkvbeta.sty b/Master/texmf-dist/tex/latex/amslatex/rkvbeta.sty new file mode 100644 index 00000000000..693ad698a91 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/rkvbeta.sty @@ -0,0 +1,189 @@ +%% +%% This is file `rkeyval.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% rkeyval.dtx +%% +%%% ==================================================================== +%%% @LaTeX-doc-source-file{ +%%% filename = "rkeyval.dtx", +%%% version = "1.02", +%%% date = "2000/04/07", +%%% time = "12:01:25 EDT", +%%% author = "Michael J Downes", +%%% address = "American Mathematical Society, +%%% Publications Technical Group, +%%% PO Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% email = "tech-support@ams.org", +%%% URL = "http://www.ams.org/", +%%% abstract = "Key-value scanning functions with more restrictive +%%% syntax than the standard keyval package. This permits +%%% some improvements in the error-checking.", +%%% checksum = "41751 427 1502 13407", +%%% docstring = "The checksum field, produced by Robert Solovay's +%%% checksum utility, gives CRC-16 checksum, lines, +%%% words, and characters.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{rkvbeta}[2000/04/07 v1.02] +\let\@xp\expandafter \let\@nx\noexpand +\def\@append#1#2#3{\@xp\def\@xp#2\@xp{#2#1{#3}}} +\edef\@tempa{% + \@nx\AtEndOfPackage{\catcode\number`\'=\number\catcode`\'\relax}% +} +\@tempa +\catcode`\'=12 +\def\fsa@l{\futurelet\@let@token\fsa@t} +\def\fsa@b{\afterassignment\fsa@l \let\@let@token= } +\def\fsa@c#1{\aftergroup#1\futurelet\@let@token\fsa@t} +\let\fsa@n\@empty +\let\fsa@t\@empty +\def\rkvIfEmpty#1#2{% + \@xp\ifx\csname#1'#2\endcsname\@empty \@xp\@firstoftwo + \else\@xp\@secondoftwo + \fi +} +\def\rkv@DSAK#1#2{% + \ifx\relax#1\global\let#1\@empty\fi + \g@addto@macro#1{\let#2\@empty}% + \def#2% +} +\def\rkv@DDK#1#2{% + \ifx\relax#1\global\let#1\@empty\fi + \g@addto@macro#1{\def#2{\@empty}}% + \def#2% +} +\newcommand{\DefineSimpleKey}[2]{% + \@xp\rkv@DSAK\csname #1@init\@xp\endcsname + \csname #1'#2\endcsname{\DSK@def}% +} +\newcommand{\DefineSupersedingKey}[2]{% + \@xp\rkv@DSAK\csname #1@init\@xp\endcsname + \csname #1'#2\endcsname{\def}% +} +\def\DSK@def#1{% + \ifx#1\@empty\else + \PackageWarningNoLine{rkeyval}% + {Key \string#1 should not be repeated}% + \fi + \def#1% +} +\newcommand{\DefineAdditiveKey}[3]{% + \@xp\rkv@DSAK\csname #1@init\@xp\endcsname \csname #1'#2\endcsname + {\@append#3}% +} +\newcommand{\DefineDummyKey}[2]{% + \@xp\rkv@DDK\csname #1@init\@xp\endcsname \csname #1'#2\endcsname{\def}% +} +\newcommand{\RestrictedSetKeys}[3][\NoCommaWarning]{% + \global\rsk@toks\@xp{\csname #2@init\endcsname}% + \gdef\rsk@set{\@xp\rsk@set@a\csname#2'}% + \def\rsk@finish{#3}% + \def\rsk@nocomma{#1}% + \begingroup \aftergroup\rsk@set + \let\fsa@t\rsk@z \fsa@l +} +\def\rsk@unknown@key#1{% + \PackageWarning{rkeyval}{Unknown key: \string#1}% + \def#1{\def}% +} +\newtoks\rsk@toks +\def\rsk@set@a#1#2{% + \ifx\relax#1\rsk@unknown@key#1\fi + \toks@\@xp{#1#1{#2}}% + \edef\@tempa{% + \global\rsk@toks{\the\rsk@toks \the\toks@}% + }% + \@tempa + \rsk@resume +} +\def\rsk@z{% + \ifx\bgroup\@let@token \let\fsa@t\rsk@b \let\fsa@n\fsa@b + \else\ifx\@sptoken\@let@token \let\fsa@n\fsa@b + \else \rsk@errf + \fi\fi + \fsa@n +} +\def\rsk@a{% + \ifx,\@let@token \endgroup \let\fsa@t\rsk@b \let\fsa@n\fsa@b + \else\rsk@ab\fi + \fsa@n +} +\def\rsk@ab{% + \ifx\@sptoken\@let@token \let\fsa@n\fsa@b + \else\ifx\bgroup\@let@token \endgroup + \let\@let@token\bgroup \let\fsa@n\rsk@erra + \else\ifx\egroup\@let@token \endgroup \let\fsa@n\rsk@end + \else\ifx\par\@let@token \endgroup \let\fsa@n\rsk@erraa + \else \endgroup \let\fsa@n\rsk@erraa + \fi\fi\fi\fi +} +\def\rsk@lc@letter#1{\lowercase{\fsa@c{#1}}} +\def\rsk@b{% + \ifcat\@nx\@let@token A\let\fsa@t\rsk@c \let\fsa@n\rsk@lc@letter + \else\ifx\@sptoken\@let@token \let\fsa@n\fsa@b + \else\rsk@bb\fi\fi + \fsa@n +} +\def\rsk@bb{% + \ifx,\@let@token \let\fsa@n\fsa@b + \else\ifx\bgroup\@let@token \let\fsa@n\rsk@errb + \else\ifx\egroup\@let@token \let\fsa@n\rsk@end + \else \let\fsa@n\rsk@errc + \fi\fi\fi +} +\def\rsk@c{% + \ifcat\@nx\@let@token A\let\fsa@n\rsk@lc@letter + \else\ifx\@sptoken\@let@token \let\fsa@t\rsk@d \let\fsa@n\fsa@b + \else\ifx=\@let@token \let\fsa@t\rsk@d \let\fsa@n\fsa@b + \else\rsk@cb\fi\fi\fi + \fsa@n +} +\def\rsk@cb{% + \ifx,\@let@token \let\fsa@n\rsk@errc + \else\ifcat\@nx\@let@token .\let\fsa@n\fsa@c + \else\ifx\bgroup\@let@token \let\fsa@n\rsk@errd + \else\ifx\egroup\@let@token \let\fsa@n\rsk@errd + \else \let\fsa@n\rsk@errc + \fi\fi\fi\fi +} +\def\rsk@d{% + \ifx\bgroup\@let@token \aftergroup\endcsname \let\fsa@n\endgroup + \else\ifx\@sptoken\@let@token \let\fsa@n\fsa@b + \else\ifx=\@let@token \let\fsa@n\fsa@b + \else\let\fsa@n\rsk@erre\fi\fi\fi + \fsa@n +} +\def\rsk@resume{\begingroup \aftergroup\rsk@set + \let\fsa@t\rsk@a + \begingroup + \catcode\endlinechar=\active \lccode`\~=\endlinechar + \lowercase{\let~\par}% + \fsa@l} +\def\rsk@end{% + \global\let\rsk@set\@gobble + \endgroup \endcsname + \afterassignment\rsk@finish + \toks@\bgroup +} +\def\NoCommaWarning{\PackageWarning{rkeyval}{Missing comma}}% +\def\NoCommaError{\rsk@err{Missing comma}\@ehc} +\def\rsk@nocomma{\NoCommaWarning} +\def\rsk@err{\PackageError{rkeyval}} +\def\rsk@errf{\rsk@err{Missing open brace}\@ehc\rsk@b} +\def\rsk@erra{\rsk@nocomma\rsk@b} +\long\def\rsk@erraa#1{\rsk@nocomma \let\fsa@t\rsk@b \fsa@l} +\def\rsk@errb{\rsk@err{Missing key name}\@ehc\rsk@d} +\def\rsk@errc{\rsk@err{Invalid key name character}\@ehc\fsa@b} +\def\rsk@errd{\rsk@err{Missing equal sign}\@ehc\rsk@d} +\def\rsk@erre#1,{\rsk@err{Missing open brace for key value}\@ehc + \endgroup \endcsname{#1},% +} +\endinput +%% +%% End of file `rkeyval.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/textcmds.sty b/Master/texmf-dist/tex/latex/amslatex/textcmds.sty new file mode 100644 index 00000000000..4f4346c60a1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/textcmds.sty @@ -0,0 +1,123 @@ +%% +%% This is file `textcmds.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% textcmds.dtx (with options: `pkg') +%% +%%% ==================================================================== +%%% @LaTeX-doc-source-file{ +%%% filename = "textcmds.dtx", +%%% version = "1.05", +%%% date = "2002/04/16", +%%% time = "08:47:47 EDT", +%%% author = "Michael J Downes", +%%% address = "American Mathematical Society, +%%% Publications Technical Group, +%%% PO Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% email = "tech-support@ams.org", +%%% URL = "http://www.ams.org/", +%%% abstract = "Short forms for textemdash and the other LaTeX +%%% commands that correspond to ligatures of +%%% convenience.", +%%% checksum = "55773 283 1136 10227", +%%% docstring = "The checksum field, produced by Robert Solovay's +%%% checksum utility, gives CRC-16 checksum, lines, +%%% words, and characters.", +%%% } +%%% ==================================================================== +\ProvidesPackage{textcmds}[2002/04/16 v1.05] +\providecommand{\mdash}{\textemdash\penalty\exhyphenpenalty} +\providecommand{\ndash}{\textendash\penalty\exhyphenpenalty} +\newcommand{\qd}{\textquestiondown} +\newcommand{\xd}{\textexclamdown} +\newcommand{\ldq}{\textquotedblleft} +\newcommand{\rdq}{\textquotedblright} +\newcommand{\lsq}{\textquoteleft} +\newcommand{\rsq}{\textquoteright} +\newcommand{\bul}{\textbullet}% +\newcommand{\vsp}{\textvisiblespace}% +\newcommand{\pdc}{\textperiodcentered}% +\newcommand{\vrt}{\textbar}% +\newcommand{\cir}{\textasciicircum}% +\newcommand{\til}{\textasciitilde}% +\newcommand{\bsl}{\textbackslash}% +\newcommand{\cwm}{\textcompwordmark}% +\providecommand{\qq}[1]{\ldq#1\/\rdq} +\newcommand{\supsize}{% + \expandafter\ifx\csname S@\f@size\endcsname\relax + \calculate@math@sizes + \fi + \csname S@\f@size\endcsname + \fontsize\sf@size\z@\selectfont +} +\DeclareRobustCommand{\tsup}[1]{% + \leavevmode\raise.9ex\hbox{\supsize #1}% +} +\DeclareRobustCommand{\tsub}[1]{% + \leavevmode\lower.6ex\hbox{\supsize #1}% +} +\DeclareTextSymbolDefault{\textprimechar}{OMS} +\DeclareTextSymbol{\textprimechar}{OMS}{48} +\DeclareRobustCommand{\tprime}{\tsup{\textprimechar}} +\@ifundefined{textlangle}{% + \DeclareTextSymbolDefault{\textlangle}{OMS} + \DeclareTextSymbolDefault{\textrangle}{OMS} +}{} +\DeclareTextSymbol{\textlangle}{OMS}{"68} +\DeclareTextSymbol{\textrangle}{OMS}{"69} +\DeclareRobustCommand{\lara}[1]{\textlangle#1\/\textrangle} +\csname endinput\endcsname +<*emacs> +(defvar latex-ndash-command "\\ndash" + "*String to insert for an n-dash in LaTeX mode.") + +(defvar latex-mdash-command "\\mdash" + "*String to insert for an m-dash in LaTeX mode.") + +(defvar latex-quote-command "\\qq" + "*String to insert for quotes in LaTeX mode.") + +(defun latex-maybe-start-quotes (arg) + "Insert the beginning of a \\qq{...} structure if the preceding char is +a left quote." + (interactive "*p") + (if (= (preceding-char) ?\`) + (progn + (delete-backward-char 1) + (insert-and-inherit (concat latex-quote-command "\{"))) + (self-insert-command arg))) + +(defun latex-maybe-end-quotes (arg) + "Insert the end of a \\qq{...} structure if appropriate." + (interactive "*p") + (if (= (preceding-char) ?\') + (progn + (delete-backward-char 1) + (insert-and-inherit "\}")) + (self-insert-command arg))) + +(defun latex-maybe-dash (arg) + "Convert two or three hyphens to \\mdash or \\ndash." + (interactive "*p") + (cond + ((re-search-backward + (concat (regexp-quote latex-ndash-command) " *\\=") nil t) + (replace-match (concat (regexp-quote latex-mdash-command) " "))) + ((= (preceding-char) ?-) + (delete-backward-char 1) + (insert-and-inherit (concat latex-ndash-command " "))) + (t (self-insert-command arg)))) + +(add-hook 'TeX-mode-hook + '(lambda + (define-key LaTeX-mode-map "\`" 'latex-maybe-start-quotes) + (define-key LaTeX-mode-map "\'" 'latex-maybe-end-quotes) + (define-key LaTeX-mode-map "-" 'latex-maybe-dash))) +</emacs> +\endinput +%% +%% End of file `textcmds.sty'. diff --git a/Master/texmf-dist/tex/latex/amslatex/upref.sty b/Master/texmf-dist/tex/latex/amslatex/upref.sty new file mode 100644 index 00000000000..f1b173a842e --- /dev/null +++ b/Master/texmf-dist/tex/latex/amslatex/upref.sty @@ -0,0 +1,82 @@ +%% +%% This is file `upref.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% upref.dtx +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "upref.dtx", +%%% version = "2.01", +%%% date = "2004/07/29", +%%% time = "16:37:01 EDT", +%%% checksum = "07926 151 617 5530", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1996 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, amslatex, ams-latex, cross references", +%%% supported = "yes", +%%% abstract = "This is a LaTeX package that provides printing +%%% of \cn{ref}s in an upright font even if the +%%% current context is italic or slanted.", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\ProvidesPackage{upref}[2004/07/29 v2.01] +\newcommand{\@noref}[1]{% + \G@refundefinedtrue + \nfss@text{\reset@font\bfseries ??}% + \@latex@warning{Reference `#1' on page \thepage\space undefined}% +} +\AtBeginDocument{% + \@ifpackageloaded{hyperref}{% + \def\Hy@setref@link#1#2#3#4#5#6\@nil#7{% + \begingroup + \toks0{\hyper@@link{#5}{#4}}% + \toks1\@xp{#7{\textup{#1}\hbox{}}{#2}{#3}{#4}{#5}}% + \edef\x{\endgroup\the\toks0{\the\toks1}}\x + }% + \def\@setref#1#2#3{% + \ifx#1\relax + \@xp\protect\@noref{#3}% + \else + \@xp\Hy@setref@link#1\@empty\@empty\@nil{#2}% + \fi + }% + }{% + \def\@setref#1#2#3{\ifx#1\relax + \protect\@noref{#3}% + \else + \protect\textup{\@xp#2#1\hbox{}}% + \fi + }% + }% +} +\providecommand\@upn{\textup} +\endinput +%% +%% End of file `upref.sty'. |