diff options
Diffstat (limited to 'macros/latex/contrib/pinlabel/src/gtpart.cls')
-rw-r--r-- | macros/latex/contrib/pinlabel/src/gtpart.cls | 818 |
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) |