diff options
author | Karl Berry <karl@freefriends.org> | 2010-09-13 16:19:56 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-09-13 16:19:56 +0000 |
commit | 911279d196a13bf093ab94e5373318522abb08f2 (patch) | |
tree | 69406662f7a1466f14b0ba4de66482e232dfa7ab /Master/texmf-dist/tex/latex | |
parent | e5bb7a83e26e4320c31744b69bfebb066a3182f0 (diff) |
new latex package uowthesis 1.0 (26jul10)
git-svn-id: svn://tug.org/texlive/trunk@19700 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/uowthesis/UoWlogo.eps | bin | 0 -> 3481642 bytes | |||
-rw-r--r-- | Master/texmf-dist/tex/latex/uowthesis/UoWlogo.png | bin | 0 -> 23032 bytes | |||
-rw-r--r-- | Master/texmf-dist/tex/latex/uowthesis/UoWthesis.cls | 858 |
3 files changed, 858 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/uowthesis/UoWlogo.eps b/Master/texmf-dist/tex/latex/uowthesis/UoWlogo.eps Binary files differnew file mode 100644 index 00000000000..c2f16d24408 --- /dev/null +++ b/Master/texmf-dist/tex/latex/uowthesis/UoWlogo.eps diff --git a/Master/texmf-dist/tex/latex/uowthesis/UoWlogo.png b/Master/texmf-dist/tex/latex/uowthesis/UoWlogo.png Binary files differnew file mode 100644 index 00000000000..b8269eaae46 --- /dev/null +++ b/Master/texmf-dist/tex/latex/uowthesis/UoWlogo.png diff --git a/Master/texmf-dist/tex/latex/uowthesis/UoWthesis.cls b/Master/texmf-dist/tex/latex/uowthesis/UoWthesis.cls new file mode 100644 index 00000000000..e2d779ca023 --- /dev/null +++ b/Master/texmf-dist/tex/latex/uowthesis/UoWthesis.cls @@ -0,0 +1,858 @@ +%% UoWthesis.cls +%% Document class to use with LaTeX 2e. +%% Copyright (C) 2007 Lei Ye +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `author-maintained'. +% +% This work consists of the file UoWthesis.cls +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% This document class to use with LaTeX2e is built on the standard +%% report class for preparation of PhD and other higher degree +%% research theses in compliance with the specifications of UoW +%% theses in the "Guidelines for Preparation and Submission of +%% Higher Degree Research Theses" (March 2006), by Research Student +%% Centre, Research & Innovation Division, UoW (the "Guidelines"). +%% However, this work is of no official status. It is created and +%% made available in the hope that it would be useful. +%% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% REVISION HISTORY: +%% +%% v1.0: 30/03/2007 (Lei Ye) +%% - Initial version +%% v1.0a: 26/05/2007 (Lei Ye) +%% - Bug fix: added space "\ " to avoid "no line here to end" +%% error caused by the absence of \degreeHeld in +%% \maketitle +%% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% USAGE: \documentclass{UoWthesis} +%% \documentclass[...options...]{UoWthesis} +%% +%% (Only to be used in this LaTeX2e native mode) +%% +%% The default settings produce a PhD dissertation (12pt font, +%% single-sided, double-spaced, hyper-linked) +%% +%% Thesis Class Options: +%% * Degrees +%% phd/master/other (Default: phd) +%% (master and other in fact are the same) +%% * Filfulment requirement +%% full/partial (Default: full for phd ) +%% ( partial for master/other) +%% * Line spacing for body text: +%% doublespacing/onehalfspacing +%% (Default: doublespacing) +%% * Hypertext in PDF +%% nohyper/hyper (Default: hyper) +%% * Copyright Page +%% copyright (Default: null for no copyright page) +%% +%% LaTeX2e Document Class Options: +%% Acceptable options pertaining to the +%% requirements of the "Guidelines" +%% +%% * Font Size: +%% 12/11/10 pt (Default: 12pt - altered from report) +%% * Printing Sides: +%% oneside/twoside (Default: oneside) +%% * Page Openning: +%% openany/openright (Default: openany for oneside +%% - altered from report) +%% ( openright for twoside +%% - altered from report) +%% +%% Thesis Class Micros and Commands (Preamble only): +%% \degree{...} (Required for master/other. Default: +%% Master of Computer Science - Research) +%% (Not used for phd) +%% Specify the name of the degree +%% \unit{...} (Required. Default: School of Computer +%% Science and Software Engineering) +%% Specify the name of the academic unit. +%% \faculty{...} (Required. Default: Faculty of +%% Informatics) +%% Specify the name of the faculty. +%% \degreeHeld{...} (Optional. Default: null) +%% Specify the degrees held, that will appear under your name +%% on the title page +%% \submissionDate{...}{...}{...} +%% (Required. Default: The 1st Fools' Day) +%% Specify the date of graduation +%% \keywords{...} (Required. Default: null) +%% Keywords to appear on the Abstract page +%% \dedication{...} (Optional. Default: null) +%% Recipients to appear on the Dedication page +%% +%% \dedicationtrue (Optional) +%% Turn on the dedication page +%% \noListOfTables (Optional) +%% Turn off the List of Tables +%% \noListOfFigures (Optional) +%% Turn off the List of Fifures +%% +%% Thesis Class Environments +%% \begin{abstract} ... end{abstract} +%% (Required) +%% Produce the abstract page +%% \begin{acknowledgements} ... end{acknowledgements} +%% (Everybody has one) +%% Produce the acknowledgements page +%% +%% The following class and packages are loaded: +%% +%% Any customisation should be done through them if possible, +%% direct access to TeX is discouraged to maintain compatibility. +%% +%% Class users can use options and commands from these packages +%% to alter the document design to suit specific needs. +%% +%% graphicx % Manaul: http://www.ctan.org/tex-archive/macros/latex/required/graphics/grfguide.pdf +%% fancyhdr % Required instalation with MikTeX basic installation +%% % Manual: http://www.tex.ac.uk/tex-archive/macros/latex/contrib/fancyhdr/fancyhdr.pdf +%% hyperref (if hyper) % Manual: ftp://tug.ctan.org/pub/tex-archive/macros/latex/contrib/hyperref/doc/manual.pdf +%% +%% Classes for internal use: +%% +%% setspace % Required instalation with MikTeX basic installation +%% nextpage (if twoside/openright) % Required instalation with MikTeX basic installation +%% geometry % Manual: ftp://tug.ctan.org/pub/tex-archive/macros/latex/contrib/geometry/manual.pdf +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% INFORMATION for potential authors who may contribute to bugfixes +%% or further feature developments +%% and hackers who may adapt it for other uses +%% +%% In order to maintain compatibility with other packages and +%% accessability through LaTeX2e and future versions' interfaces, +%% LaTeX2e package and classs programming guidelines are followed +%% to create a robust and protable class, which provents it from +%% clashing with the kernel, other packages or future updates. +%% +%% Info on LaTeX2e classs and package programming can be found: +%% +%% * "LaTeX2e for Class and Package Writers" by The LaTeX3 +%% Project, http://www.latex-project.org/guides/clsguide.pdf. +%% * "LaTeX Programming", Appendix D, "Guide to LaTeX", 4th Ed, +%% by H Kopka and P. Daly, Addison-Wesley, 2004 +%% * "A LaTeX Overview for Preamble, Package, and Class Writers", +%% Appendix A, "The LaTeX Companion", 2nd Ed, Addison-Wesley, 2004 +%% +%% Notes: +%% +%% * Do not cut-n-paste from other thesis classes and packages. +%% Most of them were created before LaTeX2e time and took very +%% different designs and approaches from this class, most of which +%% have programmed at the TeX level or used obsolete commands or +%% converted from legacy code with mixed commands, which makes +%% it unreliable to work with LaTeX2e packages. Please make +%% an effort to find the way to implement it with LaTeX2e if you +%% like some features in other pre-LaTeX2e codes. +%% +%% Most relevent to this class is the way to set headers and page +%% layout. DO NOT directly set them from TeX commands. Use +%% commands provided by LaTeX2e packages and allow compatibility. +%% +%% * Programming at LaTeX2e level: As designed for LaTeX2e, various +%% packages available to LaTeX2e have been employed to accomplish +%% various taskes. Avoid programming at the TeX level. Take +%% advantages of LaTeX2e packages to create robust user-defined +%% micros and commands at high-level whenever possible and do not +%% reinvent the wheel. Do not use undocumented commands not found +%% in Lamport official books, "LaTeX: A Document Preparation System" +%% +%% In LaTeX 2.09, package developers had to resort to using +%% low-level commands since there was very little support for +%% writing .sty files. LaTeX2e provides high-level commands for +%% structuring packages and makes it much easier to build classes +%% and packages on top of each other. One of the largest differences +%% between LaTeX 2.09 and LaTeX2e is in the commands used to write +%% packages and classes. +%% +%% * EXCLUSIVELY use LaTeX constructs to take advantage of LaTeX's +%% consistency cheking and portability to future versions of LaTeX. +%% Primitive TeX commands do not test for possible conflicts with +%% other packages. +%% +%% +%% * The following information is found in "LaTeX Programming", +%% Appendix D, "Guide to LaTeX", 4th Ed, by H Kopka and P. Daly, +%% Addison-Wesley, 2004 +%% +%% - Rule of Thumb: a command with @ IS NOT part of supported LaTeX +%% language and its behaviour may change in future releases. +%% Use them with care if you can not avoid. +%% +%% Use: Do Not Use: +%% \newcommand \def +%% \renewcommand +%% \newenvironment \myenv...\endmyenv +%% \renewenvironment +%% \setlength +%% \newlength +%% \sbox,\mbox,\parbox \setbox,\hbox,\vbox +%% \Package(Class)Error(Warning) +%% \@latexerr, \@warning +%% +%% - Use current LaTeX2e commands: Avoid using obsolete commands +%% +%% Use: Do Not Use: +%% NFSS, eg. \textbf TeX 2 letter declaration +% eg. \bf +%% +%% - Useful Safe Commands +%% +%% LaTeX Internal: +%% \@namedef{cmd}{def} +%% \@nameuse{cmd} +%% \@ifdefined{cmd}{true}{false} +%% \@ifnextcharchar{true}{false} +%% \@ifstar{true}{false} +%% \@for \obj := \list \do {cmds} +%% +%% TeX: LaTeX: +%% \newif\ifflag = \newboolean{flag} +%% \flagtrue = \setboolean{flag}{true} +%% \flagfalse = \setboolean{flag}{false} +%% \ifflag.. \else..\fi = \ifthenelse{\boolean{flag}{..}{..} +%% \ifcase num text_0 \or text_1 \or ... \fi +%% \endfile +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%%%%% IDENTIFICATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +% +\NeedsTeXFormat{LaTeX2e}[1994/06/01] +\ProvidesClass{UoWthesis}[2007/03/30 v1.0a, +University of Wollongong Thesis Class, by Lei Ye] +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%%%%% INITIAL CODE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +% +%%%%% General (configurable) parameters for a thesis +%% +%% Default values are provided +%% +% +%% Degree/academic unit{department,school}(unit)/faculty +\newcommand{\@degree}{Master of Computer Science - Research} +\newcommand{\degree}[1]{\renewcommand{\@degree}{#1}} +% +\newcommand{\@unit}{School of Computer Science and Software Engineering} +\newcommand{\unit}[1]{\renewcommand{\@unit}{#1}} +% +\newcommand{\@faculty}{Faculty of Informatics} +\newcommand{\faculty}[1]{\renewcommand{\@faculty}{#1}} +% +%% Degrees held +\newcommand{\@degreeHeld}{} +\newcommand{\degreeHeld}[1]{\renewcommand{\@degreeHeld}{#1}} +% +%% Univeristy name and logo +%% Not supposed to be changed. +%% The presence of uni logo (***.png) is used as +%% the condition to include the logo, +%% otherwise a thick rule will be printed in the place of the logo. +%% The logo graphics will be stretched to \textlength +%% To produce output file with uni logo in DVI/PS, the logo in +%% eps format (***.eps) is to be provided along with png verison. +%% Do not remove the PNG file that is used as the condition test +%% Hackers can change these values for other universities +%% Please DO NOT forget save-as-ing the file with a new filename +%% if you change the university name !!! +\newcommand{\@uni}{University of Wollongong} +\newcommand{\@unilogo}{UoWlogo} %(filename without ext) +% +%% +%% Certificaiton text +%% Not supposed to be changed +%% +%% Dear hackers, this may need to be changed for your university +%% +\newcommand{\@certificatetext}{\noindent I, \@author, declare that this thesis, submitted in \ifpartial partial \fi fulfilment of the requirements for the award of \ifphd Doctor of Philosophy\else \@degree \fi , in the \@unit, \@faculty, \@uni, is wholly my own work unless otherwise referenced or acknowledged. The document has not been submitted for qualifications at any other academic institution. \par} +% +%% +%%%%% Layout parameters +%% +%% Not supposed to be changed +%% +%% To meet the margin requirements, pp.7-8, Section 2.2, Guidelines +%% +%% left-hand > 40mm (1.57in) +%% right-hand> 20mm (0.79in) +%% top > 30mm (1.18in) +%% bottom > 20mm (0.79in) +%% +%% The following values for geometry are carefully selected for a4paper +%% They are tricky for top and bottom sides: +%% top includes \headheight + headsep +%% bottom includes \footskip +%% +\newcommand{\@leftside}{36mm} % there is a offset at the lefthand +\newcommand{\@rightside}{20mm} +\newcommand{\@topside}{1.65in} +\newcommand{\@bottomside}{1.25in} +% +% +%%%%%%%%%% DO NOT ALTER BELOW THIS LINE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% unless you know what you are doing +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%% +%%%%% Micros +%% +% +%% Submission Date, appears on title page and certification +\newcommand{\@submissionDay}{1} % the default is the April Fools' Day, 1392, +\newcommand{\@submissionMonth}{April} % considered as its origin +\newcommand{\@submissionYear}{1392} +\newcommand{\submissionDate}[3]{% + \renewcommand{\@submissionDay}{#1}% + \renewcommand{\@submissionMonth}{#2}% + \renewcommand{\@submissionYear}{#3}% +} +% +%% keywords +\newcommand{\@keywords}{} +\newcommand{\keywords}[1]{\renewcommand{\@keywords}{#1}} +% +%% dedication +\newcommand{\@dedication}{} +\newcommand{\dedication}[1]{\renewcommand{\@dedication}{#1}} +% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%%%%% DECLARATION OF OPTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Invalid options - normally used in report.cls and others, but not here: +%% +%% page title +\DeclareOption{titlepage}{\ClassWarning{Thesis Class}{Option 'titlepage': Title page always generated. Option ignored.}} +\DeclareOption{notitlepage}{\ClassWarning{Thesis Class}{Option 'notitlepage': Not available for thesis.}} +%% paper size +\DeclareOption{a4paper}{\ClassWarning{Thesis Class}{Option 'a4paper': Mandatory requirement. Option ignored.}} +\DeclareOption{legalpaper}{\ClassWarning{Thesis Class}{Option 'legalpaper': Not available for thesis.}} +\DeclareOption{a5paper}{\ClassWarning{Thesis Class}{Option 'a5paper': Not available for thesis.}} +\DeclareOption{executivepaper}{\ClassWarning{Thesis Class}{Option 'executivepaper': Not available for thesis.}} +\DeclareOption{b5paper}{\ClassWarning{Thesis Class}{Option 'b5paper': Not available for thesis.}} +\DeclareOption{letterpaper}{\ClassWarning{Thesis Class}{Option 'letterpaper': Not available for thesis.}} +\DeclareOption{landscape}{\ClassWarning{Thesis Class}{Option 'landscape': Not available for thesis.}} +% +%% Determine the degree program: PhD or Masters by Research or others +\newif\ifphd +\DeclareOption{phd}{\phdtrue} +\DeclareOption{master}{\phdfalse \partialtrue} +\DeclareOption{other}{\phdfalse \partialtrue} +\ExecuteOptions{phd} %Default: phd +% +%% Set condition for "partial" fulfilment on title +%% page and certification +%% "full" does nothing but omits the word "partial" +\newif\ifpartial +\DeclareOption{partial}{\partialtrue} +\DeclareOption{full}{\partialfalse} +\ExecuteOptions{full} %Default: full +% +%% Define a parameter for fontsize to set default to 12pt +%% report default was 10pt +%% using \PassOptionsToClass and \ExecuteOptions{12pt} did not work +\newcommand\@fontSize{} +\DeclareOption{10pt}{\renewcommand\@fontSize{10pt}} +\DeclareOption{11pt}{\renewcommand\@fontSize{11pt}} +\DeclareOption{12pt}{\renewcommand\@fontSize{12pt}} +\ExecuteOptions{12pt} +% +%% Set line spacing +\newif\ifdouble +\DeclareOption{doublespacing}{\doubletrue} +\DeclareOption{onehalfspacing}{\doublefalse} +\ExecuteOptions{doublespacing} %Default: doublespacing +% +%% Determine whether hyperlinks would be created in PDF +\newif\ifhyper +\DeclareOption{hyper}{\hypertrue} +\DeclareOption{nohyper}{\hyperfalse} +\ExecuteOptions{hyper} %Default: hyper +% +%% Determine whether the copyright page would be created +%% copyright page is not required by the "Guidelines" +%% +\newif\ifcopyright +\DeclareOption{copyright}{\copyrighttrue} +% +%% Determine whether openright for twosided priting +%% defualt: openright for twoside +%% openany for oneside +%% defaults different from report class defaults +\newif\ifopentwosideright +%% Use openright when two side printed +\DeclareOption{twoside}{% + \opentwosiderighttrue \PassOptionsToClass{twoside, openright}{report}% +} +\DeclareOption{openany}{% + \opentwosiderightfalse \PassOptionsToClass{openany}{report}% +} +% +%% +%%%%% Switches +%% +% +%% Dedication page is not required by the "Guidelines" +%% +\newif\ifdedication +\dedicationfalse %Default: no dedication page +% +%% List of Figures/Tables are required by the "Guidelines" +%% turn them off if no figures/tables in the thesis +\newif\ifListOfFigures +\ListOfFigurestrue %Default: create List of Figures +\newif\ifListOfTables +\ListOfTablestrue %Default: create List of Tables +% +%% Generate List of Figures/Tablles by default +%% +\newcommand{\noListOfTables}{\ListOfTablesfalse} +\newcommand{\noListOfFigures}{\ListOfFiguresfalse} +% +%% Pass the rest of options (not captured by \DeclareOption{}) +%% to report class +\DeclareOption*{% + \PassOptionsToClass{\CurrentOption}{report}% +} +% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%%%%% EXECUTION OF OPTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +% +%% Golobal options from \docoumentclass[...] will be automatically +%% passed to all required packages +\ProcessOptions +% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%%%%% PACKAGE LOADING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% +%%%%% Loading standard document report class +%% +%% a4paper - The paper size has been forced to ISO A4 +%% to meet the requirement, p.7, Section 2.2, the Guidelines +% +%% The papersize option will be overwritten by the option passed down +%% from the current class, otheroptions (eg. fontsize) will not. +%% Specifying a letterpaper in \documentclass turned out to be fine, +%% thanks to the way the layout is set in this class +\LoadClass[a4paper, \@fontSize]{report}[2004/02/16] +% +%% +%%%%% Loading required packages +%% +% +%% To set the page layout +%% +%% in goemetry: +%% paperwidth = left + width + right +%% paperheight = top + height + bottom +%% top includes \headheight + headsep +%% bottom includes \footskip +%% +%% The headheight must not < 14.49998pt for fancyhdr +%% marginparwidth=-1pt Please do not use margin notes +%% +\RequirePackage[left=\@leftside, right=\@rightside, top=\@topside, bottom=\@bottomside, headheight=14.5pt, marginparwidth=-1pt]{geometry}[2002/07/08] +% +\newcommand{\@setLongPage}{% + %\geometry{top=.75in} %doesnt work here + \setlength\topmargin{-.3in} % move the top of text to the top of the head roughly + % = remove the headheight + \enlargethispage{1.8cm}% +}% +\newcommand{\@setNormalPage}{% + \setlength\topmargin{0in} % set it back to top=\@topside +} +% +%% To produce fancy headers +%% See \frontmatter +\RequirePackage{fancyhdr} +% +%% For setting line space +\RequirePackage{setspace}[2000/12/01] +% +% required for loading the University logo +\RequirePackage{graphicx}[1999/02/16] +% +%% To create a blank verso page for recto-verso (twoside/openright) printing +\ifopentwosideright% + \RequirePackage{nextpage}[2000/02/20]% + \renewcommand\cleardoublepage{\cleartooddpage[% + \thispagestyle{empty}% + \vfill% + \begin{center}% + (INTENTIONALLY BLANK)% + \end{center}% + \vfill]}% +\else% + \renewcommand\cleardoublepage{\clearpage} % if not twoside open right, clear one page only +\fi +% +%% To produce hypertext version of PDF; +%% +%% loaded as the last package +%% "plainpages" option false is used to avoid duplicate page identifiers +%% +%% "colorlinks" will be grayed when printed +%\ifhyper\RequirePackage[plainpages=false, colorlinks, bookmarks, bookmarksnumbered, breaklinks, linkcolor={blue}]{hyperref}\fi +\ifhyper\RequirePackage[plainpages=false, pdfpagelabels, bookmarks, bookmarksnumbered, breaklinks]{hyperref}[2003/11/30]\fi +% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%%%%% MAIN CODE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%% +%%%%% Configuratons +%% +% +%% setting section numbering depth, 10 should be sufficient +\setcounter{secnumdepth}{10} +%% +%% Remove page number at the footer of \chapter pages, if you like +%\let\ps@plain=\ps@empty +% +%% +%% +%%%%% Renew command: maketitle +%% +%% Formated to meet the requirements +%% Appendix I, Guidelines +\renewcommand{\maketitle}{% + \thispagestyle{empty}% + \@setLongPage% + \IfFileExists{\@unilogo .png}{% + \noindent\includegraphics[width=\textwidth]{\@unilogo}}% + {\ClassWarning{Thesis Class}{The University logo file: \@unilogo .png is not present. % + A rule is printed in the place of the logo.}% + \rule{\linewidth}{2.5pt}}% + \vspace{1.5cm}% + \begin{center}% + \Large \MakeUppercase{\textbf{\@title}}% + \end{center}% + \vfill% + \begin{center}% + A \ifphd Dissertation \else Thesis \fi Submitted in \ifpartial Partial \fi Fulfilment of \\% + the Requirements for the Award of the Degree of \\% + \vfill% + \Large \ifphd Doctor of Philosophy \else \@degree \fi \\% + \vfill% + \normalsize% + from\\% + \vfill% + \large \MakeUppercase{\@uni}% + \end{center}% + \vfill% + \begin{center}% + by\\% + \vfill% + \large \@author \\[0.2cm]% + %%v1.0a A space "\ " added to handle empty \@degreeHeld that caused "no line here to end" error + %\normalsize {\itshape\@degreeHeld}\\% + \normalsize {\itshape\@degreeHeld}\ \\% + \vfill% + \@unit \\% + \@faculty \\[0.5cm]% + \@submissionYear% + \end{center}% + \rule\linewidth{1.5pt}% + \clearpage% + \@setNormalPage% +} +% +%% +%%%%% New command: makecertificationpage +%% +%% Formatted to meet the requirements +%% Appendix J, Guidelines +\newcommand{\@makecertificationpage}{% + \thispagestyle{empty}% + \begin{center}% + \null\vspace{3cm}% + \Large \textbf{CERTIFICATION}% + \vspace{1cm}% + \end{center}% + + \@certificatetext% + + \vspace{2.5cm}% + \noindent\underline{~(Signature~~Required)~}\\[0.2cm]% + \noindent\@author\\% + \noindent\@submissionDay\ \@submissionMonth\ \@submissionYear % + %\today% + \cleardoublepage% +} +% +%% +%%%%% Renew abstract environment +%% +%% Abstract is formated to meet the requriements +%% +%% p.18, Section 3.8, Guidelines +%% +\renewenvironment{abstract}{% + \newpage% + \@setLongPage% + \pagestyle{empty}% + \begin{center}% + \large \textsc{\@title} \\% + \vspace{0.3cm} % + \normalsize \@author\\% + \vspace{0.3cm}% + A Thesis for \@degree \\% + \vspace{0.2cm}% + \@unit \\% + %\@faculty \\% + \@uni \\% + %\vspace{0.5cm}% + \section*{ABSTRACT} % placeholder for hypertext bookmark to work + \addtocontents{toc}{\vspace{10pt}} % add space after the LOT/LOF + \addcontentsline{toc}{section}{ABSTRACT}% + \end{center}% +}{% + \vfill% + \begin{flushleft}% + \textbf{KEYWORDS:}\ \ \@keywords% + \end{flushleft}% + \@setNormalPage% + \cleardoublepage% +} +% +%% +%%%%% New command: makecopyrightpage +%% +%% The IP right does not depend on whether this page is present +%% See University policy on IP +\newcommand\@makecopyrightpage{% + \newpage% + \begin{doublespace} % use pagacke setspace + \begin{center}% + \null\vfill% + \copyright\ Copyright\ \@submissionYear \\% + by\\% + \@author \\% + ALL RIGHTS RESERVED\\% + \vfill\null% + \end{center}% + \end{doublespace}% + \cleardoublepage% +} +% +%% +%%%%% New command: makededicationpage +%% +\newcommand\@makededicationpage{% + \thispagestyle{empty}% + \null\vfill% + \begin{flushright}% + \Large \itshape \textbf{Dedicated to}\hspace{2cm} \null\\[1cm]% + \large \@dedication% + \end{flushright}% + \vfill\null% + \cleardoublepage% +} +% +%% +%%%%% New envoronment: acknowledgements +%% +\newenvironment{acknowledgements}{% + \pagestyle{plain}% + \chapter*{Acknowledgements} % To have the advantage of chapter headings + \section*{} % placeholder for hypertext bookmark to work + \addcontentsline{toc}{section}{Acknowledgements}% + \vspace{-1cm}% +}{% + \cleardoublepage% +} +% +%% +%%%%% Change the predefined heading text +%% +% +%% Set the new title for \tableofcontents +%% default was Contents +\renewcommand{\contentsname}{Table of Contents} +% +%% Set the new title for \bibliography +%% default was Bibliography +\renewcommand{\bibname}{References} +% +%% Add a reference into TOC +\let\@ldbibliography\bibliography +\renewcommand{\bibliography}[1]{\@ldbibliography{#1} \addcontentsline{toc}{chapter}{\bibname}} +% +%% Good news for hackers +%% To produce a thesis in a language other than English, +%% the following preprogrammed heading text must be redefined, +%% plus other English words on title, copyright, certifiction, +%% dedication and blank pages +%% +%% eg. +%% \providecomamnd*{\chaptername}{} +%% \renewcommand*{\chapteranme}{Chpitre} +%% +%% \tableofcontents -> \contentsname{Contents} +%% \listoffigures -> \listfigurename{List of Figures} +%% \listoftables -> \listtablename{List of Tables} +%% \thebibliography -> \bibname{Bibliography} +%% \theindex -> \indexname{Index} +%% +%% \part -> \partname{Part} +%% \chapter -> \chaptername{Chapter} +%% \appendix -> \appendixname{Appendix} +%% +%% \begin{abstract} -> \abstractname{Abstract} +%% \begin{acknowledge} -> \acknowledgename{Acknowledgments} +%% \begin{figure} -> \figurename{Figure} +%% \begin{table} -> \tablename{Table} +% +%% +%%%%% New command: frontmatter +%% +%% to create frontmatter +%% CAUTION: the command frontmatter is also defined by the book class +%% but not by the report class +%% +\newcommand\frontmatter{% + % + %% Setup PDF description + %% This can not be put after maketitle, or the \@author etc + %% will be blank, affected by clear{double}page + \ifhyper\hypersetup{% + pdfauthor={\@author},% + pdftitle={\@title},% + pdfkeywords={\@keywords}}% + \fi% + % + \pagestyle{empty}% + \singlespacing% + %% Use different page numbering to avoid warnings + %% for duplicated page idnetifier from hyperref package + \pagenumbering{alph}% + % + \maketitle % Requried: Title Page + % + \ifcopyright \@makecopyrightpage \fi% + \cleardoublepage% + % + \@makecertificationpage % Required: Certification + % + \ifdedication \@makededicationpage \fi% + % + \pagestyle{headings}% + \pagenumbering{roman}% + \tableofcontents % Required: Table of Contents + %% if no \noListOfTables + \ifListOfTables{% + \listoftables % Required: List of Tables + \addcontentsline{toc}{section}{List of Tables}% + }\fi% + %% if no \noListOfFugures + \ifListOfFigures{% + \listoffigures % Required: List of Figures, Illustrations + \addcontentsline{toc}{section}{List of Figures/Illustrations}% + }\fi% + \cleardoublepage% + % + % not implemented: List of Special Names or Abbreviations + % Required: List of Special Names or Abbreviations + % Not everybody has it +} % end of frontmatter +% +%% +%%%%% New command: mainmatter +%% +%% to set up style etc for the body text +%% +\newcommand\mainmatter{% + % + \ifdouble\doublespacing \else\onehalfspacing\fi% + \pagenumbering{arabic}% + % + %% Set fancy header for body pages + \pagestyle{fancy}% + %% Configure the header fields + %% + %% Stop changing all chapter and section in header to uppercase + %% + %% the following are suggested by Piet van Oostrum, the author of + %% fancyhdr, in the doc "Page layout in LaTeX", March 2, 2004, + %% found at http://www.tex.ac.uk/tex-archive/macros/latex/contrib/fancyhdr/. + %% But they didn't work. They caused errors. + %% + %% 1. p.9 + %% \renewcommand{\sectionmark}[1]{\markright{\thesection. \ #1}} + %% 2. p.10 + %% \renewcommand{\chaptermark}[1]{% + %% \markboth{\chaptername + %% \ \thechapter.\ #1}{}} + %% + %% the following, no errors but no effect either + %% 3. p.6 + %% \lhead{\nouppercase{\leftmark}} + %% I found the following working + \let\@lmk\leftmark + \renewcommand{\leftmark}{\textsl{\nouppercase\@lmk}} + \let\@rmk\rightmark + \renewcommand{\rightmark}{\textsl{\nouppercase\@rmk}} + %% great! + % + \fancyfoot{} % clear footer + % + \if@twoside{ % No panic! @twoside is a LaTeX switch, not TeX one as it appears to be + %% + %% \markboth{main-mark}{sub-mark} + %% \leftmark <- main-mark + %% \rightmark <- sub-mark + %% if main-mark <- \chapter or sub-mark <- \section + %% hence the following + %% + \fancyhead[RO,LE]{\thepage}% + \fancyhead[RE]{\leftmark} % Chapter title + \fancyhead[LO]{\rightmark} % Section title + }\else{% + \fancyhead[R]{\thepage}% + %\fancyhead[L]{\leftmark} % Chapter title + \fancyhead[L]{\rightmark} % Section title + }\fi% +} % end of mainmatter +% +%% +\endinput %Job done! Holiday time!! +% +%%%%% End of Class Code %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + |