From 505a11a94e5dc6b9010250a0cae90880e6e23182 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 27 Aug 2006 18:25:23 +0000 Subject: amslatex package amscls update from latex-tds (27aug06) git-svn-id: svn://tug.org/texlive/trunk@2048 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/amscls/amsart.template | 61 + .../texmf-dist/doc/latex/amscls/amsbook.template | 99 + Master/texmf-dist/doc/latex/amscls/amsclass.pdf | Bin 0 -> 947076 bytes Master/texmf-dist/doc/latex/amscls/amsdtx.pdf | 3587 ++++++++++++++ Master/texmf-dist/doc/latex/amscls/amsmidx.pdf | Bin 0 -> 107374 bytes .../texmf-dist/doc/latex/amscls/amsproc.template | 61 + Master/texmf-dist/doc/latex/amscls/amsrdoc.pdf | Bin 0 -> 203601 bytes Master/texmf-dist/doc/latex/amscls/amsrefs.faq | 15 + Master/texmf-dist/doc/latex/amscls/amsrefs.pdf | Bin 0 -> 922791 bytes Master/texmf-dist/doc/latex/amscls/amsthdoc.pdf | Bin 0 -> 79655 bytes Master/texmf-dist/doc/latex/amscls/amsxport.pdf | Bin 0 -> 218400 bytes Master/texmf-dist/doc/latex/amscls/changes.pdf | Bin 0 -> 111235 bytes Master/texmf-dist/doc/latex/amscls/cite-xa.pdf | Bin 0 -> 61055 bytes Master/texmf-dist/doc/latex/amscls/cite-xa.tex | 221 + Master/texmf-dist/doc/latex/amscls/cite-xb.pdf | Bin 0 -> 73979 bytes Master/texmf-dist/doc/latex/amscls/cite-xb.tex | 143 + Master/texmf-dist/doc/latex/amscls/cite-xh.pdf | Bin 0 -> 71053 bytes Master/texmf-dist/doc/latex/amscls/cite-xh.tex | 154 + Master/texmf-dist/doc/latex/amscls/cite-xs.pdf | Bin 0 -> 47445 bytes Master/texmf-dist/doc/latex/amscls/cite-xs.tex | 19 + Master/texmf-dist/doc/latex/amscls/diffs-c.txt | 319 ++ Master/texmf-dist/doc/latex/amscls/gktest.ltb | 440 ++ Master/texmf-dist/doc/latex/amscls/ifoption.pdf | Bin 0 -> 93293 bytes Master/texmf-dist/doc/latex/amscls/instr-l.pdf | Bin 0 -> 216561 bytes Master/texmf-dist/doc/latex/amscls/jr.bib | 214 + Master/texmf-dist/doc/latex/amscls/mathscinet.pdf | Bin 0 -> 182797 bytes Master/texmf-dist/doc/latex/amscls/pcatcode.pdf | Bin 0 -> 151821 bytes Master/texmf-dist/doc/latex/amscls/rkeyval.pdf | Bin 0 -> 171343 bytes Master/texmf-dist/doc/latex/amscls/textcmds.pdf | Bin 0 -> 140525 bytes Master/texmf-dist/doc/latex/amscls/thmtest.pdf | Bin 0 -> 72211 bytes Master/texmf-dist/doc/latex/amscls/upref.pdf | Bin 0 -> 82954 bytes Master/texmf-dist/source/latex/amscls/00readme.txt | 145 + Master/texmf-dist/source/latex/amscls/ams-c1.ins | 80 + Master/texmf-dist/source/latex/amscls/amsclass.dtx | 5204 ++++++++++++++++++++ Master/texmf-dist/source/latex/amscls/amsdtx.dtx | 1192 +++++ Master/texmf-dist/source/latex/amscls/amsmidx.dtx | 241 + Master/texmf-dist/source/latex/amscls/amsthdoc.tex | 374 ++ Master/texmf-dist/source/latex/amscls/install.txt | 106 + Master/texmf-dist/source/latex/amscls/instr-l.tex | 1233 +++++ Master/texmf-dist/source/latex/amscls/manifest.txt | 41 + Master/texmf-dist/source/latex/amscls/thmtest.tex | 255 + Master/texmf-dist/source/latex/amscls/upref.dtx | 151 + Master/texmf-dist/tex/latex/amscls/amsart.cls | 1922 ++++++++ Master/texmf-dist/tex/latex/amscls/amsbook.cls | 1871 +++++++ Master/texmf-dist/tex/latex/amscls/amsbooka.sty | 174 + Master/texmf-dist/tex/latex/amscls/amsdtx.cls | 517 ++ Master/texmf-dist/tex/latex/amscls/amsmidx.sty | 122 + Master/texmf-dist/tex/latex/amscls/amsproc.cls | 1858 +++++++ Master/texmf-dist/tex/latex/amscls/amsrbeta.sty | 901 ++++ Master/texmf-dist/tex/latex/amscls/amsrefs.sty | 2996 +++++++++++ Master/texmf-dist/tex/latex/amscls/amsthm.sty | 448 ++ Master/texmf-dist/tex/latex/amscls/ifoption.sty | 79 + Master/texmf-dist/tex/latex/amscls/mathscinet.sty | 178 + Master/texmf-dist/tex/latex/amscls/pcatcode.sty | 166 + Master/texmf-dist/tex/latex/amscls/rkeyval.sty | 454 ++ Master/texmf-dist/tex/latex/amscls/rkvbeta.sty | 189 + Master/texmf-dist/tex/latex/amscls/textcmds.sty | 123 + Master/texmf-dist/tex/latex/amscls/upref.sty | 82 + Master/texmf-dist/tpm/amscls.tpm | 82 + Master/texmf/lists/amscls | 61 + 60 files changed, 26578 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/amscls/amsart.template create mode 100644 Master/texmf-dist/doc/latex/amscls/amsbook.template create mode 100644 Master/texmf-dist/doc/latex/amscls/amsclass.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/amsdtx.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/amsmidx.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/amsproc.template create mode 100644 Master/texmf-dist/doc/latex/amscls/amsrdoc.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/amsrefs.faq create mode 100644 Master/texmf-dist/doc/latex/amscls/amsrefs.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/amsthdoc.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/amsxport.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/changes.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/cite-xa.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/cite-xa.tex create mode 100644 Master/texmf-dist/doc/latex/amscls/cite-xb.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/cite-xb.tex create mode 100644 Master/texmf-dist/doc/latex/amscls/cite-xh.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/cite-xh.tex create mode 100644 Master/texmf-dist/doc/latex/amscls/cite-xs.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/cite-xs.tex create mode 100644 Master/texmf-dist/doc/latex/amscls/diffs-c.txt create mode 100644 Master/texmf-dist/doc/latex/amscls/gktest.ltb create mode 100644 Master/texmf-dist/doc/latex/amscls/ifoption.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/instr-l.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/jr.bib create mode 100644 Master/texmf-dist/doc/latex/amscls/mathscinet.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/pcatcode.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/rkeyval.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/textcmds.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/thmtest.pdf create mode 100644 Master/texmf-dist/doc/latex/amscls/upref.pdf create mode 100644 Master/texmf-dist/source/latex/amscls/00readme.txt create mode 100644 Master/texmf-dist/source/latex/amscls/ams-c1.ins create mode 100644 Master/texmf-dist/source/latex/amscls/amsclass.dtx create mode 100644 Master/texmf-dist/source/latex/amscls/amsdtx.dtx create mode 100644 Master/texmf-dist/source/latex/amscls/amsmidx.dtx create mode 100644 Master/texmf-dist/source/latex/amscls/amsthdoc.tex create mode 100644 Master/texmf-dist/source/latex/amscls/install.txt create mode 100644 Master/texmf-dist/source/latex/amscls/instr-l.tex create mode 100644 Master/texmf-dist/source/latex/amscls/manifest.txt create mode 100644 Master/texmf-dist/source/latex/amscls/thmtest.tex create mode 100644 Master/texmf-dist/source/latex/amscls/upref.dtx create mode 100644 Master/texmf-dist/tex/latex/amscls/amsart.cls create mode 100644 Master/texmf-dist/tex/latex/amscls/amsbook.cls create mode 100644 Master/texmf-dist/tex/latex/amscls/amsbooka.sty create mode 100644 Master/texmf-dist/tex/latex/amscls/amsdtx.cls create mode 100644 Master/texmf-dist/tex/latex/amscls/amsmidx.sty create mode 100644 Master/texmf-dist/tex/latex/amscls/amsproc.cls create mode 100644 Master/texmf-dist/tex/latex/amscls/amsrbeta.sty create mode 100644 Master/texmf-dist/tex/latex/amscls/amsrefs.sty create mode 100644 Master/texmf-dist/tex/latex/amscls/amsthm.sty create mode 100644 Master/texmf-dist/tex/latex/amscls/ifoption.sty create mode 100644 Master/texmf-dist/tex/latex/amscls/mathscinet.sty create mode 100644 Master/texmf-dist/tex/latex/amscls/pcatcode.sty create mode 100644 Master/texmf-dist/tex/latex/amscls/rkeyval.sty create mode 100644 Master/texmf-dist/tex/latex/amscls/rkvbeta.sty create mode 100644 Master/texmf-dist/tex/latex/amscls/textcmds.sty create mode 100644 Master/texmf-dist/tex/latex/amscls/upref.sty create mode 100644 Master/texmf-dist/tpm/amscls.tpm create mode 100644 Master/texmf/lists/amscls diff --git a/Master/texmf-dist/doc/latex/amscls/amsart.template b/Master/texmf-dist/doc/latex/amscls/amsart.template new file mode 100644 index 00000000000..1923a23557c --- /dev/null +++ b/Master/texmf-dist/doc/latex/amscls/amsart.template @@ -0,0 +1,61 @@ +%----------------------------------------------------------------------- +% Beginning of amsart.template +%----------------------------------------------------------------------- +% +% AMS-LaTeX v.2 template for use with amsart +% +% Remove any commented or uncommented macros you do not use. + +\documentclass{amsart} + +\newtheorem{theorem}{Theorem}[section] +\newtheorem{lemma}[theorem]{Lemma} + +\theoremstyle{definition} +\newtheorem{definition}[theorem]{Definition} +\newtheorem{example}[theorem]{Example} +\newtheorem{xca}[theorem]{Exercise} + +\theoremstyle{remark} +\newtheorem{remark}[theorem]{Remark} + +\numberwithin{equation}{section} + +\begin{document} + +\title{} + +% Remove any unused author tags. + +% author one information +\author{} +\address{} +\curraddr{} +\email{} +\thanks{} + +% author two information +\author{} +\address{} +\curraddr{} +\email{} +\thanks{} + +\subjclass[2000]{Primary } + +\keywords{} + +\date{} + +\dedicatory{} + +\begin{abstract} +\end{abstract} + +\maketitle + +\end{document} + +%----------------------------------------------------------------------- +% End of amsart.template +%----------------------------------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/amscls/amsbook.template b/Master/texmf-dist/doc/latex/amscls/amsbook.template new file mode 100644 index 00000000000..4ac9c928dd9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/amscls/amsbook.template @@ -0,0 +1,99 @@ +%----------------------------------------------------------------------- +% Beginning of amsbook.template +%----------------------------------------------------------------------- +% +% AMS-LaTeX v.2 driver file template for use with amsbook +% +% Remove any commented or uncommented macros you do not use. + +\documentclass{amsart} + +% For use when working on individual chapters +%\includeonly{} + +% Include referenced packages here. +\usepackage{} + +\newtheorem{theorem}{Theorem}[chapter] +\newtheorem{lemma}[theorem]{Lemma} + +\theoremstyle{definition} +\newtheorem{definition}[theorem]{Definition} +\newtheorem{example}[theorem]{Example} +\newtheorem{xca}[theorem]{Exercise} + +\theoremstyle{remark} +\newtheorem{remark}[theorem]{Remark} + +\numberwithin{section}{chapter} +\numberwithin{equation}{chapter} + +% For a single index; for multiple indexes, see the manual +% "Instructions for preparation of papers and monographs: +% AMS-LaTeX" (instr-l.pdf in the AMS-LaTeX distribution). +\makeindex + +\begin{document} + +\frontmatter + +\title{} + +% Remove any unused author tags. + +% author one information +\author{} +\address{} +\curraddr{} +\email{} +\thanks{} + +% author two information +\author{} +\address{} +\curraddr{} +\email{} +\thanks{} + +\subjclass[2000]{Primary } + +\keywords{} + +\date{} + +\begin{abstract} +\end{abstract} + +\maketitle + +\setcounter{page}{4} + +% See the AMS Author FAQ, http://www.ams.org/authors/author-faq.html +% regarding a dedication page. + +\tableofcontents + +% Include unnumbered chapters (preface, acknowledgments, etc.) here. +\include{} + +\mainmatter +% Include main chapters here. +\include{} + +\appendix +% Include appendix "chapters" here. +\include{} + +\backmatter +% Bibliography styles amsplain or harvard are also acceptable. +\bibliographystyle{amsalpha} +\bibliography{} +% See note above about multiple indexes. +\printindex +\end{document} + +\end{document} + +%----------------------------------------------------------------------- +% End of amsbook.template +%----------------------------------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/amscls/amsclass.pdf b/Master/texmf-dist/doc/latex/amscls/amsclass.pdf new file mode 100644 index 00000000000..258be69a90b Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/amsclass.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/amsdtx.pdf b/Master/texmf-dist/doc/latex/amscls/amsdtx.pdf new file mode 100644 index 00000000000..006030677cb --- /dev/null +++ b/Master/texmf-dist/doc/latex/amscls/amsdtx.pdf @@ -0,0 +1,3587 @@ +%PDF-1.4 +% +1 0 obj<> +endobj +2 0 obj<> +endobj +3 0 obj<> +endobj +4 0 obj<> +endobj +5 0 obj<> +endobj +6 0 obj<> +endobj +7 0 obj<> +endobj +8 0 obj<> +endobj +9 0 obj<> +endobj +10 0 obj<> +endobj +11 0 obj<> +endobj +12 0 obj<> +endobj +13 0 obj<> +endobj +14 0 obj<> +endobj +15 0 obj<> +endobj +16 0 obj<> +endobj +17 0 obj<> +endobj +18 0 obj<> +endobj +19 0 obj<> +endobj +20 0 obj<> +endobj +21 0 obj<> +endobj +22 0 obj<> +endobj +23 0 obj<> +endobj +24 0 obj<> +endobj +25 0 obj<> +endobj +26 0 obj<> +endobj +27 0 obj<> +endobj +28 0 obj<> +endobj +29 0 obj<> +endobj +30 0 obj<> +endobj +31 0 obj<> +endobj +32 0 obj<> +endobj +33 0 obj<> +endobj +34 0 obj<> +endobj +35 0 obj<>stream +xYoF\T$8rI 4{E- +XyŋD$ofgW"m6 Z.wgfM?9#0MGLg#I MhtJTG۔oZ=8 0T-OtʤmWѲO-@㉌EXMcN R,MN/ycCU]KؿR(Qcl|}SR+ڊ6s彶ocsU05Jqz%1eJ"UQW( ` ieK6нCM^ϴZ=*=j܋33PaT!fmvm֚y}vس[-T,U!;0F&܃Qye4xvaFEW;?ٷ-/hR5wEt6v}{},-7v?)ҋ^JB@kںn݆T">lp5ߵegХn%WNK\0,i:n+wnS}GUW]2H KF<3Cwu }ҀBh |fj:۷9=: H$E^~9KYT ,r]u'SgY1}xib?R@])dATPtc *a_ّ2p o(Ԭ; ufb+Nu/o}uw\ޝ>G 7d: CxA}:y_/ņ0ͣ \>h _ftoҁMŦ?0OK8M9Xfi<ZI0w5* t4R/r@6ü4A/-XS3]]۲[k nD3i7vZBS98%]i(ka~wھT4ms׬i?>;}J"11Ϗ]QƢ٬Ӑ:A?o|߯ebs + +9En*O19GYݞ*;>"tK!W0S)Zk@m~7~lIqHf +endstream +endobj +36 0 obj<>>> +endobj +37 0 obj<> +endobj +38 0 obj<> +endobj +39 0 obj<> +endobj +40 0 obj<> +endobj +41 0 obj<> +endobj +42 0 obj<> +endobj +43 0 obj<>stream +xڵYmoGFFc(RoX޾bo">`'t$:85rC$/sVn/$Sg ΞZ|׷fK { + +|Xek+á(pp; Cf #!xݿޚlQq=`* +Hgɔ" 6ӏ?&SQ//_N~SXwznOq ? $d3x?6F~(Ez&!Yl+VK|)7+v~Wn%E/xBH&B "L-qL6u)AE,q[^bևIV m^Kή쎅-%`߷Ңvp["QhZg9ky8"b+phkI4xzȍ+0+%MDf|vQ`gbHEN`7Y{$E@28Q b`I9KYy%̓T]JLJ{pxi2^&y~'2ͷ YNrr\}W2k灇(v3GF)Ԟyg`&֋%աs^kڦ₡*#j1:baW\KmdTbMR1SX~!G1t.L*U8.m<78CA<xBfHsxӠ(/*%)vc00y !j_.Hh:j򂋟o"S*@9O&/o.%vee_H<.i^R((),*\FJMN j[Ɔ7_UK=\z) AE#27bW{# bFmWOP7h_4=Bx8K;>E>`4O.Gi0"$S;ͩR2:>ʆom1gV + u([ްvpM +*I J'qJLiNIC]xw-VYCjk==Hz&750<;!E{dkUG_0-O{PCHtYDt([ʳlC| +a(&.nOHfivHO|#VD6I/OHӬZӲt.j(j$NTmj2*^,?unZi˳"+mbK筎[a UQ1ܬxؘu-"H!f{nїtvM _R'La[Pa}˧ af@Vys=[ :YBqTblKJp*_7 ڲo0pDk7t}[r2ENڊc:;M1KW,].fTEdDNvu@aӷq|]NK]^t/G/ +6Xoo3i >P-oJlFFp) 7_BqFF8cH1gW9[ǿ)O-Ҥf{a.o0NN {qRSh]6+V OXhc + $(V(hcS<ٍ 07 ]-M}ښ +NT&[0uL<ٲQy>|\eW< b^a]l7I(P@)Pʯ-uF@əv`jҷ0EBB#Y B)DVdMv3!fỏPY +NS6B qO}#XD!>.8vΓzTmG_ٺ"O8k.gUX\ -*p<\jP: *b(WY*>>> +endobj +45 0 obj<>stream +xڭXKoF>G(1PI!IErĆ"r\>Hb^DrfvwQ<(a4.GIℍ'p1.FAIypatQ E4ώ/䥴?l9 +.,*-! ϒ -U>cJ Ң])B@cXB FIgA̪,RB^{'a"Z6Wtn}y18CqSC pE)v|<0[Ɨqdgoӓl jF$nNUyq$xZq-KП`%KYmʕ~Ajř5ϺЊ + EycͮHtMMWSSw1$"u*-PB]a<Ȫ&-/n ,) ik$x0 v d6[w}w=R)>E7uȭpLjE]&NupSCU +ZڎS7*W;ѬJMt+ߤ]+OF|jq`:?\{$PxٽUI [¬j>7\؛fn 尶7qָN_EO5)L7yq"pE'kdQ7짏kߙgm/ 5ƃJ-Ql6F^:0o%|i}x҉Irf5fUAccjsp|?e4:Fkt?Fڒ1K/UƗrz&Gvvã1{>0nG( +y׭Fen9kS;&S)X-J&٦t_F -vYۧSAF7*`ilh`UrmSؗc]{[O1Nb:BDxOCHc+'}[N0FV8V$}VdUU[|SZ)`pT vz/ +endstream +endobj +46 0 obj<>>> +endobj +47 0 obj<>stream +xY۸= \<(p@^䵺zDy] =nܢ(@"3Ùo>__S4Y`\<Е0Ll>[y,dqzz17f^˙Y$Ƌ\,y`%81Pd}\~`RҎ]V=^ lSF%>@^e{{XIoߚˆS8S)聲U*@_gL8 0H"Y{3)h,LDâ^$=_{9Mg//pu,C5c_ E7mV{6`'HF>dڪjd!`>$i <8`rMqk"ʲWӱb iZ S!{Cau3UzYQKtgJ=VziyIrlv, +FE`? cZ,*( hKFgOdeZ|6IWf&Q9טR{æ*0Yٱ4CR:UtY/m"q,tFG3;>ޠ[oZȈmwS#PѾn[."xʾl+6i.дA,qP(ՐzZˋ@G/!%)gá 2= 4ܲ t^cs ŗ˶0˘9$Iut]$;#-'{'o~| &~0v/WͶ~䂢RK/IV% C\HkK ׶J< Xkg)ySm^ؤGRSRU2)(/q2/k2U.7z$}1zc?|)DNYbէ@29܍>D`ƒU- +$%c:Y >Hd}M!SfMuiFkJ4ڪ,@ѣBJ +뀆i>PNEW/[k~|د-y&EEHD +d?g=PXAV? ?bY 8S`(g>И|9-;$ߌ9(k$~~g!jyLT$&"^nUa_3~)H9U6Tr0?b<:R6qfՑ`zONns_]V)*D'ObwA (\5.wCDN^*-Tֺ|t6MW/h|XqN{Zs[V TF;\T ,d9DJwGgx(8` +4r1wkz|&؝U# |PtFҪ!!g;R@iJmӴQ8ٴ]}补CҎq@[]Rbtۺ02=nMNFVP܂Rz'<- BcR3Qo>[RcjCs*8ٶ6j54 L B{(+]}vVZݤߺP}B'wns}et ?xXֺ wA@`kH3PwfȠɃ/F쩍V&I*lrxn殱'U47=h2%@]΋/4|hr581o%虆6L`z3~ ;Oeu +l_5ݧ󾼤.b1=nqWv >!~&^*[6IЌÎn?#ЊE(kM6@vS[q÷ij!{|oϲ +endstream +endobj +48 0 obj<>>> +endobj +49 0 obj<>stream +xڵXo~?B@RB-GPᮅȩfPḃ];3%>Pcv^Wo.fGЌC˞W86؟kA8g5 3x\3}g+f8n庑 71d۫f"9Wk/pnZeV~xF5DBpBQe7:lYBЦ+KUMEQOigf{fymi7kQ*#׿ւJc3 D5Cx6NmEu#:m[4IgA랚?M'th!UD)*$iāΩz+2my֦~F}B )Ĉ[|yFM+G}u.ig cw4=JŋZVG 3+WZ1X#=&n i\u*; DӆDO2tXMrk>0|/ FEF ː5Faۊ!CH#hZ&6z2ISjS)rCKHQqn*|F JQ@-PHo WYr% ဥy'Aĺ-u#׍jAbfOgx +A_9,ԩ{)WAD# +yFiý%PLҐry/`4Jy^ j Y" Ús}`hvh+@Hq=9 oTqlPT<H6؄ Qr\WR mU;KҰI4;mƺ b2_1ΠgN)B;*lJ:*K +%9@,A-(Qx=>;IN4dzt@[\O. +;7nQ 5` B`2]6l2m_W|~|LZ>vB9e=;|&X[84?-88A.4yi/UbViٯK0NEjTWU<Q4XdUg\r$!qAW-8~htU{3s)lzѢ5(<ٙz3:02KV8уIbsQo DoL˔pR̀u1Sۖ!ړbZ*L${r$ 'Mno1DCϴl᮰QbQ1IHomdAB\}XJhtLp @fpԦ=ugt# +BB $7J4e G-=8ȳG(β( ЍBaW"3딃KY}rو>jH;ρ K|&_jPtF=b ̡[[R]QF<ݴd!(eiTj:/R:܀sLW8I-at;.We4$n@C';")FlgH7 ] +ݏ6]"x22*r +T?O([|SE)~2M~ +,6^Kdu{|qH4u;}k'|6y?];s%J߫7̨K%ͱ.vF__/q|?8cX)굎|l댺z#EK tUMJWVjqa6An+ƞH1Юo:$Ы_B +endstream +endobj +50 0 obj<>>> +endobj +51 0 obj<>stream +xڵXmܶon߰Zm%RK"v-p2Dҧ=9YE O(jf8|>ًoYU>B€ U6sly,Dqzj!7fZYDƋ\,y?"ֽ{8$GYW8.Ϸoޭ B}//.\߯@J_ L=F +LJ</Fy澬 ? ^q܈J=l븞h8x^ +~3a"Ӄ7+7kSX} @1J؝N^7r@n `\2҆,uAOPhBTW wOI5FFFelKٻ$Y-oo5u#R TH㐚|o9*9|GJcGw]-hY߈jcVJ Ď ^i]u"7 +0̷kpeM)鉠Xuuzxtn*iin5xb2 +%Mo& &^jwb%Ggȗ(x{;YW82&6@IR._y*Ԉ^HQ7+ʒgIWuo Uөx+> >n$ɣ hۡ|bT2*aSkV W*gG0K>E >%Jm˚_[Z%k+"ɪ^;=TM~RMΔK8 }zOMxʦBL".>zӆ:"0$ߙmhN2 wR1r[+YAW =*zC\ݰDȋbe[dP7RD01xȳ8! +O+g +Sm{wO)y +2~ 7?9$~?A`S.J (<6% ;)T0 bI[F"ң!)myGhV?$ff~,3ͦ? r&q8ڠ皀}'|aWڹMsJȻNu؝kO:YO R'] #FI){nኁBJvcF>F$:$wh;Z~E``6$ۢ?럵[SI;c`yj!5fb6vύiL'D+YaSsàgㅊ|F֊C^ki4ʖy!ݝygK24*D j}g0H +}w̴lxvkBm'~k9$Mz5Q6^0%Nj_={&H*^* %?50߫QNdݝzqM +ORYzN):׬ Jh.|#&( +8E8Bڂ4nϡ#{= GZR"je%ӳCa%gl)RQ^QI[׶ \WU؝*ʓPY=~@ +endstream +endobj +52 0 obj<>>> +endobj +53 0 obj<>stream +xX[D~m )UUیA-tA + TZWblO^s⬽d}y}r|n󝛏~:;Df؉fgY;$g8?³|vn&^dzvsW/NNNs̀cXqr,$p|=әd +vYeV/7<#K0>(pBJ( +q uQ 8b}\}ѳ\'VUc-O}'&16-ٖ$겤UMzͪm%,MB:ESq;$+?C/;~GVo]‡t ^$e)&mKLl,mR^[9+U ۙ{x'RNvaPؗЫC8wBh&p"|R P?^ ()%h6TDfk k年#NGfx|G'? tl$'8]w]q\zU7 + ±rvͫy`o!ŁA >ycnݐn@=0MФ*uWQ5 ]t>q$sV=DZrxwƚZ+ueKYg!@E{dՄXR 1ݤRr QJP a|@ӓ U~L($ VwS¿*H9=teeen?-(lSt*W[|Sc{b1I{|Ʋ6Un}̪V8 2I`g i[d+ + >ͧ}8y<$ N#067 ]\c&tꦪ;a 9QW:ӆ F>sBp,Zt7몚\'({$"nX% +ྦ_r]^G;ezp$.%ʉ VhmVhU #D0 M#ni# +8c|kEi(R׺ٴQ ͘cfmF=VuWpEHٹnxnyzk="'C^Ј#\ϗMdBX +*Y)u])d+Z] 뮡#_t5"Vo7weЦ|;ّl/bU_V>R)[BV4f iUЃf~L6V0ke䆝*>ܐ{dZ";Go#{wL(Θu_֬ +k +endstream +endobj +54 0 obj<>>> +endobj +55 0 obj<>stream +xڽXnF]tg#( r^pBi(ta(`fAQÈ5Hq{3xls}ΐg?~ELb$ >BhMˉ'_`$Bqސ < zƈfL^]^}k%t{ 8{7?mPD B6ˋwO9^}uuuq5}? 1CD=Q$ħQܳ`dI"AlU[.!9Gdk)})@xU,ҮhVΛ>ien}5 iJ{UZ/[0E4B+ \eLz<2-[}zWt+m9kڴ6{ 82JםwonvUwSHr%)(!)2&\TORąA:Ct"V &D !W:c h1h-4RRjKÄ \(zSeA5ƈ-eF(`ەo#S +j83:r-]{b6V[-NJ=PNQ=$7]]xá ald-LD)mdL748\qĆ#^0Yȡ1d(Z 8ng4Hcd/F"Yls>1ݤ";iƜ☓׏\ٍKnRO{aTAJ|rHF3@խV u n^scPɚ򶪝5JО䦖Oc\;dnRUzq07@K+CSu.7tH]^8',r[-O]|̋(X8ê9B +Zu=K-I KGs}څڅRB)rnpf\/Zw͟|B~ 6&#4yujazf3t`QuזE-]4V 3R˲bY +>r֠s$AGMJ77[mw[PkPjyv4BUa^:-1O|oVv3evVX8c'6|m"o!'j[*J{6Zmn(uqc{SxY.sHe :wIv!П>:tlڙL'/u4r^%sT|)AgJL pk ?+CT\9zyI20k(biMGĬ+bcZr,3t\6?!r`x&VLq4x*vʓ~7qKL{̱;Gwbw?w?ǣ/ +endstream +endobj +56 0 obj<>>> +endobj +57 0 obj<>stream +xڵX[o6~0`EݸӤ)245e KTE7HrߡHVJL=|9乐.^C3h(E>uFKq"6Dr8=22)g7.r@ Zbޭqûɔ8q=:?ݗbO1nޝ󡫏n#kǢ\7r SB|sI7rHڝr6rߓ)*<, VaղzUXOY@_ZĬh0k8` NC%[- E1KFCͭJ~%v&:fcV+gB_kWIŲ;di-PQ) e{Jp-d,iZVEF:0헊v#MVlfF VLR0+&K ih:̣Qq?˖EmXCv&t϶/yTju^hL7k +Re޳[Ç>XoC@ h-^^_'j;'k]I*cQE=[621١9A ƃWVjC̭!6Q̿U,nf kg QPBmy:**)j}mAc4PfWMTR7OH(5 T:,5?'z Sv4٩6''ōi(EL  -9ۭSv4Z4Ҕ"G +Eoef4% 1NmZ,% R-%TYSS dȖKE$)A|gD;I#Y?3Ki$hT)꺬ӓl:1P3Q׏QSLm.YYOt3>VpK#U{1؄fyȒ̻MRIߘE`y\Wldwz{1,7ʶHkj8 +dx}0Tj8PNƐw778X݈X\/ppݖyئQe_xg4mXѲ*$sE&S۶%KF10IXޝT||s$1r>nޞ} +]|>udq&]:F2dn{i/f/%⻔AO+V(R<_X/zeUMڲ*wHcC'Y͌$`y/Z|ALe +uPpUX]P7}h0f<&"߁ ` 6+TW<Dlّm-ev``"mMR! +yVu:Pwa -n?йu +endstream +endobj +58 0 obj<>>> +endobj +59 0 obj<>stream +xڭX[o6~[a+3'.ܵنD ۴E7HtVߡDrԧ^b;|ѷ?D>g +>'f̡l7l, Q~73߳lM3[y6Y/$O(aۭxuzy5s|vss}sf ||-1_͙$<(0E+7Bg!,0cGgRBfy7o%paN="(}Q˼|+uײݖ*J%vO*%Q4.B}1|; 0pԇHF?yζ,Xa]&LӃEDx'Gs (&K]rCѠ[s#mWB>6S[8GKG.7{^$x+5yCޱ^vcUqߦY{ +mVI}vmuOѦDhSޒOTn=w4oʱ\G~*>RVAޚb +<- f9LYL &PU^'t[?`Ǣkxj=|(s"pRv'i' +jKvKׅ28}0qiݦ6sKh|q :\` bҲl M tE0`..b80aBAd2AxcJѳ h0dF>.Q{Oj̏蔡yr'U2ۼsRE${.(9U$Yg6_D@ĈC{d&;g5n-!LE~X i9OU 2,;t*qDYY]*laޥ>P#KЄh2;Y{&0Mn(mGA~U}E_ɩVM B69c bwnJ>iTq\ffb1t NZJB i=!Dd0 \!/.[Uf x];pΎl_"&~xq8q`'2k$kq7héFqMH;F\e*tYOTy:do>fxۦ͋Ӯ~LXPn_m;׊ y` [i}op4))&s拆946Rzrc~D͒{xLxhCh crp Az0PCk|熾/Q'Q=a3=枩8dZ",6wjLV:a.\,wmRW؀ +|O#rm|Ɔ'u 4PVb?gޡ'0S0K y2Am#E`F\`|w޴k. +endstream +endobj +60 0 obj<>>> +endobj +61 0 obj<>stream +xXo6?EQ"ܥ鐡IŇ QMZaHtU'%nC2{|ߋg/~|Gܷhq##xhYG`#naz˫׳?ԶÐf۽u7xBk]߾zsuj̘5k^ۺZPb6xۛ_=ׯn^ߍ~ylD\%X<-B]>8GꝄzxV{+ [r96+L_:SRm :|)|܃ǃ}mƠ H^* 4?ZpY wl*a!CO0]+pQ[pǴV~w;9-Ū&!i $x S:3tq ti0 iHv(CxQԺA(sՆ K$ȳ[0)I'HTmtO(r=܏eIȇ6UȚ[R,w~]d0w>>[ȵlS*r,IЮ] Y(V}YPmT~YMR}}۠LsQ,--$a|DLb".yz#ZmXW QTFH&BuZA@дa.e([gCxvX۠R1x&WBVJhنZ7%T]qz\"i)yA0~%Rq(&bB+;&Yᓢ}h;Fۙ7ġaTVZ9]۪V#Q쎘Y_u_/] ?oFK<>h#sϮfHyjW:0,LK1{pI  + Co3#`~fʌ瓣8?TY~8e~pw 8^q2.aH,Si>ʳ4i^$SmK}ua##ʬT1 b9oFzNL#R!^cWGkrݺexPEypj_Cl8'FcFBlmq>n^Z%l%`C6+7}ӆ x5pXÍy54ԃ7pl/֗R䚎\d\Tz7e">stream +xX[o6~/# aċn6kS C/hH iSC}"Xnb΍ŋ_߄ȉ|\'pYlY۳'D,pE$ 7D3YuȡFKw7o_x5`d{UQ@u^|RCPZϻ {N-CQRpVOLl;.2B=wUxαǹ(7q8*ש@xwAȅF)Bq#꾩XaRsUS8r p|Zlբ)8rljؖ +T!y{h=YꑋjKa 5-AcX6׫)OGCxzdY)3vwUrXgr[EtKRSwxMxPn{GB~mT=|Á +ڇ9N]N9kթ^L$췍;n{K`ۛxOurҸHy%9ʻq-r9*7%&r2=ZO*| m6сc{7,g *JpQG؇JD' +u-I'lU;9;?|9r&7DitМ7[^{nGR(wt-˟`d 5=QG-MT%ムP [ΰh.֤+VO7J Iz VdMAmxJmWm7u@uKCSAd{ "sPSQ~'nx !n7+C :FsOu`z]V#vc=t2:/?>D ne!绔4pŋ5# +endstream +endobj +63 0 obj<>>> +endobj +64 0 obj<>stream +xڵX[o6~۠?`2sE`I[L6`i%W:=9V(:7~;|տ`6IQx2dbY["Bʺ#VۘFܹUD !p-gl}Y\߉UY仍b>o +ł}QCɘj\;+~/Z˧˿fJ],VJ`hK^u6XGˆrpER@x]5d_:^}_?^XO6^4p[鱯 IޥLU_J['0n6APR|;Ə]A2Eo]@Q x08`"$ +o[-l4Go%2Y @8oݦuE.2 (TP>WU⭕k3/Npjc%7?+_PPUHFIdaX! ٟlxaFg 4uz+,{(Jr댤hYA4 k3}TU#=#j60e7+t*k]4QbGҀe e^m6pNxO-K v<:1pPZ`.N`=TZ "zn2 ocu5Pjj,ܵ.,36c6ؘ׍.62.jMNڗ^`3ףxV@lumqx +#e$/;h:yꈮ1@t5W|Z5@?1L)Q`҉?iq@2oʿEw_n|{R⡦o}Uv3Do_>PVbko>*ɊmL>[=Lz0*oOM +_/ yMhᅫ%>NR +y'zA8\W-Ms:lxUadnB4ߘ)޹2qqYaDC6$Qa-IB@n̰l$UU1-J9x+-t< +[+PC%]&lԄpP?4/*ђ+ LwQ,4~W!{t RKv)~q8"^݃_x~z?#7y}8K8S1fE'noyoB<:1BmY8)u'T@OwHjUE:lQinD`8]^OQΨ.NP- ᭺=SviL R*\}"nJ6f:/38gwEkmHF# .IcZv5_~VJeR3gE`ħ"s-ˎWZ (xpN1E9eQ54joXE/ Ǣw} +vjq#ãZ6_W4=znF|Έ<#V(df7W +endstream +endobj +65 0 obj<>stream +xڵX[OF~_GXBh՗>]X +JIJR{vҥ(Ǟqa >w.·_~y1xәGF!^0ĂЛfOț$Btt4f>M&_ZtEwccޘ*IJ\^"Sߍ ZS\$p bEo‘a xj16GXFI`S4)9W ~!hxP$2mr.d$uS}gchz vd '1$XR# .%Lz/+`JVIR\eK5/geo{,\iFCs>/ +ejgЕDĢ`8Þ8:gE 0Fϧ?U,̍vпQ0g8LACcת+;fGkR8ZW +PfvOdm}t&w] k!0;|k&g@*V"( % ʏ\9eS3.;?;nׅbټ8oqiPOI6a`% }GePPSj^V&:ۭLj`o,/d`'i@pvR^+/qaxWY9*U]| B#Lחu#LT?Z(u^S-?hkS mJ(v ֲ ,Խ\Cy5X`} + }'.r (4y:-++ z! I;Y7@-PXH p#IB`\B,D%7vJv˙CLąOsQS\B-Ȍ#Fo d'XbRgصvʻ1J[\4N\ +I!쵉{1? +endstream +endobj +66 0 obj<>stream +xYݏ6[? تiEM6=4m[ue+Hy]l?SeW q͐zhҙlIQLVg{j&?Y=[Dnh[(6^WfQd]xjsftD؎C7*<ϳW~`x87C_u~N-ޕd|TiJ3$E =YXƨ-, }`IŢ$ùtLGtvQwŅve7eV4?< *Ý+LQ"I6ŝ3Pj}FbI'.A{|s}1S]KN7 UyxrBu7RT9s-!zicY Sv +)Q Uz敒2_^HYu4+xNo 0OӖ咩j( Њ=}AO݇^r?Fx]t=>'A]e7ڳA:VD:sl?tt`G+%]p֒TBUiJ/t+pQkF*22Bf?>r,#XX#c?~MYd;y6;,m|]$w_)㭏\x}@ VD24Y%ʆA󦺡2`"S0e>[m.$n & 5'6Ƴ#2 <z䔶ǡp4sgk^0j]oY]FG15/d[ʩĔW-+vU+LIJ]!!ٱ1o >P&+s;.yIp&"Ǔ7xL1=d p@ \N3\@ymM*/hMkUrĉ,'脼$ޣF.2xtd8OJ|,u:'B1n +Dt+$jYeb4@\k1a&\Y-D +hƼ0p%68J#g< c@=M+yQ5&v\&SuVen 2vd=mEȀCcz"ۆ2\x|'kt6%JȘqNX|!CPݡf~vĘsJ9wtܱUJ` 5". Z"Yk1ov+,C^mdAmS^ǘm Bh]-]h~,IY&é?+Fdi..c(s(*1fryZxWD ůt9KaL@> m8svec + F)$T'DQlq*ǃ1ν IGU?y@*D] |Zu/P\f*y +T LHtu}'s88ϋ@5m̯\d4O)" ޫv"/J&.AF ֵR{QDx`l"craH"r۾nзZ֢j[=KT.0vNJ<Cu0P;9W~u^Lbv a-⊗3*qnhqh/O ^lz`cG~wyoWl +endstream +endobj +67 0 obj<>stream +xko!h!}?z-(mAIZu$E%E;v8ONrfv3o/N 2bDF + 1FјBG +IQ01#\~3?HUL&O&ԂJV-KiX ěyR]{6I%ޏrz<8/'CEflv"Z%ݳ,^qmtׯYY|,Ͳ8VKKnwd)q)߯tQbLb*VU!^!Ԭ[b_H@.RN)M$ciP2b(c@۟}3ѣ߽BOC [NCuJUw^`;HҔ }0 +aꪙhq +sR2kH0۾h>(_06{ڥ]MD6(v* ӠhQ2 CYpU1P-qKl)*}Ў0EY=>q٣5u8\|/iiZW`1aBџEAj`⧋S2 N%Guz#faoUl +UW8H}?4;"kO^pT֜vO, +|2&0n5XJ c^Rd0 a,*4{Je=$4G=NCH<"#T +PL;ku55UaijkfQƾeyxj6wvU[qBZ"A%)YyI☹'s+^g]% 5xj>]-ViT[{wgQE8uGGMmx+Amkʻ̆EubPEPo(+ƙIqpRlCY/6ւr٢Vf_/rmdy.MY+uum1V1:2@U8_q +cG8?q ->ue]d.H LgEQ!Dke=0y^HSDD“M)YlS*ɋ? +J\Ḗ&a&< ֑*.8Lf/iI4ZGf6n2ntbP ~"u"|[{Ϣm9 L)JD?YC Ҝ;mllP}.h$I( aِ@)l .VE8'V2WilHHIUΪƓ7X:v"1L5u ) + )8 g0dsTm-{{W6B)#p1T7iOZ)@IsS\@!cHK@C(74?78t>o-Y*W^Y΂j6[26~R 駄te*O' ̤_8!hp8^!%-H*m# }|hẑeP,1<c%-釸eqG&=2s[X +Qy4i0]m|(hhBeϚ|XT9p6$2LAY]XxVyQDٕ"N8.(JSy PN?=S2Ict+P\?D~9)*Q,"m%J$mT"Q!6f/hs#9g +ǡk"EL\)$ˠ]."`vFBC"n0[bq~E~cRMdP#HYV0Pܒ蚍m?PPW Ta=ܙf?>>> +endobj +69 0 obj<> +endobj +70 0 obj<> +endobj +71 0 obj<> +endobj +72 0 obj<> +endobj +73 0 obj<> +endobj +74 0 obj<> +endobj +75 0 obj<> +endobj +76 0 obj<> +endobj +77 0 obj<> +endobj +78 0 obj<> +endobj +79 0 obj<> +endobj +80 0 obj<> +endobj +81 0 obj<> +endobj +82 0 obj<> +endobj +83 0 obj<> +endobj +84 0 obj<> +endobj +85 0 obj<> +endobj +86 0 obj<> +endobj +87 0 obj<> +endobj +88 0 obj<> +endobj +89 0 obj<> +endobj +90 0 obj<> +endobj +91 0 obj<> +endobj +92 0 obj<> +endobj +93 0 obj<> +endobj +94 0 obj<> +endobj +95 0 obj<> +endobj +96 0 obj<> +endobj +97 0 obj<> +endobj +98 0 obj<> +endobj +99 0 obj<> +endobj +100 0 obj<> +endobj +101 0 obj<> +endobj +102 0 obj<> +endobj +103 0 obj<> +endobj +104 0 obj<> +endobj +105 0 obj<> +endobj +106 0 obj<> +endobj +107 0 obj<> +endobj +108 0 obj<> +endobj +109 0 obj<> +endobj +110 0 obj<> +endobj +111 0 obj<> +endobj +112 0 obj<> +endobj +113 0 obj<> +endobj +114 0 obj<> +endobj +115 0 obj<> +endobj +116 0 obj<> +endobj +117 0 obj<> +endobj +118 0 obj<> +endobj +119 0 obj<> +endobj +120 0 obj<> +endobj +121 0 obj<> +endobj +122 0 obj<> +endobj +123 0 obj<> +endobj +124 0 obj<> +endobj +125 0 obj<> +endobj +126 0 obj<> +endobj +127 0 obj<> +endobj +128 0 obj<> +endobj +129 0 obj<> +endobj +130 0 obj<> +endobj +131 0 obj<> +endobj +132 0 obj<> +endobj +133 0 obj<> +endobj +134 0 obj<> +endobj +135 0 obj<> +endobj +136 0 obj<> +endobj +137 0 obj<> +endobj +138 0 obj<> +endobj +139 0 obj<> +endobj +140 0 obj<> +endobj +141 0 obj<> +endobj +142 0 obj<> +endobj +143 0 obj<> +endobj +144 0 obj<> +endobj +145 0 obj<> +endobj +146 0 obj<> +endobj +147 0 obj<> +endobj +148 0 obj<> +endobj +149 0 obj<> +endobj +150 0 obj<> +endobj +151 0 obj<> +endobj +152 0 obj<> +endobj +153 0 obj<> +endobj +154 0 obj<> +endobj +155 0 obj<> +endobj +156 0 obj<> +endobj +157 0 obj<> +endobj +158 0 obj<> +endobj +159 0 obj<> +endobj +160 0 obj<> +endobj +161 0 obj<> +endobj +162 0 obj<> +endobj +163 0 obj<> +endobj +164 0 obj<> +endobj +165 0 obj<> +endobj +166 0 obj<> +endobj +167 0 obj<> +endobj +168 0 obj<> +endobj +169 0 obj<> +endobj +170 0 obj<> +endobj +171 0 obj<> +endobj +172 0 obj<> +endobj +173 0 obj<> +endobj +174 0 obj<> +endobj +175 0 obj<> +endobj +176 0 obj<> +endobj +177 0 obj<> +endobj +178 0 obj<> +endobj +179 0 obj<> +endobj +180 0 obj<> +endobj +181 0 obj<> +endobj +182 0 obj<> +endobj +183 0 obj<> +endobj +184 0 obj<> +endobj +185 0 obj<> +endobj +186 0 obj<> +endobj +187 0 obj<> +endobj +188 0 obj<> +endobj +189 0 obj<> +endobj +190 0 obj<> +endobj +191 0 obj<> +endobj +192 0 obj<> +endobj +193 0 obj<> +endobj +194 0 obj<> +endobj +195 0 obj<> +endobj +196 0 obj<> +endobj +197 0 obj<> +endobj +198 0 obj<> +endobj +199 0 obj<> +endobj +200 0 obj<> +endobj +201 0 obj<> +endobj +202 0 obj<> +endobj +203 0 obj<> +endobj +204 0 obj<> +endobj +205 0 obj<> +endobj +206 0 obj<> +endobj +207 0 obj<> +endobj +208 0 obj<> +endobj +209 0 obj<> +endobj +210 0 obj<> +endobj +211 0 obj<> +endobj +212 0 obj<> +endobj +213 0 obj<> +endobj +214 0 obj<> +endobj +215 0 obj<> +endobj +216 0 obj<> +endobj +217 0 obj<> +endobj +218 0 obj<> +endobj +219 0 obj<> +endobj +220 0 obj<> +endobj +221 0 obj<> +endobj +222 0 obj<> +endobj +223 0 obj<> +endobj +224 0 obj<> +endobj +225 0 obj<> +endobj +226 0 obj<> +endobj +227 0 obj<> +endobj +228 0 obj<> +endobj +229 0 obj<> +endobj +230 0 obj<> +endobj +231 0 obj<> +endobj +232 0 obj<> +endobj +233 0 obj<> +endobj +234 0 obj<> +endobj +235 0 obj<> +endobj +236 0 obj<> +endobj +237 0 obj<> +endobj +238 0 obj<> +endobj +239 0 obj<> +endobj +240 0 obj<> +endobj +241 0 obj<> +endobj +242 0 obj<> +endobj +243 0 obj<> +endobj +244 0 obj<> +endobj +245 0 obj<> +endobj +246 0 obj<> +endobj +247 0 obj<> +endobj +248 0 obj<> +endobj +249 0 obj<> +endobj +250 0 obj<> +endobj +251 0 obj<> +endobj +252 0 obj<> +endobj +253 0 obj<> +endobj +254 0 obj<> +endobj +255 0 obj<> +endobj +256 0 obj<> +endobj +257 0 obj<> +endobj +258 0 obj<> +endobj +259 0 obj<> +endobj +260 0 obj<> +endobj +261 0 obj<> +endobj +262 0 obj<> +endobj +263 0 obj<> +endobj +264 0 obj<> +endobj +265 0 obj<> +endobj +266 0 obj<> +endobj +267 0 obj<> +endobj +268 0 obj<> +endobj +269 0 obj<> +endobj +270 0 obj<> +endobj +271 0 obj<> +endobj +272 0 obj<> +endobj +273 0 obj<> +endobj +274 0 obj<> +endobj +275 0 obj<> +endobj +276 0 obj<> +endobj +277 0 obj<> +endobj +278 0 obj<> +endobj +279 0 obj<> +endobj +280 0 obj<> +endobj +281 0 obj<> +endobj +282 0 obj<> +endobj +283 0 obj<> +endobj +284 0 obj<> +endobj +285 0 obj<> +endobj +286 0 obj<> +endobj +287 0 obj<> +endobj +288 0 obj<> +endobj +289 0 obj<> +endobj +290 0 obj<> +endobj +291 0 obj<> +endobj +292 0 obj<> +endobj +293 0 obj<> +endobj +294 0 obj<> +endobj +295 0 obj<> +endobj +296 0 obj<> +endobj +297 0 obj<> +endobj +298 0 obj<> +endobj +299 0 obj<> +endobj +300 0 obj<> +endobj +301 0 obj<> +endobj +302 0 obj<> +endobj +303 0 obj<> +endobj +304 0 obj<> +endobj +305 0 obj<> +endobj +306 0 obj<> +endobj +307 0 obj<> +endobj +308 0 obj<> +endobj +309 0 obj<> +endobj +310 0 obj<> +endobj +311 0 obj<> +endobj +312 0 obj<> +endobj +313 0 obj<> +endobj +314 0 obj<> +endobj +315 0 obj<> +endobj +316 0 obj<> +endobj +317 0 obj<> +endobj +318 0 obj<> +endobj +319 0 obj<> +endobj +320 0 obj<> +endobj +321 0 obj<> +endobj +322 0 obj<> +endobj +323 0 obj<> +endobj +324 0 obj<> +endobj +325 0 obj<> +endobj +326 0 obj<> +endobj +327 0 obj<> +endobj +328 0 obj<> +endobj +329 0 obj<> +endobj +330 0 obj<> +endobj +331 0 obj<> +endobj +332 0 obj<> +endobj +333 0 obj<> +endobj +334 0 obj<> +endobj +335 0 obj<> +endobj +336 0 obj<> +endobj +337 0 obj<> +endobj +338 0 obj<> +endobj +339 0 obj<>stream +x]KsWhWE~ďݤ!U +C@> A rʗ=gt3;3f׋s:53ZvCq?]3GyTAt3>fѲyKТ}_o.>Rv/+~ar?lqJD =IgvO ƾNzԔ(af{ӋL{+ +5r~Y#r1vnQ 3¬޿р:$D.| e<=$deEo"S0!"qͯ|^O2Xg!Aw; +\[%}g5zc W묾[E]H.^I=s9$l>Al_ds_xTG5Qڄ5FRj{LRNJCգkm29iۉk/3RlEz" 72>H2"3ˑ\d$ABQrC=':]Z)Vei]&(=%м\oH?Y!Vq/(~b<&?CJ UdbYHE}/.{4BhKt2wPQG,(hVU1yËYyW۲X7o_կ/Շ5pcq +v3XehCOsy݂mS/]) P}mpK$wY-VeV7bc<F%(Su)p噝* cw8SepNjEe +qW:~*-Z"uH)p|ʶKY2DbdRXW3aˏAcq=ԁ~CX24y4a U&7n"-U,=I GKT?$9\js"=Mg/ #㵽M+=_Gb keT=FP.T4="{ uC 4&>0Zr">^:FzȱkFuDF%Шh4i<3f~IbxP)ۃ6 -XYm2  -Pe9nrH*DsHE8og".68)2SHҧ搵kfBY g!!vza{攣,ekJd9j!79zNQR$pfUV ,,IVSM@t`~Ӷ,<6nlG6Q5[M~oEF^! )%D؄![=!c K:>'BoK]mrm*=;l\;#?/mDa3̆E^HΫoyг鶰wMvO<u8{¯^gu$) O}>r&;RcƩ㪬4TZ̻R'qƭXS5ˏ8n<9 +ݔ!4INb#<#(4Y:RϥB#oRKz:qf7jx\3>,i+6=p Ay +'O$Td9vó~o}Eݏy +Ţ f&@ߧP R[$i sTc|^#Dqd_4$rYҙj*Y{['1u,UFR|EU@Sqd +m.|q´ ՕW|>ggtXmZyªPSPlbA WŵVyZXL&x )ǁkyFunb*VȚ(?([3gftšՁ#F̄,95?+фpDm +(3 Ɂuh,uҲ"&q !b5R&dUcӋۄh#ÅR#I&BXNe(p8Wa 2}Y@u"t(o7@UPL'&uR*IƐsr6ϳ*mHND R8F~`UC4h}5ߖWP<&9Wxdjw ^R I2`+U;:0-6rP8.VR Yxz< &gHYgy!>E/hXO}r3C4aُ/#}w}? +endstream +endobj +340 0 obj<>>> +endobj +341 0 obj<> +endobj +342 0 obj<> +endobj +343 0 obj<> +endobj +344 0 obj<> +endobj +345 0 obj<> +endobj +346 0 obj<> +endobj +347 0 obj<> +endobj +348 0 obj<> +endobj +349 0 obj<> +endobj +350 0 obj<> +endobj +351 0 obj<> +endobj +352 0 obj<> +endobj +353 0 obj<> +endobj +354 0 obj<> +endobj +355 0 obj<> +endobj +356 0 obj<> +endobj +357 0 obj<> +endobj +358 0 obj<> +endobj +359 0 obj<> +endobj +360 0 obj<> +endobj +361 0 obj<> +endobj +362 0 obj<> +endobj +363 0 obj<> +endobj +364 0 obj<> +endobj +365 0 obj<> +endobj +366 0 obj<> +endobj +367 0 obj<> +endobj +368 0 obj<> +endobj +369 0 obj<> +endobj +370 0 obj<> +endobj +371 0 obj<> +endobj +372 0 obj<> +endobj +373 0 obj<> +endobj +374 0 obj<> +endobj +375 0 obj<> +endobj +376 0 obj<> +endobj +377 0 obj<> +endobj +378 0 obj<> +endobj +379 0 obj<> +endobj +380 0 obj<> +endobj +381 0 obj<> +endobj +382 0 obj<> +endobj +383 0 obj<> +endobj +384 0 obj<> +endobj +385 0 obj<> +endobj +386 0 obj<> +endobj +387 0 obj<> +endobj +388 0 obj<> +endobj +389 0 obj<> +endobj +390 0 obj<> +endobj +391 0 obj<> +endobj +392 0 obj<> +endobj +393 0 obj<> +endobj +394 0 obj<> +endobj +395 0 obj<> +endobj +396 0 obj<> +endobj +397 0 obj<> +endobj +398 0 obj<> +endobj +399 0 obj<> +endobj +400 0 obj<> +endobj +401 0 obj<> +endobj +402 0 obj<> +endobj +403 0 obj<> +endobj +404 0 obj<> +endobj +405 0 obj<> +endobj +406 0 obj<> +endobj +407 0 obj<> +endobj +408 0 obj<> +endobj +409 0 obj<> +endobj +410 0 obj<> +endobj +411 0 obj<> +endobj +412 0 obj<> +endobj +413 0 obj<> +endobj +414 0 obj<> +endobj +415 0 obj<> +endobj +416 0 obj<> +endobj +417 0 obj<> +endobj +418 0 obj<> +endobj +419 0 obj<> +endobj +420 0 obj<> +endobj +421 0 obj<> +endobj +422 0 obj<> +endobj +423 0 obj<> +endobj +424 0 obj<> +endobj +425 0 obj<> +endobj +426 0 obj<> +endobj +427 0 obj<> +endobj +428 0 obj<> +endobj +429 0 obj<> +endobj +430 0 obj<> +endobj +431 0 obj<> +endobj +432 0 obj<> +endobj +433 0 obj<> +endobj +434 0 obj<> +endobj +435 0 obj<> +endobj +436 0 obj<> +endobj +437 0 obj<> +endobj +438 0 obj<> +endobj +439 0 obj<> +endobj +440 0 obj<> +endobj +441 0 obj<> +endobj +442 0 obj<> +endobj +443 0 obj<> +endobj +444 0 obj<> +endobj +445 0 obj<> +endobj +446 0 obj<> +endobj +447 0 obj<> +endobj +448 0 obj<> +endobj +449 0 obj<> +endobj +450 0 obj<> +endobj +451 0 obj<> +endobj +452 0 obj<> +endobj +453 0 obj<> +endobj +454 0 obj<> +endobj +455 0 obj<> +endobj +456 0 obj<> +endobj +457 0 obj<> +endobj +458 0 obj<> +endobj +459 0 obj<> +endobj +460 0 obj<> +endobj +461 0 obj<> +endobj +462 0 obj<> +endobj +463 0 obj<> +endobj +464 0 obj<> +endobj +465 0 obj<> +endobj +466 0 obj<> +endobj +467 0 obj<> +endobj +468 0 obj<> +endobj +469 0 obj<> +endobj +470 0 obj<> +endobj +471 0 obj<> +endobj +472 0 obj<> +endobj +473 0 obj<> +endobj +474 0 obj<> +endobj +475 0 obj<> +endobj +476 0 obj<> +endobj +477 0 obj<> +endobj +478 0 obj<> +endobj +479 0 obj<> +endobj +480 0 obj<> +endobj +481 0 obj<> +endobj +482 0 obj<> +endobj +483 0 obj<> +endobj +484 0 obj<> +endobj +485 0 obj<> +endobj +486 0 obj<> +endobj +487 0 obj<> +endobj +488 0 obj<> +endobj +489 0 obj<> +endobj +490 0 obj<> +endobj +491 0 obj<> +endobj +492 0 obj<> +endobj +493 0 obj<> +endobj +494 0 obj<> +endobj +495 0 obj<> +endobj +496 0 obj<> +endobj +497 0 obj<> +endobj +498 0 obj<> +endobj +499 0 obj<> +endobj +500 0 obj<> +endobj +501 0 obj<> +endobj +502 0 obj<> +endobj +503 0 obj<> +endobj +504 0 obj<> +endobj +505 0 obj<> +endobj +506 0 obj<> +endobj +507 0 obj<> +endobj +508 0 obj<> +endobj +509 0 obj<> +endobj +510 0 obj<> +endobj +511 0 obj<> +endobj +512 0 obj<> +endobj +513 0 obj<> +endobj +514 0 obj<> +endobj +515 0 obj<> +endobj +516 0 obj<> +endobj +517 0 obj<> +endobj +518 0 obj<> +endobj +519 0 obj<> +endobj +520 0 obj<> +endobj +521 0 obj<> +endobj +522 0 obj<> +endobj +523 0 obj<> +endobj +524 0 obj<> +endobj +525 0 obj<> +endobj +526 0 obj<> +endobj +527 0 obj<> +endobj +528 0 obj<> +endobj +529 0 obj<> +endobj +530 0 obj<> +endobj +531 0 obj<> +endobj +532 0 obj<> +endobj +533 0 obj<> +endobj +534 0 obj<> +endobj +535 0 obj<> +endobj +536 0 obj<> +endobj +537 0 obj<> +endobj +538 0 obj<> +endobj +539 0 obj<> +endobj +540 0 obj<> +endobj +541 0 obj<> +endobj +542 0 obj<> +endobj +543 0 obj<> +endobj +544 0 obj<> +endobj +545 0 obj<> +endobj +546 0 obj<> +endobj +547 0 obj<> +endobj +548 0 obj<> +endobj +549 0 obj<> +endobj +550 0 obj<> +endobj +551 0 obj<> +endobj +552 0 obj<> +endobj +553 0 obj<> +endobj +554 0 obj<> +endobj +555 0 obj<> +endobj +556 0 obj<> +endobj +557 0 obj<> +endobj +558 0 obj<> +endobj +559 0 obj<> +endobj +560 0 obj<> +endobj +561 0 obj<> +endobj +562 0 obj<> +endobj +563 0 obj<> +endobj +564 0 obj<> +endobj +565 0 obj<> +endobj +566 0 obj<> +endobj +567 0 obj<> +endobj +568 0 obj<> +endobj +569 0 obj<> +endobj +570 0 obj<> +endobj +571 0 obj<> +endobj +572 0 obj<> +endobj +573 0 obj<> +endobj +574 0 obj<> +endobj +575 0 obj<> +endobj +576 0 obj<> +endobj +577 0 obj<> +endobj +578 0 obj<> +endobj +579 0 obj<> +endobj +580 0 obj<> +endobj +581 0 obj<> +endobj +582 0 obj<> +endobj +583 0 obj<> +endobj +584 0 obj<> +endobj +585 0 obj<> +endobj +586 0 obj<> +endobj +587 0 obj<> +endobj +588 0 obj<> +endobj +589 0 obj<> +endobj +590 0 obj<> +endobj +591 0 obj<> +endobj +592 0 obj<> +endobj +593 0 obj<> +endobj +594 0 obj<> +endobj +595 0 obj<> +endobj +596 0 obj<> +endobj +597 0 obj<> +endobj +598 0 obj<> +endobj +599 0 obj<> +endobj +600 0 obj<> +endobj +601 0 obj<> +endobj +602 0 obj<> +endobj +603 0 obj<> +endobj +604 0 obj<> +endobj +605 0 obj<> +endobj +606 0 obj<> +endobj +607 0 obj<> +endobj +608 0 obj<> +endobj +609 0 obj<> +endobj +610 0 obj<> +endobj +611 0 obj<> +endobj +612 0 obj<> +endobj +613 0 obj<> +endobj +614 0 obj<> +endobj +615 0 obj<> +endobj +616 0 obj<> +endobj +617 0 obj<> +endobj +618 0 obj<> +endobj +619 0 obj<> +endobj +620 0 obj<> +endobj +621 0 obj<> +endobj +622 0 obj<> +endobj +623 0 obj<> +endobj +624 0 obj<> +endobj +625 0 obj<> +endobj +626 0 obj<> +endobj +627 0 obj<> +endobj +628 0 obj<> +endobj +629 0 obj<> +endobj +630 0 obj<> +endobj +631 0 obj<> +endobj +632 0 obj<> +endobj +633 0 obj<> +endobj +634 0 obj<> +endobj +635 0 obj<> +endobj +636 0 obj<> +endobj +637 0 obj<> +endobj +638 0 obj<> +endobj +639 0 obj<>stream +x\KsFWh׮&~\urURH@ʯDI g@ړCk~ӫ~r2]NHa1Q!&d"d"¤& ab&λlaD;+Y1l1Y}ٸ?i8bGO`* FF n充< ?K?HV-AL6B#h Qe<CmH{@ e0nUZY S~ olƣO/u86Q%`94&EX!R_)ĨTH&HAke-@3T'ľW6 _&GȰHW7˞|`ҪMF}ҿU$LFžJf#9$$GMQ"0˿G#%(y'{X ER?H di +Θ5 GŁ=`$<vT]60vR5]yV} _QqhK?y6юlo CckYRs Ʒ}!hD3̾;f`N'kj?GK#mD3(<`gs($L5p8WM ҝ. +fY>+۽ P`2Sy=(&`WA4G=z͊ifkHʉ!H=S}eU] 2L9'T5ePȱ:6%u +wU ZBT῝^}z& 'Mfѓ?'~j +G;=;b  1)IOށȂ'4CYix + ̀p>Ccp91h[oP73̀9FYqn5P!\m8cTXv@/=DzL8&n"yO+s|kHQ;Amfw&'0Nx믔di,'4o p8)y0,X6- gwciC)t#Ϭex55occ\{uJcMVG`%/KaXUi+ JZQ+ )כ؈z`oQlgƞu^ +D0E&&`R BymZ,moW1X]O[΋tfGAw]N݅9aN!Aف}UxvhF@}(\ȱԲ"|\@>`Y@ +A.]2zߛ.3jpHAU0K"mps9LbLv8vQof:Ř!' PP&痃L@]î7rCCCQ~~ȠSB㑣uڢclH8}ȷo݂]0*\Y8wQOj/~? 'd_Vv;]()s@I(X~ޥoU *Votwiefe}q<(\UNjO>2V#hCaxzZaڅ ^?C <3bϘpf/:#- +'TNᥝ/Q,!Ǧm2zUCk1H0tL׶!C88yLod&mƊu=jXSO;/qmgD(r(~|]TFi H}^qc.)$S 3B3M#'T$ͺkzM/Ki.v%r|@;0i3,%W#06g B2Br\pwFpU7[Ӡxd=8qZ%j9ض˻!*vWF r>޿k +nRLs8͝dGR#*770 Q0#PU> dr#ʾA+%|n˳ tf{h{z,!k 3p#U[vԽ%=}+Pj6TqOOs#I )ЯsEx#`GԷ`B3/h:b*xE*s>vT3nfQ̠ؒr&5P}<:7YxəcTKeg11P6#Bg$󛝆Hi x +a +o\hJ +=(F 3\=u3aTd_8zeLeomQCFL!b kJD_fH'.9qzy}.,YWg)>F&Ge^o|X1؋0wؽuL +ܞ^:^ +*#> +endobj +641 0 obj<> +endobj +642 0 obj<> +endobj +643 0 obj<> +endobj +644 0 obj<> +endobj +645 0 obj<> +endobj +646 0 obj<> +endobj +647 0 obj<> +endobj +648 0 obj<> +endobj +649 0 obj<> +endobj +650 0 obj<> +endobj +651 0 obj<> +endobj +652 0 obj<> +endobj +653 0 obj<> +endobj +654 0 obj<> +endobj +655 0 obj<> +endobj +656 0 obj<> +endobj +657 0 obj<> +endobj +658 0 obj<> +endobj +659 0 obj<> +endobj +660 0 obj<> +endobj +661 0 obj<> +endobj +662 0 obj<> +endobj +663 0 obj<> +endobj +664 0 obj<> +endobj +665 0 obj<> +endobj +666 0 obj<> +endobj +667 0 obj<> +endobj +668 0 obj<> +endobj +669 0 obj<> +endobj +670 0 obj<> +endobj +671 0 obj<> +endobj +672 0 obj<> +endobj +673 0 obj<> +endobj +674 0 obj<> +endobj +675 0 obj<> +endobj +676 0 obj<> +endobj +677 0 obj<> +endobj +678 0 obj<> +endobj +679 0 obj<> +endobj +680 0 obj<> +endobj +681 0 obj<> +endobj +682 0 obj<> +endobj +683 0 obj<> +endobj +684 0 obj<> +endobj +685 0 obj<> +endobj +686 0 obj<> +endobj +687 0 obj<> +endobj +688 0 obj<> +endobj +689 0 obj<> +endobj +690 0 obj<> +endobj +691 0 obj<> +endobj +692 0 obj<> +endobj +693 0 obj<> +endobj +694 0 obj<> +endobj +695 0 obj<> +endobj +696 0 obj<> +endobj +697 0 obj<> +endobj +698 0 obj<> +endobj +699 0 obj<> +endobj +700 0 obj<> +endobj +701 0 obj<> +endobj +702 0 obj<> +endobj +703 0 obj<> +endobj +704 0 obj<> +endobj +705 0 obj<> +endobj +706 0 obj<> +endobj +707 0 obj<> +endobj +708 0 obj<> +endobj +709 0 obj<> +endobj +710 0 obj<> +endobj +711 0 obj<> +endobj +712 0 obj<> +endobj +713 0 obj<> +endobj +714 0 obj<> +endobj +715 0 obj<> +endobj +716 0 obj<> +endobj +717 0 obj<> +endobj +718 0 obj<> +endobj +719 0 obj<> +endobj +720 0 obj<> +endobj +721 0 obj<> +endobj +722 0 obj<> +endobj +723 0 obj<> +endobj +724 0 obj<> +endobj +725 0 obj<> +endobj +726 0 obj<> +endobj +727 0 obj<> +endobj +728 0 obj<> +endobj +729 0 obj<> +endobj +730 0 obj<> +endobj +731 0 obj<> +endobj +732 0 obj<> +endobj +733 0 obj<> +endobj +734 0 obj<> +endobj +735 0 obj<> +endobj +736 0 obj<> +endobj +737 0 obj<> +endobj +738 0 obj<> +endobj +739 0 obj<> +endobj +740 0 obj<> +endobj +741 0 obj<> +endobj +742 0 obj<> +endobj +743 0 obj<> +endobj +744 0 obj<> +endobj +745 0 obj<> +endobj +746 0 obj<> +endobj +747 0 obj<> +endobj +748 0 obj<> +endobj +749 0 obj<> +endobj +750 0 obj<> +endobj +751 0 obj<> +endobj +752 0 obj<> +endobj +753 0 obj<> +endobj +754 0 obj<> +endobj +755 0 obj<> +endobj +756 0 obj<> +endobj +757 0 obj<> +endobj +758 0 obj<> +endobj +759 0 obj<> +endobj +760 0 obj<> +endobj +761 0 obj<> +endobj +762 0 obj<> +endobj +763 0 obj<> +endobj +764 0 obj<> +endobj +765 0 obj<> +endobj +766 0 obj<> +endobj +767 0 obj<> +endobj +768 0 obj<> +endobj +769 0 obj<> +endobj +770 0 obj<> +endobj +771 0 obj<> +endobj +772 0 obj<> +endobj +773 0 obj<> +endobj +774 0 obj<> +endobj +775 0 obj<> +endobj +776 0 obj<> +endobj +777 0 obj<> +endobj +778 0 obj<> +endobj +779 0 obj<> +endobj +780 0 obj<> +endobj +781 0 obj<> +endobj +782 0 obj<> +endobj +783 0 obj<> +endobj +784 0 obj<> +endobj +785 0 obj<> +endobj +786 0 obj<> +endobj +787 0 obj<> +endobj +788 0 obj<> +endobj +789 0 obj<> +endobj +790 0 obj<> +endobj +791 0 obj<> +endobj +792 0 obj<> +endobj +793 0 obj<> +endobj +794 0 obj<> +endobj +795 0 obj<> +endobj +796 0 obj<> +endobj +797 0 obj<> +endobj +798 0 obj<> +endobj +799 0 obj<> +endobj +800 0 obj<> +endobj +801 0 obj<> +endobj +802 0 obj<> +endobj +803 0 obj<> +endobj +804 0 obj<> +endobj +805 0 obj<> +endobj +806 0 obj<> +endobj +807 0 obj<> +endobj +808 0 obj<> +endobj +809 0 obj<> +endobj +810 0 obj<> +endobj +811 0 obj<> +endobj +812 0 obj<> +endobj +813 0 obj<> +endobj +814 0 obj<> +endobj +815 0 obj<> +endobj +816 0 obj<> +endobj +817 0 obj<> +endobj +818 0 obj<> +endobj +819 0 obj<> +endobj +820 0 obj<> +endobj +821 0 obj<> +endobj +822 0 obj<> +endobj +823 0 obj<> +endobj +824 0 obj<> +endobj +825 0 obj<> +endobj +826 0 obj<> +endobj +827 0 obj<> +endobj +828 0 obj<> +endobj +829 0 obj<> +endobj +830 0 obj<> +endobj +831 0 obj<> +endobj +832 0 obj<> +endobj +833 0 obj<> +endobj +834 0 obj<> +endobj +835 0 obj<> +endobj +836 0 obj<> +endobj +837 0 obj<> +endobj +838 0 obj<> +endobj +839 0 obj<> +endobj +840 0 obj<> +endobj +841 0 obj<> +endobj +842 0 obj<> +endobj +843 0 obj<> +endobj +844 0 obj<> +endobj +845 0 obj<> +endobj +846 0 obj<> +endobj +847 0 obj<> +endobj +848 0 obj<> +endobj +849 0 obj<> +endobj +850 0 obj<> +endobj +851 0 obj<> +endobj +852 0 obj<> +endobj +853 0 obj<> +endobj +854 0 obj<> +endobj +855 0 obj<> +endobj +856 0 obj<> +endobj +857 0 obj<> +endobj +858 0 obj<> +endobj +859 0 obj<> +endobj +860 0 obj<> +endobj +861 0 obj<> +endobj +862 0 obj<> +endobj +863 0 obj<> +endobj +864 0 obj<> +endobj +865 0 obj<> +endobj +866 0 obj<> +endobj +867 0 obj<> +endobj +868 0 obj<> +endobj +869 0 obj<> +endobj +870 0 obj<> +endobj +871 0 obj<> +endobj +872 0 obj<> +endobj +873 0 obj<> +endobj +874 0 obj<> +endobj +875 0 obj<> +endobj +876 0 obj<> +endobj +877 0 obj<> +endobj +878 0 obj<> +endobj +879 0 obj<> +endobj +880 0 obj<> +endobj +881 0 obj<> +endobj +882 0 obj<> +endobj +883 0 obj<> +endobj +884 0 obj<> +endobj +885 0 obj<> +endobj +886 0 obj<> +endobj +887 0 obj<> +endobj +888 0 obj<> +endobj +889 0 obj<> +endobj +890 0 obj<> +endobj +891 0 obj<> +endobj +892 0 obj<> +endobj +893 0 obj<> +endobj +894 0 obj<> +endobj +895 0 obj<> +endobj +896 0 obj<> +endobj +897 0 obj<> +endobj +898 0 obj<> +endobj +899 0 obj<> +endobj +900 0 obj<> +endobj +901 0 obj<> +endobj +902 0 obj<> +endobj +903 0 obj<> +endobj +904 0 obj<> +endobj +905 0 obj<> +endobj +906 0 obj<> +endobj +907 0 obj<> +endobj +908 0 obj<> +endobj +909 0 obj<> +endobj +910 0 obj<> +endobj +911 0 obj<> +endobj +912 0 obj<> +endobj +913 0 obj<> +endobj +914 0 obj<> +endobj +915 0 obj<> +endobj +916 0 obj<> +endobj +917 0 obj<> +endobj +918 0 obj<> +endobj +919 0 obj<> +endobj +920 0 obj<> +endobj +921 0 obj<> +endobj +922 0 obj<> +endobj +923 0 obj<> +endobj +924 0 obj<> +endobj +925 0 obj<> +endobj +926 0 obj<> +endobj +927 0 obj<> +endobj +928 0 obj<> +endobj +929 0 obj<> +endobj +930 0 obj<> +endobj +931 0 obj<> +endobj +932 0 obj<> +endobj +933 0 obj<> +endobj +934 0 obj<> +endobj +935 0 obj<> +endobj +936 0 obj<> +endobj +937 0 obj<> +endobj +938 0 obj<>stream +xڭyɮȖ%Ĉ2TRz<:>yA֊3N$aJ0m +`CE F(2Vii}W@EkVQDO + F r?EC9`yQxa%@~X/  8c]qn@"wOKf r+"HS օ ²#P?(K̉,w6s,gהW<P _u,g~EZ"篞 +G xetH8NYIY˘&bpփPSP$z,RaXV`HfX3 \$T~kCPԿ@!20 YFn&,+Ʋ",+o@CuJ Y}~x8 hZAG!?cǢG_'ɕ +2pC7?4x\/L3soSӫ!^q)C3gjđiZ]g]'^'\i\h˶5V4S54c +H@݌ް`} +c߈O}?wζln=C9*e=rb +J6 0坉cK]壘閴@Oj설 >X}+(`&Qv;$vs9w;6~T4۫-䚅gf~-_y0`%lRPSԇPl\rjtQ!cḇ`woĔĵsBg©CN>M=)^ҬJ snM}oeLCJA f]L3\ 7]g jyAWoWG|-phe + XnhUڧb5hL4{imS6tZ+޹7XgT](;cJ;-eyN,WS g`5ү diOHupylF]H=G:4_\10/lؔXz}pńP줔Q臫 +諯C<ĚH3SzSd(piN¼'+]žG4Aͬ60g}Cf_`mg:<E4L˩ŀ9t< +G4C nD2VB8Uf#n}2YyhY |Z;x1ƒ:B(m dd0ꑓ^4N8:2[/ON؋( +ȘHrFUWNVڏCSɹVH. 9{,{?(3j,4xSoE1{>a tɈMc%/.#!QL3CC$Si`?Sk#v.a- 9z{d(*#*El>[23'馭ݚ !$Yyԁ +&Wt$ۋV +Ryѐξ;gf BK=" Ɲ6@0f꿶}k=Ł朕0hV;wR}ťe7ACeB1w?vp˄" йSi2D(ȃ -Q, .dՈ"+6aEL'm[ވb79^utNyH{{o('GCKhBtѬ/w¾kZDYҪrϟPVl^]> K) Wk8nqV"qih#-6ĬϹܳl?'\,*r1 x{/&PpH88ŁO2 x$|&vX״)aFN ڤeͲ/Q[0_k{g#/'\=g.!"zp.#5ޚdRڕ/ BdɄ}@+?Ǎ +endstream +endobj +939 0 obj<>stream +xڭy<{lj"d_R5v` `rٻ1 dHֲTHܬӍ +ْTw||ys 2vX7hN&Taj0vti05u.I4Iiiܜ2.B]I>VFX,HzlJC/{V_F  dBEmΉQ:AK35w#yx߁ka}B~>f>IYnI@홇("«Bzƶf YƮOsmogGt:K+u %K#~zў#qb1S +id6[i?el3e%)ڈ=>R đ#C-"Ns%3֩rY)6ȳR1m}$Be 7 4Zȩ]/N0Jd{VJ) O7,NITYuDKq/Y.+11z3Y8nTʏ}׬(ØlTk"Nq|(ޒDDNMoG5w~*3 +[{_o':qo%3,Un4A$~rrLOI}q$*6+$sa6آį'pLrnK8&2xA nUus=e [\阡Ac=qA#EKTMǓĆ,Ү^7(хh_ܬǙu"^ٙ&c{:}3$TkX77]0gϡx A@'j\3y)iR~B.maw^ksN+C1] a~}kӖgUK8i"ť6I:y7˅YGg1 ca}.wA ZaCIrdTp|(r8̔GldjB$n>:';L[݂J(ж4:7)Vr4Y:ޖjG]G5h[T> ) ĂNL r~!LITa^w= u}vkObz>$i՞!/-azRq:*R8<80s\KfxX`GO3/E_~\wXNY>yxs8V4zf@Uw8&\ȐhN_lg֞serp^_F`,(*(zp8φC^O9sKx5W 4V%F?Iy-LRtp!Ϝ˿ݤK]%X< wc{G3m%=kb[WV>$oQK*|a3v F^-&-7"0=M<_Ve8RέdP?`^,0/I[ӣݞO-,`QqT= Ƭ_ E3SkT>e>7b(=6D&_{JFSjZh`Աء FNܰakAze9dХZjy:~H +_gGp:*aֻ0EzEşrevt\54Z}><.HC^x1z: +endstream +endobj +940 0 obj<>stream +xڭu\ isHD0`86ب"!!H*%!H( |s9x8MDTHHtfp$IyxPP Px@@ @IݑԐn&W4@C3 aP(@p fxu!H2pDlM=&e<6< +wk Ir$d55_Ud) I&e FS R\O~Y)Ac2Od +ߟEn5[MI ?;c&q=rV5 +O'f f5޳ QgWf?Z4v~vD(~K ӯGSKd%Q1^{[v5'D*&k˓PEQ*/-܌;?HHN7u:|2 Yf|8m 󦴀/qcG2c% +Л;z ݤ`J"ɟfS;-d*7+O\%1xTw%݌/Fnk&D"WěJ"7pSbN 2H2}Dkn8XoTQH!dMQiv[`46^9v&[n!h3sg=:l0Lvo 8|xr\QїDzeZ.o :`+R=z.د0sG֣:k@9M`tgݘ@%+P=6ui?9 $ivcG !jUHW~!_UvR)Άss,eӟNf.rW@v,ޔX̛YU@|<%{4f#n\"a̖ZGfӶ-@|s{8ql_ uƦC4g{gEiՆ/䳢4?YB3iJboq;:GDs˶wU ~E4-HJU*1b7s 0R{|[.`%Qpظ5) 6'[;qM^|xpu>ٷJe:diN gݔյhǑHRAnɀ6(3/?9ӱ%Nj_ (<}l l.$<*w6:`cEySDv)QQ;f0^f*dEж cfpl-n1b6m xe4% ŪG<~Fn- $gn!k-m֍ O)y{apGl]rC-IyO|aWd^$N7Dc _ Ƴh |1KU@çƿR€ K~:O +J9& cLiK]"w;)F7eRLTu1(!J^u-l 0&vjcI uhm?[)l앦vG6p4r޸ g(p0ݙxL kakO4% J茁>[C*4"t#>L^OA:\図|uJuL\YtRD{{ǔ]sӮ{!@]0[{OQnʪ眏J_ģcXN{:uE:Ȱ@1ƈIAFSV1oi}AkAijg +VmJ&g +T;'!JWQ9 w!m6ȮG1ÌAJx٥?(7~E6>Üt+^D4ݞsWf}yPٺkfS8z*Ckt:LRMpLnYzuA-q[,g׬|s<\u8i{0Sc Ԗ 2+hwKE,l21Ly1.>y";r[d̘EB't6M 2Z$`g +nڶ#`Ғ M(Nk,ߠ@nxv/bob\P |Hɞ{RrqO +n)_Y\Ż6^ꋗ[?I1aJJ-+[w:+7G*v4a7\SX}VbsTٙM)Z]¼ zV+nAXg3h5e*+ +L|4UxӔYi&Q㮲A͓x +#xsjRяMuqᴕ(TޥJf[{Y Dwd6{GFƹ,lz5_(64kލZ4:79w:.UFQTi ;Ww6[/יX9r 6m{ˊ +8&+ـJ8m~&E^| 3+>*)A]Ҭ4uǓ&'«]ݐ8֡[nI!ځSFl.G /lۊX&?U@Z M4 |%5{\1}SfEwVp_8::'؊ m̟+VԊ>T9L/ +k/|7Z$ڞ s?M -ܯJy榬Ѿ= +$Ă'5hE+ 7}9,ŷ$i wl] tK+ófjfvY#8`h<+8{6PpތlS#3X9Z`͑s*ÑV3>\S4[gws zvWxSUoG1x*h/|AyWPDqNw!lRIEf[^PMƯGT$@K 1wL/:&@qϠ뻶5e3MhʞQ"[]G/@+$k&a- Ob \b<ׇ;VSγ͍&>36i]÷_ Ppr=B|#*f/ݾDhBsY#5}DZHݝ: 08Kƌ8]<͑r+Z1W ,)&8I2E4Qm/,ysneC#\N A9s7[5JX̉7SH9;<}Wd32sXJ$ h6kBgQB{/y-Y"Mhע,wv$PTzE1$p y㞲._U T'8i&EMQ5Glћ@x9ե0uzJΕ-xÓ9?~.m4Ys~ac!R0qRj TgD89i[qN5'wt9@_3<VdHR5m_m.d36lH_MCbjQfO UXopdF.@I ՏzE>=;JT:UA:M*kG_Z8sm,, +%_ +uZYmN(x}ghZr]>{85oQۘ?Y>{`s~u1%~76<%j93¾N!:B|tʪ_wlr-2V5oG@ꐜ |WNCIQԥpBvDɭO;03E뛚ՒlʎѭdP~i|z [f1^K͍ވT:Ç*X&='d̆y}^p.SYQSr)eHL?M *8쾣@+W3N5fZ͍A﫾bf!ݱ/>Ǐ2JG0? ]>G$/ǻ6uAMҊJ-pBShe$aLe$a}1xāə"cX{چ sv&s*!5;p wg,]WkuMDO6YP9M}j3V3˞Be[^s?^T{WFs`3u4^vt$8L9{VN/+ݠ*&[ƕ_N*W^G:]Z9U|!۝c~[lJTkSMs'sfzϵҬU淁1)N=]Vtvu %d4x>͙V;TuAӑ1tRxtAͶ=bYW\}$ + 3 +j\KhIzIBSdd]#%b NȾGf/-}u_h1$DvlQf=CT_Zo`vי%[F<#kS~|$mIr3~?]iC{by' ,ܞD@ JNJ>ji:LKMZeBⱎ3 @a,BM#`-N{3/Gz7VzH'CXI̲qoؿ[4tmѫ!Ȳ k2S 43ji1C寙 +LjeXoxSe˸y] zQp)_Ҫە8$BG#]{֌r5•&.p{LUì92TvA'}{V ;w@gixPƧ-6g3DS+AƱP֙!YIWyʐ 7aPr[Hs^:O}dOtzECkȥ0`IkE$2 ++~%o8Yȴp4ucr4.d3q筒#cw/{,(b +endstream +endobj +941 0 obj<>stream +xڭe\A0AaH)!f`nPBP`HKiiiAw|{r^{]^{mnc!%D@ H!VAAh8 +FCe ii@ *IʈHsT( ;I +E.pNp(_0`0P09G3AH Cx{ EyLxq&8$ȁzHWqw{.Wkw "!P?S͡2t/-4pvD{8{CCk_j&{-egŠ`-","% #p!! P`rdHs F Ѹ-\K0$ula߱P\tt" IHoѾc5>bE0d޸%@I +6kM!7 $qΠo[ ;98!B8!qE8!?P׾?w>?g==H!\Dq7I$DO +Ez۸17มBNNѥjX"~|ed6|W^Ko,.ʲ76}2{Ƕy%?8ld?lb8_<ءi<ٕ_,M,y~ػS`jIaȉPv7zsWÈW#E_ڴ'"]cH"[}. +IS fgTVCgtCmKbW}u,+~:Z/?YL m*zUNY2c5?6qNaE7im_u-NP'6<{{71IQj!Ylɯzk4ZZLC.)RjF{(@v=֭J{ƽ4H}?.JTd>_f29]t־y@Ԗ<V3XS2%_pX]$/dHBl!Dy]ߎ4^EOIWRk4y>%)rf^ZA0Z&UbԾ`5<+ ]-&B )VNkڄ0 wu/"Qr[ Iy!/ \hءaH(x!)pY뮑{?zIH?}س-eDP& aaU!WaqM.3ߓ-3g S9;Vr}V,c~HЁ_ucvU:O4` +z;k;* MOޢ1;⷟vų q5^nDG MéDb+X,"'ni0e +\`G%߾)5\TJyϥl/* \"ܜO6*[LsQ}vZomCnpD0VK9Ka@=~@G~ ]} +In܆!@2Ɩnu ,-wXYz_0:sJkTfƒBcG[C>n@IB+ +]T\A' ۘ3:5Fĭ+bӺ|dT[_xhgĥwDck3O/WG=, xBJi1;~R̋')ѤDaj( MζR܊Cʦ2|O7om +~o*)3t@KH8Wv wCHEKIQˁ5OåS!Kc? 7e 3>~z {I0CI#]6~TjXFnke mXc}nP)ZzX"vh +†NgO + v2 !=L-ÀNoRv +154<{0qk Hwrlѽ~T=2,xymW6=?7n[q1S-;O؀% USsB,t`qINe#-X_sP._c[e9:W>e%qW> X((غb .nXv4Fdf&dv4n,ʖk^Y>ވoEc&Se$i~+[*sM,;me[,? "#\ekIʘ%/Eb0eѝr|/"A9^չyCrhC[u8P@޳ڋȑb:EMURHo\O˚lQ3ϓ>4o(T#wo]4*vI1Iȍ |yX7 j=DԩCE }/%b' __|,Q9u &`~(] *j۽)pUmo_6+]<$~?@(ېLIYʊ̾Tz. %$Dٮ20\؈HKal"BX`=1ZpwLGIjW"%t]hmc뉘O* k].@\+%q7zE#9rC/vj 5zh5 t.gDI[)z/MtwGVzыxFIEfw"V_Ƹ(_<P07%ҝԐN;imF`hmb Q":Yy{j]Kگݯ}v9fz$rIÑLbi)vAesS6jqxZ\I;ܭ[O+R41HX)5ַtpy&txX)U60)|RtS(Өioc5;z&ϱ U%0kC0dٴǚ96!Q۫6[7eHs}Sxm\qAK$A'3{CߤTש 4O +-e\$=oc~uY-[l$y<_}cZ-$(ۻfu< @ nqӛ.qFRj?1'>=rj_mdSeSs~pfAp},L]. +ʳ,Lv]-_ %am-u{ gp|_ǵ +0ƕ*N2A&:oʽ'$5ɻDX?XmXgBs;Mxk߄kq#b$ D|K'&w]`)& KNqBԹE208VK}ЫHZL0h!ÿ%8ezv|E\+EQFJ+mAa4/M}_rj=e1́]jw3[\ +^mQ/GJ .0;X 8/oY:d݁d<"zԻT`Hۛd=QNYj?)Օx&] abbeð':$vTKc|}ǫ]oG^CђF\ImK&/e?1 +Wk;Ay `Cm(}CLUAKLH_ ,e*H~fQYƸ&$ȿZ_q|Cs`VW/HDnRRmJԱ G,+ i[q'/I_ysk>&'J"$=] +Z# W^ QLDV]]J )74)J4|LS푤|}O DUVfj[a׼P\ϒMOvqHv4ZW/=\7Ec2╜gn/?[xZfrxA-i +p?h~3wﳌ% uv3V_rWYJJԖ5 gYa& 6.N優jU))Ϗ?c{(Zs6)i`5B3#OLO'0c3g( QyiF[A|0χ +mLu@IX̃taC^Ź(ΑdDEi?-:_%(2q: ujX v<e䖣 m.& ma~˨[&e;G,!^їQ +\\4^N$<) $\Mu+ehu $Id{aOmnm:mź|Ϭ//ͩn\0(k|'>QqPI59GC'ZGƺl2xj,*s{8ľ$kLidu*D}5X^m$$L ~Xj_\9$1{/ח׭ݲ3rkִ/HTh4t]m߉U[F4]U[#u?ALi,uc`/N#`7˜-'L>j#*NsH]Ǡz=ޱ7]dӰ6axe3EYr 5ܑjN7e oi}骩GlhK%o vsv}^&]N9w:r!zgs?u` \\y +hO$g7'{YLAY|>?[ȇFWBE<\}hufw[w樔N_ڒ)'ȿ]K.Pdjah~i(Yoc>4h_GᗪSI{מSS.1iG|~DbU˾ +;+Cر\ܪa:pm\Ol ;kEM9=/rv(ߩ)s7kCY' +a6$j>stream +xڭst߲'۞Ķ31; fm۶m۶1OϹ̜YݫWjz{WDQ^ ngLC,"D$ KN.0t5t3ss_ov6vXrb;{G 3sgb*8lƆrƆ*vgb!kkbF8+Xffb cgb#-,?lM9m6q_+ (_2"Ml=Mvl?d] mB?nC k wq8ٙmo&.6+lhma,dkf fI`hllNljh`kE+/ Ҫ* -lU=3?b? ;6@\bv&f,Ć$vb/fb [;1(8XbS;G6猦YhYh fs[1C\&Fxf6&bF{CG5/+XO0pvc;?vbFs{sp,0'1 1'(frvg*r6wO\_@N}:\ +3F-(o!\ALccV p[1(@ !`b?*C҈!`a$PfC rA3(ASC|q`hhlpc9`π>3ÁJYn?Tb1n_aa]fJ Bn:P՟[ ^!P_TesB*ǿKU9@U.!P_TWr !5:gU+ȸbc*2vƮ9&;]# +ŸUy]H8?J0LőrFyT*0GU'5֤X]KW7r}}VZ}|<0ĉOܹ2q~d߮s"u IZ,?ci M{2#JW%rL)tC~~U0CS:؂`~ 9_f؇u,a΀r+i&SJp~5UT'=4ŻR, G+ok!\*1UB NlvJ{6Y]K 3i +<`#z՛( ~,;pIe6<9^I§Su]bҫY3sɢR99ɑx?-YD:͗)y'VTz-IEsKKq? QZWc}׺Yi Q,*dL%H5,;*Px0?[)-6PKYԭq|];ljTB`a@˄ Wnڍ/O 9 $bAzJo,ÇgnσJq 5nPncAE7[ +*@wۢD@.و?@]:GWKs )ӏwdJFl-- +x#i t٦3U,b-;U,ЋNP3{K 2v2XY 9mp-HZ +8&`Lv3XO=~N%Hf|& B*Jt3`6Z}ʗ[Kx;E\0U4y9> <'ay]=ԉͶSRVqLүi3րeF@ݣwdv49W{+򡽕E*P^Uj7 L6ZImi^W|Aȡ$a>[غl^ʧp!EST(}߇LTfy{^E| 4.qFMJi%_V㞬 +(%Leo;^.<70sQ +<'cl3i\찫q^ :lg2F  5 ğo\ zh$!)?lũsCR7ow^gh2֎ ҘĜ-̬H>mRTCDJ|R/%?$l$ͮwQK*^CyMeZsB^otT _rz`À]Q{5&+ +vab@o0,Ynm_?W0]| d93Ž,FJ԰{~B0?VH$pc{E& ӂ +YM0_.̏bs/1xlKV=Jg6[Cyȗ4Oĩv舾@ӝC^(* +Yv fhE3!LHfΙaIn֤[) r2 dKcw<_r2d}Ha/lB]A_ N@){ R/٥FGq^љ_E< æ~Pd^ァ0yx[A"̭͕tTAzV7,E^Cp@5iOc#=;$ǡ&Xse0E`JMm};UqU! հfER(wAH+Q`'RcΨʼ'&+<quh~ȃBo(t;-(_P_7^R1==9>}ܴ8~V6o{!KIFRX\7gY^8e,w7nw_h-~I[Ɯ,9$6n^ߊb0$tA,+r7ZܱT[$.TK7UDhZlOSf {{3kZJFG%hgW.JD:4#9Vd!¨JVGfmկXPpoNeIdWGg#AcHs`[6b,كY%S2׺!D#Rosst6Hj $~Ϫǜ eqKy ;9A Do>%]y T۬ I&Ն^Ocmwjm.Q'|uŮ+r\~uzoEKV|`FG)sJzM4 L +tیBN!\&㌦4)T]:=~Wdӫ \-EoA  3+D-.]BWVuDz2kS\㴢ݴk%a*/p:gJpLU)9c^f{TʕJ7j/Ock^haH]`;$)~T,wIŞkӚu3W.OxʜۋMӣ낟+Me>+@c4J]nEZNU TK(qzaz.JDү%E;LT턋:\\x#kִز&r"Pj)RYvp73jSH`VpTcbBUK Ɣ{ϒ_9("#kpw+յD iڒP~XH)f_^HigtB yDGem0_A&VK R<SFi&B24ݢ;h2BɔAd'Gʊ?NJ|@!ׁ_,7)\E/&j7 Y5WA]ᏀZ K}(~4`bSF'>.ؤ=x8q !{ŧ{;G%H%Nۡ|vogDG*+ Luӑ2mAiMt1U;>yT??/s!aJզ l iP]@dudGtD+p xF%?cwj$|/F?~(`,seRշ`IߩKJ(cΟ8*P 9W~Bn7x ffxz6QU[[\VP)ߐ4| ޑEzE~R\LJKVwcxcGjJl01xadx|6 蕱VGf9 oļHX*rI#ȩ1\OvY}\j,b隷A> El+!˷gdt<:8#v$V ttH,W.50pN~~uHeX=`#eКiZs3"6ƶ vhܷ|էXJ{%{N%fo@UuEW6YXN/{uFOL`oY6XJu!GȤi;̞3}5Vsʧ];g[7;ǛwLO(-H*EÆm^|{8-㔐*:Xv%MG.~MZ\Xɐ d ,1E7q<#1VxK0'zK}R M [N|:}Jz/v}YJ㼲-i1.X :*d\ڼ@.> / ǽXӕgB,/^Y%_D.H%!zYKHNSd=oiqM,wc +h5/,g5\< M!ob%7Sn7ig>+:T԰NyjF\NEBDl*<`{c\Nrrشai7> P>/0ǯ~Os! O>G[2ԔRbD d?A:mUw_ M0X;M˾cV/)RDm]f}X `6L׬BN7cN77'`u#n3p0,VAUeMU \g)Ee@|JO t^c[\˼m[ue Y5W>p[Afs(=jlpwRNݲ]6 ō 5PP^y;_ߧWw=K#P0MQh:gˉeX+̦l^`)ɄMN$*1ゑ87 f\O^=_QwAeɕnݹRd< 6$bH#蹿J,ڜJP|OM+ɭSx +gʡfs} ʭA"SR,'4$ dfI7oҟ^p]uDs:WSEL2%hWIO$ ₸/A,vз:ƞI"*wjB;GlMD>)m!p[JI0"1dߎ8=^:PYfLRsDѦ(( MՒB`;h/4S$3n*u!Jx5 \ Ƨٴp,Kcc%ծ@fW5 ~VlQ+ 0s*P*ևf9`}?acI@X:N!5xQp|y&tQsRke^ʉO[d-vKk? +3*?kx^nCڥ=M%n ,7;X"54t홠{5ʇ6xJκV)P[Mv"&ӳUG +ם׀pM1`UagXZ` +<7v!K'ٞ^Ϟ2,)rIPKv.;ta,-=`ϫL6C7 L,QY0xe)ԩyW|v\O`Cy L9I{[V˱t\ +ڐh˒tLmU4l’NxjwogJsA]I"sK'L}v4s*|nITw6=N/+\鯁3SlH4 ;Yie+ɇxFU.(WK}&h<؏;kwsԆ NL}4*AR\+C>|fW&.Zvh\PQut/7s,zve`E[(_gL d/nOn)1x.,6;Hݱ}jwW{_]%&eXKPGU).)Fǭ,:?Ewy}qTs&>Ñ]2hHOVx eYBP&~0DS6G܅ϟ>tH)Nѐv.h`-6F@neGB~ʹ JW:ן&s 1]JmZ(59@yub Ql9{\QG nޜи"]kl E1X;mC,ͧ!!ϸpgFy%eo2!ܛhμ}|1- 2YzmLkkkpoA;$Nn[$Y_Vyg̻̓<>hzpj⸌-$(, 1O`Atݵʥ{\߆#&N]Hy].FcK^}].rcͨՋmKgL83p io.(,e|Ds +0_[SJuKZ\B }=K-)֤)s\6r2R|4ax|71d$ +&U_J0w t8JVI%$#SC{._IYFAD {WW#wBKu_UHȨkLow=-srq@$F[x*B;ׅ"C~CрGt֪--'!"ztl;Eެ*H(2MRq .1ՓR5޷>ZS"kWP|XGFP a㊞VmѶU p ^ӉC`ng}:ZJ P1-W<~;D恩0sБ+npv +\'-9JfӢG9gg?9KOܭWgWPΒEQKa̙hoA_uci3ݚM^8f6'[6 +;tH c{A.: +@–*<KfyC /%i[&ˑ eNգJ|H|!0 2>'_[rp !=~pモvAMtXJ1mk8YTS(v*_iK!xմT31uNߌVr) (~!|hp׏O.f%H*Yr3N})Ҧ%ݭOk0kIa;7&̋u~sSc=ַW ${(&6~XJ ?O e76U=no3=$.Q~6#nA!waN|ox59ѫO5գv}3UOaΈeDg,7grkJpi[q~`5*[9)~(4_?vwtMnj%DL~G'r#pƵ;Wykҭ]筑 ,_V=8isg_z}雘p%&^3 +\)l3gxګ A"+Luw{[H [sdr2,j}p 4 uGūVY 6p+_2VCt{R=IO3>8>@Ϥ5G#37o6щJN|7`&bއPGQ$ ցl%#SE +[p{WqLoRKRZ_!a۾bq+Ё~M )dL= *cI + fĤw[07?2at _+pTCҘa21 j,~J5<ؑJzڃR._>`S%K+<*Zi]G f + _qsr9[*H=/NhQӤA\oxjy{H}QLN~\{|zYLd`.mn4- VhWn6#M!A-oP]wz7hS-ս#y=c[f=_ 'J@;bi/F" Jt+2Y.O*&jIs%4}O5Lv-_\fx,v1U.7tF=*S)¡fϩȻ@ -iɭ$H"*N蔎3vG2g:mϜfbp 6@pӑ1 +G >>l;uNa,Hzzd 1g8~;Wm-|tBSjo?+lHK>_6ez7OfO/翢x..Ȁ&^CRIP]ѽzC USyRw0ek4@,WPȟ>؏hp*uĬ xN0ٟ`bvc gZ6a^ݎ6EjB?Rk]LfnWoy!P?9ۗPUr +F&"G E6Q"jC%mAbs9p!kB&iQ၍^[RAC;ly8JKݾߚp~YߛGop~e{yCsw|YД|5SЗ"¯JLPRa +AJ5}mB[u= eΑ? ]$qzY}Ň9 BVP%R؇=#Y^h#t.@4ܡr BNєsx`/F`ݤ] abrt/JvM +yMbROϢt[Bg4h)Ytwl%jHgCt;?:hťT@]i6/`)М>ݷ2e-9 1w9{4UģKrXloFyM,_N*l|j#Zc/x6賓wygI=⮆(Xa*I<3np.o~Ku$=LU"۾_hU8td xR˨Qշ>ٺ:n +13oR)zRvhڠGLZVY=CB[܏7ƩjXӵOL IWH+0gڕ"V!oj>Rq +JUnWb qfq˲I07P!æ!bbr܎HW |~[6[C;S4f43v +![$hS?٢ӂ\AEhhFW_.b< +s{yol i=70A_ }i m2J4hUaj^[#z̆0Ga%8q*L"gOk^"}v|xC sa7&+k(3G‹zOdeCV6\=⍙Zԁ뉤5fR"!>ƹ4'k4T$˂rC@^:LgrXA#.7"I*,׻mNj6y%ʂ֥#63Dj7Cdk q;$ 廆KQ?v4Ɋݺ"?EFdTuSaY;@p}u>8{:K O{O75j& et:Y~4ʷY=>< nHGuGżq v+䲙{7J^_C8XKֿfT0|gJ г]quGuS}tk̒d`M4A'V<ÁStbB΅/8t)Es6d;v)x:Nmj~l4ڿ(oK2YfM65@ʘȱF:FRFȒVw3xA%2Zq oIڡ۫d?m˧ }ws31|' +Fnn%ֻ2x +ׅyΫCOK *a8K$nIW}k͊M:a$%:MT!(` tt>:M̹=AߑRx$ECp ^,c/g'"TB L\乙*D92g!lά%NFp S䈂CeH=qc_Y>rYk>ih$/zʾL>zdѦ?OHmz _RT۟@p>ru{Qt?VBfpes;W`2*Y$B8^s EgO@N0w6n P^La^ӱa`Ŭyo#AOId ^-wo+Fueы{mmVlt}3`616Dѝ{ʡ7RCjKFk*!4q4g#䷲ktexsNCjKnk5=&tE؆\Ĉ33>[Gr[@FbIQ/u]ҥ3w.iI.}ۣjw]Ɂ(oNwcG:`WNa: T8 `ĢW2ClHIApe9IĕO`BE׼]Ubݣդ4~sb;Bek$Ѯ!nK;D{܃+pl3yYMldbwTz&RcWn&4k} 6x]oy ~J}T|c)@Rf*ź*΢@#C&QE] =(Car|_guܴͻ)]_MIڸziʋYܯΒ;8%# ^fcFL"Kg=2XU]faf3jm#[*}zM+ iI $.}eog|1aQa2rMjfh[ ]91O>IKJtG1>stream +xڭeXMh.!Hnh!.]͜3ɝ>֮W)T5@i0ȑ `gacGM IG ? fp8?Tj be@'A$^-bef(8~Bs4fV@G7 @u 4gAeg[9LV T@`Nv; 8@tҤ@% 79U N66&Wq[+srBJ`s SuS[9`wAhjh q+ s2`UАSdAU+3_X ؠeNUL +d6Y8y&*@]@W0+ ] `E99VV6@;g{ +]gcb'`w;Mmy`ȟ/1gOM:|qrWB+ç?Vw '- ;tGN&y2# `CТZOAkIxj/Y4 +C!AVS׋AW!h%;_OcBhz˿*//J| 6!Tqb^ V_P aB5 !T/v/Z9P+j9V!/ZP+S-*ˏ9!.v`0sprC;Hy_̜ { }w- +4C] Z'7zKO!2[6(uM, )3ޗa"uy$qoT>I}u6Mso!ѽLSr۱pq17pi^A_\U:IͽW+0#<>8,ዦu-2v".{=窃xT`ע^EvUPXʵ-?۷JCyT>LIE`ʙ:( oڍ3#?+o3&AqvகMčekܱ._^o[=5yZ Z6)8_ɉJjNJZ?i~uG+/AއtOk뻤dK.a#KT4%!kF$!?6rw2P95i+}F7Zw='/]Ū?<`+")}EE< 8>E9wSKf*=]z/ FԐi9QeP F;uW"T*8OL,4G3_6➓:)bԑaMԀaJ~{+Y6ﴓZ4@C|cgtQ^/eI!\Tb{>s]$,"Ύ{hdzCD'A|`A` ++e``UG޼4Xj)sv=nM8궟b*iڒf1Cijӭ?,y |cbޗAYPVcuxVlHZY׋(*+Aja@טI-V)H{v(BʉG[O6zA*ɩŻ1y>E +kϱLw:jf) {CG +U|45WL ?!g~ #}S6 +4<%Vrڷ͸DF*ͮ I#;ͫՖopߕ#'-D~A"ʚ/ŲY]&ݱ +<.Pne0 TX/a؞ۺz撏r# +rd"NL87 W00]:CރYǡ~<,ٔJEkm1}3<[AC v};)`ҀEœeRÑ +jG腖yF&m?V ʔ8br#zSa kd `Whu,y +A.[x"F3Ys>Λ7ɋ +63KeYA{GesZm3GݲւU͉p!.G@^S;:g~&(s":s3¿?I:X?!`ˮYk)heĪ]%HuskV2vljOihϿOj#/O9'!DՒy6}-Ca q$,CB"6KmG8%iP8iɫ8]),@m[0;PPU?ޫG8qԕ-fywzmwFx3[W~aE~q <~3E2VWsY9_Y"Megng`~;3,vBԇ`޲Hnp`W[ZfHEdee%(Q]h~ 3,žibGi8%R4ʚ@$~t/0in$#XG%nI}n#_UQ0:Tl٧ VDbTnK.GO>@K^ܵ}I3oY:3$<3Nm͜p-%5mY1a٨^>!E0nMd?HSda}%^ ;l^}I{3޵YF%F9M[ϬZQb&:qZϼRT~U`F-T[qP;4oآ-~SՐ0a2êm7G5ux־=eAs\QuE_&FH桵W*O}EIH/ҽ +fg/XFXXjy 8xКviT97_ق%=+#V:lpOzKg%-iC3fE)Wm&Foqϸc0̧{8>%q H%"mK4,'q7ꬡdn՟١S +[t[Rh74݇d{=W6 ^d>tNvlȇgzN*i.PmvPb͗JǽOޞْ*rAUXPV3̾bwLd.:'^eeeq>*9$lo&F; .\1C^pxi<@P]8S_39{U>_, :f&.~KmӻV=soqx&Ǵl}Mʱ + +;]ps!KN`YUE(xy?j8nwӥ^S.qk< ~qQ@_L{o$Qi:?{V/͊g& K"2W0޾:Qs#Bi`1Y$CGODJ.|E7eAyڻ;˓]:4E I +Vfbf[RCk_HBtv̀VY=h]q2~K A +]tQ[ji/%# ˪\j-VkkUJJ+4$}U=8#-@]|K w#O|{C]>A 5$TU5 "Qq܃NGWcD.lH Z!w6F/ax?On] + ?7]TpSJŗHf1_T\/,m>5Yg?5$'3NM^h{%<߸|5L+A 3))N?dfS-%$l>6of* wŤrs")$4q(TX ?k5V~! Le@!b.*#r f!zQf:,yD!\ɘ ;.|~\ATLAҎ#U&x4<a_z yv>mczA/t3^}ibZW٥Wt4(}X,`iGU"痃#U~u%UISqa4 R+G +(a_$Py10hF I5VW!̝:UQLa^ st̂\9[LkVx/wDDXJyOyiP\]DBi.Es]&m/~mkl//~, WZ. cߚt1Q=A٤sdRm kw< +6L/SaX}v7$OX%hp+G⬕T+D" +K@>\]/Bh>$^>I] dC GMoYj 2tjAi9ʟ*mJo RS +LG%D-`M2"=u_UK +FTvK u.JQ K6Zw4> b|>j8fFnC(Pr,\,GsWxʔЉym]*.Xyb_G(cu[oc7D[ENr3p"ehNW!9B}d}w&F"Q0|zjkԂs-8X g~Yz:tȻmMW}]\*= V;&Cpjї*y)S_K + ADj1>Jdǫp#˴gњ }Y5skxo?%F]-2 _<Y4׃f +lͣi){]*Sy P,EfAlO={L-ޘ?oh3 j"Z ]_\\ +52`4T{PtB?GJ`-_ɗk▵aKTMs9̪ZփOѡk~V꿎='ogVme[c@&q&t,t*T5²|Dm{~(q1^ maIujLw@. +Jc#sNhcLx[$C3`Ty\+"pk*1("-s8WL|NV}iH({ :&;*HV +ҭpZu"A5RZ4kgAHpIK&]ÀLX CAq;c/Is-\ƅ<h$-!̗ŵ[l31$l҇WܨŃ뷌Ȝym/u*_b`#q?1i雳V5B".g頩vZpg)ȀRbRv_ثlH>P5u\<2ImgۚEVq{>F"E43!m2r?նp@>Zc4v:ċE9&~@}=k yΠWo#bJ6r)%Qf][` c^W82!NpU!RUaSݳ_V JoՉvFû|s!`C"ۢje z/) +ֿY+"&[55TN[{.H,d7OÎZ\eׅ_D;>yt6؉[1ٮ[RԯDfxq ;=S޷AaS-eQ;,Ry0rkXėva YDZ/Iˎ ! +j27tr!^OZ'!(AOu{NJV{yd-^~ۙ VSa#$錋ޢ<75v~%GC,#j6r*グKf`ǃ>ʭJ3U}6ɰnu<gz1ܤYʚFD|規 *8O30y{Tl}p@+e|h#fT.zsϦ쬠ט a9[d6U&yC[ѳuۑ}7lmj{ٚE1S|mk" WW*r2?eI}\ITd%&Fy7ck});1hX`S)M~]Po̞IIR* +=pQ,"ewSЄ3*ΉPK^(_::MZQ )X!:[)=Osm.!X +] { Z͒cd #*&zdOw!{]'1 1[}>͵WӌrW[Dp;j ߙBLmhKC`(K޽zJzS׷"]zm)So>qdU1E͉LNs]/@\O"нAw eZ7"kbAp=TND%xb< FOi(oZ3[N6佂`ГfIoc+]>^w_W31GNetضL$1wH {B#SaE8ڰ)oF7Ѭ ´tƸ;4ٚ-k4^j̕If fx +Nt3w:?wXo&5& +N+rf*I3Ү<e +>stream +xڭRiXSgDBE[EY\0 aK܄ ^ "  +(ˈ@+R +8%"B.Xak:}=}3ǶdpCEbov0DJ06vaPWfxhJgXQ4:`18"e0arPEъ\1.ɀ)q`7 0L C" @Yv1@_|`bp0z{PÉ^ҟxN4"L]Eċ`xc<GWKaq +0ִ玈a"F>Gaڊ"#?i~I +pD Bd*R߇UP.CPs @4b)d)Z"dp\ZAt:xZ +{|Θ8X(A?Bn<èh )R"Y\BgD?r1ŭ2Euj[k)^2VE *+;BikWur|,ո\'9WxMJ~&&/oh vzO:w|ݻk^PïwʻXi}sX!Ǘ㾸.y/n t] [gSNTƶZ+G'w4 RgTUKߨy%syWqCccID謮2eAջ8 /k1R~7Y % tƍg;tMXg3P~dmfљ{#Ń;NOT1~VO&AeQj-9,mI&V0 7\ZEc++_I^ndgk彲/S4MSl޴3]T~DY>stream +xڭRw<{oFfvsc8dB9p1PQ YY)YEߩ~w|}|<~_c 4'G ]A sʚR@O&CQA]:хB8eSQS&-Rh AQq Y"d4Tcp~"p@JQ@ M@oW+G*Ci۲7bSڬF.E<L +N(kow<3CfЦVU~Y{=~?5r]{cN3lX݂ojjgN&14?KH};&' +y;;kOڪ +UؼN^`$9+w;`"}_P3I/-GS;.`g^m7~7N6P>Q.Q||IvŝgS|nw΂Fjq쒨$M#ylDaϩSN|m8Vk&ammӟ۳[(rB?޳y7ʡeqYK/9_؊y!0 س5Ym)u Ufo-ViΚu<,9̅l}l"-z'&Q}U:;;C Y/2 ˪FEf5+N=.6P.=}EBU`V>*32JDP).؎`B{i.#,N&ck-'e,pȷzk0Y|z {M` \Ez^:4bUg]±UoQV>upw=U3W +O.5MVO^;qw( >͐Q`*+瓛{8 ؊ݝG-RF ILJq-AEvkX?P .DGbnxg?U,zKOEfK_vwcMɧicAoK}Cz5Wv w?Iì(l00yi]z:DWK3uk'!3^ގ{y^6F^5,3+L/D7pQQA~,Xc7t y fMpk\E8,S+Gۡo>_ʀ)>uf$?-oZ}7_C^yNyDHc|G%bOg׃j鼇:qi _k^MAUOZn}K3h't=Jy[Qk-؟g׺7)uy~Koz/ֺ*q˨c_+76Gq3c;W۷cĘrIcR^I +Nϰ~W8  Ιӡ-G +󤂶I/+]izZabuu,*l&wnO"BOʥL\Vd8wovZU%B k:b\^:9WkߦrK`ŗ#6mmzC7ow]*^1Z͔řڙ)WQ!TwE1C۲v%Ծy +}#V}~ ۰g}^k8#]ՎQ`l*i$eT +Jk-n03eeR|9*?'?.>1\κP9fh&T:rN5E~ VQ`ǩ4ڈm_~+k[f,ґQi!ocε6sː #-rooV}رb&]At g7daL&V2 wYf!e3vCd_pVGUj˽n%qzX"Sp#(bBD[YZyWqbm, 9Qƥ䥋LEaH(9UHU ӟ%Ͽ@ _L? k$9L:yٛZչ|rqkQhTNyoٙ$is3 5{CYE V8IŐ>stream +xڭeX]Mp wwww6w N. t&}cVQڋTYQh +:22)2SR9L\&>V^^V7K6V.>.>6xJ1+ ?IDf&$ +&V{f&v$j@3k?O\s&xVVsk3WS?v16v6s{yAiw.f@s2ZM dmbe/N/Y[ WhlB_ AVeeY9 +_r ڿd +׿dB;mfϿd +?wq\%M%* +a"ads9W -AW# 0_Zؤ6KNCсZ6)6v"6"D^XOLWe\S\뾻~w+Uמ#] J{)'hYN`'40`z!\ڒvT줪iNekI k6-+7BؼW#3 6ќ_͓6DF?It~;8<'.V0a^yi1+y,{COm-328/RH &s[m:.ٝ$f'qA!d\<%Q,cf}qbe 'ZMs-Eź8/%c۱>m[Bu N6G&r,$g rO1+y^C&onBPm;Ӡ︳ &[Mn#_0J;h[Z} )JŞtRo0k +1AH%[ ?&y 0$`h=]Zdx׆TW̮p]7q ofzf*횆ɒq!#UUSFX#y\MYXPjot)@Fh3P/ vZ\^ +$g0C 1 3m][=Pf{O_YQ- wl Dt)(KGzug Fs[svdyk%X1%/nwΤ[fbź&+|?#JήymY Lr+GvǂcPh +~~v4YNt"_ KmԡEӈ'V +n=GoϲNCSIxA8g)$#`4r޴1WEtf9S|j ͦmumZRx߄oZDdR}+_ *أP ܙ>g.XG׬So"(U,º1x-􌞤O?+6M.-seOm*cU@Sx@j k4~[ظBg\]^k8NNdV5EzXjPEC4b$c9cOĘLBuÙ*y$EUR?GjvM`%(LZd +޼^2E]沮*N?H75#*qZKêW*(w;'U2k,,!@yh~` Cw;\݆2z/V@ 6͙Y8yC~n^yHU8iwђA?G +y'aC` ,'A,Rң;`<zn*2n !Wv~^[ +B|O\,~ Aq\b{Nv}Yn>BF,ƘpSң@SjrtO =$o7s[I(mJӮwr@d'Ǥ\{~#KM6(k5}ւ +CV YEmiUq2RipGeD[y%{!}G̸/?!Hѵr~\ |_<ܣG)f7&]ؽl2%C3+@k>|AI H_4P1 Vs2e' CYt1$~%5T;do>Oi]l}cZ5՛yri^qs,Ma- 2:H(;ը5*45^X$ gM/F].te57CH$ctLC_P +W J̨ļK])U@ƃEܾ#}DG1;{lQ7 nlE]R%q`mS O qz2 [J_IKɖz< +ܠ}6єy;S7A[aWX1vY +;@Ţ+5 ߎ W{IneofUZ]#X!:eS1 +gO giS[.LkhGo }J9uTXr"I_-S_Y[GVaMzM&AS1/K>D|&v- X +̹ck!|);){\`Ҧ_qeTIw#\j +UNlq-yD01`2 +ĦdV#U8HC4R)]ׇcxk紜.F!pE{ -<8V!OOGXgx^'ȟJӘchTXrFډd`JoV-@aZ3DnИ} %|$ 9 *uzyRV|ed` 'C3%ͪM8!ھNGVh"/@̈rY~NI*uKg'Ihy8wV4L%yJJ^˩#T3Tk}U /r~Qed]9ʽaKDd:Tt=K)0FK vW9h'VdIL[^ =QjZV0[+11m(v',xQ7=*XR@vuu=ثbw+ݿ +/D#_Y"[u~ScR+!F?V!晌_S>m0٩V9H|Vhk!!U?ؐǫW-D=;9]!_I(ڻ&uWF;K hyRE-oAPZ8h8yl5ɏ*2IgVia_/9۞2t4#LHb!h␑(Ń)A4KY +'6BYYټ_)*y N4AL*-v nR_춵1> Fޭ n&XsԾS3 ?%oGFvf_;s.E+ܭLdgs*ڡ*5Rv Wce;*^Zİw5@9]ĒaAe!Vfrʼ9&DtyZ:+32^\2"{muWTJ7XE$)?b/|OV&tm?dKrG|+g +b%OF -M +xulͺ:vmվ/ž̚k({wC61=qc<9JAkֺNt^`NNձs辫MGVwE^PJ, 2+)A$Wr;eY!$%E`/x0.] d +tצYF;ʢi r5Q֢쉣2G+70ڎH}qhp %7Zݱ~ &Щr1е}{O׏-lcѷ|?z憤 41Zou\?}L*q`M!Zz1\w_?XD>W/ג9%Jߧ# -0@Ο VBt bؾT^ESnXF`~W7UPX[Eoԇh,U%_Eaϛ9L{zfpp؍"c&E Oy')NwF== +A1exn^["m4pv}˭~r}Pyzc'%42Y? +2:)SsآM5NӨOe&#"Nǽ]DU99= %8ּh3V) "[CiFP=J)wg8OOFB*Ĕ4a) +\ZXYʼnR55{m/f䪖%.n.~E.U+>7khA:3Ƣm׼)XiJ)gl8!; f})jM~TPP` W]#"?H[N +{!nޜ2'τ9옝\ྻ& n /erKu]yMyh?E J g_aBudPX랉qWX&NfeK wgF\PpHsEC}Sf6; T| RO'ҏޑMYv\+ d4~jPNr_>e5v͕JM7kFuSO+=P{_g1 A{ 4qAfɱ~`rDDެdvY{tkkj珑c&MAۮ:TG_3RP^'s:jR:)va)$5'DiDn t57fVRi{$L”N^m_:illFqKa*[ᡔƴҍE 8"Q ,,¹%*S,y +Ԟ#E3O[Xw<Dlf'~sy_[396 '9rX ֘ ec +^qxI <{}mWH'OKa犆ݤ?,(^Quec,J?׾PX^#Bv]`LJu~vQ–H r +"MU-z'?*lkz,hH\<4v %+kX\( &?l1/XCBN\8պ=qKX[y lbhe[U`^3Ѡyd(\cNc?]`[:BUO@٣mїvC0 D~𯙐r~s/gنcβr2>v” gB{92 ="Hq|%OI7(C;sպbB[t]]7'1$Ss#n9iWg߫F8C k>@54\6}1-QJE >B!ƦYj"Spie׼GO|)x8ׁDIsV-FpbAI؍n3V-(evę=<'^{J byV%ln}&^H:apbji*`>Zlhr8% +rU 1ѤpxB~OO IC%a|^nMY}[99 :H"0W"*?T ?ں˪Ky"KMtċ mWI,NөJΎfR4ظp7_-ԃ3pi">@GZ%vWr/=cɷk8/YQ6&)5dZlTO_dbn_V~~1GoGBB#'ֿ7Q%rfbm^5S$A?GgҢ j0`d7 `r.YSc@sݨcVg:fqk蜾4BԐfyY"W_1S;B;}H_z[PsNXT@9y+8<)S#9{)*+l ;f;7ѵ5=\i;OZ+kiMe<ɑ|zjA8 AŹ9 7{2 W.UDD7XOnAxnky ↷%^ n0x_[? +e`s ^-޼@U;Yy:cοGAGOrL4rhDoP=kڳ|ʙ,X\2&^Q[%VQYS36+Ka;C ]ofX9^,5EF{U3mߏEWǝЕb?*Vzye&0I( +[#MR!Lx܊2YEP)bAʮ duA%-6Exܔ|мW^Eʶ~%xr?%z"ƚq8#HtAfnv3}aKvq9z)[NcHC`bܷO캿!Crl +be.#g=ɁLy}2FD4&K4hb/%ߨnӖBI4O(y%1h ~ LoX*>^$bwk*"-}D QI]vO\SƋ떵lT~긆i)*Il;"y&3D.z F"hѾ( }D%ӭ;DjwU*DvT/)׃HR)ʖl&1A5WEH_hmj8q\av\.sC ̲^|G i:INz\.{+,A(g!wCI45#g(hHrflhѨxKuq~@ naHFΖZʖ莖 |hV8~~/i&s:*Ua k!1򁐷:%џOP.ss " jvCH4u9k:UoJpYA9lX\{|4VzCj8 7#VNGR + :gȚ <6P |\ym5*3VMH- ιwP.xwKxշQSȥrSIwįϻ #gW8M)R +b,OU؞KF1.Aᕏ|±QH-pNv/N8nG=UTS + !UGUkw(lʟ2 *kNF1hjWgiLO{[혽"}Qg3UȻHTz^%v#C4L?,"\hƄSZp)@-MawVlt.-C[jp'х=D=\St4[B򖕶v؏DWXj-Vԇ&vX%8@ɜAb̈ldYi?K߰i3U4)jeiKS):Š?~,u-JڠD Q^t5nJ gWA,ƛT_6^/6b=h8|j5۪3."zĨ6GlкgcJ {Â" +e6t(JdܹV %+ͤ!3Y;7v Z⍹l{СYi˰܆b% +nG(ۅ+R<>A˪LeIh.s(/"0v$6=P!>kNC>*ϩ!R3c}*F=1oqieKHvInmFkke!Ll@R(PcN6UFLC:QŅnAV|", -Z0ʹ*3byA30ޟ[&yvDr#``W+ |v߭Ix{VC[5:' ym죷.'K?VYaqV3\ۼȹ'`u ?&yƿj*0 |Ay;ۥ9xێ6[QH:a"#-R}]E|C0$>d ۏϐY,3f#f69/&//y?.e4Vs_Vxtm9*h8J+R^&#!3\ŁnHpt..N,P?OְQnxYI4ʗzWcλp9WOUk0a0 FDLY8O$+15/nGuzLlfwrO4d R$SwCȞ?ַ1߽ˬNiaPJA#- "]YbWI\BcmZl 7-f)qrB:U.5aݍi^479_O:C+Xǃ&,Y~w 7S#ln*e.72}˯3x#Kb)c/QJMFϟ4Bp@@~()/iTXQm,2_wSA S{ + l!Xr܂Ůu}odHP eQ^;?Khc3(%KeTzrRѮr _/#h*E2Z!Ĵ4X/i9AXYܽ= +CWz$*H +endstream +endobj +947 0 obj<>stream +xڭ{XLi%4i+(^jS3s&cT.Uh*bih)MtqFBY~ %OȢ4}?|9Q$vpaЋ)8w_q@\NB3@%p<3O`wB!1y8ܧU IL¡!A@LH0HiU7 ! l)&@c8 $eQ/R4$4!QJ + BGoA8+JC{CNFBP(H_B +I|u!gR,J9PRr46ב/`j/,JE% 2T}}Kp\}Y[D(SܯZX Xesm/%ǟPD5 .=8`Cs8AWѻTGAtR:IxGh$R +(jO͍sp' Ӧ@QE3:/ 0J e͊m+,ݯwg`R`*zlӈf>-1~t.LajVm5̲}*=wm83dkv}:ʨ9jsq*qIވ }ГŷyUPѹ*:l Z\k{yNVSxNZN?kv}h~NWf[Y_6f{]ѵjM@[*Q(FPVz18ӣ}J責jڊZޙW< ]9Uxꈒ957ۚbɟ fzlŘ/l^W$*vc(OT`nlQurVSTa']agLRA惕]j ڭjhU=isýpëosPLe29t([}eWx+2(+fk XRÔWC<6/jx։+BeQ'g0+ڤΑYm>+kh/nu_:ZLFpiXɓX nN>Dӄf_ +endstream +endobj +948 0 obj<>stream +xڭy<DZZ+_Uaf3VƠnf_`FhH)Dr$Jɑl#r1*37귻??RwrRG@[4@b4@pLĆtkH33$PCDc10-1!\lȄ$:`Obd pa!34@X; d P 28R!: fOe/a +'T0dL";E +Nw`EN-nˡHkך4)+`r gP@&[ś=H8fl "cT -)Nh,sS5!g p[w'_9DlW^UğÄa@ EBן7w +D- + 1$L"2!Nl@ԓpS48i-8oB"pW(݁3B +Q{Le0Dh"d ٟRM   GTʏ~s.q+jyg7=A|0h`R%#FB>b9NΧv\ +xdԘ?9.s섉c$ƌGYN֮RbH-:TH 8Z"()l;-]guVW#tTY7M5[?si $&7vWi}|vXX]8CjAMb$ԉ{fV!Cb_]DEIT\DjJ} +;elkȑkKm|sXWeVtAs~f43ök-0¬% Ჱo6:2'|QqӪK IФyObo:)υ`gY=&;JR%=O,<~ >Elc/-=L̠; WXCvVŽݩap=8lҬ;vDw;8TwMʡ͚' U?!l~ ڸ.0|ZdB̋&6|"K}mLpWvK)πuܜX(qN2CUr:Fl I +(5L b).C{jD9քW!ߠ.γnAs:Ж_7_?z֠ojR?ۛ4xJJ墠ş@{M~E#xMer2Ǟ!JLZv~ъ M᜹z^VTBktw/gZR'KWezet8 3uC뢿/.W YY{,ȏ6vp:z`^MťqRo&}z^;lQ%3ap)en׈ZLS{Ne]~=h6_8){/|W$kb*AsEsN@oOi]+b}>ʵXgN!$n.hWE Y35L.ʎFW33;.f-0&nBiٶS0SF_|F 5;;dX,J#KVcGr_;.E#-x4-a{l:?;5l3 [aN~6} O&b,n'#&=3$' +wkɛ-.m8ueÍ[6ojvHݧ褔|y;rJu;LK7ni.X?*7ZT0և~ET0ѥymޙwu6Oyc:Β9m?22RFy )Ӡ.Sou}C6IjLbU#RCBD4,}SfjcH$.GQaS?iVSsSyGE9j;X>Fk +endstream +endobj +949 0 obj<>stream +xڭ{4iKFVJ9뒹`8Vg\b&^ëe.eT% YbH*Vʆ4ZZ. tVyy~>s_[6#pLjˠ2ĒN'Q(nb8Ig`F3ޙ$Q-R`f5%rl"F84|Hq>HT + C$xSI Q#(FM!ya8}jòϣ]XB@iL+@@8&hp4`?fo єTP_!*+E2)"FLVQhK + Q>"@;|꣒ h,R~$@B 2G0x& 4{_^ N|!ȣ@"_j""1 өt:UȌ<0>Xc:H,$:aed= b0 XFp)\LzUGI$rMx[;ct'&pbGȗ&S0>Ab>Iu$DL,(8m%1UK]wBBz䲨K\u7Y9bx0 +-Yxw) 0+{ӎ<0l7:3 +jmRrV FW Zwi_yp7~2TzœS d˳[/=\Uز,8KxBe컷7}h.gNbf>*V{;s*'Fg]S궰Wܬs?jS1?}U<9Ryą-f?PO<ʰm2DoqzYvɸ\"벭A#]YWSg]ʭ}}=|<ԆfZ$=>X,~KƖ$.zuܐi^GZYg;x>b7\ĵ?UCI&yn=}^L=K'#wn/aUk:F*\eEsԇǸ +~G)#굻ڟ֫fu{9|ZYK905DV8Y-mYۂ=6ۮ^oQ?p ,M=_`|&s>/Yem,@E՛:()y,\+NF;2)CQ`-\ggÏ&g$[sJUfZkdu +7n[t;Y^TqNm E~oĭNm-O2/0[/ ?N [^6H'7/ )tшIb@5$~+Uz +endstream +endobj +950 0 obj<>stream +xڭg<]ƣ(ADލ=^ F DwDD%j"D ™y:9_rZ{_^{m-9+ ܃_ ᳰ#0T/&Ab"7fg`H E- K{3zkK'5 sr@Z@ݡ$Ԇ`XA`p|_~T.m<]BBhSvIڢ `jh'_ۣ{0'λ8zz@ (R迬i@m`̪xX:vNP߿B0w% +jZ:CC64nZj\)-KC?U717 +`Ǐ.D3"G0G@Qh@^z  ]7bW?aB"'.B`Q!@;HT#1P?$*ɳ;BP#;BCzwӼ#(ZO +;B+w>gxGh=?Z w]Ggw~ x·*D p_.zHͶ0HC(5ʢDCFkxebL'خ-Qw d9 é읚Feu6==zkjN?In 7{Hl7Ԇ߲5?2^wYxeQPq>ý>ds_NR^DX#+BV)E>εz ᜬa3’eL2 }lq|Λח@P+kb&Tnb;S»-*ޗk w;h!v&P{ϴUSb F>-UIWOVuAF}97yx#͋lxEQ1?/Rl~'1!^fKMO@$:t +%jƓTTZG #@2t5~hRB@fΉT*r4jW$bȠTiO`1@$Z?!(lmC^5׿k~6sFJ԰j.yB6]Y Ov[)f +tѯ2'`ngMP3%SVk#gwWN:Ceq,#%G q6s*rLiᜉcxB>6HC,Ӏi>xz]R[UHu@Q'ׄS ,zw}S=9P+ 0%L+_Jӹֳ(@r + nSէ!6d.8B41@S崼(߄͘RE*{b /(رa`^ LXG(2 FTX̅& ]ӢǘUD4Ml{c?[AoZ&hL^YggPaH +󍷁v\11˦& aQTGt s` +%8:HMOW\7V PN?%W{eBͱ؂=ЧkmB(5S.톀qmWgs^pE_yƕGpkZaM#wQTʬd3E jjdßQeu\%u}d~Mcj$V>-vUS+v٠1^On_7u-K? +w{(pahK֋uޅqy*=H(r珯ԮcKQ:!DtEj3q{4iLWQ;ˋۘPN]#ڦxWKta(#BW"1h,kQ( KS5-S,agN+Ӵ' :K͐ʖaml>3aJJm~͞U^3uz X?s(Y2TŲ;hh^a=wrȾ"|RCypj˾J:CK̤,F%ͷUQ~ vY- ֩a6)A"obDofgkmAMa,.2UFJk+2eb#nHsl.hfڹTJ1-dI&  7?"VE<")>Ϝd#wwӘ+2vCąט:9Q$C*k"bQi27N Y"k4 ']M?5>kSoX $_O*OkeSnj'V S~Y'(xέ f$e!]`H?oKMv}qßEW>RWb +,O/W]NjރHwG~ H\0n-,Y"5~@A!}"_ɔN8|o̘fUF\){vs^_.I9>o>ՋҕOm|;:D/2T\qSwKQM$V l㿒[l[`a\$$4AC9Ζ3|W*6/IPuE4hArNa{`UyƳoei +=\#ӳX=u]iMG9qIoLXK;]mO++I[W"1Uo fbq*Xm}2;Tȳ/s|i51em8`>*׉:[c`F`kE +[# $όrk 9BE +_L»6Rݤ#<AJs#>%کnlRSJϿ;fO49 {k 0 !FRp>؞_wshSLi4e h#30Cv~⚰lN/n7r^s.O1Ɓ YWT4 zE>^sA9&%~&J2y56#ީ6}ۼ|,'IN= H?`BE`ȤU/:Ѓ +i|]m:D_SMOz1b= x ZqX Z{:JĠ7c0KT\ek $𬰜k,~?h782;'!ó`iK%X&~Zf]17SWw;ym[IrSwiCޜ$yPgDxwHJN8YeѠhh]cC{s S0[՗:='];\`긁m@%^&f/@f/8 ?=,7O&GPs6ZF@YZ`I;8V2lԕXjj+yNC+U!Lo*@ZL9jsUS.(2@/̉2NFnC 7_QB6X܅#wF9\x|.iܱ%{<[MH En]^]B!{q, 4䗢%FGm^ -|FCIYg$iK<@4vQM'˵}[Ayew&= i ^QO)Jxo-KKO&'>LG`^UUj>jU6۔]h;p!ވUDle"H<̖OoYsKb"V.M:bWϭ5OHuCU2@1xx( yB4B|#D}&oNI +nYu2crݯ&^ULC_xN* Lp~jAfs5㬵U 7[, Ôw LH.ffL ܨjua5~H[ݒY9>M‡V☯Bt'se#%͟ n$]vfT4C:,>ܟ4|H1ڜ.!Y.K1Kajm( xCE1yWCv膫u(< ~ vi/=oU|W{^b#q,{=%ڢcNtUɸUsyl3$XFdtqTc>A7>?Ũ_q[]1rinc#WC:žH߰z;D^`gk HLH$ԜK̪X;KP3XTOi)in$*WZePTpYyŒBhq=S}DW[-!3>ZeӾ,ê΍҄k68?5HC3(]̍xCl:`r]HDpȀpkGн뙢CXV5(UzE|< N\o[y7|zRpޭ}7H_G_$qA13rZiUn2v(D=IS:g3PE_i;acWw#NQJt1S J&}M5wwsbT?UOCS|8הa92 I!*P}]pjX5)VAE&T-2kA3R5}W1]cBnxtR=yRyQ-G\33μ w›}ŻFב[ x!:!*%OW|*,Le+,Y.Lcw-<9+)Wz/k\ՌnW>9 lߗ/dž7 +endstream +endobj +951 0 obj<>stream +xڭy8mƳSY߷"yʚ0l!3131QB(R,EDB*c˾Qv|~8[Bꌼq$y\ 0@jpE. "$a8C$ p@/PRjZ*jZ\Lxz)]: 1($@ I^/c +Qa @1(zbp\]Cqx@g@u$3LR "hЃ fg2?L>8@ _m/_ޗ@ߥOo {bPz8O,(,a1A +CBy$b п{`\R:6]bF8DLନg~£18{PUD"20 +  `/L'1H{O;:36-fN>JF\l7)VqFUWSTY*E*\^MLR}O +dQ# ?&sz7sѶ`*b~Lx؟̑=um:tPUo|esp(ȹUo &R6zsdrH~kTHתe.9iYK,tùTB1968)-WG8ŕz5;o&4/Uz;|eMt +*MpEz~j.Tyau1]>DŽak yT5VdhFGQBs/Z#aS5ʏnk5-Fsg@^6~g!M|2(X3Ab~ӈKð]ۃ> 9t4M&t"ejsNO^ ߆xN"UҼ/e\"1D]VڔّGևNQ.Z}#5Yε;"\nBTt[S{lsՀJ>822{y֑ oQ{Ҙ=i=7r^S!~5@lbE"Jc~̩f 3eFDŽQ"B֙VOIs"֗N @?Q>X>}'8F{oxeC郢rc> _~.NXĢ#6ڏ~Vp,y̪[+Zg#Y&NOgb+zw:*)}+$hE.@)-Ѱg^iTSח66]Eu _-{n_0&?47o +endstream +endobj +952 0 obj<>stream +xڭi8mǑlYH$7)XԄɒJ=cj02ă,eI"KdI}dK(wS|}p/ci1Q@$Lp4\CUT7B6@ + A'ցh &W:Hp +&iF. Ő tabH Kit(`D"?:kz8(Xd>&O4qR ՝(lbX8 +Dp nY,?#=H$4MǸI+(.4 +XPp g)'1kP4 5"H 3DtGA%u;ɸ?XmPVHwɴtcToj? ث셳 +Y߯&c)8"j ^KipHƁ"A`Y)T UG0WN(!mF!:;[og!,iS cc/DQ`ꀶ:*T*Hm>?Ͽ4 +zX 3r*Ǡkz]e'e).:("8uRkM=U;r>-&w}dSb}UvPE鋥Y ݯ[vw0f`z+Z{ϒDmXH5 nWÆ38;/_)SZTzXI~++"]JmI ?H&D[iX򻼔G|ɚ3o֐&^K7J`bO~^o<{SM 3byP +X=,.i#.O!ĸN46h6\"=1) +Gq.I8.x9{3j|2񜻫?=KG C{L&8/hqJՖmNwT])kd᏶WLF.dot4HPqTю,*p)v<'zұ[P ;.i̸zA+ۅ+mN/߭;䀠?n6DN >_>y9H. +r7]uK)؀ޭr@%b>0>Hrwp淶)+5T^, ^ō yeVp`"My^]{d߅e~l%̾xQd.oX&q\,4v TWo꯽RXRyrz }{-RQI,V<`H48>&Eh:O Z}ÈGg4;?o>!OHj/ڴXX8n$}C=CTȶo t?Z$ʮguaH6|޵goߌI%1Mk B :r$`rz}e&/p0t0ӽjoxA>yℤ#F|&3iYΓ7Dׅ&q8Hil):ninN+2W;~1>#bvT/sza&/Ya6?+v(SCN:҇F@]syu-qHxYg咅޺ԃ}n'DŽټnGXMNl 7z Jkj + {5p{l"ٚHMCغR7ܲp>+C\elM -6JUCNYkI7""vjjUdY78_TM\> 1#Qñ~H<<[b7+SHYDP7+[!^Ǡ5D- e撷 +w!% xKa)StaaSR%;ғ&S +4D=՚le:\l{ Ua!-i:Vnqote sZP:z^?nţ39R]BݤAD-v&r)ܜ 4AS։̾p>sq,T z*"1en[Y?IuEudZQ_}3w2/ŽАWZesM",:bΝ,Jz˾ j9Rxgb "e:h?$jRC-{foR o7xK ^k;zI^a#͏͏PK>H30ߕZ(n~=&e ;]QZcjNPWB-ὲP`*\m,^lˠ>鲠 >6QMtfK㦷n>_QybڧJz9a2mn&A?(Q#ӷ@yn힉rGS{_=Iw՛ +i{]a5 +}W>* ,9"23R(hѨ#,q +endstream +endobj +953 0 obj<>stream +xڭkTSWCJTC1JH $G@@<"rOJro% :Bj'UZ X,U[VV)Cuu :|9{w]BoOBp@S-1%"%$Pb: *22u, R(@ԉ  3 *SbS&ǁ4Q*eB"nӘ @B"8)q6H?f6(KS[]D?RQCqLN TYPKL* z8^/hFH4TCfMsWćD g9b +_WLDZp\vg\pRϛ!QODF@(@-Zp5ylrL *UC% $8=<ߑQv0!ٽ [J.5,{v9F듫r}iV^6(;}ە'뀑*fwc +reas #| D^?>EiHwr:1{ P`C(MZ6(ެ3b y㵣{\-<]3eaSIZ+A_h;;:+չsכ*} ]K؉% mm,gDŽ uG;gݗ}Uk|先$#0XeTnnX0P%ySXTQ^BnQF,"1\S3F`'3y>헔#Hg64|yFжO@Sn1fyo[gT. k\/ h<k4(ƃg/9DYctLڑ8KS,Nf1ۈN*owxvvgizh[Qp5wѩWՕ>_GoE}R61vj+/3-n@ d-o/Kzi,"o?RPfUMfЗ_ݥ{m[Q~>stream +xڭg4kN6Hu{ aQ]D5E ADDs8|}}{!Vy t%B$*!HC ~ (x;BE <(<g$K" @8{t.`wLG{(# +P(^C @G$ Ӑ ; O˜paLr0A0?v"Ѕa'?LwsUo(T-{z# Fxwoo0h Gg( w +!HG= Wo e@@PB_+o@{X1A@BB7Rp u#$ P`?a~sH0 2 +&q-J$P%I?ޒ@@햄1c%-aԵn }Ku[¨F]F0ꆷQ7%Q-aƋ-a!I 9CB{ 1Yc1ߗ_b?a6{K|7C")@ '##{D;ݸ6F yzꏨ\ p\ Xb8s}؎wiΚ=BP VA2<: rwa]IXd4q|Bn$T=ef[d6Nת\F`arTEN 4_y?_2 'D5`.RO(o|vRFk}Vc[74T:-g0lpLjdlZ-BPdFA4݋[Hyqw))ZAPœ?D"-w" rL gHC:ۯfx@ơ[}zEaٻ$9: +xE9]G\;,$Yeͼ~SKpt!@ *>X K6q}}_c͂aQ5٥[q mO_xI]kH<ˋb5cf\s|' w7?(>j9ڽI,oiމH8_MwmluǾ{1O +;EU܋.5Q6%- $tQfڱ\ᵀv6!>-[!u}'eւT9ABGlam +jb +ޤѩ~H-О G`;ٚTּ&ҕ7rSjwѨa ^. EIݸg]Y]KXuՑ{Rwqpș(vL^i!E\KUUw[T[\fN.E 7Zk;gz=3{T}#-Jy=A兌҅3X_GMzՙ_ZtWG"Hj>iNC  T|^5a$Ej3xep +Ԙ5վF lVWƦ# Bs/aԿ>z51~ pY/ W2J/iC$/tO;3+Ѳғ(0򒑫]6G!o*`.w%ne+ZVk?حXQĀy=9B^ +(Eul޺uJYy#Nn,ȩ¼ M/fW܇vpD-w-רzrzq^·QuZRe2.y6lPw$DCNFǢqN\STͱ7 LyMn9iUL}3!S9P4ݱ𐾦k s;N,efh!΢*|FttѝL|pon⑥7?M6#ۆL(ܭR+a:j}兗 `"sf:bc!yC F-5} \l6۔'" + y7@]EhtuoǾ Y6`tpBa_EJʇ2zsõ/a>ZlV%pOK]<#EІO')9PTyhik@ϟس^'أ?P6xI*N0Tfn1Ժgkf;эc6Eȱ%AJ">KQK~}^*$Y6.%6 "Vwj N@13FW3+?6yF~݂X%*6_zaNBQMDK\j6iFK!9-mSi3V7X}\2Ќ8yȦ`LX$f4@S _̍ pi"[9׾[|G"/c3c4C_qH|Xb*O}!M^;tJ Rh#82Pٺ^A+[ Wt;Z2)WaAOQˣdQ JC#Nϥ(/4D̛C#* 2oe[IYlԨrSmuUe R >hǁI\?&|&T<lc~<<$ ('әl5 n(3qww-WZrdp(jzx(RKEσj>C1{_??1i)"c~;a +OxA P"~ȿp#bg!V7Fv:ѕ"4$yhcDVD8e i!?[s n#ӂ$"?tWݕ8Swsɣ* Y ˑF&SWӻ|iJ${ Zd +|')VC} wTs3g?lcwzFW~XwAqHԎsa.uݬnG*+1+CoĮb(ҍm>C,.biDMF3$$; }ʛLQZ#LKijDSWfEd/~Qѯ掞թӆE4SJp,gJe/6u1P/wp` b9L6 x6Z[ii%wyb(o 8LXvO/Z%I&󞥉S/F*V122 O+y\9A6dcJyߎĺub?&R27ƒF^?rꔢyTEC3)wjd1Bgf8AԀȟQw$dGsJVNFh^I·z-sdLC9@n+C&?\C^levw@܏=I$|jRܔ+V}HI/*KTK4FK/5Fǂm;oĊe&X7?&dDxq\xFm3ZR⻦犟^?dnA6t3iRCgg;V!G~˽SNTT2\Ȱg[_˹ڦI"T{BsnW;}3_؏%~*袶fynÕg'wY 1뙥?ciY\D*XTWGmvkK"=r4}٩ Km'ʢGd˗ZMVunn bkܫk  ڦaĪ\1mW߬xS+"vQeДy*h +AwS JyM +vwőYYb#'% HuTN**Q5c4 TG-ҏP'+H J̞ax//10Y޾MZⳘ D1,7Z*]JGav܉vT!ݵ8Jh#3!=@SkOO[dYXX3vkA2OHyenhp@.W_4SWg +¹ R wu SaMN~Voә<+R>j"i>g K:L`@(\e,A(SlPEǜH@Ķn!Ԍ:aXojXn㋦RK4OR9BesPK'KB,@\}ԄrNڼ*!OϩZObF:'gk`p&FYZT&/w·-Ӌ>]ƇA N&~f:plʳ]$h$qK:sT]V`(w抩_ZB*wm^DπUL}XZ ~:%QN5]9\6ldSg +5ы.a7΂[8'15giVdx<;3p>7 +*Mx lMP®nl@}addH3 +o;ߜ\xaϢɔ;Z]?)}3|ZAքio$y:USJYhW#cHT!\ms\m킝'j2-be[Y)yd<|, 5lnh\Q=ݤ&k KI쪆sm{C!K^)g ͲFOwz`}|^%RgQ Hh435~dZ}h܍A&3Vd6瑴,B姑T7;ǯs{a6ȩFj#Â/cD<[?֔i0ݼ/L^s~p͟7j:{&B?zKh~G7 R7ğ5tyF{h&T>rzIF}m2:+.7!mhQ̾he`9+^Ij9>J_%\S4󋀌p+'ĬV!)Öwr@NS<[/I=jU+ۢNVf@u 7j[~ˌX(7S +endstream +endobj +955 0 obj<>stream +xڭu\lip4 "݌iN%  cLK))t" !Hwu9glz + T)iHJH5 +pQFAARR {HXBZTJZ\ + RBz!a(%_I`3 vi[p!Ey p ;B \!@eBh(k +tkA@@P uaU=pk_33 q +i# P˿S[ӆB`0[{8$sWyB!z0K@m;,j?U05 +Y\PF^ fl0O06ϷGJ`A\dDZ{{%q0zX.;? b AW/oA $hpvH`S$AP$ D@aq! ︸0?2D@vo#;XP4巂uA.?Hj}3XO VrW@le(bb[G:m@PQ/*>  X\$z P_o*`ŇB=[P2<t:ZIC&q%n<&gO~2G~ rKx6~~nd49h{"knt-;:?PbZԓn+_,N933Tl?-f@̭,R,b yJpcޙ}DY!I^wx +VQ%j5Ңr {C$hpĠ_=$*:ۛAjdA%RńS|W+Q^+"bBDUװI +u#4ܻ:$w%̩;[ أbhYCLCl"D$I>S⨃G+U/p͞5273_EM7'ӈHy_q>W$dizP0gKQr!7c@F`}zJlF9tbivg`)r\x:>jɍ,%B ZJ,6GɆ:IXoW՜ѱ \ym~EHj.dh5fG>űRBԫsfu9H .Fʁ%ጪl{`.WB\]O*}VdRNO^sƋtizFA):* O8:N vHPvoWKWc ޚc}*Eo#W 6W< +}A**!/v{cs@ޛ3$}#L^)~RO7ܲÐeg E0Ɵ%ﵱߩ5sw<\B??SOy$ 6Hպs>?9+;Viޞ~l}oxJ!{B]K+u6X憎.xcsu 5/IuímAG)0X53PSs|#eu4է]8,xj 0l +#_ĝm i s2qeb艿GYJݜn\Q(ڦCNo²,cSoފybYD4ԫl͇QD]Cb'Gz d~szZ>$ t#${JY[^Cv>ah^1Wpn5"TCʑPSu?(%g;hdjԣvFa0k:uτז8%r^w}zk8,T }ֆ_*l)K*S㷇Ulv^}jz;ZsCTk&g9uCznC"-q.\!!+U&1 +ĉ}y^-Řŗk2c\"}Jh\]v>$|mBDЦCmšaSú>W~ \E{dh=B0rQl,) ⨓gAl(JT.ߨ;r0'iʭ #ÛrSX^֋&:MLO-T֙Td=$fuwK'x-pE+8HEHO2`y0(' Sy=ҊAi^}\ +ONI:Z*Ӌ^8o_҃vQM?1 _Pbv| rt}?r[){M!=Gx'N޽LhoY)\%i$c̆(O֏l>D쯔3[eOj61>82`#sf@ +R=zT<ѫ)x4oTZLD<e^s>%fI9ǟ=l4Z'& ߂{ u#!X5a1ӣ0QO;\N=8= j:*LIyۑe%vƶY^.)#@+L~XYз'$:~;B&de2I8|)6׏9KW-sLr8KjT-PPx$`iNQì|93`y+^=IZwcXm71 {CNaہb֥` JC)@{Ƿo̯N,*9#ҥtJDP CIMw9gR,2bh>sjL R*9,i*ړcs^aɐh1`D0F:.ŕW Fǻ1SdDi8LRϛ,}n]}4,[A:zj;xYա\f? PNI}>$ra|ޥ\tL)$^&4;GNԻB h hJe@LUX0NU G6{X˟r6s. 2^橿zپG;EfԎ?\MP%];ξTʵ>V{#A}pswa㸬W2q<]$q:0UĽMgezꌁdT_@@T.tǽ Q򙌹r 3Uŗ޶d&- o6͖- yϦGQ0-1۝ 1sz;sUl}t`̞r]OAȝK:7y_HLG_v?R];C*@}`F +t{̬nu.O႒:44*swkctS_xQnS=2c|K9hfzT03i{j'9T3Dzn9cE=3M]]r*=>fQ*D~˕؈(җAŲmيy(ΆV<)H,G"?զ պpure;/y%C,0R8<~)C"ٛ ( %D+@km%cvҖ}bJ۩5K"|/j2UEojEk(1茠hZ|IBPr b笙n xC˜e܅3j5{ofu^kurc־,zbБv{z;;5DMz\7V T-#bq֍pW|@Jӊe& Ĥ±4 {[՝ضD>W!E;5E#|*#4" Uƽz#6? +]5NNï}fptvqV(ϯۯ"]8#Ϫ +Ryђ-ΊP[l 5z8?t'bzˎn&#Kӵ!^8}7)Rܠ +CH .8/T0w>K^"⌨8°5)M9n8{b`qڃyg8 +!Fy5D/7p09QWgP`E!qq$iPѨ[@7{,A-TěPQ;Ж=qoMopZFw/5}9KSDùVCNh$sx'L9  ljQv"{K$?̎r1$(V֝Z SRu7!<\Qne+i5Q(,omQB9 = wԜǒO}iofQѝ^:D )Q}%Tenh }KϟN]UFX?v; +endstream +endobj +956 0 obj<>stream +xڭyϑCG8 A<>HDIO%S_KY@k/wԈߚ1"2\Cp#x~,=3 #b2"Q^8  A$ +1?C"C~TIydHD0u$]$D%6?J̃q4AOQ`vxO&|`C 3L/cIk WΐnFkBiH^_92"A-ʼnOw֠"O0+.;~$ J}|`< eR[;O3MyS>wxԽLv_byг$B%Mh6%{k:y-1K0 |ټ>c@J'e̷'T?/Q-2lwWM 3 +A$]xfS4Xx~l%"%{xj]|PXpt){\-QC~DrY %)`˓:"{Y)]HK\ImvV05 %r^L|SfygR wwBZ ,1vH_Iӄxe]I*;h uiu`!+R]n +:SBscyuWVYLY#+)k^ҺSCP[8oAQ +zɏqormc K|q^ /0q +gyi9qx>LAnulʙzu&Er}PRz`3/NhgY? *mr_+S骒9A4X||U̔8"PФ(7#)m_J -)`+rM"&iYǰ߆6G$!ғb^rQz/V9' +QjovXi(!sRFۀtjT,ӹ=]_u# +5N1SFrX>&?*-O ?-Oɉ Ȥ[ag]#hL|uP*I]mEF^pnfV>gz{^3lWKF'`֐zc8([ʵp 1,f-0QxR"FD5oUTLrKl!b"VKhҦU#bjifm t}$M7pW6d .3ETu9gRwCl-w%W>}%5w`wroy;MJϚ"FYl@ȧHw[⶙ +At'6}5VںU1 DƃY\L-d{ǃ:ڒ2LڙLYEv'u=;FJ Լ_|IGSBJ;tOLInɻnh5o+nYE=%h8+`9q s`1=LpnNlGUMZu5ˊ fjvv/B,zT̎o<ߋrh?jly7^^9])ɽ69B҇ay4"+\كb@74s(ET,$[vj.jJ\Ò Ib_[hUZNPȗb^/vzAkDć4C/D}蓢]z'j}q0sдk#I}gfqrQz}q<@*c󳓵AO~nA{dS33-܅EZEg2,t>|-6%J1zRkZLksy^%( XyN zP-i o0+Il:)ԙ^扽FKR +Mbv^hJ{&~P:C 's\Lz7k#)$Z|2{44oskQ||'e VQ}be +s)#%3yi)MKn.Uǖ[ +#3 kC{evnvDtJ!~rt=<j̕ީT w*L>0hГ*>d+u\Ubg}}vy}]qRgi%r+7eVSʼn,m* Obxрh㟰.IBUL+9|SR#ˤ˱U;7C&WޱL_\<#0bf &w?~JDNvT +P?*檯As5=8x| Ld#_~NO͚MnR΀6{%RvfޒK;ՠ̻,l dB`O7S2`b.]i*`p︮pMr4eJn$to_g{eUiC4{x!^l,J(}8}.%,$_Q$(^='Պ wx}3|sknPo3}ضUZm+DŽ! e@ /t'ԬgpbΕJE}+R?4FV#n ArDg8{\y"i6ϢetnJӁWf~apݩhaw,LC}΄-y7V>iԡiC !p)X7{jsz"V4-'˕&n1vfym${"@ېo)v67ߪb@r8=֨C9G{oouT)"v4Y%)Wɤ"zGBTwc֮LB tYYۂB'7j^zGSl'nG/_$[GŶ,kZ9 :~4Wݻilך詗eZ5r6{|{UɶNϪ~:ƒO|P?sEeLZH M +endstream +endobj +957 0 obj<> +endobj +958 0 obj<> +endobj +959 0 obj<> +endobj +960 0 obj<> +endobj +961 0 obj<> +endobj +962 0 obj<> +endobj +963 0 obj<> +endobj +964 0 obj<> +endobj +965 0 obj<> +endobj +966 0 obj<> +endobj +967 0 obj<> +endobj +968 0 obj<> +endobj +969 0 obj<> +endobj +970 0 obj<> +endobj +971 0 obj<> +endobj +972 0 obj<> +endobj +973 0 obj<> +endobj +974 0 obj<> +endobj +975 0 obj<> +endobj +976 0 obj<> +endobj +977 0 obj<> +endobj +978 0 obj<> +endobj +979 0 obj<> +endobj +980 0 obj<> +endobj +981 0 obj<> +endobj +982 0 obj<> +endobj +983 0 obj<> +endobj +984 0 obj<> +endobj +985 0 obj<> +endobj +986 0 obj<> +endobj +987 0 obj<> +endobj +988 0 obj<> +endobj +989 0 obj<> +endobj +990 0 obj<> +endobj +xref +0 991 +0000000000 65535 f +0000000015 00000 n +0000000112 00000 n +0000000204 00000 n +0000000269 00000 n +0000000321 00000 n +0000000727 00000 n +0000000826 00000 n +0000000925 00000 n +0000001024 00000 n +0000001093 00000 n +0000001195 00000 n +0000001321 00000 n +0000001397 00000 n +0000001473 00000 n +0000001549 00000 n +0000001625 00000 n +0000001701 00000 n +0000001777 00000 n +0000001853 00000 n +0000001929 00000 n +0000002005 00000 n +0000002081 00000 n +0000002157 00000 n +0000002233 00000 n +0000002309 00000 n +0000002385 00000 n +0000004598 00000 n +0000007068 00000 n +0000009058 00000 n +0000009118 00000 n +0000009207 00000 n +0000009269 00000 n +0000009373 00000 n +0000009445 00000 n +0000009511 00000 n +0000011590 00000 n +0000011761 00000 n +0000011892 00000 n +0000012021 00000 n +0000012153 00000 n +0000012283 00000 n +0000012414 00000 n +0000012546 00000 n +0000014838 00000 n +0000014961 00000 n +0000016756 00000 n +0000016879 00000 n +0000019229 00000 n +0000019364 00000 n +0000021857 00000 n +0000021944 00000 n +0000024077 00000 n +0000024212 00000 n +0000026122 00000 n +0000026257 00000 n +0000027707 00000 n +0000027866 00000 n +0000029467 00000 n +0000029566 00000 n +0000031136 00000 n +0000031283 00000 n +0000032899 00000 n +0000034653 00000 n +0000034764 00000 n +0000036783 00000 n +0000038068 00000 n +0000040189 00000 n +0000043712 00000 n +0000043835 00000 n +0000043966 00000 n +0000044097 00000 n +0000044228 00000 n +0000044358 00000 n +0000044488 00000 n +0000044619 00000 n +0000044750 00000 n +0000044881 00000 n +0000045011 00000 n +0000045142 00000 n +0000045273 00000 n +0000045404 00000 n +0000045533 00000 n +0000045665 00000 n +0000045795 00000 n +0000045925 00000 n +0000046055 00000 n +0000046185 00000 n +0000046316 00000 n +0000046447 00000 n +0000046576 00000 n +0000046704 00000 n +0000046834 00000 n +0000046965 00000 n +0000047094 00000 n +0000047225 00000 n +0000047355 00000 n +0000047487 00000 n +0000047617 00000 n +0000047747 00000 n +0000047877 00000 n +0000048010 00000 n +0000048142 00000 n +0000048274 00000 n +0000048405 00000 n +0000048536 00000 n +0000048668 00000 n +0000048799 00000 n +0000048931 00000 n +0000049063 00000 n +0000049194 00000 n +0000049324 00000 n +0000049455 00000 n +0000049587 00000 n +0000049719 00000 n +0000049847 00000 n +0000049979 00000 n +0000050110 00000 n +0000050241 00000 n +0000050373 00000 n +0000050505 00000 n +0000050637 00000 n +0000050770 00000 n +0000050902 00000 n +0000051033 00000 n +0000051165 00000 n +0000051296 00000 n +0000051428 00000 n +0000051558 00000 n +0000051690 00000 n +0000051822 00000 n +0000051954 00000 n +0000052086 00000 n +0000052217 00000 n +0000052349 00000 n +0000052480 00000 n +0000052611 00000 n +0000052742 00000 n +0000052874 00000 n +0000053006 00000 n +0000053138 00000 n +0000053270 00000 n +0000053402 00000 n +0000053534 00000 n +0000053665 00000 n +0000053796 00000 n +0000053927 00000 n +0000054058 00000 n +0000054189 00000 n +0000054322 00000 n +0000054455 00000 n +0000054587 00000 n +0000054719 00000 n +0000054852 00000 n +0000054985 00000 n +0000055118 00000 n +0000055251 00000 n +0000055383 00000 n +0000055515 00000 n +0000055647 00000 n +0000055778 00000 n +0000055910 00000 n +0000056042 00000 n +0000056175 00000 n +0000056306 00000 n +0000056439 00000 n +0000056572 00000 n +0000056705 00000 n +0000056837 00000 n +0000056969 00000 n +0000057101 00000 n +0000057234 00000 n +0000057366 00000 n +0000057499 00000 n +0000057632 00000 n +0000057765 00000 n +0000057898 00000 n +0000058029 00000 n +0000058160 00000 n +0000058291 00000 n +0000058422 00000 n +0000058553 00000 n +0000058684 00000 n +0000058815 00000 n +0000058947 00000 n +0000059078 00000 n +0000059210 00000 n +0000059342 00000 n +0000059474 00000 n +0000059606 00000 n +0000059738 00000 n +0000059871 00000 n +0000060003 00000 n +0000060135 00000 n +0000060266 00000 n +0000060397 00000 n +0000060528 00000 n +0000060661 00000 n +0000060793 00000 n +0000060926 00000 n +0000061059 00000 n +0000061191 00000 n +0000061323 00000 n +0000061456 00000 n +0000061589 00000 n +0000061722 00000 n +0000061855 00000 n +0000061988 00000 n +0000062121 00000 n +0000062253 00000 n +0000062384 00000 n +0000062515 00000 n +0000062648 00000 n +0000062781 00000 n +0000062913 00000 n +0000063046 00000 n +0000063178 00000 n +0000063309 00000 n +0000063441 00000 n +0000063573 00000 n +0000063705 00000 n +0000063837 00000 n +0000063968 00000 n +0000064100 00000 n +0000064233 00000 n +0000064365 00000 n +0000064496 00000 n +0000064628 00000 n +0000064759 00000 n +0000064890 00000 n +0000065020 00000 n +0000065151 00000 n +0000065282 00000 n +0000065412 00000 n +0000065543 00000 n +0000065673 00000 n +0000065806 00000 n +0000065939 00000 n +0000066072 00000 n +0000066203 00000 n +0000066334 00000 n +0000066466 00000 n +0000066596 00000 n +0000066728 00000 n +0000066860 00000 n +0000066991 00000 n +0000067121 00000 n +0000067253 00000 n +0000067385 00000 n +0000067518 00000 n +0000067650 00000 n +0000067783 00000 n +0000067916 00000 n +0000068049 00000 n +0000068181 00000 n +0000068311 00000 n +0000068443 00000 n +0000068575 00000 n +0000068707 00000 n +0000068839 00000 n +0000068971 00000 n +0000069103 00000 n +0000069236 00000 n +0000069368 00000 n +0000069501 00000 n +0000069633 00000 n +0000069765 00000 n +0000069896 00000 n +0000070028 00000 n +0000070160 00000 n +0000070293 00000 n +0000070426 00000 n +0000070559 00000 n +0000070691 00000 n +0000070824 00000 n +0000070957 00000 n +0000071090 00000 n +0000071222 00000 n +0000071354 00000 n +0000071485 00000 n +0000071616 00000 n +0000071748 00000 n +0000071879 00000 n +0000072012 00000 n +0000072142 00000 n +0000072275 00000 n +0000072408 00000 n +0000072541 00000 n +0000072674 00000 n +0000072807 00000 n +0000072940 00000 n +0000073073 00000 n +0000073205 00000 n +0000073335 00000 n +0000073465 00000 n +0000073595 00000 n +0000073724 00000 n +0000073854 00000 n +0000073987 00000 n +0000074118 00000 n +0000074251 00000 n +0000074382 00000 n +0000074514 00000 n +0000074647 00000 n +0000074779 00000 n +0000074910 00000 n +0000075042 00000 n +0000075173 00000 n +0000075304 00000 n +0000075435 00000 n +0000075568 00000 n +0000075700 00000 n +0000075831 00000 n +0000075963 00000 n +0000076096 00000 n +0000076228 00000 n +0000076360 00000 n +0000076493 00000 n +0000076626 00000 n +0000076759 00000 n +0000076892 00000 n +0000077025 00000 n +0000077158 00000 n +0000077291 00000 n +0000077423 00000 n +0000077555 00000 n +0000077687 00000 n +0000077818 00000 n +0000077948 00000 n +0000078080 00000 n +0000078212 00000 n +0000078343 00000 n +0000078474 00000 n +0000078606 00000 n +0000078739 00000 n +0000078872 00000 n +0000079004 00000 n +0000079135 00000 n +0000079267 00000 n +0000079399 00000 n +0000082972 00000 n +0000083073 00000 n +0000083204 00000 n +0000083336 00000 n +0000083468 00000 n +0000083599 00000 n +0000083729 00000 n +0000083858 00000 n +0000083988 00000 n +0000084119 00000 n +0000084251 00000 n +0000084384 00000 n +0000084517 00000 n +0000084649 00000 n +0000084781 00000 n +0000084914 00000 n +0000085046 00000 n +0000085176 00000 n +0000085309 00000 n +0000085442 00000 n +0000085575 00000 n +0000085708 00000 n +0000085841 00000 n +0000085972 00000 n +0000086105 00000 n +0000086237 00000 n +0000086370 00000 n +0000086502 00000 n +0000086633 00000 n +0000086765 00000 n +0000086896 00000 n +0000087027 00000 n +0000087159 00000 n +0000087291 00000 n +0000087424 00000 n +0000087556 00000 n +0000087688 00000 n +0000087820 00000 n +0000087950 00000 n +0000088083 00000 n +0000088215 00000 n +0000088347 00000 n +0000088478 00000 n +0000088610 00000 n +0000088742 00000 n +0000088874 00000 n +0000089006 00000 n +0000089136 00000 n +0000089267 00000 n +0000089398 00000 n +0000089530 00000 n +0000089661 00000 n +0000089793 00000 n +0000089924 00000 n +0000090055 00000 n +0000090187 00000 n +0000090319 00000 n +0000090452 00000 n +0000090585 00000 n +0000090717 00000 n +0000090847 00000 n +0000090977 00000 n +0000091109 00000 n +0000091241 00000 n +0000091373 00000 n +0000091505 00000 n +0000091634 00000 n +0000091766 00000 n +0000091899 00000 n +0000092031 00000 n +0000092163 00000 n +0000092295 00000 n +0000092427 00000 n +0000092560 00000 n +0000092693 00000 n +0000092826 00000 n +0000092959 00000 n +0000093092 00000 n +0000093224 00000 n +0000093357 00000 n +0000093490 00000 n +0000093623 00000 n +0000093755 00000 n +0000093886 00000 n +0000094018 00000 n +0000094149 00000 n +0000094280 00000 n +0000094413 00000 n +0000094546 00000 n +0000094678 00000 n +0000094808 00000 n +0000094941 00000 n +0000095073 00000 n +0000095205 00000 n +0000095335 00000 n +0000095467 00000 n +0000095599 00000 n +0000095731 00000 n +0000095863 00000 n +0000095994 00000 n +0000096126 00000 n +0000096258 00000 n +0000096389 00000 n +0000096520 00000 n +0000096652 00000 n +0000096783 00000 n +0000096915 00000 n +0000097047 00000 n +0000097178 00000 n +0000097310 00000 n +0000097442 00000 n +0000097573 00000 n +0000097703 00000 n +0000097835 00000 n +0000097966 00000 n +0000098098 00000 n +0000098230 00000 n +0000098361 00000 n +0000098493 00000 n +0000098623 00000 n +0000098752 00000 n +0000098882 00000 n +0000099014 00000 n +0000099146 00000 n +0000099278 00000 n +0000099409 00000 n +0000099540 00000 n +0000099671 00000 n +0000099803 00000 n +0000099933 00000 n +0000100064 00000 n +0000100195 00000 n +0000100326 00000 n +0000100457 00000 n +0000100589 00000 n +0000100721 00000 n +0000100853 00000 n +0000100985 00000 n +0000101116 00000 n +0000101248 00000 n +0000101381 00000 n +0000101514 00000 n +0000101646 00000 n +0000101778 00000 n +0000101911 00000 n +0000102043 00000 n +0000102175 00000 n +0000102307 00000 n +0000102440 00000 n +0000102573 00000 n +0000102706 00000 n +0000102839 00000 n +0000102970 00000 n +0000103100 00000 n +0000103232 00000 n +0000103364 00000 n +0000103496 00000 n +0000103629 00000 n +0000103761 00000 n +0000103893 00000 n +0000104025 00000 n +0000104157 00000 n +0000104290 00000 n +0000104423 00000 n +0000104555 00000 n +0000104687 00000 n +0000104817 00000 n +0000104950 00000 n +0000105083 00000 n +0000105216 00000 n +0000105349 00000 n +0000105482 00000 n +0000105615 00000 n +0000105748 00000 n +0000105880 00000 n +0000106011 00000 n +0000106143 00000 n +0000106274 00000 n +0000106406 00000 n +0000106539 00000 n +0000106671 00000 n +0000106804 00000 n +0000106933 00000 n +0000107065 00000 n +0000107197 00000 n +0000107330 00000 n +0000107463 00000 n +0000107594 00000 n +0000107726 00000 n +0000107859 00000 n +0000107991 00000 n +0000108124 00000 n +0000108257 00000 n +0000108388 00000 n +0000108519 00000 n +0000108651 00000 n +0000108783 00000 n +0000108916 00000 n +0000109048 00000 n +0000109180 00000 n +0000109312 00000 n +0000109444 00000 n +0000109577 00000 n +0000109710 00000 n +0000109842 00000 n +0000109974 00000 n +0000110106 00000 n +0000110237 00000 n +0000110369 00000 n +0000110502 00000 n +0000110633 00000 n +0000110765 00000 n +0000110898 00000 n +0000111030 00000 n +0000111162 00000 n +0000111294 00000 n +0000111427 00000 n +0000111558 00000 n +0000111690 00000 n +0000111821 00000 n +0000111953 00000 n +0000112085 00000 n +0000112214 00000 n +0000112345 00000 n +0000112477 00000 n +0000112609 00000 n +0000112740 00000 n +0000112872 00000 n +0000113004 00000 n +0000113136 00000 n +0000113267 00000 n +0000113400 00000 n +0000113533 00000 n +0000113666 00000 n +0000113797 00000 n +0000113929 00000 n +0000114061 00000 n +0000114193 00000 n +0000114325 00000 n +0000114458 00000 n +0000114591 00000 n +0000114724 00000 n +0000114856 00000 n +0000114989 00000 n +0000115122 00000 n +0000115253 00000 n +0000115386 00000 n +0000115519 00000 n +0000115652 00000 n +0000115785 00000 n +0000115917 00000 n +0000116049 00000 n +0000116180 00000 n +0000116313 00000 n +0000116445 00000 n +0000116577 00000 n +0000116710 00000 n +0000116843 00000 n +0000116976 00000 n +0000117109 00000 n +0000117241 00000 n +0000117372 00000 n +0000117503 00000 n +0000117636 00000 n +0000117767 00000 n +0000117898 00000 n +0000118029 00000 n +0000118162 00000 n +0000118295 00000 n +0000118427 00000 n +0000118560 00000 n +0000118693 00000 n +0000118826 00000 n +0000118959 00000 n +0000119092 00000 n +0000119224 00000 n +0000119356 00000 n +0000119489 00000 n +0000119621 00000 n +0000119754 00000 n +0000119885 00000 n +0000120017 00000 n +0000120149 00000 n +0000120282 00000 n +0000120414 00000 n +0000120546 00000 n +0000120677 00000 n +0000120810 00000 n +0000120943 00000 n +0000121076 00000 n +0000121209 00000 n +0000121342 00000 n +0000121474 00000 n +0000121605 00000 n +0000121737 00000 n +0000121868 00000 n +0000122001 00000 n +0000122134 00000 n +0000122266 00000 n +0000122397 00000 n +0000125686 00000 n +0000125816 00000 n +0000125948 00000 n +0000126081 00000 n +0000126213 00000 n +0000126345 00000 n +0000126477 00000 n +0000126610 00000 n +0000126742 00000 n +0000126874 00000 n +0000127006 00000 n +0000127137 00000 n +0000127270 00000 n +0000127401 00000 n +0000127533 00000 n +0000127663 00000 n +0000127796 00000 n +0000127928 00000 n +0000128059 00000 n +0000128191 00000 n +0000128323 00000 n +0000128456 00000 n +0000128587 00000 n +0000128718 00000 n +0000128849 00000 n +0000128980 00000 n +0000129111 00000 n +0000129243 00000 n +0000129374 00000 n +0000129506 00000 n +0000129637 00000 n +0000129769 00000 n +0000129899 00000 n +0000130031 00000 n +0000130163 00000 n +0000130294 00000 n +0000130424 00000 n +0000130555 00000 n +0000130687 00000 n +0000130818 00000 n +0000130950 00000 n +0000131081 00000 n +0000131213 00000 n +0000131345 00000 n +0000131476 00000 n +0000131609 00000 n +0000131740 00000 n +0000131872 00000 n +0000132002 00000 n +0000132134 00000 n +0000132265 00000 n +0000132396 00000 n +0000132527 00000 n +0000132658 00000 n +0000132789 00000 n +0000132920 00000 n +0000133050 00000 n +0000133182 00000 n +0000133313 00000 n +0000133446 00000 n +0000133578 00000 n +0000133709 00000 n +0000133841 00000 n +0000133973 00000 n +0000134104 00000 n +0000134235 00000 n +0000134366 00000 n +0000134497 00000 n +0000134630 00000 n +0000134762 00000 n +0000134894 00000 n +0000135026 00000 n +0000135157 00000 n +0000135290 00000 n +0000135422 00000 n +0000135555 00000 n +0000135685 00000 n +0000135815 00000 n +0000135947 00000 n +0000136080 00000 n +0000136211 00000 n +0000136343 00000 n +0000136476 00000 n +0000136609 00000 n +0000136742 00000 n +0000136875 00000 n +0000137008 00000 n +0000137141 00000 n +0000137274 00000 n +0000137406 00000 n +0000137539 00000 n +0000137671 00000 n +0000137804 00000 n +0000137935 00000 n +0000138068 00000 n +0000138200 00000 n +0000138333 00000 n +0000138464 00000 n +0000138595 00000 n +0000138728 00000 n +0000138860 00000 n +0000138991 00000 n +0000139123 00000 n +0000139256 00000 n +0000139388 00000 n +0000139518 00000 n +0000139650 00000 n +0000139782 00000 n +0000139915 00000 n +0000140048 00000 n +0000140180 00000 n +0000140311 00000 n +0000140443 00000 n +0000140574 00000 n +0000140706 00000 n +0000140838 00000 n +0000140970 00000 n +0000141103 00000 n +0000141234 00000 n +0000141365 00000 n +0000141496 00000 n +0000141629 00000 n +0000141762 00000 n +0000141894 00000 n +0000142027 00000 n +0000142160 00000 n +0000142293 00000 n +0000142422 00000 n +0000142554 00000 n +0000142686 00000 n +0000142818 00000 n +0000142951 00000 n +0000143084 00000 n +0000143217 00000 n +0000143349 00000 n +0000143482 00000 n +0000143615 00000 n +0000143747 00000 n +0000143880 00000 n +0000144013 00000 n +0000144146 00000 n +0000144278 00000 n +0000144410 00000 n +0000144542 00000 n +0000144674 00000 n +0000144807 00000 n +0000144940 00000 n +0000145071 00000 n +0000145201 00000 n +0000145334 00000 n +0000145466 00000 n +0000145598 00000 n +0000145731 00000 n +0000145862 00000 n +0000145995 00000 n +0000146127 00000 n +0000146260 00000 n +0000146392 00000 n +0000146524 00000 n +0000146655 00000 n +0000146788 00000 n +0000146921 00000 n +0000147053 00000 n +0000147185 00000 n +0000147317 00000 n +0000147449 00000 n +0000147581 00000 n +0000147714 00000 n +0000147847 00000 n +0000147980 00000 n +0000148113 00000 n +0000148243 00000 n +0000148375 00000 n +0000148507 00000 n +0000148638 00000 n +0000148770 00000 n +0000148903 00000 n +0000149036 00000 n +0000149166 00000 n +0000149298 00000 n +0000149430 00000 n +0000149562 00000 n +0000149694 00000 n +0000149825 00000 n +0000149958 00000 n +0000150091 00000 n +0000150223 00000 n +0000150356 00000 n +0000150489 00000 n +0000150621 00000 n +0000150751 00000 n +0000150883 00000 n +0000151016 00000 n +0000151149 00000 n +0000151282 00000 n +0000151415 00000 n +0000151547 00000 n +0000151678 00000 n +0000151809 00000 n +0000151942 00000 n +0000152074 00000 n +0000152206 00000 n +0000152339 00000 n +0000152471 00000 n +0000152604 00000 n +0000152736 00000 n +0000152868 00000 n +0000153001 00000 n +0000153133 00000 n +0000153265 00000 n +0000153397 00000 n +0000153529 00000 n +0000153662 00000 n +0000153795 00000 n +0000153928 00000 n +0000154060 00000 n +0000154192 00000 n +0000154324 00000 n +0000154457 00000 n +0000154590 00000 n +0000154723 00000 n +0000154856 00000 n +0000154989 00000 n +0000155122 00000 n +0000155253 00000 n +0000155386 00000 n +0000155518 00000 n +0000155650 00000 n +0000155781 00000 n +0000155913 00000 n +0000156044 00000 n +0000156176 00000 n +0000156308 00000 n +0000156440 00000 n +0000156573 00000 n +0000156706 00000 n +0000156837 00000 n +0000156969 00000 n +0000157100 00000 n +0000157162 00000 n +0000157255 00000 n +0000157318 00000 n +0000157447 00000 n +0000157509 00000 n +0000157594 00000 n +0000157657 00000 n +0000157736 00000 n +0000157980 00000 n +0000158189 00000 n +0000158571 00000 n +0000159020 00000 n +0000159633 00000 n +0000160056 00000 n +0000160231 00000 n +0000160433 00000 n +0000160925 00000 n +0000161266 00000 n +0000161472 00000 n +0000161601 00000 n +0000161990 00000 n +0000162197 00000 n +0000162470 00000 n +0000162600 00000 n +0000162959 00000 n +0000163344 00000 n +0000163527 00000 n +0000163589 00000 n +0000163688 00000 n +0000163751 00000 n +0000163882 00000 n +0000163945 00000 n +0000164025 00000 n +0000164088 00000 n +0000164168 00000 n +0000164372 00000 n +0000164568 00000 n +0000164839 00000 n +0000165102 00000 n +0000165592 00000 n +0000165979 00000 n +0000166171 00000 n +0000166401 00000 n +0000167008 00000 n +0000167237 00000 n +0000167434 00000 n +0000167624 00000 n +0000167877 00000 n +0000168072 00000 n +0000168275 00000 n +0000168468 00000 n +0000168710 00000 n +0000168992 00000 n +0000169226 00000 n +0000169289 00000 n +0000169352 00000 n +0000169415 00000 n +0000169495 00000 n +0000169558 00000 n +0000169638 00000 n +0000173232 00000 n +0000176185 00000 n +0000183012 00000 n +0000189168 00000 n +0000204824 00000 n +0000215267 00000 n +0000217145 00000 n +0000220638 00000 n +0000235360 00000 n +0000236996 00000 n +0000239595 00000 n +0000241235 00000 n +0000247819 00000 n +0000250799 00000 n +0000253744 00000 n +0000255518 00000 n +0000262206 00000 n +0000268416 00000 n +0000272091 00000 n +0000272154 00000 n +0000272234 00000 n +0000272297 00000 n +0000272377 00000 n +0000272439 00000 n +0000272519 00000 n +0000272582 00000 n +0000272662 00000 n +0000272724 00000 n +0000272804 00000 n +0000272867 00000 n +0000272947 00000 n +0000273010 00000 n +0000273090 00000 n +0000273153 00000 n +0000273233 00000 n +0000273296 00000 n +0000273376 00000 n +0000273438 00000 n +0000273518 00000 n +0000273581 00000 n +0000273661 00000 n +0000273723 00000 n +0000273803 00000 n +0000273866 00000 n +0000273946 00000 n +0000274008 00000 n +0000274088 00000 n +0000274151 00000 n +0000274231 00000 n +0000274294 00000 n +0000274374 00000 n +0000274437 00000 n +trailer +<>/Info 5 0 R/ID[(;HNd#j)(> +startxref +274500 +%%EOF diff --git a/Master/texmf-dist/doc/latex/amscls/amsmidx.pdf b/Master/texmf-dist/doc/latex/amscls/amsmidx.pdf new file mode 100644 index 00000000000..910481bad77 Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/amsmidx.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/amsproc.template b/Master/texmf-dist/doc/latex/amscls/amsproc.template new file mode 100644 index 00000000000..2409fc62991 --- /dev/null +++ b/Master/texmf-dist/doc/latex/amscls/amsproc.template @@ -0,0 +1,61 @@ +%----------------------------------------------------------------------- +% Beginning of amsproc.template +%----------------------------------------------------------------------- +% +% AMS-LaTeX v.2 template for use with amsproc +% +% Remove any commented or uncommented macros you do not use. + +\documentclass{amsproc} + +\newtheorem{theorem}{Theorem}[section] +\newtheorem{lemma}[theorem]{Lemma} + +\theoremstyle{definition} +\newtheorem{definition}[theorem]{Definition} +\newtheorem{example}[theorem]{Example} +\newtheorem{xca}[theorem]{Exercise} + +\theoremstyle{remark} +\newtheorem{remark}[theorem]{Remark} + +\numberwithin{equation}{section} + +\begin{document} + +\title{} + +% Remove any unused author tags. + +% author one information +\author{} +\address{} +\curraddr{} +\email{} +\thanks{} + +% author two information +\author{} +\address{} +\curraddr{} +\email{} +\thanks{} + +\subjclass[2000]{Primary } + +\keywords{} + +\date{} + +\dedicatory{} + +\begin{abstract} +\end{abstract} + +\maketitle + +\end{document} + +%----------------------------------------------------------------------- +% End of amsproc.template +%----------------------------------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/amscls/amsrdoc.pdf b/Master/texmf-dist/doc/latex/amscls/amsrdoc.pdf new file mode 100644 index 00000000000..ab9fe5ab91d Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/amsrdoc.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/amsrefs.faq b/Master/texmf-dist/doc/latex/amscls/amsrefs.faq new file mode 100644 index 00000000000..3484e5d13d8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/amscls/amsrefs.faq @@ -0,0 +1,15 @@ +amsrefs.faq [2004/06/30] American Mathematical Society + +Frequently asked questions about the amsrefs package and its companion +packages. + +Suggestions? Please send mail to tech-support@ams.org. + +------------------------------------------------------------------------ +(1) Question: Where should I look for documentation? + +Answer: User documentation is found in the file amsrdoc.pdf (or +amsrdoc.dvi). + +Some example files (cite-xa.tex cite-xb.tex cite-xh.tex cite-xs.tex +gktest.ltb) are also provided. diff --git a/Master/texmf-dist/doc/latex/amscls/amsrefs.pdf b/Master/texmf-dist/doc/latex/amscls/amsrefs.pdf new file mode 100644 index 00000000000..a51b51fef3f Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/amsrefs.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/amsthdoc.pdf b/Master/texmf-dist/doc/latex/amscls/amsthdoc.pdf new file mode 100644 index 00000000000..6a3e9d31147 Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/amsthdoc.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/amsxport.pdf b/Master/texmf-dist/doc/latex/amscls/amsxport.pdf new file mode 100644 index 00000000000..33cb64f81c6 Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/amsxport.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/changes.pdf b/Master/texmf-dist/doc/latex/amscls/changes.pdf new file mode 100644 index 00000000000..c74e7bc063f Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/changes.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/cite-xa.pdf b/Master/texmf-dist/doc/latex/amscls/cite-xa.pdf new file mode 100644 index 00000000000..4b9ce8f1aa9 Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/cite-xa.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/cite-xa.tex b/Master/texmf-dist/doc/latex/amscls/cite-xa.tex new file mode 100644 index 00000000000..d6930f7cbf1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/amscls/cite-xa.tex @@ -0,0 +1,221 @@ +\documentclass{article} +\usepackage[author-year]{amsrefs} + +\newcommand{\latin}{\emph} + +\begin{document} + +\title{Evolutionary walks through a land plant morphospace} +\author{Karl J. Niklas} +\def\jinfo{Journal of Experimental Botany, Vol. 50, No. 330, pp. 39-52, + January 1999, \copyright\ Oxford University Press 1999} + +\maketitle +\section{Introduction} + +Wright's protocol has been successfully recast in terms of spatial +domains containing all (or at least many) of the conceivable +morphological variants (`morphospaces' \latin{sensu} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%Thomas and Reif, 1993). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ocite{TR93}). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +In this paper, I review the construction of a morphospace for early land +plants +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%(Niklas and Kerchner, 1984; Niklas, 1997a, b) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\cites{NK84,N97-adaptive-walks,N97-effects} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +and show how it can be used \ldots. + +\ldots\ horizontally cantilevered branches impose the largest bending +moments on subtending branches +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%(Niklas, 1992, 1994a). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\cites{N92,N94-allometry}. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ldots\ This definition removes the sharp dichotomy said to exist +between `object' and `process' complexity (i.e. the number of different +parts in an organic system versus the number of different interactions +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%among them; McShea, 1996). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +among them \cite{M96}). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ldots\ fossil record for Devonian and Carboniferous vascular land +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%plants (Niklas et al., 1980, 1983; Gensel and Andrews, 1984). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +plants \cites{NTK80,NTK83,GA84}. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{bibsection} +\begin{biblist} + +\bib*{HSW80}{collection}{ + editor={Hecht, M.}, + editor={Steere, W.}, + editor={Wallace, B.}, + date={1980}, + title={Evolutionary biology}, + publisher={Plenum Publishing}, + address={New York}, +} + +\bib{fn95}{article}{ + author={Farnsworth, K. D.}, + author={Niklas, K. J.}, + date={1995}, + title={Theories of optimization, form and function in branching + architectures in plants}, + journal={Functional Ecology}, + volume={9}, + pages={355\ndash 363}, +} + +\typeout{} +\typeout{ [Testing some of the amsrefs warning messages ...]} + +\bib{GMW81}{book}{ + author={Gill, P. E.}, + author={Murray, W.} + author={Wright, M. H.}, + date={1981}, + title={Practical optimization}, + publisher={Academic Press}, + address={London}, +} + +\bib{GA84}{book}{ + author={Gensel, P. G.}, + author={Andrews, H. N.}, + date={1984}, + title={Plant life in the Devonian}, + publisher={Praeger Press}, + address={New York}, +} + +\bib{M96}{article}{ + author={McShea, D. W.}, + date={1996}, + title={Metazoan complexity and evolution: is there a trend}, + journal={Evolution}, + volume={50}, + pages={477\ndash 492}, +} + +\bib{MWWW73}{book}{ + author={Meredith, D. D.}, + author={Wong, K. W.}, + author={Woodhead, R. W.}, + author={Wortman, R. H.}, + date={1973}, + title={Design and planning of engineering systems}, + publisher={Prentice-Hall}, + address={Englewood Cliffs, New Jersey}, +} + +\bib{N92}{book}{ + author={Niklas, K. J.}, + date={1992}, + title={Plant biomechanics: an engineering approach to plant form and + function}, + publisher={University of Chicago Press}, + address={Illinois}, +} + +\bib{N94-allometry}{book}{ + author={Niklas, K. J.}, + date={1994}, + title={Plant allometry: the scaling of form and process}, + publisher={University of Chicago Press}, + address={Illinois}, +} + +\bib{N94-simulation}{article}{ + author={Niklas, K. J.}, + date={1994}, + title={Simulation of organic shape: the roles of phenomenology and + mechanism}, + journal={Journal of Morphology}, + volume={219}, + pages={243\ndash 246}, +} + +\bib{N97-adaptive-walks}{article}{ + author={Niklas, K. J.}, + date={1997}, + title={Adaptive walks through fitness landscapes for early vascular + land plants}, + journal={American Journal of Botany}, + volume={84}, + pages={16\ndash 25}, +} + +\bib{N97-effects}{article}{ + author={Niklas, K. J.}, + date={1997}, + title={Effects of hypothetical developmental barriers and abrupt + environmental changes on adaptive walks in a computer-generated + domain for early vascular land plants}, + journal={Paleobiology}, + volume={23}, + pages={63\ndash 76}, +} + +\bib{NK84}{article}{ + author={Niklas, K. J.}, + author={Kerchner, V.}, + date={1984}, + title={Mechanical and photosynthetic constraints on the evolution of + plant shape}, + journal={Paleobiology}, + volume={10}, + pages={79\ndash 101}, +} + +\bib{NTK80}{article}{ + author={Niklas, K. J.}, + author={Tiffney, B. H.}, + author={Knoll, A. H.}, + date={1980}, + title={Apparent changes in the diversity of fossil plants: a + preliminary assessment}, + xref={HSW80}, + volume={12}, + pages={1\ndash 89}, +} + +\bib{NTK83}{article}{ + author={Niklas, K. J.}, + author={Tiffney, B. H.}, + author={Knoll, A. H.}, + date={1983}, + title={Patterns in vascular land plant diversification}, + journal={Nature}, + volume={303}, + pages={614\ndash 616}, +} + +\bib{TR93}{article}{ + author={Thomas, R. D. K.}, + author={Reif, W.-E.}, + % This is just to show what the warning looks like for an empty field: + author={}, + date={1993}, + title={The skeleton space: a finite set of organic designs}, + journal={Evolution}, + volume={47}, + pages={341\ndash 360}, +} + +\end{biblist} +\end{bibsection} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/amscls/cite-xb.pdf b/Master/texmf-dist/doc/latex/amscls/cite-xb.pdf new file mode 100644 index 00000000000..0b976c63a5d Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/cite-xb.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/cite-xb.tex b/Master/texmf-dist/doc/latex/amscls/cite-xb.tex new file mode 100644 index 00000000000..ab6265a6cec --- /dev/null +++ b/Master/texmf-dist/doc/latex/amscls/cite-xb.tex @@ -0,0 +1,143 @@ +\documentclass{amsart} +\usepackage{amsrefs} + +%\usepackage{dual} % not released yet, needs more work +%\setlength{\dualindent}{-2em} + +\newenvironment{dual}{% + \par\medskip + \trivlist\item[]% +}{% + \endtrivlist +} + +\newcommand{\backup}{% + \vspace*{-\baselineskip}\vspace*{-\medskipamount}\nopagebreak +} + +\newtheorem{thm}{Theorem}[section] + +\begin{document} +\title{Citation tests} +\author{Michael Downes} + + The following examples are derived from + \emph{Homology manifold bordism} by Heather Johnston and Andrew + Ranicki (Trans.\ Amer.\ Math.\ Soc.\ \textbf{352} no 11 (2000), PII: S + 0002-9947(00)02630-1). + +\bigskip \noindent \rule{\columnwidth}{0.5pt}\par + +\setcounter{section}{3} +\begin{dual} +The results of Johnston \cite{Jo} on homology +manifolds are extended here. It is not +possible to investigate transversality by +geometric methods---as in \cite{Jo} we employ +bordism and surgery instead. +\end{dual} + +%Kirby and Siebenmann \cite{KS} (III,\S 1), +\begin{dual} +The proof of transversality is indirect, +relying heavily on surgery theory\mdash see +Kirby and Siebenmann \cite{KS}*{III, \S 1}, +Marin \cite{M} and Quinn \cite{Q3}. We shall +use the formulation in terms of topological +block bundles of Rourke and Sanderson +\cite{RS}. +\end{dual} + +\begin{dual} +$Q$ is a codimension $q$ subspace by Theorem +4.9 of Rourke and Sanderson \cite{RS}. +(Hughes, Taylor and Williams \cite{HTW} +obtained a topological regular neighborhood +theorem for arbitrary submanifolds \dots.) +\end{dual} + +%Wall \cite{Wa} (Chapter 11) obtained a +\begin{dual} +Wall \cite{Wa}*{Chapter 11} obtained a +codimension $q$ splitting obstruction \dots. +\end{dual} + +\begin{dual} +\dots\ following the work of Cohen \cite{Co} +on $PL$ manifold transversality. +\end{dual} + +\begin{dual} +In this case each inverse image is +automatically a $PL$ submanifold of +codimension $\sigma$ (Cohen \cite{Co}), so +there is no need to use $s$-cobordisms. +\end{dual} + +%Quinn (\cite{Q2}, 1.1) proved that \dots +\begin{dual} +Quinn \cite{Q2}*{1.1} proved that \dots +\end{dual} + +\begin{dual}\backup +\begin{thm}[The additive structure of + homology manifold bordism, Johnston + \cite{Jo}] +\dots +\end{thm} +\end{dual} + +\begin{dual} +For $m\geq 5$ the Novikov-Wall surgery theory +for topological manifolds gives an exact +sequence (Wall \cite{Wa}*{Chapter 10}. +\end{dual} + +\begin{dual} +The surgery theory of topological manifolds +was extended to homology manifolds in Quinn +\cites{Q1,Q2} and Bryant, Ferry, Mio +and Weinberger \cite{BFMW}. +\end{dual} + +\begin{dual} +The 4-periodic obstruction is equivalent to +an $m$-dimensional homology manifold, by +\cite{BFMW}. +\end{dual} + +\begin{dual} +Thus, the surgery exact sequence of +\cite{BFMW} does not follow Wall \cite{Wa} in +relating homology manifold structures and +normal invariants. +\end{dual} + +\begin{dual} +\dots\ the canonical $TOP$ reduction +(\cite{FP}) of the Spivak normal fibration of +$M$ \dots +\end{dual} + +\begin{dual}\backup +\begin{thm}[Johnston \cite{Jo}] +\dots +\end{thm} +\end{dual} + +\begin{dual} +Actually \cite{Jo}*{(5.2)} is for $m\geq 7$, +but we can improve to $m\geq 6$ by a slight +variation of the proof as described below. +\end{dual} + +\begin{dual} +(This type of surgery on a Poincar\'e space +is in the tradition of Lowell Jones +\cite{Jn}.) +\end{dual} + +\bibliographystyle{amsxport} +\bibliography{jr} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/amscls/cite-xh.pdf b/Master/texmf-dist/doc/latex/amscls/cite-xh.pdf new file mode 100644 index 00000000000..35875c6e396 Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/cite-xh.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/cite-xh.tex b/Master/texmf-dist/doc/latex/amscls/cite-xh.tex new file mode 100644 index 00000000000..e6bc80cc6aa --- /dev/null +++ b/Master/texmf-dist/doc/latex/amscls/cite-xh.tex @@ -0,0 +1,154 @@ +%&pdfelatex +%% This is intended to be a working example of using the amsrefs +%% backrefs option in conjunction with hyperref. It works for me using +%% pdflatex [mjd,2002-01-03]. Cf testbib.tex in the hyperref distrib. +%% +%% This is pdfTeX, Version 3.14159-14h-released-20010417 (Web2C 7.3.3.1) +%% (format=pdflatex 2001.12.21) +%% Package: hyperref 2000/01/22 v6.69c Hypertext links for LaTeX + +\documentclass{article} +\usepackage{times} +\usepackage[colorlinks,citecolor=red,pagebackref,hypertexnames=false]{hyperref} +\usepackage[backrefs]{amsrefs} + +\newenvironment{dual}{% + \par\medskip + \trivlist\item[]% +}{% + \endtrivlist +} + +\newcommand{\backup}{% + \vspace*{-\baselineskip}\vspace*{-\medskipamount}\nopagebreak +} + +\newtheorem{thm}{Theorem}[section] + +\providecommand{\MR}{} + +\begin{document} +\title{Testing amsrefs with the hyperref package} +\author{MJD} +\maketitle + + The following examples are derived from + \emph{Homology manifold bordism} by Heather Johnston and Andrew + Ranicki (Trans.\ Amer.\ Math.\ Soc.\ \textbf{352} no 11 (2000), PII: S + 0002-9947(00)02630-1). + +\setcounter{section}{3} +\section{Homology manifold bordism} + +\begin{dual} +The results of Johnston \cite{Jo} on homology +manifolds are extended here. It is not +possible to investigate transversality by +geometric methods---as in \cite{Jo} we employ +bordism and surgery instead. +\end{dual} + +%Kirby and Siebenmann \cite{KS} (III,\S 1), +\begin{dual} +The proof of transversality is indirect, +relying heavily on surgery theory\mdash see +Kirby and Siebenmann \cite{KS}*{III, \S 1}, +Marin \cite{M} and Quinn \cite{Q3}. We shall +use the formulation in terms of topological +block bundles of Rourke and Sanderson +\cite{RS}. +\end{dual} + +\begin{dual} +$Q$ is a codimension $q$ subspace by Theorem +4.9 of Rourke and Sanderson \cite{RS}. +(Hughes, Taylor and Williams \cite{HTW} +obtained a topological regular neighborhood +theorem for arbitrary submanifolds \dots.) +\end{dual} + +%Wall \cite{Wa} (Chapter 11) obtained a +\begin{dual} +Wall \cite{Wa}*{Chapter 11} obtained a +codimension $q$ splitting obstruction \dots. +\end{dual} + +\begin{dual} +\dots\ following the work of Cohen \cite{Co} +on $PL$ manifold transversality. +\end{dual} + +\begin{dual} +In this case each inverse image is +automatically a $PL$ submanifold of +codimension $\sigma$ (Cohen \cite{Co}), so +there is no need to use $s$-cobordisms. +\end{dual} + +%Quinn (\cite{Q2}, 1.1) proved that \dots +\begin{dual} +Quinn \cite{Q2}*{1.1} proved that \dots +\end{dual} + +\begin{dual}\backup +\begin{thm}[The additive structure of + homology manifold bordism, Johnston + \cite{Jo}] +\dots +\end{thm} +\end{dual} + +\begin{dual} +For $m\geq 5$ the Novikov-Wall surgery theory +for topological manifolds gives an exact +sequence (Wall \cite{Wa}*{Chapter 10}. +\end{dual} + +\begin{dual} +The surgery theory of topological manifolds +was extended to homology manifolds in Quinn +\cites{Q1,Q2} and Bryant, Ferry, Mio +and Weinberger \cite{BFMW}. +\end{dual} + +\begin{dual} +The 4-periodic obstruction is equivalent to +an $m$-dimensional homology manifold, by +\cite{BFMW}. +\end{dual} + +\begin{dual} +Thus, the surgery exact sequence of +\cite{BFMW} does not follow Wall \cite{Wa} in +relating homology manifold structures and +normal invariants. +\end{dual} + +\begin{dual} +\dots\ the canonical $TOP$ reduction +(\cite{FP}) of the Spivak normal fibration of +$M$ \dots +\end{dual} + +\begin{dual}\backup +\begin{thm}[Johnston \cite{Jo}] +\dots +\end{thm} +\end{dual} + +\begin{dual} +Actually \cite{Jo}*{(5.2)} is for $m\geq 7$, +but we can improve to $m\geq 6$ by a slight +variation of the proof as described below. +\end{dual} + +\begin{dual} +(This type of surgery on a Poincar\'e space +is in the tradition of Lowell Jones +\cite{Jn}.) +\end{dual} + +\bibliographystyle{amsxport} +\bibliography{jr} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/amscls/cite-xs.pdf b/Master/texmf-dist/doc/latex/amscls/cite-xs.pdf new file mode 100644 index 00000000000..10f96251fa4 Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/cite-xs.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/cite-xs.tex b/Master/texmf-dist/doc/latex/amscls/cite-xs.tex new file mode 100644 index 00000000000..15167b3b9f1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/amscls/cite-xs.tex @@ -0,0 +1,19 @@ +\documentclass{amsart} +\usepackage{amsrefs} + +\begin{document} + +\section{Introduction} + +A single cite \cite{MR1451594} +and a multiple \cites{Weyl,Gould,Rob,MR95f:17013,Ser77}. +And then with an option in the middle: +\citelist{\cite{Rob} \cite{Gould} \cite{MR95f:17013}*{Chapter 18}}. + +\begin{bibsection} +\begin{biblist} +\bibselect{gktest} +\end{biblist} +\end{bibsection} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/amscls/diffs-c.txt b/Master/texmf-dist/doc/latex/amscls/diffs-c.txt new file mode 100644 index 00000000000..55a1c98793e --- /dev/null +++ b/Master/texmf-dist/doc/latex/amscls/diffs-c.txt @@ -0,0 +1,319 @@ +diffs-c.txt [2004/08/06] + +History of changes for AMS document classes, the amsthm package, and +other packages distributed in this collection. + +======================================================================== +Differences in amsthm 2.20 (August 2004) + +---Added a fallback definition for \swappedhead@plain (used in + amsthm.sty 1.x). + +---For \proofname, changed from \newcommand to \providecommand in case + it's already defined. + +---Improved the handling of \qed when the [fleqn] option is used. + +---Avoid using \@elt in qed stack because LaTeX output routine falls + over if triggered when something else is using \@elt. + +======================================================================== +Differences in amsart/amsbook/amsproc 2.20 (August 2004) + +---Removed dependency on amsgen package. + +---Added warning message about graphics when draft option is used. + +---Added a check for \ifhmode when adding punctuation, and provided + \nopunct for omitting punctuation when not wanted. + +---Made \small, \Small, etc., robust in case they are used in a + \caption. + +---Changed handling of author names to prevent line breaks within + names. + +---For author URLs, made ~ a printable character. + +---amsart, amsproc: Defined \@logofont and \@copyinsfont and moved font + instructions out of \set@logo and \@setcopyright, to simplify style + changes in derivative classes. + +---Added \copyins to \@reinserts so that it would be included in the + page length calculation when a float is input on the first page + +!! This change may affect line breaks and page breaks. + +---Added provision for an extra line following the copyright line with + \@extracrline (for use in derivative classes). + +---amsart, amsproc: Added \contrib (similar to \author) to handle names + of persons who provided, e.g., an introduction or appendix. Usage: + \contrib[with Appendix 1 by]{John Smith} + \contrib[and Appendix 2 by]{Henry Moore} + \contrib{Roger Williams} + This will be set as part of the author block: + ...[authors]..., with Appendix 1 by John Smith, and Appendix 2 + by Henry Moore and Roger Williams + Contributors are ignored when generating running heads. + +---Added \thanks@warning in case \thanks is included in \author. + +---Added \markleft to permit easy changes to left running head only. + +---Defined \@cleartopmattertags and moved commands to do this out of + \maketitle. + +---Added OT1 defaults for \DH, \dh, \DJ, \dj (ordinarily in T1 only). + +---Added braces to limit scope of \uppercasenonmath. + +---Segregated definition of administrative footnotes (\@adminfootnotes) + to permit easier customization for derivative document styles. + +---amsart: When subsection has no title, made number bold. + +---Fixed the handling of theorem head punctuation when \swapnumbers is + used. Used \thm@headsep instead of \labelsep for theorem heads. + +---Provided \@citestyle and \citeform to simplify change of font used + in citation. + +---Provided \bibliofont to allow author to make change. + +---Provided \@bibtitlestyle, \@defaultbiblabelstyle and + \@indextitlestyle to simplify style changes. + +---Changed output format of \MR to recognize change in format of + MathSciNet reference numbers; output is now all lightface instead + of having a bold volume number. + +!! This change will result in a change of appearance. + +---Reset \chaptername with \backmatter to avoid spurious "Appendix" in + t-of-c. + +---Added \indexintro to allow a block of text at the top of an index. + +---Made index ragged right and suppressed hyphenation. + +---Added \seeonly = "see" to get around unfortunate use of \see for + "see also"; added \seealso (from makeindex) for compatibility with + material originally set with a LaTeX document class. + +======================================================================== +Differences in upref 2.0 (July 2004) + +---Package will now work with hyperref, regardless of package input + order. + +======================================================================== +======================================================================== +Differences in amsthm 2.0 (November 1999) + +---Allow line breaks in theorem headings (added \deferred@thm@head and + related code). + +---Make \end{proof} force end of paragraph so following text is + indented (oversight in version 1.2). + +!! This change may affect line breaks and page breaks. + +---Added \qedhere command for flush-right QED symbol in displayed + equations. + +---Added amsthdoc.tex documentation file (taken from amsldoc.tex). + +---Merged amsthm.dtx into amsclass.dtx. + +======================================================================== +Differences in amsart/amsbook/amsproc 2.0 (November 1999) + +---Corrected erroneous default style for labelenumi (should be parens + instead of period); increase list left margins slightly. + +!! To revert to former style: \renewcommand{\labelenumi}{\theenumi.} + +---amsart: For "swapped" theorem heads (numbers shifted to the left + margin) the number font was changed to lightface to match subsection + numbers. This is an AMS journal style requirement---old behavior was + incorrect. + +!! This change may affect line breaks and page breaks. + +---Overfull \vbox messages for every other page: increased headheight + +---Added openany option for amsbook + +---Moved erroneously placed \endgroup in \curraddr, \email and \urladdr + +---Added a year option to \subjclass (default to 1991 for backward + compatibility). + +---For \cleardoublepage, use \pagestyle{empty} for blank pages. + +---Empty argument of \thanks: do nothing instead of printing an empty + footnote. + +---Clear up contradictory font size commands for abstract; always + \Small, + +---Omit final punctuation for \section{} head containing only a number. + +---Added \contentsnamefont to make changes easier. + +---Read a .cfg file. + +---Changed \parindent\z@ to \@parboxrestore in \@serieslogo to avoid + side effects depending on context of pagebreaks. + +---Use \protect instead of \@nx in \@secmark. + +---Moved \thispagestyle{firstpage} closer to beginning of \maketitle to + assure that the logo will be set on the first page if long abstract + breaks to second page (for derivative classes that don't box the + abstract). + +---Added support for paragraph, subparagraph. + +---In \partrunhead, added \ignorespaces, \unskip. + +---In \@starttoc, set \parskip to zero. + +---In \indexchap, rearranged commands to fix vertical spacing for + title; wrong \baselineskip was being used, resulting in title 6pt + too low. + +---Footnote failure in minipage: Changed \@makefnmark so that it + doesn't use math mode. + +---Added figure* and table* environments + +---Revised \@cflci to do the right thing with drop folio at the end of + a two-column page. + +---Incorporate amsthm package by direct embedding instead of + \RequirePackage. + +---Added missing default definition for \MRhref. + +---Use \MakeTextUppercase if available to handle latin-1 characters in + author names. + +---amsbook: Print keywords and date info on title-page obverse if + given. + +---Added various features for AMS in-house use: \dateposted, e-only + option, \Mc, etc. + +======================================================================== +Differences in amsart/amsbook/amsproc 1.2 (January 1995) + +---Documentation + +The documentation for the AMS documentclasses, formerly contained in +amslatex.tex, is now found in instr-l.tex in the amslatex/classes area. +This is a copy of the file instr-l.tex that is found in the author-info +area of e-math.ams.org. That area contains additional information +pertaining specifically to the submission of LaTeX or AmS-TeX documents +to AMS publications. + +---New documentclass "amsproc". + +A document class amsproc has been added for books that consist of a +collection of articles, such as the proceedings of a conference. + +---Different placement of "abstract" environment. + +The abstract should now be entered *before* the \maketitle command. +This provides maximum control over the position and vertical spacing +when printing the abstract information at different places, as required +by different AMS publications---for example, in some publications the +abstract may be required to fall between certain other elements in the +beginning section of a document, or it may be postponed to the end of +the document, or it might even be omitted entirely. If an abstract is +entered after \maketitle, it will still be printed, but with a warning +(and possibly in the wrong place or with wrong spacing). + +---Treatment of the @ character. + +As the AMS document classes automatically load the amsmath package, all +changes for amsmath 1.2 affect the AMS classes also. Note in particular +that the @ character is no longer a special command prefix, so to +produce a printed @ in an e-mail address you should now write simply +@ instead of @@. + +---The nonbreaking dash commands @-, @--, @--- are no longer available +because @ as a special command prefix has disappeared. An alternative +\nobreakdash command is provided in the amsmath package. + +---Added "nomath" option. + +The AMS document classes now take an option nomath that suppresses +the automatic loading of the amsmath package. This is sometimes helpful +in converting a pre-existing document to AMS style if you only want to +do a quick conversion without attempting to deal with any of the math. + +---Theorem handling. + +Theorem setup is now handled by the amsthm package instead of the +"theorem" package. \theorembodyfont, \theoremheaderfont, etc are not +used any more. See amsldoc.tex and thmtest.tex for details. + +---The old environments pf, pf* are superseded by a single proof +environment. It takes an optional argument to specify an alternative +heading text. + +If you are converting an older document to run with \documentclass +instead of \documentstyle, here is how you could provide +backward-compatible definitions for pf and pf*: + + \newenvironment{pf}{\proof[\proofname]}{\endproof} + \newenvironment{pf*}[1]{\proof[#1]}{\endproof} + +---\small now produces 9pt text; \tiny now produces 6pt text + +Formerly \small produced the same typesize as \footnotesize (8pt). Now +they produce different sizes, normally 9 and 8 respectively. Also the +range of typesize-changing commands is filled out to include, below +\normalsize, the following: \small, \Small, \SMALL, \tiny, \Tiny. +\footnotesize and \scriptsize are retained as synonyms of \Small and +\SMALL respectively. As it stands \tiny no longer produces the same +typesize as it did before (now 6 instead of 5), except in compatibility +mode. This might affect some existing documents if they are updated to +use \documentclass instead of \documentstyle. Similarly, \large now +produces 11pt if the base size is 10pt, where formerly it produced +12pt. + +New commands \larger and \smaller are provided for changing the +typesize relative to the current size. These commands take an optional +integer argument to specify how many steps to go up or down: \larger[2] +means go up two sizes, and \larger without an optional argument is the +same as \larger[1]. The list of sizes is a standard progression of +type sizes and associated linespacing values as defined by the +documentclass. If you need finer control over type size or linespacing, +consult the LaTeX documentation about the \fontsize command. + +---Extra documentclass options 8pt, 9pt, 11pt, 12pt + +---The \qed symbol is now an open square + +The \qed symbol is no longer a filled black square, but an open square, +and it is positioned at the right margin, instead of at a fixed +horizontal distance from the preceding text. If the \qed command is +used inside a displayed equation, however, it will be placed at a fixed +distance from the preceding material (correct placement in this case is +limited by some technical difficulties). + +---The command \rom was renamed to \upn. + +The command \rom, for making numbers and punctuation roman/upright in +italic text, has been renamed \upn ``upright punctuation or number''. +It will in most cases suffice to leave this refinement undone until a +document is sent to a publisher for final typesetting, and furthermore, +certain publications at the AMS now use special in-house italic fonts +that have upright numbers and punctuation built in, making the use of +\upn unnecessary even then. For general preprint-type use, this +refinement is one that most users probably won't care to bother with. + +======================================================================== diff --git a/Master/texmf-dist/doc/latex/amscls/gktest.ltb b/Master/texmf-dist/doc/latex/amscls/gktest.ltb new file mode 100644 index 00000000000..4236749372b --- /dev/null +++ b/Master/texmf-dist/doc/latex/amscls/gktest.ltb @@ -0,0 +1,440 @@ +\documentclass{amsbook} +\usepackage{amsrefs} +\providecommand{\cyr}{} +\providecommand{\cprime}{\textprime} +\providecommand{\germ}{\mathfrak } + +\begin{document} +\begin{bibdiv} +\begin{biblist} + +\bib{MR58:27738}{book}{ + author={Andrews, G.~E.}, + title={The theory of partitions}, + publisher={Encyclopedia of Mathematics and its Applications, Vol. 2, + Addison-Wesley, Mass.-London-Amsterdam}, + date={1976}, +} + +\bib{MR90b:82001}{book}{ + author={Baxter, R.~J.}, + title={Exactly solved models in statistical mechanics}, + publisher={Academic Press Inc.}, + address={London}, + date={1989}, + ISBN={0-12-083182-1}, +} + +\bib{MR1451594}{article}{ + author={Benkart, G.}, + author={Kang, S.-J.}, + author={Melville, D.}, + title={Quantized enveloping algebras for Borcherds superalgebras}, + date={1998}, + ISSN={0002-9947}, + journal={Trans. Amer. Math. Soc.}, + volume={350}, + number={8}, + pages={3297\ndash 3319}, +} + +\bib{MR95d:17023}{article}{ + author={Benkart, G.}, + author={Kang, S.-J.}, + author={Misra, K.~C.}, + title={Indefinite Kac-Moody algebras of classical type}, + date={1994}, + ISSN={0001-8708}, + journal={Adv. Math.}, + volume={105}, + number={1}, + pages={76\ndash 110}, +} + +\bib{MR93d:17017}{article}{ + author={Chari, V.}, + author={Pressley, A.}, + title={Quantum affine algebras}, + date={1991}, + ISSN={0010-3616}, + journal={Comm. Math. Phys.}, + volume={142}, + number={2}, + pages={261\ndash 283}, +} + +\bib{MR26:2519}{book}{ + author={Curtis, Charles~W.}, + author={Reiner, Irving}, + title={Representation theory of finite groups and associative algebras}, + publisher={Interscience Publishers, a division of John Wiley \& Sons, New + York-London}, + date={1962}, + review={\MR{26 \#2519}}, +} + +\bib{Dr86}{incollection}{ + author={Drinfel$'$d, V.~G.}, + title={Quantum Groups}, + date={1987}, +conference={ + title={Proceedings of the International Congress of Mathematicians}, + address={Berkeley}, + date={1986} +}, + publisher={American Mathematical Society, Providence}, + pages={798\ndash 820}, +} + +\bib{MR94d:17032}{article}{ + author={Feingold, A.~J.}, + author={Frenkel, I.~B.}, + author={Ries, J.~F.~X.}, + title={Representations of hyperbolic Kac-Moody algebras}, + date={1993}, + ISSN={0021-8693}, + journal={J. Algebra}, + volume={156}, + number={2}, + pages={433\ndash 453}, +} + +\bib{MR84f:17004}{article}{ + author={Frenkel, I.~B.}, + author={Kac, V.~G.}, + title={Basic representations of affine Lie algebras and dual resonance + models}, + date={1981}, + ISSN={0020-9910}, + journal={Invent. Math.}, + volume={62}, + number={1}, + pages={23\ndash 66}, +} + +\bib{Gould}{article}{ + author={Gould, M.~D.}, + author={Zhang, R.~B.}, + author={Bracken, A.~J.}, + title={Quantum double construction for graded Hopf algebras}, + date={1993}, + journal={Bull. Austral. Math. Soc.}, + volume={47}, + pages={353\ndash 375}, +} + +\bib{MR1633090}{article}{ + author={Hong, J.}, + author={Kang, S.-J.}, + author={Miwa, T.}, + author={Weston, R.}, + title={Mixing of ground states in vertex models}, + date={1998}, + ISSN={0305-4470}, + journal={J. Phys. A}, + volume={31}, + number={28}, + pages={L515\ndash L525}, +} + +\bib{Jac1}{book}{ + author={Jacobson, N.}, + title={Basic algebra II}, + publisher={W. H. Freeman and Company}, + address={San Francisco}, + date={1980}, + ISBN={0-7167-1079-X (v. 2)}, +} + +\bib{MR98k:17037}{article}{ + author={Jeong, K.}, + author={Kang, S.-J.}, + author={Lee, H.}, + title={Lie-admissible algebras and Kac-Moody algebras}, + date={1997}, + ISSN={0021-8693}, + journal={J. Algebra}, + volume={197}, + number={2}, + pages={492\ndash 505}, +} + +\bib{Joseph}{book}{ + author={Joseph, A.}, + title={Quantum groups and their primitive ideals}, + publisher={Springer-Verlag}, + address={Berlin}, + date={1995}, + ISBN={3-540-57057-8}, +} + +\bib{Kac90}{book}{ + author={Kac, V.~G.}, + title={Infinite dimensional Lie algebras}, + edition={3}, + publisher={Cambridge University Press}, + address={Cambridge}, + date={1990}, + ISBN={0-521-37215-1; 0-521-46693-8}, +} + +\bib{KMW}{incollection}{ + author={Kac, V.~G.}, + author={Moody, R.~V.}, + author={Wakimoto, M.}, + title={On ${E}\sb {10}$}, + date={1988}, +conference={ + title={Differential geometrical methods in theoretical physics}, + address={Como}, + date={1987} +}, + publisher={Kluwer Acad. Publ.}, + address={Dordrecht}, + pages={109\ndash 128}, +} + +\bib{Ka93-1}{article}{ + author={Kang, S.-J.}, + title={Root multiplicities of the hyperbolic Kac-Moody Lie algebra + $HA\sp{(1)}\sb 1$}, + date={1993}, + ISSN={0021-8693}, + journal={J. Algebra}, + volume={160}, + number={2}, + pages={492\ndash 523}, +} + +\bib{MR94d:17033}{article}{ + author={Kang, S.-J.}, + title={On the hyperbolic Kac-Moody Lie algebra $HA\sb 1\sp + {(1)}$}, + date={1994}, + ISSN={0002-9947}, + journal={Trans. Amer. Math. Soc.}, + volume={341}, + number={2}, + pages={623\ndash 638}, +} + +\bib{MR97e:17041}{incollection}{ + author={Kang, S.-J.}, + title={Root multiplicities of graded Lie algebras}, + date={1996}, +conference={ + title={Lie algebras and their representations}, + address={Seoul}, + date={1995}, +}, + publisher={Amer. Math. Soc.}, + address={Providence, RI}, + pages={161\ndash 176}, +} + +\bib{MR1641035}{article}{ + author={Kang, S.-J.}, + author={Kashiwara, M.}, + title={Quantized affine algebras and crystals with core}, + date={1998}, + ISSN={0010-3616}, + journal={Comm. Math. Phys.}, + volume={195}, + number={3}, + pages={725\ndash 740}, +} + +\bib{MR93g:17027}{article}{ + author={Kang, S.-J.}, + author={Kashiwara, M.}, + author={Misra, K.~C.}, + author={Miwa, T.}, + author={Nakashima, T.}, + author={Nakayashiki, A.}, + title={Vertex models and crystals}, + date={1992}, + ISSN={0764-4442}, + journal={C. R. Acad. Sci. Paris S\'er. I Math.}, + volume={315}, + number={4}, + pages={375\ndash 380}, +} + +\bib{MR1464137}{article}{ + author={Kang, S.-J.}, + author={Kim, M.-H.}, + title={Borcherds superalgebras and a monstrous Lie superalgebra}, + date={1997}, + ISSN={0025-5831}, + journal={Math. Ann.}, + volume={307}, + number={4}, + pages={677\ndash 694}, +} + +\bib{MR95f:17013}{article}{ + author={Kang, S.-J.}, + author={Misra, K.~C.}, + title={Crystal bases and tensor product decompositions of $U\sb q(G\sb + 2)$-modules}, + date={1994}, + ISSN={0021-8693}, + journal={J. Algebra}, + volume={163}, + number={3}, + pages={675\ndash 691}, +} + +\bib{Kash90}{article}{ + author={Kashiwara, M.}, + title={Crystalizing the $q$-analogue of universal enveloping algebras}, + date={1990}, + journal={Comm. Math. Phys.}, + volume={133}, + pages={249\ndash 260}, +} + +\bib{Keng82}{book}{ + author={Keng, H.~L.}, + title={Introduction to number theory}, + publisher={Springer-Verlag}, + date={1982}, +} + +\bib{Wang}{article}{ + author={Li, W.~L.}, + title={Classification of generalized Cartan matrices of hyperbolic + type}, + date={1988}, + journal={Chinese Ann. Math. Ser. B}, + volume={9}, + number={1}, + pages={68\ndash 77}, +} + +\bib{MR98a:20041}{incollection}{ + author={Littelmann, P.}, + title={An effective method to classify nilpotent orbits}, + date={1996}, +conference={ + title={Algorithms in algebraic geometry and applications}, + address={Santander}, + year={1994} +}, + publisher={Birkh\"auser}, + address={Basel}, + pages={255\ndash 269}, +} + +\bib{MR2000d:17019}{article}{ + author={Littelmann, P.}, + title={Bases canoniques et applications}, + date={1998}, + ISSN={0303-1179}, + journal={Ast\'erisque}, + number={252}, + pages={Exp.\ No.\ 847, 5, 287\ndash 306}, + note={S\'eminaire Bourbaki. Vol.\ 1997/98}, +} + +\bib{MR92d:16032}{article}{ + author={Littelmann, P.}, + author={Procesi, C.}, + title={On the Poincar\'e series of the invariants of binary forms}, + date={1990}, + ISSN={0021-8693}, + journal={J. Algebra}, + volume={133}, + number={2}, + pages={490\ndash 499}, +} + +\bib{MR92g:20067}{incollection}{ + author={Littelmann, Peter}, + title={Good filtrations, decomposition rules and standard monomial + theory}, + date={1991}, +conference={ + title={Computational aspects of Lie group representations and + related topics}, + address={Amsterdam}, + date={1990} +}, + publisher={Math. Centrum Centrum Wisk. Inform.}, + address={Amsterdam}, + pages={89\ndash 106}, +} + +\bib{MR92b:14027}{incollection}{ + author={Littelmann, Peter}, + author={Procesi, Claudio}, + title={Equivariant cohomology of wonderful compactifications}, + date={1990}, +conference={ + title={Operator algebras, unitary representations, enveloping + algebras, and invariant theory}, + address={Paris}, + date={1989} +}, + publisher={Birkh\"auser Boston}, + address={Boston, MA}, + pages={219\ndash 262}, +} + +\bib{MR94m:17016}{book}{ + author={Lusztig, G.}, + title={Introduction to quantum groups}, + publisher={Birkh\"auser Boston Inc.}, + address={Boston, MA}, + date={1993}, + ISBN={0-8176-3712-5}, +} + +\bib{Nak96}{article}{ + author={Nakayashiki, A.}, + title={Fusion of the $q$-vertex operators and its applications + to solvable vertex models}, + date={1996}, + ISSN={0010-3616}, + journal={Commun. Math. Phys.}, + volume={177}, + number={2}, + pages={27\ndash 62}, +} + +\bib{Rob}{article}{ + author={Robinson, D.}, + title={On representations of the symmetric group}, + date={1938}, + journal={Amer. J. Math.}, + volume={60}, + pages={745\ndash 760}, +} + +\bib{Ser77}{book}{ + author={Serre, J.-P.}, + title={Linear representations of finite groups}, + publisher={Springer-Verlag}, + date={1977}, +} + +\bib{Weyl}{book}{ + author={Weyl, H.}, + title={Classical groups}, + edition={2}, + publisher={Princeton University Press}, + date={1946}, +} + +\bib{Young4}{article}{ + author={Young, A.}, + title={On quantitative substitutional analysis IV}, + date={1929}, + journal={Proc. Lond. Math. Soc. (2)}, + volume={31}, + pages={253\ndash 272}, +} + +\end{biblist} +\end{bibdiv} +\end{document} diff --git a/Master/texmf-dist/doc/latex/amscls/ifoption.pdf b/Master/texmf-dist/doc/latex/amscls/ifoption.pdf new file mode 100644 index 00000000000..f3af028506d Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/ifoption.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/instr-l.pdf b/Master/texmf-dist/doc/latex/amscls/instr-l.pdf new file mode 100644 index 00000000000..cf26e658518 Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/instr-l.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/jr.bib b/Master/texmf-dist/doc/latex/amscls/jr.bib new file mode 100644 index 00000000000..fdfc83c5689 --- /dev/null +++ b/Master/texmf-dist/doc/latex/amscls/jr.bib @@ -0,0 +1,214 @@ +@article{BFMW, + author={J. Bryant and S. Ferry and W. Mio and S. Weinberger}, + title={Topology of homology manifolds}, + journal={Ann. of Math.}, + volume={143}, + pages={435--467}, + year={1996}, + review={\MR{97b:57017}}, +} + +@article{Ch, + author={T. A. Chapman}, + title={Simple homotopy theory for {$ANR$}'s}, + journal={General Topology and its Applications}, + volume={7}, + pages={165--174}, + year={1977}, + review={\MR{58:18414}}, +} + +@article{Co, + author={M. Cohen}, + title={Simplicial structures and transverse cellularity}, + journal={Ann. of Math.}, + volume={85}, + pages={218--245}, + year={1967}, + review={\MR{35:1037}}, +} + +@incollection{FP, + author={S. Ferry and E. K. Pedersen}, + title={Epsilon surgery theory {I}}, + booktitle={Novikov Conjectures, Index Theorems and Rigidity, + Vol. 2 ({O}berwolfach, 1993)}, + series={Lond. Math. Soc. Lecture Note Ser.}, + volume={227}, + publisher={Cambridge University Press}, + year={1995}, + pages={167--226}, + review={\MR{97g:57044}}, +} + +@article{HTW, + author={B. Hughes and L. Taylor and B. Williams}, + title={Manifold approximate fibrations are approximately bundles}, + journal={Forum Math.}, + volume={3}, + pages={309--325}, + year={1991}, + review={\MR{92k:57040}}, +} + +@article{Jo, + author={H. Johnston}, + title={Transversality for homology manifolds}, + journal={Topology}, + volume={38}, + pages={673--697}, + year={1999}, + review={\MR{99k:57048}}, +} + +@article{Jn, + author={L. Jones}, + title={Patch spaces: a geometric representation for {P}oincar\'e + spaces}, + journal={Ann. of Math.}, + volume={97}, + pages={306--343}, + year={1973}, + note={102, 183--185 (1975) \MR{47:4269}; \MR{52:11930}}, +} + +@book{KS, + author={R. Kirby and L. Siebenmann}, + title={Foundational essays on topological manifolds, smoothings, and + triangulations}, + series={Ann. of Math. Study}, + volume={88}, + publisher={Princeton University Press}, + year={1977}, + review={\MR{58:31082}}, +} + +@article{LR, + author={N. Levitt and A. Ranicki}, + title={Intrinsic transversality structures}, + journal={Pacific J. Math.}, + volume={129}, + pages={85--144}, + year={1987}, + review={\MR{88m:57027}}, +} + +@article{M, + author={A. Marin}, + title={La transversalit\'e topologique}, + language={French}, + journal={Ann. of Math.}, + volume={106}, + pages={269--293}, + year={1977}, + review={\MR{57:10707}}, +} + +@article{Q1, + author={F. Quinn}, + title={Resolutions of homology manifolds, and the topological + characterization of manifolds}, + journal={Invent. Math.}, + volume={72}, + pages={264--284}, + year={1983}, + note={Corrigendum \textbf{85} (1986) 653}, + review={\MR{85b:57023}, \MR{87g:57031}}, +} + +@article{Q2, + author={F. Quinn}, + title={An obstruction to the resolution of homology manifolds}, + journal={Michigan Math. J.}, + volume={34}, + pages={284--291}, + year={1987}, + review={\MR{88j:57016}}, +} + +@article{Q3, + author={F. Quinn}, + title={Topological transversality holds in all dimensions}, + journal={Bull. Amer. Math. Soc.}, + volume={18}, + pages={145--148}, + year={1988}, + review={\MR{89c:57016}}, +} + +@article{R1, + author={A. Ranicki}, + title={The algebraic theory of surgery {II}. {A}pplications to topology}, + journal={Proc. Lond. Math. Soc.}, + volume={40}, + pages={193--287}, + year={1980}, + review={\MR{82f:57024b}}, +} + +@book{R2, + author={A. Ranicki}, + title={Exact sequences in the algebraic theory of surgery}, + series={Mathematical Notes}, + volume={26}, + publisher={Princeton University Press}, + year={1981}, + review={\MR{82h:57027}}, +} + +@book{R3, + author={A. Ranicki}, + title={Algebraic {$L$}--theory and topological manifolds}, + series={Cambridge Tracts in Mathematics}, + volume={102}, + publisher={Cambridge University Press}, + year={1992}, + review={\MR{94i:57051}}, +} + +@article{RS, + author={C. P. Rourke and B. J. Sanderson}, + title={On topological neighbourhoods}, + journal={Compositio Math.}, + volume={22}, + pages={387--425}, + year={1970}, + review={\MR{45:7720}}, +} + +@book{Wa, + author={C. T. C. Wall}, + title={Surgery on compact manifolds}, + edition={2}, + publisher={Academic Press}, + year={1970}, +} + +@book{Wei, + author={S. Weinberger}, + title={Nonlocally linear manifolds and orbifolds}, + series={Proc. 1994 Z\"urich ICM}, + pages={637--647}, + publisher={Birkh\"auser}, + year={1995}, + review={\MR{97g:57028}}, +} + +@book{Wein, + author={S. Weinberger}, + title={The topological classification of stratified spaces}, + series={Chicago Lectures in Mathematics}, + publisher={University of Chicago Press}, + year={1994}, + review={\MR{96b:57024}}, +} + +@article{Wes, + author={J. West}, + title={Mapping {H}ilbert cube manifolds to {$ANR$}'s}, + journal={Ann. of Math.}, + volume={106}, + pages={1--18}, + year={1977}, + review={\MR{56:9534}}, +} diff --git a/Master/texmf-dist/doc/latex/amscls/mathscinet.pdf b/Master/texmf-dist/doc/latex/amscls/mathscinet.pdf new file mode 100644 index 00000000000..5f6cbc57f3e Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/mathscinet.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/pcatcode.pdf b/Master/texmf-dist/doc/latex/amscls/pcatcode.pdf new file mode 100644 index 00000000000..ba4f4595661 Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/pcatcode.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/rkeyval.pdf b/Master/texmf-dist/doc/latex/amscls/rkeyval.pdf new file mode 100644 index 00000000000..d351d64d9a3 Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/rkeyval.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/textcmds.pdf b/Master/texmf-dist/doc/latex/amscls/textcmds.pdf new file mode 100644 index 00000000000..f5184aeb8de Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/textcmds.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/thmtest.pdf b/Master/texmf-dist/doc/latex/amscls/thmtest.pdf new file mode 100644 index 00000000000..f58bc1d6e82 Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/thmtest.pdf differ diff --git a/Master/texmf-dist/doc/latex/amscls/upref.pdf b/Master/texmf-dist/doc/latex/amscls/upref.pdf new file mode 100644 index 00000000000..276c548e251 Binary files /dev/null and b/Master/texmf-dist/doc/latex/amscls/upref.pdf differ diff --git a/Master/texmf-dist/source/latex/amscls/00readme.txt b/Master/texmf-dist/source/latex/amscls/00readme.txt new file mode 100644 index 00000000000..3422ab571fb --- /dev/null +++ b/Master/texmf-dist/source/latex/amscls/00readme.txt @@ -0,0 +1,145 @@ +00readme.txt for AMS document classes amsart/book/proc 2.0 [2004/08/06] + +See manifest.txt for a list of all the files in the distribution. + +See install.txt for installation instructions. + +The document classes amsart, amsbook, amsproc and related packages are +provided by the American Mathematical Society for authors to use with +LaTeX. They produce the overall layout and appearance of AMS +publications. + +In order to use an AMS document class you need to have TeX software +installed first. TeX is not an AMS product. If you need information on +getting TeX see one of the following: + + http://www.tug.org/ + http://www.ams.org/tex/tex-resources.html + +Documentation for the AMS document classes is found in + + instr-l.pdf + diffs-c.txt + amsthdoc.pdf + thmtest.tex + thmtest.pdf + +which are included in the collection. Additional documentation can be +found in the amsclass FAQ: + + http://www.ams.org/tex/amsclass-faq.html + +The recommended procedure for making a custom document class based on an +AMS class is to make a copy of the relevant .cls file using a different +name and edit the copy---e.g., copy amsbook.cls to mybook.cls. (In +general we advise against using \LoadClass, unless the base class is +frozen or changes to the base class are under your control.) + +For technical support: + + American Mathematical Society + Technical Support + Publications Technical Group + P. O. Box 6248 + Providence, RI 02940-6248 + Phone: 800-321-4AMS (321-4267) (USA/Canada) or 401-455-4080 + tech-support@ams.org + +======================================================================== +RECENT CHANGES + +---ams-c1.ins 2.20 2004/08/03 +Added amsmidx package. + +---amsclass.dtx 2.20 2004/08/06 +1. Added facility for additional line(s) in copyright block. +2. Corrected handling of section heading with no title. +3. Got rid of spurious "Appendix" in t-of-c in \backmatter. +4. Changed MR number formatting to use new style as on MathSciNet. +5. Created commands for various style elements and substituted them + for hard-coded values to simplify building derived classes. +6. Added sectioning and otherwise cleaned up commentary. + +---amsclass.faq - 2004/08/06 +Removed from distribution; replaced by on-line FAQ at +http://www.ams.org/tex/amsclass-faq.html + +---amsdtx.dtx 2.06 2004/08/06 +1. Reworked indexing commands for compatibility with doc.sty. +2. Added option environment for enhanced indexing. +3. Improved formatting. + +---amsthdoc.tex 2.20 2004/08/03 +1. Substantially rewritten for clarity. +2. Added documentation for \newtheoremstyle. + +---instr-l.tex 2.20 2004/08/05 +Substantially rewritten for clarity and to add instructions for new +features; see note on amsclass.dtx regarding features. + +---mrabbrev.bib - 2004/08/05 +Removed from distribution; this is now available separately from +http://www.ams.org/tools/mrabbrev.bib + +---thmtest.tex 2.01 2004/08/02 +1. Corrected counter for theorems with switched headers. +2. Added section headings for clarity. +3. Added example ending with a display and \qedhere. + +---upref.dtx 2.01 2004/07/29 +1. Added code to make package work with hyperref. +2. Improved documentation. + +---amsclass.dtx 2.14 2004/04/26 (not released) +1. Incorporated pending changes left by Michael Downes: + - Added trap in headings in case \thanks was set within \author, + and added \thanks@warning. + - Cleaned up and completed unfinished documentation. +2. Added braces in \uppercasenonmath to limit scope. +3. Added \contrib mechanism to handle "non-author" authors. +4. Segregated definitions of administrative footnotes to permit easier + customization for AMS journals. +5. Added explicit \bibliofont to permit easy change for special uses. +6. Changed MR number formatting to correspond to new access numbers + used by MathSciNet. +7. Added \@citestyle and \citeform to simplify font changes in citations. +8. Added OT1 defaults for \DH, \dh, \DJ, \dj, required for author names. +9. Added \markleft to permit changing of only left running head + +---amsclass.dtx 2.13 2002/12/04 (not released) +1. Fixed handling of theorem head punctuation with \swapnumbers. +2. Changed \proofname to \providecommand in case it's already defined. +3. Made \small, \Small, etc., robust. +4. Better spacing in \l@figure to prevent overprinting of figure number. +5. Changed handling of author names to prevent internal line breaks. +6. Added \@noparitemfalse in \dth@everypar to prevent weird results in + certain (rare) kinds of usage. +7. Some other cosmetic changes. + +---amsthdoc.tex 2.02 2000/06/06 +Use article class instead of amsldoc (which is overkill). + +---amsldoc.cls - 2000/06/06 +Removed from distribution, no longer needed by amsthdoc. + +---amsclass.dtx 2.07 2000/06/05 +Guard against \\ in argument of \author. + +---amsclass.dtx 2.06 2000/06/02 +Avoid using \@elt in qed stack because LaTeX output routine falls over +if triggered when something else is using \@elt. + +---amsclass.dtx 2.05 2000/05/16 +1. Added \indexintro. +2. Fixed erroneous init for thm@preskip, thm@postskip. + +---amsclass.dtx 2.04 2000/03/10 +\newtoks fix for old versions of LaTeX. Added some commentary about \cal. + +---amsclass.dtx 2.03 2000/01/17 +1. Removed dependency on amsgen package. +2. Added a warning about graphics for the draft option. +3. Improved qedhere handling for article/amsthm combination. + +---amsclass.dtx 2.02 2000/01/17 +Some fixes for the fleqn/qedhere case. diff --git a/Master/texmf-dist/source/latex/amscls/ams-c1.ins b/Master/texmf-dist/source/latex/amscls/ams-c1.ins new file mode 100644 index 00000000000..3145608a278 --- /dev/null +++ b/Master/texmf-dist/source/latex/amscls/ams-c1.ins @@ -0,0 +1,80 @@ +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "ams-c1.ins", +%%% version = "2.20", +%%% date = "2004/08/03", +%%% time = "14:18:09 EDT", +%%% checksum = "43968 80 304 2992", +%%% author = "American Mathematical Society", +%%% 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", +%%% copyright = "Copyright 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.", +%%% email = "tech-support@math.ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, amsart, amsbook, amsproc, amsthm, install", +%%% supported = "yes", +%%% abstract = "This is an installation file that will generate +%%% loadable package and class files when run +%%% through \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.", +%%% } +%%% ==================================================================== +\def\batchfile{ams-c1.ins} +\input docstrip.tex +\preamble +\endpreamble + +\keepsilent + +\csname newtoks\endcsname\filesmsg +\def\dofile#1#2#3{\generateFile{#1}{f}{\from{#2}{#3}}% + \filesmsg\expandafter{\the\filesmsg + \Msg{* \space\space#1}}} + +% Packages +\dofile{amsthm.sty}{amsclass.dtx}{amsthm} +\dofile{upref.sty}{upref.dtx}{} +\dofile{amsmidx.sty}{amsmidx.dtx}{} + +% Document class amsart: +\dofile{amsart.cls}{amsclass.dtx}{amsart,classes} +% Document class amsbook: +\dofile{amsbook.cls}{amsclass.dtx}{amsbook,classes} +% Document class amsproc: +\dofile{amsproc.cls}{amsclass.dtx}{amsproc,classes} + +% Document class for printing AMS documentation files: +\dofile{amsdtx.cls}{amsdtx.dtx}{amsdtx} + +\ifToplevel{ +\Msg{******************************************************************} +\Msg{*} +\Msg{* To get documentation for the amsart, amsbook, and amsproc} +\Msg{* documentclasses, run LaTeX on instr-l.tex.} +\Msg{*} +\Msg{* To get documentation for the amsthm package, run LaTeX on} +\Msg{* amsthdoc.tex; see also thmtest.tex.} +\Msg{*} +\Msg{******************************************************************} +} + +\endinput +} diff --git a/Master/texmf-dist/source/latex/amscls/amsclass.dtx b/Master/texmf-dist/source/latex/amscls/amsclass.dtx new file mode 100644 index 00000000000..956b379d23a --- /dev/null +++ b/Master/texmf-dist/source/latex/amscls/amsclass.dtx @@ -0,0 +1,5204 @@ +%%% ==================================================================== +%%% @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.", +%%% } +%%% ==================================================================== +% +% \iffalse +%<*driver> +\documentclass{amsdtx} + +\CodelineIndex + +\begin{document} +\title{% + The \cls{amsart}, \cls{amsproc}, and \cls{amsbook} document~classes} +\author{American Mathematical Society\\Michael Downes\\ + updated by Barbara Beeton} +\date{Version \fileversion, \filedate} +\hDocInput{amsclass.dtx} +\end{document} +% +% \fi +% +% \maketitle +% +% \MakeShortVerb\| +% +% \section{Introduction} +% This file (\fn{amsclass.dtx}) is the master file for three \latex/ +% document classes, \cls{amsart}, \cls{amsproc}, and \cls{amsbook}, +% which are intended for articles and books containing mathematical +% research. They produce output that follows the style conventions of +% American Mathematical Society publications. The theorem setup +% features of these document classes are also available in a separate +% package, \pkg{amsthm}. +% +% \StopEventually{} +% +% \section{Implementation} +% +% Three document class files and one package file (\fn{amsthm.sty}) +% are produced from this source. Most of the code of the \fn{amsthm} +% package is used in all four derived files. Most of the remaining +% code is used in all three document class files. Fine tuning is done +% with additional docstrip guards. +% +% The usual name, date, and version information. (Note: the reason +% each \cs{ProvidesClass} command is placed on a line by itself, with +% separate begin and end guards for docstripping, is to make +% automatic update of file date and version slightly easier and more +% robust.) +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1995/06/01]% LaTeX date must be June 1995 or later +%<*amsart> +\ProvidesClass{amsart}[2004/08/06 v2.20] +% +%<*amsproc> +\ProvidesClass{amsproc}[2004/08/06 v2.20] +% +%<*amsbook> +\ProvidesClass{amsbook}[2004/08/06 v2.20] +% +% \end{macrocode} +% For \pkg{amsthm} we need to guard against redundant loading via +%\begin{verbatim} +% \documentclass{amsart} +% \usepackage{amsthm} +%\end{verbatim} +% because in that case the usual \cs{RequirePackage} mechanism for +% avoiding redundant loading will not apply. We need to simulate the +% loading of the \pkg{amsthm} package. +% \begin{macrocode} +%<*classes> +\global\expandafter\let\csname ver@amsthm.sty\expandafter\endcsname + \csname ver@\@currname.\@currext\endcsname +% +%<*amsthm> +\ProvidesPackage{amsthm}[2004/08/06 v2.20] +% +% \end{macrocode} +% +% The following code is shared by the classes and the \pkg{amsthm} +% package. Cf.~\fn{amsgen.sty}. +% \begin{macrocode} +\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} +% \end{macrocode} +% \cn{nopunct} should have a value for \cn{spacefactor} that is +% not used for \cn{frenchspacing}. +% \begin{macrocode} +\def\nopunct{\spacefactor 1007 } +\def\frenchspacing{\sfcode`\.1006\sfcode`\?1005\sfcode`\!1004% + \sfcode`\:1003\sfcode`\;1002\sfcode`\,1001 } +% \end{macrocode} +% +% If this class is loaded by a parent document class, then we want +% to use the name of the parent class. Otherwise the name of the +% current class file. +% \begin{macrocode} +%<*classes> +\def\@tempa#1#2\@nil{\edef\@classname{#1}} +\expandafter\@tempa\@currnamestack{}{}{}\@nil +\ifx\@classname\@empty \edef\@classname{\@currname}\fi +% \end{macrocode} +% +% \subsection{Support for conditional text} +% +% [This needs to be documented in the users' guide, including the +% idea of using \verb'\for{5ed}{\linebreak}' to mark edition-specific +% line and page breaks. [mjd,1999/12/27]] +% +% We would sometimes like to be able to mark fragments of text to be +% conditionally discarded or typeset. For example in the title of a +% section if we want to add a linebreak but prevent this linebreak +% from also taking effect in the table of contents. +% +% Certain kinds of switches need to be built into the low-level +% structure of our document class in order to be useful. For example, +% inside the toc we need to arrange for an \qq{in-toc?} test to yield +% true. +% +% \begin{macrocode} +\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 +} +% \end{macrocode} +% The empty switch is by default false; i.e., if you write +%\begin{verbatim} +% \for{}{...} +%\end{verbatim} +% the material will be discarded. +% \begin{macrocode} +\newswitch{} +% \end{macrocode} +% +% To get a line break in a section title but not in the table of +% contents line for that section, use +% \verb'\except{toc}{\linebreak}'. (Presumably you are already giving +% a shortened running head version separately, if applicable.) +% \begin{macrocode} +\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 +} +% \end{macrocode} +% +% The \cn{forany} command needs to run through a comma-separated list +% of switch names and print its second argument if any of the +% switches are true. +% \begin{macrocode} +\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} +% \end{macrocode} +% +% \subsection{Options} +% \subsubsection{Notes} +% Options will be processed in the order they are declared; +% cf.~\cs{ProcessOptions}. +% +% \subsubsection{Paper size} +% +% The option \opt{letterpaper} (default) sets the target paper width +% and height to U.S. letter size, 8.5 in x 11 in. An option +% \opt{a4paper} is also supported, but we don't include some of the +% more unusual paper options (\opt{legalpaper}, \opt{a5paper}, +% \opt{executivepaper}) of the generic \cls{article} class. For A4 +% paper we not only change the paper size but also add 4pc to the +% normal textheight of 50.5pc (the difference between 297mm and 11in +% is 50pt). +% \begin{macrocode} +\DeclareOption{a4paper}{\paperheight 297mm\paperwidth 210mm + \textheight 54.5pc } +\DeclareOption{letterpaper}{\paperheight 11in\paperwidth 8.5in } +% \end{macrocode} +% +% The options \opt{landscape} and \opt{portrait} swap paper height +% and width. +% \begin{macrocode} +\DeclareOption{landscape}{\@tempdima\paperheight + \paperheight\paperwidth \paperwidth\@tempdima} +\DeclareOption{portrait}{} +% \end{macrocode} +% +% \subsubsection{Two-sided or one-sided printing} +% +% For two-sided printing we set the switch \cs{if@twoside} which +% will cause the margins to be adjusted so that the type blocks of +% back-to-back pages will line up. The \cs{if@mparswitch} makes margin +% paragraphs print in the outside margin. +% \begin{macrocode} +\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} +% \end{macrocode} +% +% \subsubsection{Draft or final version} +% +% The \opt{draft} option causes overfull lines to be marked with +% a black slug in the right margin. +% \begin{macrocode} +\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@ } +% \end{macrocode} +% +% \subsubsection{Posting date} +% +% The date when an article is officially posted to the WWW is recorded +% in a variable \cs{@dateposted} with the \cn{dateposted} command. +% +% \begin{macrocode} +\def\dateposted#1{\def\@dateposted{#1}}% +\let\@dateposted\@empty +% \end{macrocode} +% +% \begin{macrocode} +%<*amsart> +\def\@setdateposted{% + \newline Article electronically published on \@dateposted} +% +% \end{macrocode} +% +% \subsubsection{Logos} +% +% The following logo is used for regular journal articles. The one +% for proceedings articles and the one for e-only journals are given +% separately. +% \begin{macrocode} +%<*amsart> +\def\article@logo{% + \set@logo{% + \publname +% \end{macrocode} +% Current volume might be empty when an article is first posted to +% the WWW. In that case leave out the issue-specific info. +% \begin{macrocode} + \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 + }% +} +% +% \end{macrocode} +% +% \begin{macrocode} +%<*amsart|amsproc> +\def\@logofont{\fontsize{6}{7\p@}\selectfont} +\long\def\set@logo#1{% + \vbox to\headheight{% + \@parboxrestore \@logofont + \noindent#1\par\vss + }% +} +% +% \end{macrocode} +% +% \begin{macrocode} +%<*amsproc> +\def\procart@logo{% + \set@logo{\publname + \ifx\@empty\volinfo \else\newline\volinfo\fi}% +} +% +% \end{macrocode} +% +% \subsubsection{E-only journal} +% +% Electronic-only journals (for \cls{amsart} only) have different +% information in the series logo than paper-only or dual journals. +% Only the volume number is reported (no issue or year), and the +% posting date is added following the page numbers. [bnb, 1996/10/31] +% +% This option will be invoked only from publication-specific \fn{.cls} +% files. +% \begin{macrocode} +%<*amsart> +\DeclareOption{e-only}{% + \def\volinfo{Volume \currentvolume}% + \dateposted{Xxxx XX, XXXX}% + \def\@setdateposted{\ (\@dateposted)}% + \let\article@logo\eonly@logo +} +% +% \end{macrocode} +% +% \subsubsection{Title page} +% +% The title and related information can optionally be printed on a +% separate page. +% \begin{macrocode} +\newif\if@titlepage +\DeclareOption{titlepage}{\@titlepagetrue} +\DeclareOption{notitlepage}{\@titlepagefalse} +% \end{macrocode} +% +% \subsubsection{Start on right- or left-hand page} +% +% For some book series, it's permissible to start chapters on a +% left-hand page. Default to `openright', the usual AMS book style. +% \begin{macrocode} +%<*amsbook> +\newif\if@openright +\DeclareOption{openright}{\@openrighttrue} +\DeclareOption{openany}{\@openrightfalse} +\@openrighttrue +% +% \end{macrocode} +% +% \subsubsection{Two-column printing} +% +% Two-column layout is handled through a predefined internal switch. +% \begin{macrocode} +\DeclareOption{onecolumn}{\@twocolumnfalse} +\DeclareOption{twocolumn}{\@twocolumntrue} +% \end{macrocode} +% +% \subsubsection{The nomath option} +% +% The \opt{nomath} option causes most of the extra math features to +% be omitted. Some utility functions will be defined below if this +% option is specified. +% \begin{macrocode} +\DeclareOption{nomath}{} +% \end{macrocode} +% +% \subsubsection{Some font options} +% +% The \opt{noamsfonts} option means to avoid declaring math alphabets +% or symbol fonts for the extra math fonts in the AMSFonts set. If +% these fonts are declared, it means that the corresponding \fn{.tfm} +% files are required even for documents that do not use any symbols +% from those fonts. So we allow optionally to not declare them, for +% convenience of users who don't have those fonts on their system and +% don't want the hassle of getting them. +% \begin{macrocode} +\DeclareOption{noamsfonts}{} +% \end{macrocode} +% The \opt{psamsfonts} option, passed on to the \pkg{amsfonts} package, +% means that alternative \fn{.fd} files should be used that do not +% refer to \fn{.tfm} files for sizes 6,8,9 (which are not present in +% the PostScript (Type 1) AMS fonts set from Y\&Y/Blue Sky Research). +% This should also trigger the \opt{cmex10} option of \pkg{amsmath}, +% to avoid trying to load sizes 7--9 of \fn{cmex}. +% \begin{macrocode} +\DeclareOption{psamsfonts}{% + \PassOptionsToPackage{psamsfonts}{amsfonts}% + \PassOptionsToPackage{cmex10}{amsmath}} +% \end{macrocode} +% +% \subsubsection{Equation numbering on the left or right} +% +% The option \opt{leqno}---equation numbers on the left---is the +% default in AMS styles. Therefore we provide also a \opt{reqno} +% option. +% \begin{macrocode} +\newif\iftagsleft@ +\DeclareOption{leqno}{% + \tagsleft@true \PassOptionsToPackage{leqno}{amsmath}} +\DeclareOption{reqno}{% + \tagsleft@false \PassOptionsToPackage{reqno}{amsmath}} +% \end{macrocode} +% +% \subsubsection{Vertical centering of equation numbers} +% For multiline equations the equation number is by default centered +% vertically on the total height of the equation. To make the +% equation number print on the first line (for left-hand +% numbers) or the last line (right-hand numbers), there is a +% \opt{tbtags} option `top/bottom tags'. +% \begin{macrocode} +\newif\ifctagsplit@ +\DeclareOption{centertags}{% + \ctagsplit@true \PassOptionsToPackage{centertags}{amsmath}} +\DeclareOption{tbtags}{% + \ctagsplit@false \PassOptionsToPackage{tbtags}{amsmath}} +% \end{macrocode} +% +% \subsubsection{Flush left displays} +% +% The option \opt{fleqn} causes displayed equations to print +% aligned on the left instead of centered, with an indentation +% of \cs{mathindent} from the prevailing left margin. If the +% \pkg{amsmath} package is loaded, most of this code will be +% overridden, but it seems we need it anyway because of the +% possibility of the \opt{nomath} class option. +% +% \begin{macrocode} +\DeclareOption{fleqn}{}% +% \end{macrocode} +% +% \subsubsection{Dealing with font sizes} +% +% \begin{macro}{\@mainsize} +% \begin{macro}{\@ptsize} +% Instead of the miserly \cs{@ptsize} variable from \latex/'s +% ancient history that contains only the last digit of the main +% typesize, we set up a proper variable \cs{@mainsize} that +% contains all the digits of the main typesize. Just in case it is +% needed for someone using an old package, we will keep +% \cs{@ptsize} also. +% \begin{macrocode} +\newcommand{\@mainsize}{10} +\newcommand{\@ptsize}{0} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\larger} +% \begin{macro}{\smaller} +% This function is an easy byproduct of the work done to fold +% typesize-specific code into the main class file. The range of font +% sizes is \cn{normalsize}, \cn{small}, \cn{Small}, \cn{SMALL}, +% \cn{tiny}, \cn{Tiny}, \cn{large}, \cn{Large}, \cn{LARGE}, +% \cn{huge}, \cn{Huge}. Spaces are left at either end of the case +% statement to accommodate adding \cn{TINY} and \cn{HUGE} in the +% future but it's not clear that they're really needed. +% \begin{macrocode} +\newcommand{\larger}[1][1]{% + \count@\@currsizeindex \advance\count@#1\relax + \ifnum\count@<\z@ \count@\z@ \else\ifnum\count@>12 \count@12 \fi\fi +% \end{macrocode} +% The various size-changing commands \cn{normalsize}, etc., will take +% care of updating \cs{@currsizeindex}. +% \begin{macrocode} + \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]} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% The \cs{@adjustvertspacing} function adapts some vertical spacing +% amounts to the current type size. We don't expect large sections of +% vertical text to occur in the extraordinarily small or large type +% sizes, so the \cs{@adjustvertspacing} function is only called in +% the range between `footnote' size and `Large' size. Notice that no +% shrinkability is used. +% \begin{macrocode} +\def\@adjustvertspacing{% +% \end{macrocode} +% \cs{big/med/smallskipamount} are generic space values that will be +% used by the commands \cn{bigskip}, \cn{medskip}, \cn{smallskip}. We +% also link the spacing around displayed equations to these amounts. +% \begin{macrocode} + \bigskipamount.7\baselineskip plus.7\baselineskip + \medskipamount\bigskipamount \divide\medskipamount\tw@ + \smallskipamount\medskipamount \divide\smallskipamount\tw@ + \abovedisplayskip\medskipamount + \belowdisplayskip \abovedisplayskip +% \end{macrocode} +% The above-display short space is zero but with the same +% stretchability as the above-display normal space. And the +% below-display short space is similar, but has a base value equal to +% \cs{smallskipamount}. Use of the multiplier |1| is an arcane \TeX{} +% trick that coerces the skip value to a dimen value, i.e., gives us +% the base value of the skip register without the stretch or shrink +% values. +% \begin{macrocode} + \abovedisplayshortskip\abovedisplayskip + \advance\abovedisplayshortskip-1\abovedisplayskip + \belowdisplayshortskip\abovedisplayshortskip + \advance\belowdisplayshortskip 1\smallskipamount +% \end{macrocode} +% The traditional value for \cs{jot} is 3pt, which we generalize +% to \cs{baselineskip}/4. This is used to adjust interline spacing in +% multiline displayed equations. +% \begin{macrocode} + \jot\baselineskip \divide\jot 4 \relax +} +% \end{macrocode}% +% +% We fill out the range of typesize changing commands to a full +% eleven: five large/huge commands and five small/tiny commands. (The +% capitalization of the command names suggests that there should +% actually be thirteen---add \cn{TINY} and \cn{HUGE}---but let's be +% conservative and leave those out until a real need for them is +% known to exist.) An unavoidable side effect is that \cn{tiny} now +% selects 6pt instead of 5pt by default. +% +% In version 1.1 of \cls{amsart} and \cls{amsbook} \cn{small} was +% the same as \cn{footnotesize} (\cls{amsproc} didn't exist in v. 1.1). +% +% The only size-changing command that is predefined by \latex/ is +% \cn{normalsize}; that's why it's the only one for which we use +% \cn{renewcommand} below. +% \begin{macrocode} +\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} +% \end{macrocode} +% For backward compatibility we had better define \cn{footnotesize} +% and \cn{scriptsize}. Also there is the small discrepancy with +% \cn{tiny} to worry about. +% \begin{macrocode} +\def\footnotesize{\Small} +\def\scriptsize{\SMALL} +% \end{macrocode} +% +% The sizes above 10pt use magstep values, stored in the functions +% \cs{@xipt}, \cs{@xiipt}, etc. +% \begin{macrocode} +\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}} +%\DeclareRobustCommand\HUGE{\@xsetfontsize\HUGE{12}} +% \end{macrocode} +% +% So now we had better define the \cs{@xsetfontsize} function. +% The size-changing commands use \cs{@setfontsize} instead of +% \cn{fontsize} to (a)~give an error message if used in math mode and +% (b)~set the \cs{@currsize} variable. +% \begin{macrocode} +\def\@xsetfontsize#1#2{% + \chardef\@currsizeindex#2\relax + \edef\@tempa{\@nx\@setfontsize\@nx#1% + \@xp\ifcase\@xp\@currsizeindex\@typesizes +% \end{macrocode} +% Add nonsense values 99/99 at the end just in case some extreme +% error turns up. +% \begin{macrocode} + \else{99}{99}\fi}% + \@tempa +} +% \end{macrocode} +% For the record let's initialize \cs{@currsizeindex}. +% \begin{macrocode} +\chardef\@currsizeindex=6 +% \end{macrocode} +% +% Set page-breaking penalties to prevent all widows, orphans, and +% hyphens at the end of a page. +% \begin{macrocode} +\widowpenalty=10000 +\clubpenalty=10000 +\brokenpenalty=10000 +% \end{macrocode} +% +% Set some default linespacing values. The variable \cs{linespacing} +% is usually the normal interline space in the main text. It is used +% to specify vertical space for elements such as section heads and +% theorems in proportion to the normal interline space. +% \begin{macrocode} +\newdimen\linespacing +\lineskip=1pt \lineskiplimit=1pt +\normallineskip=1pt \normallineskiplimit=1pt +\let\baselinestretch=\@empty +% \end{macrocode} +% +% Settings for \cn{textheight} and \cn{textwidth}. We start with the +% value 50.5pc specified in AMS journal specifications as the total +% height of the type block and then subtract the running head height +% and adjust for \cs{topskip} to get the proper value for the text +% block. +% \begin{macrocode} +\headheight=8pt \headsep=14pt +%\footskip=18pt +%\footskip=12pt +\textheight=50.5pc \topskip=10pt +\textwidth=30pc +\columnsep=10pt \columnseprule=0pt +% \end{macrocode} +% Some settings for marginpars. +% \begin{macrocode} +\marginparwidth=90pt +\marginparsep=11pt +\marginparpush=5pt +% \end{macrocode} +% To avoid setting text before begin-document, we postpone the +% setting of \cs{footnotesep} using \cs{AtBeginDocument}. +% \begin{macrocode} +\AtBeginDocument{\settoheight{\footnotesep}{\footnotesize M$^1$}} +% \end{macrocode} +% +% \begin{macrocode} +\skip\footins=7pt plus11pt +\skip\@mpfootins=\skip\footins +% \end{macrocode} +% +% \begin{macrocode} +\fboxsep=3pt \fboxrule=.4pt +% \end{macrocode} +% +% \begin{macrocode} +\arrayrulewidth=.4pt \doublerulesep=2pt +\labelsep=5pt \arraycolsep=\labelsep +\tabcolsep=\labelsep \tabbingsep=\labelsep +% \end{macrocode} +% +% \begin{macrocode} +\floatsep=15pt plus 12pt \dblfloatsep=15pt plus 12pt +\textfloatsep=\floatsep \dbltextfloatsep=15pt plus 12pt +\intextsep=\floatsep +% \end{macrocode} +% +% \begin{macrocode} +\@fptop=0pt plus1fil \@dblfptop=0pt plus1fil +\@fpbot=0pt plus1fil \@dblfpbot=0pt plus1fil +\@fpsep=8pt plus2fil \@dblfpsep=8pt plus2fil\relax +% \end{macrocode} +% Note that \cs{parskip} gets no stretch; this is at variance with +% the generic \latex/ classes. +% \begin{macrocode} +\parskip=0pt \relax +% \end{macrocode} +% +% \cs{@parboxrestore}, used by \cs{@footnotetext}, sets +% \cs{parindent} to |0pt|; since this is not what we want, we +% make a new dimen \cs{normalparindent} and after calling +% \cs{@parboxrestore}, \cs{@footnotetext} resets +% \cs{parindent} back to normal. +% \begin{macrocode} +\newdimen\normalparindent +%\normalparindent=12pt +%\normalparindent=18pt +\parindent=\normalparindent +% \end{macrocode} +% +% \begin{macrocode} +\partopsep=0pt \relax \parsep=0pt \relax \itemsep=0pt \relax +% \end{macrocode} +% +% \begin{macrocode} +\@lowpenalty=51 \@medpenalty=151 \@highpenalty=301 +\@beginparpenalty=-\@lowpenalty +\@endparpenalty=-\@lowpenalty +\@itempenalty=-\@lowpenalty +% \end{macrocode} +% +% \subsubsection{Typesize-specific code} +% +% The class option \opt{12pt} sets the main typesize to 12 pt and +% makes various adaptations, primarily sliding the size-changing +% commands up the scale of magsteps. This makes it more likely that +% someone with bitmapped fonts will have all the fonts and sizes +% that they need. The \opt{8pt} option is for those who like to +% conserve paper. +% +% By parameterizing some aspects it is possible to make a great deal +% of the typesize-specific code automatically adapt to the selected +% size. Then there is so little typesize-specific code remaining +% that it no longer makes sense to put the code in separate \fn{.clo} +% files. So instead of analogs for the generic \fn{size10,11,12.clo} +% files we have the code for those options entirely contained in the +% \fn{.cls} file in the form of declared options. +% +% Some miscellaneous remarks. +% +% ---If PostScript fonts are used, it may seem a little strange to +% use fonts following the magstep'd point sizes 10.95, 14.4, 17.28, +% 20.74, 24.88 instead of simply 11, 14, 17, 21, 25. But it is not +% easy for us to make that distinction here in the document class +% definitions of the fontsize changing commands. So we don't try. +% +% \begin{macrocode} +\DeclareOption{10pt}{\def\@mainsize{10}\def\@ptsize{0}% + \def\@typesizes{% +% \end{macrocode} +% There should be 11 typesize/baselineskip pairs: five below +% \cn{normalsize} and five above. +% \begin{macrocode} + \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 +} +% \end{macrocode} +% +% \subsubsection{Running heads} +% The normal application of pagestyle functions \cs{ps@xxx} is to +% determine the contents of running heads and feet. The function +% \cs{@mkboth} is used internally by commands \cn{chapter}, +% \cn{section}, and the like to set the running heads. +% \begin{macrocode} +\def\ps@empty{\let\@mkboth\@gobbletwo + \let\@oddhead\@empty \let\@evenhead\@empty + \let\@oddfoot\@empty \let\@evenfoot\@empty +% \end{macrocode} +% The current implementation in \cls{amsart}/\cls{amsproc}/\cls{amsbook} +% of the vertical space at the top of an opening page uses \cs{topskip}, +% which means that we need to do some resetting here. +% \begin{macrocode} + \global\topskip\normaltopskip} +% \end{macrocode} +% Pagestyle `plain' has the page numbers in the running feet. +% \begin{macrocode} +\def\ps@plain{\ps@empty + \def\@oddfoot{\normalfont\scriptsize \hfil\thepage\hfil}% + \let\@evenfoot\@oddfoot} +% \end{macrocode} +% +% Pagestyle `headings' uses text from sectioning commands for +% running heads. Empty running feet. +% \begin{macrocode} +\newswitch{runhead} +% \end{macrocode} +% +% \begin{macrocode} +\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 +%<*amsbook> + \def\partmark{\@secmark\markboth\partrunhead\partname}% + \def\chaptermark{% + \@secmark\markboth\chapterrunhead{}}% + \def\sectionmark{% + \@secmark\markright\sectionrunhead\sectionname}% +% +} +% \end{macrocode} +% +% \begin{macro}{\sectionname} +% \begin{macro}{\subsectionname} +% \begin{macro}{\subsubsectionname} +% \begin{macro}{\paragraphname} +% \begin{macro}{\subparagraphname} +% Initialize section headings. +% \begin{macrocode} +\let\sectionname\@empty +\let\subsectionname\@empty +\let\subsubsectionname\@empty +\let\paragraphname\@empty +\let\subparagraphname\@empty +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% The default definitions of \cs{leftmark}, \cs{rightmark} are not +% what we want: the section title (or whatever) reported in the +% right-hand running head should report the section that is current +% at the bottom of the right-hand page. And the left-hand running +% head should report the status at the top of the page. +% Cf.~\fn{amsppt.sty}. +% \begin{macrocode} +\def\leftmark{\expandafter\@firstoftwo\topmark{}{}} +\def\rightmark{\expandafter\@secondoftwo\botmark{}{}} +% \end{macrocode} +% +% Journal and Proceedings articles require an indication of the first +% page so the logo and copyright line can appear. +% \begin{macrocode} +%<*amsart|amsproc> +\def\ps@firstpage{\ps@plain + \def\@oddfoot{\normalfont\scriptsize \hfil\thepage\hfil +% \end{macrocode} +% Stick in the reset of \cs{topskip} here so it only gets executed +% after the first page is completed. +% \begin{macrocode} + \global\topskip\normaltopskip}% + \let\@evenfoot\@oddfoot + \def\@oddhead{\@serieslogo\hss}% + \let\@evenhead\@oddhead % in case an article starts on a left-hand page +} +% +% \end{macrocode} +% +% \begin{macro}{\@nilgobble} +% Something that apparently doesn't exist in the kernel? +% \begin{macrocode} +\long\def\@nilgobble#1\@nil{} +% \end{macrocode} +% \end{macro} +% +% A general section-marking function. Arg 1 is either \cn{markright} +% or \cn{markboth} indicating which kind of marking action is desired +% (this gives us some string pool/hash table savings by allowing the +% \cs{@secmark} function to serve for both cases). Arg 2 is the +% function that should be called in the running head to process the +% remaining three args. Arg 3 is normally \cs{xxxname} (but could be +% empty). Arg 4 is the section-title text. Assumption: whenever +% \cs{@secmark} is called, the section-number variable +% \cs{@secnumber} has been set to the value of the current section +% number (possibly empty, in the case of a |*| section for example). +% \begin{macrocode} +%<*amsbook> +\def\@secmark#1#2#3#4{% +% \end{macrocode} +% We want to apply expansion to \cs{xxxname} and \cs{thexxx} but not +% to the other elements. +% \begin{macrocode} + \begingroup \let\protect\@unexpandable@protect + \edef\@tempa{\endgroup \toks@{\protect#2{#3}{\@secnumber}}}% + \@tempa + \toks@\@xp{\the\toks@{#4}}% +% \end{macrocode} +% If a \cn{markright} operation is called for, use the current +% left-mark via \cs{@temptokena}. +% \begin{macrocode} + \afterassignment\@nilgobble\@temptokena\@themark{}\@nil + \edef\@tempa{\@nx\@mkboth{% + \ifx\markright#1\the\@temptokena\else\the\toks@\fi}{\the\toks@}}% + \@tempa} +% \end{macrocode} +% Init \cs{@secnumber}. +% \begin{macrocode} +\let\@secnumber\@empty +% +% \end{macrocode} +% +% Fix \cn{markboth} so that \cs{@secmark} can work without too much +% thrashing. +% \begin{macrocode} +\def\markboth#1#2{% + \begingroup + \@temptokena{{#1}{#2}}\xdef\@themark{\the\@temptokena}% + \mark{\the\@temptokena}% + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi} +% \end{macrocode} +% +% With the myheadings pagestyle, no automatic running heads will be +% provided by the document class; only running heads specified by +% the user through explicit \cn{markboth} or \cn{markright} +% commands will be used. +% \begin{macrocode} +\def\ps@myheadings{\ps@headings \let\@mkboth\@gobbletwo} +% \end{macrocode} +% +% Save normal topskip value in a skip register. +% \begin{macrocode} +\newskip\normaltopskip +\normaltopskip=10pt \relax +% \end{macrocode} +% +% We also want to turn off all section marks. First-level section +% heads will be defined in \cs{ps@headings}. +% \begin{macrocode} +\let\sectionmark\@gobble +\let\subsectionmark\@gobble +\let\subsubsectionmark\@gobble +\let\paragraphmark\@gobble +% \end{macrocode} + +% \subsubsection{Unrecognized options} +% +% The \opt{makeidx} option is redundant; everything that it does in +% the generic \latex/ classes is already done anyway in this class. +% \begin{macrocode} +\DeclareOption{makeidx}{} +% +% \end{macrocode} +% +% Unrecognized options for \pkg{amsthm} are treated as references +% to auxiliary theorem setup (\fn{.thm}) files. This allows a user +% to create theorem styles using internal commands (with |@| signs) +% without having to be concerned about category coding. +% +% Here is an example from the file \fn{thmtest.tex} which is part +% of this collection. See that file for further information. +%\begin{verbatim} +% \begin{filecontents}{exercise.thm} +% \def\th@exercise{% +% \normalfont % body font +% \thm@headpunct{:}% +% } +% \end{filecontents} +%\end{verbatim} +% +% This facility is available only when \pkg{amsthm} is used as an +% independent package, not as part of an AMS document class. +% \begin{macrocode} +%<*amsthm> +\DeclareOption*{\input{\CurrentOption .thm}} +\ProcessOptions +% +% \end{macrocode} +% +% \subsection{Process options} +% +% Black boxes for overfull lines are turned off by default (the +% \opt{final} option). This can be overridden with the \opt{draft} +% option. +% \begin{macrocode} +%<*classes> +\ExecuteOptions{leqno,centertags,letterpaper,portrait,% + 10pt,twoside,onecolumn,final} +% \end{macrocode} +% Options will be processed in the order of the associated +% \cs{DeclareOption} commands. +% \begin{macrocode} +\ProcessOptions\relax +% \end{macrocode} +% +% In compatibility mode, we want to load the frozen version of +% \fn{amstex.sty} instead of the \pkg{amsmath} package. This is +% rather a horrible kluge but I can't see anything better at the +% moment. [mjd,1995/01/27] +% \begin{macrocode} +\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 +% \end{macrocode} +% If the \opt{nomath} option was specified, then \cn{numberwithin} +% and \cs{@emptytoks} remain to be defined. +% \begin{macrocode} +\@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 +}{} +% \end{macrocode} +% +% If the \opt{noamsfonts} option was called for, skip the +% \pkg{amsfonts} package load. +% \begin{macrocode} +\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 +% \end{macrocode} +% +% \subsection{Basic AMS style features} +% +% AMS style requires that blank pages between chapters be \emph{really} +% blank: no running heads, no page numbers. To accomplish this, +% redefine \cn{cleardoublepage} to do the right thing. [bnb, 1999/07/17] +% \begin{macrocode} +\let\cleardouble@page\cleardoublepage +% \end{macrocode} +% Postpone the redefinition of \cs{cleardoublepage} to begin-document +% to work around difficulties with old versions of \fn{gsm-l.cls}. +% \begin{macrocode} +\AtBeginDocument{% + \ifx\cleardouble@page\cleardoublepage + \def\cleardoublepage{\clearpage{\pagestyle{empty}\cleardouble@page}} + \fi +} +% \end{macrocode} +% +% Now a utility macro to do \cn{uppercase} but sidestep any math, to +% prevent uppercasing math variables. In order to be handled properly +% the |$...$| or |\(...\)| must be on the outer level (not +% enclosed in braces). We did not try to handle the possibility +% |\begin{math}| |...| |\end{math}| in a title at the present time (too +% complicated). Also we increase inter-word space in the uppercase +% text. +% +% One other little problem: uppercasing of a few special characters +% like the German {\ss} (\cn{ss}) and the undotted i and j (\cn{i} +% and \cn{j}), used sometimes with accents. We redefine them to be +% uppercase equivalents. (Undotted \cn{i} and \cn{j} in math would be +% typed as \cn{imath} and \cn{jmath}.) +% +% Spaceskip is changed in accordance with recommendations for +% increased interword spacing in all-caps text by e.g.\ `Words into +% Type'. +% \begin{macrocode} +\newcommand{\uppercasenonmath}[1]{\toks@\@emptytoks +% Insert an extra \@empty to avoid removing braces around arg \arg{1}. + \@xp\@skipmath\@xp\@empty#1$$% +% \end{macrocode} +% The \cs{protect} here is in case the shorttitle gets used for +% shortauthors and we get redundant application of \cn{MakeUppercase}. +% Double braces limit the scope so that later elements in title block +% aren't uppercased, e.g., \cn{i} in an address. [bnb, 2004/04/01] +% \begin{macrocode} + \edef#1{{\@nx\protect\@nx\@upprep\the\toks@}}% +} +% \end{macrocode} +% +% \begin{macro}{\@upprep} +% Preparations for printing all-caps text. +% \begin{macrocode} +\newcommand{\@upprep}{% + \spaceskip1.3\fontdimen2\font plus1.3\fontdimen3\font + \upchars@} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\upchars@} +% In all-caps text, esszet should print as SS, dotless i should print +% as normal cap I, Mc should print with a small-caps (not lowercase) +% c, and so forth. +% \begin{macrocode} +\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}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Mc} +% The use of \cn{Mc} makes it possible for `Mc' to get special +% treatment when uppercasing is applied. +% \begin{macrocode} +\providecommand{\Mc}{Mc} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@skipmath} +% \begin{macro}{\@xskipmath} +% \cs{@skipmath} searches for |$...$| in order to keep from applying +% \cn{uppercase} to the contents. Then it calls \cs{@xskipmath} to +% search for |\(...\)|. +% \begin{macrocode} +\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\){% +% Expand away the added \@empty + \uppercase{\toks@\@xp\@xp\@xp{\@xp\the\@xp\toks@#1}}% + \@ifnotempty{#2}{\toks@\@xp{\the\toks@\(#2\)}\@xskipmath\@empty}}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\altucnm} +% \begin{macrocode} +\def\altucnm#1{% + \MakeTextUppercase{\toks@{#1}}% + \edef#1{\the\toks@}% +} +\AtBeginDocument{% + \@ifundefined{MakeTextUppercase}{}{\let\uppercasenonmath\altucnm}% +} +% \end{macrocode} +% \end{macro} +% +% For older versions of \latex/ this might be needed too: +% \begin{macrocode} +\@ifundefined{MakeUppercase}{\let\MakeUppercase\uppercase}{}% +% \end{macrocode} +% +% \begin{macro}{\today} +% The command \cn{today} produces today's date in the form most +% commonly used in the U.S. +% \begin{macrocode} +\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} +% \end{macrocode} +% \end{macro} +% +% \subsection{Old font commands} +% The \cn{em} command is not redefined here (let's say, to give an +% `obsolete' warning and recommend instead \cn{emph}) because there +% is no alternative internal command \cs{emshape}. +% \begin{macrocode} +\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} +% \end{macrocode} +% +% This warning might have been a good idea back in 1995 but I don't +% think we can add it now [mjd,2000/03/10]. +%\begin{verbatim} +%%\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 +%\end{verbatim} +% There's too great a chance that some people out there have +% documents that begin with +%\begin{verbatim} +%\documentclass{amsart} +%... +%\newcommand{\cal}{\mathcal} +%\end{verbatim} +% and such documents would now get error messages. +% +% Since \cs{cal} is not documented as a valid command for \LaTeXe/, I +% think it is OK to leave the status as is for AMS document classes. +% If you use \cs{documentstyle}, \cs{cal} will work. If you use +% \cs{documentclass}, well, it's a good idea to update to +% \cs{mathcal} instead of leaving old instances of \cs{cal}. +% +% \subsection{Top matter} +% For the \cn{title} command, we support an optional argument to give +% a shortened version of the title for running heads. +% \begin{macrocode} +\renewcommand*{\title}[2][]{\gdef\shorttitle{#1}\gdef\@title{#2}} +% \end{macrocode} +% The default value for the optional argument is `same as the +% mandatory arg' but there doesn't seem to be an easy way to get that +% effect with \ncn{[re]newcommand}. Here is how to use \cs{@dblarg} +% in conjunction with the preceding \cn{newcommand}: +% \begin{macrocode} +\edef\title{\@nx\@dblarg + \@xp\@nx\csname\string\title\endcsname} +% \end{macrocode} +% The \cn{author} command accepts an optional argument similar to +% that of the \cn{title} command. +% Moved update of \cn{addresses} within scope of \cs{else} to avoid +% adding anything if no authors, and thus avoiding output of ``Author +% address'' on monograph titlepage. [bnb, 1996/11/03] +% \begin{macrocode} +\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} +% \end{macrocode} +% Initialize some variables. +% \begin{macrocode} +\let\shortauthors\@empty \let\authors\@empty +% \end{macrocode} +% +% \begin{macro}{\contrib} +% +% Contributors are similar to authors except that they are responsible +% for only part of a work, e.g., an appendix. The optional argument +% for the first contributor of a group identifies what has been +% contributed. There can be more than one group of contributors; +% each group is treated separately, using the same ``and'' conventions +% within the group as for authors. Contributor groups are strung +% together separated by a comma; if the word ``and'' is desired before +% the final group of contributors, it must be included in the optional +% argument for that group. +% \begin{macrocode} +%<*amsart|amsproc> +\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 +% \end{macrocode} +% Accumulate contribs separately for the table of contents. Here, +% this is just a dummy; it is fully defined for in-house processing. +% \begin{macrocode} + \@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 +} +% \end{macrocode} +% \end{macro} +% +% Initialize some more variables. +% \begin{macrocode} +\let\contribs\@empty \let\xcontribs\@empty \let\toccontribs\@empty +% +\let\addresses\@empty \let\thankses\@empty +% \end{macrocode} +% +% The optional arguments of \cn{address}, \cn{curraddr}, \cn{email} +% are to indicate which author the address applies to, if a document +% has multiple authors and there is not a normal one-to-one +% correspondence between authors and addresses. +% \begin{macrocode} +\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}}} +% \end{macrocode} +% +% Someone who does not look closely at the \cls{amsart} documentation +% is likely to put the \cn{thanks} command inside that argument of +% \cn{author}. +% \begin{macrocode} +\long\def\thanks@warning#1{% + \ClassError{\@classname}{% + \protect\thanks\space should be given separately, not inside author name.% + }\@ehb +} +% \end{macrocode} +% +% \begin{macrocode} +\renewcommand{\thanks}[1]{% + \@ifnotempty{#1}{\g@addto@macro\thankses{\thanks{#1}}}% +} +% \end{macrocode} +% +% The following example of addresses for three authors of a +% tri-author paper illustrates the kind of complications that need to +% be handled. +%\begin{verbatim} +% \author{Roland Campbell} +% \address{Department of Mathematics\\ +% Pennsylvania State University\\ +% Pittsburgh, Pennsylvania 13593} +% \email[R.~Campbell]{campr@@galois.psu.edu} +% +% \author{Mark M. Dane} +% % Same address as R. Campbell +% \curraddr[M.~Dane]{Atmospheric Research Station\\ +% Pala Lundi, Fiji} +% \email[M.~Dane]{DaneMark@@ffr.choice} +% +% \author{Jeremiah Jones} +% \address[J.~Jones]{Department of Philosophy\\ +% Freedman College\\ +% Periwinkle, Colorado 84320} +% \email[J.~Jones]{id739e@@oseoi44 (Bitnet)} +%\end{verbatim} +% In an article, typesetting of the address information is done at +% the end of the document, by calling \cs{@setaddresses}. This is done +% through a parent function \cs{enddoc@text}, because some AMS journals +% also print the abstract there instead of at the beginning, and it's +% easier to redefine \cs{enddoc@text} than to try undoing material +% already added to the \cs{AtEndDocument} hook. +% \begin{macrocode} +%<*amsart|amsproc> +\def\enddoc@text{\ifx\@empty\@translators \else\@settranslators\fi + \ifx\@empty\addresses \else\@setaddresses\fi} +\AtEndDocument{\enddoc@text} +% +% \end{macrocode} +% +% \begin{macrocode} +\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}% +% \end{macrocode} +% Address is supposed to go all on one line, so we redefine |\\| +% to just insert a comma instead of doing a line break. +% \begin{macrocode} + \def\\{\unskip, \ignorespaces}% +% \end{macrocode} +% No page breaks in the address section is accomplished by +% |\interlinepenalty\@M| and by the \cn{nobreak} before the \cn{bigskip}. +% \begin{macrocode} + \interlinepenalty\@M + \def\address##1##2{\begingroup +% \end{macrocode} +% If there are two addresses for the same author, add a \cn{bigskip} +% between them. +% \begin{macrocode} + \par\addvspace\bigskipamount\indent +% \end{macrocode} +% If the name of the author to whom this address applies +% was given, typeset it. +% \begin{macrocode} + \@ifnotempty{##1}{(\ignorespaces##1\unskip) }% +% \end{macrocode} +% Now the main part of the address: +% \begin{macrocode} + {\scshape\ignorespaces##2}\par\endgroup}% +% \end{macrocode} +% Current address: +% \begin{macrocode} + \def\curraddr##1##2{\begingroup + \@ifnotempty{##2}{\nobreak\indent\curraddrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space + ##2\par}\endgroup}% +% \end{macrocode} +% And then email. In versions 1.0 and 1.1 |@@| was required to print +% a single \qc{\@} character; for bulletproofing we convert doubled +% \qc{\@} characters if found. +% \begin{macrocode} + \def\email##1##2{\begingroup + \@ifnotempty{##2}{\nobreak\indent\emailaddrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space + \ttfamily##2\par}\endgroup}% +% \end{macrocode} +% URLaddr is simply a replica of the email address, with the +% addition of a feature to enable |~| to print. +% \begin{macrocode} + \def\urladdr##1##2{\begingroup + \def~{\char`\~}% + \@ifnotempty{##2}{\nobreak\indent\urladdrname + \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space + \ttfamily##2\par}\endgroup}% + \addresses + \endgroup +} +% \end{macrocode} +% +% Some other administrative info. For \cn{date} we can just use the +% default definition provided by \latex/, except that we initialize +% the date to empty instead of to \cn{today}. +% \begin{macrocode} +\let\@date\@empty +\def\dedicatory#1{\def\@dedicatory{#1}} +\let\@dedicatory=\@empty +\def\keywords#1{\def\@keywords{#1}} +\let\@keywords=\@empty +% \end{macrocode} +% +% To allow various versions of the subject classification, accept an +% optional value to identify the version, provide text for the two +% currently in use, and give a warning if the version specified is +% unknown. Default to 1991 version. [bnb, 1999/04/30] +% \begin{macrocode} +\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 +% \end{macrocode} +% +% We handle translator names like author names, just in case there is +% more than one translator. [mjd,1994/10/19] +% \begin{macrocode} +\def\translname{Translated by} +\def\translator#1{% + \ifx\@empty\@translators \def\@translators{#1}% + \else\g@addto@macro\@translators{\and#1}\fi} +\let\@translators=\@empty +% \end{macrocode} +% +% \begin{macrocode} +%<*amsart|amsproc> +\def\@settranslators{\par\begingroup + \addvspace{6\p@\@plus9\p@}% + \hbox to\columnwidth{\hss\normalfont\normalsize + \translname{ }% + \andify\@translators \uppercasenonmath\@translators + \@translators} + \endgroup +} +% +% \end{macrocode} +% +% The general function to convert a list of items in the form +%\begin{verbatim} +% A\and B\and C\and D +%\end{verbatim} +% to the form `A, B, C, and D' is \cs{xandlist}: +%\begin{verbatim} +% \xandlist{, }{ and }{, and }{A\and B\and C\and D} +%\end{verbatim} +% This is a completely expandable macro, with the return value being +% the converted list. There is also a `no-execute' version whose +% fourth argument should be a macro; the text to be converted will be +% taken from that macro and after conversion will be put back as the +% macro's new replacement text. +%\begin{verbatim} +% \nxandlist{, }{ and }{, and }\result +%\end{verbatim} +% I don't think I want to explain this except by recommending that +% you watch it in operation with \cs{tracingmacros} if you're +% interested. [mjd,1994/10/19] +% \begin{macrocode} +\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} +% \end{macrocode} +% +% \begin{macro}{andify} +% +% The \cs{andify} function is provided as a convenient abbreviation +% for the most common case. See also \cs{author@andify} (for +% \cls{amsart} and \cls{amsproc} only), which gives better results +% in cases with a large number of authors. Provide a substitutable +% text string to simplify language-specific modifications. +% \begin{macrocode} +\def\@@and{and} +\newcommand{\andify}{% + \nxandlist{\unskip, }{\unskip{} \@@and~}{\unskip, \@@and~}} +% \end{macrocode} +% Override the funny default definition of \cn{and} from \latex/. +% This is not actually used by AMS classes, however. +% \begin{macrocode} +\def\and{\unskip{ }\@@and{ }\ignorespaces} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{maketitle} +% +% Set up the style of an article opening page. For books, see below. +% For articles, we must add the copyright info footnote. +% \begin{macrocode} +%<*amsart|amsproc> +\def\maketitle{\par + \@topnum\z@ % this prevents figures from falling at the top of page 1 + \@setcopyright + \thispagestyle{firstpage}% this sets first page specifications +% \end{macrocode} +% Do some setup for the running heads here. If there are no author names, +% we set the left-hand running head to the value of the right-hand running +% head. +% \begin{macrocode} + \uppercasenonmath\shorttitle + \ifx\@empty\shortauthors \let\shortauthors\shorttitle + \else \andify\shortauthors + \fi +% \end{macrocode} +% The following hook is used to activate the writing of author and +% title information to an `issue table of contents' when multiple +% articles are being processed for a journal issue or a proceedings +% volume. +% \begin{macrocode} + \@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 +} +% +% \end{macrocode} +% \end{macro} +% +% The hook \cs{@maketitle@hook} is placed into \cn{maketitle} rather +% than \cs{@maketitle} because the latter tends to get redefined by +% derived classes using this one as a base. The initial motivation +% for this hook is to extract title and author information to an +% external file, so we can't do it with \cs{AtBeginDocument}: +% \cn{title} and \cn{author} commands might occur between +% \verb'\begin{document}' and \cn{maketitle}. +% +% \begin{macrocode} +%<*amsart|amsproc> +\def\@maketitle@hook{\global\let\@maketitle@hook\@empty} +% +% \end{macrocode} +% +% Set up the style of an article opening page. +% \begin{macrocode} +%<*amsart|amsproc> +\def\@maketitle{% +% \end{macrocode} +% Set font to normal, just in case. +% \begin{macrocode} + \normalfont\normalsize +% \end{macrocode} +% Special footnotes are put here to ensure that they come first at +% the bottom of the page. +% \begin{macrocode} + \@adminfootnotes +% \end{macrocode} +% If |\pagestyle{myheadings}| was specified, \cs{@mkboth} will be a no-op. +% \begin{macrocode} + \@mkboth{\@nx\shortauthors}{\@nx\shorttitle}% +% \global\topskip8pc\relax % 10pc to base of first title line +% \global\topskip42\p@\relax % 5.5pc " " " " " + \@settitle + \ifx\@empty\authors \else \@setauthors \fi +% \end{macrocode} +% Likewise with \cs{@dedicatory} and \cs{@date}. +% \begin{macrocode} + \ifx\@empty\@dedicatory + \else +% \baselineskip26\p@ +% \baselineskip18\p@ + \vtop{\centering{\footnotesize\itshape\@dedicatory\@@par}% + \global\dimen@i\prevdepth}\prevdepth\dimen@i + \fi + \@setabstract +% \end{macrocode} +% Space before the main text should be 32 + 14 base-to-base; we +% accomplish this by doing a vskip of that amount with \cs{baselineskip} +% subtracted. +% \begin{macrocode} + \normalsize + \if@titlepage + \newpage + \else + \dimen@34\p@ \advance\dimen@-\baselineskip + \vskip\dimen@\relax + \fi +} % end \@maketitle +% \end{macrocode} +% +% Segregate the definitions of administrative footnotes to permit +% easier customization, especially for translation journals. +% \begin{macrocode} +\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 +% \end{macrocode} +% In order to make multiple thanks footnotes work inside a single +% \cs{@footnotetext} argument we need to make the first \cn{par} be +% ignored. Cf.~\cs{@setthanks}. +% \begin{macrocode} + \ifx\@empty\thankses\else \@footnotetext{% + \def\par{\let\par\@par}\@setthanks}% + \fi +} +% +% \end{macrocode} +% +% \subsection{Journal/series logo for articles} +% +% \cs{publname} either will be defined by a parent class that is calling +% \cls{amsart} or \cls{amsproc} as a base class, or will be absent, in +% which case this can be used as a signal to omit the \cs{@serieslogo}. +% A typical value for \cs{publname} would be +%\begin{verbatim} +% \def\publname{JOURNAL OF THE\newline +% AMERICAN MATHEMATICAL SOCIETY} +%\end{verbatim} +% +% Initialize \cs{publname} and \cs{@serieslogo} to no-op if +% \cs{publname} is not already defined. +% \begin{macrocode} +%<*amsart|amsproc> +\AtBeginDocument{% + \@ifundefined{publname}{% + \let\publname\@empty + \let\@serieslogo\@empty + }{% +% \def\@serieslogo{\article@logo}% +% \def\@serieslogo{\procart@logo}% + }% +} +% +% \end{macrocode} +% +% The \cs{number} prefix on current issue is to work around +% inconsistencies in the form of issue numbers as passed in from +% system level. Sometimes they will get passed in with a leading +% zero, which we don't want to print if it happens to occur. +% The |0| prevents an error if \cs{currentissue} happens to be empty. +% \begin{macrocode} +%<*amsart> +\AtBeginDocument{% + \@ifundefined{volinfo}{% + \def\volinfo{% + Volume \currentvolume, Number \number0\currentissue +% \end{macrocode} +% Month/year is not included initially when a journal article is +% posted on the WWW prior to print publication. +% \begin{macrocode} + \if\@printyear , \currentmonth\ \currentyear\fi + }% + }{}% +} +\def\@printyear{TF}% boolean false +% +% \end{macrocode} +% +% \begin{macrocode} +%<*amsproc> +\AtBeginDocument{% + \@ifundefined{volinfo}{\let\volinfo\@empty}{} +} +% +% \end{macrocode} +% +% Default values for information such as volume, year, and so on are +% provided as follows. +% \begin{macrocode} +%<*amsart|amsproc> +\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 +% +% \end{macrocode} +% +% Copyright year may be different from issue year. Allow it to be +% specified separately. It is probably more natural anyway, from the +% user's perspective, to give the copyright year in the same command +% when giving the name of the copyright holder. +% \begin{macrocode} +\newcommand{\copyrightinfo}[2]{% + \def\copyrightyear{#1}% + \@ifnotempty{#2}{\def\copyrightholder{#2}}% +} +\copyrightinfo{0000}{(copyright holder)} +% \end{macrocode} +% +% Provide page span information. If negative number is given, convert +% to roman numeral form. +% \begin{macrocode} +%<*amsart|amsproc> +\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} +% +% \end{macrocode} +% +% Formatting for journal page numbers. [bnb, 1996/09/11] +% \begin{macrocode} +%<*amsart> +\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}% + }{}% +} +% +% \end{macrocode} +% +% Publisher Item Identifier (we started using them in journal logos +% as of January 1997). +% \begin{macrocode} +%\@ifundefined{ISSN}{\def\ISSN{0000-0000}}{} +%\newcommand\PII[1]{\def\@PII{#1}} +%\PII{S \ISSN(XX)0000-0} +% \end{macrocode} +% +% \subsection{Copyright block} +% +% Doing the copyright info on the first page is a little tricky. We +% want it to come at the bottom, after any footnotes and floating +% inserts, but before the page number. If we simply put it into +% \cs{@oddfoot} (in \cs{ps@plain}) its height will not be subtracted +% from the height of the text and then the page number will be lower +% than we want. So we do it as an insert. +% +% Through version 1.2, this code was included only for \pkg{amsart} +% and \pkg{amsproc}; the formatting of some book series requires an +% insert at the bottom of the text block, so this code has been +% extended to all AMS document classes. [bnb, 1999/07/14] +% \begin{macrocode} +\newinsert\copyins +% \end{macrocode} +% We set the skip register associated with this insert to the +% \emph{base-to-base} distance from the bottom of the page contents +% to the base of the first line in the copyright info. See the +% definition of \cs{@setcopyright}. +% \begin{macrocode} +\skip\copyins=1.5pc +\count\copyins=1000 % magnification factor, 1000 = 100% +\dimen\copyins=.5\textheight % maximum allowed per page +% \end{macrocode} +% \cn{copyins} is ignored if a float is input on the first page; +% adding it to \cs{@reinserts} will make the output routine behave. +% [bnb; 2004/06/09; B-365] +% \begin{macrocode} +\g@addto@macro\@reinserts{% + \ifvoid\copyins\else\insert\copyins{\unvbox\copyins}\fi +} +% \end{macrocode} +% Put the contents into a \tex/ insert. This information is omitted +% unless \cs{@serieslogo} is non-null. In other words it will +% normally not print except when an AMS publication-specific document +% class such as \cls{tran-l} is used. +% And even if the series logo is printed, omit the copyright line +% if requested by |\coprightinfo{}{}|. [bnb, 1996/10/17] +% \begin{macrocode} +\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 +% \end{macrocode} +% The spacing between the preceding text and the copyright info is +% done with a strut of height |\skip\copyins|. (Note that +% \cs{lineskip} and \cs{baselineskip} are 0 in the \latex/ output +% routine.) The negative vskip gives an effective distance of 0 from +% the top of the box to the base of the first line (assuming +% |\skip\copyins| is greater than the height of that line). Then the +% apparent total height of the box will work well with \tex/'s +% calculations involving |\skip\copyins| for how much room to leave +% for this object. An extra 6pt is allowed when an additional line +% is present; this adjustment was found adequate in some borderline +% cases where tight pages reset with the additional line had text +% lines moved to the next page, causing the paper length to expand +% by a page. [bnb, 2004/05/07-06/24] +% \begin{macrocode} + \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 +% \end{macrocode} +% This kern of 0pt forces the depth of the last line (if any) to be +% added to the height of the box. +% \begin{macrocode} + \kern\z@}% + \fi\fi +} +% \end{macrocode} +% +% When \cs{@combinefloats} is called, the box \cs{@outputbox} already +% contains the main text of the page and any footnotes. Then \latex/ +% adds top and bottom figures. We want to add our copyright info at +% the very bottom, but still inside of the vbox. +% \begin{macrocode} +\def\@combinefloats{% + \ifx \@toplist\@empty \else \@cflt \fi + \ifx \@botlist\@empty \else \@cflb \fi + \ifvoid\copyins \else \@cflci \fi +} +% \end{macrocode} +% \subsubsection{combine-floats-copyright-insert} +% +% In the twocolumn/firstcolumn case, postpone adding the drop folio. +% Put an empty box of the same height at the bottom of the left-hand +% column to make the columns balance. Allow a smidge of stretch in +% case the first page of a chapter has no internal stretch, so that +% the drop folio will be flush to the bottom of the text block; +% don't do this for a twocolumn page, to avoid an uneven bottom. +% \begin{macrocode} +\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 +% \end{macrocode} +% In two-column layout, put an empty box in the first column +% instead of the drop folio. +% \begin{macrocode} + \if@twocolumn + \if@firstcolumn \else \unvbox\copyins \fi + \else + \unvbox\copyins + \fi + }}}% +% \end{macrocode} +% Now redo the insert to make sure we get the right amount of space +% reserved for it in the second column. +% \begin{macrocode} + \if@twocolumn \if@firstcolumn + \insert\copyins{\unvbox\copyins}% + \fi\fi +% \end{macrocode} +% Reset the \cs{copyins} flag so that a subsequent insert +% (e.g.\ \cs{@dropfolio} in some book series) will work. +% \begin{macrocode} + \global\count\copyins=999 \relax +} +% \end{macrocode} +% [End of code to support inserts at end of text block.] +% +% For journals only, provide a switch that indicates the author has +% agreed to revert copyright to the public domain; this results in +% an addition to the copyright block on the article. +% \begin{macrocode} +%<*amsart> +\newif\if@revertcopyright \@revertcopyrightfalse +\newcommand{\revertcopyright}{% + \global\@revertcopyrighttrue + \global\@extracrlinetrue} +% \end{macrocode} +% Add notation regarding reversion of copyright to public domain if +% author has agreed to it. Permit this to be set in a different +% size than the copyright line (required for some author packages). +% \begin{macrocode} +\def\@revertcrfontsize{\fontsize{6}{7\p@}\normalfont\upshape} +\def\@extracrline{% + \if@revertcopyright + \unskip\\ + \@revertcrfontsize + Reverts to public domain 28 years from publication + \fi +} +% +% \end{macrocode} +% +% \subsection{Other top matter info} +% +% Some name setup. +% \begin{macrocode} +\newcommand{\abstractname}{Abstract} +\newcommand{\keywordsname}{Key words and phrases} +% \end{macrocode} +% For now, support just the two most recent versions; earlier versions +% were: +% \begin{itemize} +% \item \textup{1980} Mathematics Subject Classification +% \item \textup{1980} Mathematics Subject Classification +% \textup{(1985} Revision\textup{)} +% \end{itemize} +% Default to the 1991 edition, as that's what is in production at the +% time this change is made. [bnb, 1999/04/30] +% \begin{macrocode} +\newcommand{\subjclassname}{% + \textup{1991} Mathematics Subject Classification} +\@xp\let\csname subjclassname@1991\endcsname \subjclassname +\@namedef{subjclassname@2000}{% + \textup{2000} Mathematics Subject Classification} +% \end{macrocode} +% For the date we have a special little problem: We only want to add +% the `Received by the editors' text for publication-specific +% document classes such as \cls{tran-l}. +% \begin{macrocode} +%\def\@tempb{amsbook} +%\def\@tempb{amsproc} +%\def\@tempb{amsart} +\ifx\@classname\@tempb + \newcommand{\datename}{\textit{Date}:} +\else + \newcommand{\datename}{Received by the editors} +\fi +% \end{macrocode} +% +% \begin{macrocode} +%<*amsart|amsproc> +\def\@settitle{\begin{center}% +% \baselineskip14\p@\relax +% \Large + \bfseries +%\uppercasenonmath\@title + \@title + \end{center}% +} +% +% \end{macrocode} +% +% For multiple authors we need to combine the author names into a +% list of the form Author One, Author Two, \dots, and Author Last. +% Change line breaking penalties to avoid a line break in the middle of +% an author name if there are a lot of authors. This should probably +% better be done by changing spaces within author names to +% |\nolinebreak[3]\space|, but that would take more work. +% [mjd,2000/12/27] +% \begin{macrocode} +%<*amsart|amsproc> +\def\author@andify{% + \nxandlist {\unskip ,\penalty-1 \space\ignorespaces}% + {\unskip {} \@@and~}% + {\unskip ,\penalty-2 \space \@@and~}% +} +% \end{macrocode} +% +% \begin{macrocode} +\def\@setauthors{% + \begingroup + \def\thanks{\protect\thanks@warning}% + \trivlist +% \centering\footnotesize \@topsep30\p@\relax +% \advance\@topsep by -\baselineskip +% \centering \fontsize{11}{13\p@}\selectfont\@topsep13\p@\relax + \item\relax + \author@andify\authors +% \end{macrocode} +% Make dbl-backslash robust to prevent problems if/when +% \cs{MakeTextUppercase} expansion is applied. +% \begin{macrocode} + \def\\{\protect\linebreak}% +% \MakeUppercase{\authors}% +% \authors + \ifx\@empty\contribs + \else + ,\penalty-3 \space \@setcontribs + \@closetoccontribs + \fi + \endtrivlist + \endgroup +} +\def\@closetoccontribs{} +\def\@setcontribs{% + \@xcontribs +% \MakeUppercase{\xcontribs}% +% \xcontribs +} +\def\@setdate{\datename\ \@date\@addpunct.} +\def\@setsubjclass{% + {\itshape\subjclassname.}\enspace\@subjclass\@addpunct.} +\def\@setkeywords{% + {\itshape \keywordsname.}\enspace \@keywords\@addpunct.} +% +% \end{macrocode} +% +% The following definitions suffice for all the AMS document classes. +% \begin{macrocode} +\def\@setthanks{\def\thanks##1{\par##1\@addpunct.}\thankses} +% \end{macrocode} +% +% `Abstract' can be changed to, say, `R\'esum\'e' (French) by +% redefining \cn{abstractname}. This and other control sequence names +% (\cn{refname}, \cn{contentsname}, \cn{appendixname}, and so on) are +% compatible with the \pkg{babel} package (the AMS sometimes +% publishes articles in languages other than English.) +% +% In AMS document classes, the abstract should be placed before +% \cn{maketitle} (otherwise the desired ordering of frontmatter +% elements cannot be ensured in all cases). +% \begin{macrocode} +\newbox\abstractbox +% \end{macrocode} +% We start by checking whether \cn{maketitle} has already been used +% (in which case it was reset to \cs{relax}); if so, we give a +% warning that the abstract should be placed before \cn{maketitle}. +% \begin{macrocode} +\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@ +% \end{macrocode} +% In order to get equation numbers indented with the rest of the +% abstract, we have to do this: +% \begin{macrocode} + \let\fullwidthdisplay\relax + }% + \item[\hskip\labelsep\scshape\abstractname.]% +}{% + \endlist\egroup +% \end{macrocode} +% If the abstract was supposed to be typeset earlier, then +% \cs{@setabstract} is now equal to \cs{relax}, and we had better +% drop the contents of the abstract box onto the page immediately, to +% salvage the situation as best we can. +% \begin{macrocode} + \ifx\@setabstract\relax \@setabstracta \fi +} +% \end{macrocode} +% +% Because the abstract might be postponed until the end of an +% article, we cannot simply use the fact of a preceding +% \cn{maketitle} to tell whether \cs{endabstract} should immediately +% put the abstract box contents on the page. So we use an auxiliary +% function that will be reset to no-op once we have passed the point +% where the abstract should normally be typeset. +% \begin{macrocode} +\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 +} +% \end{macrocode} +% +% Title page environment does nothing much; information and +% formatting to be provided by the user. +% \begin{macrocode} +\def\titlepage{% +% \cleardoublepage +% \clearpage + \thispagestyle{empty}\setcounter{page}{0}} +\def\endtitlepage{\newpage} +% \end{macrocode} +% +% \subsection{Macros for list labels} +% +% Through version 1.2, first-level enumerated item labels were formatted +% with a following period, which is not AMS style. Effective with +% version 2.0 these labels are formatted with parentheses. Anyone +% requiring the period style will have to redefine \cs{labelenumi}. +% \begin{macrocode} +\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} +% \end{macrocode} +% +% \begin{macrocode} +\def\labelitemi{$\m@th\bullet$} +\def\labelitemii{\bfseries --}% \upshape already done by \itemize +\def\labelitemiii{$\m@th\ast$} +\def\labelitemiv{$\m@th\cdot$} +% \end{macrocode} +% +% \subsection{Verse and quotation environments} +% \begin{macrocode} +\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 +% \end{macrocode} +% The left/right margins of the quotation environment are supposed to +% be the same as for the abstract environment. +% \begin{macrocode} +\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 +% \end{macrocode} +% +% \subsection{List environments} +% Changed definition of \cs{trivlist}, \env{enumerate}, and +% \env{itemize} in order to have \cn{makelabel} apply \cn{upshape}. +% \begin{macrocode} +\def\trivlist{\parsep\parskip\@nmbrlistfalse + \@trivlist \labelwidth\z@ \leftmargin\z@ + \itemindent\z@ + \let\@itemlabel\@empty + \def\makelabel##1{\upshape##1}} +% \end{macrocode} +% +% \begin{macrocode} +\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 +% \end{macrocode} +% +% \begin{macrocode} +\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 +% \end{macrocode} +% +% \begin{macrocode} +\newcommand{\descriptionlabel}[1]{\hspace\labelsep \upshape\bfseries #1:} +\newenvironment{description}{\list{}{% +% \end{macrocode} +% Adjust the indent of the first line to the desired value: +% \begin{macrocode} + \advance\leftmargini6\p@ \itemindent-12\p@ + \labelwidth\z@ \let\makelabel\descriptionlabel}% +}{ + \endlist +} +\let\enddescription=\endlist % for efficiency +% \end{macrocode} +% +% \begin{macro}{\upn} +% The command \cn{upn} can be used to force upright font for +% punctuation or digits in italic text. For example +%\begin{verbatim} +% ... as numbered by \upn{``A''} or \upn{``1''} hereafter\upn{)} +%\end{verbatim} +% \begin{macrocode} +\let\upn=\textup +% \end{macrocode} +% \end{macro} +% +% Since these margin settings are dependent on the fonts used, we +% postpone them until begin-document. (This means that we cannot use +% the values directly for calculations before begin-document.) Allow +% for a reasonable maximum value; 13 = xiii = m should be adequate. +% \begin{macrocode} +\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} +% \end{macrocode} +% +% In some contexts the space above/below lists needs to be +% suppressed. So we put it into a variable \cs{listisep}. +% \begin{macrocode} +\newskip\listisep +\listisep\smallskipamount +\def\@listI{\leftmargin\leftmargini \parsep\z@skip + \topsep\listisep \itemsep\z@skip + \listparindent\normalparindent} +\let\@listi\@listI +% \end{macrocode} +% +% Is it necessary to reset \cs{parsep}, \cs{partopsep}, \cs{itemsep} +% to their default values (0) in each of the subordinate list +% setup functions? I don't believe so, but I leave the settings in +% the listii function just in case some unusual nesting of +% environments might cause trouble. [mjd,1994/09/22] +% \begin{macrocode} +\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} +% \end{macrocode} +% +% \subsection{Fleqn option} +% +% \begin{macrocode} +\@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 +% \end{macrocode} +% Note that the \cs{m@th} should go at the end in \cn{]} just in +% case an embedded small math formula inside \cn{text} occurs in +% the display. +% +% Why the extra bgroup here? I think it's not needed. +% [mjd,3-Feb-1994] +% \begin{macrocode} + \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 +} +% \end{macrocode} +% +% \subsection{Redefined internal sectioning commands} +% +% In amsart.sty \cs{@startsection}, \cs{@sect}, +% and a couple of other things are redefined to fix a few hard-coded +% things that would interfere with the desired style. The most +% noteworthy difference is that all section headings will go into the +% table of contents (governed by secnumdepth as usual), EVEN WHEN THE +% |*| FORM IS USED. The only section heading not listed in the table of +% contents is the heading for the toc itself. +% +% A second major departure from standard \latex/ is that when a +% short form of a section title is given, it is used only for the +% running heads; the table of contents still gets the full version of +% the title. This is correct for AMS editorial practice. However if +% one wants to get a line break into the table of contents it means +% that the standard \latex/ method cannot be used. See the +% \cn{except} and \cn{for} commands. +% \begin{macrocode} +\def\@startsection#1#2#3#4#5#6{% +% \end{macrocode} +% Section titles, if they are run-in with the following text, are +% stored in a box instead of being typeset right away. They will be +% typeset by \cs{everypar}, but if one section heading follows +% right after another, this won't happen. So by doing +% \cs{leavevmode} we force this to happen. (\cs{if@noskipsec} +% is true if the previous section title has not yet been typeset.) +% \begin{macrocode} + \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 +% Don't call \@ssect in the ifstar case: + \@ifstar{\@dblarg{\@sect{#1}{\@m}{#3}{#4}{#5}{#6}}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}% +} +% \end{macrocode} +% +% We add \cn{textup} here in order to make section +% numbers always roman, even if the rest of the section head is +% italic. +% \begin{macrocode} +\def\@seccntformat#1{% + \protect\textup{\protect\@secnumfont + \csname the#1\endcsname + \protect\@secnumpunct + }% +} +% \end{macrocode} +% +% Some journals require a different font for section numbers. (As +% coded here, this option permits only a change of weight, to +% \cn{bfseries}.) The \cls{amsart} font is checked again later, +% when processing \cn{section}, and if there is no section title, +% it is made bold. +% \begin{macrocode} +%\let\@secnumfont\@empty +%\def\@secnumfont{\mdseries} +% \end{macrocode} +% +% For reference, here is the argument list for \cs{@sect}. +%\begin{verbatim} +% % #1 #2 #3 #4 #5 #6 #7 #8 +% {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}[SHORTT]{TITLE} +%\end{verbatim} +% \begin{macrocode} +\def\@sect#1#2#3#4#5#6[#7]#8{% +% \end{macrocode} +% Define \cs{@toclevel} for for \cs{@tocwrite} (to +% \cs{@tochangmeasure}). +% \begin{macrocode} + \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 +% \end{macrocode} +% If the value of afterskip $>0$, then this is not a run-in section +% heading, and we want to suppress final punctuation. +% \begin{macrocode} + \@tempskipa #5\relax +% \end{macrocode} +% \cs{@svsec} will be the section number plus some formatting if +% the star form was not used and if the depth of numbering extends to +% the current level. The user can change secnumdepth to control how +% many levels of sectioning will be numbered. +% \begin{macrocode} + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% +% \end{macrocode} +% If the section heading is not run-in and there is no title, omit +% final punctuation and space. If it is run-in, omit extra space. +% \begin{macrocode} + \edef\@secnumpunct{% + \ifdim\@tempskipa>\z@ % not a run-in section heading + \@ifnotempty{#8}{.\@nx\enspace}% + \else + \@ifempty{#8}{.}{.\@nx\enspace}% + \fi + }% +% \end{macrocode} +% For \cls{amsart}, if a subsection has no title, make the section +% number bold; otherwise leave it alone. +% [bnb; 2004/06/08; per vwa, B-442] +% \begin{macrocode} +% \@ifempty{#8}{% +% \ifnum #2=\tw@ \def\@secnumfont{\bfseries}\fi}{}% +% \end{macrocode} +% If the |*|-form was not used (\arg{2} less than 1000), we add +% \cn{sectionname} or whatever as a prefix, separated by a space. +% We need the ifundefined test in order to know whether the space +% should be added or not. There must be a better way to do this +% but I haven't thought of it yet. +% \begin{macrocode} + \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 +% \end{macrocode} +% +% Section headings don't set marks for the running heads in the article +% style, only in the amsbook style. Assumption: \cs{sectionmark} is +% defined to call \cs{@secnumber} as its penultimate argument. +% \begin{macrocode} +% \csname #1mark\endcsname{#7}% +% \end{macrocode} +% If \arg{2} (level) is greater than 1000 then we don't do a table +% of contents entry. This happens only for the section heading above +% the table of contents itself. +% \begin{macrocode} + \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi + \else +% \end{macrocode} +% Otherwise we're doing a run-in heading; it is stored as \cs{@svsechd}, +% which will be typeset by \cs{everypar} as soon as some text is +% encountered. +% \begin{macrocode} + \def\@svsechd{#6\hskip #3\@svsec +% \end{macrocode} +% To allow for the possibility that the user wants an empty section +% title, leaving just the section number, we check whether \arg{8} +% is nonempty before adding the period. +% \begin{macrocode} + \@ifnotempty{#8}{\ignorespaces#8\unskip +% \end{macrocode} +% The following test is to prevent a period being added if the +% section title ended in a question mark or other punctuation. +% \begin{macrocode} + \@addpunct.}% + \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi + }% + \fi +% \end{macrocode} +% In a previous version of \cls{amsart} \cs{@nobreaktrue} was added to +% \cs{@xsect} for some reason. Let's keep that just in case it was done to +% prevent a certain kind of bug. [mjd,17-Aug-1994] +% \begin{macrocode} + \global\@nobreaktrue +% \end{macrocode} +% \cs{@xsect} does some more stuff based on whether this is a run-in +% heading or not. +% \begin{macrocode} + \@xsect{#5}} +% \end{macrocode} +% +% Undefine \cs{@ssect} to save memory; it's not needed in \cls{amsart}. +% \begin{macrocode} +\let\@ssect\relax +% \end{macrocode} +% +% \subsection{Chapters and sections} +% Allocate counters for sectioning commands. Paragraph and subparagraph +% counters are allocated but normally not used. +% \begin{macrocode} +\newcounter{part} +%\newcounter{chapter} +%\newcounter{section} +%\newcounter{section}[chapter] +%\def\thesection{\arabic{section}} +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] +\newcounter{subparagraph}[paragraph] +% \end{macrocode} +% Set numbering style for sectioning commands. In a couple of cases +% resetting is unnecessary but we include the full list here for +% completeness. +% \begin{macrocode} +\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}} +% \end{macrocode} +% Depth of section numbering; if \fn{secnumdepth} were 2 instead of +% 3, \cn{subsubsection} would not be numbered. +% \begin{macrocode} +\setcounter{secnumdepth}{3} +% \end{macrocode} +% +% The arguments of \cs{@startsection} are given for reference: +%\begin{verbatim} +% % #1 #2 #3 #4 #5 #6 +% {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} +%\end{verbatim} +% +% \begin{macrocode} +\def\partname{Part} +%<*amsart|amsproc> +\def\part{\@startsection{part}{0}% + \z@{\linespacing\@plus\linespacing}{.5\linespacing}% + {\normalfont\bfseries\raggedright}} +% +% \end{macrocode} +% +% Specialsection correlates to our inhouse Z-head. +% \begin{macrocode} +\def\specialsection{\@startsection{section}{1}% +% \z@{\linespacing\@plus\linespacing}{.5\linespacing}% +% \z@{2\linespacing\@plus\linespacing}{.5\linespacing}% +% {\normalfont\centering}} +% {\large\scshape\centering}} +% \end{macrocode} +% +% In the book class \cn{part} puts the part title on a separate +% page. +% \begin{macrocode} +%<*amsbook> +\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}} +% +% \end{macrocode} +% +% The arguments of \cs{partrunhead} are \cs{partname}, +% \cs{thepart}, and the text of the part title. The first two were +% fully expanded during the marking process. Use of a mere +% interword space between the first two args makes it possible +% to apply \cn{ignorespaces} and \cn{unskip} as shown here +% to produce the desired results if one or the other is empty. +% \begin{macrocode} +%<*amsbook> +\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 +% +% \end{macrocode} +% +% Section headings in the amsbook style differ from the amsart +% style in a couple of ways: The ones that aren't centered are +% indented on the left, instead of flush left; and the first +% level, \cn{section}, is not small caps but bold. +% Cf.~the definition of \cn{appendix}. +% \begin{macrocode} +\def\section{\@startsection{section}{1}% + \z@{.7\linespacing\@plus\linespacing}{.5\linespacing}% +% {\normalfont\scshape\centering}} +% {\normalfont\bfseries\centering}} +% \end{macrocode} +% +% Negative value for \arg{5} is a signal to make a run-in heading instead +% of doing a vskip after the heading. +% \begin{macrocode} +\def\subsection{\@startsection{subsection}{2}% +% \z@{.5\linespacing\@plus.7\linespacing}{-.5em}% +% \normalparindent{.5\linespacing\@plus.7\linespacing}{-.5em}% + {\normalfont\bfseries}} +% \end{macrocode} +% +% \begin{macrocode} +\def\subsubsection{\@startsection{subsubsection}{3}% +% \z@{.5\linespacing\@plus.7\linespacing}{-.5em}% +% \normalparindent\z@{-.5em}% + {\normalfont\itshape}} +% \end{macrocode} +% +% Fontdimen 2 of the current font is the ideal interword space of the +% font. Thus the following spec says that the space after the +% paragraph heading should be a normal interword space (but +% nonstretching and nonshrinking). +% \begin{macrocode} +\def\paragraph{\@startsection{paragraph}{4}% +% \z@\z@{-\fontdimen2\font}% +% \normalparindent\z@{-\fontdimen2\font}% + \normalfont} +% \end{macrocode} +% +% \begin{macrocode} +\def\subparagraph{\@startsection{subparagraph}{5}% + \z@\z@{-\fontdimen2\font}% + \normalfont} +% \end{macrocode} +% +% \begin{macrocode} +%<*amsart|amsproc> +\def\appendix{\par\c@section\z@ \c@subsection\z@ + \let\sectionname\appendixname + \def\thesection{\@Alph\c@section}} +\def\appendixname{Appendix} +% +% \end{macrocode} +% +% A slower, but fully expandable definition of \cs{@Roman} to avoid +% the nonexpandable \cn{uppercase} which is undesirable in certain +% circumstances. +% \begin{macrocode} +\def\@Roman#1{\@xp\@slowromancap + \romannumeral#1@}% +% +\def\@slowromancap#1{\ifx @#1% then terminate + \else +% \end{macrocode} +% Note: \cs{if} is required here, not \cs{ifx}, because +% \cs{romannumeral} returns category 12 letters! +% \begin{macrocode} + \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 +} +% \end{macrocode} +% +% \subsection{Book features} +% Books (monographs) comprise three distinct sections, +% \cn{frontmatter}, \cn{mainmatter}, and \cn{backmatter}. The +% \cn{frontmatter} would consist of the title page, copyright page, +% table of contents, preface, etc. The \cn{mainmatter} would +% be the body of the book. The \cn{backmatter} would include the +% appendix, bibliography, glossary, and index. +% \begin{macrocode} +%<*amsbook> +\def\frontmatter{\cleardoublepage\pagenumbering{roman}} +\def\mainmatter{\cleardoublepage\pagenumbering{arabic}} +\def\backmatter{% + \if@openright\cleardoublepage\else\clearpage\fi + \let\chaptername\relax} +% +% \end{macrocode} +% +% Book proceedings and monographs allow a signature to print at the +% end of a preface. +% \begin{macrocode} +%<*!amsart> +\def\aufm#1{\par\vspace*{12pt}{\flushright #1\par}} +% +% \end{macrocode} +% +% Monographs can have a special exercise environment. +% +% \begin{macrocode} +%<*amsbook> +\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 +} +% +% \end{macrocode} +% +% \subsection{Book chapters} +% The \cn{chapter} command is provided only in the \cls{amsbook} class, +% not in \cls{amsart} or \cls{amsproc}. +% \begin{macrocode} +%<*amsbook> +\def\chapter{% + \if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{plain}\global\@topnum\z@ + \@afterindenttrue \secdef\@chapter\@schapter} +% \end{macrocode} +% \cs{@chapter} for numbered chapters. +% \begin{macrocode} +\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} +% \end{macrocode} +% \cs{@schapter} for unnumbered chapters. +% \begin{macrocode} +\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} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand\chaptername{Chapter} +\newcommand\appendixname{Appendix} +% \end{macrocode} +% +% \begin{macrocode} +\def\@makechapterhead#1{\global\topskip 7.5pc\relax + \begingroup + \fontsize{\@xivpt}{18}\bfseries\centering +% \end{macrocode} +% In order to keep the chapter number ``CHAPTER III'' from +% getting in the way of the \cs{topskip} we put it inside +% the paragraph containing the main title. Then we have to +% do some laborious \cs{rlap}ing and \cs{hskip}ing to +% position it correctly. +% \begin{macrocode} + \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@ } +% \end{macrocode} +% +% \begin{macrocode} +\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@ } +% +% \end{macrocode} +% The \cn{appendix} command, following the \latex/ book, marks the +% start of a division after \cn{mainmatter} and before +% \cn{backmatter} that consists of appendixes. +% \begin{macrocode} +%<*amsbook> +\def\appendix{\par + \c@chapter\z@ \c@section\z@ + \let\chaptername\appendixname + \def\thechapter{\@Alph\c@chapter}} +% +% \end{macrocode} +% +% \subsection{Table of contents macros} +% +% \cn{tableofcontents} is like \cn{chapter} or \cn{section} except +% for no number and no table of contents entry. +% +% \cs{@pnumwidth} is the maximum width for page numbers in a table of +% contents. |1.6em| allows enough room for three digits. +% \begin{macrocode} +\newcommand{\@pnumwidth}{1.6em} +% \end{macrocode} +% \cs{@tocrmarg} is \cs{@pnumwidth} plus the desired minimum +% space (|1em|) between page numbers and the preceding text. +% \begin{macrocode} +\newcommand{\@tocrmarg}{2.6em} +%\setcounter{tocdepth}{2} +%\setcounter{tocdepth}{1} +% \end{macrocode} +% +% \begin{macrocode} +\newswitch{toc} +\newswitch{lof} +\newswitch{lot} +% \end{macrocode} +% +% Since table of contents, list of figures and list of figures +% are identical in design as far as the chapter heading and other +% preliminaries go, we redefine \cs{@starttoc} to do the necessary +% work, rather than defining a new macro (which would use up another +% control sequence name). +% +% We define first the article form of \cs{@starttoc}, then the book +% form. +% +% Owing to confusion about what font to use for \cn{contentsname}, a +% symbolic name has been assigned to provide flexibility. +% \begin{macrocode} +%<*amsart|amsproc> +\newcommand\contentsnamefont{\scshape} +% \end{macrocode} +% +% \begin{macrocode} +\def\@starttoc#1#2{\begingroup + \setTrue{#1}% +% \end{macrocode} +% Remove the skip after the abstract so that we can substitute another. +% \begin{macrocode} + \par\removelastskip\vskip\z@skip +% \end{macrocode} +% The first two arguments of \cs{@startsection} here are special values +% that cause different internal branches to be taken. +%\begin{verbatim} +% Arguments: {} = name = empty +% \@M = no number should be used and no table of contents entry +% \z@ = indent amount +% 12pt + 12pt = vskip before +% 6pt = vskip after +% \centering\contentsnamefont = format +%\end{verbatim} +% \begin{macrocode} + \@startsection{}\@M\z@{\linespacing\@plus\linespacing}% + {.5\linespacing}{\centering\contentsnamefont}{#2}% +% \end{macrocode} +% If we have a list of figures or list of tables we want to put +% them in the main table of contents, but we don't want to put an +% entry there for the main table of contents itself. So we check +% to see if argument 2 is \cn{contentsname} and if it is then +% we refrain from doing \cn{addcontentsline}. +% \begin{macrocode} + \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 +} +% +% \end{macrocode} +% And here is the book form of \cs{@starttoc}. +% \begin{macrocode} +%<*amsbook> +\def\@starttoc#1#2{% + \begingroup + \setTrue{#1}% +% \end{macrocode} +% Inside this group we change \cs{secdef} so that we can call +% \cn{chapter} and only get the preliminary part of its definition +% that we need. +% \begin{macrocode} + \let\secdef\@gobbletwo \chapter +% \end{macrocode} +% If we have a list of figures or list of tables we want to put +% them in the main table of contents, but we don't want to put an +% entry there for the main table of contents itself. So we check +% to see if argument 2 is \cn{contentsname} and if it is then +% we refrain from doing \cn{addcontentsline}. +% \begin{macrocode} + \let\@secnumber\@empty % for \@tocwrite and \chaptermark + \ifx\contentsname#2% + \else \@tocwrite{chapter}{#2}\fi +% \end{macrocode} +% Now we do the equivalent of \cs{@schapter}. Expand \arg{2} so that +% it will be easy to apply uppercasing to it. (For \cs{@starttoc} we +% assume that \arg{2} is always a control such as \cn{contentsname}.) +% \begin{macrocode} + \typeout{#2}\@xp\chaptermark\@xp{#2}% + \@makeschapterhead{#2}\@afterheading +% \end{macrocode} +% Protect against document classes that have nonzero \cs{parskip}. +% \begin{macrocode} + \parskip\z@skip +% \end{macrocode} +% And finally we read in the \fn{.toc} (or whatever) file. +% \begin{macrocode} + \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 +} +% +% \end{macrocode} +% +% Now it is easy to define \cn{tableofcontents} and its relatives. +% \begin{macrocode} +\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} +% \end{macrocode} +% +% In order to automatically leave enough space for the `number' part +% of toc entries, we compute the maximum width of the `number' part +% for each sectioning level and pass that information to +% \cs{@tocline} through the \fn{.aux} file. +% +% Init the tocindents if they are not yet set (first run). +% \begin{macrocode} +\AtBeginDocument{% + \@for\@tempa:=-1,0,1,2,3\do{% + \@ifundefined{r@tocindent\@tempa}{% + \@xp\gdef\csname r@tocindent\@tempa\endcsname{0pt}}{}% + }% +} +% \end{macrocode} +% +% \begin{macro}{\@writetocindents} +% This function writes out the max toc indents to the aux file. +% \begin{macrocode} +\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} +% \end{macrocode} +% \end{macro} +% + +% \begin{macro}{\indentlabel} +% This function is a no-op except in \cs{@tocwrite} where it is a +% pointer to \cs{@tochangmeasure}. +% \begin{macrocode} +\let\indentlabel\@empty +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@tochangmeasure} +% This function measures the hangindent part of a toc entry and +% updates the current max for the given sectioning level, if +% necessary. The max's at the end of the document will be written +% in the form of a pseudo-label to the \fn{.aux} file by +% \cs{@writetocindents}. +% +% We can assume that \cs{@tochangmeasure} is already inside a group +% when called. +% \begin{macrocode} +\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 +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@toclevel} +% Initialize, for the record. +% \begin{macrocode} +\def\@toclevel{0} +% \end{macrocode} +% \end{macro} +% +% Since we don't have leader dots, we have \cs{@tocline} instead of +% \cs{@dottedtocline}. +% \begin{macrocode} +\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} +% \end{macrocode} +% +% \begin{macrocode} +\def\@tocpagenum#1{\hss{\mdseries #1}} +% \end{macrocode} +% +% The function \cs{@tocwrite} writes the information of a section +% heading to the \fn{.toc} file in a standard form. It allows +% different functions to be substituted for \cs{numberline}, to get +% greater control of toc formatting. +% \begin{macrocode} +\def\@tocwrite#1{\@xp\@tocwriteb\csname toc#1\endcsname{#1}} +% \end{macrocode} +% The \cn{chapter} command uses \cs{@tocwriteb} directly because of +% the need to write slightly different things to the toc file +% depending on the current value of \cn{chaptername}. +% \begin{macrocode} +\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}}} +% \end{macrocode} +% +% Specs for monograph toc are as follows (tocdepth is 1, i.e., +% subsections and lower are not listed in toc). +%\begin{verbatim} +% Part: Space above 12pt plus2pt, indent 0pt, "Part" + wordspace + +% number + "." + 1em + title (raggedright, no hangindent) + 1em + +% page number in column 1.6em wide. +% +% Chapter: Space above 8pt, hangindent on ("Chapter 0" + "." + 1em), +% + title (raggedright) + 1em + page number in column 1.6em wide. +% +% Appendix: Same as Chapter except for epithet "Appendix M" +% +% Section: Space above 0pt, hangindent on (1pc + "0.0" + "." + 1em), +% + title (raggedright) + 1em + page number in column 1.6em wide. +%\end{verbatim} +% +% Specs for article toc are as follows (tocdepth 2): +%\begin{verbatim} +% Section: Same as for monograph. +% +% Subsection: Space above 0pt, hangindent 6pc (number + "." + 1em), +% + title (raggedright) + 1em + page number in column 1.6em wide. +% +% Subsubsection: Same as subsection but hangindent 8pc +%\end{verbatim} +% +% Typical invocation of \cs{l@chapter}: +%\begin{verbatim} +% \contentsline{chapter}{% +% \tocchapter{Chapter}{3}{Some title stuff}}{103} +% -->\l@chapter--> +% #1 #2 #3 #4 #5 +% \@tocline{0}{8pt}{0pt}{}{\bfseries} +% #6 6a 6b 6c #7 +% {\tocchapter{Chapter}{3}{Some title stuff}}{103} +%\end{verbatim}% +% The \cs{tocchapter} is a slightly more useful form than +% \cs{numberline} that allows control for optionally omitting strings +% like `Chapter' or changing fonts for subcomponents of the toc +% entry. Note that it is allowed to have appendix and chapter at the +% same toc level, with \cs{tocappendix} instead of \cs{tocchapter} +% written in the \fn{.toc} file. +% +% The arguments of \cs{@tocline} are as follows: +%\begin{verbatim} +% \@tocline{LEVEL}{VSPACE}{INDENT}{NUMBERWIDTH}{EXTRA}% +% {TEXT}{PAGENUM} +%\end{verbatim}% +% where `numberwidth' is the width of the box allotted to contain the +% section number, including any preceding word like `Chapter' or +% `Part'. If this width arg is empty then an automatically computed +% width (max over TOC of the numberwidths for this level) is used. +% The `extra' argument is formatting such as font changes. +% The `text' argument contains a section-command specific function +% like \cs{tocsection} or \cs{tocchapter} which takes in turn three +% arguments: epithet, number, topic. +% \begin{macrocode} +\def\l@section{\@tocline{1}{0pt}{1pc}{}{}} +% \end{macrocode} +% *** The indents do not agree between in-house and distributed ***\\ +% *** versions; no changes; get specs before revising. ***\\ +% The use of \cn{ignorespaces} in \cs{tocsection} and its relatives +% means that if \arg{1} is empty, the following space will be also +% removed. +% \begin{macrocode} +\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 +% \end{macrocode} +% In this case we are pretty sure the word "Appendix" or similar is +% present, so only check if arg 2 is empty: +% \begin{macrocode} +\newcommand{\tocappendix}[3]{% + \indentlabel{#1\@ifnotempty{#2}{ #2}.\quad}#3} +% \end{macrocode} +% +% \begin{macrocode} +\def\l@figure{\@tocline{0}{3pt plus2pt}{0pt}{1.5pc}{}} +\let\l@table=\l@figure +% \end{macrocode} +% +% \subsection{Bibliography section or chapter} +% +% Following the \pkg{babel} package, we use \cn{refname} in articles +% and \cn{bibname} in books. +% \begin{macrocode} +\def\refname{References} +\def\bibname{Bibliography} +% \end{macrocode} +% +% Restudy the following code; \cs{bibsetup} isn't used anywhere +% although it's defined for the three different bibstyles. +% Because some publications have different default label styles, +% separate that out for easy tailoring of packages. +% \begin{macrocode} +\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} +% \end{macrocode} +% +% Permit easy change of font size for unusual purpose, e.g., for +% an author's ``life list'' in collected works. [bnb, 2004/04/01] +% \begin{macrocode} +\newcommand{\bibliofont}{\footnotesize} +% \end{macrocode} +% +% \env{thebibliography} differs in some author packages only in the +% shape of the title; make this easy to change. [bnb, 2004/05/22] +% \begin{macrocode} +\newcommand{\@bibtitlestyle}{% +% \@xp\section\@xp*\@xp{\refname}% +% \@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 +}{% +% \end{macrocode} +% Change error for empty list (no items) to warning, to allow authors +% to leave their bibliography temporarily empty during writing: +% \begin{macrocode} + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \endlist +} +% \end{macrocode} +% +% The \cn{bysame} command prints a horizontal dash indicating +% repetition of the author's name in consecutive bibliography +% entries. +% \begin{macrocode} +\def\bysame{\leavevmode\hbox to3em{\hrulefill}\thinspace} +% \end{macrocode} +% We define \cn{newblock} even though it's not needed for AMS +% publication style, just to avoid error messages when a non-AMS +% \fn{.bst} file is used. This is a convenience for users; use of +% \cn{newblock} is not recommended for submissions to the AMS. +% \begin{macrocode} +\def\newblock{} +% \end{macrocode} +% +% \begin{macro}{\MR} +% \begin{macro}{\MRhref} +% Provide an MR number for a bibliography item. At the moment +% [mjd,1995/08/07] this only prints the MR number, but later +% we expect to extend it to write an HTML \cs{special} to the +% \fn{.dvi} file. +% +% The presentation of the MR number has been simplified (from using +% a bold volume number) coincident with the change in the MathSciNet +% database to a 7-digit reference number from the volume:number form. +% +% Ensure that an old-style MR number does not break across lines if +% it contains a space; editorial request. [bnb; 2004/04/01] +% Countermanded, to permit break between reference number and an +% old-style number following in parentheses. [bnb; 2004/06/11] +% \begin{macrocode} +\newcommand\MR[1]{\relax\ifhmode\unskip\spacefactor3000 \space\fi + MR~\MRhref{#1}{#1}} +% \end{macrocode} +% +% \begin{macrocode} +\let\MRhref\@gobble +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\URL} +% \begin{macro}{\URLhref} +% \begin{macro}{\@URL} +% Allows sticking in an arbitrary URL in a bibliography. Leading +% ``http'' is not assumed. Call \cn{verb} to ensure that special +% characters in the URL don't cause trouble. +% \begin{macrocode} +\newcommand\URL{\begingroup + \def\@sverb##1{% + \def\@tempa####1##1{\@URL{####1}\egroup\endgroup}% + \@tempa}% + \verb} +% \end{macrocode} +% +% \begin{macrocode} +\let\URLhref\@gobble +\def\@URL#1{\URLhref{#1}#1} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsection{Index section or chapter} +% +% Chapter or section heading for an index. Index is set up to be two +% columns. +% \begin{macrocode} +\newif\if@restonecol +% \end{macrocode} +% +% \begin{macrocode} +%<*amsbook> +\def\indexchap#1{\global\topskip 7.5pc\relax + \twocolumn[{\fontsize{\@xivpt}{18}\bfseries\centering + \vskip\topskip\hbox{}\vskip-\baselineskip% adjust top space + #1\par +% \end{macrocode} +% After \cs{twocolumn} finishes operating, the top material is left in an +% insert register, and topskip will now be applied above the +% following material. So we should set it to the normal +% after-chapter-title space (34pt)---cf.~\cs{@makeschapterhead}. +% \begin{macrocode} + \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}{} +% +% \end{macrocode} +% +% \env{theindex} differs in some author packages only in the +% shape of the title; make this easy to change. [bnb, 2004/05/22] +% \begin{macrocode} +\newcommand{\@indextitlestyle}{% +%<*amsbook> + \let\@makeschapterhead\indexchap + \@xp\chapter\@xp*\@xp{\indexname}% +% +% \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} +% \end{macrocode} +% +% \begin{macrocode} +\def\indexname{Index} +% \end{macrocode} +% +% \begin{macrocode} +\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} +% \end{macrocode} +% +% \subsection{Footnotes} +% In books the footnote counter should reset to 0 at the beginning of +% each chapter: +% \begin{macrocode} +%\@addtoreset{footnote}{chapter} +% \end{macrocode} +% +% Rule above footnotes is 5 picas wide. +% \begin{macrocode} +\def\footnoterule{\kern-.4\p@ + \hrule\@width 5pc\kern11\p@\kern-\footnotesep} +% \end{macrocode} +% +% A simple superscript doesn't work here; it fails on a minipage, +% where \cs{itshape} (which is invalid in math mode) is used for the +% footnote numbers. Cf.~ the definition of \cn{textprime}. +% \begin{macrocode} +\def\@makefnmark{% + \leavevmode + \raise.9ex\hbox{\fontsize\sf@size\z@\normalfont\@thefnmark}% +} +% +\def\@makefntext{\indent\@makefnmark} +% \end{macrocode} +% Add \cn{normalfont} before \cn{footnotesize} so that +% fonts will come out properly using the new font selection scheme. +% \begin{macrocode} +\long\def\@footnotetext#1{% + \insert\footins{% + \normalfont\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep \splitmaxdepth \dp\strutbox + \floatingpenalty\@MM \hsize\columnwidth +% \end{macrocode} +% Mostly \cs{@parboxrestore} does what we want; but not with +% respect to \cs{parindent} and \cs{tolerance}. +% \begin{macrocode} + \@parboxrestore \parindent\normalparindent \sloppy + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}} +% \end{macrocode} +% We change \cn{sloppy} to keep it from overriding our normal value of +% 1pt for \cs{hfuzz} and \cs{vfuzz} with a LESS sloppy value (.5pt). +% \begin{macrocode} +\hfuzz=1pt \vfuzz=\hfuzz +\def\sloppy{\tolerance9999 \emergencystretch 3em\relax} +% \end{macrocode} +% +% \subsection{Float placement parameters} +% These control the placing of floating objects like tables and +% figures. We use much more tolerant values than the \latex/ defaults; +% the \latex/ defaults are geared to fussier page breaks, at a price of +% requiring more manual intervention to deal with difficult page +% breaking problems. +% +% When using \latex/'s twocolumn option, `page' really means `column', +% for the parameters that don't have a dbl prefix: that is, topnumber +% is then the maximum number of top figures allowed in each column, +% and so forth. +% \begin{description} +% \item[topnumber] maximum number of top figures allowed per page +% \item[bottomnumber] maximum number of bottom figures allowed per page +% \item[totalnumber] maximum number of figures (top and bottom) allowed +% per page +% \item[dbltopnumber] same as topnumber, but for two-column wide +% figures, when double-column format is used +% \end{description} +% \begin{macrocode} +\setcounter{topnumber}{4} +\setcounter{bottomnumber}{4} +\setcounter{totalnumber}{4} +\setcounter{dbltopnumber}{4} +% \end{macrocode} +% Float fraction parameters. +% \begin{description} +% \item[\cs{topfraction}] maximum part of the page allowed for top +% figures, expressed as a decimal fraction. The value of .97 means +% roughly `accept pages that have only two lines of text, and the +% rest figures'. +% \item[\cs{bottomfraction}] same as \cs{topfraction}, but for bottom +% figures +% \item[\cs{textfraction}] \emph{minimum} part of the page that must be +% occupied by text, if the page is to have any text at all. If this +% value cannot be achieved, \latex/ will turn the current figure or +% figures into a ``float page'', i.e., a page of figures without any +% text. +% \item[\cs{floatpagefraction}] minimum amount (that is, total combined +% height) of figures needed before \latex/ will make a float page. This +% is expressed as a fraction of the normal page height. +% \item[\cs{dbltopfraction}] like \cs{topfraction}, but applies only to +% figures that are two columns wide, when double-column format is +% used. +% \item[\cs{dblfloatpagefraction}] minimum amount of double-column +% figure material needed before \latex/ will make a two-column wide +% ``float page'' +% \end{description} +% \begin{macrocode} +\renewcommand{\topfraction}{.97} +\renewcommand{\bottomfraction}{.97} +\renewcommand{\textfraction}{.03} +\renewcommand{\floatpagefraction}{.9} +\renewcommand{\dbltopfraction}{.97} +\renewcommand{\dblfloatpagefraction}{.9} +% \end{macrocode} +% +% We also modify the default values for spacing around floating +% figures: (A) so that figures on a float page will not be +% vertically centered on the total page height but will +% be flush at the top of the page, and (B) so that there will +% be slightly more stretchability around figures, to help find better +% page breaks in difficult situations. +% +% \begin{description} +% \item[\cs{floatsep}] Space between consecutive figures +% \item[\cs{textfloatsep}] Space between text and top or bottom figures +% \item[\cs{intextsep}] Space above and below a figure in the middle of +% the text (i.e., placed with the |[h]| option) +% \item[\cs{dblfloatsep}] Space between consecutive figures that are +% two columns wide (when two-column format is used) +% \item[\cs{dbltextfloatsep}] Space between double-column figures and text +% \item[\cs{@fptop}] Space above the first figure on a float page +% \item[\cs{@fpsep}] Space between figures on a float page +% \item[\cs{@fpbot}] Space below the last figure on a float page +% \item[\cs{@dblfptop}] Space above the first double-column figure on a +% two-column wide float page +% \item[\cs{@dblfptop}] Space between double-column figures on a two-column +% wide float page +% \item[\cs{@dblfptop}] Space below the last double-column figure on a +% two-column wide float page +% \end{description} +% \begin{macrocode} +\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} +% \end{macrocode} +% +% \cs{fps@figure}, \cs{fps@table}: placement specifications for +% \env{figure} and \env{table} environments. `|tbp|' means that a +% figure will be placed at the top or bottom of a page, or on a +% separate page with no text. This might be changed to `|tp|', for +% example, if you never want figures to appear at the bottom of a +% page. +% \begin{macrocode} +\newcommand{\fps@figure}{tbp} +\newcommand{\fps@table}{tbp} +% \end{macrocode} +% +% Some more setup for figures. +% \begin{macrocode} +%\newcounter{figure} +%\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 +} +% \end{macrocode} +% And similar for tables. +% \begin{macrocode} +%\newcounter{table} +%\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 +} +% \end{macrocode} +% +% Change \cs{@floatboxreset} to add \cn{centering}. Centering is +% always applied to tables and figures in AMS publications. It should +% not be necessary to throw in |\begin{center}| \ldots |\end{center}| +% in every instance to achieve this. +% \begin{macrocode} +\def\@floatboxreset{\global\@minipagefalse \centering} +% \end{macrocode} +% +% This is what we want \cs{@makecaption} to do: If the total width is +% greater than normal columnwidth we want to break the caption into +% lines using a line width of $W$ = (columnwidth $-$ 6pc), and center +% the resulting block between the margins. Otherwise we want to set +% the caption as a single line, centered between the margins. +% +% To do this we set the caption as a vbox with line width $W$, +% except that we allow the last line (which may be the only line) to +% have width up to full columnwidth by adding a kern of -6pc. If the +% result is a single hbox (i.e., a single line) we need to unpack the +% hbox, remove rightskip, parfillskip, and the -6pc kern, and center +% the remaining material. If the caption is more than one line, then +% box 1 contains the last line, which we need to unpack in the same +% way, and run through the paragraphing process again (because this +% last line may be up to 6 picas wider than the desired width). +% +% In practice this procedure tends to fail if there are any potential +% breakpoints near the end of the first line (in the window between +% short-width and full-width). Then \TeX{} tends to choose a break +% (depending on spaceskip, tolerance, etc) at the last acceptable +% breakpoint before short-width is exceeded, \emph{without +% considering any later material}---in particular, the negative kern. +% [This was pointed out by Donald Arseneau, May 2000.] Unfortunately, +% setting parfillskip to a negative value does not work either. I +% guess this is a special case of the existing limitation on +% parshape: you cannot specify a parshape in terms of number of lines +% from the bottom of the paragraph. (We would like to specify a +% parshape where the last line is 6 picas longer than the others.) +% +% Finally, if the caption is for a figure, it will be set below the +% figure, so the separating space goes above the caption; otherwise +% the separating space goes below the caption. +% \begin{macrocode} +\long\def\@makecaption#1#2{% +% \end{macrocode} +% Measure the contents of the caption. If \arg{2} is not +% empty, then we must add a period and an en-space before +% typesetting it. The \cs{@caption} macro adds an extra +% \cn{ignorespaces} at the beginning of \arg{2}, so in order +% to find out if the user-typed portion is empty we use +% \cs{@cdr} to pull off the \cn{ignorespaces}. +% \begin{macrocode} +% Use color-safe commands + \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 +% \end{macrocode} +% If \cs{@tempboxa} is not empty at this point then the caption was +% more than one line long or there was extra vertical mode material, +% maybe a \cs{write} (from \cn{index} or something). +% Interestingly, we can't use \cs{ifvoid} to see if +% \cs{@tempboxa} is empty, because empty is not the same thing +% as void (as far as the \cs{ifvoid} test is concerned). So +% instead we measure the width of \cs{@tempboxa} +% to see if it's zero; this should suffice for non-bizarre cases. +% \begin{macrocode} + \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 +} +% \end{macrocode} +% Allocate the skip registers for above and below caption space. +% \begin{macrocode} +\newskip\abovecaptionskip \abovecaptionskip=12pt \relax +\newskip\belowcaptionskip \belowcaptionskip=12pt \relax +\newdimen\captionindent \captionindent=3pc +% \end{macrocode} +% +% \subsection{Miscellaneous} +% +% \begin{macro}{\nonbreakingspace} +% Change \qc{\~} to be more forgiving of accidental adjacent spaces. +% Note that this means multiple |~~~...| cannot be used to get +% multiple spaces in the output. +% \begin{macrocode} +\def\nonbreakingspace{\unskip\nobreak\ \ignorespaces} +\def~{\protect\nonbreakingspace} +% \end{macrocode} +% \end{macro} +% +% Redefine \cs{@biblabel} to do nothing if the argument is empty. We +% don't really care what the previous definition was so we don't +% check it. +% \begin{macrocode} +\def\@biblabel#1{\@ifnotempty{#1}{[#1]}} +% \end{macrocode} +% Changed \cs{@cite} to always use roman/upright, nonbold font, even +% in italic or bold text (following AMS style). +% Turn off \cs{mathsurround} just in case there are subscripts in the +% cite numbers. +% \begin{macrocode} +\def\@citestyle{\m@th\upshape\mdseries} +%\let\citeform\@firstofone +%\def\citeform#1{{\bfseries#1}} +\def\@cite#1#2{{% + \@citestyle[\citeform{#1}\if@tempswa, #2\fi]}} +% \end{macrocode} +% +% Make \cn{cite} robust if it isn't already. Too many unsuspecting +% users get problems from this in a figure or table caption. +% \begin{macrocode} +\@ifundefined{cite }{% + \expandafter\let\csname cite \endcsname\cite + \edef\cite{\@nx\protect\@xp\@nx\csname cite \endcsname}% +}{} +% \end{macrocode} +% +% \begin{macro}{\fullwidthdisplay} +% The function \cs{fullwidthdisplay} makes a displayed equation take +% up the full column width even if the current context is an indented +% list. +% \begin{macrocode} +\def\fullwidthdisplay{\displayindent\z@ \displaywidth\columnwidth} +% \end{macrocode} +% And we insert the \cs{fullwidthdisplay} function at the beginning of +% \cs{everydisplay} just in case any later code in \cs{everydisplay} +% needs to use the values of \cs{displayindent} or \cs{displaywidth}. +% \begin{macrocode} +\edef\@tempa{\noexpand\fullwidthdisplay\the\everydisplay} +\everydisplay\expandafter{\@tempa} +% \end{macrocode} +% \end{macro} +% +% A few odds and ends for indexes, based on \pkg{makeindex}. The +% definition of \cn{see} as ``see also'' is unfortunate, but of +% long standing, and cannot be changed without destroying backward +% compatibility, so an alternate command, \cn{seeonly}, is provided +% to cover the basic situation. +% \begin{macrocode} +\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}} +% \end{macrocode} +% +% \begin{macro}{\textprime} +% A text prime symbol, for applying primes to numbers such as list +% numbers or equation numbers that are not really math. Furthermore +% Cyrillic myagkii znak, or soft sign, is represented by a prime +% symbol in Russian names when they are transliterated into English. +% +% \cn{textprime} uses the prime symbol from math, but because it's +% intended specifically for nonmath use, we avoid going through math +% mode with \verb'$...$'. We must therefore call \cs{check@mathfonts} +% to ensure that \verb'scriptfont2' is actually defined. Otherwise, +% if \cn{textprime} were used in a document before the first math +% formula, there would be no adequate assignment yet for +% \verb'\scriptfont2'. +% +% The raise value of \verb'.8ex' is just a reasonable guess at making +% the bottom of the prime symbol fall near the top of a preceding +% lowercase letter but still not fall too low on an uppercase letter. +% We could look up the \cs{fontdimen} values used in math mode for +% superscripts but I don't think it's worth the bother. +% +% Cf.~also the definition of \cs{@makefnmark}. The prime symbol here +% is not raised quite so high because I think that is desirable for +% the soft-sign usage. +% \begin{macrocode} +\DeclareRobustCommand\textprime{\leavevmode + \raise.8ex\hbox{\check@mathfonts\the\scriptfont2 \char48 }} +% \end{macrocode} +% \end{macro} +% +% \subsection{Book style variations} +% Here is the layout for a \cn{maketitle} in the \cls{amsbook} class. +% \begin{macrocode} +%<*amsbook> +\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 +} +% \end{macrocode} +% +% \begin{macrocode} +\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} +% \end{macrocode} +% +% Define the desired form for translator names. +% \begin{macrocode} +\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} +% +% +% \end{macrocode} +% +% \subsection{Setup for theorems, definitions, remarks, proofs} +% \subsubsection{Intended usage} +% +% Here are some examples showing the kinds of theorem environment +% declarations that are possible. +%\begin{verbatim} +% \newtheorem{prop}{Proposition} +% \newtheorem{thm}{Theorem}[section] +% \newtheorem{lem}[thm]{Lemma} +% \newtheorem*{Zorn}{Zorn's Lemma} +% +% \theoremstyle{definition} +% \newtheorem{dfn}{Definition} +% +% \theoremstyle{remark} +% \newtheorem*{rmk}{Remark} +%\end{verbatim} +% +% The first four statements all define environments using the default +% theorem style (`plain'), since there is no prefatory +% \cn{theoremstyle} declaration. The first statement defines an +% automatically numbered \env{prop} environment whose headings will +% look like this: Proposition 1, Proposition 2, and so forth. The +% second statement defines an environment \env{thm} with numbers +% subordinate to section numbers, so the headings will look like +% this: Theorem 1.1, Theorem 1.2, Theorem 1.3, \dots, (in section 2:) +% Theorem 2.1, Theorem 2.2, and so forth. The third statement defines +% a \env{lem} environment whose numbers will interleave in sequence +% with the theorem numbers: Theorem 1.3, Lemma 1.4, Lemma 1.5, +% Theorem 1.6, and so forth. The fourth statement defines a special +% unnumbered lemma named `Zorn's Lemma'. The remaining two +% \cn{newtheorem} statements have no special features except for the +% \cn{theoremstyle} declarations that cause the \env{dfn} and +% \env{rmk} environments to have some differences in appearance. +% +% There are three basic styles provided: The `plain' style produces +% bold headings and italic body text; the `definition' style produces +% bold headings and normal body text; the `remark' style produces +% italic headings and normal body text. +% +% A \cn{swapnumbers} command allows theorem numbers to be swapped to +% the front of the theorem headings. Putting \cn{swapnumbers} in your +% document preamble will cause \emph{all following} \cn{newtheorem} +% statements to produce number-first headings. (To provide maximum +% control, \cn{swapnumbers} is designed so that it can be used more +% than once; each time it is used, theorem numbers will be swapped to +% the opposite side for all following \cn{newtheorem} statements. But +% rarely will it need to be invoked more than once per document.) +% +% \subsubsection{Custom theorem styles} +% There is a \cn{newtheoremstyle} command provided to make the +% creation of custom theoremstyles fairly easy. +% +% Usage: +%\begin{verbatim} +% #1 +% \newtheoremstyle{NAME}% +% #2 #3 #4 +% {ABOVESPACE}{BELOWSPACE}{BODYFONT}% +% #5 #6 #7 #8 +% {INDENT}{HEADFONT}{HEADPUNCT}{HEADSPACE}% +% #9 +% {CUSTOM-HEAD-SPEC} +%\end{verbatim} +% Leaving the `indent' argument empty is equivalent to entering +% |0pt|. The `headpunct' and `headspace' arguments are for the +% punctuation and horizontal space between the theorem head and the +% following text. There are two special values that may be used for +% `headspace': a single space means that a normal interword space +% should be used; ``\cn{newline}'' means that there should be a line +% break after the head instead of horizontal space. The +% `custom-head-spec' argument follows a special convention: it is +% interpreted as the replacement text for an internal three-argument +% function \cn{thmhead}, i.e., as if you were defining +%\begin{verbatim} +% \renewcommand{\thmhead}[3]{...#1...#2...#3...} +%\end{verbatim} +% but omitting the initial |\renewcommand{\thmhead}[3]|. The three +% arguments that will be supplied to \cn{thmhead} are the name, +% number, and optional note components. Within the replacement text +% you can (and normally will want to) use other special functions +% \cn{thmname}, \cn{thmnumber}, and \cn{thmnote}. These will print +% their argument if and only if the corresponding argument of +% \cn{thmhead} is nonempty. For example +%\begin{verbatim} +% {\thmname{#1}\thmnumber{ #2}\thmnote{ (#3)}} +%\end{verbatim} +% This would cause the theorem note \arg{3} to be printed with a +% preceding space and enclosing parentheses, if it is present, and if +% it is absent, the space and parentheses will be omitted because +% they are inside the argument of \cn{thmnote}. +% +% Finally, if you have an extra bit of arbitrary code that you want +% to slip in somewhere, the best place to do it is in the `body font' +% argument. +% +% The \cn{newtheoremstyle} command is designed to provide, through a +% relatively simple interface, control over the style aspects that +% are most commonly changed. More complex requirements must be +% addressed through a separate \latex/ package. +% +% When you set up custom theorem styles with \cn{newtheoremstyle} you +% should not use \cn{swapnumbers}. You have full control of the +% ordering of elements in the theorem head, just place them where you +% want. Or, if you do use \cn{swapnumbers}, you must look at the +% definition of \cs{swappedhead} and change it appropriately. + +% \subsubsection{Implementation} +% The \cn{theoremstyle} command is very simple except for the need to +% warn about an unknown theoremstyle. +% \begin{macrocode} +%<*amsthm|classes> +\newcommand{\theoremstyle}[1]{% + \@ifundefined{th@#1}{% + \PackageWarning{amsthm}{Unknown theoremstyle `#1'}% + \thm@style{plain}% + }{% + \thm@style{#1}% + }% +} +% \end{macrocode} +% +% \begin{macrocode} +\newtoks\thm@style +\thm@style{plain} +% \end{macrocode} +% +% What's really needed is a full-fledged systematic approach for +% specifying the desired order and formatting of the three identified +% parts of a theorem head (name, number, note). +% \begin{macrocode} +\newtoks\thm@bodyfont \thm@bodyfont{\itshape} +\newtoks\thm@headfont \thm@headfont{\bfseries} +\newtoks\thm@notefont \thm@notefont{} +\newtoks\thm@headpunct \thm@headpunct{.} +% \end{macrocode} +% Vertical spacing: initialize to current value of \cs{topsep}. +% If a document class loads the \pkg{amsthm} package it +% should take care to set these variables explicitly, if current +% \cs{topsep} is not the desired value. +% \begin{macrocode} +\newskip\thm@preskip \newskip\thm@postskip +%<*classes> +\def\thm@space@setup{% + \thm@preskip=.5\baselineskip\@plus.2\baselineskip + \@minus.2\baselineskip + \thm@postskip=\thm@preskip +} +% +%<*amsthm> +\def\thm@space@setup{% + \thm@preskip=\topsep \thm@postskip=\thm@preskip +} +% +% \end{macrocode} +% Modify \cn{newtheorem} to add |*| option. If a |*| is found, pass +% it on to \cs{@xnthm} as the first argument. (This information +% enables us to handle two different possibilities in a single +% function \cs{@xnthm} instead of needing two separate functions.) +% \begin{macrocode} +\renewcommand{\newtheorem}{\@ifstar{\@xnthm *}{\@xnthm \relax}} +% \end{macrocode} +% +% Check to see if an optional arg is present after the first +% mandatory arg (which is \arg{2} at the moment since the |*| or +% non-|*| is \arg{1}). +% \begin{macrocode} +\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 +} +% \end{macrocode} +% +% Environment numbered together with a previously defined +% environment. +% +% Arg1: env name, e.g. `thm'\par +% Arg2: optional sibling counter\par +% Arg3: heading text e.g. `Theorem' +% \begin{macrocode} +\def\@ynthm#1[#2]#3{% +% \end{macrocode} +% If optional arg \arg{2} is empty, call \cs{@xthm} to look for a +% possible optional arg in terminal position. Note that +% the two optional args are mutually exclusive. As \arg{2} is a +% counter name and must be processed by \cs{csname} anyway, +% we can use a simpler test instead of \cs{@ifempty}. +% \begin{macrocode} + \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 +} +% \end{macrocode} +% +% Environment numbered relative to the counter given as \arg{3}. This +% function should really be named \cs{@znthm} but we're trying to +% save a bit of hash table and string pool by reusing one of the +% command names rendered obsolete by the \pkg{amsthm} package. +% +% Arg1: env name e.g. `thm'; +% Arg2: heading text e.g. `Theorem'; +% Arg3: parent counter e.g. section. +% \begin{macrocode} +\def\@xthm#1#2[#3]{% +% \end{macrocode} +% Set up the counter \verb'c@#1' and optionally add it to the reset +% list of counter \arg{3}. As \arg{3} is a +% counter name and must be processed by \cs{csname} anyway, +% we can use a simpler test instead of \cs{@ifempty}. +% \begin{macrocode} + \ifx\relax#3\relax + \newcounter{#1}% + \else + \newcounter{#1}[#3]% +% \end{macrocode} +% Define \cn{thexxx} to be \verb'\theyyy.\arabic{xxx}' (assuming +% default values of punctuation and numbering style). The use of +% \cs{xdef} here is inherited from the old \latex/ code, I'm not +% sure it's a good idea in general, but there should not be any +% problems unless someone changes the value of \cs{@thmcountersep} or +% \cs{@thmcounter}. +% \begin{macrocode} + \@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@}}% +} +% \end{macrocode} +% +% [mjd,1999/10/13] The following code doesn't handle the case where +% an equation is immediately followed by a theorem with no +% intervening \cs{par}---then the spacefactor is 1000. +% \begin{macrocode} +% % \def\thm@check@break{% +% % \ifhmode \unskip \unskip +% % \edef\pre@thm@spacefactor{\the\spacefactor}\par +% % \edef\thm@topbreak{% +% % \ifnum\pre@thm@spacefactor<\sfcode`\!\relax +% % % preceding text line did not end with end-of-sentence punctuation +% % \ifnum\prevgraf=\@ne \penalty\widowpenalty +% % \else \penalty9999\relax +% % \fi +% % \else +% % \@nx\addpenalty{\@beginparpenalty}% +% % \fi +% % }% +% % \else +% % \def\thm@topbreak{\addpenalty\@beginparpenalty}% +% % \fi +% % } +% \end{macrocode} +% +% If arg \arg{2} is empty, this is an unnumbered environment; +% otherwise \arg{2} is the name of a counter. \arg{3} is descriptive +% name such as ``Theorem'' or ``Lemma''. Arg \arg{1} is the style +% function, for example \cs{th@plain}. +% \begin{macrocode} +\def\@thm#1#2#3{% + \ifhmode\unskip\unskip\par\fi + \normalfont + \trivlist +% \end{macrocode} +% Explicitly set plain style here, then override parts as necessary +% in the function provided as \arg{1}. +% \begin{macrocode} + \let\thmheadnl\relax + \let\thm@swap\@gobble +% \let\thm@indent\noindent % no indent +% \thm@headfont{\bfseries}% heading font bold +% \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 +} +% \end{macrocode} +% +% The internal function \cs{@restorelabelsep} starts out as a no-op. +% I don't think this is needed any more [mjd,2000/10/26]. +% \begin{macrocode} +\def\@restorelabelsep{\relax} +% \end{macrocode} +% +% This variation of the \cs{@thm} command is no longer needed. The +% variation \cs{@xthm} was commandeered for \cn{newtheorem} use. +% \begin{macrocode} +\let\@ythm\relax +% \end{macrocode} +% +% Init \cn{thmname} etc. +% \begin{macrocode} +\let\thmname\@iden \let\thmnote\@iden \let\thmnumber\@iden +% \end{macrocode} +% +% \begin{macro}{\@upn} +% The function \cs{\@upn} is used to force theorem numbers and +% similar elements to be upright even when the current font is +% italic. If a suitable italic font with upright numbers and +% punctuation is available, this function should be redefined to be a +% no-op. +% \begin{macrocode} +\providecommand\@upn{\textup} +% \end{macrocode} +% \end{macro} +% +% Definitions for theorem heads. +% \begin{macrocode} +\def\thmhead@plain#1#2#3{% +% \end{macrocode} +% To allow for the case where the thmname part is empty and the +% heading consists only of a number (don't laugh, we have +% examples from real mathematical manuscripts), we don't add the +% space at the beginning of thmnumber unless \arg{1} is nonempty. +% \begin{macrocode} + \thmname{#1}\thmnumber{\@ifnotempty{#1}{ }\@upn{#2}}% +% \end{macrocode} +% In thmnote we always add a leading space, i.e., assuming that +% at least one of the preceding parts will always be present. +% \begin{macrocode} + \thmnote{ {\the\thm@notefont(#3)}}} +\let\thmhead\thmhead@plain +% \end{macrocode} +% Swappedhead is for the case where the number precedes the +% word "Theorem". When the numbers fall on the left, like section +% numbers, AMS journal style calls for them to be lightface. We get +% this by invoking \cs{@secnumfont}. +% +% In handling the punctuation after the number we have to step +% delicately if we want to successfully handle cases where the +% theorem name is empty (this is very rare, yet it sometimes arises +% in practice). +% \begin{macrocode} +\def\swappedhead#1#2#3{% +% \thmnumber{#2}% +% \thmname{\@ifnotempty{#2}{~}#1}% +% \thmnumber{\@upn{\@secnumfont#2\@ifnotempty{#1}{.~}}}% +% \thmname{#1}% + \thmnote{ {\the\thm@notefont(#3)}}} +% \end{macrocode} +% +% A customized definition of \cs{th@plain} written for version 1.x of +% the \pkg{amsthm} package might refer to \cs{swappedhead@plain}; this +% gives it a definition for backward compatibility. +% \begin{macrocode} +\let\swappedhead@plain=\swappedhead +% \end{macrocode} +% +% In \cs{@begintheorem} \cn{thmheadnl} is called after the theorem +% head: maybe a newline, otherwise a no-op. +% \begin{macrocode} +\let\thmheadnl\relax +\let\thm@indent\noindent +\let\thm@swap\@gobble +% \end{macrocode} +% +% If argument \arg{2} is empty, then this is an unnumbered +% environment. Otherwise \arg{2} is a numbering command such as +% \cn{thexyz}. We use \cs{deferred@thm@head} instead of \cs{item} in +% order to allow line breaking in the optional note argument. +% \begin{macrocode} +\def\@begintheorem#1#2[#3]{% + \deferred@thm@head{\the\thm@headfont \thm@indent +% \end{macrocode} +% Changes to \cs{thmnumber} and \cs{thmnote} are local to the +% containing box. +% \begin{macrocode} + \@ifempty{#1}{\let\thmname\@gobble}{\let\thmname\@iden}% + \@ifempty{#2}{\let\thmnumber\@gobble}{\let\thmnumber\@iden}% + \@ifempty{#3}{\let\thmnote\@gobble}{\let\thmnote\@iden}% +% \end{macrocode} +% The \cs{thm@swap} function selects either \cs{swappedhead} or +% \cs{thmhead}. +% \begin{macrocode} + \thm@swap\swappedhead\thmhead{#1}{#2}{#3}% +% \end{macrocode} +% I can't think of any example where the after-head punctuation +% should be omitted so it seems correct not to use \cs{@addpunct} +% here. +% \begin{macrocode} + \the\thm@headpunct +% \end{macrocode} +% If this \emph{is} a newline (from a \cn{newtheoremstyle}), it +% gets lost if there isn't any text following the heading, since +% \cs{deferred@thm@head} packs the heading into an hbox with +% \cs{sbox}\cs{@labels}. Attempting to move the \cs{thmheadnl} +% outside the scope of \cs{deferred@thm@head} (just outside the +% ending brace below) results in no improvement if no text follows +% the heading, and where there is text, runs it in. Inserting a +% space following such a heading results in an extra blank line. +% [bnb, 2004/06/30] +% \begin{macrocode} + \thmheadnl % possibly a newline. + \hskip\thm@headsep + }% + \ignorespaces} +% \end{macrocode} +% +% \begin{macrocode} +\newskip\thm@headsep +\thm@headsep=5pt plus1pt minus1pt\relax +% \end{macrocode} +% +% \begin{macrocode} +\let\adjust@parskip@nobreak=\@nbitem +% \end{macrocode} +% +% \begin{macrocode} +\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 +}% +% \end{macrocode} +% +% \begin{macrocode} +\def\deferred@thm@head#1{% + \if@inlabel \indent \par \fi % eject a section head if one is pending + \if@nobreak +% \end{macrocode} +% This case normally arises when a theorem follows immediately after +% a section head. Then we leave the below-section-head space instead +% of adding above-theorem space; but some adjustment of parskip is +% needed. +% \begin{macrocode} + \adjust@parskip@nobreak + \else + \addpenalty\@beginparpenalty + \addvspace\@topsep + \addvspace{-\parskip}% + \fi + \global\@inlabeltrue + \everypar\dth@everypar + \sbox\@labels{\normalfont#1}% + \ignorespaces +} +% \end{macrocode} +% +% \begin{macro}{\nonslanted} +% The \cn{nonslanted} command changes the current font to +% \cn{upshape} if it is \cn{itshape} or \cn{slshape}. This is used +% for document structure numbers that should be consistently upright +% in all contexts. +% \begin{macrocode} +\def\nonslanted{\relax +% \end{macrocode} +% Can't do a direct \cs{ifx} between \cs{f@shape} and \cs{itdefault} +% because the latter is \cs{long} (grumble grumble). +% \begin{macrocode} + \@xp\let\@xp\@tempa\csname\f@shape shape\endcsname + \ifx\@tempa\itshape\upshape + \else\ifx\@tempa\slshape\upshape\fi\fi} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\swapnumbers} +% The \cn{swapnumbers} command sets a switch \cs{thm@swap} that is +% used by \cn{newtheorem}. To conserve hash table we load +% \cs{thm@swap} with two uses; the first one is needed only in +% \cn{newtheorem} declarations and the second one is needed only in +% typesetting theorem environments. +% \begin{macrocode} +\def\swapnumbers{\edef\thm@swap{\if S\thm@swap N\else S\fi}} +\def\thm@swap{N}% +% \end{macrocode} +% \end{macro} +% +% \cs{@opargbegintheorem} not needed, \cs{@oparg} utility serves +% instead. +% \begin{macrocode} +\let\@opargbegintheorem\relax +% \end{macrocode} +% +% Except for the body font, default values are built into \cs{@thm}. +% \begin{macrocode} +\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 +} +% \end{macrocode} +% +% Theorem style `definition' is the same as `plain' except for the +% body font. +% \begin{macrocode} +\def\th@definition{% + \normalfont % body font +} +% \end{macrocode} +% +% Theorem style `remark' differs from `plain' in head font and body +% font. Also smaller spacing above and below for AMS classes only. +% \begin{macrocode} +\def\th@remark{% +% \thm@headfont{\itshape}% + \normalfont % body font +%<*amsthm> + \thm@preskip\topsep \divide\thm@preskip\tw@ + \thm@postskip\thm@preskip +% +} +% \end{macrocode} +% +% The standard definition of \cs{@endtheorem} is just +% \cs{endtrivlist}, but that doesn't automatically start a new +% paragraph, so we add \cs{@endpefalse} in order to ensure a new +% paragraph. This differs from the basic \latex/ behavior. +% \begin{macrocode} +\def\@endtheorem{\endtrivlist\@endpefalse } +% \end{macrocode} +% +% \begin{macro}{\newtheoremstyle} +% An easy way to make a not too complicated variant theorem style. +% Usage: +%\begin{verbatim} +% #1 +% \newtheoremstyle{NAME}% +% #2 #3 #4 +% {ABOVESPACE}{BELOWSPACE}{BODYFONT}% +% #5 #6 #7 #8 +% {INDENT}{HEADFONT}{HEADPUNCT}{HEADSPACE}% +% #9 +% {CUSTOM-HEAD-SPEC} +%\end{verbatim} +% \begin{macrocode} +\newcommand{\newtheoremstyle}[9]{% +% \end{macrocode} +% Empty or 0pt for \arg{5} is translated to \cs{noindent}. +% \begin{macrocode} + \@ifempty{#5}{\dimen@\z@skip}{\dimen@#5\relax}% + \ifdim\dimen@=\z@ +% \end{macrocode} +% \arg{4} is body font. Extra code could be included there if +% necessary. +% \begin{macrocode} + \toks@{#4\let\thm@indent\noindent}% + \else + \toks@{#4\def\thm@indent{\noindent\hbox to#5{}}}% + \fi +% \end{macrocode} +% Arg \arg{8} is a glue spec for the space after the head. As +% a proper glue spec for `normal interword space' is rather hard to +% write, we recognize an argument of |{ }| as a special case and +% translate internally to the necessary fontdimen equivalent. +% Furthermore, if \arg{8} consists entirely of \cn{newline}, then we +% will perform a line break after the theorem head instead of adding +% horizontal space. At the moment [1995/01/23] this is not perfectly +% well implemented because of complications with the way \latex/'s +% \cn{item} adds a heading to the vertical list; for best results +% there should not be anything (not even a blank line) after the +% |\begin{xxx}| command. +% \begin{macrocode} + \def\@tempa{#8}\ifx\space\@tempa +% \end{macrocode} +% Notice that we disregard stretch and shrink for labelsep = +% interwordspace. +% \begin{macrocode} + \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}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\qed} +% Define \cn{qed} for end of proof. This command might +% occur in math mode, in a displayed equation, but it should never +% occur in inner math mode in ordinary paragraph text. +% \begin{macrocode} +\DeclareRobustCommand{\qed}{% + \ifmmode \mathqed + \else + \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill +% \end{macrocode} +% The hbox is to prevent a line break within the \cn{qedsymbol} if it +% is defined to be something composite--- e.g., things like +% \verb"(Corollary 1.2) \openbox" as are occasionally done. +% \begin{macrocode} + \quad\hbox{\qedsymbol}% + \fi +} +% \end{macrocode} +% \end{macro} +% +% Setup for QED stack. We use a dedicated iterator macro \cs{qed@elt} +% instead of the generic \cs{@elt} because the \latex/ output routine +% is not safe against changes in \cs{@elt}. Therefore it is not safe +% to use \cs{@elt} for any processing that might trigger the output +% routine. Although this does not seem very likely when adding a QED +% symbol to a horizontal list, we did in fact get a bug report for +% this kind of failure. +% \begin{macrocode} +\let\QED@stack\@empty +\let\qed@elt\relax +% \end{macrocode} +% +% Puts a QED symbol on the stack: +% \begin{macrocode} +\newcommand{\pushQED}[1]{% + \toks@{\qed@elt{#1}}\@temptokena\expandafter{\QED@stack}% + \xdef\QED@stack{\the\toks@\the\@temptokena}% +} +% \end{macrocode} +% +% Pops the QED stack and prints the result. +% \begin{macrocode} +\newcommand{\popQED}{% + \begingroup\let\qed@elt\popQED@elt \QED@stack\relax\relax\endgroup +} +% \end{macrocode} +% +% \begin{macrocode} +\def\popQED@elt#1#2\relax{#1\gdef\QED@stack{#2}} +% \end{macrocode} +% +% Prints the current QED symbol and replaces the top entry on the +% stack with a null entry. +% \begin{macrocode} +\newcommand{\qedhere}{% + \begingroup \let\mathqed\math@qedhere + \let\qed@elt\setQED@elt \QED@stack\relax\relax \endgroup +} +% \end{macrocode} +% +% In case the \pkg{amsmath} or \pkg{amstext} packages are loaded, we +% need the following two tests. (Redundantly declaring them is +% harmless.) +% \begin{macrocode} +\newif\ifmeasuring@ +\newif\iffirstchoice@ \firstchoice@true +% \end{macrocode} +% +% \begin{macrocode} +\def\setQED@elt#1#2\relax{% + \ifmeasuring@ + \else \iffirstchoice@ \gdef\QED@stack{\qed@elt{}#2}\fi + \fi + #1% +} +% \end{macrocode} +% +% \begin{macro}{\mathqed} +% When a QED occurs inside a math formula, well, it is presumably a +% displayed equation. In order to find out where to place the QED +% symbol, we need to check what kind of equation structure we are in. +% +% \begin{macrocode} +\def\qed@warning{% + \PackageWarning{amsthm}{The \@nx\qedhere command may not work + correctly here}% +} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand{\mathqed}{\quad\hbox{\qedsymbol}} +% \end{macrocode} +% +% The \cs{linebox@qed} function comes into play with the \opt{fleqn} +% option. +% \begin{macrocode} +\def\linebox@qed{\hfil\hbox{\qedsymbol}\hfilneg} +% \end{macrocode} +% \end{macro} +% +% Two large sections of code follow. One for \fn{amsmath} 2.0 and one +% for plain \latex/. +% \begin{macrocode} +\@ifpackageloaded{amsmath}{% +% \end{macrocode} +% +% \begin{macrocode} + \def\math@qedhere{% + \@ifundefined{\@currenvir @qed}{% + \qed@warning\quad\hbox{\qedsymbol}% + }{% + \@xp\aftergroup\csname\@currenvir @qed\endcsname + }% + } +% \end{macrocode} +% +% \begin{macrocode} + \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 + } +% \end{macrocode} +% +% \begin{macrocode} + \@xp\let\csname equation*@qed\endcsname\displaymath@qed +% \end{macrocode} +% +% If the equation has both an equation number and a qed, we've got +% trouble, but we can provide half-way decent for the simple cases. +% \begin{macrocode} + \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 + } +% \end{macrocode} +% +% \begin{macrocode} + \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 + } +% \end{macrocode} +% +% \begin{macrocode} + \def\split@qed{% + \def\endsplit{\crcr\egroup \egroup \ctagsplit@false \rendsplit@ + \aftergroup\align@qed + }% + } +% \end{macrocode} +% +% \begin{macrocode} + \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 +% \end{macrocode} +% +% \begin{macrocode} +%% Needs some patching up for amsmath 1.2 +% \end{macrocode} +% +% \begin{macrocode} +}{% end of amsmath branch, start plain LaTeX branch +% \end{macrocode} +% +% The \cn{qedhere} handling for generic \latex/ classes (\cls{article}, +% \cls{book}) with the \pkg{amsthm} package (without \pkg{amsmath}) is +% fairly sketchy. When a qed symbol and an equation number are both +% applied to a single display, the results may not be entirely +% satisfactory, particularly when the \opt{fleqn} and/or \opt{leqno} +% options are used. [mjd,2000/01/17] +% +% As for \cs{math@qedhere}, it is expected to occur only via +% \cn{qedhere}, where the \cs{aftergroup} makes sense. +% \begin{macrocode} + \def\math@qedhere{% + \@ifundefined{\@currenvir @qed}{% + \qed@warning \aftergroup\displaymath@qed + }{% + \@xp\aftergroup\csname\@currenvir @qed\endcsname + }% + } +% \end{macrocode} +% +% The \cs{ifmmode} \cs{ifinner} case is expected to happen with the +% \opt{fleqn} option, where we have something like: +%\begin{verbatim} +%\hbox to\linewidth{\hbox{$...$}\hfil} +%\end{verbatim} +% In order to counteract the \cs{hfil} we must jump out two grouping +% levels. +% \begin{macrocode} + \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 + } +% \end{macrocode} +% +% This definition is a fallback definition that places the qed and +% then the equation number, on the right-hand side. For \opt{leqno}, +% not so good; but then +% \begin{macrocode} + \@ifundefined{ver@leqno.clo}{% + \def\equation@qed{\displaymath@qed \quad}% + }{% + \def\equation@qed{\displaymath@qed}% + } +% \end{macrocode} +% +% If \pkg{amsmath} is not loaded, then we need to do some surgery +% on the \cn{[} macro. Normally it looks like this: +%\begin{verbatim} +% \[=macro: +% ->\relax \ifmmode \@badmath \else +% \ifvmode \nointerlineskip \makebox [.6\linewidth ]\fi $$\fi +%\end{verbatim} +% +% If arg 2 is \cs{m@th} when we make this test it indicates that the +% fleqn option is in effect. Perhaps try to do something there. +% \begin{macrocode} + \def\@tempa#1$#2#3\@nil{% + \def\[{#1$#2\def\@currenvir{displaymath}#3}% + }% + \expandafter\@tempa\[\@nil +} +% \end{macrocode} +% +% If an older version of \pkg{amsmath} is in use, we need to fall +% back to a simpler definition of \cs{math@qedhere}. +% \begin{macrocode} +\@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 +% \end{macrocode} +% +% The reason that we do not simply use the \cn{square} symbol from +% \fn{msam} for the open-box qed symbol is that we want to avoid +% requiring users to have the AMSFonts font package. And the \fn{lasy} +% \cn{Box} is too large. +% \begin{macrocode} +\newcommand{\openbox}{\leavevmode +% \end{macrocode} +% I think I got these numbers from measuring \fn{msam}'s \cn{square} +% but I forgot to make notes at the time. [mjd,1995/01/25] +% \begin{macrocode} + \hbox to.77778em{% + \hfil\vrule + \vbox to.675em{\hrule width.6em\vfil\hrule}% + \vrule\hfil}} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareRobustCommand{\textsquare}{% + \begingroup \usefont{U}{msa}{m}{n}\thr@@\endgroup +} +% \end{macrocode} +% +% \begin{macrocode} +%<*classes> +\@ifclasswith{\@classname}{noamsfonts}{% + \providecommand{\qedsymbol}{\openbox}% +}{} +\providecommand{\qedsymbol}{\textsquare} +% +%\providecommand{\qedsymbol}{\openbox} +% \end{macrocode} +% +% The proof environment is never numbered, and has a \cn{qed} at the +% end, which makes it inconvenient to use \cn{newtheorem} for +% defining it. Also authors frequently need to substitute an +% alternative heading text (e.g.\ `Proof of Lemma 4.3') +% instead of the default `Proof'. For all these reasons we define the +% proof environment here instead of leaving it for authors to define. +% Text after the end of a proof, like that after the end of a theorem, +% begins a new paragraph. This differs from basic \latex/ behavior. +% [bnb, 1999/09/27] +% \begin{macrocode} +\newenvironment{proof}[1][\proofname]{\par + \pushQED{\qed}% + \normalfont \topsep6\p@\@plus6\p@\relax + \trivlist +% \itemindent\normalparindent + \item[\hskip\labelsep +% \scshape +% \itshape + #1\@addpunct{.}]\ignorespaces +}{% + \popQED\endtrivlist\@endpefalse +} +% \end{macrocode} +% Default for \cn{proofname}: +% \begin{macrocode} +\providecommand{\proofname}{Proof} +% \end{macrocode} +% +% For reference: +%\begin{verbatim} +% From: tycchow@math.mit.edu (Timothy Y. Chow) +% Subject: Suppressing theorem numbering in LaTeX +% Message-ID: <1994Aug11.234754.22523@galois.mit.edu> +% Date: Thu, 11 Aug 94 23:47:54 GMT +% To: tex-news@SHSU.EDU +% +% A friend of mine wants numbering of theorems, conjectures, and so on +% suppressed if there is only one of them in his article. In other words +% he wants "Conjecture 1" to appear as simply "Conjecture" if there is no +% Conjecture 2. What is the best way to go about doing this? +% ... +%\end{verbatim} +% Maybe something clever can be done to make the desired behavior +% happen automatically. Note that this would seem to be a general +% numbering problem rather than a theorem-specific one, because +% similar behavior would be desirable for appendixes: according to +% standard publishing practice, if there's only one it is titled just +% `Appendix', and if there are more than one they are titled +% `Appendix A', `Appendix B', and so on. +% +% \begin{macrocode} +% +%<*classes> +% \end{macrocode} +% +% \subsection{Utility commands used with AMS author packages} +% +% \begin{macro}{\bb@skip} +% Skip to result in base-to-base distance from previous to next box. +% \begin{macrocode} +\def\bb@skip#1{% + \skip@#1\relax \advance\skip@-\prevdepth \advance\skip@-\baselineskip + \vskip\skip@} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\markleft} +% Basic \latex/ has \cn{markright} and \cn{markboth}, but sometimes +% it's necessary to change just the left running head. This macro +% completes the set. From the \pkg{altxext.sty} module of Klaus +% Lagally's \pkg{arabtex}. [bnb, 2004/03/25] +% \begin{macrocode} +\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}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\DH} +% \begin{macro}{\dh} +% \begin{macro}{\DJ} +% \begin{macro}{\dj} +% The Icelandic thorn and eth and the Croatian barred D are part of +% the T1 font encoding, but aren't available in OT1. However, they +% are needed (rarely) in the author names or bibliographies. Provide +% emulations, using the thorn in \fn{msbm} or D's barred with a macron. +% The lowercase eth requires an \cs{edef} to access \fn{msbm} properly. +% Define it separately to permit checking for small caps. [bnb, 2004/04/05] +% \begin{macrocode} +\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} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsection{Hyphenation exceptions} +% Some common hyphenation exceptions, based on the listing in +% TUGboat vol 10, no 3, November 1989, pp.~336--341. Many words from +% the TUGboat list that seemed less likely to occur in mathematical +% text have been omitted because hyphenation exceptions use up memory +% (most versions of \tex/ currently have a limit of 307 on hyphenation +% exceptions; each added hyphenation exception uses up something like +% 2 extra words of main memory as well). The list of hyphenations for +% proper names could be expanded forever if room permitted; we +% restrict ourselves to a rather short, extremely arbitrary list. +% Note that the hyphenation rules of British English differ in some +% particulars from the US rules, so some of the hyphenations +% given below may need to be overridden for proper UK hyphenation. +% +% \begin{macrocode} +\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} +% \end{macrocode} +% +% \subsection{Initialization} +% We define a function to do the normal calculations that we want for +% \cn{textheight} and \cn{textwidth} +% +% \begin{macro}{\calclayout} +% Subtract the height of the running heads: +% \begin{macrocode} +\def\calclayout{\advance\textheight -\headheight + \advance\textheight -\headsep +% \end{macrocode} +% We set \cn{oddsidemargin} and \cn{evensidemargin} to +% center the text on the page. +% \begin{macrocode} + \oddsidemargin\paperwidth + \advance\oddsidemargin -\textwidth + \divide\oddsidemargin\tw@ +% \end{macrocode} +% Now we subtract the default margin provided by standard DVI +% drivers. But first we make sure that the final margin will +% be at least .5 inch. +% \begin{macrocode} + \ifdim\oddsidemargin<.5truein \oddsidemargin.5truein \fi + \advance\oddsidemargin -1truein + \evensidemargin\oddsidemargin +% \end{macrocode} +% And we set \cn{topmargin} to get vertical centering as well. +% \begin{macrocode} + \topmargin\paperheight \advance\topmargin -\textheight + \advance\topmargin -\headheight \advance\topmargin -\headsep +% \end{macrocode} +% Height of running foot ignored: not present. +% \begin{macrocode} + \divide\topmargin\tw@ +% \end{macrocode} +% We provide a minimum of .5in (after compensating for the default +% margin---see next step). +% \begin{macrocode} + \ifdim\topmargin<.5truein \topmargin.5truein \fi +% \end{macrocode} +% Now subtract the default margin provided by standard DVI +% drivers. +% \begin{macrocode} + \advance\topmargin -1truein\relax +} +% \end{macrocode} +% \end{macro} +% +% Initialize the dimensions, page numbering, etc. For inhouse use, +% administrative stuff is isolated in separate files. +% \begin{macrocode} +%\InputIfFileExists{amsart.cfg}{}{% +%\InputIfFileExists{amsproc.cfg}{}{% +%\InputIfFileExists{amsbook.cfg}{}{% + \calclayout % initialize + \pagenumbering{arabic}% + \pagestyle{headings}% + \thispagestyle{plain}% +} +% \end{macrocode} +% +% If we are in compatibility mode, add some backward compatibility +% stuff below. Otherwise quit here. +% \begin{macrocode} +\if@compatibility \else\endinput\fi +% \end{macrocode} +% +% Compensate for changed meaning of \cn{tiny}: +% \begin{macrocode} +\def\tiny{\Tiny} +% \end{macrocode} +% +% The macro \cn{defaultfont} was provided in version 1.1 of amsart; +% retained for compatibility as a synonym of \cn{normalfont}. Resets +% everything except for size. +% \begin{macrocode} +\def\defaultfont{\normalfont} +% \end{macrocode} +% +% Macro for making non-slanted numbers and punctuation in italic +% or slanted text. This is to avoid visual inconsistencies +% between numbers or parentheses in math and adjacent numbers or +% parentheses in text. +% \begin{macrocode} +\def\rom{\textup} +% \end{macrocode} +% +% For backward compatibility with version 1.1 of \cls{amsart}, we +% define \env{pf}, \env{pf*} environments. And undefine \cn{proof} +% just in case an existing document contains a \cn{newenvironment} or +% \cn{newcommand} for it, as that would now cause an error. +% \begin{macrocode} +\let\@newpf\proof \let\proof\relax \let\endproof\relax +\newenvironment{pf}{\@newpf[\proofname]}{\popQED\endtrivlist} +\newenvironment{pf*}[1]{\@newpf[#1]}{\popQED\endtrivlist} +% \end{macrocode} +% +% The usual \cn{endinput} to ensure that random garbage at the end of +% the file doesn't get copied by \fn{docstrip}. +% \begin{macrocode} +\endinput +% +% \end{macrocode} +% +% \changes{v1.2a}{1995/02/01}{Added global init for @secnumber} +% \changes{v1.2a}{1995/02/01}{Made psamsfonts option pass cmex10 to +% amsmath} +% \changes{v1.2a}{1995/02/01}{Added missing endpar after authors in +% amsbook @maketitle} +% +% \changes{v1.2b}{1995/02/20}{Improve handling of abstract} +% \changes{v1.2b}{1995/02/20}{Allow titlepage option for articles} +% \changes{v1.2b}{1995/02/20}{Suppress logo and copyright info for +% generic AMS classes} +% \changes{v1.2b}{1995/02/20}{Use `Date' instead of `Received by...' in +% the generic AMS classes} +% +% \changes{v2.13}{2002/12/06}{Added a warning for thanks inside author} +% +% \CheckSum{5682} +% \Finale diff --git a/Master/texmf-dist/source/latex/amscls/amsdtx.dtx b/Master/texmf-dist/source/latex/amscls/amsdtx.dtx new file mode 100644 index 00000000000..cd9bb13b2c2 --- /dev/null +++ b/Master/texmf-dist/source/latex/amscls/amsdtx.dtx @@ -0,0 +1,1192 @@ +%%% ==================================================================== +%%% @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.", +%%% } +%%% ==================================================================== +% +% \iffalse +% The following section of code makes this file self-printable. +%<*driver> +\NeedsTeXFormat{LaTeX2e} +\documentclass{amsdtx} +\newcommand{\rp}{\let\PBS\\\raggedright\let\\\PBS} + +\makeindex + +\CodelineIndex + +\begin{document} +\title{The \cls{amsldoc} and \cls{amsdtx} document classes} +\author{American Mathematical Society\\Michael Downes\\ + updated by David M. Jones} +\date{Version \fileversion, \filedate} +\hDocInput{amsdtx.dtx} +\PrintIndex +\end{document} +% +% \fi +% +%^^A If this file is printed by itself the \fileversion and \filedate +%^^A information will come from the file header rather than from the +%^^A \ProvidesClass command. See \hDocInput. +% \maketitle +% +% \tableofcontents +% +% \MakeShortVerb\| +% \section{Introduction} +% This file is the source for two documentclasses, \cls{amsldoc} +% (used for the \amslatex/ user's guide) and \cls{amsdtx} (used for +% printing AMS \fn{.dtx} files). The generic \cls{book} class is used +% as a base, but the \cls{amsdtx} class is modified to serve as an +% article-type class. This affects the form of documentation files +% mainly in the use of \cn{maketitle} and \cn{chapter}. +% +% \begin{table} +% \caption{Features of the \cls{amsldoc} and \cls{amsdtx} classes} +% \newcommand{\rpth}{\rp{.75}} +% \centering +% \begin{tabular}{lp{.65\columnwidth}} +% Command Name& Purpose\\ +% \hline +% \cn{cn}& \rp To print a user command name: \verb"\cn{title}"; leading +% backslash can be optionally included for control symbols: +% \verb"\cn{\%}". The \cn{cn} command works properly even in macro +% arguments (compare to, e.g., \cn{verb}\verb"'\newif'"). But beware +% of a fragile control symbol (are there any?) in a moving argument.\\ +% \cn{cs}& \rp `Control sequence': to print an internal command name, +% not intended for the end user\\ +% \cn{env}& \rp To print an environment name: \verb"\env{table}"\\ +% \cn{pkg}& \rp To print a package name: \verb"\pkg{eufrak}"\\ +% \cn{cls}& \rp To print a class name: \verb"\cls{book}"\\ +% \cn{opt}& \rp To print the name of a class or package option: +% \verb"\opt{twocolumn}"\\ +% \cn{bst}& \rp To print the name of a \bibtex/ style +% \verb"\bst{amsalpha}"\\ +% \cn{fn}& \rp To print a file name or font name: \verb"\fn{T1enc.def}", +% \verb"\fn{cmsy10}"\\ +% \cn{fnt}& \rp To print a font name: \verb"\fn{cmsy10}" \\ +% \cn{cnt}& \rp To print a counter name: \verb"\fn{topnumber}" \\ +% \cn{qc}& \rp To quote a single character: \verb"\qc{\%}"; +% this works properly for special characters, even in macro +% arguments, unlike e.g., \verb"\verb'%'"\\ +% \cn{latex/} etc.& \rp Convenient forms of \cn{LaTeX}, \cn{TeX}, +% \cn{BibTeX}, etc. that are easier to type and have a trailing slash +% to eliminate the following-space problem (without needing different +% markup in different contexts) +% \end{tabular} +% \end{table} +% +% \StopEventually{} +% +% Standard starting pieces. (Note: the reason each \cn{ProvidesClass} +% command is placed on a line by itself, with separate begin and end +% guards for docstripping, is to make automatic update of file date +% and version slightly easier and more robust.) +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1995/06/01]% LaTeX date must be June 1995 or later +%<*amsldoc> +\ProvidesClass{amsldoc}[2004/08/06 v2.06] +% +%<*amsdtx> +\ProvidesClass{amsdtx}[2004/08/06 v2.06] +% +% \end{macrocode} +% +% \section{Implementation} +% Start with the generic book class as a base. +% \begin{macrocode} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}} +\ProcessOptions +\LoadClass{book} +% \end{macrocode} +% +% \begin{macrocode} +\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 + }% +} +% \end{macrocode} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% \begin{macrocode} +\providecommand{\qq}[1]{\textquotedblleft#1\/\textquotedblright} +\providecommand{\mdash}{\textemdash\penalty\exhyphenpenalty} +\providecommand{\ndash}{\textendash\penalty\exhyphenpenalty} +% \end{macrocode} +% +% \begin{macrocode} +\let\@xp\expandafter +% \end{macrocode} +% \section{Indexing primitives} +% +% Unlike \pkg{amsdtx}, \pkg{amsldoc} doesn't load the \pkg{doc} +% package, so we need to provide the following logical names. The +% values are consistent with \fn{makeindex}'s default conventions. +% \begin{macrocode} +%<*amsldoc> +\def\actualchar{@} +\def\quotechar{"} +\def\levelchar{!} +\def\encapchar{|} +\def\verbatimchar{+} +% \end{macrocode} +% We also need the \cs{ifcodeline@index} switch. +% \begin{macrocode} +\newif\ifcodeline@index +% +% \end{macrocode} +% +% \begin{macro}{\autoindex} +% When generating a codeline index, this encapsulates the page +% number in italics. +% \begin{macrocode} +\newcommand*{\autoindex}[1]{% + \index{#1\ifcodeline@index\encapchar usage\fi}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ntt} +% To avoid font substitution warnings we make the tt font always +% print in the normal weight and shape. +% \begin{macrocode} +\newcommand{\ntt}{\normalfont\ttfamily} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\indexcs} +% Index a control sequence without printing it. Note +% non-long. The \cs{@nobslash} strips off an optional leading +% backslash before passing the control sequence name to +% \cs{@indexcs}. This means that |\indexcs{\cs}| and +% |\indexcs{cs}| produce the same index entry. +% \begin{macrocode} +\newcommand*{\indexcs}[1]{% + \@xp\@xp\@xp\@indexcs\@xp\@nobslash\string#1\@nil +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@indexcs} +% Given |cs| as an argument, this writes something like +% |cs@\verb"*+\cs+| to the \fn{.idx} file (or |cs=\verb!*+\cs+| if +% using \fn{doc.sty}). +% \begin{macrocode} +\def\@indexcs#1\@nil{% + \autoindex{#1\actualchar + \string\verb\quotechar*\verbatimchar + \@xp\@bothoftwo\string\ #1\@empty + \verbatimchar + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@bothoftwo} +% This has the effect of removing spaces before each of the +% arguments. In particular, it removes the space generated by +% \verb*+\string\ + above. +% \begin{macrocode} +\def\@bothoftwo#1#2{#1#2} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\category@index} +% \begin{macrocode} +\def\category@index#1#2{% + {\ntt#2}% + \@category@index{#1}{#2}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@category@index} +% \begin{macrocode} +\def\@category@index#1#2{% + \autoindex{% + #2\actualchar\string\texttt{#2}% + \ifx\@nil#1\@nil\else\space#1\fi + }% +} +% \end{macrocode} +% \end{macro} +% +% Some functions to support \cn{cn} etc. For most of these commands +% we don't really want them to be \cs{long}! But in some early +% releases of \LaTeXe\ the \verb'*' form of \cn{newcommand} was not +% yet available. +% +% We use the name \cn{bslchar} instead of \cn{bslash} to avoid +% potential conflict with the \pkg{doc} package \cn{bslash} command. +% Unlike \cn{bslash}, \cn{bslchar} survives unlimited +% writing/expansion because it is a chardef. +% \begin{macrocode} +\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} +% \end{macrocode} +% +% \begin{macro}{\@boxorbreak} +% Start up for a \cn{cs} or \cn{cn} command, adds an \cs{hbox} if in +% math, or an allowbreak penalty if the preceding item is not a space. +% (In case two such commands are used side-by-side.) +% \begin{macrocode} +\def\@boxorbreak{% + \leavevmode + \ifmmode\hbox\else\ifdim\lastskip=\z@\penalty9999 \fi\fi +} +% \end{macrocode} +% \end{macro} +% +% Control sequence. The function \cn{addbslash} makes this command +% also usable for some special control sequences like \cn{\%} \cn{\}} +% \cn{\{}: instead of writing |\cs{%}| which doesn't work, you can +% write |\cs{\%}|. +% \begin{macrocode} +\DeclareRobustCommand{\cs}[1]{% + \@boxorbreak{% + \ntt + \addbslash#1\@empty + \@xp\@xp\@xp\@indexcs\@xp\@nobslash\string#1\@nil + }% +} +% \end{macrocode} +% +% Allow distinguishing non-private `command names' that will be +% visible to the user from internal (mostly private) `control +% sequences'. +% \begin{macrocode} +\let\cn\cs +% \end{macrocode} +% +% The following items should not normally appear in math mode so they +% don't need to call \cs{@boxorbreak}. +% +% \latex/ documentclass name. +% \begin{macrocode} +\DeclareRobustCommand{\cls}{\category@index{class}} +% \end{macrocode} +% +% \latex/ package name. +% \begin{macrocode} +\DeclareRobustCommand{\pkg}{\category@index{package}} +% \end{macrocode} +% +% \latex/ option name. +% \begin{macrocode} +\DeclareRobustCommand{\opt}{\category@index{option}} +% \end{macrocode} +% +% Environment name. +% \begin{macrocode} +%\DeclareRobustCommand{\env}[1]{{\ntt#1}\SpecialEnvIndex{#1}} +%\DeclareRobustCommand{\env}{\category@index{environment}} +% \end{macrocode} +% +% File name. +% \begin{macrocode} +\DeclareRobustCommand{\fn}{\category@index{}} +% \end{macrocode} +% +% \bibtex/ style. +% \begin{macrocode} +\DeclareRobustCommand{\bst}{\category@index{\string\BibTeX{} style}} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareRobustCommand{\cnt}{\category@index{counter}} +\DeclareRobustCommand{\fnt}{\category@index{font}} +% \end{macrocode} +% +% With long command names or file names we sometimes prefer to allow +% hyphenation in the tt font (in combination with suitable +% \cn{hyphenation} statements for individual documents). To make this +% work we must turn off the feature of \latex/ that disables the +% hyphenchar of the tt fonts. +% +% The method shown here depends on the assumption that OT1 encoding +% will be used for the tt fonts. An encoding-independent method would +% be more awkward: You'd have to explicitly load the relevant +% fonts, let's say by using \cn{AtBeginDocument}, and undo the +% hyphenchar change individually for each font. +% +% Instead we force loading, or possibly reloading (depending on the +% preload options used locally for creating the \latex/ format file), +% of the \fn{OT1/cmtt} fd file, and then clear the macro +% \cs{OT1+cmtt} which contains code to execute whenever a font of +% this family is first loaded. The default value is to turn off the +% hyphenchar, and that's what we don't want. +% +% This method is not especially palatable but other methods that +% don't involve loading the fd file are significantly less reliable. +% \begin{macrocode} +\def\allowtthyphens{\begingroup + \fontencoding{OT1}\fontfamily{cmtt}% +% \end{macrocode} +% Undefine the csname that \cs{try@load@fontshape} tests to determine +% whether the fd file needs loading. Then call +% \cs{try@load@fontshape}. Then we can remove the `turn off +% hyphenation' code, which as it happens resides in the same csname +% that was tested. +% \begin{macrocode} + \expandafter\let\csname OT1+cmtt\endcsname\relax + \try@load@fontshape + \endgroup + \expandafter\let\csname OT1+cmtt\endcsname\@empty +} +% \end{macrocode} +% +% We allow some slop at the right margin because we have some +% long control sequence names and verbatim text to deal with. Also +% ignore underfull hboxes and vboxes unless they are really bad. +% \begin{macrocode} +\hfuzz2pc +\vbadness9999 \hbadness5000 +% \end{macrocode} +% +% \begin{macrocode} +\def\AmS{{\protect\usefont{OMS}{cmsy}{m}{n}% + A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}} +% \end{macrocode} +% +% \begin{macrocode} +\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}} +% \end{macrocode} +% +% \cn{makeindex} command is already used for other purposes. +% \begin{macrocode} +\def\makeindx/{MakeIndex} +% \end{macrocode} +% +% Don't allow a break after the hyphen: +% \begin{macrocode} +\def\xypic/{XY\mbox{-}pic} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand{\Textures}{\textit{Textures}} +% \end{macrocode} +% +% `Meta' macro. +% \begin{macrocode} +\def\<#1>{\textit{$\langle$#1\/$\rangle$}} +% \end{macrocode} +% +% Reduce itemsep in lists. +% \begin{macrocode} +\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 +} +% \end{macrocode} +% +% An environment to encapsulate remarks relevant to old versions but +% not essential for the current version. +% \begin{macrocode} +\newenvironment{histnote}{% + \trivlist\item[\hspace{\labelsep}\bfseries Historical Note:]% +}{% + \endtrivlist +} +% \end{macrocode} +% +% Turn off \cs{autoindex} during \cn{tableofcontents} or similar. +% \begin{macrocode} +\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} +% \end{macrocode} +% +% Make glossary commands a no-op for the moment. [mjd,1994/10/03] +% Provide a \cn{secref} command for section references. +% \begin{macrocode} +%<*amsldoc> +\newcommand{\gloss}[1]{} +% +\newcommand*{\secref}[1]{\S\ref{#1}} +% \end{macrocode} +% +% We can write |\qc{\%}| to quote a single +% character in situations where |\verb"%"| would not work, mainly +% when text is read as a macro argument (e.g., footnotes). +% \begin{macrocode} +\newcommand{\qc}[1]{}% check for prior definition +\edef\qc#1{\noexpand\protect\expandafter\noexpand\csname qc \endcsname + \noexpand\protect#1} +% \end{macrocode} +% For this function the first argument is \cn{protect} and just needs +% to be discarded. The method for removing a leading backslash is to +% turn off \cs{escapechar}; this is more forgiving of variations like +% |\qc{$}|. If the argument is `|\ |' we print a cmtt visible-space +% character, \qc{\ }. +% \begin{macrocode} +\@namedef{qc }#1#2{\begingroup\ntt + \ifx\ #2\char`\ \else\escapechar\m@ne\string#2\fi\endgroup} +% \end{macrocode} +% Declare a few character names to avoid e.g., indexing difficulties. +% \begin{macrocode} +\DeclareRobustCommand{\qcat}{\qc\@}% +\DeclareRobustCommand{\qcamp}{\qc\&}% +\DeclareRobustCommand{\qcbang}{\qc\!}% +% \end{macrocode} +% +% \begin{macro}{\arg} +% Change \cn{arg} to print a macro argument number: +% \begin{macrocode} +\DeclareRobustCommand{\arg}[1]{{\ntt\##1}} +% \end{macrocode} +% \end{macro} +% +% We need to emulate the \pkg{amsthm} \cn{qedsymbol} for the +% \amslatex/ user's guide. +% \begin{macrocode} +%<*amsldoc> +\newcommand{\openbox}{\leavevmode + \hbox to.77778em{% + \hfil\vrule + \vbox to.675em{\hrule width.6em\vfil\hrule}% + \vrule\hfil}} +\newcommand{\qedsymbol}{\openbox} +% +% \end{macrocode} +% +% Logical markup for e-mail address: +% \begin{macrocode} +%\def\mail{\texttt} +% \end{macrocode} +% +% Shorthand for indexing: +% \begin{macrocode} +%<*amsldoc> +\def\*#1{\def\@tempa{#1}\def\@tempb{*}% + \ifx\@tempa\@tempb \expandafter\index + \else #1\index{#1}\fi} +% +% \end{macrocode} +% +% Non-indexed \cn{cn} (maybe call this |\cn*|?) +% \begin{macrocode} +\def\ncn#1{{\let\index\@gobble\cn{#1}}} +% \end{macrocode} +% Indexing difficulties with !, @. +% \begin{macrocode} + +\DeclareRobustCommand{\cnbang}{% + \ncn{\!}\index{"!@{\ntt\bslchar\qcbang}}} +\DeclareRobustCommand{\cnat}{% + \ncn{\!}\index{"@@{\ntt\bslchar\qcat}}} +% \end{macrocode} +% +% Shorthand for a discouraged, but not forbidden, line break: +% \begin{macrocode} +\def\5{\penalty500 } +% \end{macrocode} +% +% Environment for error message examples. Use \cs{meaning} to allow +% reading the error message text as an ordinary brace-delimited arg +% but still be able to print embedded braces; and first change the +% backslash catcode to prevent extra spaces after control words. +% \begin{macrocode} +%<*amsldoc> +\newenvironment{error}{% + \begingroup\catcode`\\=12 \expandafter\endgroup\errora +}{% + \endtrivlist +} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand{\errora}[1]{% + \trivlist + \item[\hskip\labelsep\errorbullet\enspace + \ntt\frenchspacing\def\@tempa{#1}% + \expandafter\strip@prefix\meaning\@tempa]\leavevmode\par +} +% \end{macrocode} +% \cs{errorbullet} is just an attempt at a simple graphic device that +% doesn't require any special fonts. +% \begin{macrocode} +\newcommand{\errorbullet}{\rule[-.5pt]{2.5pt}{7.5pt}% + \rule[-.5pt]{5pt}{2.5pt}\kern-2.5pt% + \rule[4.5pt]{2.5pt}{2.5pt}} +% +% \end{macrocode} +% A couple of subheading commands: +% \begin{macrocode} +\newcommand{\errexa}{\par\noindent\textit{Example}:\ } +\newcommand{\errexpl}{\par\noindent\textit{Explanation}:\ } +% \end{macrocode} +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \section{\cls{amsldoc} style modifications for sectioning commands} +% The following section deals with book commands (part, chapter, +% frontmatter, \dots). +% \begin{macrocode} +%<*amsldoc> +% \end{macrocode} +% +% Modifications of sectioning commands from \fn{book.cls}, mostly +% reducing font sizes and vertical spacing. +% \begin{macrocode} +\renewcommand\frontmatter{\clearpage + \@mainmatterfalse\pagenumbering{roman}} +\renewcommand\mainmatter{\clearpage + \@mainmattertrue\pagenumbering{arabic}} +\renewcommand\backmatter{\clearpage \@mainmatterfalse} +% \end{macrocode} +% +% \begin{macrocode} +\renewcommand\part{\clearpage + \thispagestyle{plain}% + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \hbox{}\vfil + \secdef\@part\@spart} +% \end{macrocode} +% +% \begin{macrocode} +\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} +% \end{macrocode} +% +% \begin{macrocode} +\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} +% +% \end{macrocode} +% +% \begin{macrocode} +\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} +% \end{macrocode} +% +% \begin{macrocode} +\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 + }} +% \end{macrocode} +% +% Add Donald Arseneau's \cs{@removefromreset}; used to decouple the +% footnote counter from \cn{chapter}, since chapters here do not +% automatically start on a new page. [bnb, 1999/09/27] +% \begin{verbatim} +% \@removefromreset{FOO}{BAR} : Removes counter FOO from the list of +% counters \cl@BAR to be reset when counter BAR +% is stepped. The opposite of \@addtoreset. +% \end{verbatim} +% \begin{macrocode} +\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} +% \end{macrocode} +% +% Change running head font to \cn{footnotesize}, nonslanted. +% \begin{macrocode} +\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}}}} +% \end{macrocode} +% +% +% \section{\cls{amsdtx} style modifications for sectioning commands} +% These definitions for \cn{maketitle} are from \fn{article.cls}. +% \begin{macrocode} +%<*amsdtx> +\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 +% \end{macrocode} +% Put the title into both running heads. +% \begin{macrocode} + \uppercase\expandafter{\expandafter\toks@\expandafter{\@title}}% + \edef\@tempa{\noexpand\markboth{\the\toks@}{\the\toks@}}% + \@tempa + \vskip 1.5em} +% +% \end{macrocode} +% +% Edit the table of contents. +% \begin{macrocode} +%<*amsdtx> +\renewcommand\tableofcontents{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \subsection*{\contentsname}% + \@starttoc{toc}% + \if@restonecol\twocolumn\fi + } +% +% \end{macrocode} +% +% Edit the sectioning commands. +% \begin{macrocode} +\renewcommand\section{\@startsection {section}{1}{\z@}% + {-.6\baselineskip \@plus -3\p@}% + {.4\baselineskip} +% {\reset@font\Large\bfseries}} +% {\reset@font\normalsize\bfseries}} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-.3\baselineskip\@plus -2\p@}% + {.2\baselineskip}% +% {\reset@font\large\bfseries}} +% {\reset@font\normalsize\bfseries}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-.2\baselineskip\@plus -2\p@}% + {.2\baselineskip}% + {\reset@font\normalsize\bfseries}} +% \end{macrocode} +% Change index environment to turn off \cn{autoindex}. +% \begin{macrocode} +\renewenvironment{theindex}{% + \if@twocolumn \@restonecolfalse \else \@restonecoltrue \fi + \columnseprule \z@ \columnsep 35\p@ + \let\autoindex\@gobble +% \twocolumn[\section*{\indexname}]% +% \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 +} +% \end{macrocode} +% +% Take out \cn{thechapter} from \cn{thesection}. +% \begin{macrocode} +%\renewcommand{\thesection}{\arabic{section}} +% \end{macrocode} +% +% Change the style of captions slightly. Also incorporate some +% caption improvements from Donald Arseneau (\fn{comp.text.tex}, 11 +% Oct 1994). +% \begin{macrocode} +\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 +} +% \end{macrocode} +% For table captions, assume top captions and so put space below the +% caption rather than above: +% \begin{macrocode} +\renewenvironment{table}{% + \belowcaptionskip\abovecaptionskip \abovecaptionskip\z@skip + \@float{table}% +}{% + \end@float +} +\renewenvironment{table*}{% + \belowcaptionskip\abovecaptionskip \abovecaptionskip\z@skip + \@dblfloat{table}% +}{% + \end@dblfloat +} +% \end{macrocode} +% +% \section{Float placement parameters} +% These control the placing of floating objects like tables and +% figures. The values here, which are much more tolerant than the +% \latex/ defaults, are more or less copied from \fn{amsclass.dtx}. +% \begin{macrocode} +\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} +% \end{macrocode} + +% \begin{macrocode} +\pagestyle{headings} +% \end{macrocode} +% +% Make \verb"|...|" shorthand for verbatim fragments. In the case of +% the \cls{amsldoc} class, we avoid requiring an extra package +% (\pkg{doc} or \pkg{shortvrb}), to reduce the possibility of package +% files not being found at run time. +% \begin{macrocode} +%<*amsldoc> +\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 +% +% \end{macrocode} +% +% \begin{macro}{\arrayargpatch} +% If the column-specs arg of array or tabular contains a vert bar +% character, and we have made vert bars active, it will cause +% trouble. The following command, used in the ctab environment, +% prevents the trouble. +% \begin{macrocode} +\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 +} +% \end{macrocode} +% \end{macro} +% +% \begin{environment}{ctab} +% An environment for centered tables. +% \begin{macrocode} +\newenvironment{ctab}{% + \par\topsep\medskipamount + \trivlist\centering + \item[]% + \arrayargpatch + \begin{tabular}% +}{% + \end{tabular}% + \endtrivlist +} +% \end{macrocode} +% \end{environment} +% +% Load \pkg{doc} package, reset \cn{AltMacroFont} to be the same as +% \cn{MacroFont} (when there are large sections of conditional +% code I think it looks better not to have it all slanted). +% \begin{macrocode} +%<*amsdtx> +\RequirePackage{doc} +\def\AltMacroFont{\MacroFont} +% \end{macrocode} +% +% \begin{macro}{\SpecialMainEnvIndex} +% Override \fn{doc.sty}'s main environment indexing to get rid of +% the parens around ``environment'', for compatibility with our +% \cs{env} command. +% \begin{macrocode} +\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 +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SpecialEnvIndex} +% \begin{macrocode} +\def\SpecialEnvIndex#1{% + \@bsphack + \index{#1\actualchar\string\texttt{#1} environment\encapchar usage}% + \index{% + environments:\levelchar#1% + \actualchar\string\texttt{#1}% + \encapchar usage}% + \@esphack +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\DescribeOption} +% \begin{macrocode} +\def\DescribeOption{% + \leavevmode + \@bsphack + \begingroup + \MakePrivateLetters + \Describe@Option +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Describe@Option} +% \begin{macrocode} +\def\Describe@Option#1{% + \endgroup + \marginpar{\raggedleft\PrintDescribeOption{#1}}% + \SpecialOptionIndex{#1}% + \@esphack + \ignorespaces +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\PrintDescribeOption} +% \begin{macrocode} +\def\PrintDescribeOption#1{\strut \MacroFont #1\ } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\option} +% \begin{macrocode} +\def\option{% + \let\SpecialMainEnvIndex\SpecialMainOptionIndex +\begingroup + \catcode`\\12 + \MakePrivateLetters \m@cro@ \iffalse} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SpecialMainOptionIndex} +% \begin{macrocode} +\def\SpecialMainOptionIndex#1{% + \@bsphack + \special@index{#1\actualchar\string\texttt{#1} option\encapchar main}% + \@esphack +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SpecialOptionIndex} +% \begin{macrocode} +\def\SpecialOptionIndex{\@category@index{option}} +% \end{macrocode} +% \end{macro} +% +% Ordinary \cn{DocInput} doesn't handle standardized file headers +% unless you enclose them in \cs{iffalse} \dots\ \cs{fi} which I +% don't care to do. So instead here's an alternate version of +% \cn{DocInput}, called \cn{hDocInput}. +% \begin{macrocode} +\def\hDocInput#1{\MakePercentIgnore + \begingroup +% \end{macrocode} +% Define active \qc{\@} which should be the first non-percent, +% non-equal-sign character when a file header is present. (If a file +% header is not present, \cn{hDocInput} should not be used.) +% \begin{macrocode} + \begingroup \lccode`\~=`\@ + \lowercase{\endgroup\long\def ~}##1##{% + \catcode`\==12 \skipfileheader{##1}}% + \catcode`\@=\active \catcode`\==14 % comment + \def\filename{#1}% + \@@input#1 \MakePercentComment} +% \end{macrocode} +% +% \begin{macrocode} +\def\skipfileheader#1#2 {\endgroup + \hGetFileInfo#2 version = "??" date = "??"\@nil + \begingroup\catcode`\==9 \catcode`\ =9 \futurelet\0\endgroup +} +% \end{macrocode} +% +% \begin{macrocode} +\long\def\hGetFileInfo#1 version = "#2"#3 date = "#4"#5\@nil{% + \def\fileversion{#2}\def\filedate{#4}} +% +% \end{macrocode} +% +% A bunch of stuff we don't want in code indexes: +% \begin{macrocode} +%<*amsdtx> +\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} +% +% \end{macrocode} +% +% The usual \cs{endinput} to ensure that random garbage at the end of +% the file doesn't get copied by \fn{docstrip}. +% \begin{macrocode} +\endinput +% \end{macrocode} +% +% \changes{v1.2b}{1995/02/15}{Added {}{} after rightmark, leftmark to +% handle no-maketitle case} +% \changes{v1.2b}{1995/02/15}{Added frenchspacing in error env heading} +% +% \changes{v1.2c}{1996/10/28}{Update version number, date for new release} +% +% \changes{v1.2d}{1997/03/13}{Fixed up loading method for OT1cmtt fd file} +% +% \changes{v2.03}{2004/04/06}{Reworked indexing commands for +% compatibility with doc.sty} +% +% \changes{v2.04}{2004/04/07}{Further work on indexing commands for +% compatibility with macro and environment environments in \fn{doc.sty}. +% Also added \env{option} environment, \cs{DescribeOption}, +% \cs{PrintDescribeOption}, \cs{SpecialOptionIndex}, and +% \cs{SpecialMainOptionIndex}.} +% +% \changes{v2.05}{2004/04/27}{Fixed the amsdtx \cs{env} so that it +% prints its argument in addition to putting it in the index. Added +% |\penalty\exhyphenpenalty| to \cs{mdash} and \cs{ndash} as per +% \pkg{textcmds}.} +% +% \CheckSum{1516} +% \Finale diff --git a/Master/texmf-dist/source/latex/amscls/amsmidx.dtx b/Master/texmf-dist/source/latex/amscls/amsmidx.dtx new file mode 100644 index 00000000000..3692d6cc76c --- /dev/null +++ b/Master/texmf-dist/source/latex/amscls/amsmidx.dtx @@ -0,0 +1,241 @@ +%%% ==================================================================== +%%% @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.", +%%% } +%%% ==================================================================== +% \iffalse +%<*driver> +\documentclass{amsdtx} +\begin{document} +\title{The \pkg{amsmidx} package} +\author{American Mathematical Society\\Barbara Beeton} +\date{Version \fileversion, \filedate} +\hDocInput{amsmidx.dtx} +\end{document} +% +% \fi +% +% \maketitle +% +% \MakeShortVerb\| +% +% \section{Introduction} +% +% This package provides the facility to produce multiple indexes +% with \amslatex/ document classes (particularly \fn{amsbook} and +% the AMS author packages for books), superseding the built-in +% index facility which can accommodate only one index. This may +% in the future be incorporated as an option into the \amslatex/ +% document classes. +% +% This package is based on \pkg{multind.sty} by F.W. Long. +% +% \StopEventually{} +% +% Standard file identification. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\ProvidesPackage{amsmidx}[2004/08/03 v2.01 multiple indexes for AMS classes] +% \end{macrocode} +% +% \section{User instructions} +% +% In the preamble, invoke \cn{makeindex} with a file name to provide +% as many indexes as desired: +%\begin{verbatim} +% \makeindex{filename-a} +% \makeindex{filename-b} +%\end{verbatim} +% This will initiate the creation of \fn{filename-a.idx} etc. +% +% In the body of the text, use the \cn{index} command with two +% arguments +%\begin{verbatim} +% \index{filename-a}{index term} +%\end{verbatim} +% as appropriate to populate the \fn{.idx} files. +% +% In the \cn{backmatter} segment of the driver file, insert the +% \cn{Printendex} command to print the indexes; the second argument +% gives the title to be printed at the top of the index: +%\begin{verbatim} +% \Printindex{filename-a}{First Index} +% \Printindex{filename-b}{Second Index} +%\end{verbatim} +% +% On the first pass, the \fn{.idx} files will be created. Process +% each \fn{.idx} file with \textit{MakeIndex} to generate an \fn{.ind} +% file, which will then be read in by \cn{Printindex}. Whenever any +% page references change, be sure to run \textit{MakeIndex} again, +% and process the entire job with \latex/ once more to get the correct +% page references in the indexes. +% +% To include a paragraph of comments below the index title, insert +% the text as an \cn{indexcomment} before the relevant \cn{Printindex}: +%\begin{verbatim} +% \indexcomment{Text of comments} +% \Printindex{...}{...} +%\end{verbatim} +% The \cn{indexcomment} text will be cleared after use. +% +% +% \section{Implementation} +% +% \begin{macro}{makeindex} +% Redefine \cn{makeindex} to create a new \fn{.idx} file with the +% name provided by argument |#1|. +% \begin{macrocode} +\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} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{index} +% Redefine \cn{index} to specify into which file/index the term is +% to be placed. Argument |#1| identifies the file, |#2| provides +% the text of the term to be indexed. +% \begin{macrocode} +\renewcommand{\index}[1]{% + \@bsphack + \begingroup + \def\protect##1{\string##1\space}\@sanitize\@wrindex{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{@wrindex} +% \cs{@wrindex} checks to make sure that the requested file is available, +% and writes an entry into the file or emits an error message. +% \begin{macrocode} +\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 + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{printindex} +% \begin{macro}{Printindex} +% Redefine \cs{printindex} to specify the file to be included; provide +% an alternate command \cs{Printindex} that specifies both the file and +% the index title to be printed. Argument |#1| identifies the file, +% |#2| provides the title. Also modify some formatting commands to +% improve the appearance of index entries, especially long ones in +% the presence of three index levels. +% \begin{macrocode} +\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 + } +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{indexcomment} +% \begin{macro}{indexchap} +% Format comments in a block somewhat narrower than the full page +% width, and redefine \cn{indexchap} to insert the block below the +% title, before starting the two-column index. Clear out +% \cs{indexcomment} after use. +% \begin{macrocode} +\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@ +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% The usual \cs{endinput} to ensure that random garbage at the end of +% the file doesn't get copied by \fn{docstrip}. +% \begin{macrocode} +\endinput +% \end{macrocode} +% +% \CheckSum{131} +% \Finale diff --git a/Master/texmf-dist/source/latex/amscls/amsthdoc.tex b/Master/texmf-dist/source/latex/amscls/amsthdoc.tex new file mode 100644 index 00000000000..21e824f5ba0 --- /dev/null +++ b/Master/texmf-dist/source/latex/amscls/amsthdoc.tex @@ -0,0 +1,374 @@ +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsthdoc.tex", +%%% version = "2.20", +%%% date = "2004/08/03", +%%% time = "15:02:46 EDT", +%%% checksum = "15807 374 1763 14655", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 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", +%%% supported = "yes", +%%% keywords = "latex, theorem, proof, amsthm", +%%% abstract = "This file is the User's Guide for the amsthm +%%% 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.", +%%% } +%%% ==================================================================== +\documentclass[twoside]{article} +\pagestyle{myheadings} + +% Use the same version numbers as for the amslatex instructions. +\def\instrversion{2.20} +\def\instrdate{August 2004} + +\title{Using the \pkg{amsthm} Package} +\author{Version \instrversion, \instrdate\\American Mathematical Society} +\date{} + +\providecommand{\qq}[1]{\textquotedblleft#1\textquotedblright} +\providecommand{\mdash}{\textemdash\penalty\hyphenpenalty} + +% Embedded \index commands are a legacy from the time when this +% documentation was part of amsldoc. Since they don't hurt anything, +% let's leave them in. Maybe they will become useful again in the +% future. [mjd,2000/06/06] + +\chardef\bslchar=`\\ % p. 424, TeXbook +\newcommand{\ntt}{% + \fontfamily\ttdefault \fontseries\mddefault \fontshape\updefault + \selectfont +} +\DeclareRobustCommand{\cn}[1]{{\ntt\bslchar#1}} +\DeclareRobustCommand{\cls}[1]{{\ntt#1}} +\DeclareRobustCommand{\pkg}[1]{{\ntt#1}} +\DeclareRobustCommand{\opt}[1]{{\ntt#1}} +\DeclareRobustCommand{\env}[1]{{\ntt#1}} +\DeclareRobustCommand{\fn}[1]{{\ntt#1}} + +\providecommand{\qedsymbol}{\leavevmode + \hbox to.77778em{% + \hfil\vrule + \vbox to.675em{\hrule width.6em\vfil\hrule}% + \vrule\hfil}} + +%% Provide a meta-command facility; provide an alternate escape +%% character so it can be used within the verbatim environment. + +\catcode`\|=0 +\begingroup \catcode`\>=13 % in LaTeX2e verbatim env makes > active +\gdef\?#1>{{\normalfont$\langle$\textup{#1}$\rangle$}} +\gdef\0{\relax} +\endgroup +\def\<#1>{{\normalfont$\langle$\textup{#1}$\rangle$}} +\def\ntnote#1{{\normalfont$^{#1}$}} + +\hfuzz4pt \vbadness9999 \hbadness5000 +\def\latex/{{\protect\LaTeX}} + +\setlength{\textwidth}{210mm}\addtolength{\textwidth}{-2in} +\setlength{\oddsidemargin}{39pt} +\setlength{\evensidemargin}{39pt} +\addtolength{\textwidth}{-2\oddsidemargin} + +\begin{document} +\maketitle +\markboth{USING THE \pkg{amsthm} PACKAGE}{USING THE \pkg{amsthm} PACKAGE} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Introduction} + +\begin{sloppypar} +The \pkg{amsthm} package provides an enhanced version of \latex/'s +\cn{newtheorem} command for defining theorem-like environments. The +enhanced \cn{newtheorem} recognizes a +\cn{theoremstyle} specification (as in Mittelbach's \pkg{theorem} +package) and has a \verb'*' form for defining unnumbered environments. The +\pkg{amsthm} package also defines a \env{proof} environment that +automatically adds a QED symbol at the end. AMS document classes +incorporate the \pkg{amsthm} package, so everything described here +applies to them as well. +\end{sloppypar} + +If the \pkg{amsthm} package is used with a non-AMS document class and +with the \pkg{amsmath} package, \pkg{amsthm} must be loaded +\emph{after} \pkg{amsmath}, not before. + +Examples are given in the file \fn{thmtest.tex}. For best understanding, +examine the output side-by-side with the input. + + +\section{The \cn{newtheorem} command} + +In mathematical research articles and books, theorems\index{theorems} +and proofs\index{proofs} are among the most common elements, but authors +also use many others that fall in the same general class: lemmas, +propositions, axioms, corollaries, conjectures, definitions, remarks, +cases, steps, and so forth. It is natural to handle these elements as +\latex/ environments, but document classes do not +provide predefined environments for theorem-like elements because +(a)~that would make it difficult for authors to exercise the necessary +control over the automatic numbering, and (b)~the variety of such +elements is so wide that it's not possible for a document class to +provide every one that will ever be needed. Instead there is a command +\cn{newtheorem}, similar in effect to \cn{newenvironment}, that makes it +easy for authors to set up the elements required for a particular +document. + +The \cn{newtheorem} command has two mandatory arguments; the first one +is the environment name that the author would like to use for this +element; the second one is the heading text. For example, +\begin{verbatim} +\newtheorem{lem}{Lemma} +\end{verbatim} +means that instances in the document of +\begin{verbatim} +\begin{lem} Text text ... \end{lem} +\end{verbatim} +will produce +\[\makebox[.8\columnwidth]{% + \textbf{Lemma 1.} \textit{Text text \dots}\hfill}\] +where the heading consists of the specified text \qq{Lemma} and an +automatically generated number and punctuation. + +If \cn{newtheorem*} is used instead of \cn{newtheorem} in this +example, numbers will not be generated automatically for +any of the lemmas in the document. This form of the command can be +useful if you have only one lemma and don't want it to be +numbered; more often, though, it is used to produce a special named +variant of one of the common theorem types. For example, if you have a +lemma that should be labeled \qq{Klein's Lemma}, then the statement +\begin{verbatim} +\newtheorem*{KL}{Klein's Lemma} +\end{verbatim} +would allow you to write +\begin{verbatim} +\begin{KL} Text text ... \end{KL} +\end{verbatim} +and get the desired output. + +Sometimes additional information is desired in the heading of a +theorem or lemma, often because it is cited from another source. +An optional argument is used to provide this information: +\begin{verbatim} +\begin{lem}[Alinhac-Lerner \cite{a-l}] +\end{verbatim} +yielding the output +\[\makebox[.8\columnwidth]{% + \textbf{Lemma 2.} (Alinhac-Lerner [1]). \textit{Text text \dots}\hfill}\] + + +\section{Numbering modifications} + +In addition to the two mandatory arguments, \cn{newtheorem} has two +mutually exclusive optional arguments. These affect the +sequencing\index{theorems!numbering} and hierarchy of the numbering. + +By default each kind of theorem-like environment is numbered +independently. Thus if you have three lemmas and two theorems +interspersed, they will be numbered something like this: Lemma 1, Lemma +2, Theorem 1, Lemma 3, Theorem 2. If you want lemmas and theorems to +share the same numbering sequence\mdash Lemma 1, Lemma 2, Theorem 3, Lemma +4, Theorem 5\mdash then you should indicate the desired relationship as +follows: +\begin{verbatim} +\newtheorem{thm}{Theorem} +\newtheorem{lem}[thm]{Lemma} +\end{verbatim} +The optional argument \verb'[thm]' in the second statement means that +the \texttt{lem} environment should share the \texttt{thm} numbering +sequence instead of having its own independent sequence. + +To have a theorem environment numbered subordinately within a +sectional unit\mdash e.g., to get propositions numbered Proposition 2.1, +Proposition 2.2, and so on in Section~2\mdash put the name of the parent +unit in square brackets in final position: +\begin{verbatim} +\newtheorem{prop}{Proposition}[section] +\end{verbatim} +With the optional argument \verb'[section]', the \verb'prop' counter +will be reset to 0 whenever the parent counter \verb'section' is +incremented, and the proposition label will have the section number +prepended. + +Note that theorem numbering is not accomplished by the same method +as the \cn{numberwithin} facility of \pkg{amsmath}, so an attempt to +use that to relate theorem numbers to equation numbers will not work +in the expected way. A method for accomplishing that, as well as +some other variations, is given in the AMS Author FAQ \cite{AF}, +in the section on \qq{Theorems in AMS-\LaTeX}. + + +\section{Changing styles for theorem-like environments} + +\subsection{The \cn{theoremstyle} command} + +The \pkg{amsthm} package supports the notion of a current theorem style, +which determines what will be produced by a given \cn{newtheorem} +command. The three theorem styles provided\mdash +\verb'plain',\index{plain theo@\texttt{plain} theorem style}\relax +\index{definition theo@\texttt{definition} theorem style}\relax +\index{remark theo@\texttt{remark} theorem style} \verb'definition', +and \verb'remark'\mdash specify different degrees of +visual emphasis corresponding to their relative importance. The +details of this typographical treatment may vary depending on the +document class, but typically the \verb'plain' style produces italic +body text, while the other two styles produce roman body text. + +If no \cn{theoremstyle} command is given, the style used will be +\texttt{plain}. To specify different styles, +divide your \cn{new\-theorem} commands into groups and preface each +group with the appropriate \cn{theo\-rem\-style}. Some examples: +\begin{verbatim} +\theoremstyle{plain}% default +\newtheorem{thm}{Theorem}[section] +\newtheorem{lem}[thm]{Lemma} +\newtheorem{prop}[thm]{Proposition} +\newtheorem*{cor}{Corollary} +\newtheorem*{KL}{Klein's Lemma} + +\theoremstyle{definition} +\newtheorem{defn}{Definition}[section] +\newtheorem{conj}{Conjecture}[section] +\newtheorem{exmp}{Example}[section] + +\theoremstyle{remark} +\newtheorem*{rem}{Remark} +\newtheorem*{note}{Note} +\newtheorem{case}{Case} +\end{verbatim} + +The following list summarizes the types of structures which are +normally associated with each theorem style. + +\smallskip +\begin{tabular}{ll} + \relax\env{plain} & Theorem, Lemma, Corollary, Proposition, Conjecture, \\ + & Criterion, Algorithm \\ + \relax\env{definition} \quad & Definition, Condition, Problem, Example \\ + \relax\env{remark} & Remark, Note, Notation, Claim, Summary, \\ + & Acknowledgment, Case, Conclusion +\end{tabular} + +\subsection{Number swapping} + +A common style variation is to have the theorem number at the beginning +of the heading instead of at the end, for example \qq{1.4 Theorem} +instead of \qq{Theorem 1.4}. As this variation is usually applied +to all \cn{theoremstyle}s, it is done by +placing a \cn{swapnumbers} command at the beginning of the list of +\cn{newtheorem} statements that should be affected. For example: +\begin{verbatim} +\swapnumbers +\theoremstyle{plain} +\newtheorem{thm}{Theorem} +\theoremstyle{remark} +\newtheorem{rem}{Remark} +\end{verbatim} + +In AMS document classes, when numbers are swapped, the style of the +numbers matches that of section headings; this may not be the same +style as the rest of the theorem heading. + +\subsection{New theorem styles} + +The \pkg{amsthm} package provides a \cn{newtheoremstyle} command +to aid in the creation of custom styles, should the three predefined +styles prove insufficient. The following example illustrates the use +of the \cn{newtheoremstyle} command. +\begin{verbatim} +\newtheoremstyle{note}% |?name> + {3pt}% |?Space above> + {3pt}% |?Space below> + {}% |?Body font> + {}% |?Indent amount>|ntnote1 + {\itshape}% |?Theorem head font> + {:}% |?Punctuation after theorem head> + {.5em}% |?Space after theorem head>|ntnote2 + {}% |?Theorem head spec (can be left empty, meaning `normal')> +\end{verbatim} +\noindent +\ntnote1 Indent amount: empty = no indent, \cn{parindent} = normal + paragraph indent + +\noindent +\ntnote2 Space after theorem head: \verb+{ }+ = normal interword space; + \cn{newline} = linebreak + +\smallskip +Apply the new theorem style in the same manner as the predefined ones. +For examples, see the file \fn{thmtest.tex}. + + +\section{Proofs} + +A predefined \env{proof} environment provided by the \pkg{amsthm} +package produces the heading \qq{Proof} with appropriate spacing and +punctuation. The proof environment is primarily intended for short +proofs, no more than a page or two in length; longer proofs are +usually better done as a separate \cn{section} or \cn{subsection} in +your document. + +An optional argument of the proof environment allows you to substitute +a different name for the standard \qq{Proof\/}. If you want +the proof heading to be, say, \qq{Proof of the Main Theorem}, then write +\begin{verbatim} +\begin{proof}[Proof of the Main Theorem] +\end{verbatim} + +A QED symbol, \qedsymbol, is automatically appended at the end of +a \env{proof} environment. To substitute a different end-of-proof +symbol, use \cn{renewcommand} to redefine the command \cn{qedsymbol}. +For a long proof done as a subsection or section instead of with the +\env{proof} environment, you can obtain the symbol and the usual +amount of preceding space by using \cn{qed}. + +Placement of the QED symbol can be problematic if the last part of +a \env{proof} environment is a displayed equation or list environment +or something of that nature. In that case put a \cn{qedhere} command at +the place where the QED symbol should appear, for example, +\begin{verbatim} +\begin{proof} +... +\begin{equation} +G(t)=L\gamma!\,t^{-\gamma}+t^{-\delta}\eta(t) \qedhere +\end{equation} +\end{proof} +\end{verbatim} +When used with the \pkg{amsmath} package, version 2 or later, \cn{qedhere} +will position the QED symbol flush right; with earlier versions, the +symbol will be spaced a quad away from the end of the text or display. + +If \cn{qedhere} produces an error message in an equation, try using +\verb'\mbox{\qedhere}' instead. + +\begin{thebibliography}{[AF]} + +\bibitem[AF]{AF} AMS Author FAQ, +\texttt{http://www.ams.org/authors/author-faq.html} + +\end{thebibliography} + +\end{document} diff --git a/Master/texmf-dist/source/latex/amscls/install.txt b/Master/texmf-dist/source/latex/amscls/install.txt new file mode 100644 index 00000000000..87fedfdc25c --- /dev/null +++ b/Master/texmf-dist/source/latex/amscls/install.txt @@ -0,0 +1,106 @@ +install.txt for amscls 2.20 [2004/08/05] + +If you have a relatively up-do-date TeX system that complies with the +TeX Directory Structure (TDS) standard, installing according to the +instructions in section I below is the easiest method. See + + http://www.tug.org/tds/tds.pdf + +for details on the TDS standard. If your TeX system does not comply +with the TDS standard, please contact the manufacturer of your TeX +system for details on how to install third-party TeX packages. + +The first step is to identify the TEXMF folder that contains files used +by LaTeX. To do this, look for the file article.cls. If you find, e.g., + + /usr/local/share/texmf/tex/latex/base/article.cls + +then we will define TEXMF to mean /usr/local/share/texmf (everything +up to the /tex/latex/base part). On a Windows system the file location +will probably be something like + + c:\sw\texmf\tex\latex\base\article.cls + +Then we define TEXMF to mean c:\sw\texmf. In the following +instructions, wherever you see "TEXMF" substitute the folder name +determined in this way. + +If this terminology does not make sense to you, seek assistance from +a friend or colleague, or from the company that you bought your TeX +system from, or contact us at + + tech-support@ams.org + 800-321-4AMS (321-4267) (USA/Canada) + 401-455-4080 + +======================================================================== +I. Installing the easy way. + +1. Download the following archive file: + + ftp://ftp.ams.org/pub/tex/amscls.zip + +2. View the following files to assess the effects of the upgrade on +your system: + + 00readme.txt + install.txt (this file) + diffs-c.txt + +3. Backup the old version of AMS-LaTeX, preferably by moving it out of the +TEXMF tree. + +4. Extract files fromthe .zip archive using your favorite unzip tool, setting +the extraction target directory to the texmf root directory. + +5. To check the end result, you should find that you now have amsmath.sty +in the following location + + TEXMF/tex/latex/amscls/amsart.cls + +Some TeX systems also use a database to keep track of TeX input files. If +this database is not updated, your TeX system might not find the newly +installed files. Consult your system's documentation to determine how +to update this database. + +6. Some files will appear in both the source area and another area. +This is because the source form and the in-use form are identical. +As distributed, the files in the source/latex/amscls area comprise a +complete copy of the distribution from which all the other files can +be regenerated if need be. If you need to conserve disk space, you +could delete the files in the source area, since they are not needed +for normal use. + +======================================================================== +II. Installing the not-so-easy way. + +Download ftp://ftp.ams.org/pub/tex/amscls.zip. + +Make the following directories, if not already present: + + TEXMF/source/latex/amscls + TEXMF/tex/latex/amscls + TEXMF/doc/latex/amscls + +Backup your old AMS-LaTeX files if they are installed, preferably moving them +out of the TEXMF tree. + +Create a temporary directory and generate documentation files (these assume +a UNIX TeX installation): + + - make directory /tmp/amscls + - unzip -d /tmp/amscls amscls.zip + - cd /tmp/amscls + - Run latex on the file ams-c1.ins to produce .cls and .sty files + - Run latex on *.tex + - [optional] Run latex on *.dtx (technical documentation) + - move *.dvi, *.pdf, *.tex to TEXMF/doc/latex/amscls + - [optional] move *.dtx to TEXMF/doc/latex/amscls + - [optional] convert .dvi to .ps or .pdf + - move *.sty and *.cls to TEXMF/tex/latex/amscls + - delete /tmp/amscls + +Some TeX systems also use a database to keep track of TeX input files. If +this database is not updated, your TeX system might not find the newly +installed files. Consult your system's documentation to determine how to +update this database. diff --git a/Master/texmf-dist/source/latex/amscls/instr-l.tex b/Master/texmf-dist/source/latex/amscls/instr-l.tex new file mode 100644 index 00000000000..30aa283237b --- /dev/null +++ b/Master/texmf-dist/source/latex/amscls/instr-l.tex @@ -0,0 +1,1233 @@ +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "instr-l.tex", +%%% version = "2.20", +%%% date = "2004/08/06", +%%% time = "16:17:21 EDT", +%%% checksum = "60855 1233 6587 50183", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1994, 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, amslatex, ams-latex, author instructions", +%%% supported = "yes", +%%% abstract = "These are instructions for preparing documents for +%%% submission to the AMS, using amsmath and AMS LaTeX +%%% document classes.", +%%% 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 +\documentclass{amsart} + +\hyphenation{man-u-script man-u-scripts over-view pre-par-ing which-ever} + +%% Define macros for text substitution and for presentation of examples +\newcommand{\AMS}{American Mathematical Society} +\def\latex/{{\protect\LaTeX}} +\def\latexe/{{\protect\LaTeXe}} +\def\amslatex/{{\protect\AmS-\protect\LaTeX}} +\def\tex/{{\protect\TeX}} +\def\amstex/{{\protect\AmS-\protect\TeX}} +\def\bibtex/{{Bib\protect\TeX}} +\def\makeindx/{\textit{MakeIndex}} + +\newcommand{\filnam}[1]{\mbox{\texttt{\ignorespaces#1\unskip}}} +\let\fn=\filnam +\let\cls=\filnam +\let\env=\filnam +\let\pkg=\filnam +\def\opt#1{\filnam{[#1]}} + +%% For this manual, add a section number to the references header, and +%% include that section header in the contents list. +\makeatletter +\def\thebibliography#1{\section\refname + \normalfont\small\labelsep .5em\relax + \list{\@arabic\c@enumiv.}{\settowidth\labelwidth{#1.}% + \leftmargin\labelwidth \advance\leftmargin\labelsep + \usecounter{enumiv}}% + \sloppy \clubpenalty4000\relax \widowpenalty\clubpenalty + \sfcode`\.\@m} +% +%% Turn off series logo and copyright note +\let\serieslogo@\relax +\let\@setcopyright\relax + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Table of contents customizations + +\let\tocori=\tableofcontents +\def\tableofcontents{\tocori + \skip@\lastskip \vskip-\lastskip + \addtocontents{toc}{\protect\tocpatch}% + \vskip\skip@ \relax} + +\def\tocsection#1#2#3{% + \indentlabel{\@ifnotempty{#2}{\tocnbox{\hss#1 #2.\quad}}}#3} +\let\tocnbox=\hbox +\def\tocpatch{% + \@xp\let\csname r@tocindent2\@xp\endcsname\csname r@tocindent1\endcsname + \def\tocnbox{\hbox to\@tempdima}} +%% In this document, subsections are unnumbered, but we want an indent +%% to be used. +\def\tocsubsection#1#2#3{\hbox to\leftskip{}#3} +\def\l@subsection{\@tocline{2}{0pt}{.5pc}{}{}} +\makeatother + +\newdimen\exindent +\exindent=3\parindent +%% Add a high penalty to discourage line breaks within an example +%% without absolutely prohibiting them. +{\obeylines + \gdef^^M{\par\penalty9999 }% + \gdef\beginexample#1{\medskip\bgroup % + \def\(##1){\makebox[0pt]{\normalfont\mdseries##1}}% + \def~{\char`\~}\def\\{\char`\\}% + \normalfont\ttfamily\frenchspacing % + \parindent=0pt#1\leftskip=\exindent\obeylines} +}% end \obeylines +\def\endexample{\endgraf\egroup\medskip} +\newdimen\exboxwidth +\exboxwidth=3in +\def\exbox#1#2{\noindent \hangindent=\exboxwidth + \makebox[0pt][r]{\null\normalfont\mdseries#1\unskip\enspace}% + \makebox[\exboxwidth][l]{\normalfont\ttfamily\ignorespaces#2}% + \normalfont\mdseries\ignorespaces} + +\newcommand\cn[1]{\mbox{\def\\{\char`\\}% + \normalfont\ttfamily\\\ignorespaces#1\unskip}} +\let\ttcs=\cn +\newcommand\ttcsb[2]{% + \mbox{\def\\{\char`\\}% + \normalfont\ttfamily + \\begin\{\ignorespaces#1\unskip\}\ignorespaces#2\unskip}} +\newcommand\ttcse[1]{\mbox{\def\\{\char`\\}% + \normalfont\ttfamily\\end\{\ignorespaces#1\unskip\}}} +\def\{{\char`\{\relax} +\def\}{\char`\}\relax} + +%% Provide a meta-command facility; provide an alternate escape +%% character so it can be used within the verbatim environment. + +\catcode`\|=0 +\begingroup \catcode`\>=13 % in LaTeX2e verbatim env makes > active +\gdef\?#1>{{\normalfont$\langle$\textup{#1}$\rangle$}} +\gdef\0{\relax} +\endgroup +\def\<#1>{{\normalfont$\langle$\textup{#1}$\rangle$}} +\newcommand{\Dimen}{\} +\newcommand{\tab}{\textsc{tab}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Provide a dummy titlepage, saving maketitle for the article title. +%% Table of contents goes onto the inside front cover. + +\def\instrversion{2.20} +\def\instrdate{August 2004} + +\begin{document} + +\thispagestyle{empty} +\vspace*{1.5in} +\begin{center} + {\huge\bfseries Instructions\\[2pt] for Preparation\\[2pt] + of Papers\\[2pt] and Monographs + \par\vspace{\baselineskip} + \amslatex/ + \par} + \vspace{3\baselineskip} + \Large + Version \instrversion\\[4pt] \instrdate +\end{center} +\newpage + +\thispagestyle{empty} +\tableofcontents +\newpage + +\setcounter{page}{1} + +\title [ELECTRONIC MANUSCRIPTS: \amslatex/] + {Instructions for Preparation\\ + of Papers and Monographs: \amslatex/} +\dedicatory{% + \mbox{\normalfont\mdseries\small Version \instrversion: \instrdate}} + +\maketitle + +\section{Introduction} + +This manual is directed mainly to authors preparing material for +publication by the AMS, using \amslatex/ document classes. As such, +it deals with the AMS publishing style. Since these document classes +are also used by authors who are not submitting items to the AMS, +the manual also covers topics of more general relevance. However, it +assumes familiarity with standard \latex/ techniques and conventions, +and contains only material specific to AMS packages. + +Links to information useful in preparing manuscripts and graphics +can be found on the AMS Author Resource Center web page \cite{ARC}\@. +That information supplements this manual, and we recommend that you +review it. + +The AMS produces three major types of publications: journals (both +print and electronic), proceedings volumes, and monographs. There +is a core AMS document class for each: \cls{amsart}, \cls{amsproc} +and \cls{amsbook}, respectively. For most journals or book series, +there is a specific author package, based on one of the core classes. +If the specific publication is known, the appropriate author package +should be obtained from the AMS web server \cite{AP} and used for +preparation of manuscripts. In addition, there is a separate package +for editors of proceedings volumes \cite{EP}, with facilities for +preparing material that does not fit into the normal ``article'' +category. + +If the specific publication is not known, an appropriate generic AMS +document class can be used: + +\begin{itemize} +\item \pkg{gen-j-l} for journal articles (based on \pkg{amsart}) +\item \pkg{gen-p-l} for articles in book proceedings (based on \pkg{amsproc}) +\item \pkg{gen-m-l} for monographs (based on \pkg{amsbook}) +\end{itemize} + +The tagging of elements in a manuscript---title, author(s), section +headings, theorems, etc.--- is consistent through all author packages. +Thus a manuscript prepared using the appropriate generic document +class can be modified trivially to use the specific package, simply by +updating the \cn{documentclass} statement. For example, to specify +the \textit{Contemporary Mathematics} proceedings series: +\begin{verbatim} +\documentclass{conm-p-l} +\end{verbatim} + +Each author package contains an electronic version of this manual, +class files, sample documents, and a \texttt{README} file that +contains information about each of the files in the package. + +When an AMS author package is used, both \latex/ and a recent version +of \amslatex/ must be installed on the computer being used for +manuscript preparation. The AMS Author Resource Center web page +\cite{ARC} has a link to download the most recent version of +\amslatex/. The version number appears at the top of the file +\pkg{amsmath.sty} (and other files in the collection), and is also +reported in the log file of a \latex/ run; make sure you have +version 2.0 or later. + +\section{Article preparation} + +We first address articles intended for journals and proceedings. +Monographs are addressed in a separate section (see +page~\pageref{s:mono}). + +\subsection*{Starting a new article}\label{ss:newamsart} +%% +Individual articles generally have the following structure: +\begin{itemize} +\item \verb+\documentclass{...}+ +\item preamble (for document-specific customizations) +\item \verb+\begin{document}+ +\item top matter information +\item \verb+\maketitle+ (to set the top matter) +\item article body +\item reference list +\item \verb+\end{document}+ +\end{itemize} +A detailed template file (included in each package) provides +a complete set of commands for the article top matter, and the +instructions for using them. The most efficient way to start a +new article is to make a copy of the template and fill it in. + + +\section{The preamble} + +The area between the \verb+\documentclass+ statement and the line +\verb+\begin{document}+ is referred to as the ``preamble''. This is +the place to load external packages and define document-specific +commands. + +Available \cn{documentclass} options are described in the file +\filnam{amsclass.dtx}. Process this file with \latex/ to obtain a +version with human-readable documentation. One option does need to +be mentioned here: \opt{psamsfonts}; include this option as +\begin{verbatim} +\documentclass[psamsfonts]{...} +\end{verbatim} +to ensure correct sizing of fonts in environments other than normal text. + +\subsection*{Packages} +%% +The AMS document classes incorporate the code for the AMS theorem +(\pkg{amsthm}) package and automatically load the \pkg{amsmath} +package. It is not necessary to request either one explicitly. +The user guides for these packages \cite{ATP,AMP} contain the details, +which will not be repeated here. The \pkg{amsfonts} package is loaded +as well, unless the \opt{noamsfonts} option is specified; see the +AMSFonts User's Guide \cite{AFG} for the features provided. + +Not all publicly available packages are compatible with the AMS +document classes. For this reason, we mention some that are: +\begin{itemize} +\item \pkg{amssymb} provides names for additional symbols from the + AMS symbol fonts; see \cite{AFG} for details. +\item \pkg{amsmidx} supports multiple indexes for a book; see + page~\pageref{ss:indexing}. +\item \pkg{graphicx} is part of the \latex/ suite, preferred for + inclusion of graphics. +\item \pkg{longtable} facilitates tables longer than one page. +\item \pkg{upref} forces cross-references with \cn{ref} to roman; + see ``Roman type'', page~\pageref{ss:roman}. +\item \pkg{xypic} is recommended for creating commutative diagrams. +\end{itemize} + +There are several packages that cause particular problems for AMS +production. Their use should be avoided if possible: +\begin{itemize} +\item \pkg{psfrag}, for applying labels externally to included graphics, + may result in a PostScript that can't be converted properly to PDF. +\item \pkg{epsfig} has been superseded by \pkg{graphicx}. +\end{itemize} + +Don't load any packages that aren't actually needed. + + +\subsection*{New commands} +%% +Place all definitions for new commands in the preamble. This includes +instructions to access fonts that are not already defined in the AMS +document classes or \pkg{amsmath}, such as a new math alphabet (see +\cite{AMP}). + +Always use \cn{newcommand}; this will let you know if the name you +have chosen has already been used. Do not redefine any command from +\latex/, \pkg{amsmath}, or any AMS document class, as this could cause +problems in AMS production. New definitions may be used to provide +shorthand forms for mathematical expressions that are used frequently, +but do not use new definitions for text; for articles posted on-line, +this will prevent indexing software from identifying relevant +references. + +Use commands and environments provided by the AMS document classes +and standard packages whenever applicable---for example, you should +use the AMS \env{proof} environment rather than define your own +alternative. + +When the file is complete, remove any commands that haven't been used. + + +\section{Top matter}\label{s:topmatter} + +The top matter associated with an article includes information that +would appear in a bibliographic reference to the paper, plus additional +information about the author(s), subject classifications, key words, +acknowledgments of support, and the abstract. + + +\subsection*{Summary of tags and elements} +%% +Table 1 lists the top matter commands provided by \amslatex/ +version 2.0 and later. Not every tag is necessary for each paper. +The table shows which tags are necessary and which are optional. +Requirements for monographs are somewhat different and are described +later. The template file included in every author package contains +all the necessary tags and instructions for using them. + +\begin{table}[ht] +\caption{Top matter tags} +\begin{minipage}{\textwidth} +\begin{verbatim} +\documentclass{amsart} +|?preamble commands, such as |ttcs|bgroup|0newcommand|egroup, etc.> + +\begin{document} +\end{verbatim} +\begin{center} +\begin{tabular}{lcc} +\ & \multicolumn{2}{c}{Required by}\\ +\ & Journals & Books \\ +\verb+\title[...]{...}+ & yes\rlap{${}^1$} & yes\rlap{${}^1$} \\ + +\verb+\author[...]{...}+ & yes\rlap{${}^1$} & yes\rlap{${}^1$} \\ +\verb+\contrib[...]{...}+ & no\rlap{${}^2$} & --- \\ +\verb+\address{...}+ & yes & yes \\ +\verb+\curraddr{...}+ & no & no \\ +\verb+\email{...}+ & no & no \\ +\verb+\urladdr{...}+ & no & no \\ +\verb+\dedicatory{...}+ & no & no \\ +\verb+\date{...}+ & ---\rlap{${}^3$} & --- \\ +\verb+\thanks{...}+ & no & no \\ +\verb+\translator{...}+ & ---\rlap{${}^3$} & ---\rlap{${}^3$} \\ +\verb+\keywords{...}+ & no & no \\ +\verb+\subjclass[2000]{...}+ & yes & yes \\ +\verb+\begin{abstract}...\end{abstract}+ & yes\rlap{${}^4$} & no \\ +\verb+\maketitle+ & yes & yes \\ +\end{tabular} +\end{center} +\vspace*{1pc} + +{\Small +${}^1$ If no short form is needed, omit the brackets. + +${}^2$ For contributors, see details on page~\pageref{ss:contrib}. + +${}^3$ If this is necessary, it will be filled in by the AMS staff. + +${}^4$ For the \textit{Journal of the American Mathematical Society}, +abstracts are optional. +\par +} +\end{minipage} +\vspace{.25\baselineskip} +\hrule width \textwidth +\vspace{.5\baselineskip} +\end{table} + +\subsection*{Title} +%% +For AMS journal articles, capitalize only the first word and proper +nouns in the title. For articles in an AMS proceedings volume, +capitalize the first and last words of the title and all nouns, +pronouns, adjectives, adverbs, and verbs. Articles, conjunctions, and +prepositions should be lowercased unless they are the first or last +word of the title. These rules should be followed even if the +publication in which the article appears has another style. The style +for the particular publication will be generated automatically when +the article is processed at the AMS. + +A multiline title may be left for \latex/ to break, or a desired break +may be indicated by \cn{\\}. + +Unless the title is very short, provide a form of the title suitable +for use in running heads. This should be entered in brackets between the +tag \cn{title} and the full title: +\verb+\title[+short title\verb+]{+full title\verb+}+. +Do not use author-defined macros in the title. + +\subsection*{Author information}\label{ss:authorinfo} +%% +Enter the name(s) of the author(s) with the tag \cn{author}, using +standard capitalization for proper names. Use a separate \cn{author} +command for each author. Names will be combined by \latex/ according +to the dictates of the document class. See also ``contributors'', +below. + +If the author name(s) cannot fit in the space available for the running +head, enter a shortened form for each name in [brackets] +between the tag \cn{author} and the full name. Acceptable shortened +forms use initials for all but the surname(s). For example, +\begin{verbatim} +\author[J. Smith]{Joseph Smith} +\end{verbatim} +If the list of shortened author names is still too long for the running +head (including a reasonable space for the page number), it can be +shortened as in the following example, as a last resort: +\begin{trivlist} +\item\relax +\verb+\markleft{J. SMITH ET AL.}+ +\end{trivlist} + +\noindent +Note that \cn{markleft} is available only for \amslatex/ versions 2.20 +and later; it is not a basic \latex/ command. +Data provided with \cn{markleft\{\}} \emph{must} be in all capital letters +(except for included math). Place \cn{markleft\{\}} before the first +\cn{author} in your file. + +For each author you should provide one or more addresses. Tag them +as follows, grouping them in this order by author: +\begin{verbatim} +\address{...} |rm address where the research was carried out |tt +\curraddr{...} |rm current address, if different from the research address |tt +\email{...} |rm address for electronic mail |tt +\urladdr{...} |rm URL address (optional) +\end{verbatim} +Do \emph{not} include any addresses within the scope of an +\cn{author\{\}} command (this is different from basic \latex/). +Do not use abbreviations in addresses. + +The main address should be divided by \cn{\\} into segments that +correspond to address lines for use on an envelope. When typeset, the +lines will be strung together separated by commas, but the division by +\cn{\\} will be useful to a person preparing an envelope to return +proofs. + +Addresses are considered part of the top matter, but in AMS articles +they are ordinarily printed at the end of the article following the +bibliography (this is different from basic \latex/). Suitable labels +will indicate the current, e-mail, and URL addresses, typically +\textit{Current address}:, \textit{E-mail address}:, \textit{URL}:, +respectively. + +If \texttt{\textasciitilde} is needed in a URL address, enter it +directly as \texttt{\textasciitilde} if you are using \amslatex/ +version 2.20 or later; otherwise, see the Author FAQ \cite{AF} +for instructions. + +\subsection*{Contributors + {\mdseries (new with version 2.20)}}\label{ss:contrib} +%% +Contributors are much like authors, but are responsible for only +a portion of an article, e.g., an appendix or auxiliary tables. +The bracketed portion is not optional; it gives the exact text that +will be printed to indicate the nature of the contribution: +\begin{verbatim} +\contrib[with an appendix by]{William Rogers} +\end{verbatim} +Multiple contributors and contributions are input like this: +\begin{verbatim} +\contrib[with Appendix A by]{William Rogers} +\contrib[]{Henry Taylor} +\contrib[and Appendix B by]{John Henderson} +\end{verbatim} +Note the empty brackets on the second line. Multiple contributors +indicated in this way will be combined and ``andified'' appropriately. +Contributors will not be included in running heads. Addresses provided +for contributors will be treated the same as for regular authors. + +\subsection*{Dedication} +%% +Use the tag \cn{dedicatory} for such things as ``Dedicated to +Professor X on the occasion of his eightieth birthday.'' If the +dedication is longer than one line, you may indicate a break with +\cn{\\}. + +\subsection*{Acknowledgments of support and other first-page footnotes} +%% +Use the command \cn{thanks} to acknowledge grants and other kinds of +support or for other general information not covered by one of the +more specific commands such as \cn{keywords} or \cn{subjclass}. Enter +\cn{thanks} immediately following the address(es) for the relevant +author, \emph{not} within the scope of the \cn{author\{\}} command +(this is different from basic \latex/). Like \cn{address}, \cn{thanks} +can appear more than once in the top matter. Each occurrence will be +printed as an unnumbered footnote at the bottom of the first page of +the article. + +\subsection*{Subject information} +%% +Subject classifications and key words, like acknowledg-\linebreak ments, are +part of the top matter and appear as unnumbered footnotes at the bottom of +the first page. + +Subject classifications may be primary (the major topic(s) of the +paper) or secondary (subject areas covered by ancillary results, +motivation or origin of problems discussed, intended or potential +field of application, or other significant aspects worthy of notice). +At least one primary subject classification is \textbf{required}. +Additional primaries and secondaries are optional. + +\begin{samepage} +These classifications are entered as +\begin{verbatim} +\subjclass[2000]{Primary |?primary class>; Secondary |?secondary classes>} +\end{verbatim} +(Omitting \texttt{[2000]} will cause the 1991 Subject Classification +to be cited.) +\end{samepage} + +To determine the classifications, use the 2000 Mathematics Subject +Classification scheme that appears in annual indexes of \textit{Mathematical +Reviews} beginning in 1999. It can also be accessed on the Web at URL: +\texttt{http://www.ams.org/msc/} or obtained in printed form from +Customer Services. +Please use the full number; the two-digit code from the Contents of +\textit{Mathematical Reviews} is \textbf{not} sufficient. + +Key words are not required but may be provided by an author if desired. +They should be tagged as \cn{keywords\{...\}}. + +\subsection*{Abstract} +%% +With an AMS document class, place the abstract before \cn{maketitle}, +contrary to the practice with the basic \latex/ document classes. +This is necessary to ensure that the abstract can always be printed in +the proper location and style. If the abstract is given after +\cn{maketitle}, it will be printed in place and generate a warning +message. + +Input the abstract text between \verb+\begin{abstract}...\end{abstract}+. +It may comprise multiple paragraphs and include displayed material if +appropriate. The length of the abstract depends primarily on the +length of the paper itself and on the difficulty of summarizing the +material. An upper limit of about 150 words for short papers and 300 +words for long papers is suggested. Do not use author-defined macros +or \cn{ref} in the abstract. + + +\section{Document body (all document classes)} + +\subsection*{Linking for the Web} +%% +All AMS primary journals are posted on-line. Electronic +manuscripts prepared in \latex/ for any AMS journal should be tagged +for maximum linking on the Web. For use of \cn{label}, \cn{ref}, +and \cn{cite}, see \cite{LC}; for \cn{eqref}, see \cite{AMP}. + +\subsection*{Headings} +%% +Four levels of headings are provided to permit logical sectioning of +a manuscript. These headings are applicable to individual articles +and to chapters of a monograph. (Headings specific to monographs are +listed under \textit{Monograph formatting}.) + +\begin{verbatim} +\specialsection{...} +\section[...]{...} +\subsection[...]{...} +\subsubsection[...]{...} +\end{verbatim} + +\cn{specialsection} is for long articles that need extra divisions +(e.g., parts) at a level above the \cn{section} level. + +Explicit line breaks are obtained by \verb+\\+ in first-level section +headings. + +Any heading may be given a label to allow references to be made to it, +by including a \cn{label\{...\}} command with a unique identifier +directly \emph{after} the heading. References are made using the +command \cn{ref\{...\}} and the same identifier. For example, +\begin{verbatim} +\section{Monograph formatting} +\label{s:mono} +\end{verbatim} +will establish a label for this section that can be referred to with +\cn{ref\{s:mono\}}. Cross references of +this sort will require \latex/ to be run at least twice for proper +resolution. A warning at the end of the \latex/ run, ``Cross +references may have changed\dots\unskip'', should be heeded in this regard. + + +\subsection*{Mathematical text} +%% +For instructions on preparing mathematical text, refer to +\cite{AMP} and \cite{ML}. See also ``Roman type'', below. + +\subsection*{Lists} +%% +Follow usual \latex/ conventions for producing list environments. + +\subsection*{Theorems, lemmas, and other proclamations} +%% +See the manual \textit{Using the \pkg{amsthm} package} \cite{ATP} +for details. Theorem environments following AMS style with respect to +punctuation, spacing and paragraphing are defined in the AMS document +classes. This is incompatible with the \latex/ \pkg{theorem} package, +which cannot be used with the AMS document classes. + +Three different theorem styles are provided by AMS document classes: +\cls{plain}, \cls{definition}, and \cls{remark}. By referring to these +styles and using the \cn{newtheorem} command, you can build a +complement of theorem environments appropriate for any paper or +monograph. All \cn{newtheorem} specifications should be included in +the preamble; a starter set is included in the template for every +AMS author package. + +Theorem support is also available separately in the \pkg{amsthm} package +for users of document classes other than those from the AMS. + +\subsection*{Equations} +%% +Check displayed equations carefully, making sure they are broken and +aligned following the guidelines in \cite[pp. 44--48]{MIT}. + +\subsection*{Roman type}\label{ss:roman} +%% +Numbers, punctuation, (parentheses), [brackets], +$\lbrace$braces$\rbrace$, and symbols used as labels should always be +set in roman type. This is true even within the statement of a theorem, +which is ordinarily set in italic type. + +Be careful to distinguish between roman elements that are mathematical +in nature (e.g., ``a group of class 2''), and those that are part of +the text (e.g., a label or a year). Mathematical expressions, no matter +how short or insignificant, should be coded as math, by enclosing them +within dollar signs \verb+$...$+ or \verb+\(...\)+. Roman text elements +should be coded as \cn{textup\{...\}} in potentially nonroman +environments such as theorems. + +Abbreviated forms of mathematical terms are also usually set in roman +type to distinguish them from mathematical variables or constants. +Use the control sequences for common mathematical functions and +operators like \verb+log+ and \verb+lim+; use \cn{DeclareMathOperator} +to add additional operator names (see \cite[\S5]{AMP}). + +The style of reference citations, though publication-dependent, is +usually roman. To ensure consistency and support linking for the Web, +\textbf{always} use the standard \latex/ \cn{cite} command when citing +a reference. Internal references with the \cn{ref} command are not +automatically roman in non-roman environments, but can be forced by +using the \pkg{upref} package (part of the \amslatex/ collection). + +\subsection*{Exercises} +%% +Exercises are produced using the \env{xca} and \env{xcb} environments. +\env{xca} may be used in any publication, but must be defined in +the document preamble with \cn{theoremstyle\{definition\}} and the +\cn{newtheorem} command; it is used for exercises that occur within a +section. \env{xcb} is defined only for monographs and is used for +exercises that occur at the end of a chapter. + +\subsection*{Indexing facilities} +\label{ss:indexing} +%% +The tags needed for \makeindx/ are already included in AMS document +classes. Do not include the \pkg{makeidx} package, but do put the +command \cn{makeindex} in the preamble to launch a single index. +See \cite[chapter 11]{LC} and \cite[chapter 11]{GL} for use of +\makeindx/. + +A package for multiple indexes, \pkg{amsmidx}, is included in the +\amslatex/ collection beginning with version 2.20. Unlike other +multiple-index packages, \pkg{amsmidx} is compatible with the AMS +document classes. To use this package, put these commands into the +preamble: +\begin{verbatim} +\usepackage{amsmidx} +\makeindex{|?name of first index file>} +\makeindex{|?name of second index file>} +\end{verbatim} +To identify index entries in the text: +\begin{verbatim} +\index{|?name of index file>}{|?index term>} +\end{verbatim} +In the backmatter, where the indexes are to appear: +\begin{verbatim} +\Printindex{|?name of first index file>}{|?title of first index>} +\Printindex{|?name of second index file>}{|?title of second index>} +\end{verbatim} +Note the capitalization of the \cn{Printindex} command. + +\section{Floating objects: Figures and tables} + +Figures and tables are usually handled as floating inserts. Such +items are often so large that fitting them into the document at the +point of reference may cause problems with pagination. Placing such +items into a floating insert allows them to be repositioned +automatically by \latex/ as required for good pagination. + +A floating insert generally contains one of these possibilities: +\begin{itemize} +\item \latex/ code that produces an object such as a table or + commutative diagram; +\item a command to incorporate an item produced by another application + (most often an Encapsulated PostScript (EPS) file produced by a + graphics utility; see \textit{Electronic graphics}, + page~\pageref{ss:electronicgraphics}). +\end{itemize} + +If a figure is described by \latex/ code (e.g., using \pkg{xypic} or +the \env{picture} environment), it should be included directly in the +file. + +\subsection*{Placement} +%% +Floats should +\begin{enumerate} +\item be numbered consistently throughout the paper (figures and tables + are numbered separately), +\item be placed at the top or bottom of the page, +\item have an in-text reference, and +\item definitely appear within the same section as their first text + reference. +\end{enumerate} + +A figure or table should not precede its first text reference unless +they both appear on the same page spread. When a figure or table is +an integral part of text, it may appear unnumbered in place in the +middle of text. + +Figures and tables should be allowed to float according to the \latex/ +defaults preset by the document class. If you are submitting a file +that will be processed at the AMS (this applies to all journal +articles), you could introduce major problems with pagination if you +hard-set your figures and tables by using the \verb+[h!]+ option. +Production problems will be avoided when you use the appropriate +author package class file and avoid using figure or table options. +For electronic manuscripts, the final placement of inserts will be +determined by the AMS editorial staff, on the basis of the most +appropriate page layout. + +\subsection*{Captions} +%% +Captions for floating inserts are usually positioned above a table and +below a figure. The following is the general structure used to specify +a figure insert, with a caption at the bottom: +\begin{verbatim} +\begin{figure} +\includegraphics{|?file name of |tt.eps|rm| file>}|quad|rm or|tt|quad|?code for the insertion> +\caption{|?caption text>} +\label{|?reference label>}|quad|rm (optional)|tt +\end{figure} +\end{verbatim} + +This is the general structure for a table insert, with a caption at +the top: +\begin{verbatim} +\begin{table} +\caption{|?caption text>} +\label{|?reference label>}|quad|rm (optional)|tt +|?code for the insertion body> +\end{table} +\end{verbatim} + +Caption headings (e.g., ``\textsc{Table 3.1.}''\ or +``\textsc{Figure 7.}'')\ will be supplied automatically. The +\ is any appropriate descriptive text, and may be +omitted if no descriptive text is desired. (The style of the caption +differs from the basic \latex/ caption style.) A reference label +should usually be associated with the caption, and must be given +\emph{after} the caption. A reference in text to the figure or table +has the form \cn{ref\{\\}}. + +\latex/ packages for captions may appear to work with the AMS document +classes, but the caption style doesn't usually match the AMS style. + +\subsection*{Electronic graphics}\label{ss:electronicgraphics} +%% +Graphics created by applications other than \latex/ may be submitted +to the AMS in an electronic format. This includes output from +graphics applications as well as scanned photographs or other +computer-generated images. The AMS requires such graphics in +Encapsulated PostScript (EPS) format. + +Use the \pkg{graphicx} package (part of the \pkg{graphics} bundle +of \latex/) to embed references to EPS graphics directly in a \latex/ +file; see the manual, \filnam{grfguide.tex} \cite{GB}. Another +valuable reference is the manual ``Using EPS Graphics in \latexe/ +Documents'' \cite{EG}. + +Other packages are not recommended, as there are numerous areas of +incompatibility which may result in the need for manual intervention, +delaying processing and increasing the cost. + +The EPS files will not be physically included in the \latex/ file. +You must submit a separate file for each graphic along with the \latex/ +document. No matter what method is used to produce a graphic, it is +necessary to provide a paper copy to the AMS for verification. Double +check to make sure the electronic and paper versions are the same. + +\subsection*{Compatibility requirements for graphics} +There are two important requirements that must be observed when +embedding graphics. + +\emph{Omit path names} for the included files. Instead of +\begin{verbatim} +\includegraphics*{/usr/joe/book/figures/fig1.ps} +\end{verbatim} +use just the name of the file: +\begin{verbatim} +\includegraphics*{fig1.ps} +\end{verbatim} +The easiest way to do this is to place the graphics files in the +same directory as the file(s) being {\TeX}ed. + +Do not use the \cn{graphicspath\{\\}} command to +establish a path. This will result in the path being included in +the DVI file, which will be impossible to process at the AMS\@. +It may be possible to specify a path using one of the environments +recognized by the {\TeX} engine (\fn{TEXINPUTS}, for example); +instructions for setting these environments should be in the +documentation for your system. + +Graphics commands must be compatible with the \textit{dvips} output +driver. This is particularly important if you are submitting a DVI +file for a camera-ready publication. The method is specific to the +graphics package you are using; a typical method is to use a file +\filnam{graphics.cfg} containing the line \cn{ExecuteOptions\{dvips\}} +when you run \latex/ to create the DVI or PostScript file to send to +the AMS. + +\subsection*{Technical requirements for graphics} +%% +If you scale a figure before submitting it, remember that line weights +also scale. The lightest line weight that will reproduce clearly at +high resolution is 0.5pt after scaling. Do \emph{not} specify +``hairline'' weight, as this will be nearly invisible at high +resolution and will disappear in the printing process. If a rule line +is screened, its weight should be no less than 1 point \emph{after} +scaling. + +Graded line weights should increase in increments of at least 0.5pt. +Increments less than this are insufficiently distinguishable at high +resolution. + +Screened fills should be screened not less than 15\% (less will print +as white) and not greater than 85\% (greater will print as black). + +Ideally, text included in graphics files should be font outlines +rather than bitmaps, because the AMS typesets its publications on a +high-resolution imagesetter, not a laser printer. Text or lines in +graphics which are 300dpi bitmaps (which look fine in the +laser-printed output of your article) may appear poor in quality next +to the high-resolution text of AMS publications. If bitmaps of +characters are part of bitmapped line art files, output will be +satisfactory if the bitmapped characters are at 1200dpi. + +\subsection*{Color graphics} +%% +AMS publications are ordinarily printed in black and white. +Use of color requires explicit permission from the AMS. + +Color figures should have the resolution of at least 266 pixels per +inch when printed at 100\%, and must also be suitable for printing +as grayscale. The files must be in EPS format + + +\section{Bibliographic references} +%% +\subsection*{Using \protect\bibtex/ to prepare a bibliography}% +An author may find it convenient to maintain a file of references in +\bibtex/ form, as described in \textit{The \latex/ Companion} +\cite[Section 13.2]{LC}. Two \bibtex/ styles are provided: + +\begingroup +\exindent=2\parindent +\beginexample{\exboxwidth=1.05in} +\exbox{}{amsplain.bst} will produce numeric labels; preferred for articles; +\exbox{}{amsalpha.bst} will produce labels constructed from the % + author name(s)\newline and year of publication. +\endexample +\endgroup + +\noindent +Both will translate references in a \bibtex/ input (\filnam{.bib}) +file to \latex/ input in a \filnam{.bbl} file in the form appropriate +for AMS publications, including all necessary formatting instructions. +This method of preparing bibliographies is therefore recommended. + +To access a \bibtex/ bibliography in a paper or monograph, include these +instructions in the appropriate place in the input file: +\begin{verbatim} +\bibliographystyle{|?style>}|qquad|rm(|tt|0amsplain |rm or|tt amsalpha|rm)|tt +\bibliography{|?name of bibliography |bgroup|tt.bib|egroup| file>} +\end{verbatim} + +Running \bibtex/ on the \filnam{.bib} file will produce a \filnam{.bbl} +file. The \filnam{.bib} file may have any name the author finds convenient; +however, the \filnam{.bbl} file must have the same name as the source file +for a monograph from which it is input, so it may be necessary for the +author to rename it. For an article, after the bibliography has been +completed (including processing by \bibtex/), the contents of the +\filnam{.bbl} file should be inserted into the main article input file, +replacing the \cn{bibliographystyle} and \cn{bibliography} statements. + +Items in the bibliography are usually ordered alphabetically by author. +\bibtex/ processing may alter this order, especially if the +\filnam{amsalpha} style is used. + +All categories of bibliographic entries listed in +\cite[Table 13.1]{LC} are supported in the two AMS \bibtex/ styles. +In addition to the fields listed in Table 13.1, a \verb+language+ +field is provided for use in identifying the original language of an +item whose title has been translated. + +The \pkg{harvard} package (available from CTAN) provides an +author-year style that is compatible with the AMS document classes. +This should ordinarily be used only for monographs on historical +topics. + +Standard abbreviations for periodicals should be obtained from +\cite{ASMR}\@. + +\subsection*{Preparing a bibliography without \protect\bibtex/} +%% +The references section of a paper is contained between the commands +\begin{verbatim} +\begin{thebibliography}{|?model label>} +\end{thebibliography} +\end{verbatim} +This environment is resolved as an unnumbered section in an article +or an unnumbered chapter in a monograph, following AMS publication +specifications. The indentation for the labels is set to an +appropriate width using the model given with the \cn{begin} command. +Thus the widest label in the bibliography should be used as the model; +for example, \verb+99+ will provide space for a 2-digit numeric label. + +For the proper order of reference elements and use of fonts and +punctuation, look at an issue or volume in the journal or book series +for which your document is intended and follow the examples you see +there. More examples are given in \cite{MIT}. + +\subsubsection*{Reference input} +%% +Begin each item with the command \cn{bibitem\{\\}}. +The \latex/ default is to number references automatically; however, +other labels may be used by inserting an optional key argument in +square brackets between the command and the internal label: +\begin{verbatim} +\bibitem[ABC]{Arno1994} +\end{verbatim} +The item label and the key need not be identical. Whatever appears +within the \verb+[ ]+ is what prints; whatever is within the curly +braces is used for linking and must not include any math or special +characters. + +Give at least one full name; initials and last name is an acceptable +form. If a subsequent reference is by the same author(s), use +\cn{bysame} instead of the name(s). + +For examples, refer to \cite{MIT}. + + +\section{Monograph formatting}\label{s:mono} + +A monograph is a long work by a single author or co-authors on a +single subject. Each chapter should be prepared as a separate file, +as should the bibliography. In addition, a ``driver'' file should be +used to input all the others. These files should be given meaningful +names, so that when they are transmitted to the AMS, there will be no +question about which file represents which chapter. For example, a +monograph by author Grey might be composed of files named +\filnam{grey.tex} (the driver file), \filnam{grey-ch1.tex}, +\filnam{grey-ch2.tex}, \dots, \filnam{grey-ch12.tex}, +\filnam{grey-appa.tex}, etc., and \filnam{grey-bib.tex}. +If the author name is a common one, please include something to make +it unique, such as first initials. + +Information that identifies the author(s), the subject matter of the +monograph, acknowledgments of support, and so forth, will appear in the +front matter of the book. Place this information in the driver file, +and use the tags shown below. Most of these are the same as the tags +associated with the top matter of an article; see the \textit{Top +matter} section (page~\pageref{s:topmatter}) for explanations and an +indication of which tags are required. + +\subsection*{Starting a new monograph}\label{s:newamsbook} +%% +The driver file for a monograph is generally made up of the following: +\begin{itemize} +\item \verb+\documentclass{...}+ +\item preamble (where extra definitions might go) +\item \verb+\begin{document}+ +\item \verb+\frontmatter+ +\item title page and copyright page information +\item \verb+\maketitle+ (to set the title page and copyright page; see note) +\item \verb+\include+ files (e.g., preface, introduction) +\item \verb+\mainmatter+ +\item \verb+\include+ files (e.g., main chapters, appendices) +\item \verb+\backmatter+ +\item commands for bibliography, index +\item \verb+\end{document}+ +\end{itemize} + +\noindent +Note: The title and copyright pages are for information only, so that +a printed copy can be associated with the correct author(s). The final +copy will be prepared at the AMS. + +For a typical driver file, see the template for \cls{amsbook}, included +in the \amslatex/ collection. + +Instructions for preparing a dedication page are given in the AMS +Author FAQ \cite{AF}. + +The table of contents will be produced automatically from a +\filnam{.toc} file produced anew in each run of \latex/. Since there is +no \filnam{.toc} before the first run, the body of the table of contents +will be empty on the first run. It is AMS style to include only +first-level heads, chapter titles, and part titles in the table of +contents. + +Chapters in AMS book series start on right-hand (odd-numbered) pages. +Blank pages will be provided as necessary at the end of earlier material +to accomplish this. + + +\subsection*{Chapter titles} +%% +Chapter titles should be capitalized as follows: the first and last +words of the title and all nouns, pronouns, adjectives, adverbs, and +verbs should be capitalized. Articles, conjunctions, and prepositions +should be lowercased unless they are the first or last word of the title. + +There are three common variations of the chapter title. The form with +a chapter number is most common: +\begin{verbatim} +\chapter{Matrix Algebras} +\end{verbatim} + +The second variation is an appendix, where the word ``Appendix'' +replaces the word ``Chapter''. Use the command \cn{appendix} before +the first \cn{chapter} command in a sequence of appendix chapters. +\begin{verbatim} +\appendix +\chapter{Poisson Integral} +\end{verbatim} +In addition to ``Appendix'', the counter will produce letters ``A'', +``B'', ``C'', etc.,\ instead of numbers. + +The third variation is used for an element such as a preface or +introduction, which has no pretitle text at all. For this, use the +\cn{chapter*} command: +\begin{verbatim} +\chapter*{Preface} +\end{verbatim} +Unlike the \latex/ \cls{book} class, the AMS document classes will +place entries for unnumbered chapters in the table of contents, as +required by AMS style. + +\subsection*{Monograph running heads} +%% +The chapter title is used for the left running head and section +headings for the right running head. The chapter title repeats if +there are no sections. If the text of a section heading is too long +to fit as a running head, use the square-bracket option to specify a +shortened form for use in the running heads: + +\begin{verbatim} +\section[Fourier coefficients of periodic functions] + {Fourier coefficients of continuous periodic functions + of bounded entropy norm} +\end{verbatim} + +If the chapter title is too long to fit as a running head, a shortened +form can be supplied in a similar way. Full chapter titles and section +headings will be used in the table of contents (this is different from +basic \latex/). + +\subsection*{Numbering of figures and tables} +%% +The preferred AMS style for numbering figures and tables is to start +numbering from 1 within each chapter, and to include both the chapter +and element number in the printed caption heading. For example, the +first figure in Chapter 5 would be numbered ``\textsc{Figure} 5.1''. +The \cls{amsbook} document class resets figure and table numbers +automatically, but does not include the chapter number in the printed +caption. To add the chapter number, place these lines in the preamble +of the driver file: +\begin{verbatim} +\numberwithin{figure}{chapter} +\numberwithin{table}{chapter} +\end{verbatim} + + +\section{Getting help} + +Many questions raised by authors are answered in the AMS Author FAQ +\cite{AF}. Please check that before asking for assistance. + +If you encounter difficulties in preparing or submitting your +manuscript in electronic form after it has been accepted for +publication by the appropriate editorial board, you can ask for help +from the \AMS\ at: + +\penalty-100 +\begin{samepage} +\beginexample{\normalfont\mdseries} +Technical Support +Publications Technical Group +201 Charles Street +Providence, RI 02904-2294 +\vspace{3pt} +Phone: 800-321-4267, ext.\ 4080 \quad or \quad 401-455-4080 +E-mail: {\texttt{tech-support@ams.org}} +\endexample +\end{samepage} + +\noindent +Please supply the name of the journal or book series, the editor's +name if the manuscript is for a proceedings volume, and a concise +explanation of the problem. + + +\begin{thebibliography}{[ASMR]} + +\bibitem[AF]{AF} AMS Author FAQ, +\texttt{http://www.ams.org/authors/author-faq.html} + +\bibitem[AFG]{AFG} \textit{AMSFonts{} version~\textup{2.2d} user's guide}, +Amer. Math. Soc., Providence, RI, 2002. +PDF file linked from \texttt{http://www.ams.org/tex/amsfonts.html} + +\bibitem[AMP]{AMP} \textit{User's guide for the \pkg{amsmath} package +\textup{(}version~\textup{2.0)}}, Amer. Math. Soc., Providence, RI, 2004. +PDF file linked from \texttt{http://www.ams.org/tex/amslatex.html} + +\bibitem[AP]{AP} Author packages for publishing with the AMS,\\ +\texttt{http://www.ams.org/tex/author-info.html} + +\bibitem[ARC]{ARC} AMS Author Resource Center, +\texttt{http://www.ams.org/authors/} + +\bibitem[ASMR]{ASMR} \textit{Abbreviations of names of serials reviewed in +Mathematical Reviews}, Amer. Math. Soc., Providence, RI, +revised annually; searchable on-line at\\ +\texttt{http://www.ams.org/msnhtml/serials-list/annser\_frames.html}. + +\bibitem[ATP]{ATP} \textit{Using the \pkg{amsthm} package, +version~\textup{2.0}}, Amer. Math. Soc., Providence, RI, 2004.\\ +PDF file linked from \texttt{http://www.ams.org/tex/amslatex.html} + +\bibitem[EG]{EG} Keith Reckdahl, ``Using EPS graphics in \latexe/ +documents'', available in electronic form as \texttt{info/epslatex.ps} +or \filnam{.pdf} from\newline +\texttt{http://www.ctan.org/tex-archive/} + +\bibitem[EP]{EP} Guide to AMS editor's package, +\texttt{http://www.ams.org/authors/editpkg.html} + +\bibitem[GB]{GB} David Carlisle, ``Packages in the `graphics' bundle'', +available in electronic form as +\filnam{macros/latex/required/graphics/grfguide.tex} or \filnam{.ps} +from\\ \texttt{http://www.ctan.org/tex-archive/} + +\bibitem[GL]{GL} Helmut Kopka and Patrick Daly, \textit{A Guide to + \latex/}, 4th ed., Addison-Wesley, Reading, MA, 2004. + +\bibitem[HBW]{HBW} Nicholas J. Higham, \textit{Handbook of Writing for +the Mathematical Sciences}, 2nd ed., SIAM, Philadelphia, PA, 1998. + +\bibitem[HWM]{HWM} +Norman E. Steenrod, Paul R. Halmos, Menahem M. Schiffer, and Jean A. +Dieudonn\'e, \textit{How to Write Mathematics}, 5th printing 1995, +Amer. Math. Soc., Providence, RI, 1973. + +\bibitem[Joy]{Joy} M. D. Spivak, \textit{The Joy of \tex/}, +2nd revised ed., Amer. Math. Soc., Providence, RI, 1990. + +\bibitem[LC]{LC} Frank Mittelbach and Michel Goossens, with +Johannes Braams, David Carlisle and Chris Rowley, +\textit{The \latex/ Companion}, 2nd ed., Addison-Wesley Co., +Reading, MA, 2004. + +\bibitem[LGC]{LGC} Michel Goossens, Sebastian Rahtz, and Frank Mittelbach, +\textit{The \latex/ graphics Companion}, Addison-Wesley Co., Reading, +MA, 1997. + +\bibitem[MIT]{MIT} Ellen E. Swanson, updated by Arlene O'Sean and +Antoinette Schleyer, \textit{Mathematics into Type}, +Updated ed., Amer. Math. Soc., Providence, RI, 1999. + +\bibitem[ML]{ML} George Gr\"{a}tzer, \textit{Math into \latex/}, +3rd ed., Birkh\"{a}user, Boston, MA/Springer Verlag, NY, 2000. + +\bibitem[MSC]{MSC} \textit{\textup{2000} Mathematics subject classification}, +Amer. Math. Soc., Providence, RI, 1999; searchable on-line at +\texttt{http://www.ams.org/msc/}. + +\end{thebibliography} + +\end{document} diff --git a/Master/texmf-dist/source/latex/amscls/manifest.txt b/Master/texmf-dist/source/latex/amscls/manifest.txt new file mode 100644 index 00000000000..9cc4cd958e7 --- /dev/null +++ b/Master/texmf-dist/source/latex/amscls/manifest.txt @@ -0,0 +1,41 @@ + +texmf/bibtex/bst/ams/ + amsalpha.bst + amsplain.bst + +texmf/doc/latex/amscls/ + amsart.template + amsbook.template + amsproc.template + amsthdoc.pdf + diffs-c.txt + instr-l.pdf + thmtest.pdf + +texmf/source/latex/amscls/ + 00readme.txt + ams-c1.ins + amsalpha.bst + amsart.template + amsbook.template + amsclass.dtx + amsdtx.dtx + amsmidx.dtx + amsplain.bst + amsproc.template + amsthdoc.tex + diffs-c.txt + install.txt + instr-l.tex + manifest.txt + thmtest.tex + upref.dtx + +texmf/tex/latex/amscls/ + amsart.cls + amsbook.cls + amsdtx.cls + amsmidx.sty + amsproc.cls + amsthm.sty + upref.sty diff --git a/Master/texmf-dist/source/latex/amscls/thmtest.tex b/Master/texmf-dist/source/latex/amscls/thmtest.tex new file mode 100644 index 00000000000..21193949e83 --- /dev/null +++ b/Master/texmf-dist/source/latex/amscls/thmtest.tex @@ -0,0 +1,255 @@ +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "thmtest.tex", +%%% version = "2.01", +%%% date = "2004/08/02", +%%% time = "14:18:27 EDT", +%%% checksum = "26819 255 963 8277", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1996, 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", +%%% supported = "yes", +%%% keywords = "latex, amslatex, ams-latex, theorem, proof", +%%% abstract = "This is part of the AMS-\LaTeX{} distribution. +%%% It is a sample document illustrating the use of +%%% the amsthm 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.", +%%% } +%%% ==================================================================== + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Option test file, will be created during the first LaTeX run; +% this facility is not available when using an AMS document class. +\begin{filecontents}{exercise.thm} +\def\th@exercise{% + \normalfont % body font + \thm@headpunct{:}% +} +\end{filecontents} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\documentclass{article} +\title{Newtheorem and theoremstyle test} +\author{Michael Downes\\updated by Barbara Beeton} + +\usepackage[exercise]{amsthm} + +\newtheorem{thm}{Theorem}[section] +\newtheorem{cor}[thm]{Corollary} +\newtheorem{prop}{Proposition} +\newtheorem{lem}[thm]{Lemma} + +\theoremstyle{remark} +\newtheorem*{rmk}{Remark} + +\theoremstyle{plain} +\newtheorem*{Ahlfors}{Ahlfors' Lemma} + +\newtheoremstyle{note}% name + {3pt}% Space above + {3pt}% Space below + {}% Body font + {}% Indent amount (empty = no indent, \parindent = para indent) + {\itshape}% Thm head font + {:}% Punctuation after thm head + {.5em}% Space after thm head: " " = normal interword space; + % \newline = linebreak + {}% Thm head spec (can be left empty, meaning `normal') + +\theoremstyle{note} +\newtheorem{note}{Note} + +\newtheoremstyle{citing}% name + {3pt}% Space above, empty = `usual value' + {3pt}% Space below + {\itshape}% Body font + {}% Indent amount (empty = no indent, \parindent = para indent) + {\bfseries}% Thm head font + {.}% Punctuation after thm head + {.5em}% Space after thm head: " " = normal interword space; + % \newline = linebreak + {\thmnote{#3}}% Thm head spec + +\theoremstyle{citing} +\newtheorem*{varthm}{}% all text supplied in the note + +\newtheoremstyle{break}% name + {9pt}% Space above, empty = `usual value' + {9pt}% Space below + {\itshape}% Body font + {}% Indent amount (empty = no indent, \parindent = para indent) + {\bfseries}% Thm head font + {.}% Punctuation after thm head + {\newline}% Space after thm head: \newline = linebreak + {}% Thm head spec + +\theoremstyle{break} +\newtheorem{bthm}{B-Theorem} + +\theoremstyle{exercise} +\newtheorem{exer}{Exercise} + +\swapnumbers +\theoremstyle{plain} +\newtheorem{thmsw}{Theorem}[section] +\newtheorem{corsw}[thmsw]{Corollary} +\newtheorem{propsw}{Proposition} +\newtheorem{lemsw}[thmsw]{Lemma} + +% Because the amsmath pkg is not used, we need to define a couple of +% commands in more primitive terms. +\let\lvert=|\let\rvert=| +\newcommand{\Ric}{\mathop{\mathrm{Ric}}\nolimits} + +% Dispel annoying problem of slightly overlong lines: +\addtolength{\textwidth}{8pt} + +\begin{document} +\maketitle + +\section{Test of standard theorem styles} + +Ahlfors' Lemma gives the principal criterion for obtaining lower bounds +on the Kobayashi metric. + +\begin{Ahlfors} +Let $ds^2 = h(z)\lvert dz\rvert^2$ be a Hermitian pseudo-metric on +$\mathbf{D}_r$, $h\in C^2(\mathbf{D}_r)$, with $\omega$ the associated +$(1,1)$-form. If $\Ric\omega\geq\omega$ on $\mathbf{D}_r$, +then $\omega\leq\omega_r$ on all of $\mathbf{D}_r$ (or equivalently, +$ds^2\leq ds_r^2$). +\end{Ahlfors} + +\begin{lem}[negatively curved families] +Let $\{ds_1^2,\dots,ds_k^2\}$ be a negatively curved family of metrics +on $\mathbf{D}_r$, with associated forms $\omega^1$, \dots, $\omega^k$. +Then $\omega^i \leq\omega_r$ for all $i$. +\end{lem} + +Then our main theorem: +\begin{thm}\label{pigspan} +Let $d_{\max}$ and $d_{\min}$ be the maximum, resp.\ minimum distance +between any two adjacent vertices of a quadrilateral $Q$. Let $\sigma$ +be the diagonal pigspan of a pig $P$ with four legs. +Then $P$ is capable of standing on the corners of $Q$ iff +\begin{equation}\label{sdq} +\sigma\geq \sqrt{d_{\max}^2+d_{\min}^2}. +\end{equation} +\end{thm} + +\begin{cor} +Admitting reflection and rotation, a three-legged pig $P$ is capable of +standing on the corners of a triangle $T$ iff (\ref{sdq}) holds. +\end{cor} + +\begin{rmk} +As two-legged pigs generally fall over, the case of a polygon of order +$2$ is uninteresting. +\end{rmk} + +\section{Custom theorem styles} + +\begin{exer} +Generalize Theorem~\ref{pigspan} to three and four dimensions. +\end{exer} + +\begin{note} +This is a test of the custom theorem style `note'. It is supposed to have +variant fonts and other differences. +\end{note} + +\begin{bthm} +Test of the `linebreak' style of theorem heading. +\end{bthm} + +This is a test of a citing theorem to cite a theorem from some other source. + +\begin{varthm}[Theorem 3.6 in \cite{thatone}] +No hyperlinking available here yet \dots\ but that's not a +bad idea for the future. +\end{varthm} + +\section{The proof environment} + +\begin{proof} +Here is a test of the proof environment. +\end{proof} + +\begin{proof}[Proof of Theorem \ref{pigspan}] +And another test. +\end{proof} + +\begin{proof}[Proof \textup(necessity\textup)] +And another. +\end{proof} + +\begin{proof}[Proof \textup(sufficiency\textup)] +And another, ending with a display: +\[ +1+1=2\,. \qedhere +\] +\end{proof} + +\section{Test of number-swapping} + +This is a repeat of the first section but with numbers in theorem heads +swapped to the left. + +Ahlfors' Lemma gives the principal criterion for obtaining lower bounds +on the Kobayashi metric. +\begin{Ahlfors} +Let $ds^2 = h(z)\lvert dz\rvert^2$ be a Hermitian pseudo-metric on +$\mathbf{D}_r$, $h\in C^2(\mathbf{D}_r)$, with $\omega$ the associated +$(1,1)$-form. If $\Ric\omega\geq\omega$ on $\mathbf{D}_r$, +then $\omega\leq\omega_r$ on all of $\mathbf{D}_r$ (or equivalently, +$ds^2\leq ds_r^2$). +\end{Ahlfors} + +\begin{lemsw}[negatively curved families] +Let $\{ds_1^2,\dots,ds_k^2\}$ be a negatively curved family of metrics +on $\mathbf{D}_r$, with associated forms $\omega^1$, \dots, $\omega^k$. +Then $\omega^i \leq\omega_r$ for all $i$. +\end{lemsw} + +Then our main theorem: +\begin{thmsw} +Let $d_{\max}$ and $d_{\min}$ be the maximum, resp.\ minimum distance +between any two adjacent vertices of a quadrilateral $Q$. Let $\sigma$ +be the diagonal pigspan of a pig $P$ with four legs. +Then $P$ is capable of standing on the corners of $Q$ iff +\begin{equation}\label{sdqsw} +\sigma\geq \sqrt{d_{\max}^2+d_{\min}^2}. +\end{equation} +\end{thmsw} + +\begin{corsw} +Admitting reflection and rotation, a three-legged pig $P$ is capable of +standing on the corners of a triangle $T$ iff (\ref{sdqsw}) holds. +\end{corsw} + +\begin{thebibliography}{99} +\bibitem{thatone} Dummy entry. +\end{thebibliography} + +\end{document} diff --git a/Master/texmf-dist/source/latex/amscls/upref.dtx b/Master/texmf-dist/source/latex/amscls/upref.dtx new file mode 100644 index 00000000000..843126b3b58 --- /dev/null +++ b/Master/texmf-dist/source/latex/amscls/upref.dtx @@ -0,0 +1,151 @@ +%%% ==================================================================== +%%% @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.", +%%% } +%%% ==================================================================== +% +%\iffalse +%<*driver> +\documentclass{amsdtx} +\begin{document} +\title{The \pkg{upref} package} +\author{American Mathematical Society\\ Michael Downes\\ + updated by Barbara Beeton} +\date{Version \fileversion, \filedate} +\hDocInput{upref.dtx} +\end{document} +% +%\fi +% +% \maketitle +% +% \MakeShortVerb\| +% +% \section{Introduction} +% +% This package changes the \cn{ref} command so that it never applies +% a slanted font shape to its argument, regardless of context. This +% was the default behavior in \cls{amsart} version 1.1. Starting with +% \cls{amsart} version 1.2, upright references must be obtained via +% |\usepackage{upref}|. +% +% \StopEventually{} +% +% \section{Implementation} +% Give package name, date, version. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\ProvidesPackage{upref}[2004/07/29 v2.01] +% \end{macrocode} +% +% \begin{macro}{\@noref} +% Give a warning if a cited reference isn't defined. +% \begin{macrocode} +\newcommand{\@noref}[1]{% + \G@refundefinedtrue + \nfss@text{\reset@font\bfseries ??}% + \@latex@warning{Reference `#1' on page \thepage\space undefined}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@setref} +% If the current fontshape is italic or slanted, we want to switch to +% upright/roman for printing the number of a \cn{ref}. This requires +% changing the \cs{@setref} command. +% +% Since \cs{@setref} is modified by the \pkg{hyperref} package, delay +% the definition until \cs{AtBeginDocument}. Then check whether +% \pkg{hyperref} is loaded. If it is, we have to redefine some +% control sequences that \pkg{hyperref} defined in order to get +% upright references even in a \pkg{hyperref} environment. +% [tjk,bnb, 2004/07/29] +% \begin{macrocode} +\AtBeginDocument{% + \@ifpackageloaded{hyperref}{% +% \end{macrocode} +% We overload \cs{Hy@setref@link} as this is where the upright +% references get clobbered. Used in overloaded \cs{@setref}. +% \begin{macrocode} + \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 + }% +% \end{macrocode} +% We should not have to overload \cs{@setref}, but there is +% a chance that an author is using an old version of hyperref +% which does not use \cs{Hy@setref@link} in \cs{@setref}. +% \begin{macrocode} + \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 + }% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@upn} +% The function \cs{\@upn} is used to force theorem numbers and +% similar elements to be upright in sloped or italic contexts. +% If a suitable italic font with upright numbers and punctuation is +% available, this function should be redefined to be a no-op. +% \begin{macrocode} +\providecommand\@upn{\textup} +% \end{macrocode} +% \end{macro} +% +% The usual \cs{endinput} to ensure that random garbage at the end of +% the file doesn't get copied by \fn{docstrip}. +% \begin{macrocode} +\endinput +% \end{macrocode} +% +% \CheckSum{61} +% \Finale diff --git a/Master/texmf-dist/tex/latex/amscls/amsart.cls b/Master/texmf-dist/tex/latex/amscls/amsart.cls new file mode 100644 index 00000000000..6161f65c164 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/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/amscls/amsbook.cls b/Master/texmf-dist/tex/latex/amscls/amsbook.cls new file mode 100644 index 00000000000..bce71739d58 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/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/amscls/amsbooka.sty b/Master/texmf-dist/tex/latex/amscls/amsbooka.sty new file mode 100644 index 00000000000..bb449b6677a --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/amsbooka.sty @@ -0,0 +1,174 @@ +%% +%% This is file `amsbooka.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsbooka.dtx +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsbooka.dtx", +%%% version = "2.02", +%%% date = "2005/04/26", +%%% time = "13:19:26 EDT", +%%% 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 = "49141 298 1079 10230", +%%% 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}[2005/04/26 v2.02 monograph part/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\partauthor{% + \def\author##1{\newline\phantom{Part 1.\enspace}{\mdseries\scshape##1}}} +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >-2\relax \refstepcounter{part}% + \addcontentsline{toc}{part}{\partname\ \thepart.% + \protect\partauthor\protect\enspace\protect\noindent#1}% + \else + \addcontentsline{toc}{part}{#1}\fi + \begingroup + \def\author##1{\\ \hfil \\ \fontsize{\@xivpt}{20}\mdseries\itshape ##1}% + \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\partauthor\protect\noindent#1}% + \begingroup + \def\author##1{\\ \hfil \\ \fontsize{\@xivpt}{20}\mdseries\itshape ##1}% + \centering + \fontsize{\@xxpt}{25}\bfseries + #1\vfil\vfil\endgroup \newpage\thispagestyle{empty}} +\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/amscls/amsdtx.cls b/Master/texmf-dist/tex/latex/amscls/amsdtx.cls new file mode 100644 index 00000000000..96a50814c8f --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/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/amscls/amsmidx.sty b/Master/texmf-dist/tex/latex/amscls/amsmidx.sty new file mode 100644 index 00000000000..f8bae104430 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/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/amscls/amsproc.cls b/Master/texmf-dist/tex/latex/amscls/amsproc.cls new file mode 100644 index 00000000000..a85c122203c --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/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/amscls/amsrbeta.sty b/Master/texmf-dist/tex/latex/amscls/amsrbeta.sty new file mode 100644 index 00000000000..6dba64291d8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/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/amscls/amsrefs.sty b/Master/texmf-dist/tex/latex/amscls/amsrefs.sty new file mode 100644 index 00000000000..8fcd754b2e9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/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/amscls/amsthm.sty b/Master/texmf-dist/tex/latex/amscls/amsthm.sty new file mode 100644 index 00000000000..adc0add1a9f --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/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/amscls/ifoption.sty b/Master/texmf-dist/tex/latex/amscls/ifoption.sty new file mode 100644 index 00000000000..7e6e9039dbe --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/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/amscls/mathscinet.sty b/Master/texmf-dist/tex/latex/amscls/mathscinet.sty new file mode 100644 index 00000000000..80ed5d99e57 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/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/amscls/pcatcode.sty b/Master/texmf-dist/tex/latex/amscls/pcatcode.sty new file mode 100644 index 00000000000..a9431543c5f --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/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/amscls/rkeyval.sty b/Master/texmf-dist/tex/latex/amscls/rkeyval.sty new file mode 100644 index 00000000000..48ae11173e0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/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/amscls/rkvbeta.sty b/Master/texmf-dist/tex/latex/amscls/rkvbeta.sty new file mode 100644 index 00000000000..693ad698a91 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/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/amscls/textcmds.sty b/Master/texmf-dist/tex/latex/amscls/textcmds.sty new file mode 100644 index 00000000000..4f4346c60a1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/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))) + +\endinput +%% +%% End of file `textcmds.sty'. diff --git a/Master/texmf-dist/tex/latex/amscls/upref.sty b/Master/texmf-dist/tex/latex/amscls/upref.sty new file mode 100644 index 00000000000..f1b173a842e --- /dev/null +++ b/Master/texmf-dist/tex/latex/amscls/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'. diff --git a/Master/texmf-dist/tpm/amscls.tpm b/Master/texmf-dist/tpm/amscls.tpm new file mode 100644 index 00000000000..512e6c93662 --- /dev/null +++ b/Master/texmf-dist/tpm/amscls.tpm @@ -0,0 +1,82 @@ + + + + amscls + Package + 2006/08/26 16:21:19 + + karl + The amscls package. + + + 4993874 + + +texmf-dist/tex/latex/amscls/amsart.cls +texmf-dist/tex/latex/amscls/amsbook.cls +texmf-dist/tex/latex/amscls/amsbooka.sty +texmf-dist/tex/latex/amscls/amsdtx.cls +texmf-dist/tex/latex/amscls/amsmidx.sty +texmf-dist/tex/latex/amscls/amsproc.cls +texmf-dist/tex/latex/amscls/amsrbeta.sty +texmf-dist/tex/latex/amscls/amsrefs.sty +texmf-dist/tex/latex/amscls/amsthm.sty +texmf-dist/tex/latex/amscls/ifoption.sty +texmf-dist/tex/latex/amscls/mathscinet.sty +texmf-dist/tex/latex/amscls/pcatcode.sty +texmf-dist/tex/latex/amscls/rkeyval.sty +texmf-dist/tex/latex/amscls/rkvbeta.sty +texmf-dist/tex/latex/amscls/textcmds.sty +texmf-dist/tex/latex/amscls/upref.sty +texmf-dist/tpm/amscls.tpm + + +texmf-dist/doc/latex/amscls/amsart.template +texmf-dist/doc/latex/amscls/amsbook.template +texmf-dist/doc/latex/amscls/amsclass.pdf +texmf-dist/doc/latex/amscls/amsdtx.pdf +texmf-dist/doc/latex/amscls/amsmidx.pdf +texmf-dist/doc/latex/amscls/amsproc.template +texmf-dist/doc/latex/amscls/amsrdoc.pdf +texmf-dist/doc/latex/amscls/amsrefs.faq +texmf-dist/doc/latex/amscls/amsrefs.pdf +texmf-dist/doc/latex/amscls/amsthdoc.pdf +texmf-dist/doc/latex/amscls/amsxport.pdf +texmf-dist/doc/latex/amscls/changes.pdf +texmf-dist/doc/latex/amscls/cite-xa.pdf +texmf-dist/doc/latex/amscls/cite-xa.tex +texmf-dist/doc/latex/amscls/cite-xb.pdf +texmf-dist/doc/latex/amscls/cite-xb.tex +texmf-dist/doc/latex/amscls/cite-xh.pdf +texmf-dist/doc/latex/amscls/cite-xh.tex +texmf-dist/doc/latex/amscls/cite-xs.pdf +texmf-dist/doc/latex/amscls/cite-xs.tex +texmf-dist/doc/latex/amscls/diffs-c.txt +texmf-dist/doc/latex/amscls/gktest.ltb +texmf-dist/doc/latex/amscls/ifoption.pdf +texmf-dist/doc/latex/amscls/instr-l.pdf +texmf-dist/doc/latex/amscls/jr.bib +texmf-dist/doc/latex/amscls/mathscinet.pdf +texmf-dist/doc/latex/amscls/pcatcode.pdf +texmf-dist/doc/latex/amscls/rkeyval.pdf +texmf-dist/doc/latex/amscls/textcmds.pdf +texmf-dist/doc/latex/amscls/thmtest.pdf +texmf-dist/doc/latex/amscls/upref.pdf + + +texmf-dist/source/latex/amscls/00readme.txt +texmf-dist/source/latex/amscls/ams-c1.ins +texmf-dist/source/latex/amscls/amsclass.dtx +texmf-dist/source/latex/amscls/amsdtx.dtx +texmf-dist/source/latex/amscls/amsmidx.dtx +texmf-dist/source/latex/amscls/amsthdoc.tex +texmf-dist/source/latex/amscls/install.txt +texmf-dist/source/latex/amscls/instr-l.tex +texmf-dist/source/latex/amscls/manifest.txt +texmf-dist/source/latex/amscls/thmtest.tex +texmf-dist/source/latex/amscls/upref.dtx + + Package/amscls + + + diff --git a/Master/texmf/lists/amscls b/Master/texmf/lists/amscls new file mode 100644 index 00000000000..882bb4b424d --- /dev/null +++ b/Master/texmf/lists/amscls @@ -0,0 +1,61 @@ +texmf-dist/doc/latex/amscls/amsart.template +texmf-dist/doc/latex/amscls/amsbook.template +texmf-dist/doc/latex/amscls/amsclass.pdf +texmf-dist/doc/latex/amscls/amsdtx.pdf +texmf-dist/doc/latex/amscls/amsmidx.pdf +texmf-dist/doc/latex/amscls/amsproc.template +texmf-dist/doc/latex/amscls/amsrdoc.pdf +texmf-dist/doc/latex/amscls/amsrefs.faq +texmf-dist/doc/latex/amscls/amsrefs.pdf +texmf-dist/doc/latex/amscls/amsthdoc.pdf +texmf-dist/doc/latex/amscls/amsxport.pdf +texmf-dist/doc/latex/amscls/changes.pdf +texmf-dist/doc/latex/amscls/cite-xa.pdf +texmf-dist/doc/latex/amscls/cite-xa.tex +texmf-dist/doc/latex/amscls/cite-xb.pdf +texmf-dist/doc/latex/amscls/cite-xb.tex +texmf-dist/doc/latex/amscls/cite-xh.pdf +texmf-dist/doc/latex/amscls/cite-xh.tex +texmf-dist/doc/latex/amscls/cite-xs.pdf +texmf-dist/doc/latex/amscls/cite-xs.tex +texmf-dist/doc/latex/amscls/diffs-c.txt +texmf-dist/doc/latex/amscls/gktest.ltb +texmf-dist/doc/latex/amscls/ifoption.pdf +texmf-dist/doc/latex/amscls/instr-l.pdf +texmf-dist/doc/latex/amscls/jr.bib +texmf-dist/doc/latex/amscls/mathscinet.pdf +texmf-dist/doc/latex/amscls/pcatcode.pdf +texmf-dist/doc/latex/amscls/rkeyval.pdf +texmf-dist/doc/latex/amscls/textcmds.pdf +texmf-dist/doc/latex/amscls/thmtest.pdf +texmf-dist/doc/latex/amscls/upref.pdf +texmf-dist/source/latex/amscls/00readme.txt +texmf-dist/source/latex/amscls/ams-c1.ins +texmf-dist/source/latex/amscls/amsclass.dtx +texmf-dist/source/latex/amscls/amsdtx.dtx +texmf-dist/source/latex/amscls/amsmidx.dtx +texmf-dist/source/latex/amscls/amsthdoc.tex +texmf-dist/source/latex/amscls/install.txt +texmf-dist/source/latex/amscls/instr-l.tex +texmf-dist/source/latex/amscls/manifest.txt +texmf-dist/source/latex/amscls/thmtest.tex +texmf-dist/source/latex/amscls/upref.dtx +texmf-dist/tex/latex/amscls/amsart.cls +texmf-dist/tex/latex/amscls/amsbook.cls +texmf-dist/tex/latex/amscls/amsbooka.sty +texmf-dist/tex/latex/amscls/amsdtx.cls +texmf-dist/tex/latex/amscls/amsmidx.sty +texmf-dist/tex/latex/amscls/amsproc.cls +texmf-dist/tex/latex/amscls/amsrbeta.sty +texmf-dist/tex/latex/amscls/amsrefs.sty +texmf-dist/tex/latex/amscls/amsthm.sty +texmf-dist/tex/latex/amscls/ifoption.sty +texmf-dist/tex/latex/amscls/mathscinet.sty +texmf-dist/tex/latex/amscls/pcatcode.sty +texmf-dist/tex/latex/amscls/rkeyval.sty +texmf-dist/tex/latex/amscls/rkvbeta.sty +texmf-dist/tex/latex/amscls/textcmds.sty +texmf-dist/tex/latex/amscls/upref.sty +texmf-dist/tpm/amscls.tpm + +texmf/lists/amscls -- cgit v1.2.3