% Baskerville.cls:
%   Adrian Clark
%   Sue Brooks
%   Sebastan Rahtz
%
% based on the original LaTeX ARTICLE DOCUMENT STYLE
%
%    for LaTeX2e
%
% 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
% 12.6.95 removed JF
% 8.95 worked on to make HH run. color and array need to go back
% 1996/02/06 DPC
%   Added fontmatter and submissiondates environments
%   Added \BASKed \BASKed* \BASKyear \BASKmonth
%   \BASKtitle \BASKheadparone and \BASKheadpartwo
%   commands set the `fixed' texts on the masthead.

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bask63}[1996/02/06 v3.12 Baskerville newsletter class]
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions
\LoadClass{article}
\RequirePackage[noisy]{textfit}
\RequirePackage{pifont}
%\RequirePackage{latexsym}
%\RequirePackage{calc}
%\RequirePackage{ifthen}
%\RequirePackage{longtable}
%\RequirePackage{texnames}
%\RequirePackage{shortvrb}
%\DeleteShortVerb{\|}
\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}}
%\def\path|#1|{\FAQverb\/{#1}}                              % generic path

% fonts to use
\renewcommand{\rmdefault}{mbvx}
\renewcommand{\sfdefault}{cmss}
\renewcommand{\ttdefault}{cmtt}
\fontencoding{T1}\fontfamily{mbvx}\selectfont
\DeclareFontShape{T1}{mbvx}{m}{sl}{<->ssub * mbvx/m/it}{}
\RequirePackage[T1]{fontenc}
%\RequirePackage{array}
%\def\arraybackslash{\let\\=\@arraycr}
%\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}}
%\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

%\RequirePackage{shortvrb}

\RequirePackage[dvips]{graphicx}
%\RequirePackage[dvips]{color}

% absolute requirements for every run
\RequirePackage{multicol}
\RequirePackage{relsize}

% the good ol' TUGboat acronym sizing macro
\DeclareRobustCommand\acro[1]{\textsmaller{#1}\@}

%\RequirePackage{mflogo}
%\RequirePackage{footcols}
\newcommand\bs{{\ttfamily\upshape\char'134}}

\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 -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\SSection{\@startsection{newarticle}{0}{\z@}
  {-24\p@ \@plus -12\p@ \@minus -.1\p@}
  {12\p@ \@plus 1\p@}
  {\raggedright\Large\bfseries}[\@title]}
\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           *
%  ****************************************
%

%% Volume Number (ie Year - 1990)
\def\BASKvol#1{\gdef\BASK@vol{#1}}
\BASKvol{?}

%% Issue Number (ie Month/2, roughly)
\def\BASKno#1{\gdef\BASK@no{#1}}
\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{????????}

%% Year (4 digits)
\def\BASKyear#1{\gdef\thisyear{#1}}
\BASKyear{????}

% Month (as a Word)
\def\BASKmonth#1{\gdef\thismonth{#1}}
\BASKmonth{?????}

\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.
\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 \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.  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{\end{quote}}
\def\@abstract{\subsection*{Summary}\begin{quote}}

%  ****************************************
%  *            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{}
\gdef\@longtitle{}
\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 >.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}
\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\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\UKTUG{UK \TeX\ Users' Group}
\def\ukt{{\textsmaller[2]{UK}}\acro{TUG}}
\let\shortuktug\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.
% --- -----------------------------------------------------------------

\let\maketitle\make@articletitle
\def\make@articletitle{\Section[\@title]{\@longtitle}}

% article is for smaller articles with single-column titles.
\def\article{%
 \setcounter{figure}{0}%
 \setcounter{table}{0}%
 \Section[\@title]{\@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}[\SSection{\@longtitle}]%
 \let\maketitle\relax
 \markright{\@shortauthor\hfill\@longtitle}%
}
% FAQ version of article ?
\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{}

% Use like a 4 column tabular but with no preamble argument.
\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}}}

% --- 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}}

%  ****************************************
%  *           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,.eps.gz,.ps.gz,.eps.Z,.pz,.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{\vspace*{0.25ex}\footnotesize\dingline{167}}}
%
\@twosidetrue  \@mparswitchtrue
\endinput
%%
