summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/pinlabel/src/gtpart.cls
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/pinlabel/src/gtpart.cls')
-rw-r--r--macros/latex/contrib/pinlabel/src/gtpart.cls818
1 files changed, 818 insertions, 0 deletions
diff --git a/macros/latex/contrib/pinlabel/src/gtpart.cls b/macros/latex/contrib/pinlabel/src/gtpart.cls
new file mode 100644
index 0000000000..609dbbfc76
--- /dev/null
+++ b/macros/latex/contrib/pinlabel/src/gtpart.cls
@@ -0,0 +1,818 @@
+%%%%%%%%%%%%%%%%% gtpart.cls %%%%%%%%%%%%%%%%%%
+%
+% Format file for articles written in LaTeX for publication in
+% Geometry & Topology Publications. This version inputs hyperref
+% and uses Times fonts where possible. It is for use from 2006
+% onwards. It is common to GT, AGT and GTM, uses MSP metadata
+% format and duplicates as far as practicable MSP style.
+%
+% Colin Rourke, December 2006
+%
+% For full instructions see gtpartdoc.pdf (available from the same
+% directory as this file).
+%
+% (gtart.cls v1.6 -- hyperref + times + MSP metadata)
+%
+%% Check for fairly recent version of latex2e :
+%
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+%
+\LoadClass[11pt]{article}
+\usepackage{amsthm,amssymb}
+\usepackage[leqno]{amsmath}
+\newif\ifmicrotype
+\DeclareOption{microtype}{\microtypetrue}
+\ProcessOptions\relax
+\AtBeginDocument{%
+ \def\tempaa{\thesection.\arabic{equation}}%
+ \ifx\theequation\tempaa
+ \def\theequation{\thesection\hbox{--}\arabic{equation}}%
+ \fi
+ \ifmicrotype
+ \RequirePackage{microtype}%
+ \DeclareMicrotypeAlias{mnt}{ptm}%
+ \fi
+ \DeclareMathSizes{10} {10} {7}{6}% from msp.cls
+ \DeclareMathSizes{10.95}{10.95}{8}{6}% from msp.cls
+}
+%
+% Times fonts and Times math symbols
+%
+\renewcommand{\sfdefault}{cmr}
+\DeclareFontFamily{OT1}{ptm}{}
+\DeclareFontShape{OT1}{ptm}{m}{n} { <-> ptmr}{}
+\DeclareFontShape{OT1}{ptm}{m}{it}{ <-> ptmri}{}
+\DeclareFontShape{OT1}{ptm}{m}{sl}{ <->ptmro}{}
+\DeclareFontShape{OT1}{ptm}{m}{sc}{ <-> ptmrc}{}
+\DeclareFontShape{OT1}{ptm}{b}{n} { <-> ptmb}{}
+\DeclareFontShape{OT1}{ptm}{b}{it}{ <-> ptmbi}{}
+\DeclareFontShape{OT1}{ptm}{bx}{n} {<->ssub * ptm/b/n}{}
+\DeclareFontShape{OT1}{ptm}{bx}{it}{<->ssub * ptm/b/it}{}
+\def\rmdefault{ptm}
+\DeclareSymbolFont{bold}{OT1}{ptm}{b}{n}
+\DeclareMathAlphabet{\mathbf}{OT1}{ptm}{b}{n}
+\DeclareMathAlphabet{\mathrm}{OT1}{ptm}{m}{n}
+\let\bBB=\mathbb
+\let\Bbb=\mathbb
+%
+\DeclareFontFamily{OT1}{psy}{}
+\DeclareFontShape{OT1}{psy}{m}{n}{ <-> s * [0.9] psyr}{}
+%
+\DeclareFontFamily{OMS}{ptm}{}
+\DeclareFontShape{OMS}{ptm}{m}{n}{ <8> <9> <10> gen * cmsy }{}
+\DeclareFontFamily{OMS}{cmtt}{}
+\DeclareFontShape{OMS}{cmtt}{m}{n}{ <8> <9> <10> gen * cmsy }{}
+
+\SetSymbolFont{operators}{normal}{OT1}{ptm}{m}{n}
+\SetSymbolFont{operators}{bold}{OT1}{ptm}{b}{n}
+%
+\DeclareSymbolFont{emsy}{OT1}{ptm}{m}{it}
+\DeclareSymbolFont{emsr}{OT1}{ptm}{m}{n}
+\DeclareSymbolFont{emcmr}{OT1}{cmr}{m}{n}
+\DeclareSymbolFont{emsymb}{OT1}{psy}{m}{n}
+%
+\DeclareMathSymbol a{\mathalpha}{emsy}{"61}
+\DeclareMathSymbol b{\mathalpha}{emsy}{"62}
+\DeclareMathSymbol c{\mathalpha}{emsy}{"63}
+\DeclareMathSymbol d{\mathalpha}{emsy}{"64}
+\DeclareMathSymbol e{\mathalpha}{emsy}{"65}
+\DeclareMathSymbol f{\mathalpha}{emsy}{"66}
+\DeclareMathSymbol g{\mathalpha}{emsy}{"67}
+\DeclareMathSymbol h{\mathalpha}{emsy}{"68}
+\DeclareMathSymbol i{\mathalpha}{emsy}{"69}
+\DeclareMathSymbol j{\mathalpha}{emsy}{"6A}
+\DeclareMathSymbol k{\mathalpha}{emsy}{"6B}
+\DeclareMathSymbol l{\mathalpha}{emsy}{"6C}
+\DeclareMathSymbol m{\mathalpha}{emsy}{"6D}
+\DeclareMathSymbol n{\mathalpha}{emsy}{"6E}
+\DeclareMathSymbol o{\mathalpha}{emsy}{"6F}
+\DeclareMathSymbol p{\mathalpha}{emsy}{"70}
+\DeclareMathSymbol q{\mathalpha}{emsy}{"71}
+\DeclareMathSymbol r{\mathalpha}{emsy}{"72}
+\DeclareMathSymbol s{\mathalpha}{emsy}{"73}
+\DeclareMathSymbol t{\mathalpha}{emsy}{"74}
+\DeclareMathSymbol u{\mathalpha}{emsy}{"75}
+\DeclareMathSymbol v{\mathalpha}{emsy}{"76}
+\DeclareMathSymbol w{\mathalpha}{emsy}{"77}
+\DeclareMathSymbol x{\mathalpha}{emsy}{"78}
+\DeclareMathSymbol y{\mathalpha}{emsy}{"79}
+\DeclareMathSymbol z{\mathalpha}{emsy}{"7A}
+\DeclareMathSymbol A{\mathalpha}{emsy}{"41}
+\DeclareMathSymbol B{\mathalpha}{emsy}{"42}
+\DeclareMathSymbol C{\mathalpha}{emsy}{"43}
+\DeclareMathSymbol D{\mathalpha}{emsy}{"44}
+\DeclareMathSymbol E{\mathalpha}{emsy}{"45}
+\DeclareMathSymbol F{\mathalpha}{emsy}{"46}
+\DeclareMathSymbol G{\mathalpha}{emsy}{"47}
+\DeclareMathSymbol H{\mathalpha}{emsy}{"48}
+\DeclareMathSymbol I{\mathalpha}{emsy}{"49}
+\DeclareMathSymbol J{\mathalpha}{emsy}{"4A}
+\DeclareMathSymbol K{\mathalpha}{emsy}{"4B}
+\DeclareMathSymbol L{\mathalpha}{emsy}{"4C}
+\DeclareMathSymbol M{\mathalpha}{emsy}{"4D}
+\DeclareMathSymbol N{\mathalpha}{emsy}{"4E}
+\DeclareMathSymbol O{\mathalpha}{emsy}{"4F}
+\DeclareMathSymbol P{\mathalpha}{emsy}{"50}
+\DeclareMathSymbol Q{\mathalpha}{emsy}{"51}
+\DeclareMathSymbol R{\mathalpha}{emsy}{"52}
+\DeclareMathSymbol S{\mathalpha}{emsy}{"53}
+\DeclareMathSymbol T{\mathalpha}{emsy}{"54}
+\DeclareMathSymbol U{\mathalpha}{emsy}{"55}
+\DeclareMathSymbol V{\mathalpha}{emsy}{"56}
+\DeclareMathSymbol W{\mathalpha}{emsy}{"57}
+\DeclareMathSymbol X{\mathalpha}{emsy}{"58}
+\DeclareMathSymbol Y{\mathalpha}{emsy}{"59}
+\DeclareMathSymbol Z{\mathalpha}{emsy}{"5A}
+\DeclareMathSymbol{\bullet}{\mathalpha}{emsymb}{"B7}
+\DeclareMathSymbol{\regis}{\mathalpha}{emsymb}{"D2}
+\def\Bullet{\leavevmode\unkern{$\m@th\bullet$}\kern.32em\ignorespaces}
+\def\Regis{\leavevmode\raise.5ex\hbox{$\m@th\regis$}}
+\DeclareMathSymbol +{\mathbin}{emcmr}{`+}
+\DeclareMathSymbol ={\mathrel}{emcmr}{`=}
+\DeclareMathSymbol{\Gamma}{\mathalpha}{emcmr}{"00}
+\DeclareMathSymbol{\Delta}{\mathalpha}{emcmr}{"01}
+\DeclareMathSymbol{\Theta}{\mathalpha}{emcmr}{"02}
+\DeclareMathSymbol{\Lambda}{\mathalpha}{emcmr}{"03}
+\DeclareMathSymbol{\Xi}{\mathalpha}{emcmr}{"04}
+\DeclareMathSymbol{\Pi}{\mathalpha}{emcmr}{"05}
+\DeclareMathSymbol{\Sigma}{\mathalpha}{emcmr}{"06}
+\DeclareMathSymbol{\Upsilon}{\mathalpha}{emcmr}{"07}
+\DeclareMathSymbol{\Phi}{\mathalpha}{emcmr}{"08}
+\DeclareMathSymbol{\Psi}{\mathalpha}{emcmr}{"09}
+\DeclareMathSymbol{\Omega}{\mathalpha}{emcmr}{"0A}
+\DeclareMathSizes{7.6}{8}{6}{5}
+%
+% some accents and useful symbols (from L'Ensiegnment class file)
+%
+\def\`#1{{\accent"12 #1}} % grave accent
+\def\H#1{{\accent"CD #1}} % double acute accent
+\chardef\J="11
+\def\j{{\sf\J}} % j without dot
+\chardef\AA="C8 % Angstrom
+\chardef\gbp="A3 % pound sign
+\chardef\TIL="81 % tilde on line
+\chardef\endash="B1
+\chardef\emdash="D0
+\chardef\pourmille="BD % %sign
+\chardef\aoben="E3 % ^a
+\chardef\ooben="EB % ^o
+\def\S{\leavevmode\unkern{\char"A7}\kern.1em\ignorespaces}
+\def\D#1{{\accent"C7 #1}} % overdot
+\DeclareMathAccent{\dot}{\mathalpha}{operators}{"C7} % ditto math mode
+%
+% double diamond brackets, usage: \og TEXTE \fg or {\og}TEXTE{\fg}
+%
+\def\og{{\char"AB}\kern.15em}
+\def\fg{\relax\ifhmode\unskip\kern.15em\fi{\char"BB}}
+%
+% Polish cedilla:
+%
+\def\cedpol#1{\setbox0=\hbox{#1}\ifdim\ht0=1ex \accent"CE #1%
+ \else{\ooalign{\hidewidth\char"CE\hidewidth\crcr\unhbox0}}\fi}
+%
+% endgame (MUST COME BEFORE hyperref)
+%
+\AtEndDocument{{\small\parskip 0pt\vskip11pt minus 5pt\relax
+{\sl \def\\{\futurelet\next\nocommawithnl}\def\nocommawithnl
+ {\ifx\next\newline\else\unskip,\space\ignorespaces\fi}
+ \theaddress\par}
+{\rightskip0pt plus .4\hsize
+{\def\tempab{}\tt\def~{\lower3.5pt\hbox{\char'176}}\def\_{\char'137}%
+\ifx\theemail\tempab\else
+ \vskip5pt minus 3pt\theemail\par\fi
+ \ifx\theurl\tempab\else
+ \vskip5pt minus 3pt\theurl\par\fi}
+ \vskip11pt minus 5pt
+ \def\tempab{}\ifx\receiveddate\tempab\else Received:\qua\receiveddate\fi
+ \ifx\reviseddate\tempab\else\qquad Revised:\qua \reviseddate\fi\par}}}
+%
+% hyperref stuff
+%
+\usepackage{hyperref}
+\hypersetup{%
+ bookmarksnumbered=true,%
+ bookmarks=true,%
+ colorlinks=true,%
+ linkcolor=blue,%
+ citecolor=blue,%
+ filecolor=blue,%
+ menucolor=blue,%
+ pagecolor=blue,%
+ urlcolor=blue,%
+ pdfnewwindow=true,%
+ pdfstartview=FitBH}
+%
+% \arxiv and \MR are for use in the biblio eg:
+% \arxiv{math.GT/0102334} \MR{2002j:32027}
+%
+\def\arxiv#1{\relax\ifhmode\unskip\qua\fi
+ \href{http://arxiv.org/abs/#1}%
+{\tt arXiv:\penalty -100\unskip#1}}
+\let\arXiv\arxiv
+\def\MR#1{\relax\ifhmode\unskip\qua\fi
+ \href{http://www.ams.org/mathscinet-getitem?mr=#1}{MR#1}}
+%
+\def\xox#1{\csname xx#1\endcsname} %%% used by
+\let\xxarXiv\arxiv\let\xxMR\MR %%% gtart.bst
+\def\xxZBL#1{}
+\def\xxJFM#1{}
+\def\@url#1{{\tt\def~{\lower3.5pt\hbox{\char'176}}\def\_{\char'137}#1}}
+\let\fullref\autoref
+%
+% \autoref is very crude. It uses counters to distinguish environments
+% so that if say {lemma} uses the {theorem} counter, then autrorefs
+% which should come out Lemma X.Y in fact come out Theorem X.Y. To
+% correct this give each its own counter eg:
+% \newtheorem{theorem}{Theorem}[section]
+% \newtheorem{lemma}{Lemma}[section]
+% and then equate the counters by commands like:
+% \makeatletter
+% \let\c@lemma\c@theorem
+% \makeatother
+%
+% To work correctly the environment name must have a corrresponding
+% \XXXautorefname defined. The following command does the job:
+%
+\def\makeautorefname#1#2{\expandafter\def\csname#1autorefname\endcsname{#2}}
+%
+% Some standard autorefnames. If the environment name for an autoref
+% you need is not listed below, add a similar line to your TeX file:
+%
+\makeautorefname{equation}{Equation}%
+\makeautorefname{footnote}{footnote}%
+\makeautorefname{item}{item}%
+\makeautorefname{figure}{Figure}%
+\makeautorefname{table}{Table}%
+\makeautorefname{part}{Part}%
+\makeautorefname{appendix}{Appendix}%
+\makeautorefname{chapter}{Chapter}%
+\makeautorefname{section}{Section}%
+\makeautorefname{subsection}{Section}%
+\makeautorefname{subsubsection}{Section}%
+\makeautorefname{paragraph}{Paragraph}%
+\makeautorefname{subparagraph}{Paragraph}%
+\makeautorefname{theorem}{Theorem}%
+\makeautorefname{theo}{Theorem}%
+\makeautorefname{thm}{Theorem}%
+\makeautorefname{addendum}{Addendum}%
+\makeautorefname{addend}{Addendum}%
+\makeautorefname{add}{Addendum}%
+\makeautorefname{maintheorem}{Main theorem}%
+\makeautorefname{mainthm}{Main theorem}%
+\makeautorefname{corollary}{Corollary}%
+\makeautorefname{corol}{Corollary}%
+\makeautorefname{coro}{Corollary}%
+\makeautorefname{cor}{Corollary}%
+\makeautorefname{lemma}{Lemma}%
+\makeautorefname{lemm}{Lemma}%
+\makeautorefname{lem}{Lemma}%
+\makeautorefname{sublemma}{Sublemma}%
+\makeautorefname{sublem}{Sublemma}%
+\makeautorefname{subl}{Sublemma}%
+\makeautorefname{proposition}{Proposition}%
+\makeautorefname{proposit}{Proposition}%
+\makeautorefname{propos}{Proposition}%
+\makeautorefname{propo}{Proposition}%
+\makeautorefname{prop}{Proposition}%
+\makeautorefname{property}{Property}
+\makeautorefname{proper}{Property}
+\makeautorefname{scholium}{Scholium}%
+\makeautorefname{step}{Step}%
+\makeautorefname{conjecture}{Conjecture}%
+\makeautorefname{conject}{Conjecture}%
+\makeautorefname{conj}{Conjecture}%
+\makeautorefname{question}{Question}
+\makeautorefname{questn}{Question}
+\makeautorefname{quest}{Question}
+\makeautorefname{ques}{Question}
+\makeautorefname{qn}{Question}
+\makeautorefname{definition}{Definition}%
+\makeautorefname{defin}{Definition}%
+\makeautorefname{defi}{Definition}%
+\makeautorefname{def}{Definition}%
+\makeautorefname{dfn}{Definition}%
+\makeautorefname{notation}{Notation}
+\makeautorefname{nota}{Notation}
+\makeautorefname{notn}{Notation}
+\makeautorefname{remark}{Remark}%
+\makeautorefname{rema}{Remark}%
+\makeautorefname{rem}{Remark}%
+\makeautorefname{rmk}{Remark}%
+\makeautorefname{rk}{Remark}%
+\makeautorefname{remarks}{Remarks}%
+\makeautorefname{rems}{Remarks}%
+\makeautorefname{rmks}{Remarks}%
+\makeautorefname{rks}{Remarks}%
+\makeautorefname{example}{Example}%
+\makeautorefname{examp}{Example}%
+\makeautorefname{exmp}{Example}%
+\makeautorefname{exam}{Example}%
+\makeautorefname{exa}{Example}%
+\makeautorefname{algorithm}{Algorith}%
+\makeautorefname{algo}{Algorith}%
+\makeautorefname{alg}{Algorith}%
+\makeautorefname{axiom}{Axiom}%
+\makeautorefname{axi}{Axiom}%
+\makeautorefname{ax}{Axiom}%
+\makeautorefname{case}{Case}%
+\makeautorefname{claim}{Claim}%
+\makeautorefname{clm}{Claim}%
+\makeautorefname{assumption}{Assumption}%
+\makeautorefname{assumpt}{Assumption}%
+\makeautorefname{conclusion}{Conclusion}%
+\makeautorefname{concl}{Conclusion}%
+\makeautorefname{conc}{Conclusion}%
+\makeautorefname{condition}{Condition}%
+\makeautorefname{condit}{Condition}%
+\makeautorefname{cond}{Condition}%
+\makeautorefname{construction}{Construction}%
+\makeautorefname{construct}{Construction}%
+\makeautorefname{const}{Construction}%
+\makeautorefname{cons}{Construction}%
+\makeautorefname{criterion}{Criterion}%
+\makeautorefname{criter}{Criterion}%
+\makeautorefname{crit}{Criterion}%
+\makeautorefname{exercise}{Exercise}%
+\makeautorefname{exer}{Exercise}%
+\makeautorefname{exe}{Exercise}%
+\makeautorefname{problem}{Problem}%
+\makeautorefname{problm}{Problem}%
+\makeautorefname{probm}{Problem}%
+\makeautorefname{prob}{Problem}%
+\makeautorefname{solution}{Solution}%
+\makeautorefname{soln}{Solution}%
+\makeautorefname{sol}{Solution}%
+\makeautorefname{summary}{Summary}%
+\makeautorefname{summ}{Summary}%
+\makeautorefname{sum}{Summary}%
+\makeautorefname{operation}{Operation}%
+\makeautorefname{oper}{Operation}%
+\makeautorefname{observation}{Observation}%
+\makeautorefname{observn}{Observation}%
+\makeautorefname{obser}{Observation}%
+\makeautorefname{obs}{Observation}%
+\makeautorefname{ob}{Observation}%
+\makeautorefname{convention}{Convention}%
+\makeautorefname{convent}{Convention}%
+\makeautorefname{conv}{Convention}%
+\makeautorefname{cvn}{Convention}%
+\makeautorefname{warning}{Warning}%
+\makeautorefname{warn}{Warning}%
+\makeautorefname{note}{Note}%
+\makeautorefname{fact}{Fact}%
+%
+% *** End of hyperref stuff ***
+%
+% Basic layout :
+%
+% get print centerpage:
+%
+\headsep 23pt
+\footskip 35pt
+\hoffset -4truemm
+\voffset 12.5truemm
+%
+\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
+\renewcommand{\baselinestretch}{1.05} % open up a tad to match msp
+%
+% 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\medskip}
+\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 GTP style:
+%
+\newtheoremstyle{plain}{13.2pt plus6.6pt minus6.6pt}{6.6pt plus3.3pt minus3.3pt}%
+{\sl}{}{\bf}{}{0.75em}{\thmname{#1}\thmnumber{ #2}\thmnote{\rm\stdspace(#3)}}
+%
+\newtheoremstyle{definition}{13.2pt plus6.6pt minus6.6pt}{6.6pt plus3.3pt minus3.3pt}%
+{\rm}{}{\bf}{}{0.75em}{\thmname{#1}\thmnumber{ #2}\thmnote{\rm\stdspace(#3)}}
+%
+\newtheoremstyle{remark}{13.2pt plus6.6pt minus6.6pt}{6.6pt plus3.3pt minus3.3pt}%
+{\rm}{}{\bf}{}{0.75em}{\thmname{#1}\thmnumber{ #2}\thmnote{\rm\stdspace(#3)}}
+%
+% Default theorem style :
+\theoremstyle{plain}
+%
+% adapt the amsthm proof environment to GTP style
+%
+\renewenvironment{proof}[1][\proofname]{\par
+ \pushQED{\qed}%
+ \normalfont \topsep\stdskip
+ \trivlist
+ \item[\hskip\labelsep
+ \bf#1]\ignorespaces
+}{%
+ \popQED\endtrivlist\@endpefalse
+}
+% 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}{\mskip0.5mu\colon\thinspace} % Colon for maps.
+\newcommand{\np}{\newpage} % Forced page break (new page).
+\newcommand{\nl}{\hfil\break} % New line.
+\newcommand{\cl}{\centerline} % Centerline
+%
+% metadata items:
+%
+% title
+%
+\def\title{\@ifnextchar[\doubletitle\singletitle}
+ \def\doubletitle[#1]#2{\def\thetitle{#2}\def\theshorttitle{#1}}
+ \def\singletitle#1{\def\thetitle{#1}\def\theshorttitle{#1}}
+%
+% author(s)
+%
+\def\author{\@ifnextchar[\doubleauthor\singleauthor}
+\def\doubleauthor[#1]#2{\edef\previousauthors{\theauthors}
+ \ifx\theauthors\relax\def\theauthors{#2}\else
+ \def\theauthors{\previousauthors\par#2}\fi
+ \edef\previousrootauthors{\rootauthors}
+ \ifx\rootauthors\relax
+ \ifx\lastauthor\relax\def\lastauthor{#1}\def\theshortauthors{#1}
+ \else\edef\rootauthors{\lastauthor}\def\lastauthor{#1}
+ \def\theshortauthors{\rootauthors\ and #1}\fi
+ \else\edef\rootauthors{\previousrootauthors, \lastauthor}
+ \def\lastauthor{#1}\def\theshortauthors{\rootauthors\ and #1}\fi}
+\def\singleauthor#1{\doubleauthor[#1]{#1}}
+%
+% address
+%
+\def\address#1{{\let\\\relax\let\newline\par\xdef\previousaddresses{\theaddress}}
+ \ifx\theaddress\relax\def\theaddress{#1}\else
+ \def\theaddress{\previousaddresses\par\vskip 3pt minus 2pt\par#1}\fi}
+%
+% email
+%
+\def\email#1{{\let\_\relax\let~\relax\let\href\relax
+ \xdef\previousemails{\theemail}}%
+ \def\tempab{}\def\tempba{#1}\ifx\tempab\tempba\else
+ \ifx\theemail\tempab{}\def\theemail{\href{mailto:#1}{#1}}\else
+ \gdef\theemail{\previousemails, \href{mailto:#1}{#1}}\fi\fi}
+%
+% url %%% needs linking
+%
+\def\urladdr#1{{\let\_\relax\let~\relax\let\href\relax\xdef\previousurls{\theurl}}
+ \def\tempab{}\def\tempba{#1}\ifx\tempab\tempba\else
+ \ifx\theurl\tempab\def\theurl{\href{#1}{#1}}\else
+ \def\theurl{\previousurls, \href{#1}{#1}}\fi\fi}
+%
+% main abstract
+%
+\long\def\abstract#1\end%
+{\long\gdef\theabstract{#1}\end}
+\let\endabstract\relax
+%
+% other abstracts (used just for publication)
+%
+\newenvironment{asciiabstract}{\eatabstract}{}%
+\newenvironment{webabstract}{\eatabstract}{}%
+\newenvironment{htmlabstract}{\eatabstract}{}%
+\newenvironment{mathmlabstract}{\eatabstract}{}%
+\long\def\eatabstract#1\end{\end}
+%
+% subject class (from msp.cls--simplified)
+%
+\def\subject#1#2#3{%
+ \def\@tempa{#1}\def\@tempb{primary}%
+ \ifx\@tempa\@tempb %%%% primary class
+ \ifx\@primclass\relax
+ \def\@primclass{#3}%
+ \else
+ \edef\old@primclass{\@primclass}\def\@primclass{\old@primclass, #3}%
+ \fi
+ \else\ifx\@secclass\relax% everything not marked primary is taken
+ \def\@secclass{#3}% to be secondary
+ \else
+ \edef\old@secclass{\@secclass}\def\@secclass{\old@secclass, #3}%
+ \fi
+ \fi
+}
+\def\@message#1{\immediate\write16{#1}}
+\def\subjclass#1{\@message{ }
+ \@message{\string\subjclass\space is not supported; use
+ \string\subject}\@message{You can use an
+ arbitrary number of commands of the form}
+ \@message{\string\subject{primary}{MSC2000}{99X88},}
+ \@message{\string\subject{secondary}{MSC2000}{77X66}... etc.}
+ \@message{ }}
+%
+% keywords (only used for publication)
+%
+\def\keyword#1{\relax}
+\def\keywords#1{\@message{ }\@message{\string\keywords\space not supported; use
+ \string\keyword}\@message{You can use an
+ arbitrary number of commands of the form}
+ \@message{\string\keyword{keyword},}
+ \@message{\string\keyword{key phrase}... etc.}\@message{ }}
+%
+% dedicatory and thanks
+%
+\def\dedicatory#1{\def\thededicatory{#1}\@message{ }
+\@message{Dedications are only permitted in exceptional cases.}
+\@message{Please consult the managing editors before adding a dedication.}
+\@message{Thanks etc should be given as acknowledgements at the end}
+\@message{of your introduction or at the end of the paper.}
+\@message{ }\relax}
+%
+\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{or at the end of the paper.}
+\@message{ }\relax}
+%
+%
+% set metadata items to \relax to initialise macros :
+%
+\let\thetitle\relax\let\theauthors\relax
+\let\theaddress\relax\let\theemail\relax\let\theurl\relax
+\let\theabstract\relax\let\theshorttitle\relax
+\let\theshortauthors\relax\let\rootauthors\relax
+\let\lastauthor\relax\let\@primclass\relax
+\let\@secclass\relax\let\thededicatory\relax
+\def\theemail{}\def\theurl{}
+%
+% metadata items used just for publication
+%
+\def\givenname#1{\relax}
+\def\surname#1{\relax}
+\def\doi#1{\relax}
+\def\MR#1{\relax}
+\def\Zbl#1{\relax}
+\def\issuenumber#1{\relax}
+\def\publishedonline#1{\relax}
+\def\proposed#1{\relax}
+\def\seconded#1{\relax}
+\def\corresponding#1{\relax}
+\def\editor#1{\relax}
+\def\version#1{\relax}
+\def\arxivreference#1{\relax}
+\def\arxivpassword#1{\relax}
+%
+% metadata items used in running heads etc
+%
+\def\volumenumber#1{\relax}
+\def\volumename#1{\relax}
+\def\publicationyear#1{\relax}
+\def\papernumber#1{\relax}
+\def\startpage#1{\relax}
+\def\endpage#1{\relax}
+\def\received#1{\def\receiveddate{#1}}
+\def\revised#1{\def\reviseddate{#1}}
+\let\reviseddate\relax
+\def\accepted#1{\def\accepteddate{#1}}
+\def\published#1{\relax}
+%
+% defaults for mockup
+%
+\newif\ifmockup
+\AtBeginDocument{\ifmockup
+\def\thevolumenumber{XX}
+\def\thepublicationyear{20XX}
+\def\publisheddate{XX Xxxember 20XX}
+\def\thestartpage{1001}
+\def\theendpage{999}\else
+\def\thestartpage{1}\fi}
+\received{}
+\revised{}
+\def\thedoi{10.2140/\stitle.\thepublicationyear.\thevolumenumber.\thestartpage}
+%
+% start of definition of \maketitle
+%
+\long\def\maketitle{
+\count0=\thestartpage\
+\vglue 10pt plus 3pt minus 3pt %% top space
+%
+% title :
+%
+{\parskip=0pt\leftskip 0pt plus 1fil{\def\\{\par\smallskip}\Large
+\bf\thetitle}\par\vskip 3pt}
+
+\medskip
+%
+% authors :
+%
+{\parskip=0pt\leftskip 0pt plus 1fil{\sc\theauthors}
+\par}
+
+\vglue 20pt plus 3pt minus 3pt
+%
+% abstract :
+%
+{\small\leftskip 25pt\rightskip 25pt\parskip 4pt plus 2pt
+\theabstract
+%
+% msc classes :
+%
+\vglue 7pt plus 2pt
+\href{http://www.ams.org/mathscinet/search/mscdoc.html?code=\ifx\@primclass\relax\@secclass\else\@primclass\ifx\@secclass\relax\else,(\@secclass)\fi\fi}{{\ifx\@primclass\relax\@secclass\else\@primclass\ifx\@secclass\relax\else; \@secclass\fi\fi}}
+%
+% dedicatory
+%
+ \ifx\thededicatory\relax\else
+ \vglue 7ptplus 2pt\it\thededicatory\fi\par\medskip}}
+%
+% end of definition of \maketitle
+%
+% journal titles in GTP style
+%
+\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
+\def\jtitle{\gt} %default
+\def\stitle{gt} %default
+\def\gtart{\mockuptrue}
+\def\agtart{\def\jtitle{\agt} %%% sets AGT as the journal title
+\def\stitle{agt}\mockuptrue}
+\def\gtmonart{\def\jtitle{\gtm} %%% sets GTM as the journal title
+\def\stitle{gtm}\mockuptrue}
+%
+% headline and footline
+%
+\def\@oddhead{{\small\it\ifnum\count0=\thestartpage
+\ifmockup\jtitle\ \thevolumenumber\ (\thepublicationyear)
+\thestartpage--\theendpage
+\hfill {\bf\number\count0}\fi\else\ifodd\count0
+\def\\{\unskip\space}\ifx\theshorttitle\relax \thetitle \else\theshorttitle\fi\hfill
+{\bf\number\count0}\else{\bf\number\count0}
+\hfill\ifx\theshortauthors\relax
+\theauthors\else\theshortauthors\fi\fi\fi}}
+\let\@evenhead\@oddhead
+\def\@oddfoot{{\ifmockup\small\it\ifnum\count0=\thestartpage
+{\it Published: \publisheddate}\hfil
+ \rm\href{http://dx.doi.org/\thedoi}{DOI: \thedoi}
+\else \jtitle\ \thevolumenumber\ (\thepublicationyear)\hfill\fi\fi}}
+\let\@evenfoot\@oddfoot
+%
+% 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 hyperref.sty) :
+%
+\long\def\@caption#1[#2]#3{%
+ \hyper@makecurrent{\@captype}%
+ \par\addcontentsline{\csname ext@#1\endcsname}{#1}{%
+ \protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}%
+ }%
+ \begingroup
+ \@parboxrestore
+ \if@minipage
+ \@setminipage
+ \fi
+ \small
+ \@makecaption{\csname fnum@#1\endcsname}{%
+ \ignorespaces
+ \ifHy@nesting
+ \hyper@@anchor{\@currentHref}{#3}%
+ \else
+ \Hy@raisedlink{\hyper@@anchor{\@currentHref}{\relax}}#3%
+ \fi
+ }%
+ \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}}
+%
+% automate colon suppression
+%
+\let\oldcaption\caption
+\def\caption{\@ifnextchar[\doublecaption\singlecaption}
+\def\doublecaption[#1]#2{\oldcaption[#1]{#2}}
+\def\singlecaption#1{\def\tempab{}\def\tempba{#1}\ifx\tempab\tempba
+\nocolon\oldcaption{#1}\else\oldcaption{#1}\fi}
+%
+% set displayskips to correct values :
+%
+\AtBeginDocument{\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\addcontentsline{toc}{section}{Bibliography}}
+%
+%
+% 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
+%
+% get enumeration labels to use \rm
+%
+\renewcommand{\labelenumi}{{\rm (\theenumi)}}
+\renewcommand{\labelenumii}{{\rm (\theenumii)}}
+\renewcommand{\labelenumiii}{{\rm (\theenumiii)}}
+
+% and spacing to match \itemize
+%
+\let\@enumerate@\enumerate
+\def\enumerate{\@enumerate@\parskip 0pt\relax}
+%
+% misc definitions for comptibility with amsthm, msp.cls etc
+%
+\def\bysame{\leavevmode\hbox to3em{\hrulefill}\thinspace}
+\def\figdir{figs}
+\def\makeop#1{\expandafter\def\csname #1\endcsname{\mathop{\mathrm{#1}}\nolimits}}
+\let\wtilde\widetilde
+\let\wwtilde\widetilde
+\let\what\widehat
+\let\wwhat\widehat
+\let\wbar\bar
+\let\wwbar\overline
+\let\proved\qedhere
+\def\Q{\mathbb{Q}}
+\def\R{\mathbb{R}}
+\def\C{\mathbb{C}}
+%\def\N{\mathbb{N}}
+\def\Z{\mathbb{Z}}
+\let\disablesubscriptcorrection\relax
+\newenvironment{nopartheorem}{}{}
+\def\half{\tfrac12}
+%
+\def\eqalign#1{%
+ \null\,\vcenter{\openup\jot\m@th
+ \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil
+ \crcr#1\crcr}}\,}
+\def\eqalignbot#1{%
+ \null\,\vbox{\openup\jot\m@th
+ \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil
+ \crcr#1\crcr}}\,}
+\def\eqaligntop#1{%
+ \null\,\vtop{\openup\jot\m@th
+ \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil
+ \crcr#1\crcr}}\,}
+\def\eqalignn#1{%
+ \null\,\vcenter{\openup\jot\m@th
+ \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil
+ &\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil\crcr#1\crcr}}\,}
+\endinput
+%
+% History of gtart.cls:
+% 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
+% Version 1.4: hyperef version (new file name: gtart_h.cls 15.02.04)
+% Version 1.5: hyperef+times+MSP m-data (new file name: gtpart.cls 20.12.06)
+% Version 1.6: bug-fix for hyperref 6.75 (26.11.07)