summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/uwthesis/uwthesis.cls
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/uwthesis/uwthesis.cls
Initial commit
Diffstat (limited to 'macros/latex/contrib/uwthesis/uwthesis.cls')
-rw-r--r--macros/latex/contrib/uwthesis/uwthesis.cls936
1 files changed, 936 insertions, 0 deletions
diff --git a/macros/latex/contrib/uwthesis/uwthesis.cls b/macros/latex/contrib/uwthesis/uwthesis.cls
new file mode 100644
index 0000000000..0519360ef0
--- /dev/null
+++ b/macros/latex/contrib/uwthesis/uwthesis.cls
@@ -0,0 +1,936 @@
+% ========================================================================
+% Copyright (c) 1995-2008 The University of Washington
+%
+% Licensed under the Apache License, Version 2.0 (the "License");
+% you may not use this file except in compliance with the License.
+% You may obtain a copy of the License at
+%
+% http://www.apache.org/licenses/LICENSE-2.0
+%
+% Unless required by applicable law or agreed to in writing, software
+% distributed under the License is distributed on an "AS IS" BASIS,
+% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+% See the License for the specific language governing permissions and
+% limitations under the License.
+% ========================================================================
+%
+%
+% University of Washington Thesis class
+% by Jim Fox
+% fox@washington.edu
+%
+% For the most recent edition of this class file see:
+% http://staff.washington.edu/fox/tex/
+% Or the CTAN archive
+% macros/latex/contrib/uwthesis
+%
+%
+% Version history
+%
+% 6.12,04/15/08, Re-Fix first page bottom margin; raise quote slip
+% 6.13,03/31/08, Fix first page bottom margin;
+% 6.12,03/21/07, Better handling of label inside footnote with chapternotes
+% 6.11,08/02/06, Bold "abstract", "Page" heading on toc
+% 6.10,10/25/05, Fix co-chair lines
+% 6.9, 10/25/05, Several small changes for 2005 style guide
+% 6.8, 07/26/05, Add some single-spacing in prelim pages
+% 6.7, 06/29/05, Remove "by" from abstract page
+% 6.6, 06/08/05, Change signature page baseline to 1.0
+% 6.5, 03/10/05, Change bibliography baseline to 1.0
+% 6.4, 03/09/05, Quote slip copy to "Proquest Information and Learning"
+% 6.3, 09/22/04, Add column titles to lof and lot
+% 6.2, 07/23/04, Lowercase 'doctoral' in quote slip
+% 6.1, 07/08/04, Allow option 'natbib' to load natbib package correctly
+% 6.0, 07/14/03, Change names: thesis.xxx -> uwthesis.xxx
+% 5.8, 06/12/03, Minor changes to the endnotes pagenation
+% 5.7, 08/14/00, Minor changes to the quote slip
+% 5.6, 06/19/00, 'Doctorial' -> 'Doctoral'
+% 5.5, 05/30/00, New text for quote slips (and 'doctorial' -> 'doctoral')
+% 5.4, 10/29/99, Add \xtrafullpage for oneside fullpage figures
+% 5.3, 08/09/99, Correct spelling errors in quote slips
+% 5.2, 07/20/99, Allow 10pt, 11pt, and 12pt class options
+% 5.1, 02/08/99, Add \thesissignaturepage
+% 5.0, 01/05/99, Modify for revised uw grad school guidelines
+%
+% 4.8, 10/22/98, Allow multi-page abstract
+% Allow co-chairs
+% Fix single-sided facing pages (for new latex)
+% 4.7, 8/19/98, Set caption text back to normal size
+% 4.6, 3/11/98, Add default-text quoteslip macros
+% 4.5, 7/14/97, fix \@makefntext to work in math mode
+% 4.4, 5/13/97, change margin calculations (allows non-letter paper)
+% minor reformatting of abstract
+% provide single-spaced captions, footnotes, and quotes
+% 4.3, 2/13/97, allow \\ in text (bug fix)
+% 4.2, 8/12/96, added \@normalsize for setspace.sty (and others?)
+% 4.1, 11/6/95, no page numbers on chapter start for oneside printing
+%
+% Documentation is in the companion document (uwthesis.tex)
+%
+
+\ProvidesClass{uwthesis}[2008/04/15]
+\NeedsTeXFormat{LaTeX2e}
+
+%
+% footnote stuff for option processing
+%
+
+\newwrite\tf@not
+
+\newif\ifendnotes % true if doing endnotes
+ \endnotesfalse
+\newif\ifchapternotes % true if doing chapternotes
+ \chapternotesfalse
+\let\printchapternotes\relax
+\let\printendnotes\relax
+
+\DeclareOption{footnotes}% selects bottom-of-page notes (default)
+ {}
+\DeclareOption{chapternotes}% selects end-of-chapter notes
+ {\chapternotestrue}
+\DeclareOption{endnotes}% selects end-of-thesis notes
+ {\endnotestrue}
+
+%
+% ---- Timely loading of specific packages -----------------------------
+%
+\newif\if@natbib % true if including natbib
+ \@natbibfalse
+\DeclareOption{natbib}% includes natbib package
+ {\@natbibtrue}
+
+%
+% ---- Thesis is a modified (default 12pt) book style -----------------
+%
+
+\def\@f@ntsize{12pt}
+\DeclareOption{10pt}{\def\@f@ntsize{10pt}}
+\DeclareOption{11pt}{\def\@f@ntsize{11pt}}
+\DeclareOption{12pt}{\def\@f@ntsize{12pt}}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
+\ProcessOptions
+\PassOptionsToClass{\@f@ntsize}{book}
+\PassOptionsToClass{openany}{book}
+\ProcessOptions
+\LoadClass{book}
+
+\if@natbib
+ \usepackage{natbib}
+\fi
+
+%
+% ---- page sizes ----------------------------------------------
+%
+% margins are 1 inch (72pt) all around,
+% except 1.5 inch (108pt) at the binding
+%
+% text size computed from paper size
+%
+
+\voffset -1in % undo primitive default margins
+\hoffset -1in
+
+\topmargin 72\p@
+\headheight 12\p@
+\headsep 36\p@
+\oddsidemargin 108\p@
+\evensidemargin 72\p@
+\newdimen\botmargin
+\botmargin 72\p@
+\marginparwidth 72\p@
+\marginparsep 7\p@
+\footskip \z@ % set later
+\footnotesep 14\p@
+\parindent 1.5em
+
+\textheight\paperheight
+ \advance\textheight by-\topmargin
+ \advance\textheight by-\headheight
+ \advance\textheight by-\headsep
+ % \advance\textheight by-\footskip
+ \advance\textheight by-\botmargin
+\textwidth\paperwidth
+ \advance\textwidth by-\oddsidemargin
+ \advance\textwidth by-\evensidemargin
+
+% ---------------
+
+\def\baselinestretch{1.5} % not quite doublespaced
+
+\setcounter{totalnumber}{5}
+\setcounter{topnumber}{5}
+\renewcommand\topfraction{.7}
+\renewcommand\textfraction{.2}
+\setlength\floatsep {18\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\textfloatsep{30\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {20\p@ \@plus 4\p@ \@minus 4\p@}
+\let\@normalsize\normalsize % retain old definition
+\setlength\abovecaptionskip{10\p@}
+\setlength\belowcaptionskip{10\p@}
+
+
+%
+% ---- Footnotes ------------------------------------------
+%
+% Footnote placement option
+%
+% [endnotes] put the references at the thesis end
+% [chapternotes] put the references at the chapter end
+% [footnotes] put the references at the page bottom
+%
+% When text is written to file (.not) the source linebreaks
+% are maintained. This keeps the individual lines in the file short.
+% Control sequences in the note text are not expanded.
+%
+
+\let\n@teitem\relax
+\def\@n@teitem#1{\def\@currentlabel{#1}\item[#1]}
+
+\def\@chapternotetext{\begingroup
+ \catcode`\^^M=12\newlinechar=`\^^M
+ \catcode`\\=12
+ \d@chapternote}
+
+\long\def\d@chapternote#1{%
+ \immediate \write\tf@not
+ {\n@teitem{\note@label} #1\relax}%
+ \endgroup}
+
+%
+\def\@startnotes{% opens the .not file
+ \immediate \openout\tf@not\jobname.not\relax
+ \immediate \write\tf@not{\relax}
+ \setcounter{footnote}{0}}
+
+%
+% chapternotes
+%
+
+\ifchapternotes
+ % \typeout{Doing chapternotes}
+ \let\@footnotetext\@chapternotetext
+ \@startnotes
+ \def\note@label{\arabic{footnote}}
+ \def\printchapternotes{% Prints the accumulated notes
+ \ifnum\c@footnote>0
+ \clearpage
+ \begin{center} Notes to Chapter \arabic{chapter} \end{center}\par
+ \addcontentsline{toc}{section}{\protect
+ \numberline{}{Notes to Chapter \arabic{chapter}}}
+ \begin{description}
+ \immediate\closeout\tf@not
+ \catcode`@=11
+ \let\n@teitem\@n@teitem
+ \@input{\jobname.not}
+ \end{description}
+ \clearpage
+ \@startnotes
+ \fi
+ }
+ \let\old@enddocument\enddocument
+ \def\enddocument{\printchapternotes\old@enddocument}
+\fi
+
+%
+% endnotes
+%
+
+\ifendnotes
+ % \typeout{Doing endnotes}
+ \let\@footnotetext\@chapternotetext
+ \@startnotes
+ \def\note@label{\arabic{chapter}.\arabic{footnote}}
+ \def\printendnotes{% Prints the accumulated notes
+ \chapter*{Notes}
+ \addcontentsline{toc}{chapter}{Notes}
+ \thispagestyle{empty}
+ \begin{description}
+ \immediate\closeout\tf@not
+ \catcode`@=11
+ \let\n@teitem\@n@teitem
+ \@input{\jobname.not}
+ \end{description}
+ \@startnotes % allows multiple endnotes
+ }
+\fi
+
+%
+% bottom-of-page footnotes format
+% full width line and hanging indent
+%
+\def\footnoterule{\kern-3\p@
+ \hrule width \columnwidth \kern 2.6\p@}
+\long\def\@makefntext#1{\parindent 1em\noindent \hangindent\parindent
+ \def\baselinestretch{1.0}\normalfont
+ \hb@xt@1.8em{\hss\@makefnmark}#1}
+
+%
+% ---- Text pages ----------------------------------
+%
+% In two-sided style Chapter 1 is right handed
+%
+\def\textofChapter#1{\gdef\@textofChapter{#1}} \textofChapter{Chapter}
+\def\textofAppendix#1{\gdef\@textofAppendix{#1}} \textofAppendix{Appendix}
+
+\def\textpages{% Start of text pages
+ \advance\textheight by\footskip % has to be done before the clearpage
+ \clearpage
+ \pagestyle{empty}
+ \cleardoublepage
+ \pagestyle{myheadings}\markboth{}{}
+ \def\@chapapp{\protect\@textofChapter}
+ \def\Thechapter{\arabic{chapter}}
+ \pagenumbering{arabic}
+ \footskip\z@
+ }
+
+\def\appendix{\par
+ \setcounter{chapter}{0}
+ \setcounter{section}{0}
+ \def\@chapapp{\protect\@textofAppendix}
+ \def\Thechapter{\Alph{chapter}}
+ \def\thechapter{\Alph{chapter}}}
+
+
+%
+% Parts
+%
+\def\@makeparthead#1{ \vspace*{2pc} {\centering
+ \ifnum \c@secnumdepth >\m@ne \large Part \thepart \par
+ \vspace{10\p@} \fi
+ \def\baselinestretch{1.0}\normalfont
+ \large\bf \uppercase\expandafter{#1}\par
+ \nobreak \vspace{20\p@}} }
+%
+\def\@makesparthead#1{ \vspace*{2pc} {\centering
+ \large\bf \uppercase\expandafter{#1}\par
+ \nobreak \vspace{20\p@}} }
+%
+\def\part{%
+ \printchapternotes
+ \if@openright\cleardoublepage\else\clearpage\fi
+ % \thispagestyle{empty}%
+ \global\@topnum\z@
+ \@afterindenttrue
+ % \let\\\relax
+ \secdef\@part\@spart}
+%
+% Complication is added here to allow line breaks
+% in the part titles (via \\).
+%
+\def\@part[#1]#2{
+ \ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{part}
+ \typeout{<<\thepart>>}
+ {\def\\{ } % allow \\ in title
+ \addcontentsline{toc}{part}{\protect
+ \numberline{Part\ \thepart:}#1}}\else
+ {\def\\{ } % allow \\ in title
+ \addcontentsline{toc}{part}{#1}}\fi
+ \addtocontents{lof}{\protect\addvspace{5\p@}}
+ \addtocontents{lot}{\protect\addvspace{5\p@}}
+ \if@twocolumn
+ \@topnewpage[\@makeparthead{#2}]
+ \else \@makeparthead{#2}
+ \@afterheading \fi}
+\def\@spart#1{\if@twocolumn \@topnewpage[\@makesparthead{#1}]
+ \else \@makesparthead{#1}
+ \@afterheading\fi}
+
+
+%
+% Chapter headings
+%
+\def\@makechapterhead#1{ \vspace*{2pc} {\centering
+ \ifnum \c@secnumdepth >\m@ne \large \@chapapp{} \Thechapter \par
+ \vspace{10\p@} \fi
+ \def\baselinestretch{1.0}\normalfont
+ \large\bf \uppercase\expandafter{#1}\par
+ \nobreak \vspace{20\p@}} }
+%
+\def\@makeschapterhead#1{ \vspace*{2pc} {\centering
+ \large\bf \uppercase\expandafter{#1}\par
+ \nobreak \vspace{20\p@}} }
+%
+\def\chapter{%
+ \printchapternotes
+ \if@openright\cleardoublepage\else\clearpage\fi
+ % \thispagestyle{empty}%
+ \global\@topnum\z@
+ \@afterindenttrue
+ % \let\\\relax
+ \secdef\@chapter\@schapter}
+%
+% Complication is added here to allow line breaks
+% in the chapter titles (via \\).
+%
+\def\@chapter[#1]#2{
+ \ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{chapter}
+ \typeout{<<\thechapter>>}
+ {\def\\{ } % allow \\ in title
+ \addcontentsline{toc}{chapter}{\protect
+ \numberline{\@chapapp\ \thechapter:}#1}}\else
+ {\def\\{ } % allow \\ in title
+ \addcontentsline{toc}{chapter}{#1}}\fi
+ \addtocontents{lof}{\protect\addvspace{5\p@}}
+ \addtocontents{lot}{\protect\addvspace{5\p@}}
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{#2}]
+ \else \@makechapterhead{#2}
+ \@afterheading \fi}
+\def\@schapter#1{\if@twocolumn \@topnewpage[\@makeschapterhead{#1}]
+ \else \@makeschapterhead{#1}
+ \@afterheading\fi}
+%
+% Section headings
+%
+\renewcommand\section{%
+ \@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\def\baselinestretch{1.0}\reset@font\normalsize\bfseries\slshape}}
+\renewcommand\subsection{%
+ \@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\reset@font\normalsize\mdseries\itshape}}
+\renewcommand\subsubsection{%
+ \@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\reset@font\normalsize\mdseries\itshape}}
+
+% part
+\renewcommand\l@part[2]{%
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}%
+ \vskip 1.0em \@plus\p@
+ \setlength\@tempdima{75\p@}%
+ \@dottedtocline{0}{\z@}{\@tempdima}{#1}{#2}%
+ \fi}
+
+%
+% Provide for `Chapter ' in the toc
+% (increase \@tempdima)
+%
+\renewcommand\l@chapter[2]{%
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}%
+ \vskip 1.0em \@plus\p@
+ \setlength\@tempdima{75\p@}%
+ \@dottedtocline{0}{\z@}{\@tempdima}{#1}{#2}%
+ \fi}
+
+%
+% extra space between toc entries
+%
+\def\@dottedtocline#1#2#3#4#5{%
+ \ifnum #1>\c@tocdepth \else
+ \vskip -\baselineskip % \@plus.2\p@%
+ \vskip 1.2\baselineskip
+ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
+ \parindent #2\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@tempdima #3\relax
+ \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+ {#4}\nobreak
+ \leaders\hbox{$\m@th
+ \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+ mu$}\hfill
+ \nobreak
+ \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
+ \par}%
+ \fi}
+
+%
+% ------ Special captions ---------------------
+%
+% \caption[]{text} produces normal caption and numbering
+% \caption(-){(continued)} produces `(continued)' caption and
+% same-as-last caption number
+% \caption(x)[]{text} produces lettered caption. 1.1a, 1.1b, ...
+% If (x) is (a) or (A) then caption number is incremented,
+% else it is same numbered.
+
+\def\thecaptionletter{}
+\newif\ifcaptiontotoc\captiontotoctrue
+
+\def\caption{\@ifnextchar({\@specialcaption}{\@normalcaption}}
+
+\def\@normalcaption{\refstepcounter\@captype \@dblarg{\@caption\@captype}}
+\def\@specialcaption(#1){%
+ \def\thecaptionletter{#1}%
+ \captiontotocfalse
+ \if#1-\def\thecaptionletter{}\fi
+ \if#1a\refstepcounter\@captype\captiontotoctrue\fi
+ \if#1A\refstepcounter\@captype\captiontotoctrue\fi
+ \@dblarg{\@caption\@captype}}
+
+\long\def\@caption#1[#2]#3{\par
+ \ifcaptiontotoc
+ \addcontentsline{\csname
+ ext@#1\endcsname}{#1}{\protect\numberline{\csname
+ the#1\endcsname}{\ignorespaces #2}}%
+ \fi
+ \begingroup
+ \@parboxrestore
+ \def\baselinestretch{1.0}
+ \normalsize % UW grad school doesn't allow \footnotesize
+ \@makecaption{\csname fnum@#1\endcsname
+ \thecaptionletter}{\ignorespaces #3}\par
+ \endgroup}
+
+\def\@listI{\leftmargin\leftmargini \parsep 7\p@ plus 3\p@ minus 1\p@\topsep
+ 12\p@ plus 5\p@ minus 6\p@\itemsep 7\p@ plus 3\p@ minus 1\p@}
+
+
+%
+% ---- Facing pages and double-page figures and tables
+%
+% \begin{fullpage} ... \end{fullpage}
+% \begin{leftfullpage} ... \end{leftfullpage}
+% \begin{xtrafullpage} ... \end{xtrafullpage}
+
+\newif\if@LP \@LPfalse
+\newif\if@XP \@XPfalse
+
+\newbox\@@wholepage
+\def\fullpage{\setbox\@@wholepage=\vbox\bgroup}
+\def\endfullpage{\egroup\dp\@@wholepage\z@
+ \vbox to\textheight{\vss\unvbox\@@wholepage\vss}}
+\def\leftfullpage{\setbox\@@wholepage=\vbox\bgroup}
+\def\endleftfullpage{\egroup\dp\@@wholepage\z@
+ \vbox to\textheight{\vss\unvbox\@@wholepage\vss}\global\@LPtrue}
+
+\if@twoside
+ \typeout{Formatting for twoside printing.}
+ \let\xtrafullpage\fullpage
+ \let\endxtrafullpage\endfullpage
+\else
+ \typeout{Formatting for oneside printing.}
+ \def\xtrafullpage{\setbox\@@wholepage=\vbox\bgroup}
+ \def\endxtrafullpage{\egroup\dp\@@wholepage\z@
+ \vbox to\textheight{\vss\unvbox\@@wholepage\vss}\global\@XPtrue}
+\fi
+
+\let\oldend@float\end@float
+\def\end@float{%
+ \if@LP\global\@namedef{LP:\expandafter\string\@currbox}{L}%
+ \else \global\@namedef{LP:\expandafter\string\@currbox}{z}%
+ \fi
+ \if@XP\global\@namedef{XP:\expandafter\string\@currbox}{X}%
+ \else \global\@namedef{XP:\expandafter\string\@currbox}{z}%
+ \fi
+ \global\@LPfalse
+ \global\@XPfalse
+ \oldend@float
+}
+
+
+\if@twoside
+
+% reject a left-side float that appears on an odd page
+ \let\old@xtryfc\@xtryfc
+ \def\@xtryfc #1{%
+ \expandafter\if\csname LP:\string#1\endcsname L%
+ % \typeout{facing page in xtryfc}%
+ \ifodd\count0\global\@colht\z@
+ \typeout{I moved a leftpage float from page \the\count0.}%
+ \fi\fi
+ \old@xtryfc #1}
+
+\else
+
+\def\unstep@page{\addtocounter{page}{-1}}
+
+% flip a facing page caption
+ \let\@oldwtryfc\@wtryfc
+ \def\@wtryfc #1{%
+ \expandafter\if\csname LP:\string#1\endcsname L\gdef\LP@page{}%
+ \typeout{Encountered a facing page.}%
+ \fi
+ \expandafter\if\csname XP:\string#1\endcsname X\gdef\XP@page{}%
+ \typeout{Encountered an extra page.}%
+ \fi
+ \@oldwtryfc #1}
+
+ \let\old@outputpage\@outputpage
+ \def\@outputpage{%
+ \begingroup
+ \@ifundefined{LP@page}
+ {\let\@themargin\oddsidemargin \let\@thehead\@oddhead}
+ {\let\@themargin\evensidemargin \let\@thehead\@evenhead
+ \typeout{Printing a left-hand one-side page.}%
+ \global\let\LP@page\relax
+ }
+ \@ifundefined{XP@page}
+ {}
+ {\let\@thehead\@empty \let\@thefoot\@empty
+ \typeout{Printing an extra page.}%
+ \global\let\XP@page\relax
+ \aftergroup\unstep@page
+ }
+ \old@outputpage\endgroup
+ }
+\fi
+
+%
+% ---- Preliminary pages ---------------------------
+%
+\def\prelimpages{ % sets page numbering for the preliminary pages
+ \pagestyle{empty} % will be {plain} at start of toc
+ \pagenumbering{roman}
+ \setcounter{page}{1}
+ \footskip 30\p@ % allowance for the roman page numbers
+ \advance\textheight by-\footskip
+ }
+%
+% (The following macros are used once and discarded)
+%
+% Title page
+%
+% (Defaults are for dissertation. See \MasterThesis below.)
+%
+\def\Title#1{\gdef\@Title{#1}}
+\def\Author#1{\gdef\@Author{#1}}
+\def\Year#1{\gdef\@Year{#1}} \Year{\year}
+\def\Degree#1{\gdef\@Degree{#1}} \Degree{Doctor of Philosophy}
+\def\Program#1{\gdef\@Program{#1}} \Program{your program here}
+%
+\def\School#1{\gdef\@School{#1}} \School{University of Washington}
+\def\GSchool#1{\gdef\@GSchool{#1}} \GSchool{Graduate School}
+\def\Degreetext#1{\gdef\@Degreetext{#1}}
+ \Degreetext{A dissertation submitted in partial fulfillment\\
+ of the requirements for the degree of}
+\def\Programtext#1{\gdef\@Programtext{#1}}
+ \Programtext{Program Authorized to Offer Degree:\ \ }
+
+\def\titlepage{ % Prints the title page
+ \vspace{7pc}
+ \begin{center}
+ {\def\baselinestretch{1.0}\normalfont\Large
+ \lineskip 3ex
+ \@Title\par}
+ \par\vskip\z@ plus4fill\relax
+ \@Author
+ \par\vskip\z@ plus4fill\relax
+ {\def\baselinestretch{1.0}\normalfont
+ \@Degreetext\par}
+ \par\vskip\z@ plus2fill\relax
+ \@Degree
+ \par\vskip\z@ plus2fill\relax
+ \@School
+ \par\vskip\z@ plus1fill\relax
+ \@Year
+ \par\vskip\z@ plus4fill\relax
+ {\def\baselinestretch{1.0}\normalfont
+ \@Programtext \@Program\par}
+ \par\vskip\z@ plus1fill\relax
+ \end{center}
+ \vspace{2pc}\relax
+ \let\titlepage\relax}
+
+%
+% Signature page
+%
+
+\def\textofChair#1{\gdef\@textofChair{#1}}
+ \textofChair{Chair of the Supervisory Committee}
+\def\textofDate#1{\gdef\@textofDate{#1}} \textofDate{Date}
+
+\newcount\@Chair \@Chair0
+\def\Chair#1#2#3{
+ \global\@namedef{C:\expandafter\the\@Chair}{#1}
+ \global\@namedef{T:\expandafter\the\@Chair}{#2}
+ \global\@namedef{D:\expandafter\the\@Chair}{#3}
+ \ifnum\@Chair>0\textofChair{Co-Chairs of the Supervisory Committee}\fi
+ \global\advance\@Chair by1}
+
+
+\newcount\@Sign\@Sign0
+\def\Signature#1{
+ \global\@namedef{S:\expandafter\the\@Sign}{#1}
+ \global\advance\@Sign by1}
+
+\def\signaturepage{ % Prints the dissertation signature page
+ \cleardoublepage
+ \begin{center}
+ \def\baselinestretch{1.0}\normalfont
+ \@School
+ \par
+ \@GSchool
+ \vskip24\p@ plus4fill\relax
+ This is to certify that I have examined this copy of a doctoral
+ dissertation by
+ \vskip\z@ plus2fill\relax
+ \@Author
+ \par\vskip\z@ plus2fill\relax
+ and have found that it is complete and satisfactory in all respects,
+ \par
+ and that any and all revisions required by the final \par
+ examining committee have been made.
+ \par\vskip12\p@ plus4fill\relax
+ \makebox[\textwidth]{\@textofChair:\hfill}
+ \par\vskip8\p@ plus1fill\relax
+ \count1=0
+ \@whilenum \count1<\@Chair \do
+ {\vskip12\p@ \baselineskip12pt
+ \makebox[\textwidth]{\hspace{4pc}\hrulefill\hspace{4pc}}
+ \csname C:\the\count1\endcsname
+ \advance\count1 by1}
+ \par\vskip12\p@ plus4fill\relax
+ \makebox[\textwidth]{Reading Committee:\hfill}
+ \par\vskip8\p@ plus1fill\relax
+ \count1=0
+ \@whilenum \count1<\@Sign \do
+ {\vskip12\p@ \baselineskip12pt
+ \makebox[\textwidth]{\hspace{4pc}\hrulefill\hspace{4pc}}
+ \csname S:\the\count1\endcsname
+ \advance\count1 by1}
+ \par\vskip12\p@ plus4fill\relax
+ \makebox[\textwidth]{\hbox to 4pc{\@textofDate:\hfill}%
+ \hbox to3in{\hrulefill}\hfill}
+ \par
+ \end{center}
+ \let\signaturepage\relax\let\thesissignaturepage\relax}
+
+\def\thesissignaturepage{ % Prints the masters thesis signature page
+ \cleardoublepage
+ \begin{center}
+ \def\baselinestretch{1.0}\normalfont
+ \@School
+ \par
+ \@GSchool
+ \vskip24\p@ plus4fill\relax
+ This is to certify that I have examined this copy of a master's
+ thesis by
+ \vskip\z@ plus2fill\relax
+ \@Author
+ \par\vskip\z@ plus2fill\relax
+ and have found that it is complete and satisfactory in all respects,
+ \par
+ and that any and all revisions required by the final \par
+ examining committee have been made.
+ \par\vskip12\p@ plus4fill\relax
+ \makebox[\textwidth]{Committee Members:\hfill}
+ \par\vskip8\p@ plus1fill\relax
+ \count1=0
+ \@whilenum \count1<\@Sign \do
+ {\vskip12\p@ \baselineskip12pt
+ \makebox[\textwidth]{\hspace{4pc}\hrulefill\hspace{4pc}}
+ \csname S:\the\count1\endcsname
+ \advance\count1 by1}
+ \par\vskip12\p@ plus4fill\relax
+ \makebox[\textwidth]{\hbox to 4pc{\@textofDate:\hfill}%
+ \hbox to3in{\hrulefill}\hfill}
+ \par
+ \end{center}
+ \let\signaturepage\relax\let\thesissignaturepage\relax}
+
+% Quote slip
+%
+\def\textofSignature#1{\gdef\@textofSignature{#1}} \textofSignature{Signature}
+\long\def\quoteslip#1{
+ \cleardoublepage
+ % \null
+ {\hyphenpenalty1000
+ % \vskip\z@ plus1fill\relax
+ \def\baselinestretch{1.0}\normalfont
+ \noindent #1\par
+ }
+ \vskip3pc
+ \begin{flushright}
+ \makebox[3in]{\@textofSignature\hrulefill}
+ \par\vskip2pc
+ \makebox[3in]{\@textofDate\hrulefill}
+ \end{flushright}
+ \vskip\z@ plus2fill\relax
+ \let\quoteslip\relax
+ \let\thesisquoteslip\relax
+ \let\doctoralquoteslip\relax
+ \let\doctoralabstractquoteslip\relax
+ \let\doctorialquoteslip\relax
+ \let\doctorialabstractquoteslip\relax
+ }
+
+\long\def\thesisquoteslip{%
+ \quoteslip{%
+ In presenting this thesis in partial fulfillment of the requirements
+ for a master's degree at the University of Washington, I agree
+ that the Library shall make its copies freely available for inspection.
+ I further agree that extensive copying of this thesis is allowable
+ only for scholarly purposes, consistent with ``fair use'' as prescribed
+ in the U.S. Copyright Law. Any other reproduction for any purpose
+ or by any means shall not be allowed without my written permission.
+ }}
+\long\def\doctoralquoteslip{%
+ \quoteslip{%
+ In presenting this dissertation in partial fulfillment of the requirements
+ for the doctoral degree at the University of Washington, I agree
+ that the Library shall make its copies freely available for inspection.
+ I further agree that extensive copying of this dissertation is allowable
+ only for scholarly purposes, consistent with ``fair use'' as prescribed
+ in the U.S. Copyright Law. Requests for copying or reproduction
+ of this dissertation may be referred to Proquest Information and Learning,
+ 300 North Zeeb Road, Ann Arbor, MI 48106-1346, 1-800-521-0600, to whom
+ the author has granted ``the right to reproduce and sell (a) copies
+ of the manuscript in microform and/or (b) printed copies of
+ the manuscript made from microform.''
+ }}
+\long\def\doctoralabstractquoteslip{%
+ \quoteslip{%
+ In presenting this dissertation in partial fulfillment of the requirements
+ for the doctoral degree at the University of Washington, I agree
+ that the Library shall make its copies freely available for inspection.
+ I further agree that extensive copying of this dissertation is allowable
+ only for scholarly purposes, consistent with ``fair use'' as prescribed
+ in the U.S. Copyright Law. Requests for copying or reproduction
+ of this dissertation may be referred to Proquest Information and Learning,
+ 300 North Zeeb Road, Ann Arbor, MI 48106-1346, 1-800-521-0600,
+ or to the author.
+ }}
+
+% keep mispelled names for backward compatibility
+\let\doctorialquoteslip\doctoralquoteslip
+\let\doctorialabstractquoteslip\doctoralabstractquoteslip
+
+%
+% Abstract
+%
+% normal parameters
+\def\textofAbstract#1{\gdef\@textofAbstract{#1}} \textofAbstract{Abstract}
+
+\long\def\abstract#1{
+ \cleardoublepage
+ \begin{center}
+ \@School
+ \par\vskip1pc
+ {\bf\@textofAbstract}%
+ \par\vskip1pc
+ {\def\baselinestretch{1.0}\normalfont\large \@Title \par}
+ \par\vskip1pc
+ \@Author
+ \par\vskip1pc
+ {\def\baselinestretch{1.0}\normalfont
+ \@textofChair:
+ \par
+ \count1=0
+ \@whilenum \count1<\@Chair \do
+ {% \vskip12\p@ \baselineskip12pt
+ \csname T:\the\count1\endcsname\ \csname C:\the\count1\endcsname
+ \par \csname D:\the\count1\endcsname\par\vskip6\p@
+ \advance\count1 by1}
+ \par}
+ \par\vskip1pc
+ \end{center}
+ \if@twoside
+ \begingroup % have to set multiple abstract pages 1-sided
+ \def\@blankpage{\if\@@blankpage B
+ \shipout\vbox{}\global\advance\count\z@ by1\fi
+ \global\def\@@blankpage{B}}
+ \def\@@blankpage{A}
+ \output=\expandafter{\expandafter\@blankpage\the\output}
+ \fi
+ #1
+ \vfill\clearpage
+ \if@twoside\endgroup\fi
+ \let\abstract\relax}
+%
+%
+% Table of contents (right side page) (always page `i')
+%
+%
+\def\textofToC#1{\gdef\@textofToC{#1}} \textofToC{Table of Contents}
+\def\tableofcontents{\cleardoublepage
+ \chapter*{\@textofToC\@mkboth{}{}}
+ \pagestyle{plain}
+ \thispagestyle{plain}
+ \setcounter{page}{1}
+ \hbox to\textwidth{\hfill Page}
+ {\let\footnotemark\relax % in case one is in the title
+ \def\baselinestretch{1.0}\normalfont
+ \@starttoc{toc}
+ }
+ }
+%
+% List of figures
+%
+
+\def\textofLoF#1{\gdef\@textofLoF{#1}} \textofLoF{List of Figures}
+\def\listoffigures{\chapter*{\@textofLoF\@mkboth{}{}}
+ \thispagestyle{plain}
+ \addcontentsline{toc}{chapter}{\protect\@textofLoF}
+ \hbox to\textwidth{Figure Number \hfill Page}
+ {\let\footnotemark\relax % in case one is in the title
+ \def\baselinestretch{1.0}\normalfont
+ \@starttoc{lof}
+ }
+ }
+%
+% List of tables
+%
+\def\textofLoT#1{\gdef\@textofLoT{#1}} \textofLoT{List of Tables}
+\def\listoftables{\chapter*{\@textofLoT\@mkboth{}{}}
+ \thispagestyle{plain}
+ \addcontentsline{toc}{chapter}{\protect\@textofLoT}
+ \hbox to\textwidth{Table Number \hfill Page}
+ {\let\footnotemark\relax % in case one is in the title
+ \def\baselinestretch{1.0}\normalfont
+ \@starttoc{lot}
+ }
+ }
+%
+% Bibliography
+%
+\def\textofBIB#1{\gdef\@textofBIB{#1}} \textofBIB{Bibliography}
+\def\thebibliography#1{\chapter*{\@textofBIB\@mkboth{}{}}
+ \addcontentsline{toc}{chapter}{\protect\@textofBIB}
+ \list
+ {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \usecounter{enumi}}
+ \def\newblock{\hskip .11em plus .33em minus .07em}
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \def\baselinestretch{1.0}\normalfont
+ \sfcode`\.=1000\relax}
+
+%
+% Acknowledgments
+%
+\def\textofAck#1{\gdef\@textofAck{#1}} \textofAck{Acknowledgments}
+\long\def\acknowledgments#1{\chapter*{\@textofAck\@mkboth{}{}}
+ \thispagestyle{plain}
+ #1\par
+ \vfill
+ \let\acknowledgments\relax}
+
+%
+% Dedication
+%
+\def\textofDed#1{\gdef\@textofDed{#1}} \textofDed{Dedication}
+\long\def\dedication#1{\chapter*{\@textofDed\@mkboth{}{}}
+ \thispagestyle{plain}
+ #1\par
+ \vfill
+ \let\dedication\relax}
+
+%
+% Vita
+%
+\def\textofVita#1{\gdef\@textofVita{#1}} \textofVita{Vita}
+\long\def\vita#1{\chapter*{\@textofVita\@mkboth{}{}}
+ #1\par
+ \vfill
+ \let\vita\relax}
+
+%
+% Gratis definition of a glossary environment
+%
+\renewenvironment{glossary}
+ {\begin{list}{}{\setlength\itemindent{\parindent}
+ \def\makelabel##1{\footnotesize\uppercase{##1:}\hfill}}}
+ {\end{list}}
+
+% End of the thesis style