summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:56:19 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:56:19 +0000
commit2f6026350d22bc89482851086f2d152e88847580 (patch)
treec66dc91893c91dd7713164abb90ff192ca896430 /Master/texmf-dist
parent33cfc82dc02d86e477e4e82f3e9b839de459f9c9 (diff)
gatech-thesis
git-svn-id: svn://tug.org/texlive/trunk@948 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-gloss.sty101
-rw-r--r--Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-index.sty139
-rw-r--r--Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-losa.sty156
-rw-r--r--Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-patch.sty12
-rw-r--r--Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis.cls2930
5 files changed, 3338 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-gloss.sty b/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-gloss.sty
new file mode 100644
index 00000000000..0f7ba1ff3fc
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-gloss.sty
@@ -0,0 +1,101 @@
+%% gatech-thesis-gloss.sty - support code for creating glossaries
+%% depends on gloss.sty, so it is not included by default in the
+%% main gatech-thesis.cls (this cuts down on ``extra'' dependencies
+%%
+%% To use this package, all you need do is include
+%% \usepackage{gatech-thesis-gloss}
+%% \glossfiles{<glosary file, sans .bib suffix>}
+%% in your preamble, and the glossary will be automatically generated
+%% and included in the frontmatter. Of course, you need actual
+%% *entries* in the glossary file -- which must end in .bib -- and you
+%% need actual citations to those entries within your bodytext, like this:
+%% \gloss{key}.
+%% Note that \gloss{<key>} typesets the <word> from the <key> entry of
+%% the glossfile within the text, so there''s no need to do this:
+%% (BAD) word\gloss{keyforword}
+%% Read the gloss.sty documentation for more info, but basically
+%% gatech-thesis-gloss.sty makes it simple:
+%% 1. insert the two commands above into your preamble
+%% 2. create a glossfile with your glossary definitions
+%% 3. sprinkle \gloss{} citations in your text
+%% 4. run ``bibtex'' on the <rootfile>.gls.aux file created
+%% after the first ``latex'' run. (But don''t include the
+%% .aux extension. So say ``bibtex <rootfile>.gls'' You
+%% can do this at the same time you run ``bibtex'' for your
+%% references.
+%% 5. run ``latex'' twice more
+%%
+\NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{gatech-thesis-gloss}
+ [2002/08/08 Glossary support for gatech-thesis.cls]
+\@ifclassloaded{gatech-thesis}{}{
+ PackageError{This style can only be used with the gatech-thesis class}
+}
+\RequirePackage[refpages]{gloss}
+
+\newif\ifglossarypage
+\glossarypagetrue% why use this package if you're not going to USE it?
+
+\makegloss
+
+\newcommand{\glossfiles}[1]%
+ {\ifx\empty#1\empty\else\gdef\@glossfiles{#1}\fi}
+\def\@glossfiles{}
+
+\newcommand{\gtglossname}{}
+\newcommand{\glscontentlinestring}{}
+\newcommand{\glspdfbookmarkstring}{}
+
+\newcommand{\setglossstring}[1]{%
+ \renewcommand{\gtglossname}{#1}
+ \renewcommand{\glossname}{\Makeuppercase{#1}}
+ \renewcommand{\glscontentlinestring}{%
+ \texorpdfstring{\Makeuppercase{#1}}{#1}
+ }
+ \renewcommand{\glspdfbookmarkstring}{#1}
+}
+% \setglossstring{List of Nomenclature}% ???
+\setglossstring{Glossary}
+
+\renewcommand{\glossheading}[1]{} % don't print subsection headings ("A", "B", ...)
+\renewenvironment{glosslist}
+ {\begin{singlespaced}\begin{list}{\relax}{%
+ \def\makelabel##1{##1\hfil}%
+ \setlength{\labelsep}{1em}%
+ \setlength{\labelwidth}{\glosshang}%
+ \addtolength{\labelwidth}{-\labelsep}%
+ \setlength{\itemindent}{0em}%
+ \setlength{\leftmargin}{\glosshang}}}
+ {\end{list}\end{singlespaced}}
+
+\renewcommand\gls@section{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\glossname}%
+ \@mkboth{\scshape\MakeUppercase\glossname}%
+ {\scshape\MakeUppercase\glossname}%
+}
+\renewenvironment{thegloss}
+ {\gls@section
+ \def\+##1+{}%
+ \@beginparpenalty\@M}%
+ {\if@restonecol\twocolumn\fi%
+ \stopglosslist}
+
+\renewcommand{\do@glossarypage}{%
+ \ifglossarypage
+ \if@openright\cleardoublepage\else\clearpage\fi
+ % must clear page here, so that phantomsection\addcontentsline is on the correct page
+ \settoheight{\gt@tmpa}{A}
+ \set@gttocskip{\gt@tmpa}
+ {\newlinestretch{1}
+ \addvspace{\gt@tocentryskip@value}
+ \phantomsection%
+ \addcontentsline{toc}{chapter}{\glscontentlinestring}
+ \printgloss{\@glossfiles}
+ }%
+ \newpage
+ \fi
+}
diff --git a/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-index.sty b/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-index.sty
new file mode 100644
index 00000000000..61b9cd9d676
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-index.sty
@@ -0,0 +1,139 @@
+%% gatech-thesis-index.sty - support code for creating an index
+%% depends on index.sty, so it is not included by default in the
+%% main gatech-thesis.cls (this cuts down on ``extra'' dependencies.
+%% It also depends on the multicol package.
+%%
+%% Note that index.sty is included in the ``camel'' package if you
+%% are using MikTeX.
+%%
+%% To use this package, all you need do is include
+%% \usepackage{gatech-thesis-index}
+%% in your preamble, and
+%% \gtindex
+%% just after your vita section, but within the postliminary environment
+%% of your bodytext. The, the index will be automatically
+%% and included in the location specified, and added to the table of
+%% contents. Of course, you need actual index references within your
+%% main text like this:
+%% foo\index{foo}
+%% Read the index.sty documentation for more info, but basically
+%% gatech-thesis-gloss.sty makes it simple:
+%% 1. insert the \usepackage and \gtindex commands into your document
+%% 2. sprinkle \index{} citations in your text
+%% 3. run ``makeindex'' on the <rootfile>.idx file created
+%% after the first ``latex'' run, like this:
+%% makeindex -s gatech-thesis-index.ist <rootfile>.idx
+%% This will create <rootfile>.ind (the gatech-thesis-index.ist
+%% file is a format specification for the index). If you want
+%% to customize the index format, copy gatech-thesis-index.ist to
+%% ``myformat.ist'' and change the copy. Use ``-s myformat.ist''
+%% instead of gatech-thesis-index.ist.
+%% You can run the makeindex command at the same time you run `
+%% `bibtex'' for your references and/or glossary.
+%% 4. run ``latex'' twice more (the same ``twice more'' needed for
+%% bibtex and gatech-thesis-gloss.sty)
+%%
+\NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{gatech-thesis-index}
+ [2002/08/08 Index support for gatech-thesis.cls]
+\@ifclassloaded{gatech-thesis}{}{
+ PackageError{This style can only be used with the gatech-thesis class}
+}
+\RequirePackage{index}
+\RequirePackage{multicol}
+
+\newif\if@proofmode
+\@proofmodefalse
+
+\DeclareOption{proofmode}{%
+ \if@draft % This is an internal gatech-thesis variable!
+ \@proofmodetrue % this is an internal index.sty variable
+ \else
+ \PackageWarn{option `proofmode' can't be used in 'final' mode.}
+ \@proofmodefalse
+ \fi
+}
+\DeclareOption{showidx}{%
+ \if@draft % This is an internal gatech-thesis variable!
+ \@proofmodetrue % this is an internal index.sty variable
+ \else
+ \PackageWarn{option `showidx' can't be used in 'final' mode.}
+ \@proofmodefalse
+ \fi
+}
+\ProcessOptions
+
+\newif\ifindexpage
+\indexpagetrue% why use this package if you're not going to USE it?
+
+\if@proofmode
+ \proofmodetrue% pass option to index package
+\else
+ \proofmodefalse% ditto
+\fi
+
+\newcommand{\gtindexname}{}
+\newcommand{\idxcontentlinestring}{}
+\newcommand{\idxpdfbookmarkstring}{}
+
+\newcommand{\setindexstring}[1]{%
+ \renewcommand{\gtindexname}{#1}
+ \renewcommand{\indexname}{\Makeuppercase{#1}}
+ \renewcommand{\idxcontentlinestring}{%
+ \texorpdfstring{\Makeuppercase{#1}}{#1}
+ }
+ \renewcommand{\idxpdfbookmarkstring}{#1}
+}
+\setindexstring{Index}
+% if you want to change the name of the index, do it in the preamble
+% once the document begins, it''s too late.
+\AtBeginDocument{%
+ \newindex{default}{idx}{ind}{Index}
+}
+
+\renewenvironment{theindex}{%
+ \edef\indexname{\the\@nameuse{idxtitle@\@indextype}}%
+ \if@twocolumn
+ \@restonecolfalse
+ \else
+ \@restonecoltrue
+ \fi
+ \chapter*{\MakeUppercase{\gtindexname}}
+ \@mkboth{\scshape\MakeUppercase\indexname}%
+ {\scshape\MakeUppercase\indexname}%
+ \let\item\@idxitem
+ \columnseprule \z@
+ \columnsep 35\p@
+ \begin{multicols}{2}[%
+ \ifx\index@prologue\@empty\else
+ \index@prologue
+ \bigskip
+ \fi]%
+ \parindent\z@
+ \parskip\z@ \@plus .3\p@\relax
+}{\end{multicols}%
+ \if@restonecol
+ \onecolumn
+ \else
+ \clearpage
+ \fi
+}
+
+\renewcommand{\do@indexpage}{%
+ \ifindexpage
+ \if@openright\cleardoublepage\else\clearpage\fi
+ % must clear page here, so that phantomsection\addcontentsline is on the correct page
+ \phantomsection%
+ \addcontentsline{toc}{chapter}{\idxcontentlinestring}
+ \settoheight{\gt@tmpa}{A}
+ \set@gttocskip{\gt@tmpa}
+ {\newlinestretch{1}
+ \printindex
+ }%
+ \newpage
+ \fi
+}
+
+\newcommand{\gtindex}{\do@indexpage}
+\newcommand{\bs}{\symbol{'134}}% print backslash
+\newcommand{\gtCom}[1]{\texttt{\bs#1}\index{#1@\texttt{\bs#1}}}
+\newcommand{\gtProg}[1]{\texttt{#1}\index{#1@\texttt{#1} program}}
diff --git a/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-losa.sty b/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-losa.sty
new file mode 100644
index 00000000000..7b6cc1626f0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-losa.sty
@@ -0,0 +1,156 @@
+%% gatech-thesis-losa.sty - support code for creating a 'List of
+%% Symbols or Abbreviations"
+%%
+%% depends on gloss.sty, so it is not included by default in the
+%% main gatech-thesis.cls (this cuts down on ``extra'' dependencies
+%%
+%% To use this package, all you need do is include
+%% \usepackage{gatech-thesis-losa}
+%% \losafiles{<database file, sans .bib suffix>}
+%% in your preamble, and the LOSA will be automatically generated
+%% and included in the frontmatter. Of course, you need actual
+%% *entries* in the glossary file -- which must end in .bib -- and you
+%% need actual citations to those entries within your bodytext, like this:
+%% \losa{key}.
+%% Note that \losa{<key>} typesets the <word> from the <key> entry of
+%% the losafile within the text, so there''s no need to do this:
+%% (BAD) word\losa{key-for-word}
+%% Again, you should read the gloss.sty documentation for more info, but
+%% basically gatech-thesis-losa.sty makes it simple:
+%% 1. insert the two commands above into your preamble
+%% 2. create a database with your glossary definitions
+%% 3. sprinkle \losa{} citations in your text
+%% 4. run ``bibtex'' on the <rootfile>.losa.aux file created
+%% after the first ``latex'' run. (But don''t include the
+%% .aux extension. So say ``bibtex <rootfile>.losa'' You
+%% can do this at the same time you run ``bibtex'' for your
+%% references.
+%% 5. run ``latex'' twice more
+%%
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\ProvidesPackage{gatech-thesis-losa}
+ [2002/08/08 List of Symbols support for gatech-thesis.cls]
+\@ifclassloaded{gatech-thesis}{}{
+ PackageError{This style can only be used with the gatech-thesis class}
+}
+\RequirePackage[refpages]{gloss}
+
+\newif\iflosapage
+\losapagetrue % why use this package if you're not going to USE it?
+
+\newcommand{\losafiles}[1]%
+ {\ifx\empty#1\empty\else\gdef\@losafiles{#1}\fi}
+\def\@losafiles{}
+
+\newcommand{\losaname}{}
+\newcommand{\gtlosaname}{}
+\newcommand{\losacontentlinestring}{}
+\newcommand{\losapdfbookmarkstring}{}
+
+\newcommand{\setlosastring}[1]{%
+ \renewcommand{\gtlosaname}{#1}
+ \renewcommand{\losaname}{\Makeuppercase{#1}}
+ \renewcommand{\losacontentlinestring}{%
+ \texorpdfstring{\Makeuppercase{#1}}{#1}
+ }
+ \renewcommand{\losapdfbookmarkstring}{#1}
+}
+\setlosastring{List of Symbols or Abbreviations}
+
+\makegloss
+\newgloss{losa}{.losa}{\losaname}{gatech-thesis-losa}
+\newlength{\losahang}
+\setlength{\losahang}{2cm}
+
+\newcommand\setlosagroup[1]{\@namedef{gls@group@#1}}
+\newcommand{\losaheading}[1]{} % don't print subsection headings ("A", "B", ...)
+\newcommand{\losagroup}[1]{%
+ \expandafter\losaheading\csname gls@group@#1\endcsname}
+
+% make the '\losa[otheroptions]{}' command a synonym for
+% '\gloss[losa,otheroptions]{}'
+\newcommand\losa{\protect\losa@gloss@i}
+\def\losa@gloss@i{%
+ \@bsphack
+ \begingroup
+ \catcode`\ =9
+ \@ifnextchar[{\losa@gloss@iia}{\losa@gloss@iib[]}}
+\def\losa@gloss@iia[#1]{%
+ \endgroup
+ \gls@gloss@iii{losa,#1}}
+\def\losa@gloss@iib[#1]{% #1 is empty
+ \endgroup
+ \gls@gloss@iii{losa}}
+
+% and alternate forms
+\newcommand\Losa[1]{\losa[Word]{#1}}
+\newcommand\onlylosa[1]{\losa[nocite]{#1}}
+
+\newenvironment{losalist}
+ {\begin{singlespaced}\begin{list}{\relax}{%
+ \def\makelabel##1{##1\hfil}%
+ \setlength{\labelsep}{1em}%
+ \setlength{\labelwidth}{\losahang}%
+ \addtolength{\labelwidth}{-\labelsep}%
+ \setlength{\itemindent}{0em}%
+ \setlength{\leftmargin}{\losahang}}}
+ {\end{list}\end{singlespaced}}
+
+\newenvironment{losaitem}[4]%
+ {\ifgls@list
+ \expandafter\let\expandafter\gls@thispage % relax if undefined
+ \csname glsp@\gls@name::#1\endcsname
+ \item[%
+ \gls@raisedlink{\hyper@anchorstart{\gls@name::#1}\hyper@anchorend}%
+ \gls@label{#2}{#3}{#4}]%
+ \begingroup
+ \let\protect\noexpand
+ \immediate\write\@auxout{%
+ \string\gls@cite{\gls@name::#1}{#2}{#3}{#4}}%
+ \endgroup
+ \else
+ \xdef\gls@a{\noexpand\begin{\@currenvir}}%
+ \endgroup
+ \begin{losalist}%
+ \gls@listtrue
+ \def\stopglosslist{\end{losalist}}%
+ \gls@a{#1}{#2}{#3}{#4}%
+ \fi
+ \ignorespaces}
+ {.\@@par}
+
+\expandafter\let\csname losaitem*\endcsname\losaitem
+\expandafter\let\csname endlosaitem*\endcsname\@@par
+
+\newcommand\losa@section{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\losaname}%
+ \@mkboth{\scshape\MakeUppercase\losaname}%
+ {\scshape\MakeUppercase\losaname}%
+}
+\newenvironment{thelosa}
+ {\losa@section
+ \def\+##1+{}%
+ \@beginparpenalty\@M}%
+ {\if@restonecol\twocolumn\fi%
+ \stopglosslist}
+
+\renewcommand{\do@losapage}{%
+ \iflosapage
+ \if@openright\cleardoublepage\else\clearpage\fi
+ % must clear page here, so that phantomsection\addcontentsline is on the correct page
+ \settoheight{\gt@tmpa}{A}
+ \set@gttocskip{\gt@tmpa}
+ {\newlinestretch{1}
+ \addvspace{\gt@tocentryskip@value}
+ \phantomsection%
+ \addcontentsline{toc}{chapter}{\losacontentlinestring}
+ \printgloss[losa]{\@losafiles}
+ }%
+ \newpage
+ \fi
+}
diff --git a/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-patch.sty b/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-patch.sty
new file mode 100644
index 00000000000..0b39880b603
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-patch.sty
@@ -0,0 +1,12 @@
+\ProvidesFile{gatech-thesis-patch.sty}[2003/04/14 1.6a (Charles Wilson)]
+\gtthesis@checkVersion{1.6}
+{\typeout{^^J%
+ ***^^J%
+ *** This is a patch for `gatech-thesis.cls' version 1.6, but^^J%
+ *** you're using version \gtthesisversion.^^J%
+ ***^^J%
+ *** Patch file not loaded.^^J%
+ ***^^J}%
+ \endinput
+}
+\typeout{gatech-thesis-patch loaded}
diff --git a/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis.cls b/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis.cls
new file mode 100644
index 00000000000..9a2687e909b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis.cls
@@ -0,0 +1,2930 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% GATECH-THESIS.CLS (v1.6)
+%% Copyright (c) 2002 by Charles S. Wilson. All rights reserved.
+%% See licensing information, below.
+%%
+%% Last Update: V1.6 (Apr 14, 2003) by Charles S. Wilson
+%%
+%% Heritage:
+%% UT-THESIS.CLS (v1.8)
+%% -- by Francois Pitt (1999 Dec 10)
+%% -- as modified by Aichen Low, 2000 Jan 14
+%% GTthesis.sty
+%% -- as adapated from suthesis.sty by Ahmed Gheith
+%% -- and modified by Joonwon Lee, Eilin Tien Lin, Wei Lui
+%% -- and as modified by Kalyan Perumalla, 1999 Nov 18
+%% gt-thesissty.sty
+%% -- by Aichen Low, 2000 Jan 17
+%%
+%% All of these sources were combined to produce a single, unified
+%% class file for Georgia Tech PhD Theses.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\gtthesisversion}{1.6}% current version number
+\newcommand{\gtthesisupdated}{2003/04/14}% date of last change(s)
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% This program is free software; you can redistribute it and/or
+%% modify it under the terms of the GNU General Public License
+%% as published by the Free Software Foundation; either version 2
+%% of the License, or (at your option) any later version.
+%%
+%% This program is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%% GNU General Public License for more details.
+%%
+%% You should have received a copy of the GNU General Public License
+%% along with this program; if not, write to the Free Software
+%% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+%%
+%% See the COPYING file for license information.
+%%
+%% Note that the files contained within ThesisProposal.tar.gz have
+%% their own licence.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% REVISION HISTORY:
+%%
+%% v1.6: 2003-Apr-14 Charles S. Wilson
+%% * caption labels: OGS requires (e.g.) 'Figure 2:' to be in
+%% same font as rest of caption (bold ok, changing font not ok)
+%% * make vita double-spaced
+%% * fixed a bug in Signature page when no Committee Chair. Thanks
+%% Arnaud Cottet for reporting it.
+%% * Changed one-and-a-half spacing to better match the description
+%% in The LaTeX Companion (use 1.25, not 1.33).
+%% v1.5: 2002-Aug-17 Charles S. Wilson
+%% * COMPLIANCE: new documentation
+%% * caption labels: make them prettier
+%% * Change gatech-thesis-gloss.sty to handle real glossaries;
+%% * NEW: gatech-thesis-losa.sty now handles the List of Symbols
+%% v1.4: 2002-Aug-03 Charles S. Wilson
+%% * Better handling of equation, table, and figure numbering
+%% (added David Carlisle's \@removefromreset macro, and use
+%% that instead of the previous kludge.)
+%% * Corrected problem with two-sided printing: the even-numbered
+%% (left hand) page between the end of \preliminary and the
+%% beginning of the first chapter was not printed. This really
+%% messed up duplex printers. FIXED.
+%% * Corrected problem when vita (or whatever the last section
+%% before \end{postliminary}) was \included instead of \inputted.
+%% * Signature page no longer prints empty lines for non-existent
+%% committee members. Also, uses two columns if more than 4
+%% members, per the Graduate Office Guidelines. AND we no longer
+%% print its page number
+%% * Now uses (requires) the calc package, which is part of the
+%% standard latex installation.
+%% * Automatically center the dedication (but see the new functions
+%% \dedicationtop and \dedicationbottom
+%% * Correctly doublespace the title on both titlepage and signaturepage
+%% * page numbering defaults to a centered footer, as per the new
+%% Graduate Office guidelines
+%% * Added proper handling for multiple volumes in a single thesis
+%% * Added support for the add-on styles ``gatech-thesis-gloss.sty''
+%% and ``gatech-thesis-index.sty''.
+%% v1.3: 2002-Jan-13 Charles S. Wilson
+%% * Renamed to gatech-thesis at request of the CTAN folks.
+%% v1.2: 2001-May-01 Charles S. Wilson
+%% * Minor tweaks to conform to latest GSO requirements
+%% v1.1: 2001-Apr-29 Charles S. Wilson
+%% * Fixup to work nicely with pdflatex and hyperref
+%% v1.0: 2001-Jan-24 Charles S. Wilson
+%% * Initial release: merged UT-THESIS.STY with GTthesis.sty
+%% and gt-thesissty.sty.
+%%
+%% KNOWN BUGS:
+%%
+%% - FIXED: (sortof) [On ``dedication'' and ``acknowledgements''
+%% causing an error when they both appear on the same page.]
+%% GT style doesn't allow these to appear on the same page,
+%% so \begin{dedication}...\end{dedication} will ALWAYS
+%% appear on its own page. Ditto acknowledgements.
+%%
+%% - I didn't fix this; GATECH-THESIS.CLS has inherited this bug
+%% from UT-THESIS.CLS: [On missing page headers for float pages.]
+%% ``teTex'' under Linux fails in precisely the same way as does
+%% ``MikTeX'', so there's something clearly wrong somewhere, but
+%% I don't know where. It only fails on odd-numbered pages (if
+%% you remove enough text so that the page floats back to an
+%% even-numbered page, the page header is correct)!
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% The following notice and changelog is included to satisfy the
+%% distribution requirements explained below, but much of it no
+%% longer applies. GATECH-THESIS.CLS has been changed in major ways
+%% from UT-THESIS.CLS...
+%%
+%% OLD:
+%% OLD: This file is distributed in the hope that it will be useful but
+%% OLD: without any warranty (without even the implied warranty of
+%% OLD: fitness for a particular purpose). For a description of this
+%% OLD: file's purpose, and instructions on its use, see below.
+%% OLD:
+%% OLD: Feel free to copy and redistribute this file, as long as this
+%% OLD: copyright notice remains intact. You may also modify the file
+%% OLD: to suit your particular needs, as long as you indicate your
+%% OLD: changes below (and inform the original author of your changes:
+%% OLD: he's always curious to know what people think of his work).
+%% OLD:
+%% OLD: Send all bugs, questions, comments, suggestions, etc. to the
+%% OLD: author, at <fpitt@cs.utoronto.ca>.
+%% OLD:
+%% OLD: KNOWN BUGS: (reported by Robert Bernecky)
+%% OLD:
+%% OLD: - [On missing page headers for float pages.]
+%% OLD: ``teTex'' under Linux fails in precisely the same way as does
+%% OLD: ``MikTeX'', so there's something clearly wrong somewhere, but
+%% OLD: I don't know where. It only fails on odd-numbered pages (if
+%% OLD: you remove enough text so that the page floats back to an
+%% OLD: even-numbered page, the page header is correct)!
+%% OLD: - [On ``dedication'' and ``acknowledgements'' causing an error when
+%% OLD: they both appear on the same page.]
+%% OLD: ``teTeX'' and ``MikTeX'' both fail the same way on this one, with
+%% OLD: ``LaTeX error: Something's wrong--perhaps a missing \item.
+%% OLD: Adding a \newpage between the two environments ``fixes'' the
+%% OLD: problem. Unsure what causes this, but it could be a bug
+%% OLD: common to all x86 platforms...
+%% OLD:
+%% OLD: REVISION HISTORY:
+%% OLD:
+%% OLD: v1.8: 1999/12/10 (Francois Pitt)
+%% OLD: - Fixed circular definition problem with \currenttextsize
+%% OLD: that caused TeX to run out of input stack memory.
+%% OLD: v1.7: 1999/06/02,1999/05/20,1999/05/13 (Francois Pitt)
+%% OLD: - Minor change to the format of the date printed on every
+%% OLD: page with the ``draft'' option.
+%% OLD: - Minor cosmetic change to the word ``DRAFT'' printed on the
+%% OLD: corners of every page with the ``draft'' option.
+%% OLD: - Made ``draft'' mode doublespaced by default (it just makes
+%% OLD: more sense for actual drafts; suggested by Eric Joanis).
+%% OLD: - Changed \currenttextsize from a ``\newcommand'' to a ``\let''.
+%% OLD: - Added ``known bugs'' above.
+%% OLD: v1.6: 1999/03/06 (Francois Pitt)
+%% OLD: - Minor change: replaced ``\ifx\empty#1\else...\fi'' with
+%% OLD: ``\ifx\empty#1\empty\else...\fi'' (the former works only
+%% OLD: by accident while the latter is logically correct).
+%% OLD: v1.5: 1999/02/17 (Francois Pitt)
+%% OLD: - Fixed missing page numbers and headers by removing
+%% OLD: redefinition of \cleardoublepage (reported by Robert
+%% OLD: Bernecky 1999/02/04 and Nedialko Nedialkov 1999/02/12).
+%% OLD: - Added \clearemptydoublepage and \clearplaindoublepage
+%% OLD: commands.
+%% OLD: - Removed redefinitions of \tableofcontents, \listoftables,
+%% OLD: and \listoffigures because they already call \clearpage
+%% OLD: or \cleardoublepage by default.
+%% OLD: - Removed ``\setcounter{tocdepth}{2}'' from the page layout
+%% OLD: section (moved to ``ut-thesis.tex'' where it belongs).
+%% OLD: - Added \ignore command to comment out parts of a file.
+%% OLD: - Put version macros at the top of the file.
+%% OLD: - Changed order of revision comments.
+%% OLD: v1.4: 1998/11/05 (Francois Pitt)
+%% OLD: - Fixed ``abstract'' environment so that it is really put on a
+%% OLD: separate page, and changed ``\newpage\endgroup'' at the end
+%% OLD: to ``\par\endgroup\newpage'', which is more logical.
+%% OLD: - Changed ``acknowledgements'' environment so that it is *not*
+%% OLD: put on a separate page, allowing users to add other text
+%% OLD: on that page (e.g., ``dedication'' described next).
+%% OLD: - Added ``dedication'' environment based on ``acknowledgements''
+%% OLD: (suggested by Robert Bernecky 98/11/04).
+%% OLD: - Changed page layout so that it is defined in terms of the
+%% OLD: physical page size instead of being hard-coded for letter
+%% OLD: paper (8.5" x 11").
+%% OLD: v1.3: 1998/11/01 (Francois Pitt)
+%% OLD: - Fixed ``thebibliography'' so page headers are generated in
+%% OLD: the same style as for the rest of the thesis.
+%% OLD: - Swapped \endgroup and \newpage in definition of ``abstract''
+%% OLD: and ``acknowledgements'' environments, to fix problem with
+%% OLD: adjusted line spacing in ``abstract''.
+%% OLD: - Renamed ``\currentsize'' to ``\currenttextsize''.
+%% OLD: - Added \cleardoublepage at the end of preliminary sections,
+%% OLD: so that page 1 of main text is on right-hand side.
+%% OLD: v1.2: 1998/10/20 (Francois Pitt)
+%% OLD: - Changed ``spacenotes'' option to ``spacednotes'' to have more
+%% OLD: consistently named options.
+%% OLD: - Fixed spacing between main text and footnotes.
+%% OLD: - Fixed ``singlespaced'' environment, which didn't seem to
+%% OLD: work at all (reported by Nedialko Nedialkov 98/10/12):
+%% OLD: Actually, created a ``newspacing'' environment, which takes
+%% OLD: a parameter, and based ``singlespaced'', ``oneandahalfspaced'',
+%% OLD: and ``doublespaced'' environments on ``newspacing''.
+%% OLD: v1.1: 1998/10/01 (Francois Pitt)
+%% OLD: - Fixed bug that caused footnotes to make following tables
+%% OLD: single-spaced (reported by Philip Edmonds 98/09/30).
+%% OLD: - Made spacing of marginal notes and footnotes the same.
+%% OLD: - Added option to control line spacing of notes.
+%% OLD: - Added options to control the size of margins.
+%% OLD: - Changed names of temporary macros used in redefinitions
+%% OLD: to avoid conflicts with existing names.
+%% OLD: v1.0: 1998/09/29 (Francois Pitt)
+%% OLD: - Initial version.
+%% OLD:
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% LaTeX2e class file for formatting documents according to the
+%% Graduate Studies' guidelines for theses at the Georgia Institute
+%% of Technology.
+%%
+%% USAGE: \documentclass{gatech-thesis}
+%% \documentclass[...options...]{gatech-thesis}
+%%
+%% The default settings produce a final copy, ready for submission
+%% (11pt font, single-sided, double-spaced, normal margins,
+%% with single-spaced notes).
+%%
+%% OPTIONS:
+%%
+%% - Any standard option for the LaTeX2e ``report'' class, including
+%% ``10pt'', ``11pt'', ``12pt'', ``oneside'', ``twoside'', etc.
+%%
+%% - ``singlespaced'', ``oneandahalfspaced'', or ``doublespaced'': Set
+%% the entire document's default line spacing, except for notes,
+%% which are single-spaced by default.
+%%
+%% - ``spacednotes'': Let the line spacing of notes be determined
+%% by the line spacing of the main document, instead of being
+%% forced single-spaced.
+%%
+%% - ``narrowmargins'', ``normalmargins'', ``widemargins'',
+%% ``extrawidemargins'' or ``oldmargins'': Set the size of
+%% the margins, as follows:
+%% . ``normal'': 1 1/2" on left, 1" on top, right and bottom
+%% headers & footers 1/4" from body;
+%% - This is the Georgia Tech standard
+%% . ``narrow'': 1 1/4" on the left, 3/4" on all other sides,
+%% headers & footers 1/4" from body;
+%% . ``wide'': 1 1/4" on all sides, headers & footers 3/4" from
+%% body;
+%% . ``extrawide'': 1 1/2" on all sides, headers & footers 3/4"
+%% from body.
+%% . ``oldmargins'': 1 1/2" on left and top, 1" on right and bottom
+%% headers & footers 1/2 from body;
+%% adds 2"" extra space from top of page, on the first
+%% page of a chapter or appendix.
+%% - This is the OLD Georgia Tech standard
+%% (If you have more than just a few marginal notes, it is
+%% recommended that you use ``wide'' or ``extrawide'' margins.)
+%% Use ``normalmargins'' (the default) for the approved GT format.
+%%
+%% - ``draft'': Produce a draft copy (10pt font, double-sided,
+%% double-spaced, normal margins, with the word "DRAFT" printed
+%% at all four corners of every page, and current date printed in
+%% a running footer).
+%%
+%% - ``hyperref'': Indicates that the document will \usepackage{hyperref}.
+%% This is a kludge, but I didn't want to explicitly *require*
+%% hyperref, so we must indicate to gatech-thesis.cls whether it should
+%% define certain hyperref commands as dummies. ALWAYS use this
+%% option if you use the hyperref package. NEVER use this option if
+%% you do not also use the hyperref package.
+%%
+%% Note that these options can be used to override the default or
+%% draft document settings, so that it is possible, for example,
+%% to create a double-sided final copy, or a 1 1/2-spaced draft
+%% copy with wide margins, etc. Also note that when producing
+%% double-sided documents, new chapters and preliminary sections
+%% will always start on a right-hand page under the default
+%% settings (inserting a blank page if needed), but not if the
+%% ``draft'' option was used. (This can be overriden by using the
+%% ``openany'' or ``openright'' options. To achieve this effect for
+%% individual sections or chapters, use the \cleardoublepage
+%% command.) Note that the blank page inserted in these cases will
+%% still contain the header and page number that is present on all
+%% pages. For ``empty'' or ``plain'' pages, explicitly use one of the
+%% commands \clearemptydoublepage (totally blank inserted pages),
+%% \clearplaindoublepage (blank except for page number at bottom), or
+%% \cleartcplainfdoublepage (blank except for page number at Top
+%% Corner (hence, TCplain). You can also explicitly use
+%% \cleargtthesisdoublepage (but I don't know why you would, since this
+%% only makes sense if the current pagestyle is already gtthesis, and
+%% if that is the case then you're better off just using \cleardoublepage.
+%%
+%% NEW ENVIRONMENTS and COMMANDS:
+%% in some cases, there will be two commands with identical
+%% effect. These are usually because one is needed to maintain
+%% compatibility with documents that expect the old macros from
+%% GTthesis.sty.
+%%
+%% * \title{...}: (preamble only; REQUIRED)
+%%
+%% * \author{...}: (preamble only; REQUIRED)
+%% Specify the name of the author.
+%%
+%% * \department{...}: (preamble only; REQUIRED)
+%% * \dept{...}: compatibility synonym
+%% Specify the name of the graduate department.
+%%
+%% * \degree{...}: (preamble only; REQUIRED)
+%% Specify the name of the degree (e.g., "Doctor of Philosophy").
+%%
+%% * \gradyear{...}: (preamble only; REQUIRED)
+%% * \copyrightyear{...}: compatibility synonym
+%% Specify the year of graduation (defaults to current year).
+%%
+%% * \principaladvisor{...}: (preamble only; OPTIONAL)
+%% (or \principaladviser{...}, if you prefer advisor spelled with an e)
+%%
+%% * \committeechair{...}: (preamble only; OPTIONAL)
+%%
+%% * \firstreader{...}: (preamble only; OPTIONAL)
+%% * \secondreader{...}: (preamble only; OPTIONAL)
+%% * \thirdreader{...}: (preamble only; OPTIONAL)
+%% * \fourthreader{...}: (preamble only; OPTIONAL)
+%% * \fifthreader{...}: (preamble only; OPTIONAL)
+%% * \sixthreader{...}: (preamble only; OPTIONAL)
+%%
+%% * \submitdate{month year in which submitted}
+%% date is LaTeX'd if not specified
+%%
+%% * \titlepagetrue or \titlepagefalse
+%% - produce or don't produce a title page (TRUE by default)
+%%
+%% * \signaturepagetrue or \signaturepagefalse
+%% - produce or don't produce a signature page (TRUE by default)
+%%
+%% * \copyrighttrue or \copyrightfalse
+%% - place or don't place a copyright notice on the title page (FALSE 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)
+%%
+%% * \contentspagetrue or \contentspagefalse
+%% - produce or don't produce a Table of Contents page (TRUE by default)
+%%
+%% * \bibpagetrue or \bibpagefalse
+%% - produce or don't produce a Bibliography page (TRUE by default)
+%%
+%% * \thesisproposaltrue or \thesisproposalfalse
+%% - indicate "Thesis Proposal" or "Thesis" on the title page (FALSE by default)
+%%
+%% * \dedicationheadingtrue or \dedicationheadingfalse
+%% - display ``DEDICATION'' heading on the dedication page (FALSE by default)
+%%
+%% * \dedicationtop and \dedicationbottom
+%% - The Graduate Office Guidelines say that the dedication should be centered
+%% on the page. By default, this is done -- but IMO it looks ugly. The
+%% vertical spacing above and below your text is proided by these two
+%% macros; redefined them if you want to do something different. E.g.
+%% this looks nice:
+%% \renewcommand{\dedicationtop}{\vspace*{\stretch{1}}
+%% \renewcommand{\dedicationbottom{\vspace*{\stretch{3}}
+%% which places the dedication about 1/4 of the way down the page.
+%%
+%% * \strictmarginstrue or \strictmarginsfalse
+%% - if true, then obey the margin rules EVEN on the title and signature
+%% page. Default TRUE and REQUIRED by Graduate Studies Office, but
+%% not very appealing. (under ``oldmargins'' an extra 50p spacing is
+%% added so that the title page looks like the chapter headings
+%% In any case, \strictmarginsfalse looks better for personal copies
+%% but \strictmarginstrue is necessary for official ones.
+%%
+%% * \multivolumetrue or \multivolumefalse
+%% - if true, indicates that the thesis will span multiple volumes.
+%% triggers automatic generation of the first volume title page
+%% (in addition to the ``entire work'' title page), but it's up
+%% to you to place the ``part{}'' commands in the appropriate
+%% locations for volume 2, volume 3, etc.
+%%
+%% * \bibfiles{...}
+%% Set the list of bibfiles to use when generating a bibliography
+%%
+%% - \linespacing{...}: (preamble only)
+%% - \spacing{...}: compatibility synonym
+%% Set the interline spacing directly, overriding document
+%% defaults and options; note that in order to get the correct
+%% appearance, the argument to \linespacing must be equal to
+%% 1/3 + 2/3 times the desired line spacing (for example,
+%% single-spaced = \linespacing{1},
+%% 1 1/2-spaced = \linespacing{1.25}, and
+%% double-spaced = \linespacing{1.66}).
+%%
+%% - ignore{...}:
+%% - comment{...}: compatibility synonym
+%% Ignore the part of the file between { and } (can include
+%% paragraph breaks); useful for commenting out large blocks.
+%%
+%% - \clearemptydoublepage, \clearplaindoublepage,
+%% \cleartcplaindoublepage, \cleargtthesisdoublepage
+%% Same as \cleardoublepage except that it sets the pagestyle of
+%% any inserted blank page to ``empty'' ``plain'' ``tcplain'' or
+%% ``gtthesis'' respectively.
+%%
+%% - \begin{preliminary}...\end{preliminary}:
+%% Delimit head matter (title page, abstract, table of contents,
+%% lists of tables and figures, etc.): set the page style and
+%% numbering for the preliminary sections and reset them for the
+%% main document.
+%% + Alternatively, at the appropriate spots call the synonums
+%% \beforepreface and \afterpreface. These ``synonyms'' do
+%% the same setup tasks as \begin{preliminary} and \end{preliminary},
+%% but they don't create an ``environment. The use of these
+%% synonyms is NOT recommended for new documents and are provided
+%% only for backward compatibility.
+%%
+%% - \beforepreface:
+%% Sets pagestyle and generates titlepage (via \maketitle)
+%% and signature page (via \makesignature) if indicated.
+%% DON'T call directly in new documents. Use \begin{preliminary}
+%% instead.
+%%
+%% - \afterpreface:
+%% Sets pagestyle back to normal, restarts page numbering
+%% DON'T call directly in new documents. Use \end{preliminary}
+%% instead.
+%%
+%% - \maketitle:
+%% Generate the title page from the information supplied
+%% in the preamble. Called automatically by \begin{preliminary}
+%% or \beforepreface.
+%%
+%% - \makesignature:
+%% Generate a signature page from information supplied
+%% in the preamble. Called automatically by \begin{preliminary}
+%% or \beforepreface.
+%%
+%% - \begin{dedication}...\end{dedication}:
+%% Generate a dedication section, if needed.
+%%
+%% - \begin{acknowledgements}...\end{acknowledgements}:
+%% Generate an acknowledgements section, if needed.
+%%
+%% - \begin{abstract}...\end{abstract}:
+%% Generate the abstract page.
+%%
+%% - \begin{summary}...\end{summary}:
+%% Generate a summary page (same as abstract, but different
+%% heading)
+%%
+%% - \begin{preface}...\end{preface}:
+%% Generate a preface section, if needed.
+%%
+%% - \prefacesection{other-title}{...text...}
+%% Used to specify frontmatter sections that do not have
+%% custom environments defined for them above.
+%%
+%% - \contents
+%% Prints table of contents, list of figures, and list of
+%% tables as indicated by \contentspagetrue, \figurespagetrue,
+%% and \tablespagetrue
+%%
+%% - Modifying the look of the Table of Contents:
+%%
+%% + \labelchaptersintableofcontents
+%% inserts an entry into the TOC that says ``CHAPTERS'' just
+%% before Chapter 1.
+%%
+%% + \labelappendicesintableofcontents
+%% inserts an entry into the TOC that says ``APPENDICES'' just
+%% before Appendix A.
+%%
+%% + \settocstring
+%% change the name used for the Table of Contents (def: 'Table of Contents')
+%%
+%% + \setlofstring
+%% change the name used for the List of Figures (def: 'List of Figures')
+%%
+%% + \setlotstring
+%% change the name used for the List of Tables (def: 'List of Tables')
+%%
+%% + \setchaptertocdepth
+%% set the default for how ``deep'' to number within chapters
+%% in the table of contents.
+%%
+%% + \setappendixtocdepth
+%% set the default for how ``deep'' to number within appendices
+%% (chapter{}'s after the \appendix command) in the table of
+%% contents
+%%
+%% + \settocdepth
+%% temporarily change how "deep" to number in the table of
+%% contents for current chapter/section. For example, you
+%% usually include \section{}'s in the TOC (\setchaptertocdepth{1})
+%% but in chapter 5 you want to include subsection as well:
+%% \chapter{This is Chapter 5}\settocdepth{2}. In cahapter 6 the
+%% default depth of 1 is reasserted.
+%%
+%% You should never need to call \setcounter{tocdepth}{..} directly.
+%% 0 = chapter only
+%% 1 = chapter + sections
+%% 2 = chapter, section, subsection
+%% 3 = chapter, section, subsection, subsubsection
+%%
+%% OLD recommended structure (GTthesis.sty) for frontmatter:
+%% \begin{document}
+%% \beforepreface
+%% \prefacesection{Dedication}dedication text...
+%% \prefacesection{Preface}preface text...
+%% \prefacesection{Acknowledgements}acknowledgement text...
+%% \contents % print table of contents, figures and tables here.
+%% \prefacesection{Summary}summary text
+%% \afterpreface
+%%
+%% NEW recommended structure for frontmatter:
+%% \begin{document}
+%% \begin{preliminary}
+%% \begin{dedication}...\end{dedication}
+%% \begin{preface}...\end{preface}
+%% \begin{acknowledgements}...\end{acknowledgements}
+%% \contents
+%% \begin{summary}...\end{summary}
+%% \end{preliminary}
+%%
+%% The old method still works, but the new method is preferred
+%% for new documents.
+%%
+%% - \begin{longquote}...\end{longquote}:
+%% Single-spaced version of the ``quote'' environment.
+%%
+%% - \begin{longquotation}...\end{longquotation}:
+%% Single-spaced version of the ``quotation'' environment.
+%%
+%% - \begin{singlespaced}...\end{singlespaced}:
+%% Format single-spaced paragraphs.
+%%
+%% - \begin{oneandahalfspaced}...\end{oneandahalfspaced}:
+%% Format 1 1/2-spaced paragraphs.
+%%
+%% - \begin{doublespaced}...\end{doublespaced}:
+%% Format double-spaced paragraphs.
+%%
+%% - \begin{newspacing}{<n>}...\end{newspacing}:
+%% Format paragraphs with an interline spacing of ``n''.
+%%
+%% (Note that the last four environments can be used to change the
+%% default line spacing of any enclosed text, including figures,
+%% tables, abstract or acknowledgement pages, table of contents,
+%% etc.)
+%%
+%% - \appendix: a global mode switch (just like the report class).
+%% changes the way ``chapter'' headings and TOC entries are
+%% generated.
+%% \chapter{last chapter titled}...
+%% \appendix
+%% \chapter{first appendix title}...
+%%
+%% - \begin{postliminary}...\end{postliminary}:
+%% Delimit end matter (bibliography, vita, etc).
+%% + Alternatively, call the synonyms
+%% \beforepostface and \afterpostface instead. These
+%% synonyms are provided for backward compatibility with
+%% GTthesis.sty; their use is not recommended for new documents.
+%%
+%% - \beforepostface:
+%% Not recommended for new documents. Use \begin{postliminary}
+%% instead
+%%
+%% - \afterpreface:
+%% Not recommended for new documents. Use \end{postliminary}
+%% instead
+%%
+%% - \begin{vita}...\end{vita}:
+%% Generate a vita page
+%%
+%% - \references:
+%% Generate bibliography if indicated by bibliographytrue
+%% NOTE: you must set \bibpagetrue AND \bibfiles{file1,file2,...}
+%% in the preample, AND you must set \bibliographystyle{...} just
+%% after \begin{document}. Otherwise \references won't work.
+%%
+%% - \postfacesection{other-title}{...text...}
+%% Used to specify endsections that do not have
+%% custom environments defined for them above.
+%%
+%% OLD recommended structure (GTthesis.sty) for endmatter:
+%% \beforepostface
+%% \postfacesection{Vita}vita text...
+%% \afterpostface
+%%
+%% NEW recommended structure for frontmatter:
+%% \begin{postliminary}
+%% \references
+%% \begin{vita}...\end{vita}
+%% \end{postliminary}
+%%
+%% The old method still works, but the new method is preferred
+%% for new documents.
+%%
+%% - Modifying the look of the document
+%%
+%% + \setbodypagestyle{x}, where x = plain, empty, headings,
+%% myheadings, gtthesis, or tcplain. plain is the default).
+%% + \setfrontpagestyle{x} - set pagestyle for frontmatter
+%% + \setbackpagestyle{x} - set pagestyle for endmatter
+%%
+%% - The Graduate Studies Office approved pagestyle is
+%% plain for the body, as well frontmatter and endmatter
+%% (However, pages are numbered with roman numberals in
+%% the frontmatter and automatically switch to arabic
+%% numbers in the body and endmatter, as required by GSO.
+%% Don't try to change the pagenumbering style). However:
+%% - gtthesis adds a running header on each page identifying
+%% the Chapter (and Section for twopage layouts). This
+%% is a nice touch IMO for the body and endmatter, but
+%% use it ONLY for personal copies.
+%% - note that you also need to add \pagestyle{gtthesis}
+%% if you use \setbodypagestyle{gtthesis}.
+%%
+%% + Chapter headings and the TOC use ROMAN numerals, but
+%% the running headers at the top of each page use ARABIC
+%% numbers for the Chapter number. Thus, there are two
+%% separate formats that are used.
+%%
+%% - \thegtchapter is used for ROMAN chapter numbers
+%% - \thechapter is used for ARABIC chapter numbers
+%%
+%% If you wish all chapter headings to use ROMAN, then just
+%% redefine \thechapter in your document:
+%% \renewcommand{\thechapter}{\thegtchapter}
+%% Do the reverse for all ARABIC chapter numbers:
+%% \renewcommand{\thegtchapter}{\thechapter}
+%%
+%% This archive provides two different examples of use -- the
+%% companion file ``gatech-thesis.tex'' contains a skeleton
+%% illustrating the use of this class. In addition, the jules-verne*
+%% companion files contain a more lengthy, multi-file example.
+%% Finally, a much abbreviated version of gatech-thesis.txt
+%% appears directly below, in this file.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% Example of use:
+%% \documentclass[11pt,twopage,oneandahalfspaced,normalmargins]{gatech-thesis}
+%%
+%% (Then, use the following commands for various thesis elements, as follows)
+%%
+%% \title{How to Write Theses\\
+%% With Two Line Titles}
+%% \author{John Henry Candidate}
+%% \bibfiles{litserch,oodb}
+%% \principaladviser{John Parker}
+%% \committeechair{Jack Sprat}
+%% \firstreader{John Green}
+%% \secondreader{John BigBooty\\(Another Department)}
+%% \thirdreader{...}
+%% \fourthreader{...}
+%% \department{School of Electrical and Computer Engineering}
+%% \degree{Doctor of Philosophy}
+%% \copyrightyear{2001}
+%% \thesisproposalfalse
+%% \contentspagetrue
+%% \figurespagetrue
+%% \tablespagefalse
+%% \bibpagetrue
+%% \titlepagetrue
+%% \dedicationheadingfalse
+%% \signaturepagetrue
+%% \submitdate{January 2001}
+%%
+%% \begin{document}
+%% \bibliographystyle{gatech-thesis}
+%% \begin{preliminary}
+%% \begin{preface}
+%% This thesis tells you all you need to know about...
+%% \end{preface}
+%% \contents % print table of contents, figures and tables here.
+%% \begin{acknowledgements}
+%% I would like to thank...
+%% \end{acknowledgements}
+%% \end{preliminary}
+%% \chapter{Introduction}
+%% ...
+%% \chapter{Conclusions}
+%% ...
+%% \appendix
+%% \chapter{A Long Proof}
+%% ...
+%% \begin{postliminary}
+%% \references
+%% \postfacesection{Index}{%
+%% ... generate an index here
+%% }
+%% \begin{vita}
+%% ... was born in ...
+%% \end{vita}
+%% \end{postliminary}
+%% \end{document}
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%% IDENTIFICATION %%%%%%%%%%%%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{gatech-thesis}
+ [\gtthesisupdated\space\gtthesisversion\space(Charles Wilson)]%
+\RequirePackage{calc}% part of LaTeX tools bundle
+
+\def\gtthesis@checkVersion#1{\edef\reserved@a{#1}%
+ \ifx \gatechthesis@version \reserved@a
+ \expandafter\@gobble
+ \else
+ \expandafter\@firstofone
+ \fi}
+\xdef\gatechthesis@version{\gtthesisversion}
+
+%%%%%%%%%%%% INITIAL CODE %%%%%%%%%%%%
+
+%% To comment out parts of a file.
+%
+\newcommand{\ignore}[1]{}
+\newcommand{\comment}[1]{}
+
+%% Switch for testing draft mode (toggled by ``draft'' option).
+%
+\newif\if@draft
+\@draftfalse % initially false by default
+
+%% Switch for testing current page style.
+%
+\newif\if@tcpage
+ % no default value (set by \pagestyle)
+ % indicates that page numbers are in the upper corners
+
+%% Switch for testing line spacing of notes.
+%
+\newif\if@singlespacednotes
+\@singlespacednotestrue % initially true by default
+
+%% Switch for testing the hyperref option
+%
+\newif\if@hyperref
+\@hyperreffalse % initially false by default
+
+%% Macro for testing the size of margins.
+%
+\newcommand{\@marginsize}{}
+
+%% Because of the draft option, and to allow users to override
+%% defaults, we don't want to be passing conflicting options back to
+%% the report class, so we define our own temporary toggles holding
+%% the most recent setting for each of four basic options: point size,
+%% number of page sides, whether new chapters open on right-hand pages
+%% or on any page, and line spacing. These toggles will be set from
+%% the corresponding options below.
+%
+\newcommand{\@thesisptsz}{}
+\newcommand{\@thesisside}{}
+\newcommand{\@thesisopen}{}
+\newcommand{\@thesislnsp}{}
+
+
+%%%%%%%%%%%% OPTION DECLARATION %%%%%%%%%%%%
+
+%% ``draft'' option: change default document settings.
+%
+\DeclareOption{draft}{\@drafttrue
+ \typeout{Gatech-Thesis Class Option: ``draft''}
+ \ExecuteOptions{10pt,twoside,openany,doublespaced,normalmargins}
+ \PassOptionsToClass{draft}{report}
+ %% Macros for printing "DRAFT" at the corners of a page.
+ \newcommand{\tlDRAFT}%
+ {\raisebox{ 3ex}[0pt][0pt]{\llap{\sffamily\scriptsize DRAFT\ \ }}}
+ \newcommand{\trDRAFT}%
+ {\raisebox{ 3ex}[0pt][0pt]{\rlap{\sffamily\scriptsize \ \ DRAFT}}}
+ \newcommand{\blDRAFT}%
+ {\raisebox{-3ex}[0pt][0pt]{\llap{\sffamily\scriptsize DRAFT\ \ }}}
+ \newcommand{\brDRAFT}%
+ {\raisebox{-3ex}[0pt][0pt]{\rlap{\sffamily\scriptsize \ \ DRAFT}}}
+}%DeclareOption{draft}
+
+%% ``spacednotes'' option: make notes share the line spacing of the rest
+%% of the document.
+%
+\DeclareOption{spacednotes}{\@singlespacednotesfalse}
+
+%% Margin options: change the size of margins.
+%% choose normalmargins option for Georgia Tech thesis format
+%
+\DeclareOption{narrowmargins}{\renewcommand{\@marginsize}{0}}
+\DeclareOption{normalmargins}{\renewcommand{\@marginsize}{1}}
+\DeclareOption{widemargins}{\renewcommand{\@marginsize}{2}}
+\DeclareOption{extrawidemargins}{\renewcommand{\@marginsize}{3}}
+\DeclareOption{oldmargins}{\renewcommand{\@marginsize}{4}}
+
+%% Point Size options: change current setting.
+%
+\DeclareOption{10pt}{\renewcommand{\@thesisptsz}{10pt}}
+\DeclareOption{11pt}{\renewcommand{\@thesisptsz}{11pt}}
+\DeclareOption{12pt}{\renewcommand{\@thesisptsz}{12pt}}
+
+%% Number of Page Sides options: change current setting.
+%
+\DeclareOption{twoside}{\renewcommand{\@thesisside}{twoside}}
+\DeclareOption{oneside}{\renewcommand{\@thesisside}{oneside}}
+
+%% New Chapter Openings options: change current setting.
+%
+\DeclareOption{openany}{\renewcommand{\@thesisopen}{openany}}
+\DeclareOption{openright}{\renewcommand{\@thesisopen}{openright}}
+
+%% Line Spacing options: change current setting.
+%
+\DeclareOption{singlespaced}{\renewcommand{\@thesislnsp}{1}}
+\DeclareOption{oneandahalfspaced}{\renewcommand{\@thesislnsp}{1.25}}
+\DeclareOption{doublespaced}{\renewcommand{\@thesislnsp}{1.66}}
+
+%% STUPID HACK for hyperref, \@chapter, and \MakeUppercase
+%
+\newcommand{\Makeuppercase}[1]{\MakeUppercase{#1}}
+\DeclareOption{hyperref}{%
+ \@hyperreftrue
+% \renewcommand{\Makeuppercase}[1]{%
+% \ifHy@pdfstring#1\else\MakeUppercase{#1}\fi}
+}
+
+%% All other options are passed to the base class directly.
+%
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
+
+
+%%%%%%%%%%%% OPTION EXECUTION %%%%%%%%%%%%
+
+%% Default settings.
+%
+\ExecuteOptions{11pt,letterpaper,oneside,%
+openright,doublespaced,normalmargins,final}
+%
+%% Process options.
+%
+\ProcessOptions
+
+
+%%%%%%%%%%%% PACKAGE LOADING %%%%%%%%%%%%
+
+%% Load base class using current setting for basic options.
+%
+\LoadClass[\@thesisptsz,\@thesisside,\@thesisopen]{report}
+
+
+%%%%%%%%%%%% MAIN CODE %%%%%%%%%%%%
+
+\if@hyperref
+\else
+ \newcommand{\phantomsection}{}% helps with hyperref. \phantomsection
+% is provided by pdflatex, but not latex.
+ \newcommand{\texorpdfstring}[2]{#1}%
+ \def\pdfbookmark[#1]#2#3{}%
+\fi
+
+%%%%%% Line Spacing
+%
+%% \linespacing is used to define the default line spacing.
+%% for the entire document. If the argument is less than
+%% 1.25 (for 1.5-spaced) a warning message is displayed
+%% when not in draft mode.
+%%
+%% Don't use this command for temporary, localized changes.
+%% Instead, use the ``spacing environments'':
+%% \begin{singlespace} ...\end{singlespaced}
+%% \begin{oneandahalfspaced}...\end{oneandahalfspaced}
+%% \begin{doublespaed} ...\end{doublespaced}
+%% \begin{longquote} ...\end{longquote}
+%% \begin{longquotation} ...\end{longquotation}
+%% \begin{newspacing}{x.xx} ...\end{newspacing}
+%
+\newcommand{\linespacing}[1]{%
+ \gdef\@spacing{#1}
+ \newlinestretch{#1}\if@draft\else\ifdim #1pt < 1.25pt\typeout
+ {Gatech-Thesis Class Warning: line spacing less than 1 1/2}\fi\fi
+}
+%
+%% \spacing is a clone of \linespacing, retained for backwards
+%% compatibility with GTthesis.sty
+%
+\newcommand{\spacing}[1]{%
+ \gdef\@spacing{#1}
+ \newlinestretch{#1}\if@draft\else\ifdim #1pt < 1.25pt\typeout
+ {Gatech-Thesis Class Warning: line spacing less than 1 1/2}\fi\fi
+}
+\def\@spacing{1.66}
+
+%
+%% ``longquote'' and ``longquotation'' produce single-spaced quotes, while
+%% ``newspacing'' encloses paragraphs with a different line spacing,
+%% such as ``singlespaced'', ``oneandahalfspaced'', or ``doublespaced''.
+%
+\newenvironment{longquote}%
+ {\begin{quote}\newlinestretch{1}}{\end{quote}}
+\newenvironment{longquotation}%
+ {\begin{quotation}\newlinestretch{1}}{\end{quotation}}
+\newenvironment{singlespaced}%
+ {\begin{newspacing}{1}}{\end{newspacing}}
+\newenvironment{oneandahalfspaced}%
+ {\begin{newspacing}{1.25}}{\end{newspacing}}
+\newenvironment{doublespaced}%
+ {\begin{newspacing}{1.66}}{\end{newspacing}}
+\newenvironment{newspacing}[1]%
+ {\par\begingroup\newlinestretch{#1}}%
+ {\par\vskip\parskip\vskip\baselineskip\endgroup
+ \vskip-\parskip\vskip-\baselineskip}
+
+%
+%% To change the actual line spacing.
+%
+\newcommand{\newlinestretch}[1]%
+ {\renewcommand{\baselinestretch}{#1}\currenttextsize}
+
+%
+%% To keep track of the current text size.
+%
+\let\currenttextsize=\normalsize
+%
+%% Redefine size-changing commands to update \currenttextsize.
+%
+\let\tmp@tiny=\tiny
+\renewcommand{\tiny}%
+ {\let\currenttextsize=\tmp@tiny\tmp@tiny}
+\let\tmp@scriptsize=\scriptsize
+\renewcommand{\scriptsize}%
+ {\let\currenttextsize=\tmp@scriptsize\tmp@scriptsize}
+\let\tmp@footnotesize=\footnotesize
+\renewcommand{\footnotesize}%
+ {\let\currenttextsize=\tmp@footnotesize\tmp@footnotesize}
+\let\tmp@small=\small
+\renewcommand{\small}%
+ {\let\currenttextsize=\tmp@small\tmp@small}
+\let\tmp@normalsize=\normalsize
+\renewcommand{\normalsize}%
+ {\let\currenttextsize=\tmp@normalsize\tmp@normalsize}
+\let\tmp@large=\large
+\renewcommand{\large}%
+ {\let\currenttextsize=\tmp@large\tmp@large}
+\let\tmp@Large=\Large
+\renewcommand{\Large}%
+ {\let\currenttextsize=\tmp@Large\tmp@Large}
+\let\tmp@LARGE=\LARGE
+\renewcommand{\LARGE}%
+ {\let\currenttextsize=\tmp@LARGE\tmp@LARGE}
+\let\tmp@huge=\huge
+\renewcommand{\huge}%
+ {\let\currenttextsize=\tmp@huge\tmp@huge}
+\let\tmp@Huge=\Huge
+\renewcommand{\Huge}%
+ {\let\currenttextsize=\tmp@Huge\tmp@Huge}
+%
+%% Make notes single-spaced if ``spacednotes'' option was not given.
+%% Note that this does _not_ change the spacing of figures or tables.
+%
+\if@singlespacednotes
+%% Make footnotes single-spaced.
+\let\tmp@@footnotetext=\@footnotetext
+\renewcommand{\@footnotetext}[1]%
+ {{\newlinestretch{1}\tmp@@footnotetext{#1}}}
+%% Make footnotes inside a minipage single-spaced.
+\let\tmp@@mpfootnotetext=\@mpfootnotetext
+\renewcommand{\@mpfootnotetext}[1]%
+ {{\newlinestretch{1}\tmp@@mpfootnotetext{#1}}}
+%% Make marginal notes single-spaced.
+\let\tmp@@marginparreset=\@marginparreset
+\renewcommand{\@marginparreset}%
+ {\newlinestretch{1}\tmp@@marginparreset}
+\fi%@singlespacednotes
+%
+%%%%%% New formatting environments and commands.
+%
+%% \begin{preliminary} sets the pagestyle and pagenumbering
+%% (roman numeral format ) for the preliminary sections;
+%% It also calls \beforepreface to create the title page
+%% and signature page if indicated by \titlepagetrue and/or
+%% \signaturepageture.
+%%
+%% \end{preliminary} resets the pagenumbering. To start page
+%% numbering in arabic format, use \pagestyle{plain} and
+%% \pagenumbering{arabic} after the preliminary environment block
+%
+\newenvironment{preliminary}%
+ {
+ \newlinestretch{1.0}%
+ \pagenumbering{roman}%
+ \pagestyle{\front@pagestyle}%
+ \iftitlepage%
+ \maketitle%
+ \fi%
+ \ifmultivolume%
+ \part{}%
+ \fi%
+ \ifsignaturepage%
+ \makesignature%
+ \fi%
+ \newlinestretch{\@spacing}%
+ }%
+ {%
+ \if@draft%
+ \else%
+ \if@twoside%
+ \if@openright%
+ \cleardoublepage%
+ \fi%
+ \fi%
+ \fi%
+ \newpage%
+ \pagenumbering{arabic}%
+ \pagestyle{\body@pagestyle}%
+ \newlinestretch{\@spacing}%
+ }%
+
+%%%%%% Front Matter Parameters
+%
+%% The following commands set the respective field values so we
+%% can generate the title page, signature page, and abstract
+%% page automatically
+%
+\renewcommand{\author}[1]%
+ {\ifx\empty#1\empty\else\gdef\@author{#1}\fi}
+\renewcommand{\title}[1]%
+ {\ifx\empty#1\empty\else\gdef\@title{#1}\fi}
+
+\newcommand{\degree}[1]%
+ {\ifx\empty#1\empty\else\gdef\@degree{#1}\fi}
+%
+%% Is this a thesis, or a thesis proposal ?
+%
+\newif\ifthesisproposal
+\thesisproposalfalse % default to thesis, not thesis proposal
+%
+%% \department and \dept are synonymous
+%
+\newcommand{\department}[1]%
+ {\ifx\empty#1\empty\else\gdef\@department{#1}\gdef\@dept{#1}\fi}
+\newcommand{\dept}[1]%
+ {\ifx\empty#1\empty\else\gdef\@department{#1}\gdef\@dept{#1}\fi}
+%
+%% date stuff
+%% \gradyear and \copyrightyear are synonymmous
+%
+\newcommand{\gradyear}[1]%
+ {\ifx\empty#1\empty\else\gdef\@gradyear{#1}\gdef\@copyrightyear{#1}\fi}
+\newcommand{\copyrightyear}[1]%
+ {\ifx\empty#1\empty\else\gdef\@gradyear{#1}\gdef\@copyrightyear{#1}\fi}
+\newcommand{\submitdate}[1]%
+ {\ifx\empty#1\empty\else\gdef\@submitdate{#1}\fi}
+%
+%% use \principaladviser{} or \principaladvisor{}. Choice also
+%% sets the default spelling of ``advisor/adviser''.
+%
+\def\advis@r{Advisor} % default spelling
+\newcommand{\principaladvisor}[1]%
+ {\ifx\empty#1\empty\else\gdef\@principaladvisor{#1}\fi}
+\newcommand{\principaladviser}[1]%
+ {\ifx\empty#1\empty\else\gdef\@principaladvisor{#1}\gdef\advis@r{Adviser}\fi}
+%
+%% Committee Chair
+%
+\newcommand{\committeechair}[1]%
+ {\ifx\empty#1\empty\else\gdef\@committeechair{#1}\fi}
+%
+%% readers
+%
+\newcommand{\firstreader}[1]%
+ {\ifx\empty#1\empty\else\gdef\@firstreader{#1}\fi}
+\newcommand{\secondreader}[1]%
+ {\ifx\empty#1\empty\else\gdef\@secondreader{#1}\fi}
+\newcommand{\thirdreader}[1]%
+ {\ifx\empty#1\empty\else\gdef\@thirdreader{#1}\fi}
+\newcommand{\fourthreader}[1]%
+ {\ifx\empty#1\empty\else\gdef\@fourthreader{#1}\fi}
+\newcommand{\fifthreader}[1]%
+ {\ifx\empty#1\empty\else\gdef\@fifthreader{#1}\fi}
+\newcommand{\sixthreader}[1]%
+ {\ifx\empty#1\empty\else\gdef\@sixthreader{#1}\fi}
+
+%
+%% bibliography databases
+%
+\newcommand{\bibfiles}[1]%
+ {\ifx\empty#1\empty\else\gdef\@bibfiles{#1}\fi}
+
+%
+%% default values of private functions
+%
+\def\@title{}
+\def\@author{}
+\def\@bibfiles{}
+\def\@principaladvisor{}
+\def\@committeechair{}
+\def\@firstreader{}
+\def\@secondreader{}
+\def\@thirdreader{}
+\def\@fourthreader{}
+\def\@fifthreader{}
+\def\@sixthreader{}
+\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\@copyrightyear{\number\the\year}
+\def\@bibfiles{}
+
+%% Switch for printing copyright notice on titlepage
+%
+\newif\ifcopyright
+\copyrightfalse % initially false by default
+
+%% Switch for generating a title page
+%
+\newif\iftitlepage
+\titlepagetrue % initially true by default
+
+%% Switch for generating a signature page
+%
+\newif\ifsignaturepage
+\signaturepagetrue % initially true by default
+
+%% Switch for generating a list of figures
+%
+\newif\iffigurespage
+\figurespagetrue % initially true by default
+
+%% Switch for generating a list of tables
+%
+\newif\iftablespage
+\tablespagetrue % initially true by default
+
+%% Switch for generating a table of contents
+%
+\newif\ifcontentspage
+\contentspagetrue % initially true by default
+
+%% Switch for generating a bibliography
+%
+\newif\ifbibpage
+\bibpagetrue % initially true by default
+
+%% Switch to indicate whether chapters are \input{}'ed or
+%% \include{}'ed. Not currently used.
+%
+\newif\ifusinginclude
+\usingincludefalse % initially false by default -- document uses \input{}
+
+%% Switch for relaxing the strict margin requirements
+%% on the title page and signature page. Default is to
+%% rigidly adhere to the standard (but that's ugly)
+%
+\newif\ifstrictmargins
+\strictmarginstrue % initially true by default
+
+%% Switch for printing DEDICATION across the top of the dedication page
+%
+\newif\ifdedicationheading
+\dedicationheadingfalse % initially false by default
+
+%% Switch for indicating that the thesis has multiple volumes
+%
+\newif\ifmultivolume
+\multivolumefalse % initially false by default
+
+%%%%%% Front Matter Commands and Environments
+%%
+%% \beforepreface
+%% --- create title, signature page
+%% --- redefined the \maketitle command here, but
+%% don't call it directly. Use \beforepreface.
+%%
+%% \begin{dedication}...\end{dedication}
+%% \begin{preface}...\end{preface}
+%% \begin{acknowledgements}...\end{acknowlegments}
+%% \prefacesection{other-title}
+%% --- followed by section text
+%% \contents
+%% --- prints table of contents, figures, and tables
+%% \begin{abstract}...\end{abstract} or use
+%% \begin{summary}...\end{summary}
+%% \afterpreface
+
+\newcommand{\title@top}{%
+% make sure that linestretch is already set to 1, and all
+% grouping/sectioning commands have already been begun.
+ \ifstrictmargins
+ \ifnum \@marginsize = 4 % oldmargins
+ \vspace*{50\p@}%
+ \fi
+ \begin{center}%
+ \begin{doublespaced}%
+ {\Large\bfseries\expandafter{\@title}}\\
+ \end{doublespaced}%
+ \end{center}%
+ \else%
+ \begin{center}
+% \vspace*{\stretch{1}}
+ \vspace*{1in}
+ \begin{doublespaced}
+ {\Large\bfseries\expandafter{\@title}}
+ \end{doublespaced}
+ \end{center}%
+ \fi%
+}
+
+\newcommand{\title@text}{
+ \begin{center}
+ \ifthesisproposal
+ A Thesis Proposal\\
+ Presented to\\
+ The Academic Faculty\\
+ \else
+ A Thesis\\
+ Presented to\\
+ The Academic Faculty\\
+ \fi
+ \ \\
+ by\\
+ \ \\
+ {\Large\bfseries{\@author}}\\
+ \vspace*{1.1in}
+ In Partial Fulfillment \\
+ of the Requirements for the Degree \\
+ {\@degree}\\
+ \vfill
+ {\@department}\\
+ Georgia Institute of Technology\\
+ {\@submitdate}%
+ \ifcopyright
+ \\ \vspace*{.3in}% one line + 0.3in
+ Copyright \copyright\ {\@copyrightyear} by {\@author}
+ \fi
+ \end{center}
+}
+
+\newcommand{\make@parttitle}[1]{%if argument is present, it's the part title
+ \begingroup
+ \newlinestretch{1}%
+ \phantomsection%
+ \title@top
+ \ifstrictmargins
+ \vspace*{0.5in}
+ \begin{center}
+ \begin{doublespaced}{\Huge\bfseries%
+ \expandafter{\Makeuppercase{\partname}\space\Makeuppercase{\thepart}}\\
+ \ifx\@empty#1\@empty\else%
+ \expandafter{#1}\\
+ \fi%
+ }\end{doublespaced}
+ \ \\
+ by\\
+ \ \\
+ {\Large\bfseries{\@author}}\\
+ \end{center}%
+ \vfill
+ \else%
+ \vspace*{0.5in}
+ \begin{center}
+ \begin{doublespaced}{\Huge\bfseries%
+ \expandafter{\Makeuppercase{\partname}\space\Makeuppercase{\thepart}}\\
+ \ifx\@empty#1\@empty\else%
+ \expandafter{#1}\\
+ \fi%
+ }\end{doublespaced}
+ \vspace*{1.35in}
+ \ \\
+ by\\
+ \ \\
+ {\Large\bfseries{\@author}}\\
+ \end{center}%
+ \vfill
+ \fi%
+ \endgroup%
+}%makeparttitle
+
+\renewcommand{\maketitle}{%
+ %\interlinepenalty \@M
+ \normalfont
+ \begingroup
+ \newlinestretch{1}%
+ \begin{titlepage}%
+ \phantomsection%
+ \pdfbookmark[0]{Titlepage}{title}%
+ \title@top%
+ \ifstrictmargins%
+ \vfill
+ \title@text% contains a \vfill between \degree and \department
+ \else%
+ \vfill%\vspace*{1.35in}
+ \title@text% contains a \vfill between \degree and \department
+ \vspace*{.2in}%
+ \fi%
+ \setcounter{page}{1}%
+ \end{titlepage}% this has a \newpage
+ \endgroup%
+ \setcounter{page}{2}%
+}%maketitle
+
+
+%
+%% Change \begin{abstract}...\end{abstract} to follow guidelines
+%% and put the abstract on a separate page (checking @openright).
+%
+\renewenvironment{abstract}{%
+ \typeout{***************** Abstract ******************}
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \phantomsection%
+ \addcontentsline{toc}{chapter}%
+ {\texorpdfstring{\Makeuppercase{Abstract}}{Abstract}}
+ \chapter*{\MakeUppercase{Abstract}}
+ \vskip 0.5in
+ \begingroup
+ \hspace*{2.5em}
+ %% Adjust the line spacing: if it was less than 1 1/2,
+ %% increase it to 1 1/2; if it was between 1 1/2 and 2,
+ %% increase it to 2; otherwise, leave it as is.
+ \ifdim \baselinestretch pt < 1.25pt \newlinestretch{1.25}\else
+ \ifdim \baselinestretch pt < 1.66pt \newlinestretch{1.66}\fi\fi
+}{\par\endgroup}%abstract
+%
+%% \begin{summary}...\end{summary} formats a
+%% summary section (identical to an abstract section,
+%% except that the title is ``SUMMARY'')
+%
+\newenvironment{summary}{%
+ \typeout{***************** Summary ******************}
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \phantomsection%
+ \addcontentsline{toc}{chapter}%
+ {\texorpdfstring{\Makeuppercase{Summary}}{Summary}}
+ \chapter*{\MakeUppercase{Summary}}
+ \vskip 0.5in
+ \begingroup
+ \hspace*{2.5em}
+ %% Adjust the line spacing: if it was less than 1 1/2,
+ %% increase it to 1 1/2; if it was between 1 1/2 and 2,
+ %% increase it to 2; otherwise, leave it as is.
+ \ifdim \baselinestretch pt < 1.25pt \newlinestretch{1.25}\else
+ \ifdim \baselinestretch pt < 1.66pt \newlinestretch{1.66}\fi\fi
+}{\par\endgroup}%summary
+%
+%% \begin{dedication}...\end{dedication} formats a
+%% dedication section
+%
+\newcommand{\dedicationtop}{\vspace*{\stretch{1}}}
+\newcommand{\dedicationbottom}{\bigskip\bigskip\vspace*{\stretch{1}}}
+\newenvironment{dedication}{%
+ \typeout{***************** Dedication ******************}
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \phantomsection%
+ \addcontentsline{toc}{chapter}%
+ {\texorpdfstring{\Makeuppercase{Dedication}}{Dedication}}
+ \ifdedicationheading
+ \chapter*{\MakeUppercase{Dedication}}
+ \else
+ \chapter*{}
+ \fi
+ \vskip 0.5in
+ \begingroup
+ \begin{itshape}\dedicationtop
+}{\dedicationbottom\end{itshape}\par\endgroup}%dedication
+%
+%% \begin{acknowledgements}...\end{acknowledgements} formats an
+%% acknowledgements section
+%
+\newenvironment{acknowledgements}{%
+ \typeout{***************** Acknowledgements ******************}
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \phantomsection%
+ \addcontentsline{toc}{chapter}%
+ {\texorpdfstring{\Makeuppercase{Acknowledgements}}{Acknowledgements}}
+ \chapter*{\MakeUppercase{Acknowledgements}}
+ \vskip 0.5in
+ \begingroup
+}{\par\endgroup}%Acknowledgements
+%
+%% \begin{preface}...\end{preface} formats an
+%% preface section
+%
+\newenvironment{preface}{%
+ \typeout{***************** Preface ******************}
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \phantomsection%
+ \addcontentsline{toc}{chapter}%
+ {\texorpdfstring{\Makeuppercase{Preface}}{Preface}}
+ \chapter*{\MakeUppercase{Preface}}
+ \vskip 0.5in
+ \begingroup
+}{\par\endgroup}%preface
+
+%
+%% stuff to generate a signature page
+%
+\newlength{\signature@width}
+\setlength{\signature@width}{3.3in}
+\let\signature@body\signature@bodyonecol
+\newcounter{signatures}
+\newcounter{cnt@Lsig}
+\newcounter{cnt@Rsig}
+\def\R@signatures{}
+\def\L@signatures{}
+
+% Fun stuff from the TeXbook
+\toksdef\ta=0 \toksdef\tb=2 % token list registers for temp use
+\long\def\leftappenditem#1\to#2{\ta={\\{#1}}\tb=\expandafter{#2}%
+ \edef#2{\the\ta\the\tb}}
+\long\def\rightappenditem#1\to#2{\ta={\\{#1}}\tb=\expandafter{#2}%
+ \edef#2{\the\tb\the\ta}}
+\def\concatenate#1=#2&#3{\ta=\expandafter{#2}\tb=\expandafter{#3}%
+ \edef#1{\the\ta\the\tb}}
+\def\lop#1\to#2{\expandafter\lopoff#1\lopoff#1#2}
+\long\def\lopoff\\#1#2\lopoff#3#4{\def#4{#1}\def#3{#2}}
+
+\newcommand{\dosiglist}[2]{%
+ \lop#1\to\@@sig \@@sig
+ \lop#1\to\@@sig \@@sig
+ \lop#1\to\@@sig \@@sig
+ % we know that cnt@Lsig is at least 3, maybe 4. 5 is right out.
+ \ifnum \value{#2} = 4
+ \lop#1\to\@@sig \@@sig
+ \fi
+}
+
+\newcommand{\signature}[1]{%
+ \ifx\empty#1{}\empty%
+ \else%
+ \parbox[t]{\signature@width}{%
+ \rule{\signature@width}{.01in}\\
+ \parbox{\signature@width}{#1 \hfill}\\
+ \vspace{.25in}%
+ }
+ \fi%
+}
+
+\newcommand{\signature@bodyonecol}{%
+ \begin{flushright}
+ \parbox{\signature@width}{\begin{flushleft}Approved by:\\ \end{flushleft}}\\
+ \vspace*{0.3in}
+ \ifx\empty\@committeechair{}\empty%
+ \else%
+ \signature{\@committeechair, Committee Chair}%
+ \fi%
+ \ifx\empty\@principaladvisor{}\empty%
+ \else%
+ \signature{\@principaladvisor, \advis@r}%
+ \fi%
+ \signature\@firstreader
+ \signature\@secondreader
+ \signature\@thirdreader
+ \signature\@fourthreader
+ \signature\@fifthreader
+ \signature\@sixthreader
+ \vspace{.5in}
+ %\makebox[\signature@width]{Date Approved by Chairman \hrulefill}\\
+ \makebox[\signature@width]{Date Approved \leaders\hrule height0.01in\hfill\kern\z@}\\
+ \end{flushright}
+}
+
+\newcommand{\signature@bodytwocol}{%
+ \begin{flushleft}
+ Approved by:\\
+ \end{flushleft}
+ \vspace*{0.3in}
+ \begin{minipage}[t]{.49\textwidth}%
+ \begin{flushleft}%
+ \dosiglist{\L@signatures}{cnt@Lsig}
+ \end{flushleft}
+ \end{minipage}
+ \begin{minipage}[t]{.49\textwidth}%
+ \begin{flushright}%
+ \dosiglist{\R@signatures}{cnt@Rsig}
+ \end{flushright}
+ \end{minipage}
+ \begin{flushright}
+ \vspace{.5in}
+ \makebox[\signature@width]{Date Approved \leaders\hrule height0.01in\hfill\kern\z@}\\
+ \end{flushright}
+}
+
+\def\add@Lsig#1{
+ \ifx#1\@empty\relax\else%
+ \rightappenditem#1\to\L@signatures
+ \addtocounter{cnt@Lsig}{1}%
+ \fi
+}
+\def\add@Rsig#1{%
+ \ifx#1\@empty\relax\else
+ \rightappenditem#1\to\R@signatures
+ \addtocounter{cnt@Rsig}{1}%
+ \fi
+}
+\newcommand{\makesignature}{%
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \phantomsection%
+ \pdfbookmark[0]{Signatures}{signatures}%
+ % do not addtocontents (although it is in bookmarklist)
+ \ifx\@empty\@committeechair\relax\else
+ \addtocounter{signatures}{1}%
+ \add@Lsig{\signature{\@committeechair, Committee Chair}}
+ \fi
+ \ifx\@empty\@principaladvisor\relax\else
+ \addtocounter{signatures}{1}%
+ \add@Lsig{\signature{\@principaladvisor, \advis@r}}
+ \fi
+ \ifx\@empty\@firstreader\relax\else
+ \addtocounter{signatures}{1}%
+ \add@Lsig{\signature\@firstreader}
+ \fi
+% The first three will ALWAYS be in the left column, but now we must compute
+% the total number of sigs before doing anything else.
+ \ifx\@empty\@secondreader\relax\else\addtocounter{signatures}{1}\fi
+ \ifx\@empty\@thirdreader\relax\else\addtocounter{signatures}{1}\fi
+ \ifx\@empty\@fourthreader\relax\else\addtocounter{signatures}{1}\fi
+ \ifx\@empty\@fifthreader\relax\else\addtocounter{signatures}{1}\fi
+ %\typeout{SIGNATURES: \arabic{signatures}}
+ \ifnum \value{signatures} < 5 % fuggeddaboutit. Only one column
+ \let\signature@body\signature@bodyonecol
+ \setlength{\signature@width}{0.52\textwidth}
+ \else
+ \let\signature@body\signature@bodytwocol
+ \setlength{\signature@width}{0.46\textwidth}
+ \newcounter{halfsig}
+ \setcounter{halfsig}{\value{signatures} - (\value{signatures} / 2)}
+ %\typeout{LEFTCNT: \arabic{cnt@Lsig} HALF: \arabic{halfsig}}
+ \ifnum \value{cnt@Lsig} < \value{halfsig}
+ \add@Lsig{\signature\@secondreader}
+ \ifnum \value{cnt@Lsig} < \value{halfsig}
+ \add@Lsig{\signature\@thirdreader} % can't ever have more than this in left column
+ \add@Rsig{\signature\@fourthreader}
+ \add@Rsig{\signature\@fifthreader}
+ \add@Rsig{\signature\@sixthreader}
+ \else
+ \add@Rsig{\signature\@thirdreader}
+ \add@Rsig{\signature\@fourthreader}
+ \add@Rsig{\signature\@fifthreader}
+ \add@Rsig{\signature\@sixthreader}
+ \fi
+ \else
+ \add@Rsig{\signature\@secondreader}
+ \add@Rsig{\signature\@thirdreader}
+ \add@Rsig{\signature\@fourthreader}
+ \add@Rsig{\signature\@fifthreader}
+ \add@Rsig{\signature\@sixthreader}
+ \fi
+ \fi
+ \title@top
+ \vfill
+ \begin{center}
+ \signature@body
+ \ifstrictmargins\relax\else
+ \vspace{.2in}
+ \mbox{}
+ \fi
+ \end{center}
+ \thispagestyle{empty}
+}
+%
+%% beforepreface
+%
+\newcommand{\beforepreface}{%
+ \newlinestretch{1.0}%
+ \pagenumbering{roman}%
+ \pagestyle{\front@pagestyle}%
+ \iftitlepage%
+ \maketitle%
+ \fi%
+ \ifmultivolume%
+ \part{}%
+ \fi%
+ \ifsignaturepage%
+ \makesignature%
+ \fi%
+ \newlinestretch{\@spacing}%
+}
+%
+%% \prefacesection is here for backward compatibility with
+%% the GT-thesis.sty package, and to add preface sections
+%% that are not already defined. For Abstract, Preface,
+%% Dedication, and Acknowlegements sections, use the
+%% appropriate environments: \begin{abstract}...\end{abstract}
+%% etc.
+%
+\newcommand{\prefacesection}[1]{%
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \phantomsection%
+ \addcontentsline{toc}{chapter}%
+ {\texorpdfstring{\Makeuppercase{#1}}{#1}}
+ \newlinestretch{\@spacing}
+ \chapter*{\MakeUppercase{#1}}
+ \vskip 0.5in
+}
+\newcommand{\afterpreface}{%
+ \if@draft%
+ \else%
+ \if@twoside%
+ \if@openright%
+ \cleardoublepage%
+ \fi%
+ \fi%
+ \fi%
+ \newpage%
+ \pagenumbering{arabic}%
+ \pagestyle{\body@pagestyle}%
+ \newlinestretch{\@spacing}%
+}
+
+% dummy commands to prevent recursion errors...
+\newcommand{\gtcontentsname}{}
+\newcommand{\toccontentlinestring}{}
+\newcommand{\tocpdfbookmarkstring}{}
+\newcommand{\gtlistfigurename}{}
+\newcommand{\lofcontentlinestring}{}
+\newcommand{\lofpdfbookmarkstring}{}
+\newcommand{\gtlisttablename}{}
+\newcommand{\lotcontentlinestring}{}
+\newcommand{\lotpdfbookmarkstring}{}
+
+\newcommand{\settocstring}[1]{%
+ \renewcommand{\gtcontentsname}{#1}
+ \renewcommand{\contentsname}{\Makeuppercase{#1}}
+ \renewcommand{\toccontentlinestring}{%
+ \texorpdfstring{\Makeuppercase{#1}}{#1}
+ }
+ \renewcommand{\tocpdfbookmarkstring}{#1}
+}
+\newcommand{\setlofstring}[1]{%
+ \renewcommand{\gtlistfigurename}{#1}
+ \renewcommand{\listfigurename}{\Makeuppercase{#1}}
+ \renewcommand{\lofcontentlinestring}{%
+ \texorpdfstring{\Makeuppercase{#1}}{#1}
+ }
+ \renewcommand{\lofpdfbookmarkstring}{#1}
+}
+\newcommand{\setlotstring}[1]{%
+ \renewcommand{\gtlisttablename}{#1}
+ \renewcommand{\listtablename}{\Makeuppercase{#1}}
+ \renewcommand{\lotcontentlinestring}{%
+ \texorpdfstring{\Makeuppercase{#1}}{#1}
+ }
+ \renewcommand{\lotpdfbookmarkstring}{#1}
+}
+\settocstring{Table of Contents}
+\setlofstring{List of Figures}
+\setlotstring{List of Tables}
+
+%
+%% All this junk is for handling the spacing in the TOC, LOF, and LOT.
+%
+\newlength{\gt@tocentryskip@value}
+\newlength{\gt@beforepartskip@value}
+\newlength{\gt@beforechapskip@value}
+\newlength{\gt@beforesecskip@value}
+\newlength{\gt@beforesubsecskip@value}
+\newlength{\gt@beforesubsubsecskip@value}
+\newlength{\gt@beforeparaskip@value}
+\newlength{\gt@beforesubparaskip@value}
+\newlength{\gt@beforefigskip@value}
+\newlength{\gt@beforetableskip@value}
+
+\def\set@gttocskip#1{%
+ \setlength{\gt@tocentryskip@value}{#1}
+ % set base lengths
+ \setlength{\gt@beforepartskip@value}{2\gt@tocentryskip@value}
+ \setlength{\gt@beforechapskip@value}{1.5\gt@tocentryskip@value}
+ \setlength{\gt@beforesecskip@value}{\gt@tocentryskip@value}
+ \setlength{\gt@beforesubsecskip@value}{\gt@tocentryskip@value}
+ \setlength{\gt@beforesubsubsecskip@value}{\gt@tocentryskip@value}
+ \setlength{\gt@beforeparaskip@value}{\gt@tocentryskip@value}
+ \setlength{\gt@beforesubparaskip@value}{\gt@tocentryskip@value}
+ \setlength{\gt@beforefigskip@value}{\gt@tocentryskip@value}
+ \setlength{\gt@beforetableskip@value}{\gt@tocentryskip@value}
+ % add glue
+ \addtolength{\gt@beforepartskip@value}{\z@ \@plus\p@}
+ \addtolength{\gt@beforechapskip@value}{\z@ \@plus\p@}
+ \addtolength{\gt@beforesecskip@value}{\z@ \@plus.2\p@}
+ \addtolength{\gt@beforesubsecskip@value}{\z@ \@plus.2\p@}
+ \addtolength{\gt@beforesubsubsecskip@value}{\z@ \@plus.2\p@}
+ \addtolength{\gt@beforeparaskip@value}{\z@ \@plus.2\p@}
+ \addtolength{\gt@beforesubparaskip@value}{\z@ \@plus.2\p@}
+ \addtolength{\gt@beforefigskip@value}{\z@ \@plus.2\p@}
+ \addtolength{\gt@beforetableskip@value}{\z@ \@plus.2\p@}
+}
+\set@gttocskip{10pt}
+
+% gobble the pagenumber
+\newcommand*{\l@part@pagenumfont}[1]{}
+% note: we don't do the fancy volume title centering here, because
+% we use {part} for the \labelchaptersintableofcontents stuff. And
+% that is NOT centered.
+\renewcommand*{\l@part}[2]{%
+ \ifnum \c@tocdepth >-2\relax
+ \addpenalty{-\@highpenalty}%
+ \addvspace{\gt@beforepartskip@value}%
+ \setlength\@tempdima{3em}%
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \interlinepenalty\@M
+ {\leavevmode
+ \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss \l@part@pagenumfont{#2}}}\par
+ \nobreak
+ \global\@nobreaktrue
+ \everypar{\global\@nobreakfalse\everypar{}}%
+ \endgroup
+ \fi}
+\newcommand*{\gt@dottedtocline}[5]{%
+ \ifnum #1>\c@tocdepth \else
+ \addvspace{\gt@@toclineskip}
+ {\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}
+\renewcommand*\l@chapter[2]{%
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}%
+ \addvspace{\gt@beforechapskip@value}%
+ \setlength\@tempdima{2em}% was 1.5em, but that's too small. Add 0.5em to all others
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode \bfseries
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ #1\nobreak\normalfont\normalcolor
+ \leaders\hbox{$\m@th
+ \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+ mu$}\hfill
+ \nobreak
+ \hb@xt@\@pnumwidth{\hss\bfseries #2}
+ \par
+ \penalty\@highpenalty
+ \endgroup
+ \fi}
+\renewcommand*\l@section{%
+ \let\gt@@toclineskip=\gt@beforesecskip@value
+ \gt@dottedtocline{1}{2.0em}{2.3em}}
+\renewcommand*\l@subsection{%
+ \let\gt@@toclineskip=\gt@beforesubsecskip@value
+ \gt@dottedtocline{2}{4.3em}{3.2em}}
+\renewcommand*\l@subsubsection{%
+ \let\gt@@toclineskip=\gt@beforesubsubsecskip@value
+ \gt@dottedtocline{3}{7.5em}{4.1em}}
+\renewcommand*\l@paragraph{%
+ \let\gt@@toclineskip=\gt@beforeparaskip@value
+ \gt@dottedtocline{4}{10.5em}{5em}}
+\renewcommand*\l@subparagraph{%
+ \let\gt@@toclineskip=\gt@beforesubparaskip@value
+ \gt@dottedtocline{5}{12.5em}{6em}}
+\renewcommand*\l@figure{%
+ \let\gt@@toclineskip=\gt@beforefigskip@value
+ \gt@dottedtocline{1}{1.5em}{2.3em}}% this is indented 1.5em so that
+ % if you wish, you can a 'Figure' header
+ % centered above the numbers using \addtocontents
+\renewcommand*\l@table{%
+ \let\gt@@toclineskip=\gt@beforetableskip@value
+ \gt@dottedtocline{1}{1.5em}{2.3em}}% ditto
+
+\newlength{\gt@tmpa}
+\newcommand{\do@figurespage}{%
+ \iffigurespage
+ \if@openright\cleardoublepage\else\clearpage\fi
+ % must clear page here, so that phantomsection\addcontentsline is on the correct page
+ \phantomsection%
+ \addcontentsline{toc}{chapter}{\lofcontentlinestring}
+ \settoheight{\gt@tmpa}{A}
+ \set@gttocskip{\gt@tmpa}
+ {\newlinestretch{1}
+ \listoffigures
+ }
+ \newpage
+ \fi
+}
+\newcommand{\do@tablespage}{%
+ \iftablespage
+ \if@openright\cleardoublepage\else\clearpage\fi
+ % must clear page here, so that phantomsection\addcontentsline is on the correct page
+ \phantomsection%
+ \addcontentsline{toc}{chapter}{\lotcontentlinestring}
+ \settoheight{\gt@tmpa}{A}
+ \set@gttocskip{\gt@tmpa}
+ {\newlinestretch{1}
+ \listoftables
+ }
+ \newpage
+ \fi
+}
+\newcommand{\do@contentspage}{%
+ \ifcontentspage
+ \if@openright\cleardoublepage\else\clearpage\fi
+ % must clear page here, so that phantomsection\addcontentsline is on the correct page
+ \phantomsection%
+ \pdfbookmark[0]{\tocpdfbookmarkstring}{toc}%
+ \settoheight{\gt@tmpa}{A}
+ \set@gttocskip{\gt@tmpa}
+ {\newlinestretch{1}
+ \tableofcontents
+ }
+ \newpage
+ \fi
+}
+\newcommand{\do@losapage}{}
+\newcommand{\do@glossarypage}{}
+\newcommand{\do@indexpage}{}
+
+\newcommand{\contents}{%
+ \newpage
+ \newlinestretch{\@spacing}
+ \do@contentspage
+ \do@tablespage
+ \do@figurespage
+ \do@losapage
+ \do@glossarypage
+}
+
+%%%%%% Main Matter Commands and Environments
+%%
+%% redefine chapter headings style
+%% redefine appendix headings style
+%% redefine section headings style
+%% number figures and tables sequentially throughout, rather
+%% than restarting for each chapter. Ditto equations.
+%% redefine macro for floats (incl. figures and tables)
+%% so that single spacing is used
+%% define a "gtindent" command for paragraph indents:
+%% blank line + six space first line indentation
+%% settocdepth - use this to change how "deep" to number
+%% in the table of contents for different sections; e.g.
+%% subsubsections for chapters, then switch to chapter-only
+%% for appendices.
+
+% This package uses David Carlisle's \@removefromreset command as
+% specified in the remreset package available from CTAN as
+% macros/latex/contrib/supported/carlisle/remreset.sty
+% It is \provided here as a convenience to the user, and with
+% David Carlisle's permission. remreset.sty is licensed under
+% the LPPL; David has explicitly given permission to include
+% it here, under the GPL.
+% START OF DAVID CARLISLE'S CODE
+\newcommand{\@removefromreset}[2]{{%
+ \expandafter\let\csname c@#1\endcsname\@removefromreset
+ \def\@elt##1{%
+ \expandafter\ifx\csname c@##1\endcsname\@removefromreset
+ \else
+ \noexpand\@elt{##1}%
+ \fi}%
+ \expandafter\xdef\csname cl@#2\endcsname{%
+ \csname cl@#2\endcsname}}}
+% END OF DAVID CARLISLE'S CODE
+%%%%% See http://www.tex.ac.uk/cgi-bin/texfaq2html?label=running-nos
+
+%
+%% Figures and tables are to be numbered sequentially throughout the
+%% thesis, rather than within chapters; for style consistency, do
+%% equations the same.
+%
+\@removefromreset{figure}{chapter}
+\@removefromreset{table}{chapter}
+\@removefromreset{equation}{chapter}
+\def\thefigure{\@arabic\c@figure}
+\def\thetable{\@arabic\c@table}
+\def\theequation{\arabic{equation}}
+
+%
+%% Redefine the macro used for floats (including figures and tables)
+%% so that single spacing is used.
+%% (Note \def\figure{\@float{figure}set single spacing} doesn't work
+%% because figure has an optional argument)
+%%
+%% This code was copied directly from latex.ltx, but with the
+%% \newlinespacing{} macro added to it.
+%
+\def\@xfloat #1[#2]{%
+ \@nodocument
+ \def \@captype {#1}%
+ \def \@fps {#2}%
+ \@onelevel@sanitize \@fps
+ \def \reserved@b {!}%
+ \ifx \reserved@b \@fps
+ \@fpsadddefault
+ \else
+ \ifx \@fps \@empty
+ \@fpsadddefault
+ \fi
+ \fi
+ \ifhmode
+ \@bsphack
+ \@floatpenalty -\@Mii
+ \else
+ \@floatpenalty-\@Miii
+ \fi
+ \ifinner
+ \@parmoderr\@floatpenalty\z@
+ \else
+ \@next\@currbox\@freelist
+ {%
+ \@tempcnta \sixt@@n
+ \expandafter \@tfor \expandafter \reserved@a
+ \expandafter :\expandafter =\@fps
+ \do
+ {%
+ \if \reserved@a h%
+ \ifodd \@tempcnta
+ \else
+ \advance \@tempcnta \@ne
+ \fi
+ \fi
+ \if \reserved@a t%
+ \@setfpsbit \tw@
+ \fi
+ \if \reserved@a b%
+ \@setfpsbit 4%
+ \fi
+ \if \reserved@a p%
+ \@setfpsbit 8%
+ \fi
+ \if \reserved@a !%
+ \ifnum \@tempcnta>15
+ \advance\@tempcnta -\sixt@@n\relax
+ \fi
+ \fi
+ }%
+ \@tempcntb \csname ftype@\@captype \endcsname
+ \multiply \@tempcntb \@xxxii
+ \advance \@tempcnta \@tempcntb
+ \global \count\@currbox \@tempcnta
+ }%
+ \@fltovf
+ \fi
+ \global \setbox\@currbox
+ \color@vbox
+ \normalcolor
+ \vbox \bgroup
+ \newlinestretch{1.0}
+ \hsize\columnwidth
+ \@parboxrestore
+ \@floatboxreset
+}
+
+% Redefine the macro used for caption labels, for a (slightly)
+% fancier format. Feel free to use the caption2 package instead...
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \sbox\@tempboxa{\textbf{#1: }#2}%
+ \ifdim \wd\@tempboxa >\hsize
+ \textsf{\textbf{#1: }}#2\par
+ \else
+ \global \@minipagefalse
+ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}
+
+% Redefine the macro used for footnotes to use single spacing
+\long\def\@footnotetext#1{%
+ \insert\footins{%
+ \newlinestretch{1.0}%
+ \footnotesize%
+ \interlinepenalty\interfootnotelinepenalty%
+ \splittopskip\footnotesep%
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM%
+ \hsize\columnwidth \@parboxrestore%
+ \edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark%
+ }%
+ \@makefntext%
+ {\rule{\z@}{\footnotesep}\ignorespaces%
+ #1\strut}%
+ }%
+}
+
+%
+%% Paragraph indents (6 spaces)
+%% inserts a blank line and then indents the paragraph by 6 spaces
+%
+\newcommand{\gtindent}{\par \hspace{0.25in}}
+
+%
+%% Chapter headings - centered, all caps, chapter number - roman numeral
+%
+%
+%% Use \labelchaptersintableofcontents to insert an entry into the toc
+%% that says ``CHAPTERS'' just before Chapter 1.
+% Use \labelappendicesintableofcontents to insert an entry into the toc
+%% that says ``APPENDICES'' just before Appendix A.
+%
+\let\orig@contentsline=\contentsline
+\newcommand{\labelchaptersintableofcontents}[1][CHAPTERS]{%
+ \addtocontents{toc}{\protect\orig@contentsline{part}{#1}{}}
+}
+\newcommand{\labelappendicesintableofcontents}[1][APPENDICES]{%
+ \addtocontents{toc}{\protect\orig@contentsline{part}{#1}{}}%
+}
+
+\renewcommand{\chaptername}{CHAPTER}
+\renewcommand{\appendixname}{APPENDIX}
+\renewcommand{\thepart}{\@Roman\c@part}
+\renewcommand{\partname}{Volume}
+
+%
+%% \thegtchapter is used so that we can have ROMAN numbers in the
+%% chapter headings at the beginning of each chapter, but use
+%% \thechapter for ARABIC numbers in the running heads on each
+%% page within the chapter.
+%%
+%% You can Change this behavior by redefining \thegtchapter
+%% within your document:
+%% \renewcommand{\thegtchapter}{\thechapter}
+%
+\newcommand{\thegtchapter}{\@Roman\c@chapter}
+\def\chapapp@tocdepth{\expandafter\chapter@tocdepth}
+%
+%% The following two def's provide the Indirection needed to work
+%% with hyperref package, since hyperref redefines @chapter and
+%% @schapter
+%
+\def\chapapp@chapter{\chap@chapter}
+\def\chapapp@schapter{\chap@schapter}
+%
+%% Make @chapter and @schapter wrappers for (chap@chapter or app@chapter)
+%% and (chap@schapter or app@schapter). This indirection is necessary to
+%% work well with the hyperref package.
+%
+\def\my@empty{}
+\def\@chapter[#1]#2{%
+ \def\my@temp{#1}%
+ \ifx\my@temp\my@empty
+ \chapapp@chapter{#2}
+ \else
+ \chapapp@chapter[#1]{#2}
+ \fi
+}
+\def\@schapter#1{%
+ \chapapp@schapter{#1}
+}
+%
+%% The actual guts of the chapter heading routines
+%
+\renewcommand{\chapter}{%
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \if@tcpage% DO NOT use the \front@pagestyle macro here.
+ {\thispagestyle{tcplain}}
+ \else
+ {\thispagestyle{plain}}%report.cls temporarily resets pagestyle to plain. Do the same.
+ \fi
+ \settocdepth{\chapapp@tocdepth}
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter
+}
+\def\chap@chapter[#1]#2{%
+ \ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thegtchapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\texorpdfstring%
+ {\protect\numberline{\thegtchapter}\Makeuppercase{#1}}%
+ {Chapter \thechapter\space\textemdash\space#1}}%
+ \else
+ \addcontentsline{toc}{chapter}%
+ {\texorpdfstring{\Makeuppercase{#1}}{#1}}%
+ \fi
+ \chaptermark{#1}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{#2}]%
+ \else
+ \@makechapterhead{#2}%
+ \@afterheading
+ \fi
+}
+\def\@makechapterhead#1{%
+ \ifnum \@marginsize = 4 % oldmargins
+ \vspace*{50\p@}%
+ \fi
+ { \parindent \z@ \raggedright \normalfont
+ \ifnum \c@secnumdepth >\m@ne
+ \centering \Large \bfseries \@chapapp\space \thegtchapter
+ \par\nobreak
+ \vskip 30\p@
+ \fi
+ \interlinepenalty\@M
+ \centering \Large \bfseries \MakeUppercase{#1}\par\nobreak
+ \vskip 30\p@
+ }
+}
+\def\chap@schapter#1{%
+ \if@twocolumn
+ \@topnewpage[\@makeschapterhead{#1}]%
+ \else
+ \@makeschapterhead{#1}%
+ \@afterheading
+ \fi
+}
+\def\@makeschapterhead#1{%
+ \ifnum \@marginsize = 4 % oldmargins
+ \vspace*{50\p@}%
+ \fi
+ { \parindent \z@ \raggedright \normalfont
+ \interlinepenalty\@M
+ \centering \Large \bfseries #1\par\nobreak
+ \vskip 30\p@
+ }
+}
+%
+%% Support for multi-volume thesis.
+%%
+%% in the premable, set \multivolumetrue and then
+%% use the \part{} commannd where you want volume 2
+%% to begin, etc. Do not give names to your volumes (that is,
+%% use ``\part{}'' and not ``\part{Some title}''), because
+%% the Graduate Office Guidelines do not allow separate
+%% titles for each volume.
+%
+% we temporarily set the pagenumber to a big negative number, for
+% two reasons: 1) so that it doesn't duplicate the other page numbers,
+% because the volume title pages are unnumbered and uncounted. We
+% can't merely allow the autoincrement of pagenum and then addtocounter{page}{-1},
+% because then both pages would have the same number. 2) it's a BIG negative
+% number because we allow it to increment as each \part is declared, so that
+% the volume title pages don't duplicate each others pagenums.
+\newcounter{part@savepagenum}
+\newcounter{part@pagenum}
+\setcounter{part@pagenum}{-101} % can't have more than 50 parts,
+% but this number must be odd, or twopage dvi's are messed up.
+\renewcommand{\part}{%
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{empty}%
+ \phantomsection%
+ \setcounter{part@savepagenum}{\value{page}}
+ \setcounter{page}{\value{part@pagenum}}
+ \if@twocolumn
+ \onecolumn
+ \@tempswatrue
+ \else
+ \@tempswafalse
+ \fi
+ \secdef\@part\@spart}
+
+\def\@part[#1]#2{%
+ \ifnum \c@secnumdepth >-2\relax
+ \refstepcounter{part}
+ \typeout{\partname\space\thepart.}%
+ \addcontentsline{toc}{part}%
+ {\texorpdfstring%
+ {\noindent\protect\makebox[\@tocrmarg]{}%
+ {\protect\makebox[\textwidth - \@tocrmarg - \@tocrmarg]% dadgum \hfill doesn't work without mbox...
+ {\hfill\Makeuppercase{\partname}\space\protect{\thepart}\hspace{1em}\Makeuppercase{#1}\hfill}}}%
+ {Volume \thepart}}%
+ \else
+ \addcontentsline{toc}{part}%
+ {\texorpdfstring%
+ {\Makeuppercase{#1}}%
+ {#1}}%
+ \fi
+ \markboth{}{}
+ {\interlinepenalty \@M
+ \normalfont
+ \ifnum \c@secnumdepth >-2\relax
+ \make@parttitle{#1}
+ \else
+ \make@parttitle{}
+ \fi}
+ \@endpart}
+\def\@spart#1{%
+ {\interlinepenalty \@M
+ \normalfont
+ \make@parttitle{}}
+ \@endpart}
+\def\@endpart{%
+ \vfill\newpage\addtocounter{part@pagenum}{1}%don't count this page
+ \if@twoside
+ \if@openright
+ \null
+ \thispagestyle{empty}%
+ \newpage\addtocounter{part@pagenum}{1}%if we need to add another page, don't count it either
+ \fi
+ \fi
+ \if@tempswa
+ \twocolumn
+ \fi
+ \setcounter{page}{\value{part@savepagenum}}
+}
+%
+%% Section
+%% Heading 1: Large, bold, and italic, at left margin
+%% Heading 2: Bold, at left margin
+%% Heading 3: Italic, indented 0.25in from left margin
+%
+\renewcommand{\section}{%
+ \@startsection{section}{1}{\z@}%
+ {-3.25ex \@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus.2ex}%
+ {\newlinestretch{1}\normalfont\Large\bfseries\itshape}
+}
+\renewcommand{\subsection}{%
+ \@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\newlinestretch{1}\normalfont\normalsize\bfseries}
+}
+\renewcommand{\subsubsection}{%
+ \@startsection{subsubsection}{3}{0.25in}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\newlinestretch{1}\normalfont\normalsize\itshape}
+}
+
+\renewcommand{\appendix}{%
+ \if@openright
+ \cleardoublepage
+ \else
+ \clearpage
+ \fi
+ \renewcommand{\@chapapp}{\appendixname}
+ \thispagestyle{plain}% Do NOT use the \back@pagestyle macro here
+ \settocdepth{\appendix@tocdepth}
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \def\thechapter{\@Alph\c@chapter}
+ \def\chapapp@tocdepth{\expandafter\appendix@tocdepth}
+ \def\chapapp@chapter{\app@chapter}
+ \def\chapapp@schapter{\app@schapter}
+ \renewcommand{\thesection}{\thechapter.\@arabic\c@section}
+}
+\def\app@chapter[#1]#2{%
+ \ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\texorpdfstring%
+ {\@chapapp\space\protect\numberline{\thechapter}\space---\space\Makeuppercase{#1}}%
+ {Appendix\space\thechapter\space\textemdash\space#1}}%must specify "---" explicitly here
+ \else
+ \addcontentsline{toc}{chapter}{\Makeuppercase{#1}}%
+ \fi
+ \chaptermark{#1}%
+ \if@twocolumn
+ \@topnewpage[\@makeapphead{#2}]%
+ \else
+ \@makeapphead{#2}%
+ \@afterheading
+ \fi
+}
+\def\@makeapphead#1{%
+ \ifnum \@marginsize = 4 % oldmargins
+ \vspace*{50\p@}%
+ \fi
+ { \parindent \z@ \raggedright \normalfont
+ \centering \Large \bfseries \appendixname\space \thechapter
+ \par\nobreak
+ \vskip 30\p@
+ \interlinepenalty\@M
+ \centering \Large \bfseries \MakeUppercase{#1}\par\nobreak
+ \vskip 35\p@
+ }
+}
+\def\app@schapter#1{%
+ \if@twocolumn
+ \@topnewpage[\@makesapphead{#1}]%
+ \else
+ \@makesapphead{#1}%
+ \@afterheading
+ \fi
+}
+\def\@makesapphead#1{%
+ \ifnum \@marginsize = 4 % oldmargins
+ \vspace*{50\p@}%
+ \fi
+ { \parindent \z@ \raggedright \normalfont
+ \interlinepenalty\@M
+ \centering \Large \bfseries #1\par\nobreak
+ \vskip 30\p@
+ }
+}
+%% end of \appendix environment definitions
+
+%% \settocdepth - use this to change how "deep" to number
+%% in the table of contents for different sections; e.g.
+%% subsubsections for chapters, then switch to chapter-only
+%% for appendices.
+%% tocdepth is reset to the value in \setchaptertocdepth
+%% at each \chapter{}, or to the value in \setappendixtocdepth
+%% at each \chapter{} after the \appendix command. So, if
+%% you want to change the defaults, use \setchaptertocdepth and
+%% \setappendixtocdepth. To temporarily change depth for the
+%% current section, use a different function: \settocdepth[x].
+%% You should never need to call \setcounter{tocdepth}{..}
+%% directly.
+%%
+%% 0 = chapter only
+%% 1 = chapter + sections
+%% 2 = chapter, section, subsection
+%% 3 = chapter, section, subsection, subsubsection
+%
+\newcommand{\settocdepth}[1]{%
+ \addtocontents{toc}{\protect\setcounter{tocdepth}{#1}}
+}
+\newcommand{\setappendixtocdepth}[1]{%
+ \def\appendix@tocdepth{#1}
+}
+\newcommand{\setchaptertocdepth}[1]{%
+ \def\chapter@tocdepth{#1}
+}
+
+%%%%%% Back Matter Commands and Environments
+%%
+%% \beforepostface
+%% \thebibliography redefined so it matches GT's requirements
+%% \begin{vita}...\end{vita}
+%% \postfacesection{other-title}
+%% --- followed by section text
+%% \afterpostface
+%% \references
+%% --- creates the bibliography
+%% \begin{postliminary}...\end{postliminary}
+%% --- preferred to \beforepostface and \afterpostface
+
+%
+%%%%%% New formatting environments and commands.
+%
+%% \begin{postliminary} sets the pagestyle for the
+%% postliminary sections.
+%%
+%% \end{postliminary} resets the pagestyle and
+%% performs any other cleanup.
+%
+\newenvironment{postliminary}%
+ {\pagestyle{\back@pagestyle}}%
+ {\settocdepth{\chapter@tocdepth}%
+ \pagestyle{\body@pagestyle}}
+
+%
+%% \begin{vita}...\end{vita} formats a
+%% vita section
+%
+\newenvironment{vita}{%
+ \typeout{***************** Vita ******************}
+ \newlinestretch{\@spacing}
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \phantomsection%
+ \addcontentsline{toc}{chapter}%
+ {\texorpdfstring{\Makeuppercase{Vita}}{Vita}}
+ \chapter*{\MakeUppercase{Vita}}
+ \@mkboth{\scshape\MakeUppercase{Vita}}%
+ {\scshape\MakeUppercase{Vita}}%
+ \vskip 0.5in
+ \begingroup
+}{\par\endgroup}%Vita
+
+\newcommand{\beforepostface}{%
+ \pagestyle{\back@pagestyle}
+}%
+
+%
+%% \postfacesection is here for backward compatibility with
+%% the GT-thesis.sty package, and to add postface sections
+%% that are not already defined. (Appendices are not postface
+%% material). Currently, the only predefined postface section
+%% is Vita. Use \begin{vita}...\end{vita}. (``Index'' is a
+%% postface section, but: it is defined in the add-on style
+%% gatech-thesis-index.sty, and it doesn't use \postfacesection.)
+%
+\newcommand{\postfacesection}[1]{%
+ \newlinestretch{\@spacing}
+ \if@openright\cleardoublepage\else\clearpage\fi
+ % must clear page here, so that phantomsection\addcontentsline is on the correct page
+ \phantomsection%
+ \addcontentsline{toc}{chapter}%
+ {\texorpdfstring{\Makeuppercase{#1}}{#1}}
+ \chapter*{\MakeUppercase{#1}}
+ \@mkboth{\scshape\MakeUppercase{#1}}%
+ {\scshape\MakeUppercase{#1}}%
+ \pagestyle{\back@pagestyle}
+ \vskip 0.5in
+}
+\newcommand{\afterpostface}{
+ \settocdepth{\chapter@tocdepth}%
+ \pagestyle{\body@pagestyle}
+}
+\newcommand{\refname}{References}
+\newcommand{\references}{%
+ \ifbibpage
+ \typeout{***************** References ******************}
+ \newlinestretch{1.0}
+ \if@openright\cleardoublepage\else\clearpage\fi
+ % must clear page here, so that phantomsection\addcontentsline is on the correct page
+ \phantomsection%
+ \addcontentsline{toc}{chapter}%
+ {\texorpdfstring{\Makeuppercase{\refname}}{\refname}}
+% \bibliographystyle{gatech-thesis}
+ \bibliography{\@bibfiles}
+ \fi
+}
+
+%%%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%
+%%
+%% redefine ``thebibliography'' environment so that title conforms to Georgia
+%% Tech format (all caps, center of page)
+%%
+\renewenvironment{thebibliography}[1]{
+ { \chapter*{\MakeUppercase{\refname}}
+ \@mkboth{\scshape\MakeUppercase\refname}%
+ {\scshape\MakeUppercase\refname}%
+ \pagestyle{\body@pagestyle}% REFERENCES uses BODY pagestyle, not endmatter.
+ \vskip 0.5in
+ }
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ { \settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}
+ }%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty \clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty ``thebibliography'' environment}
+ \pagestyle{\back@pagestyle}
+ }%
+ \endlist
+}
+
+%
+%% Variations of \cleardoublepage that explicitly set the pagestyle
+%% of any inserted blank page.
+%
+\newcommand{\clearemptydoublepage}%
+ {{\pagestyle{empty}\cleardoublepage}}
+\newcommand{\clearplaindoublepage}%
+ {{\pagestyle{plain}\cleardoublepage}}
+\newcommand{\cleartcplaindoublepage}%
+ {{\pagestyle{tcplain}\cleardoublepage}}
+\newcommand{\cleargtthesisdoublepage}%
+ {{\pagestyle{gtthesis}\cleardoublepage}}
+
+\newcommand{\setfrontpagestyle}[1]{%
+ \gdef\front@pagestyle{#1}
+}
+\newcommand{\setbodypagestyle}[1]{%
+ \gdef\body@pagestyle{#1}
+}
+\newcommand{\setbackpagestyle}[1]{%
+ \gdef\back@pagestyle{#1}
+}
+
+%%%%%% Page Styles
+%
+%% Redefine all four standard page styles (empty, plain, headings,
+%% myheadings), based on the definitions in ``report'', so that they
+%% conform to the GSO guidelines (and include draft information if
+%% applicable).
+%%
+%% Also, define a new pagestyle ``tcplain'' which is just like ``plain'',
+%% but puts page numbers in header (left/right 2page, or right 1page)
+%% instead of at the bottom of the page.
+%%
+%% Then, define a new pagestyle ``gtthesis''. I like this one better
+%% but the Graduate Studies Office doesn't. :-(
+%
+\renewcommand{\ps@empty}{
+ \@tcpagefalse
+ \let\@mkboth\@gobbletwo
+ \def\@oddfoot{
+ \if@draft
+ \blDRAFT\hfil
+ {\slshape\small\today}\hfil\brDRAFT
+ \fi
+ }%
+ \let\@evenfoot\@oddfoot
+ \def\@oddhead{
+ \if@draft
+ \tlDRAFT\hfil
+ {\slshape\small\today}\hfil\trDRAFT
+ \fi
+ }%
+ \let\@evenhead\@oddhead
+}%ps@empty
+
+%
+%% Pagestyle ``plain''.
+%
+\renewcommand{\ps@plain}{%
+ \@tcpagefalse%
+ \let\@mkboth\@gobbletwo%
+ \def\@oddfoot{%
+ \if@draft\blDRAFT\fi%
+ \hfil\thepage\hfil%
+ \if@draft\brDRAFT\fi%
+ }%
+ \let\@evenfoot\@oddfoot%
+ \def\@oddhead{%
+ \if@draft%
+ \tlDRAFT\hfil%
+ {\slshape\small\today}\hfil\trDRAFT%
+ \fi%
+ }%
+ \let\@evenhead\@oddhead%
+}%ps@plain
+
+%
+%% Pagestyle ``headings''.
+%
+\if@twoside % if two-sided printing
+ \renewcommand{\ps@headings}{%
+ \@tcpagefalse%
+ \let\@mkboth\markboth%
+ \def\@oddfoot{%
+ \if@draft%
+ \blDRAFT\hfil%
+ {\slshape\small\today}\hfil\brDRAFT%
+ \fi%
+ }%
+ \let\@evenfoot\@oddfoot%
+ \def\@oddhead{%
+ \if@draft\tlDRAFT\fi%
+ {\slshape\rightmark}\hfil%
+ \thepage%
+ \if@draft\trDRAFT\fi%
+ }%
+ \def\@evenhead{%
+ \if@draft\tlDRAFT\fi%
+ \thepage\hfil%
+ {\slshape\leftmark}%
+ \if@draft\trDRAFT\fi%
+ }%
+ \def\chaptermark##1{%
+ \markboth
+ {\MakeUppercase{%
+ \ifnum\c@secnumdepth >\m@ne%
+ \@chapapp\ \thechapter. \ %
+ \fi ##1}%
+ }{}%
+ }%
+ \def\sectionmark##1{%
+ \markright%
+ {\MakeUppercase{%
+ \ifnum\c@secnumdepth >\z@%
+ \thesection. \ %
+ \fi ##1}%
+ }%
+ }%
+ }%ps@headings
+\else % if one-sided printing
+ \renewcommand{\ps@headings}{%
+ \@tcpagefalse%
+ \let\@mkboth\markboth%
+ \def\@oddfoot{%
+ \if@draft%
+ \blDRAFT\hfil%
+ {\slshape\small\today}\hfil\brDRAFT%
+ \fi%
+ }%
+ \def\@oddhead{%
+ \if@draft\tlDRAFT\fi%
+ {\slshape\rightmark}\hfil%
+ \thepage%
+ \if@draft\trDRAFT\fi%
+ }%
+ \def\chaptermark##1{%
+ \markright%
+ {\MakeUppercase{%
+ \ifnum\c@secnumdepth >\m@ne%
+ \@chapapp\ \thechapter. \ %
+ \fi ##1}%
+ }%
+ }%
+ }%ps@headings
+\fi % @twoside
+
+%
+%% Pagestyle ``myheadings''.
+%
+\renewcommand{\ps@myheadings}{%
+ \@tcpagefalse%
+ \let\@mkboth\@gobbletwo%
+ \def\@oddfoot{%
+ \if@draft%
+ \blDRAFT\hfil%
+ {\slshape\small\today}\hfil\brDRAFT%
+ \fi%
+ }%
+ \let\@evenfoot\@oddfoot%
+ \def\@oddhead{%
+ \if@draft\tlDRAFT\fi%
+ {\slshape\rightmark}\hfil%
+ \thepage%
+ \if@draft\trDRAFT\fi%
+ }%
+ \def\@evenhead{%
+ \if@draft\tlDRAFT\fi%
+ \thepage\hfil%
+ {\slshape\leftmark}%
+ \if@draft\trDRAFT\fi%
+ }%
+ \let\chaptermark\@gobble\let\sectionmark\@gobble%
+}%ps@myheadings
+
+%
+%% Pagestyle ``gtthesis'' (based on ``headings'').
+%
+\if@twoside % if two-sided printing
+ \newcommand{\ps@gtthesis}{%
+ \@tcpagetrue%
+ \let\@mkboth\markboth%
+ \def\@oddfoot{%
+ \if@draft%
+ \blDRAFT\hfil%
+ {\slshape\small\today}\hfil\brDRAFT%
+ \fi%
+ }%
+ \let\@evenfoot\@oddfoot%
+ \def\@oddhead{%
+ \if@draft\tlDRAFT\fi%
+ {\slshape\rightmark}\hfil%
+ \thepage%
+ \if@draft\trDRAFT\fi%
+ }%
+ \def\@evenhead{%
+ \if@draft\tlDRAFT\fi%
+ \thepage\hfil%
+ {\slshape\leftmark}%
+ \if@draft\trDRAFT\fi%
+ }%
+ \def\chaptermark##1{%
+ \markboth%
+ {\textsc{%
+ \ifnum\c@secnumdepth >\m@ne%
+ \@chapapp\ \thechapter. \ %
+ \fi ##1}%
+ }{}%
+ }%
+ \def\sectionmark##1{%
+ \markright%
+ {\textsc{%
+ \ifnum\c@secnumdepth >\z@%
+ \thesection. \ %
+ \fi ##1}%
+ }
+ }%
+ }%ps@gtthesis
+\else % if one-sided printing
+ \newcommand{\ps@gtthesis}{%
+ \@tcpagetrue%
+ \let\@mkboth\markboth%
+ \def\@oddfoot{%
+ \if@draft%
+ \blDRAFT\hfil%
+ {\slshape\small\today}\hfil\brDRAFT%
+ \fi%
+ }%
+ \def\@oddhead{%
+ \if@draft\tlDRAFT\fi%
+ {\slshape\rightmark}\hfil%
+ \thepage%
+ \if@draft\trDRAFT\fi%
+ }%
+ \def\chaptermark##1{%
+ \markright%
+ {\textsc{%
+ \ifnum\c@secnumdepth >\m@ne%
+ \@chapapp\ \thechapter. \ %
+ \fi ##1}%
+ }
+ }%
+ }%ps@gtthesis
+\fi % @twoside
+
+%
+%% Pagestyle ``tcplain'' (based on ``plain'').
+%
+\if@twoside % if two-sided printing
+ \newcommand{\ps@tcplain}{%
+ \@tcpagetrue%
+ \let\@mkboth\markboth%
+ \def\@oddfoot{%
+ \if@draft%
+ \blDRAFT\hfil%
+ {\slshape\small\today}\hfil\brDRAFT%
+ \fi%
+ }%
+ \let\@evenfoot\@oddfoot%
+ \def\@oddhead{%
+ \if@draft\tlDRAFT\fi%
+ \hfil\thepage%
+ \if@draft\trDRAFT\fi%
+ }%
+ \def\@evenhead{%
+ \if@draft\tlDRAFT\fi%
+ \thepage\hfil%
+ \if@draft\trDRAFT\fi%
+ }%
+ }%ps@tcplain
+\else % if one-sided printing
+ \newcommand{\ps@tcplain}{%
+ \@tcpagetrue%
+ \let\@mkboth\markboth%
+ \def\@oddfoot{%
+ \if@draft%
+ \blDRAFT\hfil%
+ {\slshape\small\today}\hfil\brDRAFT%
+ \fi%
+ }%
+ \def\@oddhead{%
+ \if@draft\tlDRAFT\fi%
+ \hfil\thepage%
+ \if@draft\trDRAFT\fi%
+ }%
+ }%ps@tcplain
+\fi % @twoside
+
+
+%%%%%% Document Layout
+%
+%% Default line spacing: use current setting from options.
+%
+\linespacing{\@thesislnsp}
+%
+%% Page layout (see The LaTeX Companion pp.84-86).
+%
+%% By default, TeX puts the ``reference point'' one inch down and to
+%% the right of the top-left corner of the page. This moves it back
+%% to the top-left corner (making the rest of the layout easier to
+%% define).
+%
+\setlength{\voffset}{-1in}
+\setlength{\hoffset}{-1in}
+%
+%% Instead of hard-coding the page layout for letter paper
+%% (8.5" x 11"), we will base it on \paperheight and \paperwidth,
+%% so that it works with options that change the paper size.
+%
+\setlength{\textheight}{\paperheight}
+\setlength{\textwidth}{\paperwidth}
+%
+%% Now, set the margin-dependent values.
+%
+\ifcase\@marginsize % set narrow margins: 1 1/4" left, 3/4" others
+%
+\addtolength{\textheight}{-1.5in}
+\setlength{\topmargin}{.5in}
+\setlength{\headsep}{.25in}
+\setlength{\footskip}{.25in}
+\addtolength{\textwidth}{-2in}
+\setlength{\oddsidemargin}{1.25in}
+\setlength{\evensidemargin}{.75in}
+\setlength{\marginparwidth}{.5in}
+\setlength{\marginparsep}{.125in}
+%
+\or % set normal margins: 1.5 " left, 1" others (modified 01/27/01)
+%
+\addtolength{\textheight}{-2in}
+\setlength{\topmargin}{0.5in}
+\setlength{\headsep}{0.5in} % reduced by headheight, below
+\setlength{\footskip}{0.5in}
+\addtolength{\textwidth}{-2.5in}
+\setlength{\oddsidemargin}{1.5in}
+\setlength{\evensidemargin}{1in}
+\setlength{\marginparwidth}{.75in}
+\setlength{\marginparsep}{.125in}
+%
+\or % set wide margins: 1.5" left, 1" others, 2"" top (modified 01/14/00)
+%
+\addtolength{\textheight}{-3in}
+\setlength{\topmargin}{1in}
+\setlength{\headsep}{.5in} % reduced by headheight, below
+\setlength{\footskip}{0.5in}
+\addtolength{\textwidth}{-2.5in}
+\setlength{\oddsidemargin}{1.5in}
+\setlength{\evensidemargin}{1in}
+\setlength{\marginparwidth}{.75in}
+\setlength{\marginparsep}{.125in}
+%
+\or % set extra wide margins: 1 1/2"" all around
+%
+\addtolength{\textheight}{-3in}
+\setlength{\topmargin}{1in}
+\setlength{\headsep}{.5in}
+\setlength{\footskip}{.5in}
+\addtolength{\textwidth}{-3in}
+\setlength{\oddsidemargin}{1.5in}
+\setlength{\evensidemargin}{1.5in}
+\setlength{\marginparwidth}{1in}
+\setlength{\marginparsep}{.25in}
+%
+\or % use oldmargin (OLD GT): 1.5" left and top, 1" others (modified 01/27/01)
+%
+\addtolength{\textheight}{-2.5in}
+\setlength{\topmargin}{0.75in}
+\setlength{\headsep}{0.75in} % reduced by headheight, below
+\setlength{\footskip}{0.5in}
+\addtolength{\textwidth}{-2.5in}
+\setlength{\oddsidemargin}{1.5in}
+\setlength{\evensidemargin}{1in}
+\setlength{\marginparwidth}{.75in}
+\setlength{\marginparsep}{.125in}
+%
+\fi%@marginsize
+%
+%% Adjust \headsep to include height of running head.
+%
+\addtolength{\headsep}{-\headheight}
+%
+%% Adjust the vertical spacing between the main text and the notes,
+%% and between successive notes if they are not single-spaced.
+%
+\setlength{\skip\footins}{.75\baselineskip}
+\if@singlespacednotes
+\else
+ \let\oldtextsize=\currenttextsize
+ \footnotesize
+ \setlength{\marginparpush}{\baselineskip}
+ \setlength{\footnotesep}{\baselineskip}
+ \oldtextsize
+\fi % @singlespacednotes
+%
+%% \flushbottom looks silly with lots of extra space between paragraphs
+%% better to put the "extra" space at the bottom of the page!
+%
+\raggedbottom
+%
+%% Default page style.
+%
+\pagestyle{plain}
+\setfrontpagestyle{plain}
+\setbodypagestyle{plain}
+\setbackpagestyle{plain}
+
+%
+%% Number subsubsections
+%
+\setcounter{secnumdepth}{3}
+
+%
+%% Show subsubsections in table of contents
+%% tocdepth is reset to the value in \setchaptertocdepth
+%% at each \chapter{}, or to the value in \setappendixtocdepth
+%% at each \chapter{} after the \appendix command. So, if
+%% you want to change the defaults, use \setchaptertocdepth and
+%% \setappendixtocdepth. To temporarily change depth for the
+%% current section, use a different function: \settocdepth[x].
+%% You should never need to call \setcounter{tocdepth}{..}
+%% directly.
+%%
+%% 0 = chapter only
+%% 1 = chapter + sections
+%% 2 = chapter, section, subsection
+%% 3 = chapter, section, subsection, subsubsection
+%
+\setcounter{tocdepth}{3} % we call setcounter{tocdepth}{} directly here
+ % but user .tex files should not do this.
+% We must insure that the last \setcounter command in the .toc
+% file is NON-ZERO, or the listoffigures and listoftables become
+% empty. Bad news. Unfortunately, that means we must do some
+% raw TeXing here...
+% You would think the \end{postliminary} code would fix this, and it
+% does -- but only if you don't \include your vita. \input{vita}
+% works great because the \end{postliminary} code causes
+% \setcounter{tocdepth}{NONZERO} to be written. But, if you
+% \include{vita} (or whatever the LAST section before \end{postliminary}
+% is) and the \setcounter command from \end{postliminary} does NOT get
+% written to the .aux file. Fooey. This is our workaround.
+% BUT, do NOT remove the one from \end{postliminary}. When
+% \input{vita}, THAT one gets used, and not this one! Clearly,
+% a LaTeX bug.
+\AtEndDocument{%
+ \immediate\write\@auxout%
+ {\string\@writefile{toc}{\string\setcounter{tocdepth}{3}}}
+}
+
+\setchaptertocdepth{2}
+\setappendixtocdepth{0}
+
+%% 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
+\InputIfFileExists{gatech-thesis-patch.sty}{}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% End of GATECH-THESIS.CLS
+%%
+%% license information is in the COPYING file. The copyright notice
+%% therein applies to the license itself, not to this file: the GNU
+%% PUBLIC LICENSE is copyrighted by the Free Software Foundation.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%