% \iffalse % $Id: aomart.dtx,v 1.51 2011-03-09 03:42:59 boris Exp $ % % Copyright 2010-2011, 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 % later version. % The latest version of the license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of % LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainer of this work is Boris Veytsman, % % % This work consists of the file aomart.dtx and the % derived file aomart.cls, and files aomplain.bst and aomalpha.bst % % The file fullref.pl, included with this package, is in % public domain. % % \fi % \CheckSum{1053} % % %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} % %\iffalse % Taken from xkeyval.dtx %\fi %\makeatletter %\def\DescribeOption#1{\leavevmode\@bsphack % \marginpar{\raggedleft\PrintDescribeOption{#1}}% % \SpecialOptionIndex{#1}\@esphack\ignorespaces} %\def\PrintDescribeOption#1{\strut\emph{option}\\\MacroFont #1\ } %\def\SpecialOptionIndex#1{\@bsphack % \index{#1\actualchar{\protect\ttfamily#1} % (option)\encapchar usage}% % \index{options:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar % usage}\@esphack} %\def\DescribeOptions#1{\leavevmode\@bsphack % \marginpar{\raggedleft\strut\emph{options}% % \@for\@tempa:=#1\do{% % \\\strut\MacroFont\@tempa\SpecialOptionIndex\@tempa % }}\@esphack\ignorespaces} %\makeatother % % \MakeShortVerb{|} % \GetFileInfo{aomart.dtx} % \newcommand{\progname}[1]{\textsf{#1}} % \title{\LaTeX{} Class for The \emph{Annals of % Mathematics}\thanks{\copyright 2010, Princeton University % (Mathematics Department)}} % \author{Boris Veytsman\thanks{% % \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}}, % \href{mailto:boris@varphi.com}{\texttt{boris@varphi.com}}}} % \date{\filedate, \fileversion} % \maketitle % \begin{abstract} % This package provides a class for typesetting articles for % The \emph{Annals of Mathematics} % \end{abstract} % \tableofcontents % % \changes{v0.2}{2010/08/24}{First fully functional version} % \changes{v0.3}{2010/09/27}{Documentation update} % \changes{v0.4}{2010/09/29}{Documentation update} % \changes{v0.6}{2010/10/03}{Changes to bst files} % \changes{v0.6}{2010/10/03}{Fullref.pl is much less agressive now} % \changes{v0.7}{2010/10/09}{Bibliography styles changed} % \changes{v0.8}{2010/11/16}{Documentation update} % \changes{v0.8}{2010/11/21}{Bibliography styles update} % \changes{v0.9}{2010/12/04}{Bibliography styles update} % \changes{v0.9}{2010/12/04}{Documentation update} % \changes{v0.10}{2010/12/20}{Bibliography styles update} % \changes{v0.10}{2010/12/20}{Documentation update} % \changes{v1.0}{2010/12/21}{Top matter macros are now only in preamble} % \changes{v1.2}{2011/01/05}{Bibliography styles update} % \changes{v1.5}{2011/02/26}{Added noopsort to the styles, corrected % typo} % \changes{v1.5}{2011/02/26}{Added sortyear to the styles} % \changes{v1.6}{2011/03/06}{Bibliography change: aomalpha now % respects key field in the bib file} % % \clearpage % %\section{Introduction} %\label{sec:intro} % % The \emph{Annals of Mathematics} is published bimonthly with the % cooperation of Princeton University and the Institute for Advanced % Study. Founded in 1884 by Ormond Stone of the University of % Virginia, the journal was transferred in 1899 to Harvard University, % and in 1911 to Princeton University. Since 1933, the Annals has been % edited jointly by Princeton University and the Institute for % Advanced Study (see % \url{http://annals.princeton.edu/annals/about/journal/about.html}). % % This class presents a complete redesign of the journal style---with % new fonts and new interface. % % % An author well acquainted with AMS\LaTeX{} should find this package % easy to use and configurable. The User Manual below illustrates the % basic use of the class and discusses the differences with \progname{amsart}. % For an in-depth tutorial of AMS\LaTeX{} I could recommend the % excellent book~\cite{Graetzer00:MathIntoLaTeX}. % % %\section{User's Guide} %\label{sec:manual} % % %\subsection{Installation} %\label{sec:installation} % % The installation of the class follows the usual % practice~\cite{TeXFAQ} for \LaTeX{} packages: % \begin{enumerate} % \item Run \progname{latex} on |aomart.ins|. This will produce the file % |aomart.cls|. % \item Put the file |aomart.cls| to % the place where \LaTeX{} can find them (see % \cite{TeXFAQ} or the documentation for your \TeX{} % system).\label{item:install} % \item Update the database of file names. Again, see \cite{TeXFAQ} % or the documentation for your \TeX{} system for the system-specific % details.\label{item:update} % \item The file |aomart.pdf| provides the documentation for the % package (this is the file you are probably reading now). % \end{enumerate} % As an alternative to items~\ref{item:install} and~\ref{item:update} % you can just put the files in the working directory where your % |.tex| file is. % % % The class uses some other \LaTeX{} classes or packages. Most % probably, they are already installed on your system. If not (or if % their versions are very old), you need to download and % install them. Here is the list: % \begin{enumerate} % \item \progname{amsart} class and related % packages~\cite{Downes04:amsart}, % \item Package \progname{hyperref}~\cite{Rahtz06:Hyperref}, % \item \progname{ifpdf} package~\cite{Oberdiek06:Ifpdf}, % \item \progname{fancyhdr} package~\cite{Oostrum04:Fancyhdr}, % \item \progname{cmtiup} package~\cite{Znamenskii03:Cmtiup} for % ``special italics'' with uprgiht digits and punctuation. Note that % since many distributions do not include this package, you may need % to install it yourself. Just download the file % \url{http://mirrors.ctan.org/fonts/cm/cmtiup.zip}, unzip it in your % \path{TEXMF} directory and rebuild the file names database with the % command like |mktexlsr|, % \item \progname{yhmath} package~\cite{Haralambous96:Yhmath}. % \end{enumerate} % % %\subsection{Invocation} %\label{sec:invocation} % % To use the class, put in the preamble of your document % \begin{flushleft} % |\documentclass[|\meta{options}|]{aomart}| % \end{flushleft} % The class internally loads \progname{amsart}, so all facilities of % \progname{amsart}~\cite{Graetzer00:MathIntoLaTeX, amsldoc} can be used in the % source. % % % % \DescribeOptions{draft,final} % The options |draft| and |final| work in the same way as for % \progname{amsart} and standard \LaTeX. If the option |draft| is % chosen, the overfull lines are marked by black boxes on the margins % \emph{and} the |\includegraphics| prints blank placeholders for the % images. The option |final| (default) switches off the marking of % overfull lines and restores the behavior of |\includegraphics|. To % switch on just the overfull marks, without changing the behavior of % |\includegraphics|, one can either explicitly pass the option final % to \progname{graphics} package: % \begin{verbatim} % \documentclass[draft]{aomart} % \usepackage[final]{graphics} % \end{verbatim} % or add in the beginning of the document % \begin{verbatim} % \overfullrule=5pt % \end{verbatim} % % \DescribeOption{manuscript} % The option |manuscript| is intended to faciliate the communications % between the editor and the author. It enables two things: % \begin{enumerate} % \item Numbering of lines in the manuscript is switched off in the % normal mode, but is on in the manuscript mode. % \item Command |\EditorialComment| is no-op in normal mode, but % produces mariginal commentaries in the manuscript % \item Hyperlinks are black in normal mode, but blue in manuscript % mode. % \end{enumerate} % % \DescribeOption{screen} % The option |screen| is intended for the onscreen version of the % acticle. If this option is selected, the links are blue colored, % and the margins are reduced. % % \DescribeOptions{8pt,9pt,10pt,11pt,12pt} % The size-changing options of \progname{amsart} class (|8pt|, |9pt|, % \dots, |12pt|) have no effect other than producing a warning in the % log since the journal is designed for % only one type size (roughly corresponding to |11pt| of % \progname{amsart}). % % % % %\subsection{Top Matter} %\label{sec:top_matter} % % % There are two kinds of top matter commands: the ones used primarily % for authors and the ones used primarily for editors. We describe % them separately. % % The macros descibed below must be issued in the preamble of the % document, i.e. before |\begin{document}|. They produce fatal error % 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 % after |\begin{document}|. % % %\subsubsection{Commands for Authors} %\label{sec:authors_commands} % % % \DescribeMacro{\title} % The command |\title|, as in \progname{amsart} class, has two arguments: one % optional, and one mandatory: % \begin{flushleft} % |\title[|\meta{ShortTitle}|]{|\meta{FullTitle}|}| % \end{flushleft} % The mandatory argument is the full title of the article. The % optional argument, if present, defines the shorter version of the % title for running heads. If the optional argument is absent, the % full title is used instead. % % The optional argument should be used in two cases: when the full % title is too long to fit in the running head, \emph{and} when the % author wants to add a footnote or linebreaks to the title. % % % \DescribeMacro{\author} % \DescribeMacro{\email} % \DescribeMacro{\address} \DescribeMacro{\curraddr} % \DescribeMacro{\urladdr} % The interface for specifying the authors % and their affiliations is close the the one of % \progname{amsart}~\cite{instr-l} (and different from the standard \LaTeX). % For each author a separate command |\author| should be used, % followed by |\address| and (optionally) |\curraddr|, |\email| and % |\urladdr|. Note that the house style of the \emph{Annals of % Mathematics} requires writing |\address| in the form % \emph{Institution, City, State} (or \emph{Institution, City, % Country} for non-US locations). % Like the newer versions of \progname{amsart}, \progname{aomart} does % \emph{not} % require the doubling of the |@| symbols in the e-mail addresses. % The macro |\author| has two arguments, similarly to |\title|: % \begin{flushleft} % |\author[|\meta{AbbrevName}|]{|\meta{FullName}|}| % \end{flushleft} % The optional argument defines the shorter form of the author's name % to be included in the running head. % % \DescribeMacro{\givenname} \DescribeMacro{\surname} % The papers published in the \emph{Annals of Mathematics} are % included in various databases. For the indexing purposes it is % important to correctly separate the authors' names into ``First % Name/Surname'' parts. This operation is not easy for the % computers. Therefore we decided that the authors should know best % how to deal with their names. The macros |\givenname| and % |\surname| are used to indicate how to split the name into the % parts. % % \DescribeMacro{\shortauthors} % In some cases the authors list may be too long for the running head, % even if the abbreviated forms are used for each author. In this % case it is possible to change the running head by a % \emph{redefinition} of the command |\shortauthors|. This % redefinition must be done after all |\author| commands, but before % |\maketitle|: % \begin{verbatim} % \renewcommand{\shortauthors}{A.~Smith et al} % \end{verbatim} % % % \DescribeMacro{\thanks} % Like \progname{amsart} (and unlike standard \LaTeX{}), % \progname{aomart} allows |\thanks| only \emph{outside} of commands % |\title| and |\author|. % % % \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|. % % \DescribeMacro{\maketitle} % The macro |\maketitle| typesets the top matter. All top matter % information should be specified before this command. % % %\subsubsection{Commands for Editors} %\label{sec:editors_commands} % % The commands described in this section should be used by the editors % to insert the information about the published paper. They must be % put before the |\maketitle| command. % % \DescribeMacro{\keyword} % The command |\keyword| adds a keyword to the list of keywords. This % command may be repeated, for example % \begin{verbatim} % \keyword{Embedding theorem} % \keyword{Relatively hyperbolic group} % \end{verbatim} % % \DescribeMacro{\subject} % The command |\subject| has three parameters: whether the subject is % primary or secondary, the classification scheme and the subject % itself, for example % \begin{verbatim} % \subject{primary}{msc2000}{20E45} % \subject{secondary}{msc2000}{20F65} % \end{verbatim} % % % \DescribeMacro{\formatdate} % The macro |\formatdate| is used to format the dates in the % commands. Its argument is the date in the format |YYYY-MM-DD|, for % example % \begin{verbatim} % \formatdate{2010-08-13} % \end{verbatim} % % \DescribeMacro{\received} % \DescribeMacro{\revised} % \DescribeMacro{\accepted} % \DescribeMacro{\published} % \DescribeMacro{\publishedonline} % The commands |\received|, |\revised|, |\accepted|, |\published|, % |\publishedonline| accept as a parameter a date in the form % |\formatdate|\marg{YYYY-MM-DD}, for example % \begin{verbatim} % \received{\formatdate{2004-12-24}} % \revised{\formatdate{2006-04-12}} % \accepted{\formatdate{2007-10-02}} % \end{verbatim} % % \DescribeMacro{\proposed} % \DescribeMacro{\seconded} % \DescribeMacro{\corresponding} % \DescribeMacro{\editor} % \DescribeMacro{\version} % The macros |\proposed|, |\seconded|, |\corresponding|, |\editor|, % |\version| are used to set the corresponding metadata for the % editorial process, for example % \begin{verbatim} % \proposed{E. D. Itor} % \seconded{A. S. Sociate} % \corresponding{A. U. Thor} % \version{2.1} % \end{verbatim} % % % % \DescribeMacro{\volumenumber} % \DescribeMacro{\issuenumber} % \DescribeMacro{\publicationyear} % \DescribeMacro{\papernumber} % \DescribeMacro{\startpage} % \DescribeMacro{\endpage} % The macros |\volumenumber|, |\issuenumber|, |\publicationyear|, % |\papernumber|, |\startpage|, |\endpage| set up the corresponding % data for the paper, for example: % \begin{verbatim} % \volumenumber{172} % \issuenumber{1} % \publicationyear{2010} % \papernumber{1} % \startpage{1} % \endpage{39} % \end{verbatim} % Note that if the argument of |\endpage| is empty, \LaTeX{} tries to % calculate the last page number as best as it can. % % % \DescribeMacro{\doinumber} % \DescribeMacro{\mrnumber} % \DescribeMacro{\zblnumber} % 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 % macros should be obvious: % \begin{verbatim} % \doinumber{10.1215/S0012-7094-92-06520-3} % \mrnumber{1154181} % \zblnumber{0774.14039} % \end{verbatim} % Note the difference between these commands and the bibliography % commands discussed in Section~\ref{sec:biblio}. Commands in this % Section set up the data for the \emph{current article.} Commands in % Section~\ref{sec:biblio} set up the data for the articles in the % bibliography list. % % Normally you should \emph{not} use |\doinumber| command, since the % class will construct the standard DOI for the paper from the volume, % issue and paper information. Use it \emph{only} if the result is by % any reason wrong. % % % \DescribeMacro{\oldsubsections} % Starting with version~1.2 we decreased the vertical spacing before % |\subsection|. The command |\oldsubsections| restores the ``old'' % values. % %\subsection{Additional Macros} %\label{sec:add_guide} % % \DescribeEnv{eqnarray} % \DescribeEnv{eqnarray*} % Thee class \progname{aomart} loads the class \progname{amsart}. % Therefore all familiar \progname{amsmath} commands~\cite{amsldoc} % are available. In particular, there are many commands for writing % multiline equations (|split|, |align|, |gather|, |multline|, % \dots). The environments |eqnarray| and |eqnarray*|, while still % avilable, are \emph{not} recommended and should be avoided if % possible. % % \DescribeMacro{\widetilde} % \DescribeMacro{\widehat} % \DescribeMacro{\widetriangle} % \DescribeMacro{\wideparen} % \DescribeMacro{\widering} % \DescribeMacro{\widebar} % A number of ``wide'' mathematical accents is available due to the % (internally loaded) package % \progname{yhmath}~\cite{Haralambous96:Yhmath}: |\widetilde|, % |\widehat|, |\widetriangle|, |\wideparen|, |\widering|, |\widebar|. See % Table~\ref{tab:accents} for the example of the usage. % % \begin{table} % \centering % \begin{tabular}{ll} % \toprule % Code & Example \\ % \midrule % |\widetilde{AB}| & $\widetilde{AB}$\\ % |\widehat{AB}| & $\widehat{AB}$\\ % |\widetriangle{AB}| & $\widetriangle{AB}$\\ % |\wideparen{AB}| & $\wideparen{AB}$\\ % |\widering{AB}| & $\widering{AB}$\\ % |\widebar{AB}| & $\widebar{AB}$\\ % \bottomrule % \end{tabular} % \caption{Wide Mathematical Accents} % \label{tab:accents} % \end{table} % % % \DescribeMacro{\EditorialComment} % The macro |\EditorialComment|\oarg{comments} typesets the comments % on the margins in the |manuscript| mode, for example, % \begin{verbatim} % Erd\"os proved the following theorem.\EditorialComment{A citation is % needed} % \end{verbatim} % % % \DescribeMacro{\fullref} % \DescribeMacro{\pfullref} % \DescribeMacro{\bfullref} % \DescribeMacro{\eqfullref} % A set of macros is used to make more convenient clickable references % in the online versions of papers. The % package~\progname{hyperref}~\cite{Rahtz06:Hyperref} % makes clickable reference numbers in the phrases like % \begin{verbatim} % ...in theorem~\ref{thm:Noeter}... % ...see equation~\eqref{eq:alpha}... % \end{verbatim} % However, it is more convenient for the readers if both % the number \emph{and} the word ``theorem'' or ``equation'' were % clickable. The macros |\*fullref| solve this problem. Each macro % has two arguments: the word and the reference, for example % \begin{verbatim} % ...in \fullref{theorem}{thm:Noeter}... % \end{verbatim} % The command |\pfullref| typesets % the reference in parentheses. The command |\bfullref| typesets it % in brackets, and the command |\eqfullref| uses the |\eqref| % command, for example, % \begin{verbatim} % ...see \eqfullref{equation}{eq:alpha}... % \end{verbatim} % % The \progname{Perl} script \path{fullref.pl} can be used to convert % change all references to the |\fullref| commands. It works in the % following way: % \begin{verbatim} % perl fullref.pl original.pl > result.pl % \end{verbatim} % The script converts all instances of combinations ``|word \ref{reference}|'' % and ``|word~\ref{reference}|'' % to ``|\fullref{word}{reference}|, and similarly for % parenthesized references or |\eqref| commands. To prevent the % converting, just put |\ref{reference}| or |\eqref{reference}| inside % braces. The ``word'' here must not start with a backslash % (i.e. must not be a macro itself). This prevents disastrous results % for phrases like ``|see~\ref{a}, \ref{b}|''. % % % The distribution includes two sample files, \path{aomsample.tex} and % \path{aomsample1.tex}, the latter being obtained from the former by % the script \path{fullref.pl}. % % % Note that |\autoref| command of \progname{hyperref} provides for % another mechanism that achieves the same goal. Unlike |\fullref| % command, the command |\autoref| tries to figure out the name of the % reference from the context. See the manual~\cite{Rahtz06:Hyperref} % for more information. % %\subsection{Theorems} %\label{sec:theorems} % % \DescribeMacro{\newtheorem} % You can use the commands of \progname{amsthm} % package~\cite{amsthdoc} like % |\newtheorem{lem}{Lemma}| for numbered theorems, or % |\newtheorem*{KL}{Klein's Lemma}| for unnumbered theorems, or % tune the numbering using the optional arguments of these commands. % % To provide backward compatibility with some other classes used % internally by the \emph{Annals of Mathematics,} the class provides % yet another optional argument for the command |\newtheorem|, % allowing constructions like |\newtheorem[\it]{lem}{Lemma}|. This % optional parameter is not used in our typesetting. % % % The class provides two theorem styles: % \begin{description} % \item[plain:] This is the default theorem style. It is used for % Theorem, Lemma, Proposition, Conjecture, Corollary and Claim. % \item[definition:] This style is used for Definition, Remark, % Notation, Condition, Example etc. % \end{description} % Note that AMS classes define the third theorem style, % \textbf{remark.} In our class remarks are typeset in the % \textbf{definition} style. To make the authors' lives easier we % define the theorem style \textbf{remark,} which is identical to the % theorem style \textbf{definition.} % %\subsection{Illustrations} %\label{sec:illustrations} % % The authors can use the \progname{graphics}, \progname{graphicx}, % \progname{PSTricks}, \progname{pgf/tikz}, \progname{Metapost} or % other tools to include illustrations % (see~\cite{Goossens97:LateXGraphicsCompanion} for a comprehensive % discussion of \LaTeX{} graphics possibilities). % % %\subsection{Bibliography} %\label{sec:biblio} % % The authors are encouraged to use Bib\TeX{} for uniform style of % bibliography. The distribution includes the BST files % \path{aomplain.bst} and \path{aomalpha.bst}. These files have % several additional non-standard fields: % \begin{description} % \item[mrnumber:] MathSciNet number for the article. % \item[zblnumber:] Zentralblatt number for the article. % \item[doi:] DOI number for the article. % \item[jfmnumber:] JFM number for the article. % \item[arxiv:] ArXiv reference for the ArXiv manuscript. % \item[url:] If the reference is available online, the corresponding % url. % \item[venue:] (for \texttt{conference} entries) The place where the % conference took place. % \item[sortyear:] Some entries do not have a year set up (e.g. some % \texttt{unpublished} entries. If you have several entries from % the same author, some with a year, and some without, you may want % to put them in a certain order. The field |sortyear| overrides % |year| for the sorting purposes. % \end{description} % % % \DescribeMacro{\repeatedauthors} % If you do not use Bib\TeX{} and produce your bibliography manually, % you may want to have repeated authors to % be suppressed in the bibliography list, like it is done in the % example. The command |\repeatedauthors| should be used in this % case, for example: % \begin{verbatim} % \bibitem{fre:cichon} % D.~H. Fremlin, \emph{Cichon's diagram}, presented at the % S{\'e}minaire Initiation {\`a} l'Analyse, G. Choquet, M. Rogalski, % J. Saint Raymond, at the Universit{\'e} Pierre et Marie Curie, % Paris, 23e ann{\'e}e., 1983/194. % % \bibitem{fre:riesz} % \repeatedauthors{D.~H. Fremlin}, \emph{Topological {R}iesz spaces % and measure theory}, Cambridge University Press, 2008. % \end{verbatim} % % % \DescribeMacro{\doi} % \DescribeMacro{\mr} % \DescribeMacro{\zbl} % \DescribeMacro{\jfm} % \DescribeMacro{\arxiv} % There are several databases routinely used in the science and % mathematics communities. Among them are DOI, MathSciNet, % Zentralblatt, Jahrbuch Database, ArXiv. Many bibliographies include % references to % these databases. The commands |\doi|, |\mr|, |\zbl|, |\jfm|, |\arxiv| are % used to typeset these references. If you use Bib\TeX{}, these % commands are automatically used for the corresponding fields in your % database entries. % % % \StopEventually{% % \clearpage % % \bibliography{aomart} % \bibliographystyle{unsrt}} % % \clearpage % % %\section{Implementation} %\label{sec:impl} % %\subsection{Identification} %\label{sec:ident} % % We start with the declaration who we are. Most |.dtx| files put % driver code in a separate driver file |.drv|. We roll this code into the % main file, and use the pseudo-guard || for it. % \begin{macrocode} %\NeedsTeXFormat{LaTeX2e} %<*gobble> \ProvidesFile{aomart.dtx} % %\ProvidesClass{aomart} [2011/03/08 v1.7 Typesetting articles for the Annals of Mathematics] % \end{macrocode} % % % % And the driver code: % \begin{macrocode} %<*gobble> \documentclass{ltxdoc} \usepackage{array,booktabs,amsmath,graphics} \let\widebar\overline \usepackage{url} \usepackage{amsfonts,yhmath} \usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black, pagecolor=black,urlcolor=black,hyperindex=false]{hyperref} \PageIndex \CodelineIndex \RecordChanges \EnableCrossrefs \begin{document} \DocInput{aomart.dtx} \end{document} % %<*class> % \end{macrocode} % % %\subsection{Options} %\label{sec:options} % % % The size-changing options produce a warning: % \begin{macrocode} \long\def\aom@size@warning#1{% \ClassWarning{aomart}{Size-changing option #1 will not be honored}}% \DeclareOption{8pt}{\aom@size@warning{\CurrentOption}}% \DeclareOption{9pt}{\aom@size@warning{\CurrentOption}}% \DeclareOption{10pt}{\aom@size@warning{\CurrentOption}}% \DeclareOption{11pt}{\aom@size@warning{\CurrentOption}}% \DeclareOption{12pt}{\aom@size@warning{\CurrentOption}}% % \end{macrocode} % % \begin{macro}{\if@aom@manuscript@mode} % \changes{v0.3}{2010/09/28}{Added manuscript mode} % Check whether we are in the manuscript mode % \begin{macrocode} \newif\if@aom@manuscript@mode \@aom@manuscript@modefalse \DeclareOption{manuscript}{\@aom@manuscript@modetrue} % \end{macrocode} % % \end{macro} % % % \begin{macro}{\if@aom@screen@mode} % \changes{v0.10}{2010/12/20}{Added screen mode} % Check whether we are in the screen mode % \begin{macrocode} \newif\if@aom@screen@mode \@aom@screen@modefalse \DeclareOption{screen}{\@aom@screen@modetrue} % \end{macrocode} % % \end{macro} % % All other options are passed to \progname{amsart}: % \begin{macrocode} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{amsart}} % \end{macrocode} % % Now we read the configuration file % \begin{macrocode} \InputIfFileExists{aomart.cfg}{% \ClassInfo{aomart}{% Loading configuration file aomart.cfg}}{% \ClassInfo{aomart}{% Configuration file aomart.cfg is not found}} % \end{macrocode} % And process the options: % \begin{macrocode} \ProcessOptions\relax % \end{macrocode} % % %\subsection{Loading Class and Packages} %\label{sec:loading} % % We start with the base class % \changes{v1.4}{2011/01/21}{Deleted noamsfonts option} % \begin{macrocode} \LoadClass[11pt]{amsart} % \end{macrocode} % % A bunch of packages: % \changes{v0.5}{2010/10/24}{Made Roman font the default URL font} % \changes{v0.10}{2010/12/20}{Screen mode triggers special URL % settings} % \changes{v1.1}{2010/12/31}{In manuscript mode the links are always blue} % \begin{macrocode} \RequirePackage{fancyhdr, lastpage, ifpdf} \RequirePackage[breaklinks,colorlinks]{hyperref} \if@aom@screen@mode \hypersetup{linkcolor=blue,citecolor=blue, urlcolor=blue, pdfpagescrop={110 705 500 80}}% \else\if@aom@manuscript@mode \hypersetup{linkcolor=blue,citecolor=blue, urlcolor=blue}% \else \hypersetup{linkcolor=black,citecolor=black, urlcolor=black}% \fi\fi \urlstyle{rm} % \end{macrocode} % % \changes{v0.4}{2010/09/29}{Deleted lineno package dependence} % %\subsection{Fonts} %\label{sec:fonts} % % \changes{v0.8}{2010/1/16}{Added yhmath} % We use \progname{yhmath} for wide symbols: % \begin{macrocode} \RequirePackage{yhmath} % \end{macrocode} % % % \changes{v0.3}{2010/09/26}{Added package mdputu} % \changes{v0.4}{2010/09/28}{Switched to upright digits in italics % everywhere} % \changes{v0.8}{2010/1/16}{Switched to cmtiup} % We need \progname{cmtiup} package, but we may find out it is not % installed. % \begin{macrocode} \IfFileExists{cmtiup.sty}{% \RequirePackage{cmtiup}}{% \ClassWarning{aomart}{The package mdputu is not found.\MessageBreak You need this package to get italics with upright digits!}} % \end{macrocode} % % \begin{macro}{\specialdigits} % \changes{v0.8}{2010/1/16}{Redefined to noop} % A legacy macro. We do not need it anymore. % \begin{macrocode} \def\specialdigits{}% \let\sishape=\itshape \let\textsi=\textit % \end{macrocode} % % \end{macro} % % The \progname{amsart} class defines several options for different % font sizes (10pt, 11pt, etc). We have just one design size for the % articles. % % \begin{macro}{\@typesizes} % \changes{v0.5}{2010/10/24}{Increased LARGE from 16 pt to 17 pt} % \changes{v0.5}{2010/10/24}{Corrected typo in the definition of Small} % The font information in \progname{amsart} is stored in % |\@typesizes| macro. It has 11 typesizes: 5 below and 5 above % |\normalsize| . % \begin{macrocode} \def\@typesizes{% \or{\@vipt}{9}\or{\@viipt}{9}\or{\@viiipt}{9}\or{\@ixpt}{12}% \or{\@xpt}{13}% \or{\@xipt}{14}% normalsize \or{\@xiipt}{15}\or{13}{17}\or{\@xviipt}{20}% \or{19}{23.2}\or{22}{27.8}}% \normalsize \linespacing=\baselineskip % \end{macrocode} % \end{macro} % % % \begin{macro}{\widebar} % The functionality of |\widebar| coincides with that of % \progname{amsmath} |\overline|: % \begin{macrocode} \let\widebar\overline % \end{macrocode} % \end{macro} % %\subsection{Page Dimensions and Paragraphing} %\label{sec:page} % % \begin{macro}{\textwidth} % \begin{macro}{\textheight} % These are from the old \progname{aomamlt2e}: % \begin{macrocode} \setlength{\textwidth}{31pc} \setlength{\textheight}{48pc} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\evensidemargin} % \begin{macro}{\oddsidemargin} % The margins: % \begin{macrocode} \oddsidemargin=.65in \evensidemargin=.65in % \end{macrocode} % % \end{macro} % \end{macro} % % \begin{macro}{\footins} % \begin{macro}{\topskip} % \begin{macro}{\abovedisplayskip} % \begin{macro}{\belowdisplayskip} % \changes{v0.6}{2010/10/03}{Changed belowdisplayskip} % Some skips from \progname{aomamlt2e}: % \begin{macrocode} \setlength{\topskip}{12pt} \setlength{\abovedisplayskip}{6.95pt plus3.5pt minus 3pt} \setlength{\belowdisplayskip}{6.95pt plus4.5pt minus 3pt} \setlength{\skip\footins}{20pt} \setlength{\dimen\footins}{3in} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % % \begin{macro}{\footskip} % Some space for footnotes: % \begin{macrocode} \setlength\footskip{30pt} % \end{macrocode} % % \end{macro} % % \begin{macro}{\parskip} % \begin{macro}{\parindent} % Paragraph shape: % \begin{macrocode} \setlength{\parindent}{22pt} \setlength{\parskip}{\z@} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\widowpenalty} % \begin{macro}{\clubpenalty} % We suppress widows and clubs: % \begin{macrocode} \widowpenalty=10000 \clubpenalty=10000 % \end{macrocode} % \end{macro} % \end{macro} % % %\subsection{Headers} %\label{sec:headers} % % \begin{macro}{\headsep} % Separation between the header and the body % \begin{macrocode} \setlength{\headsep}{14pt} % \end{macrocode} % % \end{macro} % \begin{macro}{\headrulewidth} % \begin{macro}{\footrulewidth} % We do not want decorative rules in the journal: % \begin{macrocode} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt} % \end{macrocode} % \end{macro} % \end{macro} % % % \begin{macro}{\@aom@linecount} % \changes{v0.4}{2010/09/29}{Added macro} % This is the box displayed in the manuscript mode % \begin{macrocode} \if@aom@manuscript@mode \newsavebox{\@aom@linecount} \savebox{\@aom@linecount}[4em][t]{\parbox[t]{4em}{% \@tempcnta\@ne\relax \loop{\underline{\scriptsize\the\@tempcnta}}\\ \advance\@tempcnta by \@ne\ifnum\@tempcnta<43\repeat}} \fi % \end{macrocode} % % \end{macro} % % \changes{v0.4}{2010/09/29}{Used line numbers for headings} % \changes{v0.5}{2010/10/24}{Added extra footer in manuscript mode} % \changes{v0.5}{2010/10/24}{Corrected the byg with math in headers} % \changes{v0.8}{2010/11/16}{Changed authors in header} % It is easy to set up headers with \progname{fancyhdr}: % \begin{macrocode} \pagestyle{fancy} \fancyhead{} \fancyfoot{} \fancyhead[CO]{\scriptsize\shorttitle} \fancyhead[RO,LE]{\footnotesize\thepage} \if@aom@manuscript@mode \fancyhead[LE]{\footnotesize\thepage\begin{picture}(0,0)% \put(-26,-25){\usebox{\@aom@linecount}}% \end{picture}} \fancyhead[LO]{\begin{picture}(0,0)% \put(-21,-25){\usebox{\@aom@linecount}}% \end{picture}} \fancyfoot[C]{\scriptsize Proof: page numbers may be temporary} \fi \fancyhead[CE]{\scriptsize\MakeUppercase\shortauthors} % \end{macrocode} % % \changes{v0.3}{2010/09/26}{Addec DOI number in headers} % \changes{v0.9}{2010/12/04}{Changed font for the folio on the first % page} % \changes{v1.3}{2011/01/07}{Corrected bug with doinumber} % The first page has the special headers. The style |firstpage| is % invoked by \progname{amsart}; here we just redefine it. % \begin{macrocode} \fancypagestyle{firstpage}{% \fancyhf{}% \if@aom@manuscript@mode \lhead{\begin{picture}(0,0)% \put(-21,-25){\usebox{\@aom@linecount}}% \end{picture}} \fi \chead{\scriptsize% \href{\@annalsurl}{Annals of Mathematics} \textbf{\currentvolume} (\currentyear), % \end{macrocode} % \changes{v1.7}{2011/03/08}{Suppressed page number in the header for % one-page articles} % We always print the starting page. However, we print the last page % only if it does not coincide with the first page. There are two % cases here: first, the last page may still be % |\pageref{LastPage}|. In this case we need to extract the numerical % value of the counter---note that hyperref is in action! % Second, we could redefine the last page, and it is no % longer |\pageref{LastPage}|. In this case we need to compare the % value with the first page. % \begin{macrocode} \start@page% \def\tempa{\pageref{LastPage}}% \edef\tempb{\start@page}% \ifx\tempa\end@page \edef\tempa{\HyPsd@@@pageref{LastPage}}% \else \edef\tempa{\end@page}% \fi \ifx\tempa\tempb\else--\end@page\fi\\ \ifx\@doinumber\@empty\else \edef\@doinumber{\@doinumber}% \expandafter\doi\expandafter{\@doinumber}\fi}% \cfoot{\footnotesize\thepage}}% % \end{macrocode} % % \begin{macro}{\annalsurl} % The command to set up the URL of the journal % \begin{macrocode} \def\annalsurl#1{\gdef\@annalsurl{#1}} \annalsurl{http://annals.math.princeton.edu/annals/about/cover/cover.html} % \end{macrocode} % % \end{macro} % % %\subsection{Top Matter Macros} %\label{sec:top_matter_code} % % We make these macros allowed only in the preamble: % \begin{macrocode} \@onlypreamble{\title} \@onlypreamble{\author} \@onlypreamble{\email} \@onlypreamble{\address} \@onlypreamble{\curraddr} \@onlypreamble{\urladdr} \@onlypreamble{\givenname} \@onlypreamble{\surname} \@onlypreamble{\thanks} \@onlypreamble{\keyword} \@onlypreamble{\subject} \@onlypreamble{\received} \@onlypreamble{\revised} \@onlypreamble{\accepted} \@onlypreamble{\published} \@onlypreamble{\publishedonline} \@onlypreamble{\proposed} \@onlypreamble{\seconded} \@onlypreamble{\corresponding} \@onlypreamble{\editor} \@onlypreamble{\version} \@onlypreamble{\volumenumber} \@onlypreamble{\issuenumber} \@onlypreamble{\publicationyear} \@onlypreamble{\papernumber} \@onlypreamble{\startpage} \@onlypreamble{\endpage} \@onlypreamble{\doinumber} \@onlypreamble{\mrnumber} \@onlypreamble{\zblnumber} % \end{macrocode} % % % Most top matter macros are defined in \progname{amsart}. Here we % just add some new macros and redefine some. % % \begin{macro}{\givenname} % \begin{macro}{\surname} % These commands at present do nothing: they are for machine % indexing only. % \begin{macrocode} \let\givenname=\@gobble \let\surname=\@gobble % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\keyword} % Actually \progname{amsart} has |\kewords| macro. It redefines % |\@keywords|. Our macro adds to the stack instead. % \begin{macrocode} \def\keyword#1{\ifx\@keywords\@empty\gdef\@keywords{#1}\else \g@addto@macro\@keywords{, #1}\fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\subject} % We do not typeset subject, but use it for PDF info. % \begin{macrocode} \let\@subjects\@empty \def\subject#1#2#3{\ifx\@subjects\@empty\gdef\@subjects{#1:#2:#3}\else \g@addto@macro\@subjects{, #1:#2:#3}\fi} % \end{macrocode} % % \end{macro} % % % \begin{macro}{\formatdate} % This just sends the date to the special macro |\@formatdate| % \begin{macrocode} \def\formatdate#1{\@formatdate#1\@endformatdate} % \end{macrocode} % \end{macro} % % \begin{macro}{\@formatdate} % This macro takes date in the form YYYY-MM-DD and properly formats % it. Note how we delete the leading zero in dates like April 02. % \begin{macrocode} \def\@formatdate#1-#2-#3\@endformatdate{% \@tempcnta=#3\relax \ifcase#2\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\the\@tempcnta,\space#1} % \end{macrocode} % % \end{macro} % % \begin{macro}{\received} % \begin{macro}{\revised} % \begin{macro}{\accepted} % \begin{macro}{\published} % \begin{macro}{\publishedonline} % The following macros add stuff to the footnotes material: % \begin{macrocode} \def\received#1{\def\@received{#1}} \let\@received\@empty \def\revised#1{\def\@revised{#1}} \let\@revised\@empty \def\accepted#1{\def\@accepted{#1}} \let\@accepted\@empty \def\published#1{\def\@published{#1}} \let\@published\@empty \def\publishedonline#1{\def\@publishedonline{#1}} \let\@publishedonline\@empty % \end{macrocode} % % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % The next macros mimic the functionality of \progname{amsart} % |\issueinfo| command. Note that |\issueinfo| still works. % \begin{macro}{\volumenumber} % This sets the volume of the paper % \begin{macrocode} \def\volumenumber#1{\def\currentvolume{#1}} % \end{macrocode} % \end{macro} % \begin{macro}{\issuenumber} % This sets the issue of the paper: % \begin{macrocode} \def\issuenumber#1{\def\currentissue{#1}} % \end{macrocode} % \end{macro} % \begin{macro}{\publicationyear} % This sets the year of the paper % \begin{macrocode} \def\publicationyear#1{\def\currentyear{#1}} % \end{macrocode} % \end{macro} % \begin{macro}{\papernumber} % \changes{v1.0}{2010/12/21}{Added macro} % This is absent from the |\issueinfo|. % \begin{macrocode} \def\papernumber#1{\def\currentpaper{#1}} \papernumber{0000} % \end{macrocode} % \end{macro} % % \begin{macro}{\startpage} % This defines the starting page of the paper. We have some nice % features to set up roman page numbers for editorial % stuff---probably not needed for this journal at this time\dots % \begin{macrocode} \def\startpage#1{\pagenumbering{arabic}\setcounter{page}{#1}% \def\start@page{#1}% \ifnum\c@page<\z@ \pagenumbering{roman}\setcounter{page}{-#1}% \def\start@page{\romannumeral#1}% \fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\endpage} % This macro again has a twist in it: if the argument is not set, it % calculates the last page number itself. % \begin{macrocode} \def\endpage#1{\def\@tempa{#1}% \ifx\@tempa\@empty\def\end@page{\pageref{LastPage}}% \else\def\end@page{#1}\fi} % \end{macrocode} % \end{macro} % % % \begin{macro}{\pagespan} % This macro is different from the one provided by \progname{amsart} % because we want to have the option of automatic calculation of the % last page number. % \begin{macrocode} \def\pagespan#1#2{\startpage{#1}\endpage{#2}} \pagespan{1}{} % \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{macrocode} \renewenvironment{abstract}{% \ifx\maketitle\relax \ClassWarning{aomart}{Abstract should precede \protect\maketitle\space in AMS derived classes}% \fi \global\setbox\abstractbox=\vtop\bgroup% \vglue1pc% {\centering\normalfont\normalsize\bfseries\abstractname\par\vglue1pc}% \list{}{\labelwidth\z@% \leftmargin3pc \rightmargin\leftmargin% \listparindent\normalparindent \itemindent\normalparindent% \parsep\z@ \@plus\p@% \let\fullwidthdisplay\relax% }% \item[]\normalfont\Small% }{% \endlist\egroup% \ifx\@setabstract\relax\@setabstracta\fi% } % \end{macrocode} % \end{macro} % % \begin{macro}{\proposed} % \changes{v0.3}{2010/09/26}{Added macro} % We do not typeset the name of the proposer % \begin{macrocode} \let\proposed\@gobble % \end{macrocode} % \end{macro} % \begin{macro}{\seconded} % \changes{v0.3}{2010/09/26}{Added macro} % Or the seconder % \begin{macrocode} \let\seconded\@gobble % \end{macrocode} % \end{macro} % \begin{macro}{\corresponding} % \changes{v0.3}{2010/09/26}{Added macro} % This is the corresponding author---again not typeset % \begin{macrocode} \let\corresponding\@gobble % \end{macrocode} % \end{macro} % \begin{macro}{\version} % \changes{v0.3}{2010/09/26}{Added macro} % We do not typeset the current version of the manuscript either\dots % \begin{macrocode} \let\version\@gobble % \end{macrocode} % \end{macro} % % \begin{macro}{\doinumber} % \changes{v0.3}{2010/09/26}{Added macro} % \changes{v1.0}{2010/12/21}{Added default} % \begin{macro}{\mrnumber} % \changes{v0.3}{2010/09/26}{Added macro} % \begin{macro}{\zblnumber} % \changes{v0.3}{2010/09/26}{Added macro} % Now databases' numbers of the article: % \begin{macrocode} \def\doinumber#1{\gdef\@doinumber{#1}} \doinumber{10.4007/annals.\currentyear.\currentvolume.\currentissue.\currentpaper} \def\mrnumber#1{\gdef\@mrnumber{#1}} \mrnumber{} \def\zblnumber#1{\gdef\@zblnumber{#1}} \zblnumber{} % \end{macrocode} % % \end{macro} % \end{macro} % \end{macro} % %\subsection{Typesetting Top Matter} %\label{sec:maketitle} % % % \begin{macro}{\@settitle} % We do not uppercase title. Also, we use this occasion to set PDF % information: % \begin{macrocode} \def\@settitle{\begin{center}% \baselineskip20\p@\relax \bfseries\LARGE \@title \ifpdf \hypersetup{pdftitle=\@title}% \fi \end{center}% } % \end{macrocode} % \end{macro} % % \begin{macro}{\@setauthors} % \changes{v0.6}{2010/11/04}{'By' and 'and' are in Roman font now} % Now we typeset authors according to our specs. Again, we use this % occasion to set some PDF information: % \begin{macrocode} \def\@setauthors{% \ifx\authors\@empty\relax\else \begingroup \def\thanks{\protect\thanks@warning}% \trivlist \centering\footnotesize \@topsep30\p@\relax \advance\@topsep by -\baselineskip \item\relax \def\@@and{{\upshape and}} \author@andify\authors \ifpdf \hypersetup{pdfauthor=\authors}% \fi \def\\{\protect\linebreak}% \small By \scshape\authors% \ifx\@empty\contribs \else ,\penalty-3 \space \@setcontribs \@closetoccontribs \fi \endtrivlist \endgroup \fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\@setcontribs} % Contributors are set up in the same way as authors: % \begin{macrocode} \def\@setcontribs{% \@xcontribs {\scshape \xcontribs}% } % \end{macrocode} % \end{macro} % % \begin{macro}{\@adminfootnotes} % We do not typeset keywords, so we change the definition: % \begin{macrocode} \def\@adminfootnotes{% \let\@makefnmark\relax \let\@thefnmark\relax \ifx\@empty\@date\else \@footnotetext{\@setdate}\fi \ifx\@empty\@subjclass\else \@footnotetext{\@setsubjclass}\fi \ifx\@empty\@keywords\else\@setkeywords\fi \ifx\@empty\@subjects\else\@setsubjects\fi \ifx\@empty\thankses\else \@footnotetext{% \def\par{\let\par\@par}\@setthanks}% \fi } % \end{macrocode} % % \end{macro} % % % \begin{macro}{\@setkeywords} % We do not typeset keywords, but use them for the PDF information % \begin{macrocode} \def\@setkeywords{% \ifpdf \hypersetup{pdfkeywords=\@keywords}% \fi } % \end{macrocode} % \end{macro} % % \begin{macro}{\@setsubjects} % We do not typeset subjects, but use them for the PDF information % \begin{macrocode} \def\@setsubjects{% \ifpdf \hypersetup{pdfsubject=\@subjects}% \fi } % \end{macrocode} % \end{macro} % % % \begin{macro}{\@@and} % \changes{v0.9}{2010/12/04}{Redefined macro} % We want ``and'' in the footers to be lowercase. Since there is % some uppercase involved, we protect it: % \begin{macrocode} \def\@@and{\MakeLowercase{and}} % \end{macrocode} % % \end{macro} % %\subsection{Typesetting End Matter} %\label{sec:endmatter} % % End matter is typeset at the end of the paper. % % \begin{macro}{\enddoc@text} % \changes{v0.4}{2010/09/28}{Deleted many dates.} % This is the main macro for typesetting endmatter. % \begin{macrocode} \def\enddoc@text{% \ifx\@empty\@translators \else\@settranslators\fi \ifx\@empty\@received \else\@setreceived\fi \ifx\@empty\@revised \else\@setrevised\fi \ifx\@empty\addresses \else\@setaddresses\fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\@setreceived} % \begin{macro}{\@setrevised} % \begin{macro}{\@setaccepted} % \begin{macro}{\@setpublished} % \begin{macro}{\@setpublishedonline} % \changes{v0.5}{2010/10/24}{Decreased font} % \changes{v0.9}{2010/12/04}{Increased font} % A bunch of macros for setting centered dates % \begin{macrocode} \def\@setreceived{{\centering(Received: \@received)\par}} \def\@setrevised{{\centering(Revised: \@revised)\par}} \def\@setaccepted{{\centering(Accepted: \@accepted)\par}} \def\@setpublished{{\centering(Published: \@published)\par}} \def\@setpublishedonline{{\centering(Published online: \@publishedonline)\par}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\emailaddrname} % \changes{v0.5}{2010/10/24}{Changed macro} % We do not want the word ``address'' here: % \begin{macrocode} \def\emailaddrname{{\itshape E-mail}} % \end{macrocode} % \end{macro} % % \begin{macro}{\@setaddresses} % \changes{v0.5}{2010/10/24}{Deleted the word URL} % \changes{v0.5}{2010/10/24}{E-mail is now in Roman font} % \changes{v0.9}{2010/12/04}{Deleted spurious space in urladdress} % \changes{v1.2}{2011/01/05}{Changed font for current address} % The difference between our definition and the one in % \progname{amsart} is that we want the e-mail and URL to be clickable % \begin{macrocode} \def\@setaddresses{\par \nobreak \begingroup \footnotesize \def\author##1{\nobreak\addvspace\bigskipamount}% \def\\{\unskip, \ignorespaces}% \interlinepenalty\@M \def\address##1##2{\begingroup \par\addvspace\bigskipamount\indent \@ifnotempty{##1}{(\ignorespaces##1\unskip) }% {\scshape\ignorespaces##2}\par\endgroup}% \def\curraddr##1##2{\begingroup \@ifnotempty{##2}{\nobreak\indent\curraddrname \@ifnotempty{##1}{, \ignorespaces\scshape##1\unskip}\hskip0.2em:\space \scshape##2\par}\endgroup}% \def\email##1##2{\begingroup \@ifnotempty{##2}{\nobreak\indent\emailaddrname \@ifnotempty{##1}{, \ignorespaces##1\unskip}\hskip0.2em:\space \href{mailto:##2}{\rmfamily##2}\par}\endgroup}% \def\urladdr##1##2{\begingroup \@ifnotempty{##2}{\nobreak\indent \@ifnotempty{##1}{, \ignorespaces##1\unskip}% \url{##2}\par}\endgroup}% \addresses \endgroup } % \end{macrocode} % % \end{macro} % % %\subsection{Sectioning} %\label{sec:sectioning} % % \begin{macro}{\contentsnamefont} % This is the font for the word ``Contents'': % \begin{macrocode} \renewcommand\contentsnamefont{\bfseries} % \end{macrocode} % \end{macro} % % % \begin{macro}{\section} % We want our sections to be centered and bold: % \begin{macrocode} \def\section{\@startsection{section}{1}% \z@{.7\linespacing\@plus\linespacing}{.5\linespacing}% {\normalfont\bfseries\centering}} % \end{macrocode} % \end{macro} % % % \begin{macro}{\subsection} % \changes{v0.5}{2010/10/24}{Redefined macro} % \changes{v1.2}{2011/01/05}{Decreased vertical spacing} % \changes{v1.4}{2011/01/21}{Deleted stretch in vertical spacing} % We want our subsections to be indented and italic: % \begin{macrocode} \def\subsection{\@startsection{subsection}{2}% {\parindent}{.5\linespacing}{-.5em}% {\normalfont\itshape}} % \end{macrocode} % \end{macro} % % \begin{macro}{\oldsubsections} % \changes{v1.2}{2011/01/05}{Introduced macro} % This macro restores the values for |\subsection| spacing prior to % v1.1. % \begin{macrocode} \def\oldsubsections{% \gdef\subsection{\@startsection{subsection}{2}% {\parindent}{.5\linespacing\@plus.7\linespacing}{-.5em}% {\normalfont\itshape}}} % \end{macrocode} % \end{macro} % % \begin{macro}{\subsubsection} % \changes{v1.4}{2011/01/21}{Introduced the macro} % Subsubsections are formatted exactly like subsections: % \begin{macrocode} \def\subsubsection{\@startsection{subsubsection}{3}% {\parindent}{.5\linespacing}{-.5em}% {\normalfont\itshape}} % \end{macrocode} % \end{macro} % % % \begin{macro}{\appendix} % \changes{v1.6}{2011/03/06}{Redefined the macro} % We redefine appendix to ensure the letter in section number is % always upright: % \begin{macrocode} \def\appendix{\par\c@section\z@ \c@subsection\z@ \let\sectionname\appendixname \def\thesection{{\upshape\@Alph\c@section}}} % \end{macrocode} % % \end{macro} % %\subsection{Figures and Tables} %\label{sec:figs} % % \begin{macro}{\@captionheadfont} % This is the font for the words ``Figure'' or ``Table'' in % captions. Unlike \progname{amsmath} with is small caps, we want % just plain Roman font: % \begin{macrocode} \def\@captionheadfont{\normalfont} % \end{macrocode} % \end{macro} % % % % %\subsection{Theorems} %\label{sec:theorems} % % Here we redefine three main style of \progname{amsart}. Here are % the arguments of |\newtheoremstyle| from~\cite{Downes04:amsart}: %\begin{verbatim} % #1 % \newtheoremstyle{NAME}% % #2 #3 #4 % {ABOVESPACE}{BELOWSPACE}{BODYFONT}% % #5 #6 #7 #8 % {INDENT}{HEADFONT}{HEADPUNCT}{HEADSPACE}% % #9 % {CUSTOM-HEAD-SPEC} %\end{verbatim} % % % \changes{v0.4}{2010/09/28}{Changed plain theorem style} % In the |plain| style the name (``theorem'') is in small caps, the % number is in normal font, the optional note is also % in normal font, and the text is italics. % \begin{macrocode} \newtheoremstyle{plain}{0.5\linespacing}{0.5\linespacing}{\sishape}% {\parindent}{\scshape}{.}{0.5em}% {\thmname{#1}\thmnumber{ #2}\thmnote{\normalfont{} (#3)}} % \end{macrocode} % % \changes{v0.4}{2010/09/28}{Changed definition theorem style} % In the |definition| style the name is italics, and the body font is % upright: % \begin{macrocode} \newtheoremstyle{definition}{0.5\linespacing}{0.5\linespacing}% {\upshape}{\parindent}% {\sishape}{.}{0.5em}% {\thmname{#1}\thmnumber{ #2}\thmnote{\normalfont{} (#3)}} % \end{macrocode} % % \changes{v0.4}{2010/09/28}{Deleted remark theorem style} % \changes{v0.5}{2010/10/24}{Made remark theorem style identical to % definition theorem style} % In our class there is no difference between |remark| and % |definition| theorem styles: % \begin{macrocode} \newtheoremstyle{remark}{0.5\linespacing}{0.5\linespacing}% {\upshape}{\parindent}% {\sishape}{.}{0.5em}% {\thmname{#1}\thmnumber{ #2}\thmnote{\normalfont{} (#3)}} % \end{macrocode} % % \begin{macro}{\newtheorem} % \changes{v0.3}{2010/09/26}{Redefined macro} % For compatibility reasons we need to accept |\newtheorem| with % optional first argument---and silently drop it. The problem is, % there is |\newtheorem*|, so we need to check which one we deal % with\dots{} The command |\@xnthm| here is from \progname{amsthm}; % it does the real work with the real parameters. % \begin{macrocode} \renewcommand{\newtheorem}{\@ifstar{\@aom@newthm@star}{\@aom@newthm}} \def\@aom@newthm@star{\@ifnextchar[{\@aom@newthm@star@}{\@aom@newthm@star@[]}} \def\@aom@newthm{\@ifnextchar[{\@aom@newthm@}{\@aom@newthm@[]}} \def\@aom@newthm@star@[#1]{\@xnthm *} \def\@aom@newthm@[#1]{\@xnthm \relax} % \end{macrocode} % % \end{macro} % % \begin{macro}{proof} % \changes{v0.5}{2010/10/24}{Redefined macro} % We want our proofs to be indented: % \begin{macrocode} \renewenvironment{proof}[1][\proofname]{\par \pushQED{\qed}% \normalfont \topsep6\p@\@plus6\p@\relax \trivlist \item[\hskip\labelsep\hskip\parindent \itshape #1\@addpunct{.}]\ignorespaces }{% \popQED\endtrivlist\@endpefalse } % \end{macrocode} % \end{macro} % % %\subsection{Bibliography Macros} %\label{sec:bibl} % % \begin{macro}{\repeatedauthors} % When the authors are repeated, we change them to |\bysame|: % \begin{macrocode} \def\repeatedauthors#1{\bysame} % \end{macrocode} % \end{macro} % % % \begin{macro}{\doi} % \changes{v1.2}{2011/01/05}{Now we properly treat numbers with underscores} % Typesetting doi\dots % \begin{macrocode} \def\doi#1{\href{http://dx.doi.org/#1}{doi: \path{#1}}} % \end{macrocode} % \end{macro} % % \begin{macro}{\mr} % \changes{v0.3}{2010/09/27}{Added macro} % \changes{v1.2}{2011/01/05}{Now we properly treat numbers with underscores} % \begin{macro}{\zbl} % \changes{v0.3}{2010/09/27}{Added macro} % \changes{v0.6}{2010/10/03}{Changed capitalization} % \changes{v1.2}{2011/01/05}{Now we properly treat numbers with underscores} % \begin{macro}{\arxiv} % \changes{v0.3}{2010/09/27}{Added macro} % \changes{v1.2}{2011/01/05}{Now we properly treat numbers with % underscores} % \changes{v1.5}{2011/02/26}{Typo corrected} % \begin{macro}{\jfm} % \changes{v0.10}{2010/12/18}{Added macro} % \changes{v1.2}{2011/01/05}{Now we properly treat numbers with underscores} % Typesetting urls % \begin{macrocode} \def\mr#1{\href{http://www.ams.org/mathscinet-getitem?mr=#1}{MR~\path{#1}}} \def\zbl#1{\href{http://www.zentralblatt-math.org/zmath/en/search/?q=an:#1}{Zbl~\path{#1}}} \def\arxiv#1{\href{http://www.arxiv.org/abs/#1}{arXiv~\path{#1}}} \def\jfm#1{\href{http://www.emis.de/cgi-bin/JFM-item?#1}{JFM~\path{#1}}} % \end{macrocode} % % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\bibliofont} % \changes{v0.6}{2010/10/03}{Changed default} % We make this |\small| rather than |\Small| in \progname{amsart} % \begin{macrocode} \renewcommand{\bibliofont}{\small} % \end{macrocode} % % \end{macro} % %\subsection{Additional Macros} %\label{sec:additional} % % \begin{macro}{\EditorialComment} % \changes{v0.3}{2010/09/28}{Added macro} % This macro is noop in normal mode, but is a tiny marginpar in the % manusript mode % \begin{macrocode} \def\EditorialComment#1{\if@aom@manuscript@mode\bgroup \marginparwidth=75pt\marginpar{\scriptsize\raggedright#1}\egroup\fi} % \end{macrocode} % \end{macro} % % % \begin{macro}{\@fullref} % \changes{v0.5}{2010/10/24}{Added macro} % This macro creates a wide link for the reference. It has four % parameters: the word (theorem, equation,\dots), the ``pre'' % punctuation, the reference and the ``post'' punctuation. % \begin{macrocode} \def\@fullref#1#2#3#4{\hyperref[#3]{#1~#2\ref*{#3}#4}} % \end{macrocode} % \end{macro} % \begin{macro}{\fullref} % \changes{v0.5}{2010/10/24}{Added macro} % A reference without parentheses: % \begin{macrocode} \newcommand{\fullref}[2]{\@fullref{#1}{}{#2}{}} % \end{macrocode} % \end{macro} % \begin{macro}{\pfullref} % \changes{v0.5}{2010/10/24}{Added macro} % A reference with parentheses: % \begin{macrocode} \newcommand{\pfullref}[2]{\@fullref{#1}{(}{#2}{)}} % \end{macrocode} % \end{macro} % \begin{macro}{\bfullref} % \changes{v0.5}{2010/10/24}{Added macro} % A reference with brackets: % \begin{macrocode} \newcommand{\bfullref}[2]{\@fullref{#1}{[}{#2}{]}} % \end{macrocode} % \end{macro} % \begin{macro}{\eqfullref} % \changes{v0.5}{2010/10/24}{Added macro} % Here we do not use the standard common |\@fullref| because we want % |\eqref| to work\dots % \begin{macrocode} \newcommand{\eqfullref}[2]{\hyperref[#2]{#1~\textup{\tagform@{\ref*{#2}}}}} % \end{macrocode} % \end{macro} % % \begin{macro}{\eqnarray} % \changes{v0.9}{2010/12/04}{Redefined standard macro} % While we do \emph{not} recommend the use of |eqnarray|, we still % would like to correct the ugly spacing around it\dots % \begin{macrocode} \def\eqnarray{% \stepcounter{equation}% \def\@currentlabel{\p@equation\theequation}% \global\@eqnswtrue \m@th \global\@eqcnt\z@ \tabskip\@centering \let\\\@eqncr $$\arraycolsep1\p@ \everycr{}\halign to\displaywidth\bgroup \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep $\displaystyle{##}$\hfil\tabskip\@centering &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup \tabskip\z@skip \cr } % \end{macrocode} % % \end{macro} % % %\subsection{End of Class} %\label{end} % % % \begin{macrocode} % % \end{macrocode} % %\Finale %\clearpage % %\PrintChanges %\clearpage %\PrintIndex % \endinput