From a3a065919f95e084a7defca6c7138e638e834fed Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Thu, 8 Jun 2006 22:11:04 +0000
Subject: york-thesis

git-svn-id: svn://tug.org/texlive/trunk@1673 c570f23f-e606-0410-a88d-b1316a301751
---
 .../source/latex/york-thesis/york-thesis.dtx       | 1163 ++++++++++++++++++++
 1 file changed, 1163 insertions(+)
 create mode 100644 Master/texmf-dist/source/latex/york-thesis/york-thesis.dtx

(limited to 'Master/texmf-dist/source/latex/york-thesis/york-thesis.dtx')

diff --git a/Master/texmf-dist/source/latex/york-thesis/york-thesis.dtx b/Master/texmf-dist/source/latex/york-thesis/york-thesis.dtx
new file mode 100644
index 00000000000..24ea76c07c1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/york-thesis/york-thesis.dtx
@@ -0,0 +1,1163 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2002--6 by Norm Gall <gall@spookyhill.net>
+% -------------------------------------------------------
+% 
+% This file may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% 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.3 or later is part of all distributions of LaTeX 
+% version 2003/06/01 or later.
+%
+% This work has the LPPL maintenance status "author-maintained".
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{york-thesis.dtx}
+%</driver>
+%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<class>\ProvidesClass{york-thesis}
+%<*class>
+[2006/05/16 v3.4 York University (Toronto, Canada) thesis class]
+%</class>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{listings}
+\EnableCrossrefs         
+\RecordChanges
+\widowpenalty=50000 \clubpenalty=50000
+\begin{document}
+  \DocInput{york-thesis.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{0}
+%
+% \CharacterTable
+%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%   Digits        \0\1\2\3\4\5\6\7\8\9
+%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%   Dollar        \$     Percent       \%     Ampersand     \&
+%   Acute accent  \'     Left paren    \(     Right paren   \)
+%   Asterisk      \*     Plus          \+     Comma         \,
+%   Minus         \-     Point         \.     Solidus       \/
+%   Colon         \:     Semicolon     \;     Less than     \<
+%   Equals        \=     Greater than  \>     Question mark \?
+%   Commercial at \@     Left bracket  \[     Backslash     \\
+%   Right bracket \]     Circumflex    \^     Underscore    \_
+%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%   Right brace   \}     Tilde         \~}
+%
+% \changes{v1.0}{1995/04/25}{Set up for distribution to others}
+% \changes{v1.1}{2002/02/13}{Various housekeeping functions}
+% \changes{v2.5}{2005/04/20}{Extensive changes to comply with the new
+%   Spring 2005 FGS Thesis and Dissertation Guidelines}
+% \changes{v3.0}{2005/05/21}{Converted all code to literate
+%   programming; corrected innumerable minor errors}
+%
+% \GetFileInfo{york-thesis.dtx}
+%
+% \DoNotIndex{\newcommand,\newenvironment}
+% 
+% \title{The \textsf{york-thesis} class\thanks{This document
+%     corresponds to \textsf{york-thesis}~\fileversion, dated
+%     \filedate.}}  \author{Norm Gall \\
+%   \texttt{gall@spookyhill.net}\thanks{For the love of all that is
+%     holy, if you find errors your output, get hold of me pronto at
+%     \texttt{gall@spookyhill.net} --- I will make every effort to
+%     make the corrections quickly and get back to you. However, you
+%     need to describe the problem clearly and include the source and
+%     output that offends.}}
+%
+% \maketitle
+% \parindent = 0pt
+% \parskip = 1em
+% \begin{abstract}
+%   \noindent The \textsf{york-thesis} class implements the York
+%   University (Toronto, Canada) Faculty of Graduate Studies guidelines
+%   for Theses and Dissertations (Spring 2005). This class file is based
+%   on the \textsf{report} class included in every \LaTeX\
+%   distribution. All requirements are pre-programmed and various
+%   additional bits that I found useful when writing my dissertation are
+%   included.
+% \end{abstract}
+%
+% \section{Introduction}
+%
+% This document specifies completely the changes the class file makes
+% to the \textsf{report} class in order for the output to meet the
+% York FGS specifications for Theses and Dissertations. These
+% guidelines are available from your graduate programme office and
+% from FGS.\footnote{They are also available at
+%   \texttt{http://www.yorku.ca/grads/pub/td.htm}} It is your
+% responsibility to ensure that your output meets these requirements.
+%
+% \section{Usage}
+%
+% \subsection{Installation}
+%
+% Now that you have run both \texttt{york-thesis.ins} and
+% \texttt{york-thesis.dtx} through \LaTeX, the only file you
+% \textit{need} to install is the \texttt{york-thesis.cls} file. It
+% goes in your personal \texttt{texmf} tree, wherever that is. For
+% MacOS X users, this location is in \texttt{Library/texmf/tex/latex/}
+% in your home folder.
+%
+% If you are using emacs and AUCTeX, the file \texttt{york-thesis.el}
+% should be installed in a folder called \texttt{style} in your
+% personal \texttt{emacs-lisp} folder in your home directory. This
+% file contains some definitions for AUCTeX.
+%
+% The york-thesis-Template.tex file contains a sample master document
+% that uses all of the features provided by the class file over
+% \textsf{report.cls}. If you forget to set anything, the defaults
+% from the class file will be used, so review your output carefully.
+%
+% \subsection{Deployment}
+% 
+% \DescribeMacro{\documentclass} Use: |\documentclass| \oarg{options}
+% \{\textsf{york-thesis}\}
+%
+% The \textsf{york-thesis} class is invoked in the standard
+% fashion. The defaults are
+% \textsf{letterpaper,10pt,oneside,onecolumn,draft,openany}. The
+% |\documentclass| command has extra functionality built into two
+% options: \textsf{draft} and \textsf{final}. The \textsf{draft}
+% option sets the margins to 1 inch all around and single-spaces
+% everything. All other \textsf{draft} features of the \textsf{report}
+% class (such as marking overfull boxes and providing empty boxes for
+% graphics) are left intact, if you explicitly declare \textsf{draft};
+% otherwise, you get the graphics drawn and bad boxes are not marked.
+% The \textsf{final} option, by itself in the options list, sets all
+% parameters for producing output suitable for examination and
+% deposit. All other options are available, though some (like
+% \textsf{titlepage}) do nothing.\footnote{If you declare
+%   \textsf{twocolumn}, the output may be goofy. I intend to make this
+%   a real option in future. See \S\ref{future}.}
+%
+% \subsection{Preprogrammed Formats}
+% \label{preprog}
+%
+% The York FGS guidelines are both specific and vague. Where the
+% guidelines \textit{require} some feature, it is implemented as the
+% default. If you change the behaviour of anything, you should confirm
+% that this liberty is permitted by the guidelines. I have taken some
+% liberties that are permitted---these are detailed below.
+%
+% \DescribeMacro{\chapter} \DescribeMacro{\section}
+% \DescribeMacro{\subsection} \DescribeMacro{\subsubsection}
+% \DescribeMacro{\paragraph} I have made the size and spacing of the
+% output these commands less idiotic---that is, smaller. The chapter
+% type size is slightly larger than that for the others (|\Large|
+% rather than |\Huge|), but the others are now simply |\large|, save
+% |\paragraph|, which is |\normalsize|. Additionally, the chapter
+% command gives you a chapter number with the title on a single line
+% without the word `Chapter' to remind you that this is where a
+% chapter begins. I think we can all tell from the context.
+%
+% \DescribeMacro{\appendix} Appendices are marked with
+% capital Roman letters (i.e., A, B, C, et cetera), and treated
+% exactly the same as a normal chapter.
+%
+% \DescribeEnv{quote} \DescribeEnv{quotation} \DescribeEnv{verse} I
+% have made a command decision regarding these environments. The
+% guidelines allow for single spacing these in the submission copy and
+% I think it just looks better to do so. So, these three environments
+% are single-spaced in both \textsf{draft} and \textsf{final}. I am
+% planning to implement a switch for this in the future. If this is an
+% important feature for anyone, please give me a shout.
+%
+% \DescribeMacro{\footnote} The guidelines allow footnotes to be
+% single-spaced, so they are. Also, I have set the footnote
+% continuation bar (the one that gets drawn when footnotes continue on
+% the next page) to be drawn across the width of the text. Again, if
+% anyone needs a switch to double space their footnotes soon, give me
+% a shout.
+%
+% \subsection{Booleans and Macros}
+%
+% \subsubsection{Preamble Material}
+%
+% These booleans and macros must be set before the |document|
+% environment begins.
+%
+% \DescribeMacro{masters} This \textsf{boolean} sets whether the
+% document should be typeset as a PhD dissertation or a Masters
+% thesis.
+%
+% \DescribeMacro{hasfigures} This \textsf{boolean} sets whether there
+% are any figures in the text. All this switch does is tell \LaTeX\ to
+% construct a list of figures and insert an entry for the list of
+% figures in the table of contents.
+%
+% \DescribeMacro{hastables} This \textsf{boolean} sets whether there
+% are any tables in the text. All this switch does is tell \LaTeX\ to
+% construct a list of tables and insert an entry for the list of
+% tables in the table of contents.
+%
+% \DescribeMacro{\title} This macro specifies the title of the work
+% for the title page.
+%
+% \DescribeMacro{\author} This macro specifies your name for the title
+% page.
+%
+% \DescribeMacro{\department} This macro specifies the department or
+% graduate programme within which you are pursuing the degree.
+%
+% \DescribeMacro{\date} This macro specifies the full month and year
+% of the defense date.
+%
+% \DescribeMacro{\committeememberslist} Use: |\committeememberslist|
+% \marg{enumerated list}
+%
+% This macro specifies the list of your
+% examination committee members for the authenticity page, if you are
+% printing one. What goes into the macro must be an enumerated list.
+%
+% \DescribeMacro{\mastersof} This macro specifies which Masters degree
+% you are attempting (i.e., Master of Science, Master of Arts). This
+% macro has no effect if |\boolean{masters}| is false, i.e., if this
+% is a PhD dissertation.
+%
+% \DescribeMacro{\degreename} This macro specifies the name of the
+% degree you are attempting: Master or Magisteriate, Doctor or
+% Doctorate.
+%
+% \DescribeMacro{\abstractfile} This macro specifies the filename of
+% the .tex file that contains your abstract. If you do not specify a
+% file, nothing is typeset. The macro constructs the title and table
+% of contents entry for the page. All you need to do in the file is
+% enter the text. The first line of the abstract should not be
+% indented, so this is forced by the class file.
+%
+% \DescribeMacro{\dedicationfile} This macro specifies the filename of
+% the .tex file that contains your dedication text. All you need to do
+% here is specify the text of your dedication.
+%
+% \changes{v3.2}{2006/01/31}{Added the \textsf{dedicationfile} macro.}
+%
+% \DescribeMacro{\acknowledgementsfile} This macro specifies the
+% filename of the .tex file that contains your acknowledgements. If
+% you do not specify a file, nothing is typeset.  The macro constructs
+% the title and table of contents entry for the page. All you need to
+% do in the file is enter the text.  The first line of the
+% acknowledgements should not be indented, so this is forced by the
+% class file.
+%
+% \DescribeMacro{\prefacefile} This macro specifies the filename of
+% the .tex file that contains your preface. If you do not specify a
+% file, nothing is typeset.  The macro constructs the title and table
+% of contents entry for the page. All you need to do in the file is
+% enter the text.  The first line of the preface should not be
+% indented, so this is forced by the class file.
+%
+% \DescribeMacro{\abbreviationsfile} This macro specifies the filename
+% of the .tex file that contains any abbreviations for citations, et
+% cetera, that you are going to use in the text. If you do not specify
+% a file, nothing is typeset.  The macro constructs the title and
+% table of contents entry for the page. All you need to do in the file
+% is enter the text.  The first line of the abbreviations page should
+% not be indented, so this is forced by the class file.
+%
+% \subsubsection{Source Material}
+% \label{sourcemat}
+%
+% These macros are used inside the |document| environment.
+%
+% \DescribeMacro{\makefrontmatter} This macro generates the title
+% page, abstract, acknowledgements, preface, abbreviations page, table
+% of contents, and lists of tables and figures. It can be commented
+% out until you need the front matter generated.
+%
+% \DescribeMacro{\epigraph} Use: |\epigraph| \marg{pithy quote}
+% \marg{source} 
+%
+% I have added a command to insert an epigraph to be used inside an
+% |epigraphs| environment immediately after the |\chapter| command (or
+% wherever it strikes your fancy). It takes two arguments: a pithy
+% quote and the source. The text is inserted right-justified with a
+% rule underneath just after the chapter title (when invoked right
+% after the |\chapter| command). The output is single-spaced in
+% \texttt{draft} mode and double-spaced in \texttt{final} mode. As you
+% can see, the possibilities are endless.
+%
+% \subsection{Environments}
+%
+% The |quote|, |quotation|, and |verse| environments have been
+% modified as specified in \S\ref{preprog}.
+%
+% \DescribeEnv{epigraphs} This environment allows for the setting of
+% epigraphs---if you are so inclined. It is a list environment and
+% uses the |\epigraph| macro as the list item as specified in
+% \S\ref{sourcemat}.
+%
+% \DescribeEnv{fquote} \DescribeEnv{fquotation} \DescribeEnv{fverse}
+% These environments are redefinitions of the corresponding
+% environments for use inside footnotes. They properly set the text
+% size to |\footnotesize| and control the spacing appropriately.
+%
+% \section{Miscellaneous Goodies}
+%
+% \subsection{Bugs}
+%
+% There are, of course, no bugs in this class file. In the incredibly
+% unlikely event that it does not perform correctly, it is obvious that
+% it is the operator's fault. Please send a detailed description of your
+% error to me at \texttt{gall@spookyhill.net} and I will instruct you in
+% the proper use of the class file. If, on the other hand, you have the
+% temerity to think that there could be \textit{improvements} to this
+% most perfect code, please send those along as well for I do enjoy
+% condescending to those who dare second-guess genius.\footnote{For the
+%   humour-impaired, if this thing is messed up, send me a detailed
+%   description of the error or improvement desired and I'll make
+%   something useful happen.}
+%
+% \subsection{Future Features}
+% \label{future}
+%
+% \begin{itemize}
+%
+% \item Implement a switch for the |quote|, |quotation|, |verse|
+%   environments so that they can be set to double-space in
+%   \textsf{final} mode.
+%
+% \item Implement a switch for the |\footnote| command so that they
+%   can be double-spaced in \textsf{final} mode.
+%
+% \item Some people might want to have the option of setting their
+%   \textsf{draft} documents two sided and/or two columned (i.e., any
+%   damned way they want). If you do so right now, things may look
+%   goofy (most of the frontmatter, for instance). I want to make it
+%   such that a decent looking \textsf{draft} document can be
+%   generated. My idea here is that users might want to make their
+%   thesis/dissertation look like a book at the end of the day, since
+%   the \textsf{final} document is not set like a book. This is not a
+%   high priority.
+%
+% \item Generation of subject matter appropriate text. I forsee a
+%   |generate| option for the |\documentclass| command. This option
+%   will, if the computer is attached to the Internet, search all
+%   available sources, generate a thesis statement (based upon the
+%   value of the |\title| macro), and the supporting arguments for
+%   that thesis. I anticipate a great deal of extra code will be
+%   necessary, so this feature will be an ongoing project.
+%
+% \end{itemize}
+%
+% \StopEventually{\PrintChanges}
+%
+% \section{Implementation}
+%
+% \subsection{Initial Code}
+%
+% All of these packages are in the standard distribution of
+% \LaTeX. I've included the \textsf{makeidx} so I can re-define
+% |\printindex|. The |saving| boolean is defined here for use with the
+% class options.
+%
+%    \begin{macrocode}
+\RequirePackage{ifthen} 
+\RequirePackage{calc}
+\RequirePackage{makeidx}
+\newboolean{saving}
+%    \end{macrocode}
+%
+% \subsection{Declaration of Options}
+%
+% \changes{v1.1}{2002/02/13}{added \textsf{final} and \textsf{draft}
+%   options in \textsf{documentclass} macro.}
+% \changes{v3.0}{2005/05/21}{changed the fashion in which options are
+%   processed so that \textsf{report.cls} correctly gets the draft and
+%   final options.}  \changes{v3.0}{2005/05/21}{FGS guidelines allow
+%   for 10pt, 11pt, and 12pt type now. I no longer enforce 12pt;
+%   however, it is set as the default. Other type sizes must be
+%   explicitly declared.}
+%
+% All of the options available to the |report| class are available in
+% \textsf{york-thesis}.\footnote{Do not use the |titlepage| and
+%   |abstract| environments from \textsf{report.cls}. The title page
+%   and the abstract are taken care of by the |makefronmatter|
+%   macro.} I have changed the default options (i.e., the option set
+%   executed where there are no explicitly declared options in the
+%   |\documentclass| macro. There are also two changes to the standard
+%   behaviour of two options: \textsf{draft} and \textsf{final}.
+%
+% The default option list is:
+%   \textsf{letterpaper,10pt,oneside,onecolumn,draft,openany}
+%
+% I have set the options up in a way that increases the number of
+% options for typesetting the document.
+%
+% If \textsf{draft} is declared \textit{implicitly} (that is, neither
+% \textsf{draft} or \textsf{final} is declared in the options list),
+% then all text is set to single-spacing, graphics are drawn, and bad
+% boxes are not marked.
+%
+% If draft is declared \textit{explicitly} (that is, \textsf{draft} is
+% declared in the options list), then all text is set to
+% single-spaced, graphics are not drawn (bounding boxes are drawn),
+% and bad boxes are marked.
+%
+% If \textsf{final} is declared, the text is set to double-space (as
+% described in \S\ref{preprog}), one sided printing, and one
+% column. If \textsf{final} is declared alone, what you get is
+% acceptable by FGS for deposit.
+%
+%    \begin{macrocode}
+\DeclareOption{draft}{\setboolean{saving}{true}}
+\DeclareOption{final}{\setboolean{saving}{false}
+  \PassOptionsToClass{letterpaper,12pt,oneside,%
+    onecolumn,final,openany}{report}}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
+\ExecuteOptions{draft}
+%    \end{macrocode}
+%
+% \subsection{Execution of Options}
+%
+%    \begin{macrocode}
+\ProcessOptions
+%    \end{macrocode}
+%
+% \subsection{Package Loading}
+%
+%    \begin{macrocode}
+\LoadClass{report}
+%    \end{macrocode}
+%
+% \subsection{Main Code}
+%
+% \subsubsection{Preliminary Matter}
+%
+% I need to re-define a number of standard macros and settings to get
+% everything to come out exactly right. This is where that magic
+% happens.
+%
+%    \begin{macrocode}
+\let\oldquote\quote \let\oldendquote\endquote
+\let\oldquotation\quotation \let\oldendquotation\endquotation
+\let\oldverse\verse \let\oldendverse\endverse
+\let\oldbibliography\bibliography
+\let\oldendbibliography\endbibliography
+\let\oldprintindex\printindex
+%    \end{macrocode}
+%
+%
+% The following are booleans along with their initial values
+%
+% \changes{v2.5}{2005/04/20}{added the boolean
+%   \textsf{authenticitypage}} \changes{v3.0}{2005-05-21}{removed the
+%   boolean \textsf{authenticitypage}; the authenticity page is now
+%   always generated}
+%
+% \begin{macro}{hasfigures}
+%
+% This \textsf{boolean} sets whether a list of figures should be
+% generated 
+%
+% \begin{macrocode}
+\newboolean{hasfigures}\setboolean{hasfigures}{false}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{hastables}
+%
+% This \textsf{boolean} sets whether a list of tables should be
+% generated 
+%
+% \begin{macrocode}
+\newboolean{hastables}\setboolean{hastables}{false}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{masters}
+% 
+%   The |masters| boolean was taken from dissertation.sty with
+%   modification. If set \textsf{true}, you will need to specify which
+%   master's degree you are pursuing with the |\masterof| macro.
+%
+%    \begin{macrocode}
+\newboolean{masters}\setboolean{masters}{false}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\spacing}
+%
+%   I redefine |\baselinestretch| and recompute |\baselineskip|
+%   lateral effect: set typeface to normal size roman
+%
+%    \begin{macrocode}
+\newcommand{\spacing}[1]{\renewcommand{\baselinestretch}{#1}%
+  \large\normalsize}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@removefromreset}
+%
+%   I define a command that can undo footnote reset between chapters
+%   (shamelessly lifted from removefr.sty by Donald Arseneau) and then
+%   do it.
+%
+%    \begin{macrocode}
+\def\@removefromreset#1#2{\let\@tempb\@elt
+  \expandafter\let\expandafter\@tempa\csname c@#1\endcsname
+  \def\@elt##1{\expandafter\ifx\csname c@##1\endcsname\@tempa\else
+    \noexpand\@elt{##1}\fi}%
+  \expandafter\edef\csname cl@#2\endcsname{\csname cl@#2\endcsname}%
+  \let\@elt\@tempb}
+\@removefromreset{footnote}{chapter}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\resetfootnote}
+% 
+%   Here I undo the hideous |\@addtoreset| in \textsf{report.cls}
+%
+%    \begin{macrocode}
+\def\resetfootnote{\setcounter{footnote}{0}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\footnotetext}
+%
+%   Make footnotes single spaced, footnote continuation lines
+%        longer
+%
+%        \changes{v1.1}{2002/02/13}{made footnote spacing single
+%          spaced in final}
+%
+%        \changes{v3.4}{2006/05/16}{stole code from footmisc to
+%          lengthen footnote continuation lines}
+%
+%
+%    \begin{macrocode}
+\long\def\@footnotetext#1{%
+ \insert\footins{%
+  \def\baselinestretch {1}%
+  \reset@font\footnotesize
+  \interlinepenalty\interfootnotelinepenalty
+  \splittopskip\footnotesep
+  \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+  \hsize\columnwidth
+  \@parboxrestore
+  \protected@edef\@currentlabel{%
+    \csname p@footnote\endcsname\@thefnmark}%
+  \color@begingroup
+    \@makefntext{%
+      \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+  \color@endgroup}}
+\gdef\split@prev{0} 
+\let\pagefootnoterule\footnoterule 
+\let\mpfootnoterule\footnoterule 
+\def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@} 
+\def\footnoterule{\relax 
+ \ifx \@listdepth\@mplistdepth 
+   \mpfootnoterule 
+ \else 
+   \ifnum\split@prev=\z@ 
+   \pagefootnoterule 
+ \else 
+   \splitfootnoterule 
+   \fi 
+   \xdef\split@prev{\the\insertpenalties}% 
+ \fi 
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\appendix}
+%
+%   Renew the |\appendix| command to deal with spacing in appendices
+%   correctly
+%
+%    \begin{macrocode}
+\renewcommand\appendix{\par
+  \setcounter{chapter}{0}%
+  \setcounter{section}{0}%
+  \gdef\@chapapp{\appendixname}%
+  \gdef\thechapter{\@Alph\c@chapter}
+  \ifthenelse{\boolean{saving}}{\spacing{1}}{\spacing{2}}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bibliography}
+%
+%   Renew the |\bibliography| macro so that it puts in its own toc entry
+%
+%    \begin{macrocode}
+\renewenvironment{bibliography}[1]%
+  {\addcontentsline{toc}{chapter}{Bibliography}\oldbibliography {#1}}%
+  {\oldendbibliography}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\printindex}
+%
+%   Renew the |\printindex| macro so that it puts in its own toc entry
+%
+%    \begin{macrocode}
+\renewcommand{\printindex}{\newpage%
+  \addcontentsline{toc}{chapter}{Index}\oldprintindex}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\hugeskip}
+%
+%   Skip twice as much as the TeX command |\bigskip|
+%
+%    \begin{macrocode}
+\def\hugeskip{\vskip 24pt plus 8pt minus 8pt}
+%    \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\@ifdefined} 
+%
+%   Expand second argument if the command in the first argument is not
+%   defined
+%
+%    \begin{macrocode}
+\def\@ifdefined#1#2{\@ifundefined{#1}{}{#2}}
+%    \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\@makechapterhead}
+%
+%   These macros are redefined here to use not-so-huge type and to
+%   provide chapters of form: N chaptername
+%
+%   \changes{v1.5}{2003/09/20}{Changed appearance of chapter titles:
+%     removed \textsf{chaptername} and placed the section number on
+%     the same line as the label (suggested by Dave Makalsky)}
+%
+%    \begin{macrocode}
+\def\@makechapterhead#1{ \vspace*{50pt} { \parindent 0pt
+    \raggedright%
+    \ifnum \c@secnumdepth > \m@ne \Large\bf 
+    \thechapter \hskip 1em \fi \Large \bf #1\par
+    \nobreak \vskip 40pt } }
+\def\@makeschapterhead#1{ \vspace*{50pt} { \parindent 0pt \raggedright
+    \Large \bf #1\par
+    \nobreak \vskip 40pt }}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\section}
+%
+%  This section of code re-defines some standard stuff for sanity.
+%
+%    \begin{macrocode}
+\renewcommand\section{\@startsection {section}{1}{\z@}%
+                                 {-3.5ex \@plus -1ex \@minus -.2ex}%
+                                 {2.3ex \@plus.2ex}%
+                                 {\normalfont\large\bfseries}}
+\renewcommand\subsection{\@startsection {subsection}{1}{\z@}%
+                                 {-3.5ex \@plus -1ex \@minus -.2ex}%
+                                 {2.3ex \@plus.2ex}%
+                                 {\normalfont\normalsize\bfseries}}
+\renewcommand\subsubsection{\@startsection {subsubsection}{1}{\z@}%
+                                 {-3.5ex \@plus -1ex \@minus -.2ex}%
+                                 {2.3ex \@plus.2ex}%
+                                 {\normalfont\normalsize\bfseries}}
+%    \end{macrocode}
+% \end{macro}
+%
+% We rename the headings for the toc, lof, and the references.
+%
+%    \begin{macrocode}
+\renewcommand\contentsname{Table of Contents}
+\renewcommand\listfigurename{List of Figures}
+\renewcommand\listtablename{List of Tables}
+\renewcommand\bibname{Bibliography}
+%    \end{macrocode}
+%
+% We modify the definitions for the various contents headers 
+%
+%    \begin{macrocode}
+\newcommand{\contentsheader}[2] { \addtocontents{#1} {
+    \centerline{\underline{#2}\protect\hfill%
+      \underline{Page}}}}
+\renewcommand\tableofcontents { \chapter*{\contentsname}
+  \addcontentsline{toc}{chapter}{Table of Contents}
+  \@starttoc{toc}} 
+\renewcommand\listoffigures { \chapter*{\listfigurename}
+  \addcontentsline{toc}{chapter}{List of Figures}
+  \@starttoc{lof}} 
+\renewcommand\listoftables { \chapter*{\listtablename}
+  \addcontentsline{toc}{chapter}{List of Tables}
+  \@starttoc{lot}}
+%    \end{macrocode}
+%
+% \subsubsection{Margins and spacing}
+%
+% Rules taken from York FGS Guidelines for Theses and Dissertations
+%
+% The style guide, for the final deposited verrsion, requires 1.5in
+% left and top margin and 1.0in right and bottom margins.
+%
+% If |\boolean{saving}| is true, set for draft; otherwise, set for
+% final
+%
+%    \begin{macrocode}
+\ifthenelse{\boolean{saving}} {%
+  \setlength {\topmargin}{0.0in}
+  \setlength {\textheight}{\paperheight-2.5in}
+  \setlength {\oddsidemargin}{0.0in}
+  \setlength {\evensidemargin}{0.0in}
+  \setlength {\textwidth}{\paperwidth-2in}
+  \spacing{1}
+  } {%
+  \setlength {\topmargin}{0.65in}
+  \setlength {\textheight}{\paperheight-3.05in}
+  \setlength {\oddsidemargin}{0.6in}
+  \setlength {\evensidemargin}{0.1in}
+  \setlength {\textwidth}{\paperwidth-2.65in}
+  \setlength {\footskip}{0.3in}
+  \spacing{2}
+%    \end{macrocode}
+%
+% \begin{environment}{quote}
+%
+%   \changes{v1.1}{2002/02/13}{changed \textsf{quote} environment for
+%     single spacing in \textsf{final}}
+%
+% \begin{macrocode}
+  \renewenvironment{quote}{\oldquote\spacing{1}}%
+       {\oldendquote\spacing{2}}
+%    \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{quotation}
+%
+%   \changes{v1.1}{2002/02/13}{changed \textsf{quotation} environment
+%     for single spacing in \textsf{final}}
+%
+% \begin{macrocode}
+  \renewenvironment{quotation}{\oldquotation\spacing{1}}%
+       {\oldendquotation\spacing{2}}
+%    \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{verse}
+%
+%   \changes{v1.1}{2002/02/13}{changed \textsf{verse} environment for
+%     single spacing in \textsf{final}}
+%
+% \begin{macrocode}
+  \renewenvironment{verse}{\oldverse\spacing{1}}%
+       {\oldendverse\spacing{2}}}
+%    \end{macrocode}
+% \end{environment}
+%
+% Let's space the footnotes nicely and, since we have no headers,
+% remove them from the page layout.
+%
+%    \begin{macrocode}
+\setlength {\footnotesep}{14pt}
+\setlength {\headheight}{0in}
+\setlength {\headsep}{0in}
+%    \end{macrocode}
+%
+% \subsubsection{Commands to define parameters for the front matter}
+% 
+% There are two kinds of commands that define parameters for the front
+% matter: macros that provide info (like |\author| or |\abstractfile|)
+% and booleans that set flags.
+% 
+% The following are the definitions of the macros that provide info
+% (standard LaTeX commands like |\author| are omitted because they are
+% already defined).
+%
+% \changes{v2.5}{2005/04/20}{added \textsf{degreename},
+%   \textsf{committeememberslist}}
+%
+%    \begin{macrocode}
+\def\department#1{\gdef\@department{#1}}
+\def\masterof#1{\gdef\@masterof{#1}}
+\def\abstractfile#1{\gdef\@abstractfile{#1}}
+\def\dedicationfile#1{\gdef\@dedicationfile{#1}}
+\def\acknowledgementsfile#1{\gdef\@acknowledgementsfile{#1}}
+\def\prefacefile#1{\gdef\@prefacefile{#1}}
+\def\abbreviationsfile#1{\gdef\@abbreviationsfile{#1}}
+\def\committeememberslist#1{\gdef\@committeememberslist{#1}}
+\def\degreename#1{\gdef\@degreename{#1}}
+%    \end{macrocode}
+%
+% The following are the initial values for some macros that provide
+% info.
+%
+%    \begin{macrocode}
+\gdef\@author{YOUR FULL NAME} \gdef\@title{{\bf THE TITLE OF YOUR
+    WORK}} \gdef\@date{\number\year} \gdef\@department{PHILOSOPHY}
+\gdef\@masterof{Arts} \gdef\@committeememberslist{%
+  \begin{enumerate}%
+  \item Joanne Examiner%
+  \item Fred P. Questioner%
+  \end{enumerate}}
+\ifthenelse{\boolean{masters}}{\gdef\@degreename{MASTER}}%
+  {\gdef\@degreename{DOCTOR}}
+%    \end{macrocode}
+%
+% \subsubsection{Generate frontmatter}
+% 
+% \begin{macro}{\makefrontmatter}
+%     
+%   What we want is a single macro that will generate all of the
+%   frontmatter of the document, such as, the title page, abstract,
+%   authenticity page, table of contents, etc.\@ Each page of the
+%   frontmatter is created by individual macros. This keeps things
+%   modular and tidy. Any sections of the frontmatter that are not
+%   declared are ignored.
+%
+% \changes{v1.1}{2002/02/13}{added a TOC entry for the Table of
+%   Contents}
+%
+%    \begin{macrocode}
+\def\makefrontmatter{%
+  \pagestyle {empty}
+  \pagenumbering {roman}
+  \maketitlepage
+  \makecopyrightpage
+  \makeauthenticitypage
+  \@ifdefined {@abstractfile}{\makeabstract}
+  \pagestyle {plain}
+  \@ifdefined {@dedicationfile}{\makededication}
+  \@ifdefined {@acknowledgementsfile}{\makeacknowledgements} 
+  \tableofcontents
+  \ifthenelse{\boolean{hastables}}{\listoftables}{}
+  \ifthenelse{\boolean{hasfigures}}{\listoffigures}{}
+  \@ifdefined{@prefacefile}{\makepreface}
+  \@ifdefined{@abbreviationsfile}{\makeabbreviations}
+  \newpage
+  \pagenumbering {arabic}
+  \setcounter {page}{1}}
+%    \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\maketitlepage}
+%
+%   The title page is standard. The guidelines require uppercase
+%   throughout, so I have forced this wherever necessary.
+%
+% \changes{v3.3}{2002/03/07}{removed the tabular environment from
+% around the title macro. I still have the problem of not being able
+% to force a line break inside the title macro.}
+%
+%    \begin{macrocode}
+\def\maketitlepage{
+  \vspace*{.85in}
+  \begin{center}
+    \spacing{1}
+    \textbf{\MakeUppercase{\@title}}
+    \hugeskip
+    \hugeskip
+    \hugeskip
+    {\bigskip \MakeUppercase{\@author}}
+  \end{center}
+  \hugeskip \hugeskip \hugeskip \hugeskip \hugeskip \hugeskip
+  {\spacing{1}
+    \begin{center}
+      \ifmasters A THESIS \else A DISSERTATION \fi
+      SUBMITTED TO THE FACULTY OF GRADUATE STUDIES \\
+      IN PARTIAL FULFILMENT OF THE REQUIREMENTS \\
+      FOR THE DEGREE OF \\
+      \hugeskip \hugeskip \hugeskip 
+      \ifmasters \MakeUppercase{\@degreename} OF
+      \MakeUppercase{\@masterof} 
+      \else
+      \MakeUppercase{\@degreename} OF PHILOSOPHY \fi \\
+      \hugeskip \hugeskip
+      GRADUATE PROGRAM IN \MakeUppercase{\@department} \\
+      YORK UNIVERSITY \\
+      TORONTO, ONTARIO \\
+      \MakeUppercase{\@date}
+    \end{center}}
+  \newpage }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\copyrightpage}
+% 
+% The copyright page has to be centred both left and right and up and
+% down \textit{between the margins}. Not hard to do but a little bit
+% of a pain to make come out just right.
+%
+% The author might be using the department generated copyright pages,
+% but I have no idea if this is still a common practice. So, the
+% copyright page is always generated.
+%
+%    \begin{macrocode}
+\def\makecopyrightpage{%
+  \begin{center}
+    \setlength{\fboxrule}{.004in} \setlength{\fboxsep}{2cm} 
+    \mbox{}
+    \par\vspace*{\stretch{1}}
+    \fbox{\parbox{4in}{%
+      \spacing{1} 
+      \begin{center} 
+        \textbf{\MakeUppercase{\@title}} 
+      \end{center} by
+      \textbf{\@author}
+
+      \bigskip
+      a \ifmasters thesis \else dissertation \fi submitted to the 
+      Faculty of Graduate Studies of York University in partial 
+      fulfilment of the requirements for the degree of 
+      \begin{center}
+        \ifmasters \textbf{\MakeUppercase{\@degreename} OF
+          \MakeUppercase{\@masterof}} 
+        \else 
+          \textbf{\MakeUppercase{\@degreename} OF PHILOSOPHY} \fi \\ 
+                   $\copyright$\ \number\year \\
+      \end{center}
+
+      Permission has been granted to: a) YORK UNIVERSITY LIBRARIES
+      to lend or sell copies of this dissertation in paper,
+      microform or electronic formats, and b) LIBRARY AND ARCHIVES
+      CANADA to reproduce, lend, distribute, or sell copies of this
+      \ifmasters thesis \else dissertation \fi anywhere in the world
+      in microform, paper or electronic formats \textit{and} to
+      authorise or procure the reproduction, loan, distribution or
+      sale of copies of this \ifmasters thesis \else dissertation
+      \fi anywhere in the world in microform, paper or electronic
+      formats.
+
+      \bigskip The author reserves other publication rights, and
+      neither the \ifmasters thesis \else dissertation \fi nor
+      extensive extracts for it may be printed or otherwise
+      reproduced without the author's written permission.}}
+  \vspace*{\stretch{1}}
+\end{center}
+\newpage}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\makeauthenticitypage}
+%
+% This page is used in lieu of a Certificate page when the thesis or
+% dissertation is being deposited electronically. Now that we can do
+% this, I have no idea why anyone \textit{wouldn't} submit
+% electronically. As such, we will always have an authenticity
+% page. If you don't like it, throw it away and stick a certificate
+% page in.
+%
+%    \begin{macrocode}
+\def\makeauthenticitypage{%
+  \par\vfill
+  {\spacing{1}
+    \begin{center}
+      \textbf{\MakeUppercase{\@title}} \hugeskip\hugeskip by
+      \textbf{\@author}
+    \end{center}
+    \hugeskip\noindent By virtue of submitting this document
+    electronically, the author certifies that this is a true
+    electronic equivalent of the copy of the \ifmasters thesis \else
+    dissertation \fi approved by York University for the award of
+    the degree. No alteration of the content has occurred and if
+    there are any minor variations in formatting, they are as a
+    result of the coversion to Adobe Acrobat format (or similar
+    software application).  \hugeskip
+    \begin{flushright}
+      \begin{minipage}[t]{4in}
+        Examination Committee Members: \@committeememberslist
+      \end{minipage}
+    \end{flushright}}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\makeabstract}
+%
+% The abstract page is pretty standard. It sets up a toc entry, starts
+% a new chapter, and forces a non-indented first paragraph.
+%
+%    \begin{macrocode}
+\def\makeabstract{%
+  \chapter*{Abstract}
+  \addcontentsline {toc}{chapter}{Abstract}
+  \noindent
+  \@input{\@abstractfile}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\makededication}
+%
+%   \changes{v3.2}{2006/01/31}{Added the \textsf{makededication} and
+%     \textsf{dedicationfile} macro.}  
+%
+%   The dedication page is pretty simple. It just sets whatever is in
+%   your dedication.tex file.
+%
+%    \begin{macrocode}
+\def\makededication{%
+  %\chapter*{Abstract}
+  %\addcontentsline {toc}{chapter}{Abstract}
+  %\noindent
+  \newpage
+  \@input{\@dedicationfile}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\makepreface}
+%
+% We need to include the preface file, if specified
+%
+% \changes{v2.0}{2004/05/13}{Added prefacefile support}
+%
+%    \begin{macrocode}
+\def\makepreface{%
+  \chapter*{Preface}
+  \addcontentsline {toc}{chapter}{Preface}
+  \noindent
+  \@input{\@prefacefile}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\makeabbreviations}
+%
+% This page will probably be rarely used. If you have a lot of
+% references from one or two authors, sometimes it is clearer to use
+% an abbreviation rather than the sometimes cryptic in-line
+% citation. This is the page where you provide the legend. 
+%
+% I have found this particularly useful in conjunction with
+% \texttt{natbib}'s |\citepalias| and |\citetalias| macros.
+%
+%    \begin{macrocode}
+\def\makeabbreviations{%
+  \chapter*{Abbreviations}
+  \addcontentsline{toc}{chapter}{Abbreviations}
+  \noindent
+  \@input{\@abbreviationsfile}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\makeacknowledgements}
+%
+%    \begin{macrocode}
+\def\makeacknowledgements{% 
+  \chapter*{Acknowledgements}
+  \addcontentsline{toc}{chapter}{Acknowledgements}
+  \noindent
+  \@input{\@acknowledgementsfile}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Other new commands and environments}
+%
+% \begin{environment}{epigraphs}
+% \begin{macro}{\epigraph}
+%       
+%   Constructed with stolen code from epigraph.sty by Peter Wilson
+%   (pandgwilson at earthlink dot net)
+%
+%   This is simple: |\epigraph| macros go in an |epigraphs| environment
+%
+% \changes{v3.0}{2005/05/21}{Set \textsf{epigraphwidth} to .8 of the
+%   \textsf{columnwidth} rather than the \textsf{textwidth}}
+%
+% \changes{v3.1}{2005/07/27}{Make \textsf{epigraphs} environment
+% single-spaced in all output modes.}
+%
+%    \begin{macrocode}
+\newlength{\epigraphwidth}\setlength{\epigraphwidth}{.8\columnwidth}
+\newlength{\epigraphrule}\setlength{\epigraphrule}{.4\p@}
+\newcommand{\@epirule}{\rule[.5ex]{\epigraphwidth}{\epigraphrule}}
+\newcommand{\epigraph}[2]%
+  {\item #1\vspace{-12pt}\begin{flushright}#2\end{flushright}}
+\newcommand{\epigraphlabel}[1]{\hfill}
+\newenvironment{epigraphs}{%
+    \begin{flushright}
+      \begin{minipage}{\epigraphwidth}
+        \list{}%
+     {\itemindent\z@ \labelwidth\z@ \labelsep\z@
+      \leftmargin\z@ \rightmargin\z@
+      \let\makelabel\epigraphlabel}}%
+  {\endlist\vspace{-18pt}\@epirule\vspace{24pt}\end{minipage}\end{flushright}}
+\let\oldepigraphs\epigraphs \let\oldendepigraphs\endepigraphs
+\ifthenelse{\boolean{saving}}{}{%
+  \renewenvironment{epigraphs}{\oldepigraphs\spacing{1}}%
+       {\oldendepigraphs\spacing{2}}
+}
+%    \end{macrocode}
+%   \end{macro}
+% \end{environment}
+%
+% \begin{environment}{fquote}
+%
+%   The |fquote| environment corrects for line spacing and indentation
+%   when used inside a |\footnote|.
+%
+% \changes{v2.0}{2004/05/13}{Added \textsf{fquote} environment for
+%   footnotes}
+%
+%    \begin{macrocode}
+\newenvironment{fquote}%
+  {\oldquote\footnotesize}%
+  {\oldendquote\normalsize}
+%    \end{macrocode}
+% \end{environment}
+% \begin{environment}{fquotation}
+%
+%   The |fquotation| environment corrects for line spacing and indentation
+%   when used inside a |\footnote|.
+%
+% \changes{v2.0}{2004/05/13}{Added \textsf{fverse} environment for
+%   footnotes}
+%
+%    \begin{macrocode}
+\newenvironment{fquotation}{\oldquotation\footnotesize}%
+     {\oldendquotation\normalsize}
+%    \end{macrocode}
+% \end{environment}
+% \begin{environment}{fverse}
+%   The |fverse| environment corrects for line spacing and indentation
+%   when used inside a |\footnote|.
+%
+% \changes{v2.0}{2004/05/13}{Added \textsf{fverse} environment for
+%   footnotes}
+%
+%    \begin{macrocode}
+\newenvironment{fverse}{\oldverse\footnotesize}%
+     {\oldendverse\normalsize}
+%    \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\threestars}
+%      The |threestars| macro gives a centred set of three asterisks for
+%      use at the end of a section near the end of a chapter so that a
+%      new `concluding' section need not be used.
+%
+% \changes{v3.1}{2005/07/27}{Added \textsl{threestars} macro}
+%
+%    \begin{macrocode}
+\newcommand{\threestars}{\begin{center}%
+  *\hspace{.5in}*\hspace{.5in}*\hspace{.5in}\end{center}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \Finale
+% \newpage
+% \appendix
+%
+% \section{The york-thesis-Template.tex File}
+%
+% This is a listing of a sample master document for your thesis or
+% dissertation. I recommend placing chapters and appendices in
+% separate files (like I force you to do for your abstract, preface,
+% acknowledgements, and abbreviations). This makes everything more
+% manageable from an editor point of view (you are scrolling through
+% thousands of lines) and makes typesetting parts of the document much
+% easier.
+%
+% \lstinputlisting[language=TeX,basicstyle={\footnotesize}]{york-thesis-Template.tex}
+\endinput
-- 
cgit v1.2.3

