From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/ucalgmthesis/LICENSE | 21 +++ macros/latex/contrib/ucalgmthesis/README.md | 201 ++++++++++++++++++++ macros/latex/contrib/ucalgmthesis/appendix.tex | 31 ++++ macros/latex/contrib/ucalgmthesis/backmatter.tex | 5 + macros/latex/contrib/ucalgmthesis/chapter1.tex | 41 +++++ macros/latex/contrib/ucalgmthesis/chapter2.tex | 34 ++++ macros/latex/contrib/ucalgmthesis/frontmatter.tex | 77 ++++++++ .../latex/contrib/ucalgmthesis/sample-thesis.bib | 21 +++ .../latex/contrib/ucalgmthesis/sample-thesis.pdf | Bin 0 -> 117697 bytes .../latex/contrib/ucalgmthesis/sample-thesis.tex | 163 +++++++++++++++++ macros/latex/contrib/ucalgmthesis/titlepage.tex | 4 + macros/latex/contrib/ucalgmthesis/ucalgmthesis.cls | 203 +++++++++++++++++++++ 12 files changed, 801 insertions(+) create mode 100644 macros/latex/contrib/ucalgmthesis/LICENSE create mode 100644 macros/latex/contrib/ucalgmthesis/README.md create mode 100644 macros/latex/contrib/ucalgmthesis/appendix.tex create mode 100644 macros/latex/contrib/ucalgmthesis/backmatter.tex create mode 100644 macros/latex/contrib/ucalgmthesis/chapter1.tex create mode 100644 macros/latex/contrib/ucalgmthesis/chapter2.tex create mode 100644 macros/latex/contrib/ucalgmthesis/frontmatter.tex create mode 100644 macros/latex/contrib/ucalgmthesis/sample-thesis.bib create mode 100644 macros/latex/contrib/ucalgmthesis/sample-thesis.pdf create mode 100644 macros/latex/contrib/ucalgmthesis/sample-thesis.tex create mode 100644 macros/latex/contrib/ucalgmthesis/titlepage.tex create mode 100644 macros/latex/contrib/ucalgmthesis/ucalgmthesis.cls (limited to 'macros/latex/contrib/ucalgmthesis') diff --git a/macros/latex/contrib/ucalgmthesis/LICENSE b/macros/latex/contrib/ucalgmthesis/LICENSE new file mode 100644 index 0000000000..5d1e510788 --- /dev/null +++ b/macros/latex/contrib/ucalgmthesis/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Richard Zach + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/macros/latex/contrib/ucalgmthesis/README.md b/macros/latex/contrib/ucalgmthesis/README.md new file mode 100644 index 0000000000..918cd6e6ba --- /dev/null +++ b/macros/latex/contrib/ucalgmthesis/README.md @@ -0,0 +1,201 @@ +ucalgmthesis +============ + +`ucalgmthesis.cls` is a LaTeX class file that produces documents +according to the thesis guidelines of the [University of Calgary +Faculty of Graduate +Studies](http://www.grad.ucalgary.ca/current/thesis/guidelines). It +uses the [`memoir`](https://ctan.org/pkg/memoir?lang=en) class, which +provides very powerful and flexible mechanisms for book design and +layout. All `memoir` commands for changing chapter and section +headings, page layout, fancy foot- and endnotes, typesetting poems, +etc., can be used. (Memoir is meant as a replacement for the standard +LaTeX classes, so all standard LaTeX commands such as `\chapter`, +`\section`, etc., still work.) Likewise, any of `memoir`'s class +options can be passed as options to `ucalgmthesis`, in particular +`12pt` to select 12 point type (11 point is the default). + +License +------- + +The files in this directory are provided under the terms of the MIT +License. `natbib-oup.bst` is provided under the terms of the LaTeX +Project Public License. + +Usage +----- + +Consult the file `sample-thesis.tex` for an example thesis setup +with parts `\include`'d from separate files. Here's a minimal file: +``` +\documentclass{ucalgmthesis} + +\author{...} +\title{...} +\prog{...} +\degree{...} +\thesisyear{...} +\monthname{...} + +\begin{document} + +\frontmatter + +\makethesistitle + +\chapter{Abstract} + +... + +\tableofcontents + +\mainmatter + +... + +\backmatter + +.... +\end{document} +``` + +Commands +-------- + +The class provides a number of commands to facilitate the production +of the thesis. + +- `\makethesistitle` to produce the title page + +- `\degree`, `\prog`, `\monthname`, `\thesisyear` are used to provide + the names of the degree and graduate program, and the month and year + of the thesis. (These are compatible with the legacy `ucalgthes1` class.) + +- `\dedication` produces a dedication centered on its own page + +- `\fullpagethesis` sets up the type block to have 1" margins on all + sides. `\manuscriptthesis` sets up the typeblock to have a line + length of about 72 characters and 25 lines per page. The package + options `fullpage` and `manuscript` use these at the appropriate + time, but you can use them after you set up your own fonts in the + preamble. + +Otherwise, all the class does is change `memoir`'s defaults to comply +with FGS thesis guidelines. Specifically: + +- All page numbers appear in the same place (centered in footer). +- All pages except title page are numbered. +- Front matter is numbered in roman numerals, main matter in arabic. +- Abstract, preface, acknowledgments, dedication are included in table + of contents. +- The table of contents is called "Table of Contents". + +Class options +------------- + +The class takes a number of options: + +- `singlespaced`, `onehalfspaced`, `doublespaced` sets up the line + spacing (`onehalfspaced` is the default). + +- `palatino`, `times`, `garamond`, `utopia`, `libertine` offer some nice + alternative typefaces (i.e., fonts) to the default Computer Modern. + +- `headers` produces running heads. Per the guidelines, must not be + the thesis title or author's name, and must be separated from the + main text by a line. The class uses the chapter number and title and + places it flush right in the header. + +- `fullpage` calls `\fullpagethesis`, so produces a thesis with 1" + margins all around. This produces very long lines and is not + recommended for review or submission, but if you have to pay by the + page for printing you may want to use it. + +- `manuscript` sets the type size to 12 points, double spaces the + text, and calls `\manuscriptthesis` to set the textblock to be about + 72 characters wide and 25 lines high. That makes a page longer than + a standard manuscript page (60 characters by 25 lines, or about 250 + words), but produces reasonably readable lines and plenty of space + between lines and in the margins for remarks, corrections, and + annotations. Recommended for the version you submit for + examination. You might remove the option for the final version + submitted to the Vault. + +A sample thesis file is also provided. The various parts of the thesis +are included from subsidiary files to enable generating PDFs of the +title page and individual chapters separately. + +Switching from `ucalgthes1` +--------------------------- + +If you are already using the `ucalgthes1` class, you don't have to do +much to switch to `ucalgmthesis`: + +- Change `ucalgthes1` to `ucalgmthesis` in the `\documentclass` command. + +- The thesis template provided with `ucalgthes1` then uses the + `geometry` package to set the margins to 1" on all sides. This + produces atrocious results and you should remove that line. If you + really want the same narrow margins, use the `fullpage` class + option, i.e., + `\documentclass[12pt,doublespaced,fullpage]{ucalgmthesis}`. A + better option for reading and reviewing the thesis is the + `manuscript` class option (see above). + +- The template also loads the `mathptmx` package to set the typeface + to Times New Roman. Times is a good typeface for newspapers, but not + for dissertations or books. Pick a different one! But if you do want + Times, use the `times` class option instead and delete this + line. (The class option loads the newer + [`newtx`](https://ctan.org/pkg/newtx?lang=en) packages.) + +- Delete all the lines from the template that say `\pagenumbering`, + `\newpage`, `\clearpage`, `\phantomsection`, `\setcounter`, + `\begin{singlespace}`, `\end{singlespace}`. + +- Abstract and Acknowledgments just start with `\chapter{Abstract}` + and `\chapter{Acknowledgments}`. + +- Insert `\frontmatter` at the very beginning, `\mainmatter` before + your first real chapter, and `\endmatter` after the last real + chapter and before the bibliography, etc. + +Note that the `ucalgmthesis` class sets much wider margins even with +the `manuscript` option than the `ucalgthes1` template. Lines are +shorter than the excessively long lines resulting from just setting +left and right margins to 1 inch. This will change the number of pages +in the PDF and may result in some displayed formulas and tables not +fitting into the type block anymore. So be sure to check the result +for such problems. + +Troubleshooting and Known Issues +-------------------------------- + +- The font options may interact badly with other packages you + load. Try compiling without the font option to see if that's the + problem. + +- `times`, `palatino`, and `libertine` options load the `newtxmath` or + `newpxmath` packages. These have to be loaded after `amsthm`, so the + class loads `amsthm` before it sets up these fonts. If you don't + want that, leave out the font option, load the font in your main + document preamble, then call `\manuscriptthesis` or + `\fullpagethesis` to set the right page dimensions based on the new + font. + +- `garamond` and `utopia` use the `mathdesign` package, which has a buggy + `\hrulefill` command. The package tries to correct this. + +- The guidelines require that the official filed thesis is laid out + for one-sided printing (equal left and right margins). You may want + to print the thesis two-sided, however, e.g., to give a nice bound + copy to your supervisor or your mom. You can produce a version for + two-sided printing using the `twoside` class option of `memoir`. The + page layout will be altered to have spine and edge margins in the + golden ratio, and alternating on rectos and versos. This will + produce a nicer-looking page spread. However, both + `\makethesistitle` and `\mainmatter` clear to a recto (odd) page + even with the `openany` option, and so `twoside` will produce + additional blank pages in the front matter. The main text, however, + should have the same pagination as the "official" one-sided version, + as the size of the typeblock is the same. \ No newline at end of file diff --git a/macros/latex/contrib/ucalgmthesis/appendix.tex b/macros/latex/contrib/ucalgmthesis/appendix.tex new file mode 100644 index 0000000000..f5700956db --- /dev/null +++ b/macros/latex/contrib/ucalgmthesis/appendix.tex @@ -0,0 +1,31 @@ +% Sample University of Calgary Thesis +% This file contains the APPENDIX + +% If there is just one appendix, it must be called ``Appendix.'' For +% multiple appendices, use \chapter and a descriptive title, +% e.g., \chapter{Questionnaires} + +\chapter*{Appendix}\label{appendix} + +% \chapter* doesn't include it in the TOC, so we have to do that by +% hand. If you have multiple chapters, use \chapter instead and +% remove the following line. + +\addcontentsline{toc}{chapter}{Appendix} + +An appendix is a way to include important information that would +otherwise clutter up your thesis. It should be included when there is +additional relevant information that won't fit in the body of your +thesis. Any Appendix must also be mentioned in the body of your thesis +(e.g., ``For a full list of interview questions used, please see the +\hyperref[appendix]{Appendix}''). If your thesis only has one appendix, it +must be titled ``Appendix.'' If your thesis has more than one appendix, +add alphabetized letters, starting with ``Appendix~A.'' The following +are examples of things you might include in appendices: +\begin{enumerate} + \item Copyright permissions with signatures removed + \item Additional details of methodology and/or data + \item Diagrams of equipment that you developed + \item Digital files and/or artwork digital models + \item Blank copies of questionnaires or surveys used in your research +\end{enumerate} diff --git a/macros/latex/contrib/ucalgmthesis/backmatter.tex b/macros/latex/contrib/ucalgmthesis/backmatter.tex new file mode 100644 index 0000000000..624d3e9d8c --- /dev/null +++ b/macros/latex/contrib/ucalgmthesis/backmatter.tex @@ -0,0 +1,5 @@ + +\printpagenotes + +\bibliography{sample-thesis} + diff --git a/macros/latex/contrib/ucalgmthesis/chapter1.tex b/macros/latex/contrib/ucalgmthesis/chapter1.tex new file mode 100644 index 0000000000..1abd289807 --- /dev/null +++ b/macros/latex/contrib/ucalgmthesis/chapter1.tex @@ -0,0 +1,41 @@ +% Sample University of Calgary Thesis +% This file contains CHAPTER ONE + +\chapter{Introduction} + +\epigraph{Lorem ipsum dolor sit amet, +consectetuer adipiscing elit.}{Anonymous} + +The text above is an \emph{epigraph}. In this typeface, you can have +text in \textbf{boldface}, \emph{italics}, \textbf{\emph{bold + italics}}, \textsl{slanted}, and \textsc{Small Caps}. + +\section{Literature Review} + +\blindtext\pagenote{\blindtext} + +\blindtext[2] + +\begin{defn} +A group~$G$ is said to be \emph{abelian} (or \emph{commutative}) if +for every $a, b \in G$, $a \cdot b = b \cdot a$. +\end{defn} + +\blindtext[2] + +\section{Contributions of the Thesis} + +\blindtext[3] + +\begin{table} + \begin{center} + \begin{tabular}{c|c} + A & B \\ + \hline + 1 & 2 + \end{tabular} + \end{center} + \caption{Letters and numbers} +\end{table} + +\blindtext[3] diff --git a/macros/latex/contrib/ucalgmthesis/chapter2.tex b/macros/latex/contrib/ucalgmthesis/chapter2.tex new file mode 100644 index 0000000000..615c1ca6ac --- /dev/null +++ b/macros/latex/contrib/ucalgmthesis/chapter2.tex @@ -0,0 +1,34 @@ +% Sample University of Calgary Thesis +% This file contains CHAPTER TWO + +\chapter{Important Results} + +\section{The first result} + +\begin{thm}[Residue Theorem] +Let $f$ be analytic in the region $G$ except for the isolated +singularities $a_1,a_2,\dots,a_m$. If $\gamma$ is a closed +rectifiable curve in $G$ which does not pass through any of the +points $a_k$ and if $\gamma\approx 0$ in $G$, then +\[ + \frac{1}{2\pi i}\int_\gamma\! f = \sum_{k=1}^m + n(\gamma;a_k)\mathop{\mathrm{Res}}(f;a_k)\,. +\] +\end{thm} + +\blindtext\footnote{\blindtext} + +\begin{figure} + \[ \circ \to \circ \] + \caption{Circles and arrows} +\end{figure} + +\section{The second result} + +\subsection{The first half} + +\blindtext\pagenote{\blindtext} + +\subsection{The second half} + +\blindtext diff --git a/macros/latex/contrib/ucalgmthesis/frontmatter.tex b/macros/latex/contrib/ucalgmthesis/frontmatter.tex new file mode 100644 index 0000000000..6fe9381c6e --- /dev/null +++ b/macros/latex/contrib/ucalgmthesis/frontmatter.tex @@ -0,0 +1,77 @@ +% Sample University of Calgary Thesis +% This file contains the FRONT MATTER other thna the title page + +\chapter{Abstract} + +The abstract is a concise and accurate summary of the research +contained in your thesis. It gives the reader a snapshot of your +research by highlighting key points. It includes the problem, method of +study, and general conclusion; relevant key words that will help +people find your research. It must be no longer than 350 words (Note: +hyphenated words or words separated by a slash are counted as two +words). It must be double-spaced or one-half spaced, and not contain +graphs, tables, or illustrations. + +\chapter{Preface} + +The preface gives a statement of where the information included in +your thesis came from. It gives credit to the authors who informed +your work. A manuscript-based thesis must include an explanation of +which parts of your thesis were already published and details of the +publication. For example: +\begin{quote} +Portions of the introductory text of Chapter~1 are used with +permission from Smith et al. (2015) of which I am an author. Table~1.1 +is modified from Supplementary Table~3 in Smith et +al. (2014). Chapter~2 of this thesis has been published as J.~Smith +and J.~Doe, ``Title of Article''. Journal Name, vol.~1, issue~1. +\end{quote} +For a traditional thesis requiring ethics approval, include the name +of the board that approved the research project, the title of the +project, and the number of the approval certificate. For example: +\begin{quote} +This thesis is original, unpublished, independent work by the author, +J. Doe. The experiments reported in Chapters 2--4 were covered by +Ethics Certificate number 007, issued by the University of Calgary +Conjoint Health Ethics Board for the project ``Project Title'' on +December 15, 2016. +\end{quote} +For a traditional thesis with no ethics approval required, simply +state something along the lines of: +\begin{quote} +This thesis is original, unpublished, independent work by the author, +Jane M. Doe. +\end{quote} + +\chapter{Acknowledgments} + +The acknowledgments are a place for you to thank/recognize academics +or organizations that supported you (remember you cannot make changes +once your thesis is submitted, so be thoughtful!) You should include +this when you want to acknowledge people who may or may not be +formally recognized in your thesis elsewhere. People usually +mentioned in the acknowledgments include your supervisor and +committee, grant support, helpful fellow students, lab mates, or +family members. + +Since we're using \LaTeX{} and the \verb|memoir| package, we should +thank Don Knuth, Leslie Lamport, and Peter Wilson.\footnote{These are +the authors of \citet{Knuth1986,Lamport1986,Wilson2016}.} + +\dedication{To mom.} + +\tableofcontents + +% If you have no tables, delete the next line + +\listoftables + +% If you have no figures, delete the next line + +\listoffigures + +% Consult Ch 9 of the memoir class manual on how to set up other +% content lists. Note that memoir does not automatically clear the +% page for these. ucalgmthesis fixes this for the default table of +% contents and lists of tables and figures, but not for anything you +% define diff --git a/macros/latex/contrib/ucalgmthesis/sample-thesis.bib b/macros/latex/contrib/ucalgmthesis/sample-thesis.bib new file mode 100644 index 0000000000..9d3a8a6877 --- /dev/null +++ b/macros/latex/contrib/ucalgmthesis/sample-thesis.bib @@ -0,0 +1,21 @@ +@Book{Lamport1986, + author = {Leslie Lamport}, + title = {LaTeX: A Document Preparation System}, + publisher = {Addison-Wesley}, + year = 1986, + address = {Reading, Mass.}} + + +@Book{Knuth1986, + author = {Donald E. Knuth}, + title = {The TeXbook}, + publisher = {Addison-Wesley}, + year = 1986, + address = {Boston}} + +@booklet{Wilson2016, + author = {Peter Wilson}, + title = {The Memoir Class for Configurable Typesetting}, + url = {https://ctan.org/pkg/memoir?lang=en}, + year = 2016 +} \ No newline at end of file diff --git a/macros/latex/contrib/ucalgmthesis/sample-thesis.pdf b/macros/latex/contrib/ucalgmthesis/sample-thesis.pdf new file mode 100644 index 0000000000..79e876a302 Binary files /dev/null and b/macros/latex/contrib/ucalgmthesis/sample-thesis.pdf differ diff --git a/macros/latex/contrib/ucalgmthesis/sample-thesis.tex b/macros/latex/contrib/ucalgmthesis/sample-thesis.tex new file mode 100644 index 0000000000..610fe03987 --- /dev/null +++ b/macros/latex/contrib/ucalgmthesis/sample-thesis.tex @@ -0,0 +1,163 @@ +% A Sample Thesis for the University of Calgary +% ============================================= + +% Load the UCalgary Memoir Thesis class. By default (without options), +% this produces a 1-1/2 spaced thesis in 11 point font without running +% heads. Use package options singlespaced or doublespaced for single +% or double line spacing. The default font is LaTeX's Computer +% Modern. Use package options times, palatino, libertine, garamond, or +% utopia for other nice typefaces. (You may need to install the +% relevant packages to get these to work.) Use package option headers +% if you want running heads. Use option fullpage if you want the text +% to occupy all allowable space (1 inch margins all around), or option +% manuscript if you want a page layout suitable for reviewing and +% proof reading. Option manuscript selects 12 pt type, doublespaced, +% approx. 25 lines per page, with approx. 72 characters per line. You +% may want to remove the option for the version you file in the Vault; +% it looks nicer and is a bit more compact. You can also use any +% options that the memoir class recognizes, such as 10pt for 10 point +% font, 11pt for 11 point font, 12pt for 12 point type, +% etc. Documentation of the memoir package can be found at +% https://ctan.org/pkg/memoir?lang=en + +\documentclass[utopia,headers,manuscript]{ucalgmthesis} + +% Using LaTeX? Then you're probably using math, and so you want to use +% the AMS math commands and define some theorem environments! But you +% can take these out or use your own favorite theorem package. + +\usepackage{amsmath,amsthm} + +\newtheorem{thm}{Theorem} +\theoremstyle{definition} +\newtheorem{defn}[thm]{Definition} % please number all of them together! + +% microtype makes everything look better + +\usepackage{microtype} + +% We'll need some colored links, so we load xcolor and hyperref. But +% you can take that out if you don't want links at all or are happy +% with the standard garish colored boxes. + +\usepackage[dvipsnames]{xcolor} + +% You can turn off the boxes around links made by hyperref. Then links +% will appear in a different color, and per guidelines, all links must +% be blue or black. For blue links say + +\usepackage[colorlinks,allcolors=MidnightBlue]{hyperref} + +% For black links, +% \usepackage[hidelinks]{hyperref} + +% If you prefer hyperref's boxes around links (which don't print), you +% can also change their color. With boxes around links, you probably +% don't want everything in the table of contents to be a link, so we +% only make the page numbers links. +% +% \usepackage[allbordercolors=Periwinkle,linktocpage]{hyperref} + +% The table of contents in your PDF reader's sidebar is just titles by +% default, but it's nice to also have chapter and section numbers for +% easy navigation. + +\usepackage[numbered]{bookmark} + +% For author-year references, you probably want to use natbib with a +% bibliography style appropriate for your discipline; or check out +% latexbib! + +\usepackage[round]{natbib} +\bibliographystyle{plainnat} + +% The blindtext package produces the ``lorem ipsum'' +% texts in this sample and can safely be removed. + +\usepackage{blindtext} + +% Now we put in the information for the thesis title page. + +% Full Name + +\author{Jane Mary Doe} + +% Full Title + +\title{An Important Contribution to the Literature} + +% Official name of the degree + +\degree{Doctor of Philosophy} + +% The name of the graduate program (not the department!) + +\prog{Graduate Program in Philosophy} + +% The month (for the final version: when you file, not when you defended) + +\monthname{May} + +% The year + +\thesisyear{2018} + +% Tell hyperref to put author and title into the PDF metadata + +\hypersetup{pdfinfo={Title={\thetitle},Author={\theauthor}}} + +% If you want memoir to produce endnotes, turn them on here + +\makepagenote + +% Often you only want to output a single chapter so you can send it to +% your supervisor. Use includeonly and make sure everything you don't +% always want compiled to PDF is include'd from a separate file. For +% instance, to produce a PDF only of chapter 1, endnotes and +% bibliography, say + +% \includeonly{chapter1,backmatter} + +% To compile only the title page, which you need when submitting your +% thesis, say + +% \includeonly{titlepage} + +\begin{document} + +\frontmatter + +% titlepage.tex just makes the titlepage; it's in its own file so you +% can typeset it alone using includeonly. + +\include{titlepage} + +% frontmatter.tex contains the abstract, preface, acknowledgments, and +% the commands to produce the table of contents, list of tables, etc. + +\include{frontmatter} + +% The main matter of the thesis contains the actual content, separated +% into chapters. + +\mainmatter + +\include{chapter1} + +\include{chapter2} + +% The back matter includes commands to produce endnotes, index, +% glossary, bibiliography, and the like. + +\backmatter + +\include{backmatter} + +% The appendix contains material that would clutter up the main +% text. Remove it if you don't have an appendix. + +\appendix + +\include{appendix} + +\end{document} diff --git a/macros/latex/contrib/ucalgmthesis/titlepage.tex b/macros/latex/contrib/ucalgmthesis/titlepage.tex new file mode 100644 index 0000000000..fcb85dff45 --- /dev/null +++ b/macros/latex/contrib/ucalgmthesis/titlepage.tex @@ -0,0 +1,4 @@ +% Sample University of Calgary Thesis +% This file contains the TITLE PAGE + +\makethesistitle diff --git a/macros/latex/contrib/ucalgmthesis/ucalgmthesis.cls b/macros/latex/contrib/ucalgmthesis/ucalgmthesis.cls new file mode 100644 index 0000000000..23cd021b0d --- /dev/null +++ b/macros/latex/contrib/ucalgmthesis/ucalgmthesis.cls @@ -0,0 +1,203 @@ +% ucalgmthesis class +% ================== +% A LaTeX class for producing thesis documents conforming to the +% University of Calgary Faculty of Graduate Study formatting rules. +% +% Richard Zach +% +% The latest version of the class is available at +% https://github.com/rzach/ucalgmthesis +% +% Distributed under the terms of the MIT License +% https://opensource.org/licenses/MIT + +\ProvidesClass{ucalgmthesis}[2019/04/02 + University of Calgary Memoir Thesis Class] + +\NeedsTeXFormat{LaTeX2e}[1994/06/01] + +%% Options for spacing (default is 1.5 spacing) + +% All pages must be double or one-and-one-half spaced (Note: this +% includes your Abstract, Acknowledgments, Dedications, etc.). You +% can use single-line spacing if you have a long Table of Contents, +% List of Tables, List of Figures, or for long quotes in the body of +% your thesis). Use \verb|memoir|'s \verb|SingleSpace| environment to +% typeset, e.g., a quotation single spaced. + +\DeclareOption{singlespaced}{\AtEndOfClass{\SingleSpacing}} +\DeclareOption{onehalfspaced}{\AtEndOfClass{\OnehalfSpacing}} +\DeclareOption{doublespaced}{\AtEndOfClass{\DoubleSpacing}} + +% Options for typefaces + +\DeclareOption{palatino} + {\AtEndOfClass{\usepackage[T1]{fontenc} + \usepackage{amsthm} % load amsthm before newpxmath + \usepackage{newpxtext,newpxmath}}} +\DeclareOption{times} + {\AtEndOfClass{\usepackage[T1]{fontenc} + \usepackage{amsthm} % load amsthm before newtxmath + \usepackage{newtxtext,newtxmath}}} +\DeclareOption{garamond} + {\AtEndOfClass{\usepackage[T1]{fontenc} + \usepackage[garamond]{mathdesign} + \usepackage[osf]{garamondx} + \fixmdhrulefill}} +\DeclareOption{utopia} + {\AtEndOfClass{\usepackage[T1]{fontenc} + \usepackage[utopia]{mathdesign} + \fixmdhrulefill}} +\DeclareOption{libertine} + {\AtEndOfClass{\usepackage[T1]{fontenc} + \usepackage{amsthm} % load amsthm before newtxmath + \usepackage{libertine} + \usepackage[libertine]{newtxmath}}} + +% options for headings + +\DeclareOption{plain}{\AtBeginDocument{\pagestyle{plain}}} +\DeclareOption{headers}{\AtBeginDocument{\pagestyle{ucalgaryruled}}} + +% options for the typeblock + +% fullpage uses the entire space available: 1 in on all sides, set the +% typeblock to fill to the margins. We do this when the class is loaded +% so it takes into account any changes to the fonts and type +% size made using the class options, but not anything done later +% after the class is called. Since memoir will set the line +% width to \textwidth when it first computes the default type block +% size, we have to reset that after we change the type block. + +\DeclareOption{fullpage}{ + \AtEndOfClass{\fullpagethesis}} + +% manuscript sets the typeblock to approximately 72 characters by 25 +% lines at 12pt and using double line spacing and sets left and right +% margins evenly. + +\DeclareOption{manuscript}{ + \PassOptionsToClass{12pt}{memoir} + \ExecuteOptions{doublespaced} + \AtEndOfClass{\manuscriptthesis}} + +% All other options are passed to the base class directly. + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{memoir}} + +% By default, typeset with one half spacing, no running heads, 11 pt + +\ExecuteOptions{onehalfspaced,plain} + +% Tell memoir the document has to be one-sided (i.e., don't switch +% margins, etc.) and don't add empty pages before new chapters + +\PassOptionsToClass{openany,oneside,11pt}{memoir} +\ProcessOptions + +% now load memoir + +\LoadClass{memoir} + +% Commands to set up type block and margins based on selected typeface +% and size. These are called after the class loads, but before the +% rest of the preamble. + +% fullpagethesis sets the margins to 1in on all sides, so maximum +% allowed space is used. + +\newcommand{\fullpagethesis}{% + \settypeblocksize{9in}{6.5in}{*}% + \setlrmarginsandblock{1in}{*}{*}% + \setulmarginsandblock{1in}{*}{*}% + \checkandfixthelayout} + +% \manuscriptthesis sets the typeblock to 25 lines per 72 characters +% (approx.) per line, and vertically centers the page. Left and right +% margins are left to memoir: equal margins for onesided (default), +% wider outside margins for twosided. + +\newcommand{\manuscriptthesis}{% + \setlxvchars + \settypeblocksize{25\baselineskip}{1.1\lxvchars}{*}% + \setulmargins{*}{*}{*}% + \checkandfixthelayout} + +% fix a bug in mathdesign + +\newcommand*{\fixmdhrulefill}{\def\hrulefill{\leavevmode\leaders \hrule height \rulethickness \hfill\kern\z@}} + +% \makethesistitle formats the title page + +\newcommand{\makethesistitle}{ + \begin{titlingpage*} + \begin{center}\begin{DoubleSpace} + UNIVERSITY OF CALGARY \\ + \vfill + {\@title \par} + \vfill + by \\ + \vfill + {\@author \par} + \vfill + {A \@thesis} \par + SUBMITTED TO THE FACULTY OF GRADUATE STUDIES \par + IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE \par + {DEGREE OF \@degree} + \vfill + \@dept \par + \vfill + {CALGARY, ALBERTA \par} + {{\@monthname}, {\@gradyear} \par} + \vfill + {\copyright\ {\@author}~{\@gradyear} \par} + \end{DoubleSpace}\end{center} + \end{titlingpage*} +} + +\newcommand{\dedication}[1]{% + {\clearpage\thispagestyle{plain}\mbox{}\vfill + \phantomsection + \addcontentsline{toc}{chapter}{Dedication}% + \centering #1 \par\vfill\clearpage}} + +% Commands for the thesis title page + +\def\dept#1{\gdef\@dept{\uppercase{#1}}} +\let\prog\dept % compatibility with ucalgthes class +\def\degree#1{\gdef\@degree{\uppercase{#1}}} +\def\monthname#1{\gdef\@monthname{#1}} +\def\gradyear#1{\gdef\@gradyear{#1}} +\let\thesisyear\gradyear +\def\thesis#1{\gdef\@thesis{\uppercase{#1}}} +\thesis{Thesis} + +% Ruled pagestyle according to rules: folio centered in footer, +% headers with a rule. Chapter number and title flush right. Also +% works twosided, in which case the verso headers hold the chapter +% title and the recto headers the section title. + +\copypagestyle{ucalgaryruled}{ruled} +\if@twoside + \makeevenhead{ucalgaryruled}{\leftmark}{}{} + \makeoddhead{ucalgaryruled}{}{}{\rightmark} +\else + \makeoddhead{ucalgaryruled}{}{}{\leftmark} +\fi + +\makeoddfoot{ucalgaryruled}{}{\thepage}{} +\makeevenfoot{ucalgaryruled}{}{\thepage}{} + +% Since the TOC must include everything in the front matter, the +% default TOC style looks odd. We reduce the space between chapter +% entries and add dotted leaders also to chapters. + +\setlength{\cftbeforechapterskip}{3pt plus 0pt} +\renewcommand{\cftchapterleader}{\normalfont\cftdotfill{\cftsectiondotsep}} +\renewcommand{\contentsname}{Table of Contents} + +% we need toc, lof, lot to begin on a new page + +\def\tocheadstart{\clearpage} +\def\lofheadstart{\clearpage} +\def\lotheadstart{\clearpage} -- cgit v1.2.3