dissertation-4-dissertation/Classes/PhDThesisPSnPDF.cls

598 lines
18 KiB
OpenEdge ABL
Raw Normal View History

2013-11-17 01:25:23 +00:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%
%% Class ``PhD Thesis PSnPDF'' %%
%% %%
%% Version: v1.0 %%
%% Authors: Krishna Kumar %%
%% Date: 2013/11/16 %%
%% Based on: King's LaTeX workshop by Krishna, CUED V1.1 Template by H. Banderi %%
%% Compuer Lab PhD Template & Alex Rige's idea of an unified template %%
2013-11-17 01:25:23 +00:00
%% License: GPL V2.0 https://www.gnu.org/licenses/gpl-2.0.html %%
%% GitHub Repo: https://github.com/kks32/phd-thesis-template/ %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ******************** Class Identification *********************
2013-11-14 18:51:42 +00:00
%\NeedsTeXFormat{LaTeX2e}
2013-11-17 01:01:46 +00:00
\ProvidesClass{PhDThesisPSnPDF}[2013/11/14 version 1.0 by Krishna Kumar]
\typeout{https://github.com/kks32/phd-thesis-template/}
% ***************************************************************
% ********************** Class Definition ***********************
2013-11-16 21:02:19 +00:00
2013-11-14 18:51:42 +00:00
\newif\ifCU@bookmode
\CU@bookmodetrue
\DeclareOption{report}{\CU@bookmodefalse}
\DeclareOption{book}{\CU@bookmodetrue}
2013-11-19 11:32:39 +00:00
% ****************** Define a Print/Online Version ******************
\newif\if@print\@printfalse
\DeclareOption{print}{\@printtrue}
% ************************** Define index ************************
\newif\ifCU@index\CU@indexfalse
\DeclareOption{index}{\CU@indextrue}
% ************************** Font Option *************************
2013-11-19 02:05:29 +00:00
\newif\ifFontNotSet\FontNotSetfalse % Font is not set
2013-11-19 01:34:28 +00:00
\newif\ifCU@times\CU@timesfalse % Times with Math Support
\DeclareOption{times}{\CU@timestrue}
2013-11-14 18:51:42 +00:00
\ProcessOptions\relax%
\ifCU@bookmode
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}%
\ProcessOptions\relax%
\ifx\pdfoutput\undefined%
2013-11-17 18:28:28 +00:00
\LoadClass[dvips,fleqn,openright]{book}%
2013-11-14 18:51:42 +00:00
\else%
2013-11-14 22:06:51 +00:00
\LoadClass[pdftex,fleqn,openright]{book}%
2013-11-14 18:51:42 +00:00
\fi%
\else
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}%
\ProcessOptions\relax%
\ifx\pdfoutput\undefined%
2013-11-23 01:48:37 +00:00
\LoadClass[dvips,fleqn,openright]{report}%
2013-11-14 18:51:42 +00:00
\else%
2013-11-23 01:48:37 +00:00
\LoadClass[pdftex,fleqn,openright]{report}%
2013-11-14 18:51:42 +00:00
\fi%
\fi
2013-11-17 01:01:46 +00:00
% ************** Set pdfpage and dvips paper sizes ***************
2013-11-16 21:02:19 +00:00
% if \pdfoutput is undefined or equal to relax, output a dvips special
2013-11-17 01:01:46 +00:00
\@ifundefined{pdfoutput}{
\AtBeginDvi{\special{papersize=\paperwidth,\paperheight}}
}
2013-11-16 21:02:19 +00:00
% pdfoutput is defined and not equal to \relax
% check for pdfpageheight existence just in case someone sets pdfoutput
% under non-pdflatex. If exists, set them regardless of value of \pdfoutput.
\@ifundefined{pdfpageheight}{\relax}{\global\pdfpagewidth\paperwidth
\global\pdfpageheight\paperheight}%
% if using \pdfoutput=0 under pdflatex, send dvips papersize special
\ifcase\pdfoutput
\AtBeginDvi{\special{papersize=\paperwidth,\paperheight}}%
\else
2013-11-17 01:01:46 +00:00
\fi
2013-11-16 21:02:19 +00:00
2013-11-20 00:55:21 +00:00
% **************************** Print / Online ***************************
2013-11-19 11:32:39 +00:00
% Defines a print / online version to define page-layout and hyperrefering
2013-11-19 11:32:39 +00:00
\if@print
\RequirePackage{hyperref}
% For Print version
\hypersetup{
plainpages=false,
pdfstartview=FitV,
pdftoolbar=true,
pdfmenubar=true,
bookmarksopen=true,
bookmarksnumbered=true,
breaklinks=true,
linktocpage,
colorlinks=true,
linkcolor=black,
urlcolor=black,
citecolor=black,
anchorcolor=black
}
2013-11-16 21:02:19 +00:00
2013-11-17 01:01:46 +00:00
\if@twoside
% Odd and Even side Margin staggering for binding and set viewmode for PDF
\RequirePackage[hmarginratio=3:2]{geometry}
\hypersetup{pdfpagelayout=TwoPageRight}
\else
% Single side print margin for binding and set view mode for PDF
\RequirePackage[hmarginratio=3:2]{geometry}
\hypersetup{pdfpagelayout=OneColumn}
\fi
2013-11-16 21:02:19 +00:00
\else
\RequirePackage{hyperref}
% For PDF Online version
\hypersetup{
plainpages=false,
pdfstartview=FitV,
pdftoolbar=true,
pdfmenubar=true,
bookmarksopen=true,
bookmarksnumbered=true,
breaklinks=true,
linktocpage,
colorlinks=true,
linkcolor=blue,
urlcolor=blue,
citecolor=blue,
anchorcolor=green}
2013-11-17 01:01:46 +00:00
% No Margin staggering on Odd and Even side
\RequirePackage[hmarginratio=1:1]{geometry}
2013-11-16 22:57:26 +00:00
\hypersetup{pdfpagelayout=OneColumn}
\fi
2013-11-16 17:13:31 +00:00
2013-11-17 20:12:08 +00:00
2013-11-17 01:25:23 +00:00
% ******************************************************************************
% ******************************** Packages ************************************
% ******************************************************************************
2013-11-16 22:57:26 +00:00
2013-11-17 01:25:23 +00:00
% ******************** Layout, Formatting and Headers **************************
2013-11-14 18:51:42 +00:00
\def\pdfshellescape{1}
2013-11-17 01:25:23 +00:00
\RequirePackage{lscape} % Supports Landscape Layout
2013-11-17 01:01:46 +00:00
\RequirePackage{setspace} % Define line spacing in para
\RequirePackage{fancyhdr} % Define custom header
\RequirePackage{calc} % To calculate vertical spacing
2013-11-14 18:51:42 +00:00
2013-11-17 01:25:23 +00:00
% *************************** Conditional Statements **************************
\RequirePackage{ifthen} % Used in LaTeX Class files for conditional statements
\RequirePackage{ifpdf} % Check for pdfLaTeX
2013-11-14 18:51:42 +00:00
2013-11-17 01:25:23 +00:00
% *********************** Table of Contents and Appendix************************
% add Bibliography, List of figures and tables to contents
\RequirePackage{tocbibind}
\RequirePackage{appendix} % add appendix
2013-11-14 18:51:42 +00:00
2013-11-17 01:25:23 +00:00
% **************************** Graphics and Figures ****************************
\RequirePackage[usenames, dvipsnames]{color}
2013-11-17 01:25:23 +00:00
% Convert eps figures to pdf
\RequirePackage{epstopdf}
\ifpdf
\RequirePackage[pdftex]{graphicx}
2013-11-14 18:51:42 +00:00
\DeclareGraphicsExtensions{.png, .jpg, .pdf}
\pdfcompresslevel=9
\else
\RequirePackage{graphicx}
2013-11-14 18:51:42 +00:00
\DeclareGraphicsExtensions{.eps, .ps}
\fi
2013-11-17 01:25:23 +00:00
% **************************** URL Package and Definition ***********************
\RequirePackage{url}
2013-11-16 10:46:13 +00:00
% Redefining urlstyle to use smaller fontsize in References with URLs
2013-11-15 17:05:57 +00:00
\def\url@leostyle{%
2013-11-16 10:46:13 +00:00
\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\small\ttfamily}}}
2013-11-15 17:05:57 +00:00
\urlstyle{leo}
2013-11-17 01:25:23 +00:00
% *************************** To copy ligatures and Fonts ***********************
\RequirePackage{textcomp}
2013-11-20 01:42:27 +00:00
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
2013-11-19 01:34:28 +00:00
% Font Selection
\ifCU@times
\RequirePackage{mathptmx} % times roman, including math (where possible)
2013-11-19 02:05:29 +00:00
\FontNotSetfalse
\else
2013-11-19 02:05:29 +00:00
\FontNotSettrue
\fi
2013-11-15 14:15:34 +00:00
\input{glyphtounicode}
\pdfglyphtounicode{f_f}{FB00}
2013-11-16 18:01:50 +00:00
\pdfglyphtounicode{f_i}{FB01}
\pdfglyphtounicode{f_l}{FB02}
2013-11-15 14:15:34 +00:00
\pdfglyphtounicode{f_f_i}{FB03}
\pdfglyphtounicode{f_f_l}{FB04}
\pdfgentounicode=1
% ********************************************************************************
% **************************** Pre-defined Settings ******************************
% ********************************************************************************
2013-11-15 14:15:34 +00:00
% ***************************** Setting PDF Meta-Data ****************************
2013-11-15 13:11:41 +00:00
\ifpdf
\AtBeginDocument{
\hypersetup{
pdftitle = {\@title},
pdfauthor = {\@author},
pdfsubject={\@subject},
pdfkeywords={\@keywords}
}
}
\fi
2013-11-14 18:51:42 +00:00
% ***************************** TOC and Hide Sections ***************************
\newcommand{\nocontentsline}[3]{}
\newcommand{\tochide}[2]{\bgroup\let\addcontentsline=\nocontentsline#1{#2}\egroup}
% Removes pagenumber appearing from TOC
\addtocontents{toc}{\protect\thispagestyle{empty}}
2013-11-14 18:51:42 +00:00
% ******************************* Header Formatting *****************************
2013-11-14 18:51:42 +00:00
% Custom Header with Chapter Number, Page Number and Section Numbering
2013-11-23 01:14:15 +00:00
2013-11-14 18:51:42 +00:00
\pagestyle{fancy}
2013-11-22 01:02:14 +00:00
2013-11-23 01:14:15 +00:00
% Style 1: Sets Page Number at the Top (LE/RO) with Chapter/Section Name on LO/RE
2013-11-22 20:44:16 +00:00
\renewcommand{\chaptermark}[1]{\markboth {#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{}
2013-11-22 20:44:16 +00:00
\fancyhead[LO]{\nouppercase \rightmark}
2013-11-22 18:46:10 +00:00
\fancyhead[LE,RO]{\bfseries\thepage}
2013-11-22 20:44:16 +00:00
\fancyhead[RE]{\nouppercase \leftmark}
2013-11-22 18:46:10 +00:00
2013-11-15 00:05:34 +00:00
2013-11-23 01:14:15 +00:00
% Style 2: Sets Page Number at the Top and Chapter/Section Name on LE/RO
2013-11-22 18:46:10 +00:00
%\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
%\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
%\fancyhf{}
2013-11-22 20:44:16 +00:00
%\fancyhead[RO]{\bfseries\nouppercase \rightmark}
%\fancyhead[LE]{\bfseries \nouppercase \leftmark}
2013-11-22 18:46:10 +00:00
%\fancyfoot[C]{\thepage}
2013-11-23 01:14:15 +00:00
% Style 3: Sets Page Number at the Bottom with Chapter/Section Name on LO/RE
2013-11-22 18:46:10 +00:00
%\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
%\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1\ }}
%\fancyhf{}
2013-11-22 20:44:16 +00:00
%\fancyhead[RO]{\nouppercase \rightmark | \bfseries{\thepage} }
%\fancyhead[LE]{{\bfseries\thepage} | \nouppercase \leftmark }
2013-11-18 10:52:17 +00:00
2013-11-23 01:14:15 +00:00
\setlength{\headheight}{14.5pt}
2013-11-16 22:57:26 +00:00
%\renewcommand{\headrulewidth}{0.5pt}
%\renewcommand{\footrulewidth}{0pt}
2013-11-17 01:25:23 +00:00
\fancypagestyle{plain}{
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
}
2013-11-14 18:51:42 +00:00
% **************** Clear Header Style on the Last Empty Odd pages ***************
\renewcommand{\cleardoublepage}{\clearpage\if@twoside \ifodd\c@page\else%
\hbox{}%
\thispagestyle{empty} % Empty header styles
\newpage%
\if@twocolumn\hbox{}\newpage\fi\fi\fi}
2013-11-14 18:51:42 +00:00
2013-11-17 20:12:08 +00:00
% ********************************* Roman Pages *********************************
% The romanpages environment set the page numbering to lowercase roman one
% for the contents and figures lists. It also resets
% page-numbering for the remainder of the dissertation (arabic, starting at 1).
2013-11-14 18:51:42 +00:00
\newenvironment{romanpages}{
\setcounter{page}{1}
\renewcommand{\thepage}{\roman{page}}}
{\newpage\renewcommand{\thepage}{\arabic{page}}}
% *******************************************************************************
% **************************** Macro Definitions ********************************
% *******************************************************************************
2013-11-14 18:51:42 +00:00
% These macros are used to declare arguments needed for the
% construction of the title page and other preamble.
2013-11-14 18:51:42 +00:00
% The year and term the degree will be officially conferred
\newcommand{\@degreedate}{}
\newcommand{\degreedate}[1]{\renewcommand{\@degreedate}{#1}}
2013-11-14 18:51:42 +00:00
% The full (unabbreviated) name of the degree
\newcommand{\@degree}{}
\newcommand{\degree}[1]{\renewcommand{\@degree}{#1}}
2013-11-14 23:17:26 +00:00
% The name of your department(eg. Engineering, Maths, Physics)
\newcommand{\@dept}{}
\newcommand{\dept}[1]{\renewcommand{\@dept}{#1}}
2013-11-14 23:17:26 +00:00
% The name of your college (eg. King's)
\newcommand{\@college}{}
\newcommand{\college}[1]{\renewcommand{\@college}{#1}}
2013-11-14 18:51:42 +00:00
% The name of your University
\newcommand{\@university}{}
\newcommand{\university}[1]{\renewcommand{\@university}{#1}}
2013-11-14 18:51:42 +00:00
% Defining the crest
\newcommand{\@crest}{}
\newcommand{\crest}[1]{\renewcommand{\@crest}{#1}}
% Submission Text
\newcommand{\submissiontext}{{A thesis submitted for the degree of}}
% keywords (These keywords will appear in the PDF meta-information
% called `pdfkeywords`.)
\newcommand{\@keywords}{}
\newcommand{\keywords}[1]{\renewcommand{\@keywords}{#1}}
% subjectline (This subject will appear in the PDF meta-information
% called `pdfsubject`.)
\newcommand{\@subject}{}
\newcommand{\subject}[1]{\renewcommand{\@subject}{#1}}
2013-11-15 13:11:41 +00:00
2013-11-14 18:51:42 +00:00
% These macros define an environment for front matter that is always
% single column even in a double-column document.
\newenvironment{alwayssingle}{%
\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
\else\newpage\fi}
{\if@restonecol\twocolumn\else\newpage\fi}
% Set single column even under two column layout
2013-11-17 21:24:43 +00:00
\newcommand{\setsinglecolumn}{
\if@twocolumn
\onecolumn
\else
\fi
}
2013-11-16 18:01:50 +00:00
% ********************************************************************************
% ***************************** Front Matter Layout ******************************
% ********************************************************************************
% ********************************** Title Page *********************************
2013-11-18 00:27:00 +00:00
\renewcommand{\maketitle}{
%%Can use the line below to remove the blank page after the title page
%%\setcounter{page}{0} % Sasa Tomic
2013-11-18 00:27:00 +00:00
2013-11-14 18:51:42 +00:00
\begin{singlespace}
2013-11-14 23:17:26 +00:00
\begin{center}
2013-11-18 00:27:00 +00:00
% Title
{\Huge \bfseries{\@title} \par}
\vspace*{0.125\textheight}
% Crest
{\@crest \par}
\vspace*{0.1\textheight}
% Author
{\Large \bfseries{\@author} \par}
2013-11-14 18:51:42 +00:00
\vspace*{1ex}
2013-11-18 00:27:00 +00:00
% Department and University
{\large \@dept \par}
\vspace*{1ex}
{\large \@university \par}
\vspace*{0.1\textheight}
% Submission Text
{\large \submissiontext \par}
2013-11-18 00:27:00 +00:00
\vspace*{1ex}
{\large \it {\@degree} \par}
%\vspace*{0.15\textheight}
2013-11-18 00:27:00 +00:00
2013-11-14 18:51:42 +00:00
\end{center}
\vfill
2013-11-18 00:27:00 +00:00
\large
2013-11-18 10:52:17 +00:00
\begin{minipage}{0.49\textwidth}
\flushleft\hspace*{\oddsidemargin}\@college
2013-11-18 00:27:00 +00:00
\end{minipage}
2013-11-18 10:52:17 +00:00
\begin{minipage}{0.49\textwidth}
2013-11-18 00:27:00 +00:00
\flushright \@degreedate
\end{minipage}
2013-11-14 23:17:26 +00:00
\end{singlespace}
2013-11-18 10:52:17 +00:00
\vspace*{0.02\textheight}
2013-11-14 18:51:42 +00:00
}
% ********************************* Dedication **********************************
2013-11-14 18:51:42 +00:00
% The dedication environment makes sure the dedication gets its
2013-11-18 10:52:17 +00:00
% own page and is set out in verse format.3
2013-11-14 18:51:42 +00:00
\newenvironment{dedication}
2013-11-17 18:28:28 +00:00
{
\cleardoublepage
2013-11-17 21:24:43 +00:00
\setsinglecolumn
2013-11-17 18:28:28 +00:00
\vspace*{0.2\textheight}
\thispagestyle{empty}
\centering
}
2013-11-14 18:51:42 +00:00
% ******************************** Declaration **********************************
2013-11-14 18:51:42 +00:00
% The declaration environment puts a large, bold, centered
2013-11-19 01:34:28 +00:00
% "Declaration" label at the top of the page.
2013-11-14 18:51:42 +00:00
2013-11-17 20:12:08 +00:00
\newenvironment{declaration}{
2013-11-17 18:28:28 +00:00
\cleardoublepage
2013-11-17 21:24:43 +00:00
\setsinglecolumn
2013-11-17 20:12:08 +00:00
\chapter*{\centering \Large Declaration}
2013-11-17 18:37:05 +00:00
\thispagestyle{empty}
2013-11-17 18:28:28 +00:00
}
2013-11-14 18:51:42 +00:00
% ******************************* Acknowlegments *********************************
2013-11-14 18:51:42 +00:00
% The acknowledgements environment puts a large, bold, centered
2013-11-19 01:34:28 +00:00
% "Acknowledgements" label at the top of the page.
2013-11-14 18:51:42 +00:00
2013-11-17 20:12:08 +00:00
\newenvironment{acknowledgements}{
\cleardoublepage
2013-11-17 21:24:43 +00:00
\setsinglecolumn
2013-11-17 20:12:08 +00:00
\chapter*{\centering \Large Acknowlegements}
\thispagestyle{empty}
}
2013-11-14 18:51:42 +00:00
% ******************************** Abstract ***********************************
% The abstract environment puts a large, bold, centered "Abstract" label at
2013-11-19 01:34:28 +00:00
% the top of the page.
2013-11-14 18:51:42 +00:00
2013-11-17 21:24:43 +00:00
\newenvironment{abstract} {
\cleardoublepage
\setsinglecolumn
2013-11-17 20:12:08 +00:00
\chapter*{\centering \Large Abstract}
\thispagestyle{empty}
}
2013-11-14 18:51:42 +00:00
2013-11-14 18:51:42 +00:00
%The abstractseparate environment is for running of a page with the abstract
%on including title and author etc as required to be handed in separately
\newenvironment{abstractseparate} {\begin{alwayssingle} \pagestyle{empty}
2013-11-17 21:24:43 +00:00
% \vspace*{-1in}
2013-11-14 18:51:42 +00:00
\begin{center}
{ \Large {\bfseries {\@title}} \par}
{{\large \vspace*{1ex} \@author} \par}
{\large \vspace*{1ex}
2013-11-17 21:24:43 +00:00
{{\@dept} \par}
2013-11-14 18:51:42 +00:00
{{\@university} \par}
\vspace*{1ex}
{{\it \submissiontext} \par}
2013-11-14 18:51:42 +00:00
{\it {\@degree} \par}
\vspace*{2ex}
{\@degreedate}}
\end{center}}
{\end{alwayssingle}}
% ******************************** Nomenclature *********************************
\usepackage{nomencl}
\makenomenclature
2013-11-20 00:55:21 +00:00
\renewcommand{\nomgroup}[1]{%
\ifthenelse{\equal{#1}{A}}{\item[\textbf{Roman Symbols}]}{%
\ifthenelse{\equal{#1}{G}}{\item[\textbf{Greek Symbols}]}{%
\ifthenelse{\equal{#1}{Z}}{\item[\textbf{Acronyms / Abbreviations}]}{%
\ifthenelse{\equal{#1}{R}}{\item[\textbf{Superscripts}]}{%
\ifthenelse{\equal{#1}{S}}{\item[\textbf{Subscripts}]}{%
\ifthenelse{\equal{#1}{X}}{\item[\textbf{Other Symbols}]}
{}
}% matches mathematical symbols > X
}% matches Subscripts > S
}% matches Superscripts > R
}% matches Abbreviations > Z
}% matches Greek Symbols > G
}% matches Roman Symbols > A
% Add nomenclature to contents and print out nomenclature
\newcommand{\printnomencl}{
\printnomenclature
\addcontentsline{toc}{chapter}{\nomname}
}
2013-11-14 18:51:42 +00:00
2013-11-16 10:46:13 +00:00
% ******************************* Create the index ******************************
\ifCU@index
\RequirePackage{makeidx}
\makeindex
\newcommand{\printthesisindex}{
\cleardoublepage
\phantomsection
\printindex}
\else
\newcommand{\printthesisindex}{}
\fi
% This Title page works but is too complicated!
% Boxes below are used to space differt contents on the title page
%\newcommand{\makephdtitle}{
%
%\pagestyle{empty}
%%%% Title Box
%\newsavebox{\CU@Title}
%\begin{lrbox}{\CU@Title}
%\begin{minipage}[c]{0.98\textwidth}
%\centering
%\Huge \bfseries{\@title}
%\end{minipage}
%\end{lrbox}
%%
%%% University Crest Box
%\newsavebox{\CU@crest}
%\begin{lrbox}{\CU@crest}
%\@crest
%\end{lrbox}
%
%%% Author Box
%\newsavebox{\CU@author}
%\begin{lrbox}{\CU@author}
%\begin{minipage}[c]{\textwidth}
%\centering
%\Large \bfseries{\@author}
%\end{minipage}
%\end{lrbox}
%
%%% Department Box
%\newsavebox{\CU@dept}
%\begin{lrbox}{\CU@dept}
%\begin{minipage}[c]{\textwidth}
%\centering
%{\large \@dept \par}
%\vspace*{1ex}
%{\large \@university \par}
%\end{minipage}
%\end{lrbox}
%
%%% Submission Box
%\newsavebox{\CU@submission}
%\begin{lrbox}{\CU@submission}
%\begin{minipage}[c]{\textwidth}
%\begin{center}
%\large \submissiontext \par
%\vspace*{1ex}
%\large \it {\@degree} \par
%\end{center}
%\end{minipage}
%\end{lrbox}
%
%%% College and Date Box
%\newsavebox{\CU@collegedate}
%\begin{lrbox}{\CU@collegedate}
%\begin{minipage}[c]{\textwidth}
%\large
%\begin{minipage}{0.45\textwidth}
%\flushleft\@college
%\end{minipage}
%\begin{minipage}{0.45\textwidth}
%\flushright \@degreedate
%\end{minipage}
%\end{minipage}
%\end{lrbox}
%
%%% Now to compute the free vertical space
%\newlength{\CU@titlepagespacing}
%\setlength{\CU@titlepagespacing}{ \textheight %
% - \totalheightof{\usebox{\CU@Title}}
% - \totalheightof{\usebox{\CU@crest}}
% - \totalheightof{\usebox{\CU@author}}
% - \totalheightof{\usebox{\CU@dept}}
% - \totalheightof{\usebox{\CU@submission}}
% - \totalheightof{\usebox{\CU@collegedate}}
%}
%
%\begin{center}
%~\vspace{.02\CU@titlepagespacing}
%{\usebox{\CU@Title}}\par
%\vspace{.25\CU@titlepagespacing}
%{\usebox{\CU@crest}}\par
%\vspace{.2\CU@titlepagespacing}
%{\usebox{\CU@author}}\par
%\vspace{.05\CU@titlepagespacing}
%{\usebox{\CU@dept}}\par
%\vspace{.2\CU@titlepagespacing}
%{\usebox{\CU@submission}}\par
%\null \vfill
%%{\usebox{\cam@collegedate}}
%
%\end{center}
%}