summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ijmart/ijmart.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/ijmart/ijmart.dtx')
-rw-r--r--macros/latex/contrib/ijmart/ijmart.dtx1709
1 files changed, 1709 insertions, 0 deletions
diff --git a/macros/latex/contrib/ijmart/ijmart.dtx b/macros/latex/contrib/ijmart/ijmart.dtx
new file mode 100644
index 0000000000..ee11d20483
--- /dev/null
+++ b/macros/latex/contrib/ijmart/ijmart.dtx
@@ -0,0 +1,1709 @@
+% \iffalse
+% $Id: ijmart.dtx,v 1.52 2013-06-25 03:33:52 boris Exp $
+%
+% Copyright 2007-2010, The Hebrew University Magnes Press
+% 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,
+% <borisv@lk.net>
+%
+% This work consists of the file ijmart.dtx and the
+% derived file ijmart.cls
+%
+% \fi
+% \CheckSum{861}
+%
+%
+%% \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{ijmart.dtx}
+% \newcommand{\progname}[1]{\textsf{#1}}
+% \title{\LaTeX{} Class for \emph{The Israel Journal of Mathematics}\thanks{\copyright 2007, The Hebrew University Magnes Press}}
+% \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
+% \emph{The Israel Journal of Mathematics}
+% \end{abstract}
+% \tableofcontents
+%
+% \clearpage
+%
+% \changes{v0.2}{2007/08/20}{First fully functional version}
+% \changes{v0.3}{2007/08/23}{Documentation update}
+% \changes{v1.0}{2007/09/03}{Documentation update}
+% \changes{v1.1a}{2007/10/14}{Documentation update}
+% \changes{v1.3}{2008/01/27}{Documented the use of qedhere and mqedhere}
+% \changes{v1.6}{2010/10/28}{Documentation updates: illustrations and
+% bibliography}
+% \changes{v1.7}{2013/06/23}{Change in a sample file}
+%
+%\section{Introduction}
+%\label{sec:intro}
+%
+% \emph{The Israel Journal of Mathematics} is published by \emph{The
+% Hebrew University Magnes Press}. This class provides \LaTeX{}
+% support for its authors and editors. It strives to achieve the
+% distinct ``look and feel'' of the journal, while having the
+% interface similar to the one of the \progname{amsart} document
+% class~\cite{Downes04:amsart}. This will help the authors already
+% familiar with \progname{amsart} to easily submit manuscripts for \emph{The
+% Israel Journal of Mathematics} or to put the preprints in
+% \url{http://www.arxiv.org} with minimal changes in the \LaTeX{}
+% source.
+%
+% This goal determined the implementation approach. We load the
+% \progname{amsart} class and redefine some of its internals on the fly. There
+% are some additional commands added to support the features specific
+% to the journal, but we aimed to keep their number minimal.
+%
+% 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 |ijmart.ins|. This will produce the file
+% |ijmart.cls|.
+% \item Put the files |ijmart.cls| and |ijmart.bst| to
+% the places where \LaTeX{} and Bib\TeX{} 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 |ijmart.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 \progname{ifpdf} package~\cite{Oberdiek06:Ifpdf},
+% \item \progname{fancyhdr} package~\cite{Oostrum04:Fancyhdr},
+% \item \progname{lastpage} package~\cite{Goldberg94:Lastpage}.
+% \end{enumerate}
+%
+%
+%\subsection{Invocation}
+%\label{sec:invocation}
+%
+% To use the class, put in the preamble of your document
+% \begin{flushleft}
+% |\documentclass[|\meta{options}|]{ijmart}|
+% \end{flushleft}
+% The class internally loads \progname{amsart}, so all facilities of
+% \progname{amsart}~\cite{Graetzer00:MathIntoLaTeX, amsldoc} can be used in the
+% source.
+%
+%
+% \DescribeOption{french}
+% Most of the options are just passed to
+% \progname{amsart} (see~\cite{Graetzer00:MathIntoLaTeX, amsldoc} for their
+% description). The class \progname{ijmart} adds one new option |french|. If
+% it is chosen, some words in the top matter will be typeset in
+% French. Note that this option does \emph{not} change the names of
+% the table of contents and references. An author should also include
+% a call, for example, to the Babel package~\cite{Braams05:Babel},
+% which takes care of these and other details of international
+% typesetting.
+%
+% If the author indeed chooses \progname{babel}, then the option
+% |french| is passed to the package. Therefore the following works:
+% \begin{verbatim}
+% \documentclass[french]{ijmart}
+% \usepackage{babel} % the french option is passed to the package
+% \end{verbatim}
+% Please note that \progname{babel} scans the global options first,
+% but the main language of the document must be the last one.
+% Therefore if the paper is written in French, but uses English
+% quotations, the proper way to call \progname{babel} is the following:
+% \begin{verbatim}
+% \documentclass[french]{ijmart}
+% \usepackage[english,french]{babel}
+% \end{verbatim}
+%
+%
+%
+% By default \progname{babel} redefines French captions for figures
+% and tables to use \textsc{Fig.} and \textsc{Tab.} correspondingly.
+% If this is not
+% acceptable, the authors should add to the preamble \emph{after} the
+% call to \progname{babel} the following:
+% \begin{verbatim}
+% \addto\captionsfrench{%
+% \renewcommand{\figurename}{Figure}%
+% \renewcommand{\tablename}{Table}}%
+% \end{verbatim}
+%
+% \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]{ijmart}
+% \usepackage[final]{graphics}
+% \end{verbatim}
+% or add in the beginning of the document
+% \begin{verbatim}
+% \overfullrule=5pt
+% \end{verbatim}
+%
+%
+%
+% \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 |10pt| of
+% \progname{amsart}).
+%
+%
+%
+% The journal uses a special paper size. If you process the
+% manuscript with \progname{pdflatex} to produce PDF output, the paper
+% dimensions will be automatically set up by the class. However, if
+% you use \progname{latex} and \progname{dvips}, you need to tell
+% \progname{dvips} what paper size to choose. One way to do this is
+% to add to the \progname{dvips} options the following:
+% \begin{verbatim}
+% -T 5.964in,8.844in -O -0in,0.1in
+% \end{verbatim}
+%
+%
+%\subsection{Top Matter}
+%\label{sec:top_matter}
+%
+% Top matter contains the information about the paper: authors, title,
+% affiliations, etc. The interface for \progname{ijmart} top matter is very
+% close to the one used by \progname{amsart}. We added a couple of commands to
+% deal with the information specific to the \emph{The Israel Journal of
+% Mathematics} and changed the behavior of several other commands to
+% suit the style of the journal. These changes are documented below.
+%
+% 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.
+%
+%
+%\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. Note that the titles are typeset in
+% upper case, but you do not need to input them in capital letters:
+% the class does the conversion automatically.
+%
+% 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. Unlike
+% \progname{amsart}, \progname{ijmart} allows the command |\thanks|
+% inside |\title| and |\author| commands. However, the footnote
+% belongs to the title typeset in the top matter, not to the running
+% head version. The optional argument in this case helps, as in the
+% following example:
+% \begin{verbatim}
+% \title[Some properties of $\sigma$-algebras]{%
+% Some properties of $\sigma$-algebras\thanks{%
+% The work was supported by grant from NSF No.~123456789-MMMM}}
+% \end{verbatim}
+% The line breaks in the title, if neccessary, are introduced by the
+% command |\linebreak| in the second (mandatory) argument of |\title|:
+% \begin{verbatim}
+% \title[Title with line breaks]{Title \linebreak with line breaks}
+% \end{verbatim}
+%
+%
+%
+%
+% \DescribeMacro{\author} \DescribeMacro{\address}
+% \DescribeMacro{\curraddr} \DescribeMacro{\email}
+% \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|. The lines in the address should be divided by |\\|.
+% Like the newer versions of \progname{amsart}, \progname{ijmart} 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. Similarly to |\title|, the
+% command |\author| allows the use of |\thanks|. Again, to show that
+% the footnote does not belong to the running head, the optional
+% argument is used.
+%
+% \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}
+% As discussed above, the behavior of the |\thanks| command in
+% \progname{ijmart} is different from the one in \progname{amsart}.
+% This command is
+% allowed within the scope of the top matter commands. If it is used
+% in the scope of the main argument of the commands |\author| and
+% |\title|, the optional argument should be used to correctly typeset
+% the running heads.
+%
+% Sometimes it is necessary to have a |\thanks| footnote referring to
+% more than one author. In this case the usual \LaTeX{} command
+% |\footnotemark|\oarg{number} can help:
+% \begin{verbatim}
+% \author{A.~Uthor\thanks{The first and the third author were
+% supported by NSA grant~123456789}
+% \author{W.~Riter\thanks{The second author was supported by NSF
+% grant~987654321}
+% \author{C.~Orrespondent\footnotemark[1]}
+% \address{Noname University\\ Nowhere, RI\\ USA}
+% \email{author@nowhere.edu, writer@nowhere.edu and
+% correspondent@nowhere.edu}
+% \end{verbatim}
+%
+% The command |\title| might have no more than one |\thanks| command
+% in its scope.
+%
+% \DescribeEnv{abstract}
+% The abstract of the paper must be put between |\begin{abstract}| and
+% |\end{abstract}|. Note that to change the abstract name to
+% R\'esum\'e, the authors should use Babel. Similarly to \progname{amsart}
+% class, abstract must precede |\maketitle|.
+%
+% \DescribeMacro{\maketitle}
+% The macro |\maketitle| typesets the top matter. All top matter
+% information should be specified before this command.
+%
+% \DescribeMacro{\tableofcontents}
+% \changes{v1.2}{2007/11/14}{Added documentation for table of contents
+% formatting}
+% The authors are encouraged to include |\tableofcontents| for long
+% papers. By default only the sections are included in the table. If
+% the authors wish to have a more detailed table of contents, they
+% could change the counter |tocdepth|, for example:
+% \begin{verbatim}
+% \setcounter{tocdepth}{1} % The default: only sections are included
+% \setcounter{tocdepth}{2} % Sections and subsections
+% \setcounter{tocdepth}{3} % Sections, subsections and subsubsections
+% ...
+% \end{verbatim}
+% If |tocdepth| is greater than the default value of 1, the formatting
+% of the table of contents changes: the section entries then are
+% typeset bold.
+%
+%
+%\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{\issueinfo}
+% The command |\issueinfo| has the same format as in the \progname{amsart}
+% document class:
+% \begin{flushleft}
+% |\issueinfo{|\meta{volume}|}{|\meta{number}|}{|\meta{month}|}{|\meta{year}|}|
+% \end{flushleft}
+% Note that at present the class uses only the first and the last
+% arguments of this command (volume and year) for the actual typesetting.
+% However, we keep the original format of this command, first, for
+% compatibility reasons, and second, to facilitate a possible automatic
+% processing of journal issues in the future.
+%
+% Example of this command:
+% \begin{verbatim}
+% \issueinfo{159}{1}{January}{2007}
+% \end{verbatim}
+%
+%
+% \DescribeMacro{\pagespan}
+% The command |\pagespan| has two arguments, setting the first and the
+% last page numbers of the article. If the last argument is empty, the last
+% page number is calculated automatically. If the first argument is
+% negative, the page numbering is done in Roman numerals, for example,
+% for editorial materials. Here are examples of this command:
+% \begin{verbatim}
+% \pagespan{5}{15} % Explicit page span
+% \pagespan{5}{} % The last page is calculated automatically
+% \pagespan{-5}{} % Page numbers are Roman numerals v, vi, ...
+% \pagespan{-5}{xx} % Page numbers are Roman numerals v, vi, ..., xx
+% \end{verbatim}
+%
+% \DescribeMacro{\date}
+% The command |\date| is used to put the editorial information
+% about the manuscript, usually the date when the manuscript was
+% received. For example:
+% \begin{verbatim}
+% \date{Received March 12, 2006 and in revised form December 6, 2006.}
+% \end{verbatim}
+%
+% \DescribeMacro{\doiinfo}
+% The command |\doiinfo| is used to specify the DOI number of the
+% article, for example
+% \begin{verbatim}
+% \doiinfo{10.1007/s11856-007-0037-3}
+% \end{verbatim}
+%
+%
+%
+%\subsection{Theorems, Lemmas, etc.}
+% \label{sec:ijmthm_descr}
+%
+% \changes{v1.1}{2007/09/30}{Updated documentation for theorems}
+%
+% The class \progname{amsart} defines three theorem styles: |plain|,
+% |remark| and |definition|. They are redefined by \progname{ijmart}
+% to conform to the style of \emph{The Israel Jorunal of Mathematics.}
+% Otherwise the usage of the theorem-like environments is the same as
+% for \progname{amsart}. Note that \emph{The Israel Journal of
+% Mathematics} usually recommends |definition| style for remarks,
+% while |remark| style is used for steps, facts, cases, etc.
+%
+% \DescribeMacro{\qedhere}
+% The environment |proof| has the same syntax and meaning as for
+% \progname{amsart} package. According to the journal style, the QED
+% symbol in proofs is not flushed left, like in \progname{amsart}, but
+% is typeset at the last line of the proof at some distance from the
+% text. If a proof ends by a nested environment, this might lead to
+% an ugly position of the QED symbol. The command |\qedhere| inside a
+% proof can be used to improve the situaiton\footnote{It is actually
+% defined in \progname{amsart} too, but is not documented in the
+% user's documentation there.}. It causes the immediate typesetting
+% of the QED symbol and deletes the QED symbol at the end of the
+% current proof. For example
+% \begin{verbatim}
+% \begin{proof}
+% This proof ends by an enumerated list:
+% \begin{enumerate}
+% \item Item
+% \item Item \qedhere
+% \end{enumerate}
+% \end{proof}
+% \end{verbatim}
+% Compare this to the similar code without |\qedhere|.
+%
+% The command |\qedhere| should be used if a proof ends by a math
+% display:
+% \begin{verbatim}
+% \begin{proof}
+% This proof ends by a displayed math:
+% \begin{gather}
+% a = b\\
+% c = d\qedhere
+% \end{gather}
+% \end{proof}
+% \end{verbatim}
+% \DescribeMacro{\mqedhere}
+% The exception is the |multline| environment, where the special
+% version |\mqedhere| should be used:
+% \begin{verbatim}
+% \begin{proof}
+% This proof ends with a multline:
+% \begin{multline}
+% 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\mqedhere
+% \end{multline}
+% \end{proof}
+% \end{verbatim}
+%
+%
+% \DescribeEnv{namedprop}
+% \DescribeEnv{namedprop*}
+% Sometimes authors use non-standard names for their theorem-like
+% propositions. The documentation~\cite{amsthdoc} recommends the use
+% of |\newtheorem*|:
+% \begin{verbatim}
+% \newtheorem*{KL}{Klein's Lemma}
+% \end{verbatim}
+% However, if the number of such special environments is large enough,
+% this might be too cumbersome. The package progname{ijmart} provides
+% two environments, |namedprop| and |namedprop*| to define such
+% these propositions on the fly.
+%
+% The environment |namedprop| is used for numbered named propositions
+% (admittedly such propositions are less frequent than unnumbered
+% ones). It has the following syntax:
+% \begin{quote}
+% |\begin{namedprop}|\marg{style}\marg{numbered-as}\marg{name}\oarg{note}\\
+% \dots\\
+% |\end{namedprop}|
+% \end{quote}
+% where |style| is the style of the proposition (|plain|, |remark|,
+% etc.), |nmubered-as| is the name of (already defined) theorem-like
+% environment, that shares the numbering with this proposition, |name|
+% is the name to use instead of ``Theorem'', ``Lemma'', and |note| is
+% the note after the heading. For example,
+% \begin{verbatim}
+% \begin{namedprop}{plain}{thm}{Klein's Lemma}[as restated in~\cite{a-l}]
+% ...
+% \end{namedprop}
+% \end{verbatim}
+%
+% The nevironment |\namedprop*| is used for \emph{unnumbered} named
+% propositions:
+% \begin{quote}
+% |\begin{namedprop*}|\marg{style}\marg{name}\oarg{note}\\
+% \dots\\
+% |\end{namedprop*}|
+% \end{quote}
+% For example,
+% \begin{verbatim}
+% \begin{namedprop*}{plain}{Klein's Lemma}[as restated in~\cite{a-l}]
+% ...
+% \end{namedprop*}
+% \end{verbatim}
+%
+%
+%\subsection{Bibliography}
+%\label{sec:bilbio}
+%
+% The sample paper in the distribution shows the journal style for the
+% list of references. For those authors who wish to use Bib\TeX, the
+% style |ijmart.bst| is included in the distribution. It should be
+% noted that the journal style requires full journal titles in
+% references. Following MathSciNet
+% (\url{http://www.ams.org/mathscinet/} conventions, the style
+% correctly processes article entries with both |journal| and
+% |fjournal| fields, for example
+% \begin{verbatim}
+% @article {MR2663320,
+% AUTHOR = {Farkas, J. Z. and Green, D. M. and Hinow, P.},
+% TITLE = {Semigroup analysis of structured parasite populations},
+% JOURNAL = {Math. Model. Nat. Phenom.},
+% FJOURNAL = {Mathematical Modelling of Natural Phenomena},
+% VOLUME = {5},
+% YEAR = {2010},
+% NUMBER = {3},
+% PAGES = {94--114},
+% ISSN = {0973-5348},
+% MRCLASS = {92D25 (35B35 35Q92 47D06 47N60)},
+% MRNUMBER = {2663320},
+% DOI = {10.1051/mmnp/20105307},
+% URL = {http://dx.doi.org/10.1051/mmnp/20105307},
+% }
+% \end{verbatim}
+% If an entry has only the |journal| field, it is used for the journal
+% title. However, if the entry has also the |fjournal| field, the
+% style assumes that this field contains the full (unabbreviated)
+% title, and uses it for formatting bibliography.
+%
+%\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).
+%
+% Note that the journal uses \progname{dvips} for internal processing.
+% If the authors submit their illustrations in the PNG, JPEG of PDF
+% formats, they are converted to the EPS format by the technical
+% editors. Sometimes this conversion may lead to the loss of quality
+% and resolution. Therefore the authors are advised to submit the
+% illustrations in the EPS format.
+%
+%
+% \StopEventually{%
+% \clearpage
+% \section{Acknowledgements}
+% \label{sec:acks}
+%
+% I am grateful to the editorial staff of \emph{the Israel Journal of
+% Mathematics} for the very careful copy editing of this manuscript
+% and their patient explanations of the requirements of the journal.
+%
+% The Editors of the Journal and our Magnes colleagues wish to thank
+% Professors Moshe Jarden and Gregory Cherlin for writing the original
+% Journal package when the Journal came into the ownership of Magnes
+% Press (in 1991). We would also like to thank Guy Jarden for his
+% meticulous work, and for keeping the IJM package updated throughout
+% the last 15 years.
+%
+% As a result of their efforts, the Journal was not only saved from
+% extinction, but it has expanded and is considered a leader in its
+% field. With the recent change in the production procedure to a more
+% global format, we have moved to another program, building on the
+% sturdy basis which they created.
+%
+% \bibliography{ijmart}
+% \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 |<gobble>| for it.
+% \begin{macrocode}
+%<class>\NeedsTeXFormat{LaTeX2e}
+%<*gobble>
+\ProvidesFile{ijmart.dtx}
+%</gobble>
+%<class>\ProvidesClass{ijmart}
+[2013/06/23 v1.7 Typesetting articles for The Israel Journal of Mathematics]
+% \end{macrocode}
+%
+% \begin{macro}{\@classname}
+% \changes{v0.3}{2007/08/24}{Introduced macro}
+% We also store the current class name in |\@classname|:
+% \begin{macrocode}
+%<class>\def\@classname{ijmart}%
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+% And the driver code:
+% \begin{macrocode}
+%<*gobble>
+\documentclass{ltxdoc}
+\usepackage{array}
+\usepackage{url,amsfonts}
+\usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black,
+ pagecolor=black,urlcolor=black,hyperindex=false]{hyperref}
+\PageIndex
+\CodelineIndex
+\RecordChanges
+\EnableCrossrefs
+\begin{document}
+ \DocInput{ijmart.dtx}
+\end{document}
+%</gobble>
+%<*class>
+% \end{macrocode}
+%
+%
+%\subsection{Options}
+%\label{sec:options}
+%
+% \begin{macro}{\ifijm@french}
+% First, the language option. We do not know whether the author
+% chooses to use \progname{babel}, so we define it in the way, which
+% is compatible with \progname{babel}, but works without it too.
+% \begin{macrocode}
+\newif\ifijm@french
+\ijm@frenchfalse
+\DeclareOption{french}{\ijm@frenchtrue}
+% \end{macrocode}
+% \end{macro}
+%
+% The size-changing options produce a warning:
+% \begin{macrocode}
+\long\def\ijm@size@warning#1{%
+ \ClassWarning{\@classname}{Size-changing option #1 will not be
+ honored}}%
+\DeclareOption{8pt}{\ijm@size@warning{\CurrentOption}}%
+\DeclareOption{9pt}{\ijm@size@warning{\CurrentOption}}%
+\DeclareOption{10pt}{\ijm@size@warning{\CurrentOption}}%
+\DeclareOption{11pt}{\ijm@size@warning{\CurrentOption}}%
+\DeclareOption{12pt}{\ijm@size@warning{\CurrentOption}}%
+% \end{macrocode}
+%
+%
+%
+% 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{ijmart.cfg}{%
+ \ClassInfo{ijmart}{%
+ Loading configuration file ijmart.cfg}}{%
+ \ClassInfo{ijmart}{%
+ Configuration file ijmart.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
+% \begin{macrocode}
+\PassOptionsToClass{10pt}{amsart}
+\LoadClass{amsart}
+% \end{macrocode}
+%
+% A bunch of packages:
+% \begin{macrocode}
+\RequirePackage{ifpdf, fancyhdr, lastpage}
+% \end{macrocode}
+%
+%\subsection{Fonts}
+%\label{sec:fonts}
+%
+% The \progname{amsart} class defines several options for different
+% font sizes (10pt, 11pt, etc). We have just one design size for the
+% articles corresponding to the 10pt option of \progname{amsart}, but
+% with larger |\baselineskip|.
+%
+% \begin{macro}{\@typesizes}
+% \changes{v0.3}{2007/08/23}{Redefined \progname{amsart} defaults}
+% 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{5}{7}\or{6}{8}\or{7}{9}\or{8}{11.2}\or{9}{12.6}%
+ \or{10}{14}% normalsize
+ \or{\@xipt}{15}\or{\@xiipt}{16.8}\or{\@xivpt}{19.8}%
+ \or{\@xviipt}{23.3}\or{\@xxpt}{28}}%
+\normalsize \linespacing=\baselineskip
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%\subsection{Page Dimensions and Paragraphing}
+%\label{sec:page}
+%
+% \begin{macro}{\paperheight}
+% \begin{macro}{\paperwidth}
+% The journal has rather narrow pages:
+% \begin{macrocode}
+\setlength{\paperheight}{636.77bp}
+\setlength{\paperwidth}{429.41bp}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\pdfpaperheight}
+% \begin{macro}{\pdfpaperwidth}
+% \begin{macro}{\pdfvorigin}
+% \begin{macro}{\pdfhorigin}
+% \changes{v0.3}{2007/08/23}{Changed offsets}
+% \changes{v0.4}{2007/09/02}{Changed offsets}
+% If we deal with \progname{pdftex}, we can use this information more
+% creatively. This was inspired by
+% \progname{memoir}~\cite{Wilson04:Memoir}.
+% \begin{macrocode}
+\ifpdf\relax
+ \pdfpageheight=\paperheight
+ \pdfpagewidth=\paperwidth
+ \pdfvorigin=0.9in
+ \pdfhorigin=1in
+\fi
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\headheight}
+% We leave generous header space:
+% \begin{macrocode}
+\setlength{\headheight}{32pt}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\footskip}
+% \changes{v0.3}{2007/08/23}{Redefined}
+% \changes{v0.4}{2007/09/02}{Changed}
+% The footer is slightly larger than in \progname{amsart}
+% \begin{macrocode}
+\setlength{\footskip}{42pt}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \begin{macro}{\topmargin}
+% The top margin is 50 bp:
+% \changes{v0.4}{2007/09/02}{Changed offsets}
+% \begin{macrocode}
+\setlength\topmargin{50bp}
+\addtolength\topmargin{-0.9in}
+\addtolength\topmargin{-\topskip}
+\addtolength\topmargin{-\headsep}
+\@settopoint\topmargin
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\textheight}
+% \changes{v0.4}{2007/09/02}{Changed}
+% This code is similar to the one in~\cite{classes}. |\textheight|
+% is the height of the text including footnotes, but excluding
+% running head and foot. We start with |\paperheight| and subtract
+% margins, running heads and foots:
+% \begin{macrocode}
+\setlength\@tempdima{\paperheight}
+\addtolength\@tempdima{-\topmargin}
+\addtolength\@tempdima{-26bp} % Bottom margin
+\addtolength\@tempdima{-\headheight}
+\addtolength\@tempdima{-\headsep}
+\addtolength\@tempdima{-\footskip}
+\addtolength\@tempdima{-1in}
+% \end{macrocode}
+% We want this length to contain an integer number of lines:
+% \begin{macrocode}
+\divide\@tempdima\baselineskip
+\@tempcnta=\@tempdima
+\setlength\textheight{\@tempcnta\baselineskip}
+% \end{macrocode}
+% Now we take care of the first line height:
+% \begin{macrocode}
+\addtolength\textheight{\topskip}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\evensidemargin}
+% \begin{macro}{\oddsidemargin}
+% The margins on even and odd pages are 43 bp:
+% \begin{macrocode}
+\setlength\evensidemargin{43bp}
+\addtolength{\evensidemargin}{-1in}
+\setlength\oddsidemargin{43bp}
+\addtolength{\oddsidemargin}{-1in}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\textwidth}
+% The way to set up the right margin is slightly different:
+% \begin{macrocode}
+\setlength\textwidth{\paperwidth}
+\addtolength{\textwidth}{-1in}
+\addtolength\textwidth{-\evensidemargin}
+\addtolength\textwidth{-43bp} % right margin
+\@settopoint\textwidth
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\parindent}
+% The paragraph indentation is 1em:
+% \begin{macrocode}
+\setlength\parindent{1em}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%
+%\subsection{Headers}
+%\label{sec:headers}
+%
+%
+% \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}
+%
+% It is easy to set up headers with \progname{fancyhdr}:
+% \begin{macrocode}
+\pagestyle{fancy}
+\fancyhead[LO]{\footnotesize Vol.~\currentvolume, \currentyear}
+\fancyhead[CO]{\footnotesize\shorttitle}
+\fancyhead[RO]{\footnotesize\thepage}
+\fancyhead[LE]{\footnotesize\thepage}
+\fancyhead[CE]{\footnotesize\shortauthors}
+\fancyhead[RE]{\footnotesize Isr. J. Math.}
+\fancyfoot{}
+% \end{macrocode}
+%
+% 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{}%
+ \chead{\tiny%
+ ISRAEL JOURNAL OF MATHEMATICS \textbf{\currentvolume}
+ (\currentyear),
+ \start@page--\end@page\\[0.5ex]
+ DOI: \@doiinfo}%
+ \cfoot{\thepage}}%
+% \end{macrocode}
+%
+%\subsection{Top Matter Macros}
+%\label{sec:top_matter_code}
+%
+% Most top matter macros are defined in \progname{amsart}. Here we
+% just add some new macros and redefine some.
+%
+% \begin{macro}{\author}
+% The macro |\author| provided by \progname{amsart} is almost what
+% we need. ``Almost'' because we want to add author's name(s) to
+% the address list to typeset them together.
+%
+% Another note: \progname{amsart} stores the list of all authors in
+% the macro |\authors|. We need it now only to check whether the
+% list is empty
+% \begin{macrocode}
+\renewcommand{\author}[2][]{%
+ \ifx\@empty\authors
+ \gdef\authors{#2}%
+ \gdef\addresses{\author{#2}}%
+ \else
+ \g@addto@macro\authors{\and#2}%
+ \g@addto@macro\addresses{\and\author{#2}}%
+ \fi
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty\relax
+ \ifx\@empty\shortauthors
+ \gdef\shortauthors{#2}%
+ \else
+ \g@addto@macro\shortauthors{\and#2}%
+ \fi
+ \else
+ \ifx\@empty\shortauthors
+ \gdef\shortauthors{#1}%
+ \else
+ \g@addto@macro\shortauthors{\and#1}%
+ \fi
+ \fi
+}%
+% \end{macrocode}
+%
+%
+% \end{macro}
+%
+%
+% \begin{macro}{abstract}
+% \changes{v0.3}{2007/08/23}{Changed spacing}
+% The following code is mostly from~\cite{Downes04:amsart} with the
+% changes due to our style. The comments are mostly from the same
+% source.
+%
+% {\itshape In AMS-derived document classes, the abstract should be placed
+% before |\maketitle| (otherwise the desired ordering of frontmatter
+% elements cannot be ensured in all cases).}
+% \begin{macrocode}
+\newbox\abstractbox
+% \end{macrocode}
+% {\itshape We start by checking whether |\maketitle| has already been used
+% (in which case it was reset to \cs{relax}); if so, we give a
+% warning that the abstract should be placed before |\maketitle|.}
+% \begin{macrocode}
+\renewenvironment{abstract}{%
+ \ifx\maketitle\relax
+ \ClassWarning{\@classname}{Abstract should precede
+ \protect\maketitle\space in AMS-derived document classes; reported}%
+ \fi
+ \global\setbox\abstractbox=\vtop \bgroup
+ \vglue 10pt plus 6pt minus 6pt%
+ \normalfont\tiny
+ \centering\MakeUppercase{\abstractname}\par%
+ \Small
+ \list{}{\labelwidth\z@
+ \leftmargin3pc \rightmargin\leftmargin
+ \listparindent\normalparindent \itemindent\z@
+ \parsep\z@ \@plus\p@
+% \end{macrocode}
+% {\itshape In order to get equation numbers indented with the rest of the
+% abstract, we have to do this:}
+% \begin{macrocode}
+ \let\fullwidthdisplay\relax
+ }%
+ \item[]%
+}{%
+ \vspace*{-10pt}
+ \endlist\egroup
+% \end{macrocode}
+% {\itshape If the abstract was supposed to be typeset earlier, then
+% \cs{@setabstract} is now equal to \cs{relax}, and we had better
+% drop the contents of the abstract box onto the page immediately, to
+% salvage the situation as best we can.}
+% \begin{macrocode}
+ \ifx\@setabstract\relax \@setabstracta \fi
+}%
+% \end{macrocode}
+%
+% \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{\pagenumbering{arabic}\setcounter{page}{#1}%
+ \def\start@page{#1}%
+ \ifnum\c@page<\z@ \pagenumbering{roman}\setcounter{page}{-#1}%
+ \def\start@page{\romannumeral#1}%
+ \fi%
+ \def\@tempa{#2}%
+ \ifx\@tempa\@empty\def\end@page{\pageref{LastPage}}%
+ \else\def\end@page{#2}\fi}
+\pagespan{1}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\doiinfo}
+% This is the doi number of the article:
+% \begin{macrocode}
+\def\doiinfo#1{\gdef\@doiinfo{#1}}
+\doiinfo{10.1007/s000000000000000000000000}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\thanks}
+% \changes{v0.3}{2007/08/23}{Changed size}
+% The macro |\thanks| is redefined in \progname{amsart}. Here is
+% the adapted original definition from the \LaTeX{} kernel. Note
+% that the footnotes on the title page are typeset in |\small| size,
+% rather than in |\footnotesize|.
+% \begin{macrocode}
+\def\thanks#1{\footnotemark
+ \protected@xdef\thankses{\thankses
+ \protect\footnotetext[\the\c@footnote]{\small#1}}%
+}
+\let\@thanks\@empty
+% \end{macrocode}
+%
+% \end{macro}
+%
+%\subsection{Typesetting Top Matter}
+%\label{sec:maketitle}
+%
+%
+% \begin{macro}{\@maketitle@hook}
+% \changes{v0.3}{2007/08/23}{Changed footnotes formatting}
+% \changes{v1.0}{2007/09/03}{Deleted rlap from footnotemark}
+% The |\@maketitle@hook| is called by |\maketitle| in
+% \progname{amsart}. We use it to a number of redefinitions.
+% \begin{macrocode}
+\def\@maketitle@hook{%
+% \end{macrocode}
+% At this point we collected all authors in |\shortauthors|, so we
+% can uppercase it:
+% \begin{macrocode}
+ \uppercasenonmath\shortauthors
+% \end{macrocode}
+%
+% The footnote numbering on the title page is rather interesting. It
+% is $\ast$, then $\ast\ast$, then $\dagger$, then $\dagger\dagger$,
+% etc.
+% \begin{macrocode}
+ \renewcommand\thefootnote{\ifcase\c@footnote\relax
+ \or\@fnsymbol{1}%
+ \or\@fnsymbol{1}\@fnsymbol{1}%
+ \or\@fnsymbol{2}%
+ \or\@fnsymbol{2}\@fnsymbol{2}%
+ \or\@fnsymbol{3}%
+ \or\@fnsymbol{3}\@fnsymbol{3}%
+ \or\@fnsymbol{4}%
+ \or\@fnsymbol{4}\@fnsymbol{4}%
+ \or\@fnsymbol{5}%
+ \or\@fnsymbol{5}\@fnsymbol{5}%
+ \or\@fnsymbol{6}%
+ \or\@fnsymbol{6}\@fnsymbol{6}%
+ \fi}%
+ \def\@makefnmark{\@textsuperscript{\normalfont\@thefnmark}}%
+ \long\def\@makefntext##1{\noindent\hangindent=2em\hangafter=1
+ \hb@xt@2em{%
+ \hss\@textsuperscript{\normalfont\footnotesize\@thefnmark\space}}##1}%
+ \def\footnoterule{\kern-3pt\hrule width 2in\kern 2.6pt}
+ \setcounter{footnote}{0}%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@adminfootnotes}
+% \progname{amsart} typesets the footnotes \emph{before} typesetting
+% the authors and title. Since we form the footnotes later, we must
+% delay this till the end of the top matter:
+% \begin{macrocode}
+\def\@adminfootnotes{}%
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\andify}
+% In the US the common style for lists is ``Tom, Dick, and Harry''.
+% It is hard-coded into \progname{amsart}. However, our journal
+% style is ``Tom, Dick and Harry'' (is it the British usage?).
+% Therefore we need to redefine the function |\andify|:
+% \begin{macrocode}
+\renewcommand{\andify}{%
+ \nxandlist{\unskip, }{\unskip{} \@@and~}{\unskip{} \@@and~}}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\@@and}
+% Normally the macro |\@@and| is expanded just to 'and'. However,
+% if |french| option is selected, we want the french version:
+% \begin{macrocode}
+\def\@@and{AND}
+\ifijm@french\def\@@and{ET}\fi
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@@by}
+% Same with |\@@by|:
+% \begin{macrocode}
+\def\@@by{BY}
+\ifijm@french\def\@@by{PAR}\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\curraddrname}
+% \begin{macro}{\emailaddrname}
+% \begin{macro}{\urladdrname}
+% The keywords for the specific parts of the address (e-mail,
+% current address, etc.) depend on the language chosen.
+% \begin{macrocode}
+\def\curraddrname{Current address:}%
+\def\emailaddrname{e-mail:}%
+\def\urladdrname{URL:}%
+\ifijm@french
+ \def\curraddrname{Adresse actuelle:}%
+ \def\emailaddrname{courriel:}%
+\fi
+% \end{macrocode}
+%
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \begin{macro}{\@settitle}
+% The title is set in large font uppercase. There is a problem,
+% however: uppercasing title means uppercasing \emph{everything},
+% including thanks! We solve this problem in the following way: we
+% typeset the title twice, once invisibly in the lowercase, and
+% again in uppercase, but without typesetting the footnote text.
+% \begin{macrocode}
+\def\@settitle{%
+ \begin{center}%
+ \makebox[0pt]{\hphantom{\@title}}%
+ \def\thanks##1{\addtocounter{footnote}{-1}\footnotemark}%
+ \uppercasenonmath\@title
+ \Large\baselineskip=14pt\lineskiplimit=2pt\lineskip=2pt\@title%
+ \end{center}}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@setauthors}
+% While we call this macro |\@setauthors|, in fact it is setting the
+% names \emph{and} addresses of the authors.
+%
+% The authors' block is centered:
+% \begin{macrocode}
+\def\@setauthors{\vglue 21pt plus 6pt minus 3pt%
+ \begin{center}%
+% \end{macrocode}
+%
+% We need to properly treat the current address, e-mail and URL of the
+% authors. Note that \progname{amsart} uses an optional first
+% argument to these macros; we silently drop it.
+% \begin{macrocode}
+ \def\curraddr##1##2{\begingroup
+ \@ifnotempty{##2}{\par\curraddrname{}\par
+ ##2\par}\endgroup}%
+ \def\email##1##2{\begingroup
+ \@ifnotempty{##2}{\par\emailaddrname{}~%
+ ##2\par}\endgroup}%
+ \def\urladdr##1##2{\begingroup
+ \@ifnotempty{##2}{\par\urladdrname{}~%
+ ##2\par}\endgroup}%
+% \end{macrocode}
+%
+% We print the word ``by'' only if there is at least one author.
+% I am not sure how it can be that a manuscript has no authors, but
+% has addresses defined. Maybe official editorial?
+% \begin{macrocode}
+ \if\authors\@empty\relax\else{\normalfont\tiny\@@by}\par\medskip
+% \end{macrocode}
+% The authors are typeset in small caps:
+% \begin{macrocode}
+ \def\author##1{{\normalsize\scshape##1}\par\medskip}
+% \end{macrocode}
+% The keyword ``and'' is typeset like ``by'' with large skip:
+% \begin{macrocode}
+ \def\and{\par\bigskip{\normalfont\tiny\@@and}\par\medskip}
+% \end{macrocode}
+% And everything else is typeset in italics:
+% \begin{macrocode}
+ \small\itshape\addresses
+% \end{macrocode}
+% \begin{macrocode}
+ \end{center}}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@maketitle}
+% \changes{v0.3}{2007/08/23}{Changed size for date}
+% We typeset footnotes at the end of the top matter typesetting.
+% Note the larger type size for the |\@date| footnote.
+% \begin{macrocode}
+\let\@origmaketitle=\@maketitle
+\def\@maketitle{\@origmaketitle
+ \thankses
+ \ifx\@date\@empty\else
+ \def\thefootnote{}%
+ \footnotetext{\small\@date}\fi%
+ \gdef\thefootnote{\@arabic\c@footnote}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\enddoc@text}
+% In \progname{amsart} the macro |\enddoc@text| typesets addresses
+% at the end of the document. We do not need it:
+% \begin{macrocode}
+\def\enddoc@text{}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%\subsection{Table of Contents}
+%\label{sec:toc}
+% By default we include in the table of contents only sections:
+% \begin{macrocode}
+\setcounter{tocdepth}{1}
+% \end{macrocode}
+% \begin{macro}{\contentsnamefont}
+% The table of contents is typeset smaller than in
+% \progname{amsart}:
+% \begin{macrocode}
+\renewcommand\contentsnamefont{\scshape\footnotesize}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@starttoc}
+% \changes{v1.2}{2007/11/15}{Redefined}
+% \changes{v1.5}{2010/03/02}{Added |\makeatletter| to make compatible
+% with |babel|}
+% We also rewrite |\@starttoc| to make the type smaller. The
+% comments are again from \progname{amsart}:
+% \begin{macrocode}
+\def\@starttoc#1#2{\begingroup
+ \setTrue{#1}%
+% \end{macrocode}
+% {\itshape Remove the skip after the abstract so that we can
+% substitute another.}
+% \begin{macrocode}
+ \par\removelastskip\vskip\z@skip
+% \end{macrocode}
+% {\itshape The first two arguments of \cs{@startsection} here are
+% special values
+% that cause different internal branches to be taken.}
+%\begin{verbatim}
+% Arguments: {} = name = empty
+% \@M = no number should be used and no table of contents entry
+% \z@ = indent amount
+% 12pt + 12pt = vskip before
+% 6pt = vskip after
+% \centering\contentsnamefont = format
+%\end{verbatim}
+% \begin{macrocode}
+ \@startsection{}\@M\z@{\linespacing\@plus\linespacing}%
+ {.5\linespacing}{\centering\contentsnamefont}{#2}%
+% \end{macrocode}
+% {\itshape If we have a list of figures or list of tables we want to put
+% them in the main table of contents, but we don't want to put an
+% entry there for the main table of contents itself. So we check
+% to see if argument 2 is |\contentsname| and if it is then
+% we refrain from doing |\addcontentsline|.}
+% \begin{macrocode}
+ \ifx\contentsname#2%
+ \else \addcontentsline{toc}{section}{#2}\fi
+% \end{macrocode}
+% We want the table of contents to have the same width as the abstract
+% \begin{macrocode}
+ \list{}{\labelwidth\z@
+ \leftmargin2.4pc \rightmargin\leftmargin
+ \listparindent\z@ \itemindent\z@
+ \parsep\z@ \@plus\p@}%
+ \item[]\makeatletter%
+ \small\@input{\jobname.#1}\endlist%
+ \if@filesw
+ \@xp\newwrite\csname tf@#1\endcsname
+ \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
+ \fi
+ \global\@nobreakfalse \endgroup
+ \addvspace{32\p@\@plus14\p@}%
+ \let\tableofcontents\relax
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@dotsep}
+% Separation between the dots for table of contents:
+% \begin{macrocode}
+\newcommand\@dotsep{4.5}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\@tocline}
+% We want dots in the table of contents\dots
+% \begin{macrocode}
+\def\@tocline#1#2#3#4#5#6#7{\relax
+ \ifnum #1>\c@tocdepth % then omit
+ \else
+ \par \addpenalty\@secpenalty\addvspace{#2}%
+ \begingroup \hyphenpenalty\@M
+ \@ifempty{#4}{%
+ \@tempdima\csname r@tocindent\number#1\endcsname\relax
+ }{%
+ \@tempdima#4\relax
+ }%
+ \parindent\z@ \leftskip#3\relax \advance\leftskip\@tempdima\relax
+ \rightskip\@pnumwidth plus4em \parfillskip-\@pnumwidth
+ #5\leavevmode\hskip-\@tempdima #6\nobreak\relax
+ \leaders\hbox{$\m@th
+ \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+ mu$}\hfill
+ \hbox to\@pnumwidth{\@tocpagenum{#7}}\par
+ \nobreak
+ \endgroup
+ \fi}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\l@section}
+% \changes{v1.2}{2007/11/15}{Redefined to check whether subsections
+% are present}
+% The actual formatting of section entries depend whether
+% subsections are included in toc. If yes, the sections are bold.
+% \begin{macrocode}
+\def\l@section{%
+ \@tocline{1}{0pt}{1pc}{}{%
+ \ifnum\c@tocdepth>1\bfseries\fi}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l@subsection}
+% \begin{macro}{\l@subsubsection}
+% \changes{v1.2}{2007/11/14}{Added indentation}
+% \changes{v1.3}{2008/02/12}{Changed indentation}
+% These entries are indented.
+% \begin{macrocode}
+\def\l@subsection{\@tocline{2}{0pt}{2.8pc}{}{}}
+\def\l@subsubsection{\@tocline{3}{0pt}{4.6pc}{}{}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+%
+%\subsection{Captions}
+%\label{sec:captions}
+%
+% \begin{macro}{\@captionheadfont}
+% \changes{v0.3}{2007/08/23}{Redefined}
+% The captions in \progname{amsart} are in small caps. In this
+% journal they are not:
+% \begin{macrocode}
+\def\@captionheadfont{\normalfont}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%\subsection{Sectioning}
+%\label{sec:sections}
+%
+% \begin{macro}{\@secnumfont}
+% It is possible in \progname{amsart} to have section numbers in the
+% font different from the title font. We do not want this:
+% \begin{macrocode}
+\let\@secnumfont\@empty
+% \end{macrocode}
+%
+% \end{macro}
+%
+% Now we redefine sections. The arguments of the |\@startsection|
+% commands are
+%\begin{verbatim}
+% #1 #2 #3 #4 #5 #6
+% {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
+%\end{verbatim}
+%
+% \begin{macro}{\section}
+% Most sections are not centered, unlike \progname{amsart} ones:
+% \begin{macrocode}
+\def\section{\@startsection{section}{1}%
+ \z@{20pt plus 4pt minus 4pt}{0.5\linespacing}%
+ {\normalfont\bfseries}}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\centeredsection}
+% \changes{v0.3}{2007/08/23}{Added macro}
+% However, there are special centered sections, for example,
+% ``References'':
+% \begin{macrocode}
+\def\centeredsection{\@startsection{section}{1}%
+ \z@{20pt plus 4pt minus 4pt}{0.5\linespacing}%
+ {\normalfont\bfseries\centering}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\subsection}
+% Subsections are in small caps on the line with text.
+% \begin{macrocode}
+\def\subsection{\@startsection{subsection}{2}%
+ \z@{.5\linespacing\@plus.7\linespacing}{-0.5em}%
+ {\normalfont\scshape}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\subsubsection}
+% Subsubsection heads are in italics
+% \begin{macrocode}
+\def\subsubsection{\@startsection{subsubsection}{3}%
+ \z@{.5\linespacing\@plus.7\linespacing}{-0.5em}%
+ {\normalfont\itshape}}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\paragraph}
+% \begin{macro}{\subparagraph}
+% Paragraphs and subparagraphs are in normal font:
+% \begin{macrocode}
+\def\paragraph{\@startsection{paragraph}{4}%
+ \z@\z@{-0.5em}%
+ {\normalfont}}%
+\def\subparagraph{\@startsection{subparagraph}{5}%
+ \z@\z@{-0.5em}%
+ {\normalfont}}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%\begin{macro}{\if@afterindent}
+% \changes{v0.3}{2007/08/23}{Deleted first indent after the section head}
+% The first paragraph after section head is \emph{not} indented,
+% like in standard \LaTeX---but \emph{unlike} \progname{amsart}.
+% The code below is inspired by David Carlisle's package
+% \progname{indentfirst}~\cite{Carlisle95:indentfirst} (of course
+% David wanted to \emph{have} the first indent, and we want
+% the opposite):
+% \begin{macrocode}
+\let\@afterindenttrue\@afterindentfalse
+\@afterindentfalse
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\appendix}
+% \changes{v1.4}{2009/11/10}{Redefined the macro to delete ugly indent
+% in TOC}
+% The standard \progname{amsart} macro |\@tochangmeasure| measures
+% the width of the TOC label for the hanging indentation of TOC
+% entries. However, for appendices this label includes the word
+% ``Appendix'', which leads to an ugly indent of TOC entries.
+% Therefore we stop measuring in appendices:
+% \begin{macrocode}
+\def\appendix{\par\c@section\z@ \c@subsection\z@
+ \let\sectionname\appendixname
+ \def\thesection{\@Alph\c@section}%
+ \def\@tochangmeasure##1{}}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+%
+%\subsection{Theorem Styles}
+%\label{sec:theorem_code}
+%
+% 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}
+%
+%
+%
+% In the |plain| style the name (``theorem'') and number are
+% printed in small caps, the optional note is in
+% upright, and the text is slanted.
+% \begin{macrocode}
+\newtheoremstyle{plain}{0.5\linespacing}{0.5\linespacing}{\slshape}{0pt}%
+ {\scshape}{:}{0.5em}{\thmname{#1}\thmnumber{ #2}\thmnote{\upshape{} (#3)}}
+% \end{macrocode}
+%
+%
+% In the |definition| style the name, the number is slanted, and the
+% text and the note are upright.
+% \begin{macrocode}
+\newtheoremstyle{definition}{0.5\linespacing}{0.5\linespacing}%
+ {\upshape}{0pt}%
+ {\slshape}{:}{0.5em}{\thmname{#1}\thmnumber{ #2}\thmnote{\upshape{} (#3)}}
+% \end{macrocode}
+%
+%
+% In the |remark| style the name and the number are in small caps,
+% the note and the text text is upright.
+% \changes{v0.4}{2007/09/03}{Redefined remark and definition styles:
+% the note is now upright.}
+% \begin{macrocode}
+\newtheoremstyle{remark}{0.5\linespacing}{0.5\linespacing}%
+ {\upshape}{0pt}%
+ {\scshape}{:}{0.5em}{\thmname{#1}\thmnumber{ #2}\thmnote{\upshape{} (#3)}}
+% \end{macrocode}
+%
+%
+%
+% \begin{macro}{proof}
+% \changes{v0.3}{2007/08/23}{Redefined \progname{amsart} defaults}
+% We want to have the word ``proof'' slanted rather than italicized:
+% \begin{macrocode}
+\renewenvironment{proof}[1][\proofname]{\par
+ \pushQED{\qed}%
+ \normalfont \topsep6\p@\@plus6\p@\relax
+ \trivlist
+ \item[\hskip\labelsep
+ \slshape
+ #1\@addpunct{.}]\ignorespaces
+}{%
+ \popQED\endtrivlist\@endpefalse
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\qed}
+% \changes{v0.3}{2007/08/24}{Redefined \progname{amsart} default}
+% \changes{v1.3}{2008/01/27}{Changed math mode branch}
+% Unlike \progname{amsart}, we do not want the QED symbol to be
+% flushed right:
+% \begin{macrocode}
+\DeclareRobustCommand{\qed}{%
+ \leavevmode\unskip\penalty9999 \hbox{}\nobreak
+ \ifmmode
+ \makebox[0pt][l]{\qquad\hbox{\qedsymbol}}%
+ \else
+ \qquad\hbox{\qedsymbol}\fi}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\mqedhere}
+% \changes{v1.3}{2008/01/27}{Introduced the command}
+% Normally |\qedhere| is typeset with zero effective width in math
+% mode to present centering alignment in equations. This presents
+% problems in |multline| environment, where the last line is flushed
+% right, so |\qedhere| would be typeset on the margin. The following
+% command switches to text mode:
+% \begin{macrocode}
+\def\mqedhere{\ensuremath{\text{\qedhere}}}%
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+% \begin{macro}{\qedsymbol}
+% \changes{v0.3}{2007/08/24}{Redefined \progname{amsart} default}
+% The QED symbol itself is a small closed box:
+% \begin{macrocode}
+\def\qedsymbol{\rule[0.47pt]{4pt}{6pt}}%
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\namedprop}
+% \changes{v1.1}{2007/09/30}{Introduced macro}
+% This is the unstarred version of the macro. It calls the command
+% and then closes the group opened by |\namedprop@|
+% \begin{macrocode}
+\newenvironment{namedprop}{%
+ \namedprop@}{%
+ \end{namedprop@thm}%
+ \egroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\namedprop*}
+% \changes{v1.1}{2007/09/30}{Introduced macro}
+% The starred version is similar:
+% \begin{macrocode}
+\newenvironment{namedprop*}{%
+ \namedprop@star@}{%
+ \end{namedprop@thm}%
+ \egroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\namedprop@star@}
+% \changes{v1.1}{2007/09/30}{Introduced macro}
+% The starred version has two mandatory arguments: style and and
+% name, and one optional argument: note.
+% \begin{macrocode}
+\def\namedprop@star@#1#2{%
+ \@ifnextchar[{\namedprop@star@@{#1}{#2}}{\namedprop@star@@{#1}{#2}[]}}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\namedprop@star@@}
+% \changes{v1.1}{2007/09/30}{Introduced macro}
+% This is the command that does the real work:
+% \begin{macrocode}
+\def\namedprop@star@@#1#2[#3]{%
+ \bgroup
+ \let\namedprop@thm\relax
+ \theoremstyle{#1}
+ \newtheorem*{namedprop@thm}{#2}
+ \begin{namedprop@thm}[#3]}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\namedprop@}
+% \changes{v1.1}{2007/09/30}{Introduced macro}
+% This is the unstarred version of the macro. It has three
+% mandatory arguments: style, counter and the name, and one
+% optional argument: the note.
+% \begin{macrocode}
+\def\namedprop@#1#2#3{%
+ \@ifnextchar[{\namedprop@@{#1}{#2}{#3}}{\namedprop@@{#1}{#2}{#3}[]}}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\namedprop@@}
+% \changes{v1.1}{2007/09/30}{Introduced macro}
+% And the real macro:
+% \begin{macrocode}
+\def\namedprop@@#1#2#3[#4]{%
+ \bgroup
+ \let\namedprop@thm\relax
+ \theoremstyle{#1}
+ \newtheorem{namedprop@thm}[#2]{#3}
+ \begin{namedprop@thm}[#4]}
+% \end{macrocode}
+% \end{macro}
+%
+%\subsection{Bibliography}
+%\label{sec:biblio_code}
+%
+% \begin{macro}{\@bibtitlestyle}
+% \changes{v0.3}{2007/08/23}{Redefined to have centered heading}
+% Unlike other section heads, the word ``References'' in the journal
+% is centered:
+% \begin{macrocode}
+\renewcommand{\@bibtitlestyle}{%
+ \@xp\centeredsection\@xp*\@xp{\refname}%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+%\subsection{End of Class}
+%\label{end}
+%
+%
+% \begin{macrocode}
+%</class>
+% \end{macrocode}
+%
+%\Finale
+%\clearpage
+%
+%\PrintChanges
+%\clearpage
+%\PrintIndex
+%
+\endinput