From 224d125bf0d14ba177ef8a181907a713484afa2f Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 25 Nov 2020 03:00:39 +0000 Subject: CTAN sync 202011250300 --- macros/latex/contrib/ut-thesis/README | 142 +------ macros/latex/contrib/ut-thesis/ut-thesis.cls | 497 ---------------------- macros/latex/contrib/ut-thesis/ut-thesis.dtx | 607 +++++++++++++++++++++++++++ macros/latex/contrib/ut-thesis/ut-thesis.ins | 39 ++ macros/latex/contrib/ut-thesis/ut-thesis.pdf | Bin 0 -> 116662 bytes macros/latex/contrib/ut-thesis/ut-thesis.tex | 209 --------- 6 files changed, 663 insertions(+), 831 deletions(-) delete mode 100644 macros/latex/contrib/ut-thesis/ut-thesis.cls create mode 100644 macros/latex/contrib/ut-thesis/ut-thesis.dtx create mode 100644 macros/latex/contrib/ut-thesis/ut-thesis.ins create mode 100644 macros/latex/contrib/ut-thesis/ut-thesis.pdf delete mode 100644 macros/latex/contrib/ut-thesis/ut-thesis.tex (limited to 'macros/latex/contrib/ut-thesis') diff --git a/macros/latex/contrib/ut-thesis/README b/macros/latex/contrib/ut-thesis/README index 289425e90f..74457725ac 100644 --- a/macros/latex/contrib/ut-thesis/README +++ b/macros/latex/contrib/ut-thesis/README @@ -1,10 +1,12 @@ -LaTeX2e document class and template for graduate theses that conform to -the guidelines of the School of Graduate Studies at the University of -Toronto (as of 2008). [http://www.sgs.utoronto.ca/informationfor/+ -students/finup/producingthesis/formatting.htm] +LaTeX2e document class for graduate theses +that conform to the formatting requirements of +the School of Graduate Studies at the University of Toronto, +as of Fall 2020: +[https://www.sgs.utoronto.ca/academic-progress/program-completion/formatting] -Copyright (c) 1998-2013 Francois Pitt -last updated at 16:17 (EDT) on Wed 25 Sep 2013 +Copyright (c) 1998-2013 Francois Pitt , + 2020-2024 Jesse Knight +last updated at 15:30 (EST) on Thu 19 Nov 2020 This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3c of this license @@ -17,124 +19,14 @@ version 2005/12/01 or later. This work has the LPPL maintenance status "maintained". The Current Maintainer of this work is -Francois Pitt . +Jesse Knight . -This work consists of the following files: - README: this file - ut-thesis.cls: class file - ut-thesis.tex: template +This work consists of the files: +- README +- ut-thesis.dtx +- ut-thesis.ins +- ut-thesis.pdf (derived user manual) +- ut-thesis.cls (derived class file) -See the comments inside each file for further details. - ---------------- -Version History ---------------- - -TODO: -- [2012/12/06] Redefinition of \thebibliography not compatible with - packages like natbib. Figure out how to fix this. - -v2.1: 2013/09/25 (Francois Pitt) -- Changed definition of dedication environment to simply format its - paragraph flush right with no header -- this also helps fix a bug - where LaTeX complains of a "missing \item" when both dedication and - acknowledgement sections are used (reported by Bardia Bina). - -v2.0: 2012/06/01 (Francois Pitt) -- Rewritten to use standard packages: `setspace' to handle line spacing - and `geometry' for page layout. Some options and macros have been - renamed from v1.8, hence the change of major version number -- this - version is _not_ fully backward-compatible because of these changes. -- Renamed `oneandahalfspaced' option to `onehalfspaced' (for consistency - with `setspace' package). -- Removed `singlespaced', `oneandahalfspaced', `doublespaced', and - `spacing' environments -- use environments from `setspace' package - instead. -- Renamed `spacednotes' option to `standardspacednotes' and added - `singlespacednotes' option. -- Added options `cleardoublepagestyleempty', `cleardoublepagestyleplain' - and `cleardoublepagestylestandard' to set the default style for - cleared pages, and new macros `\clearthesisdoublepage' and - `\clearstandarddoublepage'. -- Changed default options: now 1 1/2-spaced and LaTeX default font size. -- Renamed `utthesis' page style to `thesis'. -- The abstract is no longer put on a right-side page by default. -- Cleaned up the code and comments throughout. - -v1.8: 2000/02/20, 1999/12/10 (Francois Pitt) -- Minor formatting changes to comments. -- Fixed circular definition problem with \currenttextsize that caused - TeX to run out of input stack memory. - -v1.7: 1999/06/02, 1999/05/20, 1999/05/13 (Francois Pitt) -- Minor change to the format of the date printed on every page with the - `draft' option. -- Minor cosmetic change to the word "DRAFT" printed on the corners of - every page with the `draft' option. -- Made `draft' mode doublespaced by default (it just makes more sense - for actual drafts; suggested by Eric Joanis). -- Changed \currenttextsize from a "\newcommand" to a "\let". -- Added "known bugs" above. - -v1.6: 1999/03/06 (Francois Pitt) -- Minor change: replaced ``\ifx\empty#1\else...\fi'' with - ``\ifx\empty#1\empty\else...\fi'' (the former works only by accident - while the latter is logically correct). - -v1.5: 1999/02/17 (Francois Pitt) -- Fixed missing page numbers and headers by removing redefinition of - \cleardoublepage (reported by Robert Bernecky 1999/02/04 and Nedialko - Nedialkov 1999/02/12). -- Added \clearemptydoublepage and \clearplaindoublepage commands. -- Removed redefinitions of \tableofcontents, \listoftables, and - \listoffigures because they already call \clearpage or - \cleardoublepage by default. -- Removed "\setcounter{tocdepth}{2}" from the page layout section (moved - to `ut-thesis.tex' where it belongs). -- Added \ignore command to comment out parts of a file. -- Put version macros at the top of the file. -- Changed order of revision comments. - -v1.4: 1998/11/05 (Francois Pitt) -- Fixed `abstract' environment so that it is really put on a separate - page, and changed "\newpage\endgroup" at the end to - "\par\endgroup\newpage", which is more logical. -- Changed `acknowledgements' environment so that it is *not* put on a - separate page, allowing users to add other text on that page (e.g., - `dedication' described next). -- Added `dedication' environment based on `acknowledgements' - (suggested by Robert Bernecky 98/11/04). -- Changed page layout so that it is defined in terms of the physical - page size instead of being hard-coded for letter paper (8.5" x 11"). - -v1.3: 1998/11/01 (Francois Pitt) -- Fixed `thebibliography' so page headers are generated in the same - style as for the rest of the thesis. -- Swapped \endgroup and \newpage in definition of `abstract' and - `acknowledgements' environments, to fix problem with adjusted line - spacing in `abstract'. -- Renamed `\currentsize' to `\currenttextsize'. -- Added \cleardoublepage at the end of preliminary sections, so that - page 1 of main text is on right-hand side. - -v1.2: 1998/10/20 (Francois Pitt) -- Changed `spacenotes' option to `spacednotes' to have more consistently - named options. -- Fixed spacing between main text and footnotes. -- Fixed `singlespaced' environment, which didn't seem to work at all - (reported by Nedialko Nedialkov 98/10/12): Actually, created a - `newspacing' environment, which takes a parameter, and based - `singlespaced', `oneandahalfspaced', and `doublespaced' environments - on `newspacing'. - -v1.1: 1998/10/01 (Francois Pitt) -- Fixed bug that caused footnotes to make following tables single-spaced - (reported by Philip Edmonds 98/09/30). -- Made spacing of marginal notes and footnotes the same. -- Added option to control line spacing of notes. -- Added options to control the size of margins. -- Changed names of temporary macros used in redefinitions to avoid - conflicts with existing names. - -v1.0: 1998/09/29 (Francois Pitt) -- Initial version. +See version history on GitHub: +[https://github.com/jessexknight/ut-thesis] \ No newline at end of file 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 -%% 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 . -%% -%% 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} diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.dtx b/macros/latex/contrib/ut-thesis/ut-thesis.dtx new file mode 100644 index 0000000000..f1180b7056 --- /dev/null +++ b/macros/latex/contrib/ut-thesis/ut-thesis.dtx @@ -0,0 +1,607 @@ +% \iffalse +%<*driver> +\ProvidesFile{ut-thesis.dtx} +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesClass{ut-thesis} +%<*class> +[2020/11/19 v3.0.0a University of Toronto thesis class] +% +% +%<*driver> +\documentclass[10pt]{ltxdoc} +\usepackage[osf]{mathpazo} +\usepackage[toc]{multitoc} +\renewcommand*{\multicolumntoc}{2} +\usepackage[margin=3cm,inner=5cm]{geometry} +\usepackage{xcolor} +\definecolor{code} {HTML}{990033} +\definecolor{link} {HTML}{000066} +\let\ottfamily\ttfamily +\renewcommand{\ttfamily}{\color{code}\ottfamily} +\renewcommand{\MacroFont}{\ttfamily\color{code}} +\usepackage[colorlinks,linkcolor=link]{hyperref} +\setlength{\skip\footins}{4ex} +\setlength{\parindent}{0pt} +\setlength{\parskip}{6pt} +\newcommand{\smacro}[2][0]{% + \begin{macro}{#2}\end{macro}% + \vspace{\dimexpr #1\baselineskip-3\baselineskip}} +\begin{document} + \DocInput{ut-thesis.dtx} +\end{document} +% +% \fi +% +% \GetFileInfo{ut-thesis.dtx} +% +% \title{The \texttt{ut-thesis} class +% \thanks{\fileversion~[\filedate] CTAN repository: +% \href{https://ctan.org/pkg/ut-thesis} +% {\texttt{https://ctan.org/pkg/ut-thesis}}}} +% \author{ +% Francois Pitt, +% Jesse Knight +% \thanks{maintainer, contact: +% \href{mailto:jesse.knight@mail.utoronto.ca} +% {\texttt{jesse.knight@mail.utoronto.ca}}} +% } +% +% \maketitle +% +% \begin{abstract}\noindent +% The |ut-thesis| document class implements the formatting requirements of +% the University of Toronto School of Graduate Studies (SGS), +% as of Fall 2020. +% \end{abstract} +% +% {\footnotesize\setlength{\parskip}{3pt}\tableofcontents} +% \clearpage +% +% \section{Installation}\label{inst} +% +% To use the |ut-thesis| class, +% you must first make the file |ut-thesis.cls| visible to your current \LaTeX\ distribution. +% There are two ways to do this: +% \begin{itemize} +% \item \textbf{local file}: Place the file |ut-thesis.cls| in your project directory. +% This is usually easiest, and works if you don't have write access +% in the \LaTeX\ distribution, such as if you use Overleaf. +% \item \textbf{installing}: Installation steps will depend on your \LaTeX\ distribution. +% Some helpful instructions can be found +% \href{https://en.wikibooks.org/wiki/LaTeX/Installing_Extra_Packages}{here}. +% \end{itemize} +% +% \section{Usage}\label{use} +% +% |\documentclass{ut-thesis}|\\ +% |\documentclass[ ]{ut-thesis}| +% +% The default options produce a final copy, ready for submission to +% the University of Toronto School of Graduate Studies (SGS). +% +% \subsection{Options}\label{use:opt} +% +% The default class options are denoted like |option*|. +% +% \subsubsection{Paper Size}\label{use:opt:paper} +% +% The standard page sizes are supported, including: +% |[letterpaper*]|, and |[a4paper]|. +% +% \subsubsection{Font Size}\label{use:opt:fontsize} +% +% \smacro[ 1]{[10pt*]} +% \smacro[ 1]{[11pt]} +% \smacro[-2]{[12pt]} +% \begin{macro}{]} +% The three standard font sizes are supported. +% SGS requires at least 10\,pt font for the text, +% but captions, footnotes, etc.\ can be smaller. +% \end{macro} +% +% \subsubsection{Line Spacing}\label{use:opt:spacing} +% +% \smacro[ 1]{[singlespacing]} +% \smacro[ 1]{[onehalfspacing*]} +% \smacro[-2]{[doublespacing]} +% \begin{macro}{]} +% Three options are available for line spacing. +% Note that |[singlespacing]| does not conform to the SGS guidelines, +% but we provide it in case you ever prefer it while writing. +% \end{macro} +% +% \subsubsection{Margins}\label{use:opt:margins} +% +% \paragraph{Sides:} +% Three variants of margins are defined, +% reflecting preferences for printing and binding, +% the first two being the same as in the |book| class: +% +% \begin{macro}{[oneside]} +% All pages behave as if they open to the right (wider left margin). +% \end{macro} +% +% \begin{macro}{[twoside*]} +% Most pages will alternate opening to the right and left; +% however, the commands: |\maketitle|, |\begin{abstract}| and |\mainmatter|, +% which create new pages, will always open to the right, +% sometimes requiring a blank page before to do so. +% \end{macro} +% +% \begin{macro}{[equalmargins]} +% The left and right margins are equal (averaged); +% all pages behave as if they open to the right. +% \end{macro} +% +% \paragraph{Opening:} +% Only if |[twoside]| is used, two additional options from the |book| class +% control how other new pages will open, including new pages created by: +% |\listoftables|, |\listoffigures|, and |\chapter{}|. +% +% \begin{macro}{[openright*]} +% These pages will always open to the right (like |\maketitle|, etc.). +% \end{macro} +% +% \begin{macro}{[openany]} +% These pages can open to the left or right. +% \end{macro} +% +% \paragraph{Widths:} +% Four widths of margins are defined based on +% the inner (left) and outer (right/top/bottom) dimensions: +% +% \begin{macro}{[narrowmargins]} +% Inner: 1.25 inch; outer: 0.75 inch +% (minimum SGS requirements) +% \end{macro} +% \begin{macro}{[normalmargins*]} +% Inner: 1.50 inch; outer: 1.00 inch +% \end{macro} +% \begin{macro}{[widemargins]} +% Inner: 1.75 inch; outer: 1.25 inch +% \end{macro} +% \begin{macro}{[extrawidemargins]} +% Inner: 2.00 inch; outer: 1.50 inch +% \end{macro} +% +% \subsubsection{Draft}\label{use:opt:draft} +% +% \begin{macro}{[draft]} +% Adds ``DRAFT'' to all 4 corners, plus the date centered below the footer. +% The default |draft| behaviour for the |book| class is also supported. +% \end{macro} +% +% \subsection{Commands}\label{use:cmd} +% +% \subsubsection{Author Information}\label{use:cmd:author} +% +% The following 5 commands should be used in the preamble +% to define the content of the titlepage (|\maketitle|) and abstract page (|abstract| environment). +% +% \begin{macro}{\author} +% Your full name. +% \end{macro} +% +% \begin{macro}{\title} +% The title of your thesis. +% \end{macro} +% +% \begin{macro}{\degree} +% The title of your degree (spelled out, like ``Doctor of Philosophy'' not ``PhD''). +% \end{macro} +% +% \begin{macro}{\department} +% The name of your department. +% \end{macro} +% +% \begin{macro}{\gradyear} +% The year of your degree completion. +% \end{macro} +% +% If undefined, template values are used like ``(author)''. +% +% \subsubsection{Document Parts}\label{use:cmd:parts} +% +% From the |book| class, four commands can be used to divide the document into major parts. +% These should be used in the order they appear here, as needed. +% The first two commands are necessary for the required SGS page numbering style. +% +% \begin{macro}{\frontmatter} +% Turns off chapter numbers, uses roman numerals for page numbers.\\ +% Suggested use: immediately after |\begin{document}|. +% \end{macro} +% +% \begin{macro}{\mainmatter} +% Turns on chapter numbers, uses arabic numerals for page numbers.\\ +% Suggested use: immediately before the first main |\chapter{}| command. +% \end{macro} +% +% \begin{macro}{\appendix} +% Uses letters for chapter numbers, no change to page numbers.\\ +% Suggested use: immediately before the first appendix |\chapter{}| command. +% \end{macro} +% +% \begin{macro}{\backmatter} +% Turns off chapter numbers, no change to page numbers.\\ +% Suggested use: immediately before |\printbibliography| or |\bibliography{}|. +% \end{macro} +% +% \subsubsection{Front Matter}\label{use:cmd:front} +% +% From the |book| class, the following commands are available to generate the frontmatter. +% These should be used in the order they appear here, as needed. +% +% \begin{macro}{\maketitle} +% Creates the title page according to SGS requirements, +% and adds a blank page following if using |[twoside]|. +% \end{macro} +% +% (The abstract page should appear here; +% see \S~\ref{use:env:abs}). +% +% (The dedication and acknowledgements should appear here, as needed; +% see \S~\ref{use:env:ded-ackn}). +% +% \begin{macro}{\tableofcontents} +% Prints the table of contents, starting on a new page. +% \end{macro} +% +% \begin{macro}{\tableoftables} +% Prints the table of tables, starting on a new page. +% \end{macro} +% +% \begin{macro}{\tableoffigures} +% Prints a table of figures, starting on a new page. +% \end{macro} +% +% \subsection{Environments}\label{use:env} +% +% \subsubsection{Abstract}\label{use:env:abs} +% +% \begin{macro}{abstract} +% Creates the abstract page according to SGS requirements, +% and adds a blank page if using |[twoside]|. +% The abstract content should be added within the environment, +% and should be no more than +% 350 words for a PhD thesis or +% 150 words for a Master's thesis. +% We do not provide tools for counting words. +% \end{macro} +% +% \subsubsection{Dedication \& Acknowledgments}\label{use:env:ded-ackn} +% +% \begin{macro}{dedication} +% The |dedication| environment formats text flush right and 2/3 down a new page. +% Not necessary for SGS requirements, so you're welcome to redefine this environment. +% \end{macro} +% +% \begin{macro}{acknowledgements} +% The |acknowledgments| environment creates a centered heading using |\section*{}|, +% and a new page after the text. +% Not necessary for SGS requirements, so you're welcome to redefine this environment. +% \end{macro} +% +% \subsubsection{Base Environments}\label{use:env:misc} +% +% As in the |book| class, the base environments +% like |figure|, |table|, and |equation| are sub-numbered +% within the current chapter like ``(2.1)'' for Equation~1 in Chapter~2. +% The behaviour is equivalent to: |\counterwithin{equation}{section}|, +% and can be undone with: |\counterwithout{equation}{section}|. +% +% For sub-figures, we recommend the |subcaption| package. +% +% The |quote| and |quotation| environments from the |book| class are also available. +% +% \clearpage +% +% \section{Implementation}\label{imp} +% +% \subsection{Option Declaration}\label{imp:opt} +% +% \subsubsection{Draft Mode}\label{imp:opt:draft} +% Specifying |draft| adds ``DRAFT'' to all 4 corners, +% plus the date centered below the footer. +% The default |draft| behaviour for the |book| class is also supported. +% \begin{macrocode} +\newcommand{\draftmarkstyle}{\scriptsize\sffamily} +\DeclareOption{draft}{% + \PassOptionsToClass{\CurrentOption}{book} + \AtEndOfClass{ + \AtBeginShipout{\AtBeginShipoutUpperLeft{% + \draftmarkstyle + \put(+0.125in, -0.125in-\f@size pt ){\rlap{DRAFT}} + \put(-0.125in+\paperwidth,-0.125in-\f@size pt ){\llap{DRAFT}} + \put(+0.125in, +0.125in-\paperheight){\rlap{DRAFT}} + \put(-0.125in+\paperwidth,+0.125in-\paperheight){\llap{DRAFT}} + \put(+0.5\paperwidth,+0.125in-\paperheight)% + {\makebox[0in][c]{\today}} +}}}} +% \end{macrocode} +% +% \subsubsection{Margins}\label{imp:opt:margins} +% First, we define three lengths to help us compute the margins: +% |\margin@v| is the top and bottom margins; +% |\margin@xhi| is the inner margin offset; +% |\margin@xho| is the outer margin offset. +% \begin{macrocode} +\newlength{\margin@v} +\newlength{\margin@xhi}\setlength{\margin@xhi}{0.5in} +\newlength{\margin@xho}\setlength{\margin@xho}{0.0in} +% \end{macrocode} +% +% The options are based off |\margin@v|: +% \begin{macrocode} +\DeclareOption{narrowmargins} {\setlength{\margin@v}{0.75in}} +\DeclareOption{normalmargins} {\setlength{\margin@v}{1.00in}} +\DeclareOption{widemargins} {\setlength{\margin@v}{1.25in}} +\DeclareOption{extrawidemargins}{\setlength{\margin@v}{1.50in}} +% \end{macrocode} +% +% For digital copies, |equalmargins| may be preferred. +% However, to keep the |\textwidth| consistent +% for any of the above margin options with and without |equalmargins|, +% we simply average the inner and outer offsets: +% \begin{macrocode} +\DeclareOption{equalmargins}% + {\setlength{\margin@xho}{0.5\margin@xhi} + \setlength{\margin@xhi}{0.5\margin@xhi}} +% \end{macrocode} +% +% Finally, we actually compute the margins using the above three lengths, +% and adjust the placement of the header, footer, and margin notes. +% \begin{macrocode} +\AtEndOfClass{ + \setlength{\leftmargin}{\dimexpr\margin@v+\margin@xhi} + \setlength{\rightmargin}{\dimexpr\margin@v+\margin@xho} + \geometry{ + top = \margin@v, + bottom = \margin@v, + inner = \leftmargin, + outer = \rightmargin, + headsep = \dimexpr 0.5\margin@v - \headheight, + footskip = \dimexpr 0.5\margin@v, + marginparwidth = \dimexpr \rightmargin - 0.25in, + marginparsep = 0.125in, +}} +% \end{macrocode} +% +% \subsubsection{Line Spacing}\label{imp:opt:spacing} +% We're using the |setspace| package. +% We simply call one of the spacing commands after the class is loaded. +% So, be careful to place any line spacing commands within a group, +% or the global setting can be changed in the middle of the document. +% The default is |onehalfspacing|. +% +% \begin{macrocode} +\DeclareOption{doublespacing}{% + \AtEndOfClass{\doublespacing} +} +\DeclareOption{onehalfspacing}{% + \AtEndOfClass{\onehalfspacing} +} +\DeclareOption{singlespacing}{% + \AtEndOfClass{\singlespacing} +} +% \end{macrocode} +% +% \subsubsection{Book Options}\label{imp:opt:misc} +% +% Finally, we try to process all remaining options using the |book| class, +% so the usual options and default values should be defined, like: +% \begin{itemize} +% \item page size: e.g. |letterpaper|, |a4paper|, \dots +% \item font size: e.g. |10pt|, |11pt|, |12pt| +% \item open side for twoside: e.g. |openright|, |openany| +% \end{itemize} +% +% \begin{macrocode} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}} +% \end{macrocode} +% +% \subsubsection{Default Options \& Processing}\label{imp:opt:proc} +% +% Executing the default options and processing. +% Any remaining options should now raise an error like: +% |LaTeX Warning: Unused global option(s): ...| +% +% \begin{macrocode} +\ExecuteOptions{letterpaper} % book +\ExecuteOptions{normalmargins,onehalfspacing,chapterhead} % ut-thesis +\ProcessOptions +% \end{macrocode} +% +% \subsection{Initialization}\label{imp:init} +% We load the |book| class and the required packages. +% +% \begin{macrocode} +\LoadClass{book} +\RequirePackage{picture} % for draft mode +\RequirePackage{atbegshi} % for draft mode +\RequirePackage{geometry} % for margins etc. +\RequirePackage{setspace} % for line spacing +% \end{macrocode} +% +% \subsection{Author Information}\label{imp:author} +% +% Getting the user inputs. +% +% \begin{macrocode} +\renewcommand*{\author} [1]{\gdef\@author{#1}} +\renewcommand*{\title} [1]{\gdef\@title{#1}} +\newcommand*{\degree} [1]{\gdef\@degree{#1}} +\newcommand*{\department}[1]{\gdef\@department{#1}} +\newcommand*{\gradyear} [1]{\gdef\@gradyear{#1}} +% \end{macrocode} +% +% Setting default values that will hopefully be overwritten. +% +% \begin{macrocode} +\author {(author)} +\title {(title)} +\degree {(degree)} +\department{(department)} +\gradyear {(gradyear)} +% \end{macrocode} +% +% \subsection{Front Matter}\label{imp:front} +% +% \subsubsection{Matter Commands}\label{imp:front:pp} +% We enforce that the |\frontmatter| and |\mainmatter| use the right +% page numbering and styles. +% Also, if we are using |[twoside]|, +% then we need to reduce all page numbers in the front matter by 1, +% so that the |abstract| is page ``ii'', +% because adjusting the |page| counter directly causes typesetting problems, +% such as incorrect alternating margins. +% \begin{macrocode} +\newcommand{\@romanskip}[1]{\@roman{\if@twoside\numexpr#1-1\else#1\fi}} +\g@addto@macro\frontmatter{\pagenumbering{romanskip}\pagestyle{plain}} +\g@addto@macro\mainmatter {\pagenumbering{arabic}\pagestyle{headings}} +% \end{macrocode} +% +% \subsubsection{Title Page}\label{imp:front:title} +% +% We don't enforce firm distances between lines, +% but use |\vfill| to stretch and fill the space evenly, +% except for a double-sized gap after the author name. +% There is one part of space above the title, +% while the copyright is pushed all the way to the bottom. +% +% \begin{macrocode} +\renewcommand*{\maketitle}% + {\thispagestyle{empty} + \large + \begin{center} + \singlespacing + \null + \vfill + \textsc{\@title} + \vfill + by + \vfill + {\@author} + \vfill + \vfill + A thesis submitted in conformity with the requirements\\ + for the degree of {\@degree}\\[1ex] + Graduate Department of {\@department}\\ + University of Toronto\\ + \vfill + {\copyright} Copyright {\@gradyear} by {\@author} + \end{center} + {{\pagestyle{empty}\ocleardoublepage}} + } +% \end{macrocode} +% +% \subsubsection{Abstract Page}\label{imp:front:abs} +% +% The abstract is an environment, but it creates its own page +% (and possibly an extra empty page if using |twoside|). +% The author and title info is centered and singlespaced. +% The word ``Abstract'' uses the |\section*| style, without any numbering. +% The abstract content is doublespaced. +% +% \begin{macrocode} +\newenvironment*{abstract}% + {\thispagestyle{plain} + \begin{center} + \singlespacing + {\@title}\\[2ex] + {\@author}\\ + {\@degree}\\[1ex] + Graduate Department of {\@department}\\ + University of Toronto\\ + {\@gradyear}\\ + \section*{Abstract} + \end{center} + \begingroup + \doublespacing}% + {\endgroup\cleardoublepage} +% \end{macrocode} +% +% \subsubsection{Dedication}\label{imp:front:ded} +% +% As described above. +% +% \begin{macrocode} +\newenvironment*{dedication}% + {\thispagestyle{plain} + \null + \vfill + \begin{flushright}}% + {\end{flushright} + \vfill + \vfill + \clearpage} +% \end{macrocode} +% +% \subsubsection{Acknowledgments}\label{imp:front:ackn} +% +% As described above. +% +% \begin{macrocode} +\newenvironment*{acknowledgements}% + {\thispagestyle{plain} + \begin{center} + \section*{Acknowledgments} + \end{center} + \begingroup}% + {\endgroup\clearpage} +% \end{macrocode} +% +% \subsection{Page Styles}\label{imp:hf} +% +% \subsubsection{Blank Pages}\label{imp:hf:blank} +% By defauly, all blank pages will have page style |plain|, +% but the original definition is stored in |\ocleardoublepage|. +% \begin{macrocode} +\let\ocleardoublepage\cleardoublepage +\def\cleardoublepage{{\newpage\pagestyle{plain}\ocleardoublepage}} +% \end{macrocode} +% +% \subsubsection{Headers \& Footers}\label{imp:hf:hf} +% We redefine the |headings| page style +% with a new formatting hook |\headerstyle{}|, +% but is otherwise similar to the original |headings|. +% \begin{macrocode} +\newcommand{\headerstyle}[1]{\footnotesize\MakeUppercase{#1}} +\if@twoside +\renewcommand*{\ps@headings}% + {\let\@mkboth\markboth + \let\@oddfoot\@empty + \let\@evenfoot\@empty + \def\@oddhead{\headerstyle{\rightmark\hfil\thepage}}% + \def\@evenhead{\headerstyle{\thepage\hfil\leftmark}}% + \def\chaptermark##1{\markboth{% + \if@mainmatter\headerstyle{\@chapapp\ \thechapter.\ ##1}\fi}{}} + \def\sectionmark##1{\markright{% + \if@mainmatter\headerstyle{\thesection.\ ##1}\fi}}} +\else +\renewcommand*{\ps@headings}% + {\let\@mkboth\markboth + \let\@oddfoot\@empty + \let\@evenfoot\@empty + \def\@oddhead{\headerstyle{\rightmark\hfil\thepage}}% + \def\chaptermark##1{\markright{% + \if@mainmatter\headerstyle{\@chapapp\ \thechapter.\ ##1}\fi}}} +\fi +% \end{macrocode} +% +% Default page style. +% \begin{macrocode} +\pagestyle{headings} +% \end{macrocode} +% +% \subsection{Spacing Adjustments}\label{imp:adj} +% The default spacing below captions is too small +% for captions on top of floats (e.g.\ for tables), +% so we make it consistent above and below. +% +% \begin{macrocode} +\setlength\abovecaptionskip{1ex} +\setlength\belowcaptionskip{1ex} +% \end{macrocode} +% +\endinput \ No newline at end of file diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.ins b/macros/latex/contrib/ut-thesis/ut-thesis.ins new file mode 100644 index 0000000000..362c5806c1 --- /dev/null +++ b/macros/latex/contrib/ut-thesis/ut-thesis.ins @@ -0,0 +1,39 @@ +\input docstrip.tex +\keepsilent +\usedir{.} + +\preamble + +The |ut-thesis| document class implements the formatting requirements of +the University of Toronto School of Graduate Studies (SGS), +as of Fall 2020. + +Copyright (c) 1998-2013 Francois Pitt , + 2020-2020 Jesse Knight +last updated at 10:00 (EST) on Wed 14 Oct 2020 + +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 +Jesse Knight . + +This work consists of the files: +- README +- ut-thesis.dtx +- ut-thesis.ins +- ut-thesis.pdf (derived user manual) +- ut-thesis.cls (derived class file) + +\endpreamble + +\generate{\file{ut-thesis.cls}{\from{ut-thesis.dtx}{class}}} + +\endbatchfile \ No newline at end of file diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.pdf b/macros/latex/contrib/ut-thesis/ut-thesis.pdf new file mode 100644 index 0000000000..10cce05d84 Binary files /dev/null and b/macros/latex/contrib/ut-thesis/ut-thesis.pdf differ diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.tex b/macros/latex/contrib/ut-thesis/ut-thesis.tex deleted file mode 100644 index 050e3e1859..0000000000 --- a/macros/latex/contrib/ut-thesis/ut-thesis.tex +++ /dev/null @@ -1,209 +0,0 @@ -%% ut-thesis.tex -- document template for graduate theses at UofT -%% -%% Copyright (c) 1998-2013 Francois Pitt -%% last updated at 16:20 (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 . -%% -%% This work consists of the files listed in the accompanying README. - -%% SUMMARY OF FEATURES: -%% -%% All environments, commands, and options provided by the `ut-thesis' -%% class will be described below, at the point where they should appear -%% in the document. See the file `ut-thesis.cls' for more details. -%% -%% To explicitly set the pagestyle of any blank page inserted with -%% \cleardoublepage, use one of \clearemptydoublepage, -%% \clearplaindoublepage, \clearthesisdoublepage, or -%% \clearstandarddoublepage (to use the style currently in effect). -%% -%% For single-spaced quotes or quotations, use the `longquote' and -%% `longquotation' environments. - - -%%%%%%%%%%%% PREAMBLE %%%%%%%%%%%% - -%% - Default settings format a final copy (single-sided, normal -%% margins, one-and-a-half-spaced with single-spaced notes). -%% - For a rough copy (double-sided, normal margins, double-spaced, -%% with the word "DRAFT" printed at each corner of every page), use -%% the `draft' option. -%% - The default global line spacing can be changed with one of the -%% options `singlespaced', `onehalfspaced', or `doublespaced'. -%% - Footnotes and marginal notes are all single-spaced by default, but -%% can be made to have the same spacing as the rest of the document -%% by using the option `standardspacednotes'. -%% - The size of the margins can be changed with one of the options: -%% . `narrowmargins' (1 1/4" left, 3/4" others), -%% . `normalmargins' (1 1/4" left, 1" others), -%% . `widemargins' (1 1/4" all), -%% . `extrawidemargins' (1 1/2" all). -%% - The pagestyle of "cleared" pages (empty pages inserted in -%% two-sided documents to put the next page on the right-hand side) -%% can be set with one of the options `cleardoublepagestyleempty', -%% `cleardoublepagestyleplain', or `cleardoublepagestylestandard'. -%% - Any other standard option for the `report' document class can be -%% used to override the default or draft settings (such as `10pt', -%% `11pt', `12pt'), and standard LaTeX packages can be used to -%% further customize the layout and/or formatting of the document. - -%% *** Add any desired options. *** -\documentclass{ut-thesis} - -%% *** Add \usepackage declarations here. *** -%% The standard packages `geometry' and `setspace' are already loaded by -%% `ut-thesis' -- see their documentation for details of the features -%% they provide. In particular, you may use the \geometry command here -%% to adjust the margins if none of the ut-thesis options are suitable -%% (see the `geometry' package for details). You may also use the -%% \setstretch command to set the line spacing to a value other than -%% single, one-and-a-half, or double spaced (see the `setspace' package -%% for details). - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% %% -%% *** I M P O R T A N T *** %% -%% %% -%% Fill in the following fields with the required information: %% -%% - \degree{...} name of the degree obtained %% -%% - \department{...} name of the graduate department %% -%% - \gradyear{...} year of graduation %% -%% - \author{...} name of the author %% -%% - \title{...} title of the thesis %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% *** Change this example to appropriate values. *** -\degree{Doctor of Philosophy} -\department{Computer Science} -\gradyear{2012} -\author{Fran\c{c}ois Pitt} -\title{UT-Thesis Class File Example} - -%% *** NOTE *** -%% Put here all other formatting commands that belong in the preamble. -%% In particular, you should put all of your \newcommand's, -%% \newenvironment's, \newtheorem's, etc. (in other words, all the -%% global definitions that you will need throughout your thesis) in a -%% separate file and use "\input{filename}" to input it here. - - -%% *** Adjust the following settings as desired. *** - -%% List only down to subsections in the table of contents; -%% 0=chapter, 1=section, 2=subsection, 3=subsubsection, etc. -\setcounter{tocdepth}{2} - -%% Make each page fill up the entire page. -\flushbottom - - -%%%%%%%%%%%% MAIN DOCUMENT %%%%%%%%%%%% - -\begin{document} - -%% This sets the page style and numbering for preliminary sections. -\begin{preliminary} - -%% This generates the title page from the information given above. -\maketitle - -%% There should be NOTHING between the title page and abstract. -%% However, if your document is two-sided and you want the abstract -%% _not_ to appear on the back of the title page, then uncomment the -%% following line. -%\cleardoublepage - -%% This generates the abstract page, with the line spacing adjusted -%% according to SGS guidelines. -\begin{abstract} -%% *** Put your Abstract here. *** -%% (At most 150 words for M.Sc. or 350 words for Ph.D.) -\end{abstract} - -%% Anything placed between the abstract and table of contents will -%% appear on a separate page since the abstract ends with \newpage and -%% the table of contents starts with \clearpage. Use \cleardoublepage -%% for anything that you want to appear on a right-hand page. - -%% This generates a "dedication" section, if needed -- just a paragraph -%% formatted flush right (uncomment to have it appear in the document). -%\begin{dedication} -%% *** Put your Dedication here. *** -%\end{dedication} - -%% The `dedication' and `acknowledgements' sections do not create new -%% pages so if you want the two sections to appear on separate pages, -%% uncomment the following line. -%\newpage % separate pages for dedication and acknowledgements - -%% Alternatively, if you leave both on the same page, it is probably a -%% good idea to add a bit of extra vertical space in between the two -- -%% for example, as follows (adjust as desired). -%\vspace{.5in} % vertical space between dedication and acknowledgements - -%% This generates an "acknowledgements" section, if needed -%% (uncomment to have it appear in the document). -%\begin{acknowledgements} -%% *** Put your Acknowledgements here. *** -%\end{acknowledgements} - -%% This generates the Table of Contents (on a separate page). -\tableofcontents - -%% This generates the List of Tables (on a separate page), if needed -%% (uncomment to have it appear in the document). -%\listoftables - -%% This generates the List of Figures (on a separate page), if needed -%% (uncomment to have it appear in the document). -%\listoffigures - -%% You can add commands here to generate any other material that belongs -%% in the head matter (for example, List of Plates, Index of Symbols, or -%% List of Appendices). - -%% End of the preliminary sections: reset page style and numbering. -\end{preliminary} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Put your Chapters here; the easiest way to do this is to keep %% -%% each chapter in a separate file and `\include' all the files. %% -%% Each chapter file should start with "\chapter{ChapterName}". %% -%% Note that using `\include' instead of `\input' will make each %% -%% chapter start on a new page, and allow you to format only parts %% -%% of your thesis at a time by using `\includeonly'. %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% *** Include chapter files here. *** - - -%% This adds a line for the Bibliography in the Table of Contents. -\addcontentsline{toc}{chapter}{Bibliography} -%% *** Set the bibliography style. *** -%% (change according to your preference/requirements) -\bibliographystyle{plain} -%% *** Set the bibliography file. *** -%% ("thesis.bib" by default; change as needed) -\bibliography{thesis} - -%% *** NOTE *** -%% If you don't use bibliography files, comment out the previous line -%% and use \begin{thebibliography}...\end{thebibliography}. (In that -%% case, you should probably put the bibliography in a separate file and -%% `\include' or `\input' it here). - -\end{document} -- cgit v1.2.3