% Stanford University PhD thesis style -- modifications to the report style
% This is unofficial so you should always double check against the
% Registrar's office rules
%
% People are free to borrow as long as they change the name and date
% in the \typeout lines, the name of the file, and acknowledge the
% work that has been done by previous people.  Ideally they should
% comment their changes.

% Original version by Joseph Pallas back in 1989
% Modified by Emma Pease 5/7/92
%   added singlespace environment from doublespace.sty
%   added switches for variant title pages
%   modified the figure environment according to changes in latex.tex
%   corrected the signature page due to University rule changes
%   added an optional third reader to signature page
% Corrected a spacing problem with style changes 5/14/92 - Emma
% Modified by Emma Pease 1/10/95
% Modified for latex2e  5/17/95
%   changed \@xfloat and \@footnotetext to reflect latex2e changes
% Modified for latex2e 6/22/95 (Emma Pease)
%   changed singlespace environment so it would work (taken from doublespace.sty)
% Modified 9/8/95 (Emma Pease)
%   removed doublespace.sty commands and explicitely inputted
%   doublespace
% Modified 12/17/96 (Emma Pease)
%   added optional \coprincipaladvisor (\coprincipaladviser)
% Modified 5/29/98
%   replaced the required doublespace.sty by setspace.sty
% Modified 8/21/98
%   added a \businessthesis for the school of business
% Modified 8/22/98 
%   added a \lawthesis
% Modified 8/23/98
%   spelling error in \businessthesis def corrected
% Modified 5/14/1999 by Emma Pease
%   'By' dropped from title page
% Modified 7/26/1999 by Emma Pease
%   copyright page fixed
% Modified 9/28/99 by Emma Pease
%   more copyright page fixings
% Modified 10/28/99 by Emma Pease
%   and more copyright page fixings plus a minor mod on bibliography
%   need to start thinking of overhauling to standard package format
% Modified 11/26/99
%   fixed copyrightyear so that all Fall quarter theses are next
%   year's copyright

% Modified 5/31/01 by Emma Pease
%   fixed certification statement.  Setup for twoside option.
% Modified 6/4/01 by Emma Pease
%   emphasized that it is unofficial
% Modified 8/3/01 by Emma Pease
%   setup so that on twoside if the intro material (page numbered with
%   roman numerals) ends on an odd page an extra blank page is included so
%   the main body (page numbered with arabic numbers) starts on an odd
%   absolute page  (explanation modified 5/28/02)
% Modified 5/28/02 by Emma Pease
%   made first and second reader optional (not that the first reader
%   should ever be missing but someone managed to avoid a second reader)
%   If they aren't defined, they won't appear
% Modified 7/13/2003 by Emma Pease
%   dropped signature line for ``Approved for the University Committee
%   on Graduate Studies'' on signature page.  Also made sure the next
%   section starts on an odd page if two sided.
% Modified 11/19/03 by Emma Pease
%   fixed the bibliography so the addcontentsline works correctly with
%   hyperref.  Thanks to Peter Sturdza for pointing out this
% Modified 2/14/04 by Emma Pease
%   Changed documentation on how to change line spacing
% Modified 6/29/04 by Emma Pease
%   Correction to humanitiesthesis definition

% Modified 11/9/2004 by Emma Pease
%   Reformatted Signature Page to fit requirements
%   Reformatted Title page to fit requirements


%%%%%
%%%%%   PRELIMS
%%%%%

