# HG changeset patch # User scott@6e1638ff-ae45-0410-89bd-df963105f760 # Date 1214884822 0 # Node ID 7b0a43bdd3c467e29f242d58e000ce832c762d33 # Parent ada83e7228eb5fcff72b311c08b9f79f56b2dd7e writing definitions of topological a_\infty categories, modules, etc. diff -r ada83e7228eb -r 7b0a43bdd3c4 bibliography/bibliography.bib --- a/bibliography/bibliography.bib Tue Jul 01 01:53:15 2008 +0000 +++ b/bibliography/bibliography.bib Tue Jul 01 04:00:22 2008 +0000 @@ -7,6 +7,19 @@ @STRING{AP = {Academic Press}} @STRING{AMS = {American Mathematical Society}} +%S! fix this citation! +@article{morrison-walker, + AUTHOR = {David Clark and Scott Morrison and Kevin Walker}, + TITLE = {Fixing the functoriality of Khovanov homology}, + note = {\arxiv{math.GT/0701339}}, +} + +@misc{kw:tqft, + AUTHOR = {Walker, Kevin}, + TITLE = {Topological Quantum Field Theories}, + note = {draft available at \url{http://canyon23.net/math/tc.pdf}}, +} + @article {MR1917056, AUTHOR = {Bar-Natan, Dror}, TITLE = {On {K}hovanov's categorification of the {J}ones polynomial}, @@ -352,18 +365,6 @@ note = {arXiv:\arxiv{math.GT/0606542}}, } -%S! fix this citation! -@article{morrison-walker, - AUTHOR = {Scott Morrison and Kevin Walker}, - TITLE = {Fixing the functoriality of Khovanov homology}, - note = {\url{http://scott-morrison.org/functoriality}}, -} - -@misc{kw:tqft, - AUTHOR = {Walker, Kevin}, - TITLE = {Topological Quantum Field Theories}, - URL = {http://canyon23.net/math/tc.pdf}, -} @article{math.GT/0206303, title = {{An invariant of link cobordisms from Khovanov homology}}, diff -r ada83e7228eb -r 7b0a43bdd3c4 blob1.tex --- a/blob1.tex Tue Jul 01 01:53:15 2008 +0000 +++ b/blob1.tex Tue Jul 01 04:00:22 2008 +0000 @@ -229,7 +229,7 @@ \nn{maybe should look for better name; but this is the name I use elsewhere} is a collection of functors $\cC$ from manifolds of dimension $n$ or less to sets. -These functors must satisfy various properties (see KW TQFT notes for details). +These functors must satisfy various properties (see \cite{kw:tqft} for details). For example: there is a canonical identification $\cC(X \du Y) = \cC(X) \times \cC(Y)$; there is a restriction map $\cC(X) \to \cC(\bd X)$; @@ -381,7 +381,7 @@ \nn{Roughly, these are (1) the local relations imply (extended) isotopy; (2) $U(B^n; \cdot)$ is an ideal w.r.t.\ gluing; and (3) this ideal is generated by ``small" generators (contained in an open cover of $B^n$). -See KW TQFT notes for details. Need to transfer details to here.} +See \cite{kw:tqft} for details. Need to transfer details to here.} For maps into spaces, $U(B^n; c)$ is generated by things of the form $a-b \in \cC_l(B^n; c)$, where $a$ and $b$ are maps (fields) which are homotopic rel boundary. @@ -403,7 +403,7 @@ the $n$-manifold $Y$ modulo local relations. The Hilbert space $Z(Y; c)$ for the TQFT based on the fields and local relations is defined to be the dual of $A(Y; c)$. -(See KW TQFT notes or xxxx for details.) +(See \cite{kw:tqft} or xxxx for details.) The blob complex is in some sense the derived version of $A(Y; c)$. @@ -918,15 +918,111 @@ \subsection{`Topological' $A_\infty$ $n$-categories} \label{sec:topological-A-infty}% -This section prepares the ground for establishing Property \ref{property:gluing} by defining the notion of a \emph{topological $A_\infty$ -$n$-category}. The main result of this section is +This section prepares the ground for establishing Property \ref{property:gluing} by defining the notion of a \emph{topological $A_\infty$-$n$-category}. +The main result of this section is \begin{thm} -Topological $A_\infty$ $1$-categories are equivalent to `standard' -$A_\infty$ $1$-categories. +Topological $A_\infty$-$1$-categories are equivalent to `standard' +$A_\infty$-$1$-categories. \end{thm} +Before proving this theorem, we embark upon a long string of definitions. For expository purposes, we begin with the $n=1$ special cases, and define +first topological $A_\infty$-algebras, then topological $A_\infty$-categories, and then topological $A_\infty$-modules over these. We then turn +to the general $n$ case, defining topological $A_\infty$-$n$-categories and their modules. +\nn{Something about duals?} +\todo{Explain that we're not making contact with any previous notions for the general $n$ case?} +\begin{defn} +\label{defn:topological-algebra}% +A ``topological $A_\infty$-algebra'' $A$ consists of the data +\begin{enumerate} +\item for each $1$-manifold $J$ diffeomorphic to the standard interval $I=\left[0,1\right]$, a complex of vector spaces $A(J)$, +\item along with an `evaluation' chain map $\ev_J : \CD{J} \tensor A(J) \to A(J)$, +\item for each diffeomorphism $\phi : J \to J'$, an isomorphism $A(\phi) : A(J) \isoto A(J')$, +\item and whenever $\bdy J \cap \bdy J'$ is a single point, a gluing map $\gl_{J,J'} : A(J) \tensor A(J') \to A(J \cup J')$, +\end{enumerate} +satisfying the following conditions. +\begin{itemize} +\item If $\phi$ is a diffeomorphism from $J$ to itself, the maps $\ev_J(\phi, -)$ and $A(\phi)$ are the same. +\item The evaluation chain map is associative, in that the diagram +\begin{equation*} +\xymatrix{ +\CD{J} \tensor \CD{J} \tensor A(J) \ar[r]^{\Id \tensor \ev_J} \ar[d]_{\compose \tensor \Id} & +\CD{J} \tensor A(J) \ar[d]^{\ev_J} \\ +\CD{J} \tensor A(J) \ar[r]_{\ev_J} & +A(J) +} +\end{equation*} +commutes. (Here the map $\compose : \CD{J} \tensor \CD{J} \to \CD{J}$ is a composition: take products of singular chains first, then use the group multiplication in $\Diff(J)$.) +\item The gluing maps are \emph{strictly} associative. That is, given $J$, $J'$ and $J''$, the diagram +\begin{equation*} +\xymatrix{ +A(J) \tensor A(J') \tensor A(J'') \ar[rr]^{\gl_{J,J'} \tensor \Id} \ar[d]_{\Id \tensor \gl_{J',J''}} && +A(J \cup J') \tensor A(J'') \ar[d]^{\gl_{J \cup J', J''}} \\ +A(J) \tensor A(J' \cup J'') \ar[rr]_{\gl_{J, J' \cup J''}} && +A(J \cup J' \cup J'') +} +\end{equation*} +commutes. +\end{itemize} +\end{defn} + +\begin{rem} +Of course, the first and third pieces of data (the complexes, and the isomorphisms) together just constitute a functor from the category of +intervals and diffeomorphisms between them to the category of complexes of vector spaces. +Further, one can combine the second and third pieces of data, asking instead for a map +\begin{equation*} +\ev_{J,J'} : \CD{J \to J'} \tensor A(J) \to A(J'). +\end{equation*} +(Any $k$-parameter family of diffeomorphisms in $C_k(\Diff(J \to J'))$ factors into a single diffeomorphism $J \to J'$ and a $k$-parameter family of +diffeomorphisms in $\CD{J'}$.) +\end{rem} + +To generalise the definition to that of a category, we simply introduce a set of objects which we call $A(pt)$. Now we associate complexes to each +interval with boundary conditions $(J, c_-, c_+)$, with $c_-, c_+ \in A(pt)$, and only ask for gluing maps when the boundary conditions match up: +\begin{equation*} +\gl : A(J, c_-, c_0) \tensor A(J', c_0, c_+) \to A(J \cup J', c_-, c_+). +\end{equation*} +The action of diffeomorphisms, and $k$-parameter families of diffeomorphisms, ignore the boundary conditions. + +The definition of a module follows closely the definition of an algebra or category. +\begin{defn} +\label{defn:topological-module}% +A topological $A_\infty$-(left-)module $M$ over a topological $A_\infty$ category $A$ consists of the data +\begin{enumerate} +\item a functor $K \mapsto M(K)$ from $1$-manifolds diffeomorphic to the standard interval, with a marked point on a boundary, to complexes of vector spaces, +\item along with an `evaluation' map $\ev_K : \CD{K} \tensor M(K) \to M(K)$ +\item whenever $\bdy J \cap K$ is a single point, and isn't the marked point of $K$ \todo{ugh, that's so gross}, a gluing map +$\gl_{J,K} : A(J) \tensor M(K) \to M(J \cup K)$ +\end{enumerate} +satisfying the obvious analogous conditions as in Definition \ref{defn:topological-algebra}. +\end{defn} + +\todo{Bimodules, and gluing} + +\todo{the motivating example $C_*(\maps(X, M))$} + +\todo{higher $n$} + + +\newcommand{\skel}[1]{\operatorname{skeleton}(#1)} + +Given a topological $A_\infty$-category $\cC$, we can construct an `algebraic' $A_\infty$ category $\skel{\cC}$. First, pick your +favorite diffeomorphism $\phi: I \cup I \to I$. +\begin{defn} +We'll write $\skel{\cC} = (A, m_k)$. Define $A = \cC(I)$, and $m_2 : A \tensor A \to A$ by +\begin{equation*} +m_2 \cC(I) \tensor \cC(I) \xrightarrow{\gl_{I,I}} \cC(I \cup I) \xrightarrow{\cC(\phi)} \cC(I). +\end{equation*} +Next, we define all the `higher associators' $m_k$ by +\todo{} +\end{defn} + +Give an `algebraic' $A_\infty$ category $(A, m_k)$, we can construct a topological $A_\infty$-category, which we call $\bc_*^A$. You should +think of this at the generalisation of the blob complex, although the construction we give will \emph{not} specialise to exactly the usual definition +in the case the $A$ is actually an associative category. +\begin{defn} +\end{defn} \nn{Need to let the input $n$-category $C$ be a graded thing (e.g. DG $n$-category or $A_\infty$ $n$-category). DG $n$-category case is pretty @@ -1196,8 +1292,8 @@ \input{text/explicit.tex} % ---------------------------------------------------------------- -\newcommand{\urlprefix}{} -\bibliographystyle{gtart} +%\newcommand{\urlprefix}{} +\bibliographystyle{plain} %Included for winedt: %input "bibliography/bibliography.bib" \bibliography{bibliography/bibliography} diff -r ada83e7228eb -r 7b0a43bdd3c4 gtart.bst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gtart.bst Tue Jul 01 04:00:22 2008 +0000 @@ -0,0 +1,1340 @@ +%% +%% This is file `gtart.bst', +%% generated with the docstrip utility. +%% +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `ed-au,nmft,nmft-bf,dt-jnl,yr-par,xmth,yrp-x,tit-it,atit-u,jttl-rm,vnum-x,volp-blk,jdt-vs,pp-last,num-xser,numser,jnm-x,bkpg-x,pre-edn,edpar,edby-par,edbyy,blk-com,in-x,fin-bare,ppx,xedn,and-xcom,xand,eprint,url,url-blk,nfss') +%% ---------------------------------------- +%% *** For Geometry and Topology Publications *** +%% +%% Copyright 1994-1999 Patrick W Daly +%% +%% Modified by Boris Okun 12/2001 +%% + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[1999/03/18 3.88 (PWD)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is a numerical citation style, and as such is standard LaTeX. + % It requires no extra package to interface to the main text. + % The form of the \bibitem entries is + % \bibitem{key}... + % Usage of \cite is as follows: + % \cite{key} ==>> [#] + % \cite[chap. 2]{key} ==>> [#, chap. 2] + % where # is a number determined by the ordering in the reference list. + % The order in the reference list is alphabetical by authors. + %--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {fin.entry} +{ duplicate$ empty$ + 'pop$ + 'write$ + if$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + add.blank +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION {bolden} +{ duplicate$ empty$ + { pop$ "" } + { "\textbf{" swap$ * "}" * } + if$ +} + +FUNCTION {quotify} +{ duplicate$ empty$ + { pop$ "" } + { "``" swap$ * "''" * } + if$ +} + + +FUNCTION {bib.name.font} +{ bolden } + +FUNCTION {bib.fname.font} +{ bib.name.font } +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "editors" } + +FUNCTION {bbl.editor} +{ "editor" } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "edition" } + +FUNCTION {bbl.volume} +{ "volume" } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "number" } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "" } + +FUNCTION {bbl.page} +{ "" } + +FUNCTION {bbl.chapter} +{ "chapter" } + +FUNCTION {bbl.techrep} +{ "Technical Report" } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +FUNCTION {format.url} +{ url empty$ + { "" } + { "\urlprefix\url{" url * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames charptr} + +STRINGS {i j} + +FUNCTION {remove.periods} +{'i := + "" + #1 'charptr := + " " 'j := + {#1 j "" = - } + {i charptr #1 substring$ + 'j := + j "." = + {charptr #1 + 'charptr := + i charptr #1 substring$ + 'j := + j "~" = + {"\," *} + {j *} + if$} + {j *} + if$ + charptr #1 + 'charptr := + } + while$ +} + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ff }{vv~}{ll}{, jj}" format.name$ + remove.periods + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * +% bib.name.font + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +% t "others" = +% 'skip$ +% { bib.name.font } +% if$ +} + +FUNCTION {bformat.names} % Formats names in bold, but keeps punctuation normal +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ff }{vv~}{ll}{, jj}" format.name$ + remove.periods + bib.name.font + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * +% bib.name.font + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +% t "others" = +% 'skip$ +% { bib.name.font } +% if$ +} + +FUNCTION {format.names.ed} +{ format.names } +FUNCTION {format.authors} +{ author empty$ + { "" } + { author bformat.names } +% bib.name.font} + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor bformat.names +% bib.name.font + editor num.names$ #1 > + { " (" * bbl.editors * ")" * } + { " (" * bbl.editor * ")" * } + if$ + } + if$ +} + +FUNCTION {format.in.editors} +{ editor empty$ + { "" } + { editor format.names.ed + } + if$ +} + +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title + emphasize + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ "from: " } + +FUNCTION {format.date} +{ year empty$ + { "" } + 'year + if$ + duplicate$ empty$ + 'skip$ + { + before.all 'output.state := + " (" swap$ * ")" * + } + if$ +} + +FUNCTION{format.year} +{ year duplicate$ empty$ + { "empty year in " cite$ * warning$ pop$ "" } + { " (" swap$ * ")" * } + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.connect + series empty$ + 'skip$ + { bbl.of space.word * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.bvolume.in} +{series empty$ + 'format.bvolume + {volume empty$ + {""} + {series " " volume * * + "volume and number" number either.or.check } + if$ + } +if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.connect + bbl.in space.word * series * + } + if$ + } + if$ + } + { "" } + if$ +} + + +FUNCTION {format.number.series.in} +{ volume empty$ + {series empty$ + 'format.number.series + {series + number empty$ + 'skip$ + {" " number * *} + if$ } + if$ + } + { "" } +if$ +} + + + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " " * bbl.edition * } + { edition "t" change.case$ " " * bbl.edition * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { pages n.dashify } + { pages } + if$ + } + if$ +} + +FUNCTION {format.journal.pages} +{ pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { + " " * + pages n.dashify * + } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + format.year * +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { word.in booktitle quotify * } + { word.in booktitle quotify * + ", (" * + format.in.editors * + ", " * + editor num.names$ #1 > + { bbl.editors } + { bbl.editor } + if$ + * + ")" * + } + if$ + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { bbl.techrep } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ + key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { word.in journal emphasize * } + if$ + } + { word.in key * " " *} + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + } + { bbl.and space.word * editor #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + word.in + } + { bbl.volume volume tie.or.space.connect + bbl.of space.word * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series emphasize * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { word.in "``" booktitle "''" * * } + if$ + } + { word.in key * " " *} + if$ + } + { word.in format.crossref.editor * " " *} + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address empty$ + 'skip$ + { address * } + if$ + } + { t * + address empty$ + 'skip$ + { ", " * address * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.publisher.address} +{ publisher empty$ + { "empty publisher in " cite$ * warning$ + "" + } + { publisher } + if$ + format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization empty$ + { "" } + { organization } + if$ + format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + crossref missing$ + { journal + "journal" output.check + add.blank + format.vol.num.pages output + } + { format.article.crossref output.nonnull +% format.pages output + } + if$ + format.journal.pages + format.url output + format.note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.edition output + format.number.series.in output + format.publisher.address output + } + { + format.book.crossref output.nonnull + } + if$ + format.date "year" output.check + format.url output + format.note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + format.title "title" output.check + howpublished output + address output + format.date output + format.url output + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume.in output + format.edition output + format.number.series.in output + format.publisher.address output + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.date "year" output.check + date.block + add.blank + format.pages "pages" output.check + format.url output + format.note output + fin.entry +} + +FUNCTION {inbook}{incollection} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume.in output + format.number.series.in output + publisher empty$ + { format.organization.address output } + { organization output + format.publisher.address output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.date "year" output.check + date.block + add.blank + format.pages "pages" output.check + format.url output + format.note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + 'skip$ + { organization output.nonnull + address output + } + if$ + } + { format.authors output.nonnull } + if$ + format.btitle "title" output.check + author empty$ + { organization empty$ + { + address output + } + 'skip$ + if$ + } + { + organization output + address output + } + if$ + format.edition output + format.date output + format.url output + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + format.btitle "title" output.check + bbl.mthesis format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + format.url output + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + format.title output + howpublished output + format.date output + format.url output + format.note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + format.btitle "title" output.check + bbl.phdthesis format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + format.url output + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output } + { format.editors output.nonnull } + if$ + format.btitle "title" output.check + format.bvolume output + editor empty$ + { publisher empty$ + 'skip$ + { + format.number.series output + format.publisher.address output + } + if$ + } + { publisher empty$ + { + format.organization.address output } + { + organization output + format.publisher.address output + } + if$ + } + if$ + format.date "year" output.check + format.url output + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + format.url output + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + format.date output + format.url output + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `gtart.bst'. diff -r ada83e7228eb -r 7b0a43bdd3c4 gtart.cls --- /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 diff -r ada83e7228eb -r 7b0a43bdd3c4 preamble.tex --- a/preamble.tex Tue Jul 01 01:53:15 2008 +0000 +++ b/preamble.tex Tue Jul 01 04:00:22 2008 +0000 @@ -117,6 +117,7 @@ \newcommand{\onto}{\twoheadrightarrow} \newcommand{\iso}{\cong} \newcommand{\actsOn}{\circlearrowright} +\newcommand{\isoto}{\xrightarrow{\iso}} \newcommand{\htpy}{\simeq}