summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ut-thesis/ut-thesis.cls
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/ut-thesis/ut-thesis.cls')
-rw-r--r--macros/latex/contrib/ut-thesis/ut-thesis.cls497
1 files changed, 0 insertions, 497 deletions
diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.cls b/macros/latex/contrib/ut-thesis/ut-thesis.cls
deleted file mode 100644
index f9f83f3738..0000000000
--- a/macros/latex/contrib/ut-thesis/ut-thesis.cls
+++ /dev/null
@@ -1,497 +0,0 @@
-%% ut-thesis.cls -- document class for graduate theses at UofT
-%%
-%% Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>
-%% last updated at 16:18 (EDT) on Wed 25 Sep 2013
-%%
-%% This work may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License, either version 1.3c 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.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status "maintained".
-%%
-%% The Current Maintainer of this work is
-%% Francois Pitt <fpitt@cs.utoronto.ca>.
-%%
-%% This work consists of the files listed in the accompanying README.
-
-%% USAGE: \documentclass{ut-thesis}
-%% \documentclass[...options...]{ut-thesis}
-%%
-%% The default settings produce a final copy, ready for submission to
-%% the School of Graduate Studies (SGS) at the University of Toronto:
-%% single-sided, "normal" margins (see below), one-and-a-half spaced
-%% with single-spaced notes.
-%%
-%% OPTIONS:
-%%
-%% - Any standard option for the LaTeX2e `report' class, including
-%% `10pt', `11pt', `12pt', `oneside', `twoside', etc.
-%%
-%% - `narrowmargins', `normalmargins', `widemargins', or
-%% `extrawidemargins': Set the size of the margins, as follows:
-%% . `narrow': 1 1/4" on the left, 3/4" on all other sides,
-%% headers & footers 3/8" from body
-%% (these are the minimum values required by SGS);
-%% . `normal': 1 1/4" on the left, 1" on all other sides,
-%% headers & footers 1/2" from body;
-%% . `wide': 1 1/4" on all sides,
-%% headers & footers 5/8" from body;
-%% . `extrawide': 1 1/2" on all sides,
-%% headers & footers 3/4" from body.
-%% If you have more than just a few marginal notes, it is recommended
-%% that you use at least `wide' margins. For other settings, use the
-%% \geometry command (see the template for details).
-%%
-%% - `singlespaced', `oneandahalfspaced', or `doublespaced': Set the
-%% entire document's default line spacing (except for notes, which
-%% are single-spaced by default). For other settings, use the
-%% \setstretch command (see the template for details).
-%%
-%% - `singlespacednotes' or `standardspacednotes': Set line spacing
-%% for footnotes and marginal notes: either single-spaced or the same
-%% as the rest of the document.
-%%
-%% - `cleardoublepagestyleempty', `cleardoublepagestyleplain', or
-%% `cleardoublepagestylestandard': Set the page style for all
-%% "cleared" pages (empty pages inserted in two-sided documents to
-%% put the next page on the right-hand side) to either `empty',
-%% `plain', or whatever style is in effect when the page is cleared
-%% (the default).
-%%
-%% - `draft': Produce a draft copy (double-sided, double-spaced,
-%% normal margins, with the word "DRAFT" printed at all four corners
-%% of every page).
-%%
-%% Note that these options can be used to override the default or draft
-%% document settings, so that it is possible, for example, to create a
-%% double-sided final copy, or a 1 1/2-spaced draft copy with wide
-%% margins, etc. You may use standard LaTeX packages to tailor the
-%% layout and formatting in other ways.
-%% Also note that when producing double-sided documents while _not_ in
-%% draft mode, new chapters and preliminary sections will always start
-%% on a right-hand page under the default settings (inserting a blank
-%% page if needed). This can be overridden by using the `openany' or
-%% `openright' options. To achieve this effect for individual sections
-%% or chapters, use \cleardoublepage -- or one of the more specific
-%% \clearemptydoublepage, \clearplaindoublepage, \clearthesisdoublepage,
-%% or \clearstandarddoublepage (see below for details).
-%%
-%% NEW ENVIRONMENTS and COMMANDS:
-%%
-%% * \degree{...}: (preamble only; REQUIRED)
-%% Specify the name of the degree (e.g., "Doctor of Philosophy").
-%%
-%% * \department{...}: (preamble only; REQUIRED)
-%% Specify the name of the graduate department.
-%%
-%% * \gradyear{...}: (preamble only; REQUIRED)
-%% Specify the year of graduation (defaults to current year).
-%%
-%% * \author{...}: (preamble only; REQUIRED)
-%% Specify the name of the author.
-%%
-%% * \title{...}: (preamble only; REQUIRED)
-%% Specify the title of the thesis.
-%%
-%% - \begin{preliminary}...\end{preliminary}:
-%% Delimit head matter (title page, abstract, table of contents,
-%% lists of tables and figures, etc.): set the page style and
-%% numbering for the preliminary sections and reset them for the main
-%% document.
-%%
-%% - \maketitle:
-%% Generate the title page from the information supplied in the
-%% preamble.
-%%
-%% - \begin{abstract}...\end{abstract}:
-%% Generate the abstract page, double-sided. (According to SGS
-%% guidelines, this must immediately follow the title page.)
-%%
-%% - \begin{dedication}...\end{dedication}:
-%% Generate a dedication section, if needed (just a paragraph
-%% formatted flush right).
-%%
-%% - \begin{acknowledgements}...\end{acknowledgements}:
-%% Generate an acknowledgements section, if needed.
-%%
-%% Note that neither the `dedication' nor the `acknowledgements' are
-%% put on a separate page by default (use \newpage to do this
-%% explicitly). Also note that the table of contents, list of
-%% tables, and list of figures can be generated using the usual LaTeX
-%% commands.
-%%
-%% - \begin{longquote}...\end{longquote}:
-%% Single-spaced version of the `quote' environment.
-%%
-%% - \begin{longquotation}...\end{longquotation}:
-%% Single-spaced version of the `quotation' environment.
-%%
-%% - \clearemptydoublepage, \clearplaindoublepage,
-%% \clearthesisdoublepage:
-%% Same as \cleardoublepage except that cleared pages have style
-%% `empty', `plain', or `thesis' respectively.
-%%
-%% - \clearstandarddoublepage:
-%% Same as the original \cleardoublepage (cleared pages use the style
-%% currently in effect) -- used to override the effects of options
-%% `cleardoublepagestyleempty' or `cleardoublepagestyleplain'.
-%%
-%% The companion file `ut-thesis.tex' contains a skeleton illustrating
-%% the use of this class.
-
-
-%%%%%%%%%%%% IDENTIFICATION %%%%%%%%%%%%
-
-\newcommand*{\utthesisversion}{v2.0} % current version number
-\newcommand*{\utthesisupdated}{2012/06/01} % date of last change(s)
-
-\NeedsTeXFormat{LaTeX2e}[1995/12/01] % robust macros with * form
-\ProvidesClass{ut-thesis}[\utthesisupdated\space\utthesisversion\space
- graduate theses at the University of Toronto]
-
-
-%%%%%%%%%%%% INITIAL CODE %%%%%%%%%%%%
-
-%% Switch for testing draft mode (toggled by `draft' option).
-\newif\if@draft
-\@draftfalse
-
-%% Switch for testing current page style.
-\newif\if@thesispagestyle
-\@thesispagestyletrue
-
-%% Save original definitions of footnote and marginal note macros and
-%% lengths, to be able to reset them below as needed (when changing
-%% between single-spaced and standard-spaced notes).
-\let\@thesis@footnotetext\@footnotetext
-\let\@thesis@mpfootnotetext\@mpfootnotetext
-\let\@thesis@marginparreset\@marginparreset
-\newlength{\@thesisfootnotesep}
-\newlength{\@thesismarginparpush}
-\AtBeginDocument
- {\setlength\@thesisfootnotesep{\footnotesep}
- \setlength\@thesismarginparpush{\marginparpush}}
-
-%% Save original definition of \cleardoublepage.
-\let\clearstandarddoublepage\cleardoublepage
-
-%% The \singlespacing macro from `setspace' includes some vertical space
-%% (to make it easier to change line spacing within the document).
-%% Unfortunately, this has undesirable side-effects within macros, so we
-%% define our own replacement here for use within the class.
-\newcommand*{\singlespacingnoskip}{\setstretch{\setspace@singlespace}}
-
-
-%%%%%%%%%%%% OPTION DECLARATION %%%%%%%%%%%%
-
-%% `draft' option: change default document settings.
-\DeclareOption{draft}{\@drafttrue
- \newcommand*{\tlDRAFT}%
- {\raisebox{ 3ex}[0pt][0pt]{\llap{\sffamily\scriptsize DRAFT\ \ }}}
- \newcommand*{\trDRAFT}%
- {\raisebox{ 3ex}[0pt][0pt]{\rlap{\sffamily\scriptsize \ \ DRAFT}}}
- \newcommand*{\blDRAFT}%
- {\raisebox{-3ex}[0pt][0pt]{\llap{\sffamily\scriptsize DRAFT\ \ }}}
- \newcommand*{\brDRAFT}%
- {\raisebox{-3ex}[0pt][0pt]{\rlap{\sffamily\scriptsize \ \ DRAFT}}}
- \ExecuteOptions{doublespaced}
- \PassOptionsToClass{draft,twoside,openany}{report}}
-
-%% Margin options.
-\DeclareOption{narrowmargins}{\AtEndOfClass % 1 1/4" left, 3/4" others
- {\geometry{margin=.75in,left=1.25in,headsep=.375in-\headheight,
- footskip=.375in,marginparwidth=.5in,marginparsep=.125in}}}
-\DeclareOption{normalmargins}{\AtEndOfClass % 1 1/4" left, 1" others
- {\geometry{margin=1in,left=1.25in,headsep=.5in-\headheight,
- footskip=.5in,marginparwidth=.75in,marginparsep=.125in}}}
-\DeclareOption{widemargins}{\AtEndOfClass % 1 1/4" all around
- {\geometry{margin=1.25in,headsep=.625in-\headheight,
- footskip=.625in,marginparwidth=.75in,marginparsep=.25in}}}
-\DeclareOption{extrawidemargins}{\AtEndOfClass % 1 1/2" all around
- {\geometry{margin=1.5in,headsep=.75in-\headheight,
- footskip=.75in,marginparwidth=1in,marginparsep=.25in}}}
-
-%% Line Spacing options.
-\DeclareOption{singlespaced}{\AtEndOfClass{\singlespacingnoskip}}
-\DeclareOption{onehalfspaced}{\AtEndOfClass{\onehalfspacing}}
-\DeclareOption{doublespaced}{\AtEndOfClass{\doublespacing}}
-
-%% Line spacing for notes.
-\DeclareOption{singlespacednotes}{\AtBeginDocument
- {\setlength\footnotesep{\@thesisfootnotesep}
- \setlength\marginparpush{\@thesismarginparpush}
- \renewcommand{\@footnotetext}[1]%
- {\@thesis@footnotetext{#1\singlespacingnoskip}}
- \renewcommand{\@mpfootnotetext}[1]%
- {\@thesis@mpfootnotetext{#1\singlespacingnoskip}}
- \renewcommand*{\@marginparreset}%
- {\@thesis@marginparreset\singlespacingnoskip}}}
-\DeclareOption{standardspacednotes}{\AtBeginDocument
- {\setlength\footnotesep{\baselineskip-\@thesisfootnotesep}
- \setlength\marginparpush{\baselineskip-\@thesismarginparpush}
- \let\@footnotetext\@thesis@footnotetext
- \let\@mpfootnotetext\@thesis@mpfootnotetext
- \let\@marginparreset\@thesis@marginparreset}}
-
-%% Page styles for cleared pages.
-\DeclareOption{cleardoublepagestyleempty}
- {\AtEndOfClass{\let\cleardoublepage\clearemptydoublepage}}
-\DeclareOption{cleardoublepagestyleplain}
- {\AtEndOfClass{\let\cleardoublepage\clearplaindoublepage}}
-\DeclareOption{cleardoublepagestylestandard}
- {\AtEndOfClass{\let\cleardoublepage\clearstandarddoublepage}}
-
-%% All other options are passed to the base class directly.
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
-
-
-%%%%%%%%%%%% OPTION EXECUTION %%%%%%%%%%%%
-
-%% Default settings: standard options followed by ut-thesis options.
-\ExecuteOptions{letterpaper,oneside,openright}
-\ExecuteOptions{normalmargins,onehalfspaced,singlespacednotes}
-
-%% Process options.
-\ProcessOptions
-
-
-%%%%%%%%%%%% PACKAGE LOADING %%%%%%%%%%%%
-
-%% Load base class using current setting for basic options.
-\LoadClass{report}
-
-%% To set/change page layout.
-\RequirePackage{calc}
-\RequirePackage{geometry}
-
-%% To set/change line spacing.
-\RequirePackage{setspace}
-
-
-%%%%%%%%%%%% MAIN CODE %%%%%%%%%%%%
-
-%%%%%% Parameters
-
-%% The following five commands set the respective field values so we can
-%% generate the title page and abstract page automatically.
-\newcommand*{\degree}[1]%
- {\ifx\empty#1\empty\else\gdef\@degree{#1}\fi}
-\newcommand*{\department}[1]%
- {\ifx\empty#1\empty\else\gdef\@department{#1}\fi}
-\newcommand*{\gradyear}[1]%
- {\ifx\empty#1\empty\else\gdef\@gradyear{#1}\fi}
-\renewcommand*{\author}[1]%
- {\ifx\empty#1\empty\else\gdef\@author{#1}\fi}
-\renewcommand*{\title}[1]%
- {\ifx\empty#1\empty\else\gdef\@title{#1}\fi}
-
-%% Default values for the required fields.
-\degree{\emph{(degree)}}
-\department{\emph{(department)}}
-\gradyear{\emph{(year of graduation)}}
-\author{\emph{(author)}}
-\title{\emph{(title)}}
-
-%%%%%% New formatting environments and commands.
-
-%% \begin{preliminary} sets the pagestyle and page numbering for the
-%% preliminary sections; \end{preliminary} resets the page numbering.
-%% The default page style is used outside of the preliminary block.
-\newenvironment*{preliminary}%
- {\pagestyle{plain}\pagenumbering{roman}}%
- {\cleardoublepage\pagenumbering{arabic}}
-
-%% Change \maketitle to follow SGS guidelines.
-\renewcommand*{\maketitle}%
- {\begin{titlepage}
- \large\singlespacingnoskip
- \begin{center}
- \mbox{}
- \vfill
- \textsc{\@title}\\
- \vfill
- by \\
- \vfill
- {\@author}\\
- \vfill
- \vfill
- A thesis submitted in conformity with the requirements\\
- for the degree of {\@degree}\\
- Graduate Department of {\@department}\\
- University of Toronto\\
- \vfill
- {\copyright} Copyright {\@gradyear} by {\@author}\\
- \vspace{.01\textheight}
- \mbox{}
- \end{center}
- \setcounter{page}{1}
- \end{titlepage}
- \setcounter{page}{2}}
-
-%% Change \begin{abstract}...\end{abstract} to follow SGS guidelines.
-\renewenvironment*{abstract}%
- {\begin{center}
- \section*{Abstract}
- \end{center}
- \begin{center}
- {\@title}\\[2ex]
- {\@author}\\
- {\@degree}\\
- Graduate Department of {\@department}\\
- University of Toronto\\
- {\@gradyear}\\
- \end{center}
- \begingroup
- %% Adjust line spacing: if it was less than 2, increase it to 2;
- %% otherwise, leave it as is.
- \ifdim \baselinestretch pt < 1.6pt \doublespacing\fi}%
- {\par\endgroup\newpage}
-
-%% \begin{dedication}...\end{dedication} formats a dedication section
-%% (*not* on a separate page -- just a paragraph formatted flush right).
-\newenvironment*{dedication}%
- {\begin{flushright}}%
- {\end{flushright}}
-
-%% \begin{acknowledgements}...\end{acknowledgements} formats an
-%% acknowledgements section (*not* on a separate page).
-\newenvironment*{acknowledgements}%
- {\begin{center}
- \section*{Acknowledgements}
- \end{center}
- \begingroup\noindent}%
- {\par\endgroup}
-
-%% Redefine `thebibliography' environment so that it generates headers
-%% in the same style as the rest of the document.
-\let\@thesisthebibliography\thebibliography
-\renewcommand*{\thebibliography}[1]{\@thesisthebibliography{#1}
- \if@thesispagestyle\@mkboth{\textsc{\bibname}}{\textsc{\bibname}}\fi}
-
-%% Variations of \cleardoublepage that explicitly set the pagestyle of
-%% any inserted blank page.
-\newcommand*{\clearemptydoublepage}%
- {{\pagestyle{empty}\clearstandarddoublepage}}
-\newcommand*{\clearplaindoublepage}%
- {{\pagestyle{plain}\clearstandarddoublepage}}
-\newcommand*{\clearthesisdoublepage}%
- {{\pagestyle{thesis}\clearstandarddoublepage}}
-
-%% Single-spaced quotes and quotations.
-\newenvironment*{longquote}%
- {\begin{quote}\singlespacingnoskip}{\end{quote}}
-\newenvironment*{longquotation}%
- {\begin{quotation}\singlespacingnoskip}{\end{quotation}}
-
-%%%%%% Page Styles
-
-%% Redefine all four standard page styles (empty, plain, headings,
-%% myheadings), based on the definitions in `report', so that they
-%% conform to the SGS guidelines (and include draft information if
-%% applicable). Then, define a new pagestyle `thesis'.
-
-%% TODO: Get rid of copy-pasted definitions for pagestyles?
-
-%% Pagestyle `empty'.
-\renewcommand*{\ps@empty}%
- {\@thesispagestylefalse
- \let\@mkboth\@gobbletwo
- \def\@oddfoot{\if@draft\blDRAFT\hfil
- {\slshape\small\today}\hfil\brDRAFT\fi}%
- \let\@evenfoot\@oddfoot
- \def\@oddhead{\if@draft\tlDRAFT\hfil
- {\slshape\small\today}\hfil\trDRAFT\fi}%
- \let\@evenhead\@oddhead}
-
-%% Pagestyle `plain'.
-\renewcommand*{\ps@plain}%
- {\@thesispagestylefalse
- \let\@mkboth\@gobbletwo
- \def\@oddfoot{\if@draft\blDRAFT\fi\hfil
- \thepage\hfil\if@draft\brDRAFT\fi}%
- \let\@evenfoot\@oddfoot
- \def\@oddhead{\if@draft\tlDRAFT\hfil
- {\slshape\small\today}\hfil\trDRAFT\fi}%
- \let\@evenhead\@oddhead}
-
-%% Pagestyle `headings'.
-\if@twoside % two-sided printing
-\renewcommand*{\ps@headings}%
- {\@thesispagestylefalse
- \let\@mkboth\markboth
- \def\@oddfoot{\if@draft\blDRAFT\hfil
- {\slshape\small\today}\hfil\brDRAFT\fi}%
- \let\@evenfoot\@oddfoot
- \def\@oddhead{\if@draft\tlDRAFT\fi{\slshape\rightmark}\hfil
- \thepage\if@draft\trDRAFT\fi}%
- \def\@evenhead{\if@draft\tlDRAFT\fi\thepage\hfil
- {\slshape\leftmark}\if@draft\trDRAFT\fi}%
- \def\chaptermark##1{\markboth
- {\MakeUppercase{\ifnum \c@secnumdepth >\m@ne
- \@chapapp\ \thechapter. \ \fi ##1}}{}}%
- \def\sectionmark##1{\markright
- {\MakeUppercase{\ifnum \c@secnumdepth >\z@
- \thesection. \ \fi ##1}}}}
-\else % one-sided printing
-\renewcommand*{\ps@headings}%
- {\@thesispagestylefalse
- \let\@mkboth\markboth
- \def\@oddfoot{\if@draft\blDRAFT\hfil
- {\slshape\small\today}\hfil\brDRAFT\fi}%
- \def\@oddhead{\if@draft\tlDRAFT\fi{\slshape\rightmark}\hfil
- \thepage\if@draft\trDRAFT\fi}%
- \def\chaptermark##1{\markright
- {\MakeUppercase{\ifnum \c@secnumdepth >\m@ne
- \@chapapp\ \thechapter. \ \fi ##1}}}}
-\fi%@twoside
-
-%% Pagestyle `myheadings'.
-\renewcommand*{\ps@myheadings}%
- {\@thesispagestylefalse
- \let\@mkboth\@gobbletwo
- \def\@oddfoot{\if@draft\blDRAFT\hfil
- {\slshape\small\today}\hfil\brDRAFT\fi}%
- \let\@evenfoot\@oddfoot
- \def\@oddhead{\if@draft\tlDRAFT\fi{\slshape\rightmark}\hfil
- \thepage\if@draft\trDRAFT\fi}%
- \def\@evenhead{\if@draft\tlDRAFT\fi\thepage\hfil
- {\slshape\leftmark}\if@draft\trDRAFT\fi}%
- \let\chaptermark\@gobble\let\sectionmark\@gobble}
-
-%% Pagestyle `thesis' (based on `headings').
-\if@twoside % two-sided printing
-\newcommand*{\ps@thesis}%
- {\@thesispagestyletrue
- \let\@mkboth\markboth
- \def\@oddfoot{\if@draft\blDRAFT\hfil
- {\slshape\small\today}\hfil\brDRAFT\fi}%
- \let\@evenfoot\@oddfoot
- \def\@oddhead{\if@draft\tlDRAFT\fi{\slshape\rightmark}\hfil
- \thepage\if@draft\trDRAFT\fi}%
- \def\@evenhead{\if@draft\tlDRAFT\fi\thepage\hfil
- {\slshape\leftmark}\if@draft\trDRAFT\fi}%
- \def\chaptermark##1{\markboth
- {\textsc{\ifnum \c@secnumdepth >\m@ne
- \@chapapp\ \thechapter. \ \fi ##1}}{}}%
- \def\sectionmark##1{\markright
- {\textsc{\ifnum \c@secnumdepth >\z@
- \thesection. \ \fi ##1}}}}
-\else % one-sided printing
-\newcommand*{\ps@thesis}%
- {\@thesispagestyletrue
- \let\@mkboth\markboth
- \def\@oddfoot{\if@draft\blDRAFT\hfil
- {\slshape\small\today}\hfil\brDRAFT\fi}%
- \def\@oddhead{\if@draft\tlDRAFT\fi{\slshape\rightmark}\hfil
- \thepage\if@draft\trDRAFT\fi}%
- \def\chaptermark##1{\markright
- {\textsc{\ifnum \c@secnumdepth >\m@ne
- \@chapapp\ \thechapter. \ \fi ##1}}}}
-\fi%@twoside
-
-%% Default page style.
-\pagestyle{thesis}