summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/amsrdoc.pdfbin198726 -> 199450 bytes
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/amsrefs.faq (renamed from Master/texmf-dist/source/latex/amsrefs/amsrefs.faq)18
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/amsrefs.pdfbin449559 -> 946559 bytes
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/amsxport.pdfbin184957 -> 220306 bytes
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/changes.pdfbin100605 -> 100605 bytes
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/cite-xa.pdfbin0 -> 62497 bytes
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/cite-xa.tex (renamed from Master/texmf-dist/source/latex/amsrefs/cite-xa.tex)0
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/cite-xb.pdfbin0 -> 74354 bytes
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/cite-xb.tex (renamed from Master/texmf-dist/source/latex/amsrefs/cite-xb.tex)0
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/cite-xh.pdfbin0 -> 69193 bytes
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/cite-xh.tex (renamed from Master/texmf-dist/source/latex/amsrefs/cite-xh.tex)0
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/cite-xs.pdfbin0 -> 48160 bytes
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/cite-xs.tex (renamed from Master/texmf-dist/source/latex/amsrefs/cite-xs.tex)0
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/gktest.ltb (renamed from Master/texmf-dist/source/latex/amsrefs/gktest.ltb)0
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/ifoption.pdfbin68000 -> 94653 bytes
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/jr.bib (renamed from Master/texmf-dist/source/latex/amsrefs/jr.bib)0
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/mathscinet.pdfbin119118 -> 184804 bytes
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/pcatcode.pdfbin83260 -> 153422 bytes
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/rkeyval.pdfbin125162 -> 173119 bytes
-rw-r--r--Master/texmf-dist/doc/latex/amsrefs/textcmds.pdfbin99309 -> 143846 bytes
-rw-r--r--Master/texmf-dist/source/latex/amsrefs/00readme.txt65
-rw-r--r--Master/texmf-dist/source/latex/amsrefs/ams-r1.ins43
-rw-r--r--Master/texmf-dist/source/latex/amsrefs/amsrdoc.tex16
-rw-r--r--Master/texmf-dist/source/latex/amsrefs/amsrefs.dtx185
-rw-r--r--Master/texmf-dist/source/latex/amsrefs/amsrefs.ins2
-rw-r--r--Master/texmf-dist/source/latex/amsrefs/ifoption.ins2
-rw-r--r--Master/texmf-dist/source/latex/amsrefs/manifest.txt4
-rw-r--r--Master/texmf-dist/source/latex/amsrefs/mathscinet.ins2
-rw-r--r--Master/texmf-dist/source/latex/amsrefs/pcatcode.ins2
-rw-r--r--Master/texmf-dist/source/latex/amsrefs/rkeyval.ins2
-rw-r--r--Master/texmf-dist/source/latex/amsrefs/textcmds.dtx20
-rw-r--r--Master/texmf-dist/source/latex/amsrefs/textcmds.ins2
-rw-r--r--Master/texmf-dist/tex/latex/amsrefs/amsbst.sty178
-rw-r--r--Master/texmf-dist/tex/latex/amsrefs/amsrefs.sty3100
-rw-r--r--Master/texmf-dist/tex/latex/amsrefs/ifoption.sty85
-rw-r--r--Master/texmf-dist/tex/latex/amsrefs/mathscinet.sty184
-rw-r--r--Master/texmf-dist/tex/latex/amsrefs/pcatcode.sty170
-rw-r--r--Master/texmf-dist/tex/latex/amsrefs/rkeyval.sty460
-rw-r--r--Master/texmf-dist/tex/latex/amsrefs/textcmds.sty130
39 files changed, 4561 insertions, 109 deletions
diff --git a/Master/texmf-dist/doc/latex/amsrefs/amsrdoc.pdf b/Master/texmf-dist/doc/latex/amsrefs/amsrdoc.pdf
index 43a62b84eb3..2e2bc1ba6f4 100644
--- a/Master/texmf-dist/doc/latex/amsrefs/amsrdoc.pdf
+++ b/Master/texmf-dist/doc/latex/amsrefs/amsrdoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/amsrefs/amsrefs.faq b/Master/texmf-dist/doc/latex/amsrefs/amsrefs.faq
index 5df8c651b32..699436c83b7 100644
--- a/Master/texmf-dist/source/latex/amsrefs/amsrefs.faq
+++ b/Master/texmf-dist/doc/latex/amsrefs/amsrefs.faq
@@ -1,4 +1,4 @@
-amsrefs.faq [2007/10/01] American Mathematical Society
+amsrefs.faq [2007/10/16] American Mathematical Society
Frequently asked questions about the amsrefs package and its companion
packages.
@@ -19,10 +19,24 @@ For information on customizing the formatting of references, see
amsrefs.pdf, especially sections 4, 6.10 and 6.27.
3) I'm trying to use amsrefs with hyperref, but various bad things
-are happening.
+ are happening.
Unlike most packages, which must be loaded before hyperref, amsrefs
must be loaded *after* hyperref:
\usepackage{hyperref}
\usepackage{amsrefs}
+
+4) When I put
+
+ review={MR0113214 (22 \#4052)},
+
+ in a \bib, there is no space between the review number and the
+ preceding period in the printed output.
+
+You must use the \MR macro to mark MR reviews:
+
+ review={\MR{0113214 (22 \#4052)}},
+
+This will ensure the spacing is correct and also allow you to use the
+msc-links option.
diff --git a/Master/texmf-dist/doc/latex/amsrefs/amsrefs.pdf b/Master/texmf-dist/doc/latex/amsrefs/amsrefs.pdf
index d3a9eb86c22..5ada18cfbe7 100644
--- a/Master/texmf-dist/doc/latex/amsrefs/amsrefs.pdf
+++ b/Master/texmf-dist/doc/latex/amsrefs/amsrefs.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/amsrefs/amsxport.pdf b/Master/texmf-dist/doc/latex/amsrefs/amsxport.pdf
index 85e29862bf9..473ce764fb0 100644
--- a/Master/texmf-dist/doc/latex/amsrefs/amsxport.pdf
+++ b/Master/texmf-dist/doc/latex/amsrefs/amsxport.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/amsrefs/changes.pdf b/Master/texmf-dist/doc/latex/amsrefs/changes.pdf
index 52f3f0cab9a..d4d72824f70 100644
--- a/Master/texmf-dist/doc/latex/amsrefs/changes.pdf
+++ b/Master/texmf-dist/doc/latex/amsrefs/changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/amsrefs/cite-xa.pdf b/Master/texmf-dist/doc/latex/amsrefs/cite-xa.pdf
new file mode 100644
index 00000000000..085306162a1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/amsrefs/cite-xa.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/amsrefs/cite-xa.tex b/Master/texmf-dist/doc/latex/amsrefs/cite-xa.tex
index d6930f7cbf1..d6930f7cbf1 100644
--- a/Master/texmf-dist/source/latex/amsrefs/cite-xa.tex
+++ b/Master/texmf-dist/doc/latex/amsrefs/cite-xa.tex
diff --git a/Master/texmf-dist/doc/latex/amsrefs/cite-xb.pdf b/Master/texmf-dist/doc/latex/amsrefs/cite-xb.pdf
new file mode 100644
index 00000000000..5b843877d82
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/amsrefs/cite-xb.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/amsrefs/cite-xb.tex b/Master/texmf-dist/doc/latex/amsrefs/cite-xb.tex
index 5b7aa30f8d2..5b7aa30f8d2 100644
--- a/Master/texmf-dist/source/latex/amsrefs/cite-xb.tex
+++ b/Master/texmf-dist/doc/latex/amsrefs/cite-xb.tex
diff --git a/Master/texmf-dist/doc/latex/amsrefs/cite-xh.pdf b/Master/texmf-dist/doc/latex/amsrefs/cite-xh.pdf
new file mode 100644
index 00000000000..2e4b3973349
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/amsrefs/cite-xh.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/amsrefs/cite-xh.tex b/Master/texmf-dist/doc/latex/amsrefs/cite-xh.tex
index a40c04d88ea..a40c04d88ea 100644
--- a/Master/texmf-dist/source/latex/amsrefs/cite-xh.tex
+++ b/Master/texmf-dist/doc/latex/amsrefs/cite-xh.tex
diff --git a/Master/texmf-dist/doc/latex/amsrefs/cite-xs.pdf b/Master/texmf-dist/doc/latex/amsrefs/cite-xs.pdf
new file mode 100644
index 00000000000..314d66acfda
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/amsrefs/cite-xs.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/amsrefs/cite-xs.tex b/Master/texmf-dist/doc/latex/amsrefs/cite-xs.tex
index 15167b3b9f1..15167b3b9f1 100644
--- a/Master/texmf-dist/source/latex/amsrefs/cite-xs.tex
+++ b/Master/texmf-dist/doc/latex/amsrefs/cite-xs.tex
diff --git a/Master/texmf-dist/source/latex/amsrefs/gktest.ltb b/Master/texmf-dist/doc/latex/amsrefs/gktest.ltb
index 4236749372b..4236749372b 100644
--- a/Master/texmf-dist/source/latex/amsrefs/gktest.ltb
+++ b/Master/texmf-dist/doc/latex/amsrefs/gktest.ltb
diff --git a/Master/texmf-dist/doc/latex/amsrefs/ifoption.pdf b/Master/texmf-dist/doc/latex/amsrefs/ifoption.pdf
index ea542b8e0f7..f891c6e6339 100644
--- a/Master/texmf-dist/doc/latex/amsrefs/ifoption.pdf
+++ b/Master/texmf-dist/doc/latex/amsrefs/ifoption.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/amsrefs/jr.bib b/Master/texmf-dist/doc/latex/amsrefs/jr.bib
index fdfc83c5689..fdfc83c5689 100644
--- a/Master/texmf-dist/source/latex/amsrefs/jr.bib
+++ b/Master/texmf-dist/doc/latex/amsrefs/jr.bib
diff --git a/Master/texmf-dist/doc/latex/amsrefs/mathscinet.pdf b/Master/texmf-dist/doc/latex/amsrefs/mathscinet.pdf
index 8a8fa1f96d3..07b002a60e9 100644
--- a/Master/texmf-dist/doc/latex/amsrefs/mathscinet.pdf
+++ b/Master/texmf-dist/doc/latex/amsrefs/mathscinet.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/amsrefs/pcatcode.pdf b/Master/texmf-dist/doc/latex/amsrefs/pcatcode.pdf
index e6acc823925..0b3759a6463 100644
--- a/Master/texmf-dist/doc/latex/amsrefs/pcatcode.pdf
+++ b/Master/texmf-dist/doc/latex/amsrefs/pcatcode.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/amsrefs/rkeyval.pdf b/Master/texmf-dist/doc/latex/amsrefs/rkeyval.pdf
index b43cb81e5f0..96229e1508c 100644
--- a/Master/texmf-dist/doc/latex/amsrefs/rkeyval.pdf
+++ b/Master/texmf-dist/doc/latex/amsrefs/rkeyval.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/amsrefs/textcmds.pdf b/Master/texmf-dist/doc/latex/amsrefs/textcmds.pdf
index a6a1bd6b201..ebde0a9ff40 100644
--- a/Master/texmf-dist/doc/latex/amsrefs/textcmds.pdf
+++ b/Master/texmf-dist/doc/latex/amsrefs/textcmds.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/amsrefs/00readme.txt b/Master/texmf-dist/source/latex/amsrefs/00readme.txt
index 824654406e4..137a4ec01ea 100644
--- a/Master/texmf-dist/source/latex/amsrefs/00readme.txt
+++ b/Master/texmf-dist/source/latex/amsrefs/00readme.txt
@@ -1,4 +1,7 @@
-00readme.txt for amsrefs 2.02 [2007/10/01]
+00readme.txt for amsrefs 2.03 [2007/10/22]
+
+See section III (REMARKS ON THIS RELEASE) for notes on the
+compatibility of this release with previous releases.
See also install.txt. There is a history of changes at the end of this
file.
@@ -124,9 +127,38 @@ II. GETTING STARTED
========================================================================
III. REMARKS ON THIS RELEASE
-This is a bug-fix release. No new features have been implemented and,
-except for bug fixes, this version should be backwards compatible with
-version 2.0.
+In brief, this release fixes a few bugs and implements one new
+feature, the msc-links package option (see amsrdoc.pdf for more
+information).
+
+In addition, there are two incompatibilities with previous releases:
+
+1) The backrefs option no longer automatically loads the hyperref
+ package. This change was made so that you can use the backrefs
+ feature without having to also enable hyperref links in your
+ document. If you wish both backrefs and hyperlinks, you must load
+ the hyperref package explicitly:
+
+ \usepackage{hyperref}
+ \usepackage[backrefs]{amsrefs}
+
+2) In articles from journals that have an issue number but no volume
+ number, the issue number is now treated as a volume. This means
+ that articles that used to appear as, for example
+
+ Inst. Hautes Itudes Sci. Publ. Math. (1997), no. 85, 97--191,
+
+ will now be formatted as
+
+ Inst. Hautes Itudes Sci. Publ. Math. \textbf{85} (1997), 97--191,
+
+ in accordance with AMS house style.
+
+Other than that, except for bug fixes, this version should be
+backwards compatible with version 2.0 and version 2.02.
+
+See section IV (CHANGE LOG) for a complete list of user-visible
+changes.
========================================================================
IV. CHANGE LOG
@@ -155,3 +187,28 @@ IV. CHANGE LOG
* amsxport.dtx 2.01:
-- Fixed bug in sort order of references.
+
+2007-10-22 amsrefs.dtx 2.03
+
+ -- .sty files now unpack into tex/latex/amsrefs instead of
+ tex/latex/amscls.
+
+ * amsrefs.dtx 2.03:
+ -- Added the msc-links option.
+ -- \nocite no longer produces a back reference with the backrefs
+ option.
+ -- The backrefs option no longer automatically loads hyperref.
+ -- Fixed support for showkeys (not showlabels, as incorrectly
+ stated in the release notes for 2.02) and the showkeys
+ notcite option.
+ -- Modified the bibdiv, bibchapter and bibsection environments
+ to set the page headings correctly for non-AMS document
+ classes.
+ -- For journals with issue numbers but no volumes, the issue
+ number is now treated as a volume number, per AMS house
+ style.
+ -- \cite and related commands can now be used within the fields
+ of a \bib item, for example, note={See also \cite{SokalB1998}}
+
+ * textcmds.dtx 1.06:
+ -- Added \q for symmetry with \qq.
diff --git a/Master/texmf-dist/source/latex/amsrefs/ams-r1.ins b/Master/texmf-dist/source/latex/amsrefs/ams-r1.ins
deleted file mode 100644
index c4a552ebcba..00000000000
--- a/Master/texmf-dist/source/latex/amsrefs/ams-r1.ins
+++ /dev/null
@@ -1,43 +0,0 @@
-%%% ====================================================================
-%%% @LaTeX-file{
-%%% filename = "ams-r1.ins",
-%%% version = "1.04",
-%%% date = "2001/12/24",
-%%% time = "12:50:14 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 = "A docstrip batch file for the amsrefs package",
-%%% checksum = "21160 39 121 1555",
-%%% docstring = "The checksum field, produced by Robert Solovay's
-%%% checksum utility, gives CRC-16 checksum, lines,
-%%% words, and characters.",
-%%% }
-%%% ====================================================================
-\def\batchfile{ams-r1.ins}
-\input docstrip.tex
-\preamble
-\endpreamble
-\keepsilent
-\generateFile{pcatcode.sty}{f}{\from{pcatcode.dtx}{}}
-\generateFile{ifoption.sty}{f}{\from{ifoption.dtx}{}}
-\generateFile{rkeyval.sty}{f}{\from{rkeyval.dtx}{}}
-\generateFile{amsrefs.sty}{f}{\from{amsrefs.dtx}{pkg}}
-\generateFile{textcmds.sty}{f}{\from{textcmds.dtx}{pkg}}
-\generateFile{mathscinet.sty}{f}{\from{mathscinet.dtx}{}}
-%\generateFile{amsjpa.sty}{f}{\from{amsjpa.dtx}{}}
-% Remove \endinput from postamble
-\postamble
-\endpostamble
-\generateFile{amsrn.bst}{f}{\from{amsxport.dtx}{bst,sort,plain}}
-\generateFile{amsru.bst}{f}{\from{amsxport.dtx}{bst,plain}}
-\generateFile{amsra.bst}{f}{\from{amsxport.dtx}{bst,sort,alpha}}
-\generateFile{amsry.bst}{f}{\from{amsxport.dtx}{bst,sort,alpha,y2k}}
-\generateFile{amsrs.bst}{f}{\from{amsxport.dtx}{bst,sort,short}}
-%\generateFile{amsj.bib}{f}{\from{amsxport.dtx}{abbrevs}}
-\endinput
diff --git a/Master/texmf-dist/source/latex/amsrefs/amsrdoc.tex b/Master/texmf-dist/source/latex/amsrefs/amsrdoc.tex
index dd6256e88a7..32e80465a12 100644
--- a/Master/texmf-dist/source/latex/amsrefs/amsrdoc.tex
+++ b/Master/texmf-dist/source/latex/amsrefs/amsrdoc.tex
@@ -1,9 +1,9 @@
%%% ====================================================================
%%% @TeX-file{
%%% filename = "amsrdoc.tex",
-%%% version = "1.01",
-%%% date = "01 October 2007",
-%%% time = "15:45:17 EDT",
+%%% version = "1.02",
+%%% date = "16 October 2007",
+%%% time = "20:07:41 EDT",
%%% author = "David M. Jones",
%%% email = "tech-support@ams.org",
%%% URL = "http://www.ams.org/",
@@ -15,7 +15,7 @@
%%% supported = "yes",
%%% abstract = "User's documentation for the amsrefs
%%% package",
-%%% checksum = "02179 1718 7071 56725",
+%%% checksum = "13620 1724 7095 56900",
%%% docstring = "The checksum field above contains a CRC-16
%%% checksum as the first value, followed by the
%%% equivalent of the standard UNIX wc (word
@@ -65,7 +65,7 @@
\title{User's Guide to the \pkg{amsrefs} Package}
\author{David M. Jones\\American Mathematical Society}
-\date{October 1, 2007}
+\date{October 16, 2007}
\begin{document}
@@ -1305,6 +1305,12 @@ case).
\end{description}
+\item[msc-links]
+
+Redefine the \cn{MR} command to create hypertext links to the
+MathSciNet database. This option will work only if the \pkg{hyperref}
+package is installed.
+
\item[nobysame]
If two or more consecutive bibliography items have the same authors,
diff --git a/Master/texmf-dist/source/latex/amsrefs/amsrefs.dtx b/Master/texmf-dist/source/latex/amsrefs/amsrefs.dtx
index 8882bafc2ee..56d623f7015 100644
--- a/Master/texmf-dist/source/latex/amsrefs/amsrefs.dtx
+++ b/Master/texmf-dist/source/latex/amsrefs/amsrefs.dtx
@@ -1,9 +1,9 @@
%%% ====================================================================
%%% @LaTeX-doc-source-file{
%%% filename = "amsrefs.dtx",
-%%% version = "2.02",
-%%% date = "2006/10/25",
-%%% time = "11:13:05 EDT",
+%%% version = "2.03",
+%%% date = "2007/10/22",
+%%% time = "10:22:13 EDT",
%%% author = "Michael J Downes and David M. Jones",
%%% address = "American Mathematical Society,
%%% Publications Technical Group,
@@ -17,13 +17,13 @@
%%% instead of being determined chiefly by the BibTeX
%%% style file.",
%%% copyright = "Copyright 2001, 2004, 2006, 2007 American
-%%% Mathematical Society.",
+%%% Mathematical Society.",
%%% license = "Unlimited copying and redistribution of this file
%%% are permitted as long as this file is not
%%% modified. Modifications, and distribution of
%%% modified versions, are permitted, but only if
%%% the resulting file is renamed.",
-%%% checksum = "24451 8100 25457 244022",
+%%% checksum = "57935 8186 25806 247374",
%%% docstring = "The checksum field, produced by Robert Solovay's
%%% checksum utility, gives CRC-16 checksum, lines,
%%% words, and characters.",
@@ -861,7 +861,7 @@
% Standard declaration of package name and date.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{amsrefs}[2006/10/25 v2.02]
+\ProvidesPackage{amsrefs}[2007/10/22 v2.03]
% \end{macrocode}
%
% \begin{macro}{\amsrefs@warning@nl}
@@ -1284,6 +1284,10 @@
% \end{macrocode}
%
% \begin{macrocode}
+\DeclareBooleanOption{msc-links}
+% \end{macrocode}
+%
+% \begin{macrocode}
\ExecuteOptions{numeric,traditional-quotes,sorted-cites,compressed-cites}
\ProcessOptions\relax
@@ -1293,19 +1297,27 @@
%
% \begin{macrocode}
\IfOption{backrefs}{%
- \IfFileExists{hyperref.sty}{%
- \RequirePackage{hyperref}[1999/07/08]
- }{}%
\IfFileExists{backref.sty}{%
\RequirePackage{backref}[1999/05/30]
- }{}%
+ }{%
+ \amsrefs@warning@nl{The backrefs option cannot be used^^J%
+ unless the backref package is also installed.^^J%
+ (backref is part of the hyperref package)}%
+ }%
+}{}
+
+\IfOption{msc-links}{%
+ \IfFileExists{hyperref.sty}{%
+ \RequirePackage{hyperref}[1999/07/08]
+ }{
+ \amsrefs@warning@nl{The msc-links option cannot be used^^J%
+ unless the hyperref package is installed}%
+ }%
}{}
% \end{macrocode}
%
% \subsubsection{The \opt{?} option}
%
-% Note that in the following auxiliary package list, \pkg{getwidth}
-% is not (yet) included.
% \begin{macrocode}
\IfOption{?}{%
\typeout{^^J%
@@ -2662,6 +2674,10 @@
% \end{macro}
%
% \begin{macro}{\bib@field@patches}
+% Depending on your point of view, this macro either puts the
+% bibitem into a canonical form or, alternatively, it fudges the
+% data to fit our model. Either way, it simplifies formatting the
+% bibliography.
% \begin{macrocode}
\def\bib@field@patches{%
\ifx\bib'author\@empty
@@ -2707,6 +2723,18 @@
\let\bib'date\@empty
\fi
% \end{macrocode}
+% Some journals have ``numbers'' but no ``volumes''. AMS house
+% style is to treat the number as volume.
+% \begin{macrocode}
+ \ifx\setbib@@\setbib@article
+ \ifx\bib'volume\@empty
+ \ifx\bib'number\@empty\else
+ \let\bib'volume\bib'number
+ \let\bib'number\@empty
+ \fi
+ \fi
+ \fi
+% \end{macrocode}
% \cs{bib'language} is used for producing the printed rendition of
% the language. \cs{bib@language} needs to be in the form required by
% \cn{selectlanguage}.
@@ -3001,8 +3029,10 @@
% \begin{macrocode}
\def\bibcite@write#1{%
\if@filesw
- \let\citesel\citesel@write
- \csname b@#1\endcsname
+ \begingroup
+ \let\citesel\citesel@write
+ \csname b@#1\endcsname
+ \endgroup
\fi
}
% \end{macrocode}
@@ -3011,10 +3041,8 @@
% \begin{macro}{\citesel@write}
% \begin{macrocode}
\def\citesel@write#1#2#3#4#5{%
- \begingroup
- \toks@{{#3}{#4}}%
- \immediate\write\@auxout{\string\bibcite{\CurrentBib}{\the\toks@}}%
- \endgroup
+ \toks@{{#3}{#4}}%
+ \immediate\write\@auxout{\string\bibcite{\CurrentBib}{\the\toks@}}%
}
% \end{macrocode}
% \end{macro}
@@ -3039,13 +3067,38 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\bib@div@mark}
+% The AMS document classes automatically take care of the page
+% marks for \cn{section*} and \cn{chapter*}, but for the standard
+% classes, we need to make sure that \cn{@mkboth} gets invoked.
+% \begin{macrocode}
+\let\bib@div@mark\@gobble
+% \end{macrocode}
+% This is verbose, but probably safer than any alternative.
+% \begin{macrocode}
+\@ifclassloaded{amsbook}{}{%
+ \@ifclassloaded{amsart}{}{%
+ \@ifclassloaded{amsproc}{}{%
+ \def\bib@div@mark#1{%
+ \@mkboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}%
+ }%
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{environment}{bibchapter}
% We need to take a little extra trouble here to pre-expand the
% \cn{bibname}.
% \begin{macrocode}
\newenvironment{bibchapter}[1][\bibname]{%
\begingroup
- \protected@edef\@{\endgroup\protect\chapter*{#1}}%
+ \protected@edef\@{%
+ \endgroup
+ \protect\chapter*{#1}%
+ \protect\bib@div@mark{#1}%
+ }%
\@
}{\par}
% \end{macrocode}
@@ -3056,7 +3109,11 @@
% \begin{macrocode}
\newenvironment{bibsection}[1][\refname]{%
\begingroup
- \protected@edef\@{\endgroup\protect\section*{#1}}%
+ \protected@edef\@{%
+ \endgroup
+ \protect\section*{#1}%
+ \protect\bib@div@mark{#1}%
+ }%
\@
}{\par}
% \end{macrocode}
@@ -3888,6 +3945,7 @@
% \begin{macrocode}
\newcommand{\othercites}[1]{%
\cite@begingroup
+ \let\BackCite\@gobble
\let\cite@endgroup\@empty
\def\citelist{\othercitelist}%
\cites{#1}%
@@ -4484,7 +4542,11 @@
\let\hyper@anchorstart\@gobble
\let\hyper@anchorend\relax
}%
- \@ifpackageloaded{showlabels}{}{%
+ \@ifpackageloaded{showkeys}{%
+ \@ifpackagewith{showkeys}{notcite}{%
+ \let\ar@SK@cite\@gobble
+ }{}
+ }{%
\let\ar@SK@cite\@gobble
\let\SK@@label\@gobble
\let\SK@\@gobbletwo
@@ -6893,7 +6955,7 @@
%
% \begin{macro}{\@scanforMR}
% \begin{macrocode}
-\def\@scanforMR#1#2#3#4\@nil{%
+\def\strip@MRprefix#1#2#3#4\@nil{%
\def\@tempa{#1#2#3#4}%
\if#1M%
\if#2R%
@@ -6909,7 +6971,7 @@
\def\MR#1{%
\relax\ifhmode\unskip\spacefactor3000 \space\fi
\begingroup
- \@scanforMR#1\@nil
+ \strip@MRprefix#1\@nil
\edef\@tempa{MR\@nx\MRhref{\@tempa}{\@tempa}}%
\@xp\endgroup
\@tempa
@@ -7285,21 +7347,34 @@
% \end{macrocode}
%
% \subsubsection{The \opt{backrefs} option}
-%
+% Rather than checking for the \opt{backrefs} option \emph{per se},
+% we check to see if the \pkg{backref} package is loaded. This
+% accomodates authors who load the \pkg{backref} package explicitly
+% but do not pass the \opt{backrefs} option to \pkg{amsrefs}.
% \begin{macrocode}
-\IfOption{backrefs}{%
- \let\PrintBackRefs\print@backrefs
- \@ifundefined{Hy@backout}{%
- \amsrefs@warning{backref option requires hyperref package}%
- }{%
+\AtBeginDocument{%
+ \@ifpackageloaded{backref}{%
+ \let\PrintBackRefs\print@backrefs
\let\BackCite\back@cite
- \AtBeginDocument{%
- \let\ams@saved@toc\tableofcontents
- \@starttoc{brf}{}%
- \let\tableofcontents\ams@saved@toc
- }%
- }%
-}{%
+% \end{macrocode}
+% The \pkg{backref} package uses \cn{@starttoc} inside
+% \cn{thebibliography} to open and read the \fn{.brf} file. We
+% could do something similar with \cn{biblist}, but it seems
+% cleaner to use \cn{AtBeginDocument}. Unfortunately, \cls{amsart}
+% redefines \cn{@starttoc} in a way that interacts badly with this
+% use. So, we inline the relevant parts of \cn{@starttoc} here.
+% (The group and \cn{makeatletter} are unnecessary at present, but
+% I'll leave them in as future-proofing.)
+% \begin{macrocode}
+ \begingroup
+ \makeatletter
+ \@input{\jobname.brf}%
+ \if@filesw
+ \newwrite\tf@brf
+ \immediate\openout\tf@brf \jobname.brf\relax
+ \fi
+ \endgroup
+ }{}%
}
% \end{macrocode}
%
@@ -7309,7 +7384,7 @@
\IfOption{citation-order}{%
\IfOption{alphabetic}{%
\amsrefs@warning@nl{%
- The 'citation-order' and 'alphabetic' options are
+ The citation-order and alphabetic options are
incompatible%
}%
}{
@@ -7432,8 +7507,8 @@
\def\bibtex@style{amsry}%
}{%
\amsrefs@warning@nl{%
- The 'y2k' option can only be used with the^^J%
- 'alphabetic' option%
+ The y2k option can only be used with the^^J%
+ alphabetic option%
}%
}
}{}
@@ -7447,6 +7522,36 @@
}{}
% \end{macrocode}
%
+% \subsubsection{The \opt{msc-links} option}
+%
+% \begin{macrocode}
+\IfOption{msc-links}{%
+% \end{macrocode}
+% Unless you're using pdf\TeX, links cannot be broken across
+% lines, which causes problems for long-form MR numbers such as
+% ``MR2149145 (2006d:01012)''. To mitigate the problem, we
+% manually break such numbers into two separate links.
+% \begin{macrocode}
+ \@ifundefined{href}{}{%
+ \def\parse@MR#1 (#2)#3\@nil{%
+ \def\MR@url{http://www.ams.org/mathscinet-getitem?mr=#1}%
+ \def\@tempd{#1}%
+ \def\@tempe{#2}%
+ }%
+ \def\MRhref#1#2{%
+ \begingroup
+ \parse@MR#1 ()\@empty\@nil%
+ \href{\MR@url}{\@tempd\vphantom{()}}%
+ \ifx\@tempe\@empty
+ \else
+ \ \href{\MR@url}{(\@tempe)}%
+ \fi
+ \endgroup
+ }%
+ }{}
+}{}
+% \end{macrocode}
+%
% \subsubsection{The \opt{author-year} option}
%
% Here ends the \pkg{amsrefs} package, unless the \opt{author-year}
@@ -8077,5 +8182,5 @@
\endinput
% \end{macrocode}
%
-% \CheckSum{5058}
+% \CheckSum{5139}
% \Finale
diff --git a/Master/texmf-dist/source/latex/amsrefs/amsrefs.ins b/Master/texmf-dist/source/latex/amsrefs/amsrefs.ins
index b7fa56abc72..39575a39617 100644
--- a/Master/texmf-dist/source/latex/amsrefs/amsrefs.ins
+++ b/Master/texmf-dist/source/latex/amsrefs/amsrefs.ins
@@ -7,7 +7,7 @@
\preamble
\endpreamble
-\usedir{tex/latex/amscls}
+\usedir{tex/latex/amsrefs}
\generate{%
\file{amsrefs.sty}{\from{amsrefs.dtx}{pkg}}
diff --git a/Master/texmf-dist/source/latex/amsrefs/ifoption.ins b/Master/texmf-dist/source/latex/amsrefs/ifoption.ins
index b649b11c0b1..aa12c5f076d 100644
--- a/Master/texmf-dist/source/latex/amsrefs/ifoption.ins
+++ b/Master/texmf-dist/source/latex/amsrefs/ifoption.ins
@@ -7,7 +7,7 @@
\preamble
\endpreamble
-\usedir{tex/latex/amscls}
+\usedir{tex/latex/amsrefs}
\generate{
\file{ifoption.sty}{\from{ifoption.dtx}{}}
diff --git a/Master/texmf-dist/source/latex/amsrefs/manifest.txt b/Master/texmf-dist/source/latex/amsrefs/manifest.txt
index 99b1f162b71..b557eed8cfd 100644
--- a/Master/texmf-dist/source/latex/amsrefs/manifest.txt
+++ b/Master/texmf-dist/source/latex/amsrefs/manifest.txt
@@ -79,9 +79,9 @@ tex:
latex
tex/latex:
-amscls
+amsrefs
-tex/latex/amscls:
+tex/latex/amsrefs:
amsbst.sty
amsrefs.sty
ifoption.sty
diff --git a/Master/texmf-dist/source/latex/amsrefs/mathscinet.ins b/Master/texmf-dist/source/latex/amsrefs/mathscinet.ins
index 0708049548a..f41a6946ccd 100644
--- a/Master/texmf-dist/source/latex/amsrefs/mathscinet.ins
+++ b/Master/texmf-dist/source/latex/amsrefs/mathscinet.ins
@@ -7,7 +7,7 @@
\preamble
\endpreamble
-\usedir{tex/latex/amscls}
+\usedir{tex/latex/amsrefs}
\generate{
\file{mathscinet.sty}{\from{mathscinet.dtx}{}}
diff --git a/Master/texmf-dist/source/latex/amsrefs/pcatcode.ins b/Master/texmf-dist/source/latex/amsrefs/pcatcode.ins
index c4a40fd45a6..a709b165e41 100644
--- a/Master/texmf-dist/source/latex/amsrefs/pcatcode.ins
+++ b/Master/texmf-dist/source/latex/amsrefs/pcatcode.ins
@@ -7,7 +7,7 @@
\preamble
\endpreamble
-\usedir{tex/latex/amscls}
+\usedir{tex/latex/amsrefs}
\generate{
\file{pcatcode.sty}{\from{pcatcode.dtx}{}}
diff --git a/Master/texmf-dist/source/latex/amsrefs/rkeyval.ins b/Master/texmf-dist/source/latex/amsrefs/rkeyval.ins
index ee5108e2ab8..6f4debec772 100644
--- a/Master/texmf-dist/source/latex/amsrefs/rkeyval.ins
+++ b/Master/texmf-dist/source/latex/amsrefs/rkeyval.ins
@@ -7,7 +7,7 @@
\preamble
\endpreamble
-\usedir{tex/latex/amscls}
+\usedir{tex/latex/amsrefs}
\generate{
\file{rkeyval.sty}{\from{rkeyval.dtx}{}}
diff --git a/Master/texmf-dist/source/latex/amsrefs/textcmds.dtx b/Master/texmf-dist/source/latex/amsrefs/textcmds.dtx
index 842c76a8e41..bdf3c8c48cc 100644
--- a/Master/texmf-dist/source/latex/amsrefs/textcmds.dtx
+++ b/Master/texmf-dist/source/latex/amsrefs/textcmds.dtx
@@ -1,9 +1,9 @@
%%% ====================================================================
%%% @LaTeX-doc-source-file{
%%% filename = "textcmds.dtx",
-%%% version = "1.05",
-%%% date = "2002/04/16",
-%%% time = "08:47:47 EDT",
+%%% version = "1.06",
+%%% date = "2007/10/19",
+%%% time = "14:12:53 EDT",
%%% author = "Michael J Downes",
%%% address = "American Mathematical Society,
%%% Publications Technical Group,
@@ -21,7 +21,7 @@
%%% modified. Modifications, and distribution of
%%% modified versions, are permitted, but only if
%%% the resulting file is renamed.",
-%%% checksum = "55773 283 1136 10227",
+%%% checksum = "63388 295 1197 10750",
%%% docstring = "The checksum field, produced by Robert Solovay's
%%% checksum utility, gives CRC-16 checksum, lines,
%%% words, and characters.",
@@ -109,7 +109,8 @@
% \begin{center}
% \begin{tabular}{lll}
% \textbf{Example}& \textbf{Definition}& \textbf{Result}\\
-% \verb'\qq{some text}'& \verb'\ldq#1\rdq'& \qq{some text}\\
+% \verb'\qq{some text}'& \verb'\ldq#1\/\rdq'& \qq{some text}\\
+% \verb'\q{some text}'& \verb'\lq#1\/\rq'& \q{some text}\\
% \verb'\lara{some text}'& \verb'\textlangle#1\textrangle'&
% \lara{some text}\\
% \verb'Jello\tsup{TM}'& \textit{raise .9ex}\verb'{\supsize#1}'&
@@ -131,7 +132,7 @@
%
% Package name, date, version number.
% \begin{macrocode}
-\ProvidesPackage{textcmds}[2002/04/16 v1.05]
+\ProvidesPackage{textcmds}[2007/10/19 v1.06]
% \end{macrocode}
%
% Dashes and inverted beginning-of-sentence punctuation.
@@ -166,6 +167,11 @@
\providecommand{\qq}[1]{\ldq#1\/\rdq}
% \end{macrocode}
%
+%
+% \begin{macrocode}
+\providecommand{\q}[1]{\lq#1\/\rq}
+% \end{macrocode}
+%
% Unlike \cs{textsuperscript} and \cs{textsubscript}, these do not
% use math mode at all. The difference between \cn{scriptsize} and
% \cn{supsize} is that the former is fixed at a single constant size
@@ -285,5 +291,5 @@ a left quote."
</emacs>
% \end{macrocode}
%
-% \CheckSum{133}
+% \CheckSum{138}
% \Finale
diff --git a/Master/texmf-dist/source/latex/amsrefs/textcmds.ins b/Master/texmf-dist/source/latex/amsrefs/textcmds.ins
index 17679c43c39..df31e7d8616 100644
--- a/Master/texmf-dist/source/latex/amsrefs/textcmds.ins
+++ b/Master/texmf-dist/source/latex/amsrefs/textcmds.ins
@@ -7,7 +7,7 @@
\preamble
\endpreamble
-\usedir{tex/latex/amscls}
+\usedir{tex/latex/amsrefs}
\generate{
\file{textcmds.sty}{\from{textcmds.dtx}{pkg}}
diff --git a/Master/texmf-dist/tex/latex/amsrefs/amsbst.sty b/Master/texmf-dist/tex/latex/amsrefs/amsbst.sty
new file mode 100644
index 00000000000..4bb16de82a1
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/amsrefs/amsbst.sty
@@ -0,0 +1,178 @@
+%%
+%% This is file `amsbst.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% amsrefs.dtx (with options: `bst')
+%%
+%%% ====================================================================
+%%% @LaTeX-doc-source-file{
+%%% filename = "amsrefs.dtx",
+%%% version = "2.03",
+%%% date = "2007/10/22",
+%%% time = "10:22:13 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.",
+%%% copyright = "Copyright 2001, 2004, 2006, 2007 American
+%%% Mathematical Society.",
+%%% license = "Unlimited copying and redistribution of this file
+%%% are permitted as long as this file is not
+%%% modified. Modifications, and distribution of
+%%% modified versions, are permitted, but only if
+%%% the resulting file is renamed.",
+%%% checksum = "57935 8186 25806 247374",
+%%% 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{amsbst}[2004/03/29 v1.68]
+\BibSpec{article}{%
+ +{} {\PrintAuthors} {author}
+ +{.} { } {title}
+ +{.} { } {part}
+ +{:} { } {subtitle}
+ +{.} { \PrintContributions} {contribution}
+ +{.} { \PrintPartials} {partial}
+ +{.} { \emph} {journal}
+ +{} { } {volume}
+ +{} { \parenthesize} {number}
+ +{:} {} {pages}
+ +{,} { \PrintDateB} {date}
+ +{,} { } {status}
+ +{.} { \PrintTranslation} {translation}
+ +{.} { Reprinted in \PrintReprint} {reprint}
+ +{.} { } {note}
+ +{.} {} {transition}
+}
+
+\BibSpec{partial}{%
+ +{} {} {part}
+ +{:} { } {subtitle}
+ +{.} { \PrintContributions} {contribution}
+ +{.} { \emph} {journal}
+ +{} { } {volume}
+ +{} { \parenthesize} {number}
+ +{:} {} {pages}
+ +{,} { \PrintDateB} {date}
+}
+
+\BibSpec{book}{%
+ +{} {\PrintPrimary} {transition}
+ +{.} { \emph} {title}
+ +{.} { } {part}
+ +{:} { \emph} {subtitle}
+ +{.} { } {series}
+ +{,} { \voltext} {volume}
+ +{.} { Edited by \PrintNameList} {editor}
+ +{.} { Translated by \PrintNameList}{translator}
+ +{.} { \PrintContributions} {contribution}
+ +{.} { } {publisher}
+ +{.} { } {organization}
+ +{,} { } {address}
+ +{,} { \PrintEdition} {edition}
+ +{,} { \PrintDateB} {date}
+ +{.} { } {note}
+ +{.} {} {transition}
+ +{.} { \PrintTranslation} {translation}
+ +{.} { Reprinted in \PrintReprint} {reprint}
+ +{.} {} {transition}
+}
+
+\BibSpec{collection.article}{%
+ +{} {\PrintAuthors} {author}
+ +{.} { } {title}
+ +{.} { } {part}
+ +{:} { } {subtitle}
+ +{.} { \PrintContributions} {contribution}
+ +{.} { \PrintConference} {conference}
+ +{.} { \PrintBook} {book}
+ +{.} { In } {booktitle}
+ +{,} { pages~} {pages}
+ +{.} { \PrintDateB} {date}
+ +{.} { \PrintTranslation} {translation}
+ +{.} { Reprinted in \PrintReprint} {reprint}
+ +{.} { } {note}
+ +{.} {} {transition}
+}
+
+\BibSpec{conference}{%
+ +{} {} {title}
+ +{} {\PrintConferenceDetails} {transition}
+}
+
+\BibSpec{innerbook}{%
+ +{.} { \emph} {title}
+ +{.} { } {part}
+ +{:} { \emph} {subtitle}
+ +{.} { } {series}
+ +{,} { \voltext} {volume}
+ +{.} { Edited by \PrintNameList} {editor}
+ +{.} { Translated by \PrintNameList}{translator}
+ +{.} { \PrintContributions} {contribution}
+ +{.} { } {publisher}
+ +{.} { } {organization}
+ +{,} { } {address}
+ +{,} { \PrintEdition} {edition}
+ +{,} { \PrintDateB} {date}
+ +{.} { } {note}
+ +{.} {} {transition}
+}
+
+\BibSpec{report}{%
+ +{} {\PrintPrimary} {transition}
+ +{.} { \emph} {title}
+ +{.} { } {part}
+ +{:} { \emph} {subtitle}
+ +{.} { \PrintContributions} {contribution}
+ +{.} { Technical Report } {number}
+ +{,} { } {series}
+ +{.} { } {organization}
+ +{,} { } {address}
+ +{,} { \PrintDateB} {date}
+ +{.} { \PrintTranslation} {translation}
+ +{.} { Reprinted in \PrintReprint} {reprint}
+ +{.} { } {note}
+ +{.} {} {transition}
+}
+
+\BibSpec{thesis}{%
+ +{} {\PrintAuthors} {author}
+ +{,} { \emph} {title}
+ +{:} { \emph} {subtitle}
+ +{.} { \PrintThesisType} {type}
+ +{.} { } {organization}
+ +{,} { } {address}
+ +{,} { \PrintDateB} {date}
+ +{.} { \PrintTranslation} {translation}
+ +{.} { Reprinted in \PrintReprint} {reprint}
+ +{.} { } {note}
+ +{.} {} {transition}
+}
+\renewcommand{\PrintEditorsA}[1]{%
+ \def\current@bibfield{\bib'editor}%
+ \PrintNames{}{, editor\Plural{s})}{#1}%
+ \erase@field\bib'editor
+}
+\renewcommand{\PrintTranslatorsA}[1]{%
+ \def\current@bibfield{\bib'translator}%
+ \PrintNames{}{, translator\Plural{s}}{#1}%
+ \erase@field\bib'translator
+}
+\endinput
+%%
+%% End of file `amsbst.sty'.
diff --git a/Master/texmf-dist/tex/latex/amsrefs/amsrefs.sty b/Master/texmf-dist/tex/latex/amsrefs/amsrefs.sty
new file mode 100644
index 00000000000..486dd178992
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/amsrefs/amsrefs.sty
@@ -0,0 +1,3100 @@
+%%
+%% 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.03",
+%%% date = "2007/10/22",
+%%% time = "10:22:13 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.",
+%%% copyright = "Copyright 2001, 2004, 2006, 2007 American
+%%% Mathematical Society.",
+%%% license = "Unlimited copying and redistribution of this file
+%%% are permitted as long as this file is not
+%%% modified. Modifications, and distribution of
+%%% modified versions, are permitted, but only if
+%%% the resulting file is renamed.",
+%%% checksum = "57935 8186 25806 247374",
+%%% 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}[2007/10/22 v2.03]
+\def\amsrefs@warning@nl{\PackageWarningNoLine{amsrefs}}
+\@ifpackagewith{amsrefs}{beta}{%
+ \amsrefs@warning@nl{The beta option is obsolete}%
+}{}
+\@ifpackagewith{amsrefs}{jpa}{%
+ \amsrefs@warning@nl{The jpa option is obsolete}%
+}{}
+\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
+%% 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{bibtex-style}
+\DeclareBooleanOption{msc-links}
+\ExecuteOptions{numeric,traditional-quotes,sorted-cites,compressed-cites}
+
+\ProcessOptions\relax
+
+\ProcessExclusiveOptions
+\IfOption{backrefs}{%
+ \IfFileExists{backref.sty}{%
+ \RequirePackage{backref}[1999/05/30]
+ }{%
+ \amsrefs@warning@nl{The backrefs option cannot be used^^J%
+ unless the backref package is also installed.^^J%
+ (backref is part of the hyperref package)}%
+ }%
+}{}
+
+\IfOption{msc-links}{%
+ \IfFileExists{hyperref.sty}{%
+ \RequirePackage{hyperref}[1999/07/08]
+ }{
+ \amsrefs@warning@nl{The msc-links option cannot be used^^J%
+ unless the hyperref package is installed}%
+ }%
+}{}
+\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}%
+ \def\set:bib'book##1##2{\output@inner@xref@{##1}\@empty}%
+ \let\set:bib'conference\set:bib'book
+ \let\set:bib'partial\set:bib'book
+ \let\set:bib'reprint\set:bib'book
+ \let\set:bib'translation\set:bib'book
+}
+
+\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\output@inner@xref@#1{%
+ \in@={#1}%
+ \ifin@\else
+ \output@xref@{#1}%
+ \fi
+}
+\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@resolve@xrefs
+ \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
+ \@apply\auto@protect\amsrefs@textsymbols
+ \@apply\auto@protect\amsrefs@textaccents
+ \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
+ \ifx\setbib@@\setbib@article
+ \ifx\bib'volume\@empty
+ \ifx\bib'number\@empty\else
+ \let\bib'volume\bib'number
+ \let\bib'number\@empty
+ \fi
+ \fi
+ \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
+ \begingroup
+ \let\citesel\citesel@write
+ \csname b@#1\endcsname
+ \endgroup
+ \fi
+}
+\def\citesel@write#1#2#3#4#5{%
+ \toks@{{#3}{#4}}%
+ \immediate\write\@auxout{\string\bibcite{\CurrentBib}{\the\toks@}}%
+}
+\AtEndDocument{\let\bibcite\@gobbletwo}
+\providecommand{\bibname}{Bibliography}
+\providecommand{\refname}{References}
+\let\bib@div@mark\@gobble
+\@ifclassloaded{amsbook}{}{%
+ \@ifclassloaded{amsart}{}{%
+ \@ifclassloaded{amsproc}{}{%
+ \def\bib@div@mark#1{%
+ \@mkboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}%
+ }%
+ }%
+ }%
+}
+\newenvironment{bibchapter}[1][\bibname]{%
+ \begingroup
+ \protected@edef\@{%
+ \endgroup
+ \protect\chapter*{#1}%
+ \protect\bib@div@mark{#1}%
+ }%
+ \@
+}{\par}
+\newenvironment{bibsection}[1][\refname]{%
+ \begingroup
+ \protected@edef\@{%
+ \endgroup
+ \protect\section*{#1}%
+ \protect\bib@div@mark{#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\BackCite\@gobble
+ \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\amsrefs@bibcite#1{\@xp\bibcite@a\csname b@#1\endcsname}
+\AtBeginDocument{%
+ \if@filesw
+ \immediate\write\@auxout{%
+ \string\@ifundefined{amsrefs@bibcite}{}{%
+ \string\let\string\bibcite\string\amsrefs@bibcite
+ }%
+ }%
+ \fi
+ \let\bibcite\amsrefs@bibcite
+}
+\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
+\newcommand{\shade@cite}{\overshadebox{shaderef-gray}}
+\def\ar@hyperlink#1{%
+ \hyper@@link [cite]{}{cite.\extr@cite#1}{\shade@cite{#1}}%
+}
+\def\ar@SK@cite#1{\@bsphack\@xp\SK@\@xp\SK@@ref\@xp{\extr@cite#1}\@esphack}
+\AtBeginDocument{%
+ \@ifpackageloaded{shaderef}{}{%
+ \let\shade@cite\@empty
+ }%
+ \@ifpackageloaded{hyperref}{}{%
+ \let\ar@hyperlink\shade@cite
+ \let\hyper@anchorstart\@gobble
+ \let\hyper@anchorend\relax
+ }%
+ \@ifpackageloaded{showkeys}{%
+ \@ifpackagewith{showkeys}{notcite}{%
+ \let\ar@SK@cite\@gobble
+ }{}
+ }{%
+ \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@resolve@xrefs
+ \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@resolve@xrefs
+ \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\strip@MRprefix#1#2#3#4\@nil{%
+ \def\@tempa{#1#2#3#4}%
+ \if#1M%
+ \if#2R%
+ \def\@tempa{#3#4}%
+ \fi
+ \fi
+}
+\def\MR#1{%
+ \relax\ifhmode\unskip\spacefactor3000 \space\fi
+ \begingroup
+ \strip@MRprefix#1\@nil
+ \edef\@tempa{MR\@nx\MRhref{\@tempa}{\@tempa}}%
+ \@xp\endgroup
+ \@tempa
+}
+\providecommand{\MRhref}[2]{#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}%
+}{}
+\AtBeginDocument{%
+ \@ifpackageloaded{backref}{%
+ \let\PrintBackRefs\print@backrefs
+ \let\BackCite\back@cite
+ \begingroup
+ \makeatletter
+ \@input{\jobname.brf}%
+ \if@filesw
+ \newwrite\tf@brf
+ \immediate\openout\tf@brf \jobname.brf\relax
+ \fi
+ \endgroup
+ }{}%
+}
+\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
+\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{msc-links}{%
+ \@ifundefined{href}{}{%
+ \def\parse@MR#1 (#2)#3\@nil{%
+ \def\MR@url{http://www.ams.org/mathscinet-getitem?mr=#1}%
+ \def\@tempd{#1}%
+ \def\@tempe{#2}%
+ }%
+ \def\MRhref#1#2{%
+ \begingroup
+ \parse@MR#1 ()\@empty\@nil%
+ \href{\MR@url}{\@tempd\vphantom{()}}%
+ \ifx\@tempe\@empty
+ \else
+ \ \href{\MR@url}{(\@tempe)}%
+ \fi
+ \endgroup
+ }%
+ }{}
+}{}
+\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{; }
+\def\BibLabel{%
+ \hyper@anchorstart{cite.\CurrentBib}\relax\hyper@anchorend
+}
+\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/amsrefs/ifoption.sty b/Master/texmf-dist/tex/latex/amsrefs/ifoption.sty
new file mode 100644
index 00000000000..2052a7547fe
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/amsrefs/ifoption.sty
@@ -0,0 +1,85 @@
+%%
+%% 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 = "",
+%%% copyright = "Copyright 2001 American Mathematical Society.",
+%%% license = "Unlimited copying and redistribution of this file
+%%% are permitted as long as this file is not
+%%% modified. Modifications, and distribution of
+%%% modified versions, are permitted, but only if
+%%% the resulting file is renamed.",
+%%% 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/amsrefs/mathscinet.sty b/Master/texmf-dist/tex/latex/amsrefs/mathscinet.sty
new file mode 100644
index 00000000000..86466787f53
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/amsrefs/mathscinet.sty
@@ -0,0 +1,184 @@
+%%
+%% 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 = "",
+%%% copyright = "Copyright 2001 American Mathematical Society.",
+%%% license = "Unlimited copying and redistribution of this file
+%%% are permitted as long as this file is not
+%%% modified. Modifications, and distribution of
+%%% modified versions, are permitted, but only if
+%%% the resulting file is renamed.",
+%%% 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/amsrefs/pcatcode.sty b/Master/texmf-dist/tex/latex/amsrefs/pcatcode.sty
new file mode 100644
index 00000000000..92a4c2d01b5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/amsrefs/pcatcode.sty
@@ -0,0 +1,170 @@
+%%
+%% 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.04b",
+%%% date = "2007/08/17",
+%%% time = "14:48:23 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 = "The pcatcode package changes LaTeX package loading
+%%% internals so that all subsequently loaded packages
+%%% can rely on having normal catcodes in effect.",
+%%% copyright = "Copyright 2001 American Mathematical Society.",
+%%% license = "Unlimited copying and redistribution of this file
+%%% are permitted as long as this file is not
+%%% modified. Modifications, and distribution of
+%%% modified versions, are permitted, but only if
+%%% the resulting file is renamed.",
+%%% checksum = "42248 378 1601 14362",
+%%% 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/amsrefs/rkeyval.sty b/Master/texmf-dist/tex/latex/amsrefs/rkeyval.sty
new file mode 100644
index 00000000000..c7306c9d11b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/amsrefs/rkeyval.sty
@@ -0,0 +1,460 @@
+%%
+%% 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.",
+%%% copyright = "Copyright 2001 American Mathematical Society.",
+%%% license = "Unlimited copying and redistribution of this file
+%%% are permitted as long as this file is not
+%%% modified. Modifications, and distribution of
+%%% modified versions, are permitted, but only if
+%%% the resulting file is renamed.",
+%%% 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/amsrefs/textcmds.sty b/Master/texmf-dist/tex/latex/amsrefs/textcmds.sty
new file mode 100644
index 00000000000..28214f4c7e7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/amsrefs/textcmds.sty
@@ -0,0 +1,130 @@
+%%
+%% 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.06",
+%%% date = "2007/10/19",
+%%% time = "14:12:53 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.",
+%%% copyright = "Copyright 2001 American Mathematical Society.",
+%%% license = "Unlimited copying and redistribution of this file
+%%% are permitted as long as this file is not
+%%% modified. Modifications, and distribution of
+%%% modified versions, are permitted, but only if
+%%% the resulting file is renamed.",
+%%% checksum = "63388 295 1197 10750",
+%%% docstring = "The checksum field, produced by Robert Solovay's
+%%% checksum utility, gives CRC-16 checksum, lines,
+%%% words, and characters.",
+%%% }
+%%% ====================================================================
+\ProvidesPackage{textcmds}[2007/10/19 v1.06]
+\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}
+\providecommand{\q}[1]{\lq#1\/\rq}
+\newcommand{\supsize}{%
+ \expandafter\ifx\csname S@\f@size\endcsname\relax
+ \calculate@math@sizes
+ \fi
+ \csname S@\f@size\endcsname
+ \fontsize\sf@size\z@\selectfont
+}
+\DeclareRobustCommand{\tsup}[1]{%
+ \leavevmode\raise.9ex\hbox{\supsize #1}%
+}
+\DeclareRobustCommand{\tsub}[1]{%
+ \leavevmode\lower.6ex\hbox{\supsize #1}%
+}
+\DeclareTextSymbolDefault{\textprimechar}{OMS}
+\DeclareTextSymbol{\textprimechar}{OMS}{48}
+\DeclareRobustCommand{\tprime}{\tsup{\textprimechar}}
+\@ifundefined{textlangle}{%
+ \DeclareTextSymbolDefault{\textlangle}{OMS}
+ \DeclareTextSymbolDefault{\textrangle}{OMS}
+}{}
+\DeclareTextSymbol{\textlangle}{OMS}{"68}
+\DeclareTextSymbol{\textrangle}{OMS}{"69}
+\DeclareRobustCommand{\lara}[1]{\textlangle#1\/\textrangle}
+\csname endinput\endcsname
+<*emacs>
+(defvar latex-ndash-command "\\ndash"
+ "*String to insert for an n-dash in LaTeX mode.")
+
+(defvar latex-mdash-command "\\mdash"
+ "*String to insert for an m-dash in LaTeX mode.")
+
+(defvar latex-quote-command "\\qq"
+ "*String to insert for quotes in LaTeX mode.")
+
+(defun latex-maybe-start-quotes (arg)
+ "Insert the beginning of a \\qq{...} structure if the preceding char is
+a left quote."
+ (interactive "*p")
+ (if (= (preceding-char) ?\`)
+ (progn
+ (delete-backward-char 1)
+ (insert-and-inherit (concat latex-quote-command "\{")))
+ (self-insert-command arg)))
+
+(defun latex-maybe-end-quotes (arg)
+ "Insert the end of a \\qq{...} structure if appropriate."
+ (interactive "*p")
+ (if (= (preceding-char) ?\')
+ (progn
+ (delete-backward-char 1)
+ (insert-and-inherit "\}"))
+ (self-insert-command arg)))
+
+(defun latex-maybe-dash (arg)
+ "Convert two or three hyphens to \\mdash or \\ndash."
+ (interactive "*p")
+ (cond
+ ((re-search-backward
+ (concat (regexp-quote latex-ndash-command) " *\\=") nil t)
+ (replace-match (concat (regexp-quote latex-mdash-command) " ")))
+ ((= (preceding-char) ?-)
+ (delete-backward-char 1)
+ (insert-and-inherit (concat latex-ndash-command " ")))
+ (t (self-insert-command arg))))
+
+(add-hook 'TeX-mode-hook
+ '(lambda
+ (define-key LaTeX-mode-map "\`" 'latex-maybe-start-quotes)
+ (define-key LaTeX-mode-map "\'" 'latex-maybe-end-quotes)
+ (define-key LaTeX-mode-map "-" 'latex-maybe-dash)))
+</emacs>
+\endinput
+%%
+%% End of file `textcmds.sty'.