% Baskerville class file for reprints \def\filedate{1997/09/29} \def\fileversion{1.2} \ProvidesClass{baskrep}[\filedate, Baskerville reprints class \fileversion] \ProcessOptions \LoadClass{article} \RequirePackage[noisy]{textfit} \RequirePackage{pifont} \RequirePackage{latexsym} \RequirePackage{calc} \RequirePackage{ifthen} \RequirePackage{longtable} \RequirePackage{mathptm} \renewcommand{\sfdefault}{phv} \renewcommand{\ttdefault}{pcr} \fontfamily{ptm}\selectfont \RequirePackage[T1]{fontenc} \RequirePackage{array} \RequirePackage{shortvrb} \RequirePackage[]{epsfig} \RequirePackage[]{color} \RequirePackage{multicol} \RequirePackage{url} \RequirePackage{mflogo} \let\Metafont\MF %\RequirePackage{footcols} \newcommand\bs{{\ttfamily\upshape\char'134}} \def\arraybackslash{\let\\=\@arraycr} \newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} \lineskip 1\p@ \normallineskip 1\p@ \def\baselinestretch{1} \renewcommand\normalsize{% \@setfontsize\normalsize\@xpt\@xiipt \abovedisplayskip 8\p@ \@plus1\p@ \@minus1\p@ \abovedisplayshortskip \z@ \@plus3\p@ \belowdisplayshortskip 4\p@ \@plus3\p@ \belowdisplayskip \abovedisplayskip \let\@listi\@listI} \let\@normalsize\normalsize \normalsize \renewcommand\small{% \@setfontsize\small\@ixpt{10.5}% \abovedisplayskip 4\p@ \@plus1\p@ \@minus1\p@ \abovedisplayshortskip 4\p@ \@plus1\p@ \belowdisplayshortskip \abovedisplayshortskip \def\@listi{\leftmargin\leftmargini \topsep 2\p@ \@plus1\p@ \@minus1\p@ \parsep \z@ \itemsep 2\p@}% \belowdisplayskip \abovedisplayskip } \renewcommand\footnotesize{% \@setfontsize\footnotesize\@viiipt{9}% \abovedisplayskip 4\p@ \@plus1\p@ \@minus1\p@ \abovedisplayshortskip \z@ \@plus\p@ \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ \def\@listi{\leftmargin\leftmargini \topsep 1\p@ \@plus1\p@ \@minus1\p@ \parsep \z@ \itemsep 2\p@}% \belowdisplayskip \abovedisplayskip } \renewcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt} \renewcommand\tiny{\@setfontsize\tiny\@vpt\@vipt} \renewcommand\large{\@setfontsize\large\@xipt{12}} \renewcommand\Large{\@setfontsize\Large\@xiipt{14}} \renewcommand\LARGE{\@setfontsize\LARGE\@xivpt{17}} \renewcommand\huge{\@setfontsize\huge\@xviipt{20}} \renewcommand\Huge{\@setfontsize\Huge\@xxpt{30}} \normalsize \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} % **************************************** % * PAGE LAYOUT * % **************************************** % % SIDE MARGINS: \oddsidemargin -1cm \evensidemargin -1cm \marginparwidth 4pc % don't use marginal notes... \marginparsep 0.5pc % ...in the UK TUG newsletter % VERTICAL SPACING: \topmargin \z@ \headheight 12\p@ \headsep 15\p@ \topskip 10\p@ \footskip 15\p@ % DIMENSION OF TEXT: \textheight 9in % height of text on a page (A4 paper) \textwidth 6.5in % total width of a page \columnseprule 0.5\p@ % width of line in the inter-column gutter \columnsep 10mm % space between columns \tolerance 9999 % make those columns justify % FOOTNOTES: \footnotesep 6\p@ \skip\footins 19.5\p@ plus 12\p@ \@minus 1\p@ % FLOATS: \floatsep 12\p@ plus 5.5\p@ \@minus 1\p@ \textfloatsep 15\p@ plus 4.5\p@ \@minus 3\p@ \intextsep 12\p@ plus 5.5\p@ \@minus 2\p@ \dblfloatsep 12\p@ plus 5.5\p@ \@minus 2\p@ \dbltextfloatsep 15\p@ plus 4.5\p@ \@minus 3\p@ \@fptop 0\p@ plus 0fil \@fpsep 12\p@ plus 0fil \@fpbot 0\p@ plus 3fil \@dblfptop 0\p@ plus 0fil \@dblfpsep 12\p@ plus 0fil \@dblfpbot 0\p@ plus 3fil \marginparpush 5\p@ % **************************************** % * PARAGRAPHING * % **************************************** % \parindent 12\p@ \parskip \z@ plus .1\p@ \partopsep 0\p@ plus 1\p@ \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty -\@lowpenalty \clubpenalty=0 \widowpenalty=10000 % **************************************** % * SKIPS * % **************************************** % \newskip\@indentskip \newskip\smallindent \newskip\@footindent \newskip\@leftskip \@indentskip=1.25pc \smallindent=\parindent \@footindent=\smallindent \@leftskip=\z@ % **************************************** % * SECTIONS * % **************************************** % \def\Section{% \@startsection{newarticle}{0}{\z@} {-24\p@ \@plus -12\p@ \@minus -.1\p@} {12\p@ \@plus 1\p@} {\raggedright\Large\bfseries}} \def\section{%\typeout{** section!}% \@startsection {section}{1}{\z@} {-12\p@ \@plus -6\p@ \@minus -.1\p@} {6\p@} {\raggedright\large\bfseries}} \def\subsection{\@startsection{subsection}{2}{\z@} {-4\p@ \@plus -2\p@ \@minus -.1\p@} {0.1\p@ \@plus 2\p@} {\raggedright\normalsize\itshape}} \def\subsubsection{\@startsection{subsubsection}{3}{\z@} {-6\p@ \@plus -3\p@ \@minus -1\p@} {0.1\p@ \@plus 2\p@} {\raggedright\normalsize\it}} \def\paragraph{\@startsection{paragraph}{4}{\z@} {12\p@ \@plus 2.25\p@ \@minus -1\p@} {-0.5em} {\normalsize\bfseries}} \def\subparagraph{\@startsection{subparagraph}{5}{\z@} {12\p@ \@plus 2.25\p@ \@minus 1\p@} {-0.5em} {\normalsize\it}} \setcounter{secnumdepth}{-1} % \let\appendix\relax % **************************************** % * PARTS & SECTIONS NUMBERS * % **************************************** % \newcounter{newarticle} \@newctr{section}[newarticle] \def\thenewarticle {\Roman{newarticle}} % **************************************** % * LISTS * % **************************************** % \leftmargini \@indentskip \leftmarginii 1pc \leftmarginiii 1pc \leftmarginiv 1pc \leftmarginv 1pc \leftmarginvi 1pc \leftmargin\leftmargini \labelsep 0.5em \labelwidth\leftmargini\advance\labelwidth-\labelsep % % label macros for Range-Left and Range-Right labels \def\makeRLlabel#1{\rlap{#1}\hss} \def\makeRRlabel#1{\hss\llap{#1}} % \def\@listI{\leftmargin\leftmargini \parsep \z@ \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ \itemsep \z@ \@plus .1\p@ } \let\@listi\@listI \@listi \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ \parsep \z@ \itemsep \z@ \@plus .1\p@ } \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ \parsep \z@ \partopsep \z@ \itemsep \topsep } \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep } \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep } \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep } % % ITEMIZE \def\itemize{\ifnum \@itemdepth >3 \@toodeep \else \advance\@itemdepth \@ne \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% \list{\csname\@itemitem\endcsname}% {\let\makelabel\makeRRlabel}% \fi} \def\labelitemi{$\bullet$} \def\labelitemii{--} \def\labelitemiii{$\cdot$} \def\labelitemiv{*} % % ENUMERATE with optional argument to set left margin... \def\enumerate{\ifnum \@enumdepth >3 \@toodeep \else \advance\@enumdepth \@ne \edef\@enumctr{enum\romannumeral\the\@enumdepth}% \fi \@ifnextchar [{\@enumeratetwo}{\@enumerateone}% } \def\@enumeratetwo[#1]{% \list{\csname label\@enumctr\endcsname}% {\settowidth\labelwidth{[#1]} \leftmargin\labelwidth \advance\leftmargin\labelsep \usecounter{\@enumctr} \let\makelabel\makeRRlabel} } \def\@enumerateone{% \list{\csname label\@enumctr\endcsname}% {\usecounter{\@enumctr} \let\makelabel\makeRRlabel}} % \def\labelenumi{\theenumi} \def\theenumi{\arabic{enumi}.} \def\labelenumii{(\theenumii)} \def\theenumii{\alph{enumii}} \def\p@enumii{\theenumi} \def\labelenumiii{\theenumiii} \def\theenumiii{\roman{enumiii}} \def\p@enumiii{\theenumi(\theenumii)} \def\labelenumiv{\theenumiv} \def\theenumiv{\Alph{enumiv}} \def\p@enumiv{\p@enumiii\theenumiii} % ARRAY AND TABULAR % \arraycolsep 5\p@ \tabcolsep 6\p@ \arrayrulewidth .5\p@ \doublerulesep 1.5\p@ % **************************************** % * TITLES AND ABSTRACT * % **************************************** % %% Volume Number (ie Year - 1990) \def\BASKvol#1{\gdef\BASK@vol{#1}} \BASKvol{?} %% Issue Number (ie Month/2, roughly); * form for `multiple issues' \def\BASKno{\@ifstar{\BASK@number{s}}{\BASK@number{}}} \def\BASK@number#1#2{\gdef\BASK@no{{#1}{~#2}}} \BASKno{?} % Editor, Star form for Guest editor \def\BASKed{\@ifstar{\BASK@ed{Guest }}{\BASK@ed{}}} \def\BASK@ed#1#2{\gdef\BASK@editor{#1Editor: #2}} \BASKed{Editor: Sebastian Rahtz} %% Year (4 digits) \def\BASKyear#1{\gdef\thisyear{#1}} \BASKyear{????} % Month (as a Word) \def\BASKmonth#1{\gdef\thismonth{#1}} \BASKmonth{?????} \def\BASKvol#1{\gdef\BASK@vol{#1}} \gdef\BASK@vol{?} \def\makeBSKtitle{\par \begingroup \vspace*{-\headheight}% \@maketitle \bigskip\hrule\bigskip \thispagestyle{plain} \endgroup \let\maketitle\relax \let\@maketitle\relax } \newbox\BSKbox \def\@maketitle{% \centerline{\BASK@titleline}% \medskip \hbox to \textwidth{\bfseries The Annals of the UK \TeX\ Users' Group\hfill \BASK@editor\hfill Vol.~\BASK@vol\ No.~\BASK@no}% \smallskip\hbox to \textwidth{\bfseries ISSN 1354--5930 \hfill \thismonth\ \thisyear}% \medskip \noindent\ignorespaces \BASK@headparone\unskip\par \ignorespaces\BASK@headpartwo\unskip} % The frontmatter environment should contain a sequence of article % environments that are run into two columns. It inserts the masthead % across both columns, and the table of contents at the start of % column one. \def\frontmatter{% \vspace*{-1cm}% Would make more sense to incorporate this into % \maketitle, but leave it like this for compat. \begin{multicols}{2}[\makeBSKtitle]% \tableofcontents} \def\endfrontmatter{% \end{multicols}} % The Journal title command. % You probably only want to change this if you want to use a design-size % font rather than let \scaletowidth scale for some special issue. \def\BASKtitle#1{\gdef\BASK@titleline{#1}} \BASKtitle{% \bfseries \scaletowidth{\textwidth}{% B\,a\,s\,k\,e\,r\,v\,i\,l\,l\,e}} % The first paragraph. Needs to be reset if a special issue used a % different font set. \long\def\BASKheadparone#1{\gdef\BASK@headparone{#1}} \BASKheadparone{% Articles may be submitted via electronic mail to \texttt{baskerville@tex.ac.uk}, or on MSDOS-compatible discs, to Sebastian Rahtz, Elsevier Science Ltd, The Boulevard, Langford Lane, Kidlington, Oxford OX5 1GB, to whom any correspondence concerning \BV\ should also be addressed. This reprint of \BV\ is set in Times Roman, with Computer Modern Typewriter for literal text; the source is archived on \textsc{ctan} in \texttt{usergrps/uktug}. Back issues from the previous 12 months may be ordered from \ukt\ for \pounds2 each; earlier issues are archived on \textsc{ctan} in \texttt{usergrps/uktug}.} % The second paragraph. \def\BASKheadpartwo#1{\gdef\BASK@headpartwo{#1}} \BASKheadpartwo{% Please send \ukt\ subscriptions, and book or software orders, to Peter Abbott, 1 Eymore Close, Selly Oak, Birmingham B29 4LB. Fax/telephone: 0121 476 2159. Email enquiries about \ukt\ to \protect\texttt{uktug-enquiries@tex.ac.uk}.} \def\and{\end{tabular}\vskip 6pt\par \begin{tabular}[t]{@{}l@{}}} % \def\abstract{\@abstract} %\def\endabstract{\endlist} %\def\@abstract{\list{}{\leftmargin \z@\rightmargin\z@ % \parsep 0\p@ \@plus 1\p@}\item[]\normalsize{\bfseries Summary}\\} \def\endabstract{\par} \def\@abstract{\subsection*{Summary}} % **************************************** % * PAGE STYLES * % **************************************** % \mark{{}{}} \gdef\@author{} \def\author{\@ifnextchar [{\@authortwo}{\@authorone}} \def\@authortwo[#1]#2{\gdef\@author{#2}\gdef\@shortauthor{#1}} \def\@authorone#1{\gdef\@author{#1}\gdef\@shortauthor{#1}} \gdef\@shortauthor{Dummy Author} \gdef\@title{Dummy Article Title} \gdef\@longtitle{Dummy Article Title} \def\title{\@ifnextchar [{\@titletwo}{\@titleone}} \def\@titletwo[#1]#2{\gdef\@title{#1}\gdef\@longtitle{#2}} \def\@titleone#1{\gdef\@title{#1}\gdef\@longtitle{#1}} \gdef\@longtitle{Dummy Title} % \def\ps@plain{\let\@mkboth\markboth \def\@oddhead{} \def\@evenhead{} \def\@oddfoot{\rm \hfil --\thepage--\hfil} \def\@evenfoot{\rm \hfil --\thepage--\hfil} } \def\ps@headings{\let\@mkboth\markboth \def\@oddhead{\hfill\emph{\@title}\hfill} \def\@oddfoot{\rm \hfil --\thepage--\hfil} \def\@evenhead{\it reprinted from Baskerville \hfill Volume \BASK@vol, Number \BASK@no} \def\@evenfoot{\rm \hfil --\thepage--\hfil} } \def\ps@article{\let\@mkboth\markboth \def\@oddhead{\hfill} \def\@oddfoot{{\it reprinted from Baskerville \hfill Volume \BASK@vol, Number \BASK@no}} \let\@evenfoot\@oddfoot \let\@evenhead\@oddhead } \ps@myheadings\ps@headings % **************************************** % * TABLE OF CONTENTS, ETC. * % **************************************** % \def\@pnumwidth{1.4pc} \def\@tocrmarg {2pc} \def\@dotsep{10} \setcounter{tocdepth}{0} %\def\tableofcontents{\@restonecolfalse % \if@twocolumn\@restonecoltrue\onecolumn\fi % \section*{Contents} \@starttoc{toc} % \if@restonecol\twocolumn\fi \par\vspace{12\p@}} \def\tableofcontents{\Section*{Contents}\@starttoc{toc}} \def\l@part#1#2{\addpenalty{-\@highpenalty} \addvspace{2.25em \@plus 1\p@} \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth {\normalsize\rm \leavevmode \hspace*{3pc} #1\hfil \hbox to\@pnumwidth{\hss \ }}\par \nobreak \global\@nobreaktrue \everypar{\global\@nobreakfalse\everypar{}}\endgroup} \def\dotfil{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfil\kern\z@} \def\l@newarticle#1#2{\addpenalty{\@secpenalty} % \addvspace{1.0em \@plus 1\p@} \@tempdima 1.5em % width of box holding section number \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \leavevmode #1\dotfil \hbox to\@pnumwidth{\hss #2}\par \endgroup} \def\l@section{\@dottedtocline{1}{1em}{1.5em}} \def\l@subsection{\@dottedtocline{2}{2em}{2.3em}} \def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} \def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} \def\l@subparagraph{\@dottedtocline{5}{10em}{5em}} \def\listoffigures{\@restonecolfalse \if@twocolumn\@restonecoltrue\onecolumn\fi \section*{List of Figures\@mkboth{List of Figures}{List of Figures}} \@starttoc{lof} \if@restonecol\twocolumn\fi} \def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} \def\listoftables{\@restonecolfalse \if@twocolumn\@restonecoltrue\onecolumn\fi \section*{List of Tables\@mkboth{List of Tables}{List of Tables}} \@starttoc{lot} \if@restonecol\twocolumn\fi} \let\l@table\l@figure % **************************************** % * BIBLIOGRAPHY * % **************************************** % \def\thebibliography#1{\section*{\refname} \small \list {\@biblabel{\arabic{enumiv}}}{\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \usecounter{enumiv}% \let\p@enumiv\@empty \def\theenumiv{\arabic{enumiv}}}% \def\newblock{\hskip .11em plus.33em minus.07em}% \parskip\z@ \@plus .1pt\relax \clubpenalty4000\widowpenalty4000\sfcode`\.=1000\relax} \def\refname{References} \def\endthebibliography{% \def\@noitemerr{\@warning{Empty `thebibliography' environment}}% \endlist} \setcounter{topnumber}{2} \def\topfraction{.9} \setcounter{bottomnumber}{1} \def\bottomfraction{.9} \setcounter{totalnumber}{3} \def\textfraction{.1} \def\floatpagefraction{.75} \setcounter{dbltopnumber}{2} \def\dbltopfraction{.9} \def\dblfloatpagefraction{.75} \long\def\@makecaption#1#2{\vskip 6\p@ \setbox\@tempboxa\hbox{\small{\bfseries #1.} #2} \ifdim \wd\@tempboxa >.8\hsize \hbox to\hsize{\hfill\parbox{.8\hsize}{\small{\bfseries #1.} #2\par}\hfill} \else \hbox to\hsize{\hfill\box\@tempboxa\hfill} \fi \vskip 6\p@ } % --- ----------------------------------------------------------------- % --- Shorthands for non-English abbreviations and words. % --- ----------------------------------------------------------------- \def\foreign{\em} \def\etc{{\foreign etc.}} % etc. \def\eg{{\foreign e.g.~}\ignorespaces} % e.g. \def\egc{{\foreign e.g.,~}\ignorespaces} % e.g., \def\ie{{\foreign i.e.~}\ignorespaces} % i.e. \def\iec{{\foreign i.e.,~}\ignorespaces} % i.e., % --- ----------------------------------------------------------------- % --- Tex-related mnemonics. % --- ----------------------------------------------------------------- \def\La{\protect\p@La} \def\p@La{L% {\setbox0\hbox{T}% \setbox2\vbox to\ht0{\kern.07ex\hbox{% \csname S@\f@size\endcsname \math@fontsfalse \fontsize\sf@size\z@\selectfont A}% \vss}% \kern-.5\wd2 \box2 }} \def\AllTeX{(\La)\TeX} \def\AmSTeX{$\mathcal{A}\kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}\kern-.125em S$\TeX} \let\AMSTeX\AmSTeX \def\LamsTeX{$\mathcal{L}\mathcal{A}% \kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}\kern-.125em S$\TeX} \def\BibTeX{{\rmfamily B\kern-.05em\textsc{i\kern-.025em b}\kern-.08em\TeX}} \def\INRStex{T\kern-.1667em\lower.5ex\hbox{\^E}\kern-.125emX} \def\JTeX{\leavevmode\hbox{\lower.5ex\hbox{J}\kern-.18em\TeX}} \def\LAMSTeX{L\kern -0.4 em \raise 0.3 ex \hbox {$\scriptstyle \mathcal{A}$}% \kern -0.25 em \lower 0.4 ex \hbox {$\cal M$}% \kern -0.1 em \hbox {$\mathcal{S}$}-\TeX} \def\AMSLaTeX{{$\mathcal{A}$\kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}\kern-.125em $\mathcal{S}$-\LaTeX}} \let\AmSLaTeX\AMSLaTeX \def\AMS{{$\mathcal{A}$\kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}\kern-.125em $\mathcal{S}$}} \def\MakeIndex{{\itshape MakeIndex}} \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \def\PiCTeX{\PiC\kern-.11em\TeX} % SliTeX from the SliTeX Documentation \def\SLiTeX{S\kern-.065em L\kern-.18em\raise.32ex\hbox{\textsc{i}}\kern-.03em\TeX} \let\SliTeX\SLiTeX \def\POBox{P.\thinspace O.~Box } \def\TeXhax{\TeX hax} \def\TeXXeT{\TeX--X\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT} \def\TUB{\emph{TUGboat}} \def\DVI{\texttt{dvi}} \def\VF{\textsc{vf}} \def\BV{\emph{Baskerville}} \def\DANTE{\textsc{Dante}} \def\UKTUG{UK \TeX\ Users' Group} \def\ukt{UKTUG} \let\shortuktug\ukt \let\uktug\ukt \def\PS{\textsc{PostScript}} \newcommand{\payuk}{UK TeX Users' Group} \newcommand{\Newline}{\\[0.7\baselineskip]} \newcommand{\FullLine}[1]{% \makebox[\linewidth][l]{#1\hrulefill}\Newline} \newcommand{\HalfLine}[1]{% \makebox[0.5\linewidth][l]{#1\hrulefill}} \def\Dash{---} % --- ----------------------------------------------------------------- % --- Additional commands. % --- ----------------------------------------------------------------- \def\Preheading{% \realclearpage \thispagestyle{article} \noindent\rule{\textwidth}{2pt}% } \def\Postheading{% \@signature \noindent\rule{\textwidth}{1pt}% } \let\maketitle\make@articletitle \def\make@articletitle{\Preheading\Section{\@longtitle}\Postheading} \def\article{% \setcounter{figure}{0}% \setcounter{table}{0}% \Preheading \Section{\@longtitle}% \Postheading \let\maketitle\relax \markright{\@shortauthor\hfill\@longtitle}% } \let\Article\article \let\endArticle\endarticle \def\FArticle{% \setcounter{figure}{0}% \setcounter{table}{0}% \Section*{\@longtitle} } \def\endarticle{% \gdef\@author{\mbox{}} } \let\endFArticle\endarticle \def\newarticlemark#1{} % --- Macros for cross-referencing tables and figures. \def\submissiondates{% \begin{center}% \begin{tabular}{ll@{}l@{}l} \BASK@subtitle{Issue}& \BASK@subtitle{Submit material\\ for publication}& \BASK@subtitle{Submit last-\\minute notices}& \BASK@subtitle{Anticipated\\ posting date}\\[2pt]} \def\endsubmissiondates{% \end{tabular} \end{center}} % rotated italic head on submission dates table \def\BASK@subtitle#1{% \kern-5pt\relax \rotatebox{45}{\itshape\begin{tabular}[b]{@{}l@{}}#1\end{tabular}}} \def\figref#1{Figure~\ref{#1}} \def\tabref#1{Table~\ref{#1}} % --- Output the attribution at the end of an article. \def\emptysig{} \def\@signature{% \ifx\@author\emptysig\else \begin{flushright}\begin{tabular}{@{}r@{}}\@author\end{tabular}% \end{flushright}\fi} \def\signature#1{\begin{flushright} \begin{tabular}{@{}r@{}}#1\end{tabular}% \end{flushright}} % --- ------------------------------------------------------------------ % --- The following macros are taken from Adrian F. Clark's LaTeX style % --- file `dates.sty', which provides fairly flexible date inclusions. % --- ------------------------------------------------------------------ \def\today{\thisdayofweek\ \thisdayth\ \thismonth\ \thisyear} \def\thisday{\number\day} \def\thisdayth{\thisday \ifcase\day \or\st\or\nd\or\rd\or\th\or\th\or\th\or\th\or\th\or\th\or\th \or\th\or\th\or\th\or\th\or\th\or\th\or\th\or\th\or\th\or\th \or\st\or\nd\or\rd\or\th\or\th\or\th\or\th\or\th\or\th\or\th\or\st\fi} \def\thisdayofweek{\dayofweek{\year}{\month}{\day}} \def\thismonth{\ifcase\month\or \January\or \February\or \March\or \April\or \May\or \June\or \July\or \August\or \September\or \October\or \November\or \December\fi} \def\thisyear{\number\year} % --- Names of days of the week and the months. % --- This makes it easier to change them for languages other than English. % --- (And that's why they're not \@Sunday, etc). \def\Sunday{Sunday} \def\Monday{Monday} \def\Tuesday{Tuesday} \def\Wednesday{Wednesday} \def\Thursday{Thursday} \def\Friday{Friday} \def\Saturday{Saturday} \def\January{January} \def\February{February} \def\March{March} \def\April{April} \def\May{May} \def\June{June} \def\July{July} \def\August{August} \def\September{September} \def\October{October} \def\November{November} \def\December{December} % --- Counters. Note that we use the same registers as TeX holds other % --- things in (e.g., \count0 holds the page number). This requires % --- that \@savestyle, \@setstyle, and \dayofweek perform all % --- their register manipulations within a group. This may seem % --- a bit messy, but it saves having eight registers permanently set % --- aside just for date calculation. \def\@cent{\count0 } % century number (1979 == 20) \def\@diy{\count1 } % day in the year \def\@dow{\count2 } % gets day of the week \def\@epact{\count3 } % age of the moon on Jan. 1 \def\@golden{\count4 } % Moon's golden number \def\@leap{\count5 } % leap year fingaler \def\@x{\count6 } % temp register \def\@y{\count7 } % another temp register \def\st{\alien@up{st}} \def\nd{\alien@up{nd}} \def\rd{\alien@up{rd}} \def\th{\alien@up{th}} \def\alien@up#1{{\@savestyle\thinspace$^{\underline{\hbox{% \scriptsize\@setstyle#1\fam=-1 }}}$}} % --- Macros to save and restore the font family. \def\@savestyle{\count0=\the\fam} \def\@setstyle{\ifcase\count0\rm\or\mit\or\cal\or\rm% what's family 3? \or\it\or\sl\or\bfseries\or\tt\fi} % --- The day of the week (\Sunday, etc.) is inserted into the text % --- by \dayofweek. (This uses registers \@dow, \@leap, \@x and \@y.) % --- I acquired this from elsewhere; it was apparently written by % --- Martin Minow, now a DEC employee. \def\dayofweek#1#2#3{{% \@leap=#2 \advance\@leap by -14 \divide\@leap by 12 \advance\@leap by #1 \@dow=#2 \advance\@dow by 10 \@y=\@dow \divide\@y by 13 \multiply\@y by 12 \advance\@dow by -\@y \multiply\@dow by 13 \advance\@dow by -1 \divide\@dow by 5 \advance\@dow by #3 \advance\@dow by 77 \@x=\@leap \@y=\@x \divide\@y by 100 \multiply\@y by 100 \advance\@x by -\@y \multiply\@x by 5 \divide\@x by 4 \advance\@dow by \@x \@x=\@leap \divide\@x by 400 \advance\@dow by \@x \@x=\@leap \divide\@x by 100 \multiply\@x by 2 \advance\@dow by -\@x \@x=\@dow \divide\@x by 7 \multiply\@x by 7 \advance\@dow by -\@x \ifcase\@dow \Sunday\or \Monday\or \Tuesday\or \Wednesday\or \Thursday\or \Friday\or \Saturday\fi}} % **************************************** % * INITIALIZATION * % **************************************** % \ps@headings \pagenumbering{arabic} \sloppy \flushbottom \frenchspacing \extrarowheight2\p@ \setlength{\multicolsep}{6\p@} \let\sl\it \newcommand{\meta}[1]{{$\langle$\itshape #1\/$\rangle$}} % no rule in footcols \def\@makecol@ftn{% \vskip \skip\footins \footnoterule \footnotesize \multicolsep\z@\relax \hsize\textwidth \@parboxrestore % {\showoutput\batchmode\showbox\footins}% \raggedcolumns \bgroup \columnseprule 0\p@ \begin{multicols}{\the\ftn@col@number}% \unvbox \footins \end{multicols}% \egroup } \@twosidetrue \@mparswitchtrue % % disable clearpage; disable multicols \let\realclearpage\clearpage \let\clearpage\relax \def\multicols#1{\@ifnextchar[{\@fakem}{}} \def\@fakem[#1]{#1} \let\endmulticols\relax \def\Dings{} \setcounter{secnumdepth}{2} \setcounter{tocdepth}{2} \let\FAQverbFamily\ttfamily \DeclareRobustCommand{\FAQverb}[2]{{% \ifvmode\leavevmode\fi \lefthyphenmin=256\setlanguage\language \FAQverbFamily\hyphenchar\the\font`#1\relax \def\@tempa{#2}% \expandafter\@faq@strip\meaning\@tempa\@faq@strip \hyphenchar\the\font\m@ne }\setlanguage\language} \def\@faq@strip#1->#2\@faq@strip{#2} % % Document markup: % \makeatother % because @ is a delimiter here, it had better have the % same catcode as it will when the macro's invoked \def\Email|#1@#2|{\FAQverb\-{#1@}\penalty10\FAQverb\.{#2}} % email \makeatletter \def\FTP|#1|{\FAQverb\.{#1}} % FTP site \def\File|#1|{\FAQverb\/{#1}} % file name \def\CTAN{\FAQverb\/} % CTAN path \def\Newsgroup|#1|{\FAQverb\.{#1}} % newsgroup \def\URL|#1://#2/#3|{\FAQverb\.{#1://#2/}\penalty10\FAQverb\/{#3}} % % same game, slightly different style \def\ProgName|#1|{% % program name {% \def\FAQverbFamily{\rmfamily\mdseries\itshape}% \FAQverb\_{#1}\/% }% } % % ISBN references \def\ISBN#1{\mbox{ISBN}~#1} % \AtBeginDocument{% % for hyperref \def\toclevel@newarticle {1} \newcommand\theHnewarticle {\arabic{newarticle}} \renewcommand\theHsection {\arabic{newarticle}.\arabic{section}} \def\textsmaller#1{{\small#1}} \def\acro#1{\texorpdfstring{\textsmaller{#1}\@}{#1}} } \def\tub{TUGboat} %\batchmode \endinput %%