325 lines
9.7 KiB
TeX
325 lines
9.7 KiB
TeX
|
||
% article.sty 23 Sep 85
|
||
% modified by F.W. Long to provide headers and footers 17 March 1989
|
||
% modified by F.W. Long for West Wales Software, 29 May 1989
|
||
% modified by J.J. Rowland for InFACT documents 7 July 1989
|
||
% modified by H.R.Nicholls for student project documents 14 November 1991
|
||
% modified by H.R.Nicholls to indicate UW Aberystwyth, and change postcode, 14.10.92
|
||
|
||
\typeout{Group project doc style modified by N.W. Hardy 2010-10-12}
|
||
|
||
% 11pt style - no option
|
||
% a4 style for the height, adjusted later for width
|
||
% converted to a class file from projectstyle.sty by N.W.Hardy 2010-10-12
|
||
% Added necessary header material
|
||
% Removed unnecessary counters
|
||
% Page and font size now from options on the the loaded style
|
||
% Added a subtitle
|
||
% Removed cic and coconf
|
||
% Moved the front page address block to new position
|
||
% Made the header just a line not a table (cic and coconf)
|
||
% Changed all to Aberystywth University
|
||
|
||
\NeedsTeXFormat{LaTeX2e}
|
||
\ProvidesClass{project}[2010/10/12 Group project Class]
|
||
|
||
\LoadClass[11pt,a4paper,twoside]{article}
|
||
\usepackage[twoside,textheight=9.3in, width=6.25in,margin=2cm]{geometry}
|
||
|
||
\def\labelenumi{\arabic{enumi}.}
|
||
\def\theenumi{\arabic{enumi}}
|
||
\def\labelenumii{(\alph{enumii})}
|
||
\def\theenumii{\alph{enumii}}
|
||
\def\p@enumii{\theenumi}
|
||
\def\labelenumiii{\roman{enumiii}.}
|
||
\def\theenumiii{\roman{enumiii}}
|
||
\def\p@enumiii{\theenumi(\theenumii)}
|
||
\def\labelenumiv{\Alph{enumiv}.}
|
||
\def\theenumiv{\Alph{enumiv}}
|
||
\def\p@enumiv{\p@enumiii\theenumiii}
|
||
|
||
\def\labelitemi{$\bullet$}
|
||
\def\labelitemii{\bf --}
|
||
\def\labelitemiii{$\ast$}
|
||
\def\labelitemiv{$\cdot$}
|
||
|
||
\def\verse{\let\\=\@centercr
|
||
\list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
|
||
\rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
|
||
\let\endverse\endlist
|
||
\def\quotation{\list{}{\listparindent 1.5em
|
||
\itemindent\listparindent
|
||
\rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]}
|
||
\let\endquotation=\endlist
|
||
\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
|
||
\let\endquote=\endlist
|
||
|
||
\def\descriptionlabel#1{\hspace\labelsep \bf #1}
|
||
\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
|
||
\let\makelabel\descriptionlabel}}
|
||
\let\enddescription\endlist
|
||
|
||
|
||
\def\theequation{\arabic{equation}}
|
||
|
||
|
||
\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
|
||
\else \newpage \fi \thispagestyle{empty}\c@page\z@}
|
||
\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi}
|
||
|
||
\arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt
|
||
\tabbingsep \labelsep
|
||
|
||
\skip\@mpfootins = \skip\footins
|
||
\fboxsep = 3pt \fboxrule = .4pt
|
||
|
||
|
||
\def\thepart{\Roman{part}} \def\thesection {\arabic{section}}
|
||
\def\thesubsection {\thesection.\arabic{subsection}}
|
||
\def\thesubsubsection {\thesubsection .\arabic{subsubsection}}
|
||
\def\theparagraph {\thesubsubsection.\arabic{paragraph}}
|
||
\def\thesubparagraph {\theparagraph.\arabic{subparagraph}}
|
||
|
||
\def\@pnumwidth{1.55em}
|
||
\def\@tocrmarg {2.55em}
|
||
\def\@dotsep{4.5}
|
||
\setcounter{tocdepth}{3}
|
||
|
||
% set parskip to zero locally within the lists
|
||
|
||
\def\tableofcontents{\section*{CONTENTS}
|
||
{\parskip=0pt \@starttoc{toc}}}
|
||
\def\l@part#1#2{\addpenalty{\@secpenalty}
|
||
\addvspace{2.25em plus 1pt} \begingroup
|
||
\@tempdima 3em \parindent \z@ \rightskip \@pnumwidth \parfillskip
|
||
-\@pnumwidth
|
||
{\large \bf \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}}\par
|
||
\nobreak \endgroup}
|
||
\def\l@section#1#2{\addpenalty{\@secpenalty} \addvspace{1.0em plus 1pt}
|
||
\@tempdima 1.5em \begingroup
|
||
\parindent \z@ \rightskip \@pnumwidth
|
||
\parfillskip -\@pnumwidth
|
||
\bf \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}\par
|
||
\endgroup}
|
||
\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{\section*{LIST OF FIGURES}
|
||
{\parskip=0pt \@starttoc{lof}}}
|
||
\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
|
||
\def\listoftables{\section*{LIST OF TABLES}
|
||
{\parskip=0pt \@starttoc{lot}}}
|
||
\let\l@table\l@figure
|
||
|
||
|
||
\def\thebibliography#1{\section*{REFERENCES}\list
|
||
{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth
|
||
\advance\leftmargin\labelsep
|
||
\usecounter{enumi}}
|
||
\def\newblock{\hskip .11em plus .33em minus -.07em}
|
||
\sloppy
|
||
\sfcode`\.=1000\relax}
|
||
\let\endthebibliography=\endlist
|
||
|
||
|
||
\newif\if@restonecol
|
||
\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
|
||
\columnseprule \z@
|
||
\columnsep 35pt\twocolumn[\section*{Index}]
|
||
\markboth{INDEX}{INDEX}\thispagestyle{plain}\parindent\z@
|
||
\parskip\z@ plus .3pt\relax\let\item\@idxitem}
|
||
\def\@idxitem{\par\hangindent 40pt}
|
||
\def\subitem{\par\hangindent 40pt \hspace*{20pt}}
|
||
\def\subsubitem{\par\hangindent 40pt \hspace*{30pt}}
|
||
\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
|
||
\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax}
|
||
|
||
\def\footnoterule{\kern-3\p@
|
||
\hrule width .4\columnwidth
|
||
\kern 2.6\p@}
|
||
|
||
\long\def\@makefntext#1{\parindent 1em\noindent
|
||
\hbox to 1.8em{\hss$^{\@thefnmark}$}#1}
|
||
|
||
|
||
\setcounter{topnumber}{2}
|
||
\def\topfraction{.7}
|
||
\setcounter{bottomnumber}{1}
|
||
\def\bottomfraction{.3}
|
||
\setcounter{totalnumber}{3}
|
||
\def\textfraction{.2}
|
||
\def\floatpagefraction{.5}
|
||
\setcounter{dbltopnumber}{2}
|
||
\def\dbltopfraction{.7}
|
||
\def\dblfloatpagefraction{.5}
|
||
|
||
\long\def\@makecaption#1#2{
|
||
\vskip 10pt
|
||
\setbox\@tempboxa\hbox{#1: #2}
|
||
\ifdim \wd\@tempboxa >\hsize \unhbox\@tempboxa\par \else \hbox
|
||
to\hsize{\hfil\box\@tempboxa\hfil}
|
||
\fi}
|
||
|
||
|
||
\def\thefigure{\@arabic\c@figure}
|
||
\def\fps@figure{tbp}
|
||
\def\ftype@figure{1}
|
||
\def\ext@figure{lof}
|
||
\def\fnum@figure{Figure \thefigure}
|
||
\def\figure{\@float{figure}}
|
||
\let\endfigure\end@float
|
||
\@namedef{figure*}{\@dblfloat{figure}}
|
||
\@namedef{endfigure*}{\end@dblfloat}
|
||
|
||
\def\thetable{\@arabic\c@table}
|
||
\def\fps@table{tbp}
|
||
\def\ftype@table{2}
|
||
\def\ext@table{lot}
|
||
\def\fnum@table{Table \thetable}
|
||
\def\table{\@float{table}}
|
||
\let\endtable\end@float
|
||
\@namedef{table*}{\@dblfloat{table}}
|
||
\@namedef{endtable*}{\end@dblfloat}
|
||
|
||
|
||
% set up the information for the title page
|
||
% title redefined to also set shorttitle
|
||
|
||
\def\title#1{\gdef\@title{#1} \gdef\@shorttitle{#1}}
|
||
\def\subtitle#1{\gdef\@subtitle{#1}}
|
||
\def\shorttitle#1{\gdef\@shorttitle{#1}}
|
||
\def\client#1{\gdef\@client{{\it Client:} & #1 \\}} \gdef\@client{}
|
||
\def\configref#1{\gdef\@configref{#1}}
|
||
\def\projref#1{\gdef\@projref{{\it Proj. Ref.:} & #1 \\}} \gdef\@projref{}
|
||
\def\version#1{\gdef\@version{#1}}
|
||
\def\status#1{\gdef\@status{#1}}
|
||
|
||
|
||
% note pagestyle set to myheadings after the title page
|
||
|
||
\def\maketitle{\par
|
||
\begingroup
|
||
\def\thefootnote{\fnsymbol{footnote}}
|
||
\def\@makefnmark{\hbox
|
||
to 0pt{$^{\@thefnmark}$\hss}}
|
||
\if@twocolumn
|
||
\twocolumn[\@maketitle]
|
||
\else \newpage
|
||
\global\@topnum\z@ \@maketitle \fi\thispagestyle{myheadings}\@thanks
|
||
\endgroup
|
||
\setcounter{footnote}{0}
|
||
\let\maketitle\relax
|
||
\let\@maketitle\relax
|
||
\gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}
|
||
|
||
% generate the title page
|
||
% note the extra {...} to restrict the scope of headheight
|
||
|
||
\def\@maketitle{{\headheight 12pt\newpage
|
||
\thispagestyle{empty}\c@page\z@
|
||
\null
|
||
\vskip 0.4in
|
||
\hskip 0.5in
|
||
\begin{minipage}{5.25in}
|
||
\centering\Large\bf\@title\par
|
||
\centering\large\bf\@subtitle
|
||
\end{minipage}
|
||
|
||
\hskip 1.5in
|
||
\begin{tabular}[t]{lp{3.3in}}
|
||
{\it Author:} & \@author \\
|
||
\@projref
|
||
\@client
|
||
{\it Config.\ Ref.:} & \@configref \\
|
||
{\it Date:} & \@date \\
|
||
{\it Version:} & \@version \\
|
||
{\it Status:} & \@status \\
|
||
\end{tabular}\par
|
||
\vfill
|
||
\hskip 1.5in
|
||
\begin{minipage}{5.2in}
|
||
\begin{tabular}{l}
|
||
Department of Computer Science, \\
|
||
Aberystwyth University,\\
|
||
Aberystwyth, \\
|
||
Ceredigion, SY23 3DB, \\
|
||
U.K. \\
|
||
\\
|
||
\copyright Aberystwyth University \number\year \\
|
||
\end{tabular}
|
||
\end{minipage}
|
||
\newpage}}
|
||
|
||
\def\abstract{\if@twocolumn
|
||
\section*{Abstract}
|
||
\else \small
|
||
\begin{center}
|
||
{\bf Abstract\vspace{-.5em}\vspace{0pt}}
|
||
\end{center}
|
||
\quotation
|
||
\fi}
|
||
\def\endabstract{\if@twocolumn\else\endquotation\fi}
|
||
|
||
\mark{{}{}}
|
||
|
||
\if@twoside \def\ps@headings{\def\@oddfoot{}\def\@evenfoot{}\def\@evenhead{\rm
|
||
\thepage\hfil \sl \leftmark}\def\@oddhead{\hbox{}\sl \rightmark \hfil
|
||
\rm\thepage}\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth
|
||
>\z@
|
||
\thesection\hskip 1em\relax \fi ##1}}{}}\def\subsectionmark##1{\markright
|
||
{\ifnum \c@secnumdepth >\@ne
|
||
\thesubsection\hskip 1em\relax \fi ##1}}}
|
||
\else \def\ps@headings{\def\@oddfoot{}\def\@evenfoot{}\def\@oddhead{\hbox
|
||
{}\sl \rightmark \hfil \rm\thepage}\def\sectionmark##1{\markright
|
||
{\uppercase{\ifnum \c@secnumdepth >\z@
|
||
\thesection\hskip 1em\relax \fi ##1}}}}
|
||
\fi
|
||
|
||
% set up my own headers and footers
|
||
|
||
\def\ps@myheadings{\def\@oddhead{\headline}\def\@oddfoot{\footline}
|
||
\def\@evenhead{\headline}\def\@evenfoot{\footline}
|
||
\def\sectionmark##1{}\def\subsectionmark##1{}}
|
||
|
||
\newcommand{\headline}%
|
||
{\it \@shorttitle/\@version(\@status)\hfill ~}
|
||
\newcommand{\footline}%
|
||
{{\it Aberystwyth University/Computer Science} \hfill Page \thepage\ of \pageref{thelastpage}}
|
||
|
||
% set up our style parameters
|
||
|
||
\hyphenpenalty=5000
|
||
\doublehyphendemerits=10000
|
||
\finalhyphendemerits=10000
|
||
|
||
\topsep 0pt
|
||
\parskip 7pt plus 2pt minus 1pt
|
||
\parindent 0pt
|
||
|
||
%\setlength{\textwidth}{5.5in}
|
||
%\setlength{\evensidemargin}{\oddsidemargin}
|
||
|
||
% override the style for section and subsubsubsection headings
|
||
|
||
\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus
|
||
-.2ex}{2.3ex plus .2ex}{\large\bf}}
|
||
\def\paragraph{\@startsection
|
||
{paragraph}{4}{\z@}{-3ex plus -1ex minus -.2ex}{1ex plus .2ex}{\normalsize\bf}}
|
||
|
||
% subsubsubsection headings to be numbered, set secnumdepth accordingly
|
||
|
||
\setcounter{secnumdepth}{4}
|
||
|
||
% redefine today to produce English format dates
|
||
|
||
\def\today{\number\day\space\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
|
||
\space\number\year}
|
||
|
||
% more style definitions
|
||
|
||
\ps@myheadings \pagenumbering{arabic}
|
||
\onecolumn \if@twoside\else\raggedbottom\fi
|
||
|