diff options
Diffstat (limited to 'tex/thesis/usydthesis.cls')
| -rw-r--r-- | tex/thesis/usydthesis.cls | 387 | 
1 files changed, 387 insertions, 0 deletions
| diff --git a/tex/thesis/usydthesis.cls b/tex/thesis/usydthesis.cls new file mode 100644 index 0000000..e18eb53 --- /dev/null +++ b/tex/thesis/usydthesis.cls @@ -0,0 +1,387 @@ +% LaTeX2e thesis style.    by David Symonds, 2003 +% +%   This LaTeX style file is for a University of Sydney thesis. +% +%   (based on a style file by Andrew Mathas) + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{usydthesis} + +\include{config} + +% options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{amsart}} + +\ProcessOptions +\LoadClass[a4paper,oneside,11pt,reqno]{amsbook} + +\hfuzz=4pt +\vfuzz=4pt + +% packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% for the University crest +\usepackage{epsfig} +\usepackage{graphicx} + +% cross-references +\usepackage{style/prettyref} + +% Maths and algorithms +\usepackage{amssymb,amsmath} +\newcommand{\theHalgorithm}{\arabic{algorithm}} +\usepackage[ruled]{algorithm} +\usepackage{algorithmic} + +% Fancy footnotes +\usepackage[stable]{style/footmisc} + +% times fonts look better +\usepackage{times} +\usepackage[T1]{fontenc} +\usepackage{textcomp} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% we now change a few things in the standard amsbook setup + +% sections are numbered within the chapters +\numberwithin{section}{chapter} +\numberwithin{equation}{chapter} + +\def\chapter{% +  \cleardoublepage +  \thispagestyle{plain}\global\@topnum\z@ +  \@afterindenttrue \secdef\@chapter\@schapter} +\def\pagechapter{% +  \clearpage +  \thispagestyle{plain}\global\@topnum\z@ +  \@afterindenttrue \secdef\@chapter\@schapter} + +% section numbers in appendices shouldn't have a dot in them +% \def\appendix{\par +%   \c@chapter\z@ \c@section\z@ +%   \let\chaptername\appendixname +%   \def\thechapter{\@Alph\c@chapter} +%   \renewcommand\thesection{\thechapter{}\arabic{section}} +% } + +%%put dotfill in toc entries and make chapter entries bold  +\def\contentsname{\normalfont\scshape{Contents}} +\def\@tocline#1#2#3#4#5#6#7{\relax +\ifnum #1>\c@tocdepth % then omit +\else +  \par \addpenalty\@secpenalty\addvspace{#2}% +  \begingroup \hyphenpenalty\@M +  \@ifempty{#4}{% +    \@tempdima\csname r@tocindent\number#1\endcsname\relax +  }{% +    \@tempdima#4\relax +  }% +  \parindent\z@ \leftskip#3\relax \advance\leftskip\@tempdima\relax +  \rightskip\@pnumwidth plus4em \parfillskip-\@pnumwidth +  {#5\leavevmode\hskip-\@tempdima #6}\nobreak\relax +  \ifnum #1>0 % only dot for entries below chapter level +    \dotfill\hbox to\@pnumwidth{\@tocpagenum{#5{#7}}}\par +  \else +    \hfill\hbox to\@pnumwidth{\@tocpagenum{#5{#7}}}\par +  \fi +  \nobreak +  \endgroup +\fi +} +\def\l@chapter{\@tocline{0}{8pt plus1pt}{0pt}{}{\bfseries}} +\def\l@subsection{\@tocline{2}{0pt}{30pt}{}{}} +% tocline parameters: +%   1: depth (0=chapter, 1=section, etc.) +%   2: spacing above +%   3: indent +%   4: ? +%   5: font modifier +%   6: TOC entry +%   7: page number + +% chapter at top of chapters should be \sc rather than in capitals +\def\@makechapterhead#1{\global\topskip 7.5pc\relax +  \begingroup +  \fontsize{\@xivpt}{18}\bfseries\centering +    \ifnum\c@secnumdepth>\m@ne +      \leavevmode \hskip-\leftskip +      \rlap{\vbox to\z@{\vss +          \centerline{\normalsize\mdseries +              \@xp{\scshape\chaptername}\enspace\thechapter} +          \vskip 3pc}}\hskip\leftskip\fi +     #1\par \endgroup +  \vskip 2pt \hrulefill +  \skip@34\p@ \advance\skip@-\normalbaselineskip +  \vskip\skip@ } + +% the standard amsbook headings are not very good %%%% +\def\partrunhead#1#2#3{% +  \@ifnotempty{#2}{\ignorespaces#1 #2\unskip\@ifnotempty{#3}{ }}% +  \textsc{#3} +} + +\let\chapterrunhead\partrunhead +\let\sectionrunhead\partrunhead + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% date on title page of thesis +\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} + +\def\@sid#1{\textsc{sid}: #1} +\def\@supervisor#1{Supervisor: #1} +\def\@assocsupervisor#1{Associate Supervisor: #1} +   +% thesis title page +\def\@maketitle{ +  \cleardoublepage\thispagestyle{empty}% +  \begingroup \topskip\z@skip +    \null\vfil +    \begingroup +    \LARGE\bfseries \centering +    \openup\medskipamount +    \@title\par\vspace{30pt}% +    \centering\mdseries{\sc \authors}\par +    \centering\@sid{\sid}\par\bigskip +    \endgroup +    \vfil +    \begin{center} +      \vfil +      \fontsize{12}{12} +      \centering\@supervisor{\supervisor} +      \@ifundefined{assocsupervisor}{} { +       \\ \centering\@assocsupervisor{\assocsupervisor} +        } +      \par\bigskip +      This thesis is submitted in partial fulfillment of\\ +      the requirements for the degree of\\ +      \degree +    \vfil +      {\department\\ +      The University of Sydney\\ +      Australia}\\ +    \vfil +      \Today +    \vskip50mm +      \includegraphics[width=102mm]{usyd-primary-colour}\\ +    \end{center} +  \endgroup +  %\cleardoublepage +  \newpage +} + +% insert page break after tableofcontents +\def\tableofcontents{% +  \@starttoc{toc}\contentsname\newpage +} + +% control spacing in the bibliograph and fix up the toc entry +\def\thebibliography#1{ +  \c@chapter\z@ \c@section\z@\let\chaptername\relax +  \chapter*{References} +\singlespace   +  \list +  {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth +  \advance\leftmargin\labelsep +  \itemsep 11pt \parsep\z@\topsep\z@\parskip\z@ +  \usecounter{enumi}} +  \def\newblock{\hskip .11em plus .33em minus .07em} +  \sloppy\clubpenalty4000\widowpenalty4000 +  \sfcode`\.=1000\relax +} +   +\def\@lbibitem[#1]#2{\item[]\hspace{-\parindent}\if@filesw  +      { \def\protect##1{\string ##1\space}\immediate +        \write\@auxout{\string\bibcite{#2}{#1}}\fi\ignorespaces}} + +\def\@bibitem#1{\item\if@filesw \immediate\write\@auxout +       {\string\bibcite{#1}{\the\c@enumi}}\fi\ignorespaces} + +% Maybe some people do not want subsection headings indented +%\def\subsection{\@startsection{subsection}{2}% +%  \z@{0.7\linespacing}{.5\linespacing}% +%  {\normalfont\bfseries}} + +\def\section{\@startsection {section}{1}{\z@}{-2.0ex plus +    -0.5ex minus -.2ex}{1.5ex plus 0.3ex minus .2ex}{\Large\bf\raggedright}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-1.8ex plus +    -0.5ex minus -.2ex}{0.8ex plus .2ex}{\large\bf\raggedright}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{1.5ex plus +   0.5ex minus .2ex}{0.5ex plus .2ex}{\normalsize\bf\raggedright}} +\def\paragraph{\@startsection{paragraph}{4}{\z@}{1.5ex plus +   0.5ex minus .2ex}{-1em}{\normalsize\bf}} +\def\subparagraph{\@startsection{subparagraph}{5}{\parindent}{1.5ex plus +   0.5ex minus .2ex}{-1em}{\normalsize\bf}} + +% global macros %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Use "... \LaTeX{} ..." when mentioning LaTeX +\input texnames.sty + +% Paragraphs should not have their initial line indented, but instead we want +% a blank line between paragraphs. We do not want this for some stuff, so use +% the "\setupParagraphs" command just before the first chapter +\newcommand{\setupParagraphs}{ +    \setlength{\parindent}{0cm} +    \addtolength{\parskip}{0.5\baselineskip} +} + +% change the default labels for enumerate +%\renewcommand{\labelenumi}{\alph{enumi})} +%\renewcommand{\labelenumii}{(\roman{enumii})} + +% Algorithms should be numbered 'A', 'B', etc. +%\renewcommand{\thealgorithm}{\Alph{algorithm}} + +% Figures should be numbered globally +\renewcommand{\thefigure}{\thechapter.\arabic{figure}} +\renewcommand{\thetable}{\thechapter.\arabic{table}} + +\renewcommand{\theequation}{\thechapter.\arabic{equation}} + + +% some utilities +\newcommand*{\marginnote}[1] +    {\mbox{}\marginpar{$\leftarrow$ \small #1}\ignorespaces} +\newcommand{\attention}[1][\attentionsymbol] +    {\mbox{}\marginpar{\raggedright #1}} +\newcommand*{\attentionsymbol}{$\leftarrow$ \large\bfseries !} + +% maths stuff +\newtheorem{lemma}{Lemma} +\newcommand{\sd}[2]{#1 \triangle #2} + +\newcommand{\data}[1]{\texttt{#1}} + +\newcommand{\seesec}[1]{(see \Sec{#1})} +\newcommand{\seefig}[1]{(see \Fig{#1})} +\newcommand{\seeapp}[1]{(see \App{#1})} +\newcommand{\seetab}[1]{(see \Tab{#1})} + +\def\Sec#1{Section~\ref{#1}} +\def\Fig#1{Figure~\ref{#1}} +\def\Eqn#1{Equation~\ref{#1}} +\def\App#1{Appendix~\ref{#1}} +\def\sec#1{section~\ref{#1}} +\def\fig#1{figure~\ref{#1}} +\def\eqn#1{equation~\ref{#1}} +\def\Tab#1{Table~\ref{#1}} +\def\tab#1{table~\ref{#1}} + +\newcommand{\NB}{N.B.\@\xspace} +\newcommand{\eg}{e.g.} +\newcommand{\Eg}{E.g.} +\newcommand{\ie}{i.e.} +\newcommand{\Ie}{I.e.} +\newcommand{\etc}{etc.} +\newcommand{\etal}{{\em et al}.} +\newcommand{\etseq}{{\em et seq}.} +\newcommand{\precis}{pr\'ecis} +\newcommand{\Precis}{Pr\'ecis} +\newcommand{\role}{r\^ole} +\newcommand{\Role}{R\^ole} +\newcommand{\tm}{\raisebox{1ex}{\tiny TM}} +\newcommand{\cpright}{\raisebox{1ex}{\tiny\copyright}} +\newcommand{\degrees}{\raisebox{1.2ex}{\tiny\ensuremath{\circ}}} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% remove final '.' from section numbers (text) +% short title in TOC +\def\@sect#1#2#3#4#5#6[#7]#8{% +  \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}% +  \ifnum #2>\c@secnumdepth \let\@secnumber\@empty +  \else \@xp\let\@xp\@secnumber\csname the#1\endcsname\fi +  \@tempskipa #5\relax +  \ifnum #2>\c@secnumdepth +    \let\@svsec\@empty +  \else +    \refstepcounter{#1}% +    \edef\@secnumpunct{% +      \ifdim\@tempskipa>\z@ % not a run-in section heading +        \@ifnotempty{#8}{\@nx\enspace}% +      \else \@nx\enspace +      \fi +    }% +    \protected@edef\@svsec{% +      \ifnum#2<\@m +        \@ifundefined{#1name}{}{% +          \ignorespaces\csname #1name\endcsname\space +        }% +      \fi +      \@seccntformat{#1}% +    }% +  \fi +  \ifdim \@tempskipa>\z@ % then this is not a run-in section heading +    \begingroup #6\relax +    \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty\@M #8\par}% +    \endgroup +  \csname #1mark\endcsname{#7}% +    \ifnum#2>\@m \else \@tocwrite{#1}{#7}\fi +  \else +  \def\@svsechd{#6\hskip #3\@svsec +    \@ifnotempty{#8}{\ignorespaces#8\unskip +       \@addpunct.}% +    \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi +  }% +  \fi +  \global\@nobreaktrue +  \@xsect{#5}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% remove '.' after section number (TOC) +\renewcommand{\tocsection}[3]{% +  \indentlabel{\@ifnotempty{#2}{\ignorespaces#1 #2\quad}}#3} +\let\tocsubsection\tocsection +\let\tocsubsubsection\tocsection +\let\l@paragraph\l@subsubsection +\let\tocparagraph\tocsection +\let\l@subparagraph\l@subsubsection +\let\tocsubparagraph\tocsection +\let\tocpart\tocsection +\let\tocchapter\tocsection +\renewcommand{\tocappendix}[3]{% +  \indentlabel{#1\@ifnotempty{#2}{ #2}\quad}#3} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% table and figure captions use ':' not '.' +\long\def\@makecaption#1#2{% +  \setbox\@tempboxa\vbox{\color@setgroup +    \advance\hsize-2\captionindent\noindent +    \@captionfont\@captionheadfont#1\@xp\@ifnotempty\@xp +        {\@cdr#2\@nil}{:\@captionfont\upshape\enspace#2}% +    \unskip\kern-2\captionindent\par +    \global\setbox\@ne\lastbox\color@endgroup}% +  \ifhbox\@ne % the normal case +    \setbox\@ne\hbox{\unhbox\@ne\unskip\unskip\unpenalty\unkern}% +  \fi +  \ifdim\wd\@tempboxa=\z@ % this means caption will fit on one line +    \setbox\@ne\hbox to\columnwidth{\hss\kern-2\captionindent\box\@ne\hss}% +  \else % tempboxa contained more than one line +    \setbox\@ne\vbox{\unvbox\@tempboxa\parskip\z@skip +        \noindent\unhbox\@ne\advance\hsize-2\captionindent\par}% +  \fi +  \ifnum\@tempcnta<64 % if the float IS a figure... +    \addvspace\abovecaptionskip +    \hbox to\hsize{\kern\captionindent\box\@ne\hss}% +  \else % if the float IS NOT a figure... +    \addvspace\abovecaptionskip +    \hbox to\hsize{\kern\captionindent\box\@ne\hss}% +    \nobreak +    \vskip\belowcaptionskip +  \fi +\relax +} + + +\endinput | 
