From bdcf20b378a4042c8ee2e4a5e9fb9aee2542642c Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Mon, 18 Dec 2017 22:33:25 +0000
Subject: aomart (17dec17)

git-svn-id: svn://tug.org/texlive/trunk@46091 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/source/latex/aomart/aomart.dtx | 79 +++++++++++++++++++++---
 1 file changed, 70 insertions(+), 9 deletions(-)

(limited to 'Master/texmf-dist/source/latex/aomart/aomart.dtx')

diff --git a/Master/texmf-dist/source/latex/aomart/aomart.dtx b/Master/texmf-dist/source/latex/aomart/aomart.dtx
index 9762462f6f4..29d2c8e44db 100644
--- a/Master/texmf-dist/source/latex/aomart/aomart.dtx
+++ b/Master/texmf-dist/source/latex/aomart/aomart.dtx
@@ -1,5 +1,5 @@
 % \iffalse
-% $Id: aomart.dtx,v 1.72 2017/05/09 19:25:37 boris Exp $
+% $Id: aomart.dtx,v 1.74 2017/12/14 04:17:05 boris Exp $
 %
 % Copyright 2010-2017, Princeton University (Mathematics Department)
 % This work may be distributed and/or modified under the
@@ -23,7 +23,7 @@
 % public domain.
 %
 % \fi 
-% \CheckSum{1441}
+% \CheckSum{1474}
 %
 %
 %% \CharacterTable
@@ -197,7 +197,8 @@
 %
 %  The class should work with the
 %  \progname{Babel}~\cite{Braams05:Babel} package.  At present,
-%  English, French and German languages are fully supported.  
+%  English, French and German languages are fully supported.  See also
+%  Section~\ref{sec:non-english}.  
 % 
 % \DescribeOptions{draft,final}
 % The options |draft| and |final| work in the same way as for
@@ -274,7 +275,7 @@
 % otherwise.  This behavior is required by the way non-\TeX{} scripts
 % process the files to produce  metadata.
 %
-% The only exception is abstract, which should be placed between
+% The only exception is abstract, which should be placed 
 % after |\begin{document}|.
 % 
 %
@@ -378,7 +379,10 @@
 % \DescribeEnv{abstract}
 % The abstract of the paper must be put between |\begin{abstract}| and
 % |\end{abstract}|.   Unlike the situation in \progname{amsart}
-% class, abstract may be put \emph{after} |\maketitle|.  
+% class, abstract may be put \emph{after} |\maketitle|.
+%
+% A paper may have several abstracts in different languages.  This
+% sitation is discussed in Section~\ref{sec:non-english}.  
 %
 % \DescribeMacro{\maketitle}
 % The macro |\maketitle| typesets the top matter.  All top matter
@@ -721,6 +725,36 @@
 % database entries.
 %
 %
+%\subsection{Papers in languages other than English}
+%\label{sec:non-english}
+%
+% The recommmended way to typeset papers in languages other than
+% English is \textsl{babel} package~\cite{Braams05:Babel}.  For
+% example, to typeset a paper in French (with an English abstract, see
+% below), one puts in the preamble
+% \begin{verbatim}
+% \usepackage[utf8]{inputenx}
+% \usepackage[english,frenchb]{babel}
+% \end{verbatim}
+%
+% Such papers often contain several abstracts: for example, in the
+% language the paper is written \emph{and} in English.  Accordingly,
+% \textsl{aomart} allows several abstracts.  Each abstract must be put
+% inside a group with the corresponding language selected using
+% \cs{selectanguage} command, for example
+% \begin{verbatim}
+% {\selectlanguage{french}%
+%   \begin{abstract}
+%     French abstract
+%   \end{abstract}}
+%
+% {\selectlanguage{english}%
+%   \begin{abstract}
+%     English abstract
+%   \end{abstract}}
+% \end{verbatim}
+% 
+%
 % \StopEventually{%
 % \clearpage
 %
@@ -745,7 +779,7 @@
 \ProvidesFile{aomart.dtx}
 %</gobble>
 %<class>\ProvidesClass{aomart}
-[2017/05/09 v1.20 Typesetting articles for the Annals of Mathematics]
+[2017/12/13 v1.21 Typesetting articles for the Annals of Mathematics]
 %    \end{macrocode}
 %
 %
@@ -1454,19 +1488,39 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\g@addto@abstract}
+% \changes{v1.21}{2017/12/13}{Added macro} 
+% Syntactic sugar around \cs{g@addto@macro}
+%    \begin{macrocode}
+\def\g@addto@abstract#1{\g@addto@macro{\@aom@abstract}{#1}}
+%    \end{macrocode}
+% 
+% \end{macro}
+%
 % \begin{macro}{\@getabstract}
+% \changes{v1.21}{2017/12/13}{Added multilanguage abstracts} 
 %   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}
 \long\def\@aom@abstract{}
 \long\def\@getabstract#1{%
-  \long\gdef\@aom@abstract{#1}%
+  \bgroup
+    \ifx\languagename\undefined
+      \def\languagename{english}%
+    \fi
+    \g@addto@abstract{<begin abstract }%
+    \expandafter\g@addto@abstract\expandafter{\languagename>}%
+    \g@addto@macro\@aom@abstract{#1}%  
+    \g@addto@abstract{<end abstract }%
+    \expandafter\g@addto@abstract\expandafter{\languagename>}%
+  \egroup
   \ifx\maketitle\relax
     \ClassWarning{aomart}{Abstract should precede
       \protect\maketitle\space in AMS derived classes}%
   \fi
   \global\setbox\abstractbox=\vtop\bgroup%
+    \box\abstractbox
     \vglue1pc%
     {\centering\normalfont\normalsize\bfseries\abstractname\par\vglue1pc}%
     \list{}{\labelwidth\z@%
@@ -1591,7 +1645,9 @@
 % \changes{v1.16}{2016/12/03}{Added names, abstract, subjects,
 % keywords, zblnumber, arxivnumber} 
 % \changes{v1.16}{2016/12/03}{Corrected the endpage bug} 
-% \changes{v1.20}{2017/05/09}{Make primary and secondary subjects separated} 
+% \changes{v1.20}{2017/05/09}{Make primary and secondary subjects
+% separated}
+% \changes{v1.21}{2017/12/13}{Added main language}
 %   This writes the information about the paper into the file
 %   |jobname.rpi|.  Note that hyperref makes our life a little bit
 %   more complex
@@ -1606,7 +1662,10 @@
     \else
        \def\@tempc##1##2##3##4##5{##2}%
        \edef\@tempa{\expandafter\@tempc\r@LastPage}%
-    \fi
+   \fi
+   \ifx\languagename\undefined
+     \def\languagename{english}%
+   \fi
    \protected@write\@mainrpi{}%
     {\@percentchar authors=\authors}%
    \protected@write\@mainrpi{}%
@@ -1646,6 +1705,8 @@
     {\@percentchar keywords=\@keywords}%
    \protected@write\@mainrpi{}%
     {\@percentchar abstract=\@aom@abstract}%    
+   \protected@write\@mainrpi{}%
+    {\@percentchar articlelanguage=\languagename}%    
     \closeout\@mainrpi
     \fi
 \egroup}
-- 
cgit v1.2.3