\typeout{Document Style Option `suthesis' for latex2e <$Date: 11/09/2004 $>.}
\typeout{Note that this tries to fulfill the Stanford Thesis
  requirements but it is unofficial}

% First thing we do is make sure that report has been loaded.  A
% common error is to try to use suthesis as a documentstyle.
\@ifundefined{chapter}{\@latexerr{The `suthesis' option should be used
with the `report' document style}{You should probably read the
suthesis documentation.}}{}

%%%%%
%%%%%   DOCUMENTATION
%%%%%

\long\def\comment#1{}
\comment{

  Example of use:
    \documentclass{report}

%\usepackage[dotocloa]{algorithm2e,suthesis-2e,graphicx,cite,cite,url,wrapfig,times,amssymb}
\usepackage{suthesis-2e,algorithm2e,graphicx,cite,cite,url,wrapfig,times,amssymb}
\dept{Computer Science}


    \begin{document}
    \title{How to Write Theses\\
            With Two Line Titles}
    \author{John Henry Candidate}
    \principaladviser{John Parker}
    \firstreader{John Green}
    \secondreader{John B (Another Department)}
    \thirdreader{Jane Supernumerary} %if needed
 
    \beforepreface
    \prefacesection{Preface}
        This thesis tells you all you need to know about...
    \prefacesection{Acknowledgments}
        I would like to thank...
    \afterpreface
 
    \chapter{Introduction}
         ...
    \chapter{Conclusions}
         ...
    \appendix
    \chapter{A Long Proof}
         ...
    \bibliographystyle{plain}
    \bibliography{mybib}
    \end{document}

Documentation: 
    This style file modifies the standard report style to follow the
    Graduate Degree Support Section of the Registrar's Office's
    "Directions for Preparing Doctoral Dissertations".  It sets the
    margins and interline spacing and disallows page breaks at
    hyphens.

    The \beforepreface command creates the title page, a copyright page
    (optionally), and a signature page.  Then the user should put
    preface section(s), using the \prefacesection{section title}
    command.  The \afterpreface command then produces the tables of
    contents, tables and figures, and sets things up to start
    the main body (on arabic page 1).
    
    The following commands can control what goes in the front matter
    material:
    
        \title{thesis title}
        \author{author's name}
        \dept{author's department}
                - Computer Science if omitted
The following switches allow for special title pages (not all are current)
        \committeethesis - for a thesis in a committee (no dept.)
                           use \dept{committee name}
        \programthesis - for a thesis in a program (no dept.)
                           use \dept{program name}
        \educationthesis - for the School of Education. \dept doesn't matter
        \businessthesis - for the GraduateSchool of Business. \dept doesn't matter
        \lawthesis - for the School of law. \dept doesn't matter
        \humanitiesthesis - for a thesis also submitted to the Graduate
                            Program in Humanities
        \specialthesis  - for a Graduate Special thesis
        \industrialthesis - for a thesis in Industrial Engineering
        \dualthesis     - for a thesis in a dual language department.
                          Also define \language{language}.

        \principaladviser{the principal advisor's name}
           (or \principaladvisor, if you prefer advisor spelled with o)
        \coprincipaladviser{optional second principal advisor's name}
           (or \coprincipaladvisor, use only if you have two principal
           advisors only for the second one)
        \firstreader{the first reader's name}
        \secondreader{the second reader's name}
        \thirdreader{optional third reader's name}
        \submitdate{month year in which submitted to GPO}
                - date LaTeX'd if omitted
        \copyrightyear{year degree conferred (next year if submitted
          in Fall quarter)}
                - year LaTeX'd (or next year, in December) if omitted
        \copyrighttrue or \copyrightfalse
                - produce or don't produce a copyright page (true by default)
        \thesiscopyrighttrue or \thesiscopyrightfalse
                - produces the style of copyright page listed by the
                Thesis Office or the style that everyone else uses
                (Thesis office by default).
        \figurespagetrue or \figurespagefalse
                - produce or don't produce a List of Figures page
                  (true by default)
        \tablespagetrue or \tablespagefalse
                - produce or don't produce a List of Tables page
                  (true by default)

This style uses interline spacing that is 1.3 times normal, except
in the figure and table environments where normal spacing is used.
That can be changed by doing:
    \setstretch{1.6}
(or whatever you want instead of 1.6)

This command should be put before the \begin{document} command but
after loading the packages

You can also set any particular section in singlespacing mode by using
the singlespace environment.  For example

\begin{quote}
\begin{singlespace}
...
\end{singlespace}
\end{quote}

makes the quote singlespaced.  See the documentation for setspace.sty
for more information.

The example at the beginning shows the 12pt substyle being used.  This
seems to give acceptable looking results, but it may be omitted to get
smaller print.

}

%%%%%
%%%%%   SETUP DOUBLESPACING
%%%%%

% include doublespace.sty for some of the stuff below

\RequirePackage{setspace}


% Use 1.3 times the normal baseline-to-baseline skip
\setstretch{2}


%%%%%
%%%%%   SETUP MARGINS AND PENALTIES NEEDED FOR STANFORD THESIS
%%%%%

% We need 1" margins except on the binding edge, where it is 1 1/2"
% Theses may be either single or double sided
  \if@twoside
     \setlength\oddsidemargin   {36.1\p@}
     \setlength\evensidemargin  {0\p@}
     \setlength\marginparwidth {40\p@}
  %\else
  %   \setlength\oddsidemargin   {36.1\p@}
  %   \setlength\evensidemargin  {36.1\p@}
  %   \setlength\marginparwidth  {40\p@}
  \else
     \setlength\oddsidemargin   {0.6in}
     \setlength\evensidemargin  {0.0in}
     \setlength\marginparwidth  {40\p@}
 \fi

\marginparsep 10pt
%\oddsidemargin 0.5in \evensidemargin 0in
%\marginparwidth 40pt 


\topmargin 0pt \headsep .5in
\textheight 7.7in \textwidth 5.7in

% Disallow page breaks at hyphens (this will give some underfull vbox's,
% so an alternative is to use \brokenpenalty=100 and manually search
% for and fix such page breaks)
\brokenpenalty=10000

%%%%%
%%%%%   SETUP COMMANDS PECULIAR TO THESES
%%%%%

% \author, \title are defined in report; here are the rest of the
% front matter defining macros
\def\dept#1{\gdef\@dept{#1}}
\def\advis@r{Adviser} % default spelling
\def\principaladviser#1{\gdef\@principaladviser{#1}}
\def\principaladvisor#1{\gdef\@principaladviser{#1}\gdef\advis@r{Advisor}}
\def\coprincipaladvisor#1{\gdef\@coprincipaladviser{#1}\gdef\advis@r{Co-Advisor}}
\def\coprincipaladviser#1{\gdef\@coprincipaladviser{#1}\gdef\advis@r{Co-Adviser}}
\def\firstreader#1{\gdef\@firstreader{#1}}
\def\secondreader#1{\gdef\@secondreader{#1}}
\def\thirdreader#1{\gdef\@thirdreader{#1}}
\def\submitdate#1{\gdef\@submitdate{#1}}
\def\copyrightyear#1{\gdef\@copyrightyear{#1}} % \author, \title in report
% needed only for dual language departments
\def\language#1{\gdef\@language{#1}} \def\@language{babel}
\def\@title{}\def\@author{}\def\@dept{computer science}
\def\@principaladviser{}\def\@firstreader{*}\def\@secondreader{*}
\def\@coprincipaladviser{*}
\def\@thirdreader{*}
\def\@submitdate{\ifcase\the\month\or
  January\or February\or March\or April\or May\or June\or
  July\or August\or September\or October\or November\or December\fi
  \space \number\the\year}
%\def\@submitdate{\number\the\year}
% Stanford says that Fall quarter theses should have the next year as the
% copyright year
\ifnum\month>8
    \@tempcnta=\year \advance\@tempcnta by 1
    \edef\@copyrightyear{\number\the\@tempcnta}
\else
    \def\@copyrightyear{\number\the\year}
\fi
\newif\ifcopyright \newif\iffigurespage \newif\iftablespage \newif\ifalgorithmspace
\newif\ifthesiscopyright
\copyrighttrue \figurespagetrue \tablespagetrue
\algorithmspacetrue
\thesiscopyrighttrue

\def\@standardsub{submitted to the department of \uppercase\expandafter{\@dept}\\
                and the committee on graduate studies}
\def\@standardend{}

\def\committeethesis{\let\@whichsub=\@committeesub}
\def\programthesis{\let\@whichsub=\@programsub}
\def\educationthesis{\let\@whichsub=\@educationsub}
\def\businessthesis{\let\@whichsub=\@businesssub}
\def\lawthesis{\let\@whichsub=\@lawsub}
\def\humanitiesthesis{\let\@whichsub=\@humanitiessub%
\let\@whichend=\@humanitiesend}
\def\specialthesis{\let\@whichsub=\@specialsub%
\let\@whichend=\@specialend}
\def\industrialthesis{\let\@whichsub=\@industrialsub%
\let\@whichend=\@industrialend}
\def\dualthesis{\let\@whichsub=\@dualsub%
\let\@whichend=\@dualend}


\def\@committeesub{SUBMITTED TO THE COMMITTEE ON \uppercase\expandafter{\@dept}\\
                AND THE COMMITTEE ON GRADUATE STUDIES}
\def\@programsub{SUBMITTED TO THE PROGRAM IN \uppercase\expandafter{\@dept}\\
                AND THE COMMITTEE ON GRADUATE STUDIES}
\def\@educationsub{SUBMITTED TO THE SCHOOL OF EDUCATION\\
                AND THE COMMITTEE ON GRADUATE STUDIES}
\def\@businesssub{SUBMITTED TO THE GRADUATE SCHOOL OF BUSINESS\\ AND THE
  COMMITTEE ON GRADUATE STUDIES}
\def\@lawsub{SUBMITTED TO THE SCHOOL OF LAW\\
                AND THE COMMITTEE ON GRADUATE STUDIES}

\def\@humanitiessub{SUBMITTED TO THE DEPARTMENT OF \uppercase\expandafter{\@dept},\\
                THE GRADUATE PROGRAM IN HUMANITIES,\\
                AND THE COMMITTEE ON GRADUATE STUDIES}
\def\@humanitiesend{\\IN\\ \uppercase\expandafter{\@dept} AND HUMANITIES}

\def\@specialsub{SUBMITTED TO THE COMMITTEE ON GRADUATE STUDIES}
\def\@specialend{\\IN\\ \uppercase\expandafter{\@dept}}


\def\@dualsub{SUBMITTED TO THE DEPARTMENT OF \uppercase\expandafter{\@dept}\\
AND THE COMMITTEE ON GRADUATE STUDIES}
\def\@dualend{\\IN\\ \uppercase\expandafter{\@language}}


\let\@whichend=\@standardend
\let\@whichsub=\@standardsub


\def\titlep{%
        \thispagestyle{empty}%
        \null\vskip1in%
        \begin{center}
                \uppercase\expandafter{\@title}
        \end{center}
        \vfill
	\begin{center}
	by\\
	\uppercase\expandafter{\@author}\\
	\end{center}
	\vfill
        \begin{center}
%\large
%                \sc a dissertation\\
%                \lowercase\expandafter{\@whichsub}\\
%                of stanford university\\
%                in partial fulfillment of the requirements\\
%                for the degree of\\
%                doctor of philosophy \uppercase\expandafter{\@whichend}
\singlespace
A thesis submitted in partial fulfillment of the\\
requirements for the degree of\\
\vfill
MASTER OF SCIENCE\\
in\\
COMPUTER SCIENCE \uppercase\expandafter{\@whichend}

%                A DISSERTATION\\
%                \uppercase\expandafter{\@whichsub}\\
%                OF STANFORD UNIVERSITY\\
%                IN PARTIAL FULFILLMENT OF THE REQUIREMENTS\\
%                FOR THE DEGREE OF\\
%                DOCTOR OF PHILOSOPHY \uppercase\expandafter{\@whichend}
        \end{center}
        \vfill
        \begin{center}
	  \singlespace
	  Portland State University\\
2007\\
%                \rm \@author\\
                %\@submitdate\\

        \end{center}
\vskip.5in\newpage}


\def\abstractp{%
  \thispagestyle{empty}%
        %\null\vfill
        \pagenumbering{arabic}

        \begin{center} 
ABSTRACT
        \end{center}         
An abstract of the thesis of Jeremy Greenwald for the Master of Science in Computer Science presented February 15, 2007 

\vspace{.25in}

\hspace{-.31in}\begin{tabular}{cc}
Title:&A Novel Metaheuristic Search Technique: Iterative Treatment Learning\tabularnewline
\end{tabular}

\vspace{.25in}

\input{Abstract/abstracts.tex}

\vfill\newpage} 


\def\thesiscopyrightpage{%
        \null\vfill
        \begin{center}
                \large
                \copyright\ Copyright\ by \@author\ \@copyrightyear\\
                All Rights Reserved
        \end{center}
        \vfill\newpage}

\def\tradcopyrightpage{%
        \null\vfill
        \begin{center}
                \large
                Copyright\ \copyright\ \@copyrightyear\ by \@author\\
                All Rights Reserved
        \end{center}
        \vfill\newpage}




\long\def\signature#1{%
\begin{flushright}
\begin{minipage}{5in}
\parindent=0pt
I certify that I have read this dissertation and that, in my opinion,
it is fully adequate in scope and quality as a dissertation for the degree
of Doctor of Philosophy.
\par
\vspace{.5in}
%\hbox to 4in{\hfil\shortstack{\vrule width 3in height 0.4pt\\ #1}}
\hbox to 5in{\hfil\begin{tabular}{@{}l@{}}\vrule width 3in height
    0.4pt depth 0pt\\ #1\end{tabular}}
\end{minipage}
\end{flushright}}

\def\signaturepage{%
        \signature{\@principaladviser\quad Principal \advis@r}
        \vfill
% if second principal advisor
        \if*\@coprincipaladviser \else
        \signature{\@coprincipaladviser\quad Principal \advis@r}
        \vfill\fi
        \if*\@firstreader \else 
        \signature\@firstreader
        \vfill\fi
        \if*\@secondreader \else 
        \signature\@secondreader
        \vfill\fi
% if thirdreader then do \signature\@thirdreader \vfill
        \if*\@thirdreader \else 
        \signature\@thirdreader
        \vfill\fi
        \begin{flushright}
        \begin{minipage}{5in}
        Approved for the University Committee on Graduate Studies.\par
        \vspace{.5in}
%        \hbox to 4in{\hfil\shortstack{\vrule width 3in height 0.4pt}}
        \end{minipage}
        \end{flushright}}

\def\beforepreface{
        \pagestyle{plain}
        \abstractp
        \pagenumbering{roman}
	\titlep
	\addtocounter{page}{-0}
        %\ifcopyright\ifthesiscopyright\thesiscopyrightpage\else\tradcopyrightpage\fi\fi
        %\signaturepage
        %\cleardoublepage
}
        

\def\prefacesection#1{%
        \chapter*{#1}
        \addcontentsline{toc}{chapter}{#1}
}

\def\afterpreface{\newpage
        \tableofcontents
        \iftablespage
                \listoftables
        \fi
        \iffigurespage
                \listoffigures
        \fi
	%\ifalgorithmspage
	%	\listofalgorithms
	%\fi

        \cleardoublepage
        \pagenumbering{arabic}
        %\pagestyle{headings}}
	\pagestyle{fancy}}

% Redefine \thebibliography to go to a new page and put an entry in the
% table of contents
\let\@ldthebibliography\thebibliography
\renewcommand{\thebibliography}[1]{\newpage
                \@ldthebibliography{#1}%
%\addcontentsline{toc}{chapter}{\bibname}
}

% Start out normal
\pagestyle{headings}

%more stuff to make you square with the department of graduate studies

\renewcommand{\@makechapterhead}[1]{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright \normalfont
    \hrule                                        % horizontal line
    \vspace{5pt}%                                 % add vertical space
    \ifnum \c@secnumdepth >\m@ne
        %\huge\scshape \@chapapp\space \thechapter % Chapter number
     \bfseries\scshape \@chapapp\space \thechapter \\  % Chapter number
        \par\nobreak
        %\vskip 20\p@
    \fi
    \interlinepenalty\@M
    %\Huge \scshape #1\par                         % chapter title
    \bfseries\scshape #1\par                         % chapter title
    \vspace{5pt}%                                 % add vertical space
    \hrule                                        % horizontal rule
    \nobreak
    \vskip 40\p@
  }}

\renewcommand{\@makeschapterhead}[1]{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright
    \normalfont
    \hrule                                        % horizontal line
    \vspace{5pt}%                                 % add vertical space
    \interlinepenalty\@M
    %\Huge \scshape #1\par                         % chapter title
    \bfseries\scshape #1\par                         % chapter title
    \vspace{5pt}%                                 % add vertical space
    \hrule                                        % horizontal line
    \nobreak
    \vskip 40\p@
  }}

%% section changin'

\renewcommand{\section}{\@startsection
{section}%                   % the name
{1}%                         % the level
{0mm}%                       % the indent
{-\baselineskip}%            % the before skip
{0.5\baselineskip}%          % the after skip
{\normalfont\bfseries}} % the style

\renewcommand{\subsection}{\@startsection
{subsection}%                   % the name
{2}%                         % the level
{0mm}%                       % the indent
{-\baselineskip}%            % the before skip
{0.5\baselineskip}%          % the after skip
{\normalfont\bfseries}} % the style

\renewcommand{\subsubsection}{\@startsection
{subsubsection}%                   % the name
{3}%                         % the level
{0mm}%                       % the indent
{-\baselineskip}%            % the before skip
{0.5\baselineskip}%          % the after skip
{\normalfont\bfseries}} % the style



% Stuff from CUEDthesisPSnPDF.cls 

\newenvironment{alwayssingle}{%
       \@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
       \else\newpage\fi}
       {\if@restonecol\twocolumn\else\newpage\fi}




% DEDICATION
%
% The dedication environment makes sure the dedication gets its
% own page and is set out in verse format.

\newenvironment{dedication}
{\begin{alwayssingle}
  \pagestyle{empty}
  \begin{center}
  \vspace*{1.5cm}
  {\LARGE }
  \end{center}
  \vspace{0.5cm}
  \begin{quote} \begin{center}}
{\end{center} \end{quote} \end{alwayssingle}}


% ACKNOWLEDGEMENTS
%
% The acknowledgements environment puts a large, bold, centered 
% "Acknowledgements" label at the top of the page. The acknowledgements
% themselves appear in a quote environment, i.e. tabbed in at both sides, and
% on its own page.

\newenvironment{acknowledgements}
{\pagestyle{empty}
\begin{alwayssingle}
\begin{center}
\vspace*{1.5cm}
{\Large \bfseries Acknowledgements}
\end{center}
\vspace{0.5cm}
\begin{quote}}
{\end{quote}\end{alwayssingle}}

%ABSTRACT
%
%The abstract environment puts a large, bold, centered "Abstract" label at
%the top of the page. The abstract itself appears in a quote environment,
%i.e. tabbed in at both sides, and on its own page.

\newenvironment{abstracts} {\begin{alwayssingle} \pagestyle{empty}
  \begin{center}
  \vspace*{1.5cm}
  {\Large \bfseries  Abstract}
  \end{center}
  \vspace{0.5cm}
   \begin{quote}}
{\end{quote}\end{alwayssingle}}