gtart.cls
changeset 23 7b0a43bdd3c4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gtart.cls	Tue Jul 01 04:00:22 2008 +0000
@@ -0,0 +1,502 @@
+%%%%%%%%%%%%%%%%%%          gtart.cls       %%%%%%%%%%%%%%%%%%
+%
+%  Format file for articles written in LaTeX for publication in 
+%  Geometry & Topology and Algebraic & Geometric Topology.
+%
+%  For instructions see gtartins.tex and .ps and .pdf in gt/info/macros
+%
+%                            Version 1.3 
+%
+%%  Check for fairly recent version of latex2e :
+%
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+%
+\LoadClass[11pt]{article}     % Basic style
+\usepackage{amsthm}           % For GT theorem style (see below)
+%
+%  Basic layout :
+%
+\newskip\stdskip                      % standard vertical space
+\stdskip=6.6pt plus3.3pt minus3.3pt    
+%
+\setlength{\textheight}{7.5in}          
+\setlength{\textwidth}{5.2in}         
+\flushbottom                           
+\setlength{\parindent}{0pt}            
+\setlength{\parskip}{\stdskip}
+\setlength{\medskipamount}{\stdskip}
+\setlength{\mathsurround}{0.8pt}     
+\setlength{\labelsep}{0.75em} 
+\newcommand{\stdspace}{\hskip 0.75em plus 0.15em \ignorespaces}
+\let\qua\stdspace  %  useful abbreviation 
+%
+%  Some style commands (\ppar is for principal paragraph breaks, \sh is
+%  for subheadings and \rk for remarks etc -- see also theorem style 
+%  below ) :
+%
+\newcommand{\ppar}{\par\goodbreak\vskip 8pt plus 3pt minus 3pt} 
+\newcommand{\sh}[1]{\penalty-800\ppar{\bf #1}\par\medskip\nobreak}
+\newcommand{\rk}[1]{\ppar{\bf #1}\stdspace}    
+%
+%
+%   Theorem style.  There are two recommended styles :
+%
+%   plain : for theorems, corollaries etc with heading bold
+%   and left justified, optional note bracketed in roman type
+%   and statement in slanted type.
+%
+%   definition : (alias remark)  for definitions, remarks etc with
+%   heading bold and left justified, optional note unbracketed in 
+%   slanted type and statement in roman type.
+%   
+%
+%  Redefine the amsthm styles plain, definition and remark to GT style:
+%
+\newtheoremstyle{plain}{14pt plus6.3pt minus6.3pt}{7.4pt plus3pt minus3pt}%
+{\sl}{}{\bf}{}{0.75em}{\thmname{#1}\thmnumber{ #2}\thmnote{\rm\stdspace(#3)}}
+%
+\newtheoremstyle{definition}{14pt plus6.3pt minus6.3pt}{7.4pt plus3pt minus3pt}%
+{\rm}{}{\bf}{}{0.75em}{\thmname{#1}\thmnumber{ #2}\thmnote{\sl\stdspace#3}}
+%
+\newtheoremstyle{remark}{14pt plus6.3pt minus6.3pt}{7.4pt plus3pt minus3pt}%
+{\rm}{}{\bf}{}{0.75em}{\thmname{#1}\thmnumber{ #2}\thmnote{\sl\stdspace#3}}
+%
+%  Default theorem style :
+\theoremstyle{plain}               
+%
+% Adapt the amsthm proof environment to GT style :
+%
+\renewenvironment{proof}[1][\proofname]{\par
+  \normalfont
+  \topsep\stdskip \trivlist
+  \item[\hskip\labelsep\bf
+    #1]\ignorespaces
+}{%
+  \qed\endtrivlist\par
+}
+%                 Knuth's \square macro :
+%
+\def\sqr#1#2{{\vcenter{\vbox{\hrule  height.#2pt
+	\hbox{\vrule width.#2pt height#1pt \kern#1pt \vrule width.#2pt}
+	\hrule height.#2pt}}}}
+%
+\def\sq{\sqr55}           %    A small square for end-of-proofs. 
+\def\qedsymbol{$\sqr55$}  %   (Define other size squares by varing the
+%                         %   the two numbers.)
+%
+%  Some useful abbreviations :
+%
+\newcommand{\co}{\colon\thinspace}    %  Colon with correct spacing for maps.
+\newcommand{\np}{\newpage}            %  Forced page break (new page).
+\newcommand{\nl}{\hfil\break}         %  New line.
+\newcommand{\cl}{\centerline}         %  Centerline
+\def\gt{{\mathsurround=0pt\it $\cal G\mskip-2mu$eometry \&\ 
+$\cal T\!\!$opology}}                %  The journal title in recommended style
+\def\gtm{{\mathsurround=0pt\it $\cal G\mskip-2mu$eometry \&\ 
+$\cal T\!\!$opology $\cal M\mskip-1mu$onographs}}  %  for monographs
+\def\agt{{\mathsurround=0pt\it$\cal A\mskip-.7mu$lgebraic \&\ 
+$\cal G\mskip-2mu$eometric $\cal T\!\!$opology}}  % AGT
+%
+%  Define the various ingredients of the title page and cope with
+%  all reasonable alternative syntax including amsart and article
+%  style :
+%
+\def\title{\let\\\par\@ifnextchar[\doubletitle\singletitle}
+ \def\doubletitle[#1]#2{\def\thetitle{#2}\def\theshorttitle{#1}}
+ \def\singletitle#1{\def\thetitle{#1}}
+\def\shorttitle#1{\def\theshorttitle{#1}}
+%
+\def\author{\@ifnextchar[\doubleauthor\singleauthor}
+\def\singleauthor#1{\edef\previousauthors{\theauthors}
+ \ifx\theauthors\relax\def\theauthors{#1}\else
+ \def\theauthors{\previousauthors\par#1}\fi}
+\def\doubleauthor[#1]#2{\singleauthor{#2}}
+\let\authors\author\let\secondauthor\author        % aliases
+\def\shortauthors#1{\def\theshortauthors{#1}}
+%
+\def\address#1{{\let\newline\par\xdef\previousaddresses{\theaddress}}
+ \ifx\theaddress\relax\def\theaddress{#1}\else
+ \def\theaddress{\previousaddresses\par\vskip 2pt\par#1}\fi}
+\let\addresses\address                             % alias
+\def\secondaddress#1{{\let\newline\par\xdef\previousaddresses{\theaddress}}
+ \ifx\theaddress\relax\def\theaddress{#1}\else
+ \def\theaddress{\previousaddresses\par{\rm and}\par#1}\fi}   
+%
+\def\email#1{\edef\previousemails{\theemail}
+ \ifx\theemail\relax\def\theemail{#1}\else
+ \def\theemail{\previousemails\hskip 0.75em\relax#1}\fi}
+\let\emails\email\let\emailaddress\email\let\emailaddr\email  % aliases
+\def\secondemail#1{\edef\previousemails{\theemail}
+ \ifx\theemail\relax\def\theemail{#1}\else
+ \def\theemail{\previousemails\hskip 0.75em{\rm and}\hskip 0.75em
+ \relax#1}\fi}
+%
+\def\url#1{\edef\previousurls{\theurl}
+ \ifx\theurl\relax\def\theurl{#1}\else
+ \def\theurl{\previousurls\hskip 0.75em\relax#1}\fi}
+\let\urls\url\let\urladdress\url\let\urladdr\url      % aliases
+\def\secondurl#1{\edef\previousurls{\theurl}
+ \ifx\theurl\relax\def\theurl{#1}\else
+ \def\theurl{\previousurls\hskip 0.75em{\rm and}\hskip 0.75em
+ \relax#1}\fi}
+%
+\long\def\abstract#1\end#2#3\end#4%
+{\expandafter\ifx\csname#2\endcsname\abstract
+\long\gdef\theabstract{#1}\end{abstract}#3\end{#4}\else
+\long\gdef\theabstract{#1\end{#2}#3}\end{abstract}\fi}
+\def\endabstract{\relax}
+%
+\def\primaryclass#1{\def\theprimaryclass{#1}}
+\let\subjclass\primaryclass                        % alias
+\def\secondaryclass#1{\def\thesecondaryclass{#1}}
+\def\keywords#1{\def\thekeywords{#1}}
+%
+%  Set \\ to \par and title page items to \relax to initialise macros :
+%
+\let\\\par\let\thetitle\relax\let\theauthors\relax
+\let\theaddress\relax\let\theemail\relax\let\theurl\relax
+\let\theabstract\relax\let\theprimaryclass\relax
+\let\thesecondaryclass\relax\let\thekeywords\relax
+\let\theshorttitle\relax\let\theshortauthors\relax
+%
+%%%% publication info and test defaults for authors:
+
+\def\volumenumber#1{\def\thevolumenumber{#1}}
+\def\volumename#1{\def\thevolumename{#1}}
+\def\volumeyear#1{\def\thevolumeyear{#1}}
+\def\pagenumbers#1#2{\def\startpage{#1}\def\finishpage{#2}}
+\def\published#1{\def\publishdate{#1}}
+
+\volumenumber{X}
+\volumename{Volume name goes here}
+\volumeyear{20XX}
+\pagenumbers{1}{XXX}
+\published{XX Xxxember 20XX}
+%
+%
+%   Basic title page layout (edit this macro if you
+%   wish to adjust the title page layout) :
+%
+\long\def\maketitlepage{    % start of definition of \maketitlepage
+%
+\vglue 0.2truein   % top margin
+%
+% title :
+{\parskip=0pt\leftskip 0pt plus 1fil\def\\{\par\smallskip}{\Large
+\bf\thetitle}\par\medskip}   
+%
+\vglue 0.15truein  % space below title
+%
+% authors :
+{\parskip=0pt\leftskip 0pt plus 1fil\def\\{\par}{\sc\theauthors}
+\par\medskip} 
+%
+\vglue 0.1truein   % space below author(s)
+%
+% address(es) email's and URL's (with switches to detect whether the
+% optional items have been used) :
+{\parskip=0pt\small\let\newline\\
+{\leftskip 0pt plus 1fil\def\\{\par}{\sl\theaddress}\par}
+\ifx\theemail\relax\else  % email address?
+\vglue 5pt \def\\{\ \ {\rm and}\ \ } 
+\cl{Email:\ \ \tt\theemail}\fi
+\ifx\theurl\relax\else    % URL given?
+\vglue 5pt \def\\{\ \ {\rm and}\ \ } 
+\cl{URL:\ \ \tt\theurl}\fi\par}
+%
+\vglue 7pt         % space below addresses
+%
+%  Abstract:
+{\bf Abstract}\vglue 5pt\theabstract
+%
+\vglue 9pt         % space below abstract
+%
+%  AMS numbers and keywords:
+{\bf AMS Classification numbers}\quad Primary:\quad \theprimaryclass\par
+Secondary:\quad \thesecondaryclass\vglue 5pt
+{\bf Keywords:}\quad \thekeywords
+%
+\np  % page break at the end of the title page
+}    % end of definition of \maketitlepage
+%
+%
+%
+\long\def\makeshorttitle{    % start of definition of \makeshorttitle
+%
+% title :
+%
+{\parskip=0pt\leftskip 0pt plus 1fil\def\\{\par\smallskip}{\Large
+\bf\thetitle}\par\medskip}   
+
+\vglue 0.05truein 
+
+% authors :
+%
+{\parskip=0pt\leftskip 0pt plus 1fil\def\\{\par}{\sc\theauthors}
+\par\medskip}%
+ 
+\vglue 0.03truein 
+
+% address(es) email's and URL's (with switches to detect whether the
+% optional items have been used) :
+%
+{\small\parskip=0pt
+{\leftskip 0pt plus 1fil\def\\{\par}{\sl\theaddress}\par}
+\ifx\theemail\relax\else  % email address?
+\vglue 5pt \def\\{\stdspace{\rm and}\stdspace} 
+\cl{Email:\stdspace\tt\theemail}\fi
+\ifx\theurl\relax\else    % URL given?
+\vglue 5pt \def\\{\stdspace{\rm and}\stdspace} 
+\cl{URL:\stdspace\tt\theurl}\fi\par}
+
+\vglue 10pt 
+
+{\small\leftskip 25pt\rightskip 25pt{\bf Abstract}\stdspace\theabstract
+
+{\bf AMS Classification}\stdspace\theprimaryclass
+\ifx\thesecondaryclass\relax\else; \thesecondaryclass\fi\par
+{\bf Keywords}\stdspace \thekeywords\par}
+\vglue 7pt
+}    % end of definition of \makeshorttitle
+%
+\let\maketitle\makeshorttitle      %% alias
+%
+\long\def\makegtmontitle{   % start of definition of \makegtmontitle
+
+\count0=\startpage
+
+\gtm\nl        %   GT mongraphs (top left) 
+{\small Volume \thevolumenumber: \thevolumename\nl 
+Pages \startpage--\finishpage\nl}
+
+\vglue 0.1truein   % top margin
+
+% title
+{\parskip=0pt\leftskip 0pt plus 1fil\def\\{\par\smallskip}{\Large
+\bf\thetitle}\par\medskip}   
+\vglue 0.05truein 
+
+% authors :
+%
+{\parskip=0pt\leftskip 0pt plus 1fil\def\\{\par}{\sc\theauthors}
+\par\medskip}%
+ 
+\vglue 0.03truein 
+
+%  abstract and classification numbers:
+
+{\small\leftskip 25pt\rightskip 25pt{\bf Abstract}\stdspace\theabstract
+
+{\bf AMS Classification}\stdspace\theprimaryclass
+\ifx\thesecondaryclass\relax\else; \thesecondaryclass\fi\par
+{\bf Keywords}\stdspace \thekeywords\par}\vglue 7pt
+
+}   % end of definition of \makegtmontitle
+%
+\long\def\makeagttitle{   %%% start of definition of \makeagttitle
+\agt\hfill      %   Journal title (top left) 
+%   logo placeholder (top right)
+\hbox to 60pt{\vbox to 0pt{\vglue -14pt{\normalsize \bf [Logo here]}\vss}\hss}
+%
+\break
+{\small Volume \thevolumenumber\ (\thevolumeyear)
+\startpage--\finishpage\nl
+Published: \publishdate}
+
+\vglue .25truein
+
+% title
+{\parskip=0pt\leftskip 0pt plus
+1fil\def\\{\par\smallskip}{\Large\bf\thetitle}\par\medskip} \vglue
+0.05truein
+
+% authors :
+%
+{\parskip=0pt\leftskip 0pt plus 1fil\def\\{\par}{\sc\theauthors}
+\par\medskip}%
+ 
+\vglue 0.03truein 
+
+%  abstract and classification numbers:
+
+{\small\leftskip 25pt\rightskip 25pt{\bf Abstract}\stdspace\theabstract
+
+{\bf AMS Classification}\stdspace\theprimaryclass
+\ifx\thesecondaryclass\relax\else; \thesecondaryclass\fi\par
+{\bf Keywords}\stdspace \thekeywords\par}\vglue 7pt
+
+}   %%%% end of definition of \makeagttitle
+%
+%%%% for addresses at the end of the paper:
+\def\Addresses{\bigskip
+{\small \parskip 0pt \leftskip 0pt \rightskip 0pt plus 1fil \def\\{\par}
+\sl\theaddress\par\medskip \rm Email:\stdspace\tt\theemail\par
+\ifx\theurl\relax\else\smallskip \rm URL:\stdspace\tt\theurl\par\fi}}
+
+\def\agtart{%   Full mock-up of AGT article style (for authors to test with)
+%  get print centerpage:
+\headsep 23pt
+\footskip 35pt
+\hoffset -4truemm
+\voffset 12.5truemm
+%  fonts for headline and footline
+\font\lhead=cmsl9 scaled 1050
+\font\lnum=cmbx10 
+\font\lfoot=cmsl9 scaled 1050
+%  headline and footline
+\def\@oddhead{{\small\lhead\ifnum\count0=\startpage ISSN numbers
+are printed here\hfill {\lnum\number\count0}\else\ifodd\count0
+\def\\{ }\ifx\theshorttitle\relax \thetitle \else\theshorttitle\fi\hfill
+{\lnum\number\count0}\else\def\\{ and }{\lnum\number\count0}
+\hfill\ifx\theshortauthors\relax 
+\theauthors\else\theshortauthors\fi\fi\fi}}\def\@evenhead{\@oddhead}
+\def\@oddfoot{\small\lfoot\ifnum\count0=\startpage Copyright
+declaration is printed here\hfill\else
+\agt, Volume \thevolumenumber\ (\thevolumeyear)\hfill\fi}
+\def\@evenfoot{\@oddfoot}
+%  force \makeagttitle
+\let\maketitlepage\makeagttitle\let\maketitle\makeagttitle
+\let\makeshorttitle\makeagttitle}
+%
+\def\gtmonart{%   Full mock-up of GT monograph style (for authors to test with)
+%  get print centerpage:
+\headsep 23pt
+\footskip 35pt
+\hoffset -4truemm
+\voffset 12.5truemm
+%  fonts for headline and footline
+\font\lhead=cmsl9 scaled 1050
+\font\lnum=cmbx10 
+\font\lfoot=cmsl9 scaled 1050
+%  headline and footline
+\def\@oddhead{{\small\lhead\ifnum\count0=\startpage ISSN numbers
+are printed here\hfill {\lnum\number\count0}\else\ifodd\count0
+\def\\{ }\ifx\theshorttitle\relax \thetitle \else\theshorttitle\fi\hfill
+{\lnum\number\count0}\else\def\\{ and }{\lnum\number\count0}
+\hfill\ifx\theshortauthors\relax 
+\theauthors\else\theshortauthors\fi\fi\fi}}\def\@evenhead{\@oddhead}
+\def\@oddfoot{\small\lfoot\ifnum\count0=\startpage Copyright
+declaration is printed here\hfill\else
+\gtm, Volume \thevolumenumber\ (\thevolumeyear)\hfill\fi}
+\def\@evenfoot{\@oddfoot}
+%  force \makegtmontitle
+\let\maketitle\makegtmontitle\let\makeshorttitle\makegtmontitle
+\let\maketitlepage\makegtmontitle}
+%
+\def\gtart{%   Full mock-up of GT article style (for authors to test with)
+%  get print centerpage:
+\headsep 23pt
+\footskip 35pt
+\hoffset -4truemm
+\voffset 12.5truemm
+%  fonts for headline and footline
+\font\lhead=cmsl9 scaled 1050
+\font\lnum=cmbx10 
+\font\lfoot=cmsl9 scaled 1050
+%  headline and footline
+\def\@oddhead{{\small\lhead\ifnum\count0=\startpage ISSN numbers
+are printed here\hfill {\lnum\number\count0}\else\ifodd\count0
+\def\\{ }\ifx\theshorttitle\relax \thetitle \else\theshorttitle\fi\hfill
+{\lnum\number\count0}\else\def\\{ and }{\lnum\number\count0}
+\hfill\ifx\theshortauthors\relax 
+\theauthors\else\theshortauthors\fi\fi\fi}}\def\@evenhead{\@oddhead}
+\def\@oddfoot{\small\lfoot\ifnum\count0=\startpage Copyright
+declaration is printed here\hfill\else
+\gt, Volume \thevolumenumber\ (\thevolumeyear)\hfill\fi}
+\def\@evenfoot{\@oddfoot}
+%  force \maketitlepage
+\let\maketitle\maketitlepage\let\makeshorttitle\maketitlepage}
+%
+%  A few definitions to adapt (or disable) various items from amsart 
+%  style (not already covered above) :
+%
+\def\@message#1{\immediate\write16{#1}}
+\def\thanks#1{\@message{ }
+\@message{Thanks should not appear on the title page.}
+\@message{Please give thanks as acknowledgements at the end of your 
+introduction.}\@message{ }\relax}
+\def\dedicatory#1{\@message{ }
+\@message{Dedications should not appear on the title page.}
+\@message{Please give these with your acknowledgements at the end of your 
+introduction.}\@message{ }\relax}
+\def\bysame{\leavevmode\hbox to3em{\hrulefill}\thinspace}
+%
+%   End of macros for basic title page layout
+%
+%
+%   Some hacks to get various items of style correct :
+%
+%   Set footnotes in 10pt type:
+%
+\let\@footnote@\footnote
+\def\footnote#1{\@footnote@{\small #1}}
+\let\fnote\footnote    % useful abbreviation for \footnote
+%
+%  Set captions in 10pt type  (hack of excerpt from latex.ltx) :
+%
+\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname
+  ext@#1\endcsname}{#1}{\protect\numberline{\csname
+  the#1\endcsname}{\ignorespaces #2}}\begingroup
+    \@parboxrestore
+    \small
+    \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
+  \endgroup}
+%
+%  Command to suppress the colon in captions (hack from article.cls) :
+%
+\def\nocolon{%
+\long\def\@makecaption##1##2{%
+  \vskip\abovecaptionskip
+  \sbox\@tempboxa{##1##2}%
+  \ifdim \wd\@tempboxa >\hsize
+    ##1##2\par
+  \else
+    \global \@minipagefalse
+    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
+  \fi
+  \vskip\belowcaptionskip}}
+%
+%
+%  Set displayskips to correct values :
+%
+\let\@document@\document
+\def\document{\@document@%
+\setlength{\abovedisplayskip}{\stdskip}
+\setlength{\belowdisplayskip}{\stdskip}}  
+%
+%
+%  Get the biblio style correct (10pt with small gaps):
+%
+\let\@thebibliography@\thebibliography
+\def\thebibliography#1 {\@thebibliography@{999}\small\parskip0pt % 
+plus2pt\relax}
+%
+%
+%  Get item spacing reasonable :
+%
+\let\@itemize@\itemize
+\def\itemize{\@itemize@\parskip 0pt\relax}
+\def\@listi{\leftmargin28.5pt\parsep 0pt\topsep 0pt 
+ \itemsep4pt plus3pt minus2pt}
+\let\@listI\@listi
+\@listi
+%
+\def\items{\bgroup\itemize}             % for comptibility 
+\def\enditems{\enditemize\egroup}       % with gtmacros 
+\let\itemb\item                         % (plain tex format)
+%
+%  Get enumeration labels like plain or amstex :
+%
+\renewcommand{\labelenumi}{{\rm (\theenumi)}}
+%
+%  and spacing to match \itemize: 
+%
+\let\@enumerate@\enumerate
+\def\enumerate{\@enumerate@\parskip 0pt\relax}
+%
+\endinput
+%
+% History:
+% Version 1.1:  14 December 97   
+% Version 1.2:  (update for AGT) 18 October 00
+% Version 1.3:  \gtart, \makegtmontitle and \gtmonart added 5.01.01
\ No newline at end of file