summaryrefslogtreecommitdiff
path: root/tex/thesis/usydthesis.cls
diff options
context:
space:
mode:
Diffstat (limited to 'tex/thesis/usydthesis.cls')
-rw-r--r--tex/thesis/usydthesis.cls387
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