From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 macros/latex/contrib/uwthesis/uwthesis.cls | 936 +++++++++++++++++++++++++++++
 1 file changed, 936 insertions(+)
 create mode 100644 macros/latex/contrib/uwthesis/uwthesis.cls

(limited to 'macros/latex/contrib/uwthesis/uwthesis.cls')

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
-- 
cgit v1.2.3

