summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/utorontothesis/utorontothesis.cls
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/utorontothesis/utorontothesis.cls
Initial commit
Diffstat (limited to 'macros/latex/contrib/utorontothesis/utorontothesis.cls')
-rw-r--r--macros/latex/contrib/utorontothesis/utorontothesis.cls191
1 files changed, 191 insertions, 0 deletions
diff --git a/macros/latex/contrib/utorontothesis/utorontothesis.cls b/macros/latex/contrib/utorontothesis/utorontothesis.cls
new file mode 100644
index 0000000000..c9499578bd
--- /dev/null
+++ b/macros/latex/contrib/utorontothesis/utorontothesis.cls
@@ -0,0 +1,191 @@
+% University of Toronto Thesis LaTex2e Class definition.
+% Written by Robert Bernecky 1997-07-10, based on
+% the thesis.sty written at UofT by fpitt.
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{utthesis}[1997/07/15 University of Toronto Thesis class definition]
+\RequirePackage{setspace}
+
+% The idea here is to modify the "report" class to meet the outdated,
+% hard-to-read standards of the UofToronto School of Graduate Studies
+% requirements for theses. These standards require more expenditure
+% of paper than a sensible format (being double-spaced) and are
+% also harder to read, being a one-column format, but that's
+% tradition for you...
+
+% This is the first LaTeX class definition I have written, so if something
+% looks wrong, it probably IS wrong.
+
+% The following options are what you get if you do not specify ANY options.
+% E.g., \documentclass{utthesis}
+% Basically, it is your camera copy.
+\ExecuteOptions{letterpaper,twoside,12pt,onecolumn,final,openany}
+
+% If you want a cheap-and-cheerful draft copy, try options such
+%% \documentclass[draft,twoside,11pt]{utthesis}
+
+% Set up handling of "draft" option.
+\DeclareOption{draft}{%
+ \PassOptionsToPackage{all}{draftcopy}%
+ \PassOptionsToClass{draft}{report}%
+ \AtEndOfClass{%
+ \RequirePackage{draftcopy}%
+ % I wanted to print timestamp of each file, but I don't see
+ % how to do that...
+ \draftcopyName{DRAFT: \today}{60 } % text for overprinting if in "draft" mode
+ }%
+}
+
+% Pass ALL options to report.cls.
+\DeclareOption*{%
+ \PassOptionsToClass{\CurrentOption}{report}
+}
+
+\ProcessOptions
+
+\LoadClass{report}
+% Set up environments for thesis sections.
+
+% clearemptydoublepage from page 92 of The LaTeX Companion 1993.
+\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
+
+
+\renewenvironment{abstract}%
+{\clearemptydoublepage \begin{center}
+ \section*{Abstract}
+ \end{center}
+ \begin{center}
+ {\@title}\\[2ex]
+ {\@author}\\
+ {\@degree}\\
+ Graduate Department of {\@department}\\
+ University of Toronto\\
+ {\@gyear}
+ \end{center}
+ \begingroup
+}{\newpage\endgroup}
+
+\newenvironment{acknowledgements}%
+{\clearemptydoublepage
+ \begin{center}
+ \section*{Acknowledgements}
+ \end{center}
+ \begingroup
+}{\newpage\endgroup}
+
+\newenvironment{dedication}%
+{\clearemptydoublepage
+ \begin{center}
+ \section*{Dedication}
+ \end{center}
+ \begingroup
+}{\newpage\endgroup}
+
+\newenvironment{preliminary}%
+{\pagestyle{plain}\pagenumbering{roman}}%
+{\pagenumbering{arabic}}
+
+% Default values for title page.
+
+%% To produce output with the desired line spacing, the argument of
+%% \spacing should be multiplied by 5/6 = 0.8333, so that 1 1/2 spaced
+%% corresponds to \spacing{1.5} and double spaced is \spacing{1.66}.
+\def\normalspacing{1.25} % default line spacing
+
+\newcommand{\department}[1]{\ifx\empty#1\else\gdef\@department{#1}\fi}
+\newcommand{\degree}[1]{\ifx\empty#1\else\gdef\@degree{#1}\fi}
+\renewcommand{\author}[1]{\ifx\empty#1\else\gdef\@author{#1}\fi}
+\renewcommand{\title}[1]{\ifx\empty#1\else\gdef\@title{#1}\fi}
+\newcommand{\gyear}[1]{\ifx\empty#1\else\gdef\@gyear{#1}\fi}
+
+\global\def\@department{\mbox{}}
+\global\def\@degree{\mbox{}}
+\global\def\@author{\mbox{}}
+\global\def\@title{\mbox{}}
+\global\def\@gyear{\number\year} % Default year is current year
+
+
+%% Change \maketitle to follow the SGS guidelines.
+\renewcommand{\maketitle}
+{\begin{titlepage}
+ \setcounter{page}{1}
+ %% Set the line spacing to 1 for the title page.
+ \begin{spacing}{1}
+ \begin{large}
+ \begin{center}
+ \mbox{}
+ \vfill
+ \begin{sc}
+ {\@title}\\
+ \end{sc}
+ \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} {\@gyear} by {\@author}\\
+ \vspace*{.2in}
+ \end{center}
+ \end{large}
+ \end{spacing}
+ \end{titlepage}
+ \setcounter{page}{2}
+}%\maketitle
+
+
+%% Footnotes are always single-spaced.
+%%\let\@@footnotetext=\@footnotetext
+%%\def\@footnotetext{\begin{spacing}{1}\@@footnotetext\end{spacing}}
+
+
+%% Define the "thesis" page style.
+\if@twoside % If two-sided printing.
+\def\ps@thesis{\let\@mkboth\markboth
+ \def\@oddfoot{}
+ \let\@evenfoot\@oddfoot
+ \def\@oddhead{
+ {\sc\rightmark} \hfil \rm\thepage
+ }
+ \def\@evenhead{
+ \rm\thepage \hfil {\sc\leftmark}
+ }
+ \def\chaptermark##1{\markboth{\ifnum \c@secnumdepth >\m@ne
+ Chapter\ \thechapter. \ \fi ##1}{}}
+ \def\sectionmark##1{\markright{\ifnum \c@secnumdepth >\z@
+ \thesection. \ \fi ##1}}}
+\else % If one-sided printing.
+\def\ps@thesis{\let\@mkboth\markboth
+ \def\@oddfoot{}
+ \def\@oddhead{
+ {\sc\rightmark} \hfil \rm\thepage
+ }
+ \def\chaptermark##1{\markright{\ifnum \c@secnumdepth >\m@ne
+ Chapter\ \thechapter. \ \fi ##1}}}
+\fi
+
+\pagestyle{thesis}
+% Set up page layout.
+\setlength{\textheight}{9in} % Height of the main body of the text
+\setlength{\topmargin}{-.5in} % .5" margin on top of page
+\setlength{\headsep}{.5in} % space between header and top of body
+\addtolength{\headsep}{-\headheight} % See The LaTeX Companion, p 85
+\setlength{\footskip}{.5in} % space between footer and bottom of body
+\setlength{\textwidth}{6.25in} % width of the body of the text
+\setlength{\oddsidemargin}{.25in} % 1.25" margin on the left for odd pages
+\setlength{\evensidemargin}{0in} % 1.25" margin on the right for even pages
+
+% Marginal notes
+\setlength{\marginparwidth}{.75in} % width of marginal notes
+\setlength{\marginparsep}{.125in} % space between marginal notes and text
+
+% Make each page fill up the entire page. comment this out if you
+% prefer.
+\flushbottom
+
+\setcounter{tocdepth}{3} % Number the subsubsections