% Baskerville.cls: % Adrian Clark % Sue Brooks % Sebastan Rahtz % % based on the original LaTeX ARTICLE DOCUMENT STYLE % % for LaTeX2e % \def\filedate{1995/01/30} \def\fileversion{3.10} % 29.5.94 added ISSN % 2.6.94 corrected \ukt\ macro % 7.6.94 centered captions % 15.8.94 changed editor names etc % 2.11.94 use Alan Jeffrey's code for paths, emails, URLs etc % from faq.sty % put PA address in mast head % Journals use two-sided printing. % 1.12.94 cleaned again for FAQ issue. % 6.12.94 more little fixes for FAQ issue % 14.3.95 parameterized date \NeedsTeXFormat{LaTeX2e} \ProvidesClass{baskerv}[\filedate, Baskerville newsletter class \fileversion] \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ProcessOptions \LoadClass{article} \RequirePackage[noisy]{textfit} \RequirePackage{pifont} \RequirePackage{latexsym} \RequirePackage{calc} \RequirePackage{ifthen} \RequirePackage{longtable} \renewcommand{\rmdefault}{mbvx} \renewcommand{\sfdefault}{cmss} \renewcommand{\ttdefault}{cmtt} \fontfamily{mbv}\selectfont \DeclareFontShape{T1}{mbv}{m}{sl}{<->ssub * mbv/m/it}{} \RequirePackage{t1enc} \RequirePackage{array} \RequirePackage{shortvrb} \RequirePackage[dvips]{epsfig} \RequirePackage[dvips]{color} \RequirePackage{multicol} \RequirePackage{faq} \RequirePackage{mflogo} %\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 4\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 -2.5pc \evensidemargin -2.5pc \marginparwidth 4pc % don't use marginal notes... \marginparsep 0.5pc % ...in the UK TUG newsletter % VERTICAL SPACING: \topmargin -3pc \headheight 12\p@ \headsep 15\p@ \topskip 10\p@ \footskip 15\p@ % DIMENSION OF TEXT: \textheight 250mm % height of text on a page (A4 paper) \textwidth 180mm % 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} % \def\appendix{\par \setcounter{section}{0} \setcounter{subsection}{0} \def\thesection{\Alph{section}}} % **************************************** % * PARTS & SECTIONS NUMBERS * % **************************************** % \newcounter{newarticle} \@newctr{section}[newarticle] \def\thenewarticle {\Alph{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 * % **************************************** % \def\BASKvol#1{\gdef\BASK@vol{#1}} \gdef\BASK@vol{?} \def\BASKno#1{\gdef\BASK@no{#1}} \gdef\BASK@no{?} \def\makeBSKtitle{\par \begingroup \vspace*{-\headheight}% \@maketitle \bigskip\hrule\bigskip \thispagestyle{plain} \endgroup \let\maketitle\relax \let\@maketitle\relax } \newbox\BSKbox \def\@maketitle{% \centerline{{\bfseries \scaletowidth{\textwidth}{B\,a\,s\,k\,e\,r\,v\,i\,l\,l\,e}}} \medskip \hbox to \textwidth{\bfseries The Annals of the UK \TeX\ Users' Group\hfill Editor: Sebastian Rahtz\hfill Vol.~\BASK@vol\ No.~\BASK@no} \smallskip\hbox to \textwidth{\bfseries ISSN 1354--5930 \hfill \thismonth\ \thisyear} \medskip \noindent 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. \BV\ is set in Monotype Baskerville, with Computer Modern Typewriter for literal text, and printed on a Xerox Docutech. Production and distribution is undertaken in Cambridge by Robin Fairbairns and Jonathan Fine. 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}. 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} % % \ps@empty defined in LATEX.TEX % \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 Baskerville \hfill Volume \BASK@vol, Number \BASK@no} \def\@evenfoot{\rm \hfil --\thepage--\hfil} } \def\ps@myheadings{\let\@mkboth\@gobbletwo \def\@oddhead{\it\@shortauthor \hfill \@title} \def\@oddfoot{\rm \hfil --\thepage--\hfil} \def\@evenhead{\it Baskerville \hfill Volume \BASK@vol, Number \BASK@no} \def\@evenfoot{\rm \hfil --\thepage--\hfil} \def\sectionmark##1{} \def\subsectionmark##1{}} % **************************************** % * 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}{\z@}{1.5em}} \def\l@subsection{\@dottedtocline{2}{1.5em}{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 >\hsize \small{\bfseries #1.} #2\par \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} \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}} \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\UKTUG{UK \TeX\ Users' Group} \def\ukt{{\footnotesize UK}TUG} \let\shortuktug\ukt \def\PS{\textsc{PostScript}} \newcommand{\payuk}{UK TeX Users' Group} \newcommand{\Newline}{\\[0.7\baselineskip]} \newcommand{\FullLine}[1]{% \makebox[\textwidth][l]{#1\hrulefill}\Newline} \newcommand{\HalfLine}[1]{% \makebox[0.5\textwidth][l]{#1\hrulefill}} \def\Dash{---} % --- ----------------------------------------------------------------- % --- Additional commands. % --- ----------------------------------------------------------------- \let\maketitle\make@articletitle \def\make@articletitle{\Section{\@longtitle}} \def\article{% \setcounter{figure}{0}% \setcounter{table}{0}% \Section{\@longtitle}% \let\maketitle\relax \markright{\@shortauthor\hfill\@longtitle}% } % % Article is when the title is double column \def\Article{% \setcounter{figure}{0}% \setcounter{table}{0}% \begin{multicols}{2}[\Section{\@longtitle}]% \let\maketitle\relax \markright{\@shortauthor\hfill\@longtitle}% } % Article is when the title is double column \def\FArticle{% \setcounter{figure}{0}% \setcounter{table}{0}% \begin{multicols}{2}[\Section*{\@longtitle}]% } \def\endarticle{\@signature \gdef\@author{\mbox{}}} \def\endArticle{\@signature \gdef\@author{\mbox{}}\end{multicols}% } \let\endFArticle\endArticle \def\newarticlemark#1{} % --- Macros for cross-referencing tables and figures. \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$}} \def\Gin@extensions{eps,ps,psz} \def\Gin@sepdefault{.}% \@namedef{Gin@rule@psz}#1{{eps}{bb}{`gunzip -c #1}} % 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 } % % available for inter-article dinglines % \def\Dings{\nopagebreak{\footnotesize\dingline{167}}} % % breakable, no brackets, cites \def\@cite#1#2{{#1\if@tempswa , #2\fi}} \endinput %%