diff options
author | Karl Berry <karl@freefriends.org> | 2019-02-01 22:23:43 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-02-01 22:23:43 +0000 |
commit | 25159401966ff30b596061231e5d83cbeaced439 (patch) | |
tree | 3d18680e0e0c2df80958f1e76408b0d39801c742 /Master/texmf-dist/tex/latex/unswthesis/unswthesis.cls | |
parent | 81e6580b3a8c804a54437bcfeac4e9bee8529ce2 (diff) |
unswthesis (1feb19)
git-svn-id: svn://tug.org/texlive/trunk@49899 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/unswthesis/unswthesis.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/unswthesis/unswthesis.cls | 286 |
1 files changed, 286 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/unswthesis/unswthesis.cls b/Master/texmf-dist/tex/latex/unswthesis/unswthesis.cls new file mode 100644 index 00000000000..3c8a256e0da --- /dev/null +++ b/Master/texmf-dist/tex/latex/unswthesis/unswthesis.cls @@ -0,0 +1,286 @@ +%%% ==================================================================== +%%% @LaTeX-class-file{ +%%% filename = "unswthesis.cls", +%%% version = "1.6a", +%%% date = "23 October 1995", +%%% writtenby = "John Zaitseff", +%%% email = "J.Zaitseff@unsw.edu.au", +%%% keywords = "LaTeX, thesis, unsw, unswthesis", +%%% docstring = "This file provides a thesis class for the +%%% University of New South Wales, Australia." +%%% } +%%% ==================================================================== + +% This file provides a thesis class for the School of Computer Science +% and Engineering, University of New South Wales. It is meant to be +% used with LaTeX-2e, and exists because of the archaic standards +% required by universities all over the world with regards to thesis +% styles. +% +% As with all class files, this class is meant to be used as the exclusive +% LaTeX-2e class for the entire document. It may be introduced in the +% document via: +% +% \documentclass{unswthesis} +% +% As always, options may be placed before the {unswthesis}. In this case, +% the following options are supported: +% +% singlespacing - Single-space the document (ie, do not apply the +% thesis requirements). +% doublespacing - Double-space the document (actually, space it +% 1.21 times the baseline). +% draft - Prints the word "DRAFT" across the front page, +% as well as on each page (in the footer). +% final - Opposite of draft: do not print "DRAFT". +% +% All of the options for the Book class are also supported, namely, +% 10pt, 11pt, 12pt (11pt is used by default) +% letterpaper, legalpaper, +% executivepaper, a4paper, +% a5paper, b5paper (a4paper used by default) +% landscape (not used by default) +% oneside, twoside (oneside used by default) +% openright, openany (openany used by default) +% onecolumn, twocolumn (onecolumn used by default) +% openbib (not used by default) +% leqn, fleqn (not used by default) +% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{unswthesis}% + [1995/10/23 v1.6a University of NSW Thesis Class] +\RequirePackage{fancyheadings} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Changeable Parameters % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Change these for customisation. To change them in a LaTeX document, +% simply use \thesisuni{xxx} and \thesisschool{xxx}. + +\gdef\@thesisuni{The University of New South Wales} +\gdef\@thesisschool{School of Electrical Engineering and\\% + Computer Science and Engineering} + +% Customise for foreign languages. + +\def\supervisorname{Supervisor:} +\def\assessorname{Assessor:} +\def\abstractname{Abstract} + +%%%%%%%%%%%%%%%%%%%%% +% Class options % +%%%%%%%%%%%%%%%%%%%%% + +\newif\if@dspacing{} +\newif\if@thdraft{} +\newcommand\droptnm{final} + +\DeclareOption{singlespacing}{\@dspacingfalse} +\DeclareOption{doublespacing}{\@dspacingtrue} +\DeclareOption{draft}{\@thdrafttrue\renewcommand\droptnm{draft}} +\DeclareOption{final}{\@thdraftfalse\renewcommand\droptnm{final}} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}} +\ExecuteOptions{doublespacing,final} +\ProcessOptions +\LoadClass[a4paper,11pt,oneside,openany,\droptnm]{book} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Draft / final options % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\if@thdraft% + \RequirePackage[first,light]{draftcopy}% +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Double and single spacing % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newcommand{\ssp}{% + \def\baselinestretch{1}% + \large\normalsize\selectfont} +\newcommand{\dsp}{% + \def\baselinestretch{1.21}% + \large\normalsize\selectfont} + +% Define conditional: + +\if@dspacing% + \newcommand\s@dsp{\dsp}% +\else% + \newcommand\s@dsp{\ssp}% +\fi + +% Conditional Double-spacing environment + +\def\spacing{% + \begingroup% + \s@dsp}% +\def\endspacing{% + \par \vskip \parskip \vskip \baselineskip% + \endgroup% + \vskip -\parskip% + \vskip -\baselineskip} + +% Always single-space + +\def\sspacing{% + \begingroup% + \ssp}% +\def\endsspacing{% + \par \vskip \parskip \vskip \baselineskip% + \endgroup% + \vskip -\parskip% + \vskip -\baselineskip} + +% Execute the following ONLY if double-spacing was selected. + +\if@dspacing + % The following are from "book.cls": + \renewcommand{\mainmatter}{% + \cleardoublepage\@mainmattertrue\pagenumbering{arabic}\s@dsp} + \renewcommand{\backmatter}{% + \if@openright\cleardoublepage\else\clearpage\fi% + \@mainmatterfalse\ssp} + \renewenvironment{figure}[1][tbp]{\@float{figure}[#1]\ssp}{\end@float\s@dsp} + \renewenvironment{figure*}[1][tbp]{\@dblfloat{figure}[#1]\ssp}{\end@dblfloat\s@dsp} + \renewenvironment{table}[1][tbp]{\@float{table}[#1]\ssp}{\end@float\s@dsp} + \renewenvironment{table*}[1][tbp]{\@dblfloat{table}[#1]\ssp}{\end@dblfloat\s@dsp} + + % The following are from "latex.ltx". BUG: This is NOT single-spaced. + + \long\def\@footnotetext#1{\insert\footins{% + \ssp% % Should be single-spaced, but... + \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark + }% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox} + \color@endgroup}} +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Miscellaneous Commands % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\DeclareFontShape{OT1}{cmr}{bx}{sl}{<-> cmbxsl10}{} +\newcommand{\HUGE}{% + \fontencoding{OT1}\fontfamily{cmr}% + \fontseries{bx}\fontshape{sl}% + \fontsize{36}{45}\selectfont} + +\newcommand{\thesisuni}[1]{\gdef\@thesisuni{#1}} +\newcommand{\thesisschool}[1]{\gdef\@thesisschool{#1}} +\newcommand{\thesistitle}[1]{\gdef\@thesistitle{#1}} +\newcommand{\thesisauthor}[1]{\gdef\@thesisauthor{#1}} +\newcommand{\thesisdegree}[1]{\gdef\@thesisdegree{#1}} +\newcommand{\thesisdate}[1]{\gdef\@thesisdate{#1}} +\newcommand{\thesissupervisor}[1]{\gdef\@thesissupervisor{#1}} +\newcommand{\thesisassessor}[1]{\gdef\@thesisassessor{#1}} + +\newcommand{\@thesistitle}{\@latex@error{No \noexpand\thesistitle given}\@ehc} +\newcommand{\@thesisauthor}{\@latex@error{No \noexpand\thesisauthor given}\@ehc} +\newcommand{\@thesisdegree}{\@latex@error{No \noexpand\thesisdegree given}\@ehc} +\newcommand{\@thesisdate}{\@latex@error{No \noexpand\thesisdate given}\@ehc} +\newcommand{\@thesissupervisor}{\@latex@error{No \noexpand\thesissupervisor given}\@ehc} +\newcommand{\@thesisassessor}{\@latex@error{No \noexpand\thesisassessor given}\@ehc} + +\renewcommand{\title}[1]{\@latex@warning{\noexpand\title is not used with this class}} +\renewcommand{\author}[1]{\@latex@warning{\noexpand\author is not used with this class}} +\renewcommand{\date}[1]{\@latex@warning{\noexpand\date is not used with this class}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Thesis front matter % +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Title page + +\renewcommand{\maketitle}% + {\begin{titlepage}% + \null\vfil + \begin{center}% + {\huge \scshape \@thesisuni \par}% + \vskip 2em% + {\Large \scshape \@thesisschool \par}% + \vskip 7em% + {\HUGE \@thesistitle \par}% + \vskip 6em% + {\Large \bfseries \@thesisauthor \par}% + \vskip .7em% + {\large \@thesisdegree \par}% + \vskip .7em% + {\large \@thesisdate \par}% + \vskip 8em% + {\large \textsl{\supervisorname}\ \@thesissupervisor \par}% + {\large \textsl{\assessorname}\ \@thesisassessor \par}% + \end{center}\par + \vskip 30\p@ + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \let\maketitle\relax} + +% Abstract environment (not defined by "book.cls") + +\newenvironment{abstract}{% + \titlepage + \null\vfil + \begin{center}% + {\Large \bfseries \abstractname} + \@endparpenalty\@M + \end{center}\spacing}% + {\endspacing\par\vfil\null\endtitlepage} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% General Page Parameters % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% The university requirements specify a 25mm border all around, except for +% the bottom (20mm). We actually increase this to make it more +% typographically correct. The page dimensions used were taken from "The +% LaTeX Companion", p. 85, with appropriate modifications. + +%\setlength\oddsidemargin{15\p@} +%\setlength\evensidemargin{15\p@} +\setlength\oddsidemargin{30\p@} +\setlength\evensidemargin{30\p@} +\setlength\topmargin{15\p@} +\setlength\headsep{20\p@} +\setlength\headheight{20\p@} +%\setlength\footskip{40\p@} +\setlength\marginparwidth{15\p@} +\setlength\marginparsep{\z@} +\setlength\textwidth{\paperwidth % + \advance\textwidth -144\p@ % + \advance\textwidth -\oddsidemargin % + \advance\textwidth -\marginparwidth % + \advance\textwidth -\marginparsep} +\setlength\textheight{\paperheight % + \advance\textheight -140\p@ % + \advance\textheight -\topmargin % + \advance\textheight -\headheight % + \advance\textheight -\headsep % + \advance\textheight -\footskip} + +% Page headings and footers. + +\pagestyle{fancyplain} +\renewcommand{\chaptermark}[1]{\markboth{\thechapter. #1}{\thechapter. #1}} +\renewcommand{\sectionmark}[1]{} +\lhead[\fancyplain{}{\bfseries\thepage}]{\fancyplain{}{\bfseries\rightmark}} +\rhead[\fancyplain{}{\bfseries\leftmark}]{\fancyplain{}{\bfseries\thepage}} +\cfoot{\fancyplain{\textrm{\thepage}}{}} + +\if@thdraft + \rfoot[\textbf{Draft:}~\today]{} + \lfoot[]{\textbf{Draft:}~\today} +\fi |