summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/aomart/aomart.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-01-21 01:59:03 +0000
committerKarl Berry <karl@freefriends.org>2017-01-21 01:59:03 +0000
commitc1cd940d224dfc49f9435216b113d208d0fa363d (patch)
treea3568c616cbb7a7416837a9ddc470400aa726d1a /Master/texmf-dist/source/latex/aomart/aomart.dtx
parentb04210a80c629929ca93c6e3c0821f5061ff8096 (diff)
aomart (20jan17)
git-svn-id: svn://tug.org/texlive/trunk@43002 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/aomart/aomart.dtx')
-rw-r--r--Master/texmf-dist/source/latex/aomart/aomart.dtx159
1 files changed, 133 insertions, 26 deletions
diff --git a/Master/texmf-dist/source/latex/aomart/aomart.dtx b/Master/texmf-dist/source/latex/aomart/aomart.dtx
index 0952c51658c..e78731da025 100644
--- a/Master/texmf-dist/source/latex/aomart/aomart.dtx
+++ b/Master/texmf-dist/source/latex/aomart/aomart.dtx
@@ -1,7 +1,7 @@
% \iffalse
-% $Id: aomart.dtx,v 1.64 2016/11/18 21:41:12 boris Exp $
+% $Id: aomart.dtx,v 1.66 2017/01/20 02:18:37 boris Exp $
%
-% Copyright 2010-2016, Princeton University (Mathematics Department)
+% Copyright 2010-2017, Princeton University (Mathematics Department)
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3 of this license or (at your option) any
@@ -23,7 +23,7 @@
% public domain.
%
% \fi
-% \CheckSum{1226}
+% \CheckSum{1361}
%
%
%% \CharacterTable
@@ -471,19 +471,22 @@
% canned one (with the command \cmd{\copyrightnote}), you need to put
% there the copyright year explicitly instead of using this command.
%
-% \DescribeMacro{\doinumber}
-% \DescribeMacro{\mrnumber}
-% \DescribeMacro{\zblnumber}
+% \DescribeMacro{\doinumber}%
+% \DescribeMacro{\mrnumber}%
+% \DescribeMacro{\zblnumber}%
+% \DescribeMacro{\arxivnumber}%
% The macros |\doinumber|, |\mrnumber| and |\zblnumber| set the
% information about paper in four major reference databases: DOI
% (\url{http://www.doi.org/}), MathSciNet
% (\url{http://www.ams.org/mathscinet/}, Zentralblatt MATH
-% (\url{http://www.zentralblatt-math.org/zmath/}). The use of these
+% (\url{http://www.zentralblatt-math.org/zmath/}) and arXiv
+% (\url{https://www.arxiv.org}). The use of these
% macros should be obvious:
% \begin{verbatim}
% \doinumber{10.1215/S0012-7094-92-06520-3}
% \mrnumber{1154181}
% \zblnumber{0774.14039}
+% \arxivnumber{1234.567890}
% \end{verbatim}
% Note the difference between these commands and the bibliography
% commands discussed in Section~\ref{sec:biblio}. Commands in this
@@ -728,7 +731,7 @@
\ProvidesFile{aomart.dtx}
%</gobble>
%<class>\ProvidesClass{aomart}
-[2016/11/18 v1.15 Typesetting articles for the Annals of Mathematics]
+[2016/12/03 v1.16 Typesetting articles for the Annals of Mathematics]
% \end{macrocode}
%
%
@@ -868,7 +871,14 @@
% \end{macrocode}
%
% \changes{v0.4}{2010/09/29}{Deleted lineno package dependence}
-%
+% \changes{v1.16}{2016/12/03}{We require environ package}
+% Amsart has \cs{collect@body} macro. However, we want the \cs{long}
+% version, so we use \textsl{environ}
+% \begin{macrocode}
+\RequirePackage{environ}
+% \end{macrocode}
+%
+%
%
%
%\subsection{Internationalization}
@@ -1195,6 +1205,7 @@
\@onlypreamble{\doinumber}
\@onlypreamble{\mrnumber}
\@onlypreamble{\zblnumber}
+\@onlypreamble{\arxivnumber}
% \end{macrocode}
%
%
@@ -1203,19 +1214,71 @@
%
% \begin{macro}{\fulladdress}
% \changes{v1.11}{2012/08/16}{Added macro}
+% \changes{v1.16}{2016/12/03}{Redefined}
% \begin{macro}{\givenname}
+% \changes{v1.16}{2016/12/03}{Redefined}
% \begin{macro}{\surname}
-% These commands at present do nothing: they are for machine
-% indexing only.
+% \changes{v1.16}{2016/12/03}{Redefined}
+% We store the information to output it later in the rpi file
% \begin{macrocode}
-\let\givenname=\@gobble
-\let\surname=\@gobble
-\let\fulladdress=\@gobble
+\def\@names{}
+\def\givenname#1{\g@addto@macro\@names{givenname=#1;}}
+\def\surname#1{\g@addto@macro\@names{surname=#1;}}
+\def\fulladdress#1{\g@addto@macro\@names{fulladdress=#1;}}
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\author}
+% \changes{v1.16}{2016/12/03}{Redefined amsart definition}
+% We add mangling of \cs{@names} to the amsart macro
+% \begin{macrocode}
+\renewcommand{\author}[2][]{%
+ \ifx\@empty\authors
+ \gdef\authors{#2}%
+ \g@addto@macro\@names{author=#2;}%
+ \else
+ \g@addto@macro\authors{\and#2}%
+ \g@addto@macro\@names{\and author=#2;}%
+ \g@addto@macro\addresses{\author{}}%
+ \fi
+ \@ifnotempty{#1}{%
+ \ifx\@empty\shortauthors
+ \gdef\shortauthors{#1}%
+ \else
+ \g@addto@macro\shortauthors{\and#1}%
+ \fi
+ }%
+}
+\edef\author{\@nx\@dblarg
+ \@xp\@nx\csname\string\author\endcsname}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\email}
+% \changes{v1.16}{2016/12/03}{Redefined amsart definition}
+% We change amsart macro to output metadata
+% \begin{macrocode}
+\renewcommand{\email}[2][]{%
+ \g@addto@macro\addresses{\email{#1}{#2}}%
+ \g@addto@macro\@names{email=#2;}%
+}
+% \end{macrocode}
+%
+% \end{macro}
+% \begin{macro}{\urladdr}
+% \changes{v1.16}{2016/12/03}{Redefined amsart definition}
+% We change amsart macro to output metadata
+% \begin{macrocode}
+\renewcommand{\urladdr}[2][]{%
+ \g@addto@macro\addresses{\urladdr{#1}{#2}}%
+ \g@addto@macro\@names{urladdr=#2;}%
+}
+% \end{macrocode}
+%
+% \end{macro}
%
% \begin{macro}{\keyword}
% Actually \progname{amsart} has |\kewords| macro. It redefines
@@ -1346,12 +1409,14 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{abstract}
-% \changes{v0.9}{2010/12/04}{Added parindent for the first par}
-% We slightly redefine abstract comparing to \progname{amsart}
-% conventions:
+% \begin{macro}{\@getabstract}
+% Amsart typesets the abstract in a box. We preserve this
+% peculuarity, but we need to put abstract in a macro to output in
+% the rpi file.
% \begin{macrocode}
-\renewenvironment{abstract}{%
+\long\def\@aom@abstract{}
+\long\def\@getabstract#1{%
+ \long\gdef\@aom@abstract{#1}%
\ifx\maketitle\relax
\ClassWarning{aomart}{Abstract should precede
\protect\maketitle\space in AMS derived classes}%
@@ -1365,12 +1430,21 @@
\parsep\z@ \@plus\p@%
\let\fullwidthdisplay\relax%
}%
- \item[]\normalfont\Small%
-}{%
- \endlist\egroup%
- \ifx\@setabstract\relax\@setabstracta\fi%
-}
-
+ \item[]\normalfont\Small#1
+ \endlist\egroup}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+% \begin{macro}{abstract}
+% \changes{v0.9}{2010/12/04}{Added parindent for the first par}
+% \changes{v1.16}{2016/12/03}{Redefined using environ}
+% This puts abstract in a box \emph{and} in a macro. Wasteful, but
+% backword compatible
+% \begin{macrocode}
+\renewenvironment{abstract}{\Collect@Body\@getabstract}{%
+ \ifx\@setabstract\relax\@setabstracta\fi}
% \end{macrocode}
% \end{macro}
%
@@ -1410,6 +1484,8 @@
% \changes{v0.3}{2010/09/26}{Added macro}
% \begin{macro}{\zblnumber}
% \changes{v0.3}{2010/09/26}{Added macro}
+% \begin{macro}{\arxivnumber}
+% \changes{v1.16}{2016/12/04}{Added macro}
% Now databases' numbers of the article:
% \begin{macrocode}
\def\doinumber#1{\gdef\@doinumber{#1}}
@@ -1418,11 +1494,14 @@
\mrnumber{}
\def\zblnumber#1{\gdef\@zblnumber{#1}}
\zblnumber{}
+\def\arxivnumber#1{\gdef\@arxivnumber{#1}}
+\arxivnumber{}
% \end{macrocode}
%
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\copyrightyear}
% \changes{v1.11}{2012/07/23}{Added macro}
@@ -1464,6 +1543,9 @@
%
% \begin{macro}{\aom@write@paper@info}
% \changes{v1.14}{2014/03/04}{Added macro}
+% \changes{v1.16}{2016/12/03}{Added names, abstract, subjects,
+% keywords, zblnumber, arxivnumber}
+% \changes{v1.16}{2016/12/03}{Corrected the endpage bug}
% This writes the information about the paper into the file
% |jobname.rpi|. Note that hyperref makes our life a little bit
% more complex
@@ -1473,10 +1555,17 @@
\if@filesw
\openout\@mainrpi\jobname.rpi%
\def\and{\string\and\space}%
- \def\pkg##1{ ##1 }%
+ \ifx\r@LastPage\@undefined
+ \edef\@tempa{\start@page}%
+ \else
+ \def\@tempc##1##2##3##4##5{##2}%
+ \edef\@tempa{\expandafter\@tempc\r@LastPage}%
+ \fi
\protected@write\@mainrpi{}%
{\@percentchar authors=\authors}%
\protected@write\@mainrpi{}%
+ {\@percentchar authors.information={\@names}}%
+ \protected@write\@mainrpi{}%
{\@percentchar title=\@title}%
\protected@write\@mainrpi{}%
{\@percentchar year=\currentyear}%
@@ -1492,6 +1581,24 @@
{\@percentchar endpage=\@tempa}%
\protected@write\@mainrpi{}%
{\@percentchar doi=\@doinumber}%
+ \ifx\@zblnumber\@empty\else
+ \protected@write\@mainrpi{}%
+ {\@percentchar zbl=\@zblnumber}%
+ \fi
+ \ifx\@mrnumber\@empty\else
+ \protected@write\@mainrpi{}%
+ {\@percentchar mr=\@mrnumber}%
+ \fi
+ \ifx\@arxivnumber\@empty\else
+ \protected@write\@mainrpi{}%
+ {\@percentchar arxiv=\@arxivnumber}%
+ \fi
+ \protected@write\@mainrpi{}%
+ {\@percentchar subjects=\@subjects}%
+ \protected@write\@mainrpi{}%
+ {\@percentchar keywords=\@keywords}%
+ \protected@write\@mainrpi{}%
+ {\@percentchar abstract=\@aom@abstract}%
\closeout\@mainrpi
\fi
\egroup}