Broke \set@lines@length out of \blanklines
[drexel-thesis.git] / drexel-thesis.dtx
1 % \def\fileversion{0.3}
2 % \def\filedate{2010/01/09}
3 % \iffalse meta-comment
4 %<class>\def\fileversion{0.3}
5 %<class>\def\filedate{2010/01/09}
6 %
7 % Copyright (C) 2010 W. Trevor King, Daniel J. Cross, T. Tsankov, and
8 %    R. Rojas.
9 % -------------------------------------------------------
10
11 % This file may be distributed and/or modified under the
12 % conditions of the LaTeX Project Public License, either version 1.3
13 % of this license or (at your option) any later version.
14 % The latest version of this license is in:
15 %
16 %    http://www.latex-project.org/lppl.txt
17 %
18 % and version 1.3 or later is part of all distributions of LaTeX 
19 % version 2003/12/01 or later.
20 %
21 % Based on Scott Pakin's dtxtut/cskeleton.dtx
22 %   http://www.ctan.org/tex-archive/info/dtxtut/
23 %
24 % \fi
25 %
26 % \iffalse meta-comment
27 %<*driver>
28 \ProvidesFile{drexel-thesis.dtx}
29 %</driver>
30 %<class>\NeedsTeXFormat{LaTeX2e}
31 %<class>\ProvidesClass{drexel-thesis}
32 %<class> [\filedate\ \fileversion\ Drexel Thesis]
33 %
34 % Code for the .ini driver, see section "2.1 The driver file" of doc.dtx.
35 %<*driver>
36 \documentclass{ltxdoc}
37 \usepackage[colorlinks=true]{hyperref}
38 %</driver>
39 % Include some useful commands from |xkeyval|'s |<preamble>|.
40 %<*driver>
41 \usepackage{xcolor}
42 \usepackage{listings}
43 \lstnewenvironment{command}{%
44   \lstset{columns=flexible,frame=single,backgroundcolor=\color{blue!20},%
45     xleftmargin=\fboxsep,xrightmargin=\fboxsep,escapeinside=`',gobble=1}}{}
46 \lstnewenvironment{example}{%
47   \lstset{basicstyle=\footnotesize\ttfamily,columns=flexible,frame=single,%
48     backgroundcolor=\color{yellow!20},xleftmargin=\fboxsep,%
49     xrightmargin=\fboxsep,gobble=1}}{}
50 %</driver>
51 % \TeX's arguments aren't optional/mandatory, but they do use brackets
52 % and braces.
53 %<*driver>
54 \newcommand{\bracearg}[1]{\marg{#1}}
55 \newcommand{\brackarg}[1]{\oarg{#1}}
56 %</driver>
57 % Define a quick and dirty version of |xkeyval|'s |\DescribeOptions|.
58 %<*driver>
59 \newenvironment{option}[1]{\begin{macro}{#1}}
60                           {\end{macro}}
61 %</driver>
62 %<*driver>
63 \makeatletter
64 \def\DescribeOption#1{\leavevmode\@bsphack
65               \marginpar{\raggedleft\PrintDescribeOption{#1}}%
66               \SpecialOptionIndex{#1}\@esphack\ignorespaces}
67 \def\PrintDescribeOption#1{\strut\emph{option}\\\MacroFont #1\ }
68 \def\SpecialOptionIndex#1{\@bsphack
69     \index{#1\actualchar{\protect\ttfamily#1}
70            (option)\encapchar usage}%
71     \index{options:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar
72            usage}\@esphack}
73 \def\DescribeOptions#1{\leavevmode\@bsphack
74   \marginpar{\raggedleft\strut\emph{options}%
75   \@for\@tempa:=#1\do{%
76     \\\strut\MacroFont\@tempa\SpecialOptionIndex\@tempa
77   }}\@esphack\ignorespaces}
78 \makeatother
79 %</driver>
80 %<*driver>
81 \EnableCrossrefs
82 \RecordChanges
83 \EnableCrossrefs         
84 \begin{document}
85   \DocInput{drexel-thesis.dtx}
86 \end{document}
87 %</driver>
88 % \fi
89 %
90 % \CheckSum{0}
91 %
92 % \CharacterTable
93 %  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
94 %   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
95 %   Digits        \0\1\2\3\4\5\6\7\8\9
96 %   Exclamation   \!     Double quote  \"     Hash (number) \#
97 %   Dollar        \$     Percent       \%     Ampersand     \&
98 %   Acute accent  \'     Left paren    \(     Right paren   \)
99 %   Asterisk      \*     Plus          \+     Comma         \,
100 %   Minus         \-     Point         \.     Solidus       \/
101 %   Colon         \:     Semicolon     \;     Less than     \<
102 %   Equals        \=     Greater than  \>     Question mark \?
103 %   Commercial at \@     Left bracket  \[     Backslash     \\
104 %   Right bracket \]     Circumflex    \^     Underscore    \_
105 %   Grave accent  \`     Left brace    \{     Vertical bar  \|
106 %   Right brace   \}     Tilde         \~}
107 %
108 %
109 % \changes{0.1}{2006/01/18}{Rewrite by Daniel J.~Cross}
110 % \changes{0.2}{2010/01/09}{W.~Trevor King transitioned from thesis.cls
111 %   to drexel-thesis.dtx and did a good deal of reorganizing.}
112 % \changes{0.2}{2010/01/09}{W.~Trevor King merged drexelthesis.cls
113 %   developed in the Comp.~Sci.~Department by Jeff Abrahamson,
114 %   Evan Sultanik, C.Y.~Ip, Christopher S.~Dahn, Christopher D.~Cera,
115 %   Mitchell Peabody, David T.~McWherter, and Vincent A.~Cicirello.
116 %   Based on the University of Toronto Thesis LaTeX2e Class.}
117 %
118 % \MakeShortVerb{\|}
119 % \newcommand{\pkg}[1]{\textsf{#1}}
120 % \newcommand{\cls}[1]{\textsf{#1}}
121 % ^^A\newcommand{\BibTeX}{{\sc Bib}\TeX}
122
123 % \title{The \textsf{drexel-thesis} class\thanks{This document
124 %   corresponds to \textsf{drexel-thesis}~\fileversion, dated \filedate.}}
125 % \author{W.~Trevor King \\\texttt{wking@drexel.edu}
126 %         \and Daniel J.~Cross \and T.~Tsankov \and R.~Rojas.}
127 % \date{\filedate}
128 %
129 % \maketitle
130 %
131 % \section{Introduction}
132 %
133 % This package defines a \LaTeX\ thesis class for Drexel University
134 % conforming to the
135 % \href{http://www.library.drexel.edu/files/services_documents/thesismanual.pdf}
136 %   {Drexel University Thesis Manual version 2009/06/01}.
137 %
138 % \section{Usage}
139 %
140 % To write a thesis, you load the Drexel thesis definitions by loading
141 % the \pkg{drexel-thesis} class at the beginning of your
142 % \LaTeX\ document with the |\documentclass| command.  For example,
143 % \begin{example}
144 %   \documentclass{drexel-thesis}
145 % \end{example}
146 %
147 % \subsection{Options}
148 %
149 % \DescribeOptions{final,draft}
150 % The default option (selected if not options are passed) is |final|
151 % mode, which has all the proper formatting and spacing for your final
152 % product. The other main option is |draft| mode, which reduces all
153 % the spacing in the document, so might be helpful when printing out
154 % drafts (saves paper).
155 %
156 % |final| mode corresponds to (with Thesis Manual chapter and verse)\\
157 % \begin{tabular}{r p{0.8\textwidth}}
158 %   |oneside| & 1.5 Library Submission Information, Print
159 %     Version: ``All copies must be: \ldots Typed/printed on only one
160 %     side of the page (not double-sided).'' \\
161 %   |finalspace| & Assorted single, double, and triple spacing
162 %   directives. \\
163 %   |dottedtoc| & From the example on p17.
164 % \end{tabular}
165 %
166 % |draft| mode corresponds to \\
167 % \begin{tabular}{r p{0.8\textwidth}}
168 %   |twoside| & Save space. \\
169 %   |draftspace| & Save space. \\
170 %   |dottedtoc| & Might as well be consistent with |final|. \\
171 %   |draftwatermark| & It's good to have a timestamp. \\
172 % \end{tabular}
173 %
174 % \DescribeOption{finalspace}
175 % Loosen spacing.
176 %
177 % \DescribeOption{draftspace}
178 % Tighten spacing.
179 %
180 % \DescribeOptions{dottedtoc,boldtoc,
181 %                  dottedpart,boldpart,
182 %                  dottedchapter,boldchapter}
183 % These options change how the relevant TOC lines are printed
184 % \LaTeX\ defaults to bold but not dots.  The |*toc| options set all
185 % of the types.  For example, |boldtoc| is equivalent to
186 % |boldchapter,boldpart|.
187 %
188 % \DescribeOption{draftwatermark}
189 % |draftwatermark| adds ``DRAFT \meta{date}'' watermarks to each page.
190 % A useful way to remember that the version you're looking at is not final.
191 % Also helps reviewers tell you what version they're correcting.
192 %
193 %
194 % \subsubsection{Interesting \cls{book} options}
195
196 % \DescribeOption{oneside}
197 % Setup output for one-sided printing.
198 %
199 % \DescribeOption{twoside}
200 % Setup output for two-sided printing.
201 %
202 % \DescribeOption{leqno}
203 % |leqno| places the numbering of formulae on the left hand side
204 % instead of the right.
205 %
206 % \DescribeOption{fleqn}
207 % |fleqn| typesets displayed formulae left-aligned instead of
208 % centered.
209 %
210 %
211 % \subsection{Macros}
212 %
213 % \begin{command}
214 %   `\cs{author}\marg{name}'
215 % \end{command}
216 % \DescribeMacro{\author}
217 % Use this macro to set your full name to \meta{name}, including
218 % your middle initial or name.  For example
219 % \begin{example}
220 %   \name{Richard P. Feynman}
221 % \end{example}
222 % See the Manual 3.1 p8.
223 %
224 % \begin{command}
225 %   `\cs{title}\marg{title}'
226 % \end{command}
227 % \DescribeMacro{\title}
228 % Use this macro to set your thesis title to \meta{name}.  For example
229 % \begin{example}
230 %   \title{A New Approach to Quantum Theory}
231 % \end{example}
232 % See the Manual p16.
233 %
234 % \begin{command}
235 %   `\cs{advisor}\marg{name}'
236 % \end{command}
237 % \DescribeMacro{\advisor}
238 % Use this macro to set your advisor's name to \meta{name}.  For
239 % example
240 % \begin{example}
241 %   \advisor{John A. Wheeler, Ph.D.}
242 % \end{example}
243 % See the Manual 3.1 p8.
244 %
245 % \begin{command}
246 %   `\cs{defmonth}\marg{month}'
247 %   `\cs{defyear}\marg{year}'
248 % \end{command}
249 % \DescribeMacro{\defmonth}
250 % \DescribeMacro{\defyear}
251 % Use these macros to set the month with \meta{month} (spelled out)
252 % and year with \meta{year} (four digits) of your thesis defense.  For
253 % example
254 % \begin{example}
255 %   \defmonth{June}
256 %   \defyear{1942}
257 % \end{example}
258 % See the Manual 3.1 p8.
259 % The |def| in |\def*| avoids collisions with the plain \TeX\ 
260 % |\month| and |\year| (see the
261 % \href{http://www.tug.org/utilities/plain/cseq.html#month-rp}{month}
262 % and
263 % \href{http://www.tug.org/utilities/plain/cseq.html#year-rp}{year}
264 % entries in the HTML version of David Bausum's \emph{TeX Reference
265 % Manual}).
266 %
267 % \begin{command}
268 %   `\cs{degree}\marg{degree}'
269 % \end{command}
270 % \DescribeMacro{\degree}
271 % Set your target degree with \meta{degree}.  From the Manual 3.1 p8.
272 % \begin{quote}
273 %   Write out the name of the degree for which you are a candidate.
274 %   All Ph.D.\ candidates must use |Doctor of Philosophy|.  All
275 %   Master's degree candidates should use the precise degree name
276 %   (e.g., |Master of Science in Mechanical Engineering|).
277 % \end{quote}
278 % So, for a Ph.D candidate,
279 % \begin{example}
280 %   \degree{Doctor of Philosophy}
281 % \end{example}
282 %
283 % \begin{command}
284 %   `\cs{makecopyright}'
285 %   `\cs{makecopyrightCC}'
286 % \end{command}
287 % \DescribeMacros{\makecopyright,\makecopyrightCC}
288 % Write the copyright page (Manual 3.2 p9).
289 % Use |\makecopyright| to reserve all rights or |\makecopyrightCC| for
290 % a Creative Commons copyright.
291 %
292 % \begin{command}
293 %   `\cs{tableofcontents}'
294 % \end{command}
295 % \DescribeMacro{\tableofcontents}
296 % Write the table of contents (Manual 3.5 p9).  You can control the
297 % verbosity by setting |\tocdepth| according to the following table
298 % (\href{http://www.image.ufl.edu/help/latex/intext.shtml}{source}). \\
299 % \begin{tabular}{l l l}
300 %   Depth in document & Section Command & Depth for |\secnumdepth| Command \\
301 %   -1 & |\part| & 1 \\
302 %    0 & |\chapter| & 2 \\
303 %    1 & |\section| & 3 \\
304 %    2 & |\subsection| & 4 \\
305 %    3 & |\subsubsection| & 5 \\
306 %    4 & |\paragraph| & 6 \\
307 %    5 & |\subparagraph| & 7
308 % \end{tabular} \\
309 % For example, to expose everything down to and including the
310 % |\subsection| level, you would add
311 % \begin{example}
312 %   \setcounter{tocdepth}{2}
313 % \end{example}
314 % to your preamble (the section before |\begin{document}|, not the
315 % |preamble| environment discussed below).
316 %
317 % Note that the Manual 3.5 p9 requires ``List chapter titles and at
318 % least the first and second order subdivisions.'', which corresponds
319 % to a |\tocdepth| of at least 2.
320 %
321 % \begin{command}
322 %   `\cs{listoftables}'
323 % \end{command}
324 % \DescribeMacro{\listoftables}
325 % Write the List of Tables page (Manual 3.7 p10).
326 % Skip if you have no tables in your thesis.
327 %
328 % \begin{command}
329 %   `\cs{listoffigures}'
330 % \end{command}
331 % \DescribeMacro{\listoffigures}
332 % Write the List of Figures page (Manual 3.7 p10).
333 % Skip if you have no figures in your thesis.
334 %
335 % \begin{command}
336 %   `\cs{blanklines}\marg{num}'
337 % \end{command}
338 % \DescribeMacro{\blanklines}
339 % Insert \meta{num} blank lines.  For example
340 % \begin{example}
341 %   \blanklines{2}
342 % \end{example}
343 % The skipped lines are always \emph{single spaced} lines, regardless
344 % of the current line spacing in the environment calling this macro.
345 %
346 %
347 % \subsection{Environments}
348 %
349 % \DescribeEnv{preamble}
350 % Generalize the |\frontmatter| for the thesis, setting up page
351 % numbering, including the title page, copyright page etc.  The
352 % |preamble| environment should contain the following elements
353 % (in order, see the Manual p8)
354 % \begin{itemize}
355 %   \item |dedication| environment (optional)
356 %   \item |acknowledgments| environment (optional)
357 %   \item |\tableofcontents|
358 %   \item |\listoftables|
359 %   \item |\listoffigures|
360 %   \item |abstract| environment
361 % \end{itemize}
362 % This will take care of everything from the title page (Manual 3.1),
363 % up through the blank page before the text (Manual 3.9).
364 %
365 % \DescribeEnv{dedications}
366 % Set the dedications text.
367 % Highlights from the Manual 3.3 p9:
368 % \begin{quote}
369 %   The |Dedications| page is optional.
370 % \end{quote}
371 %
372 % \DescribeEnv{acknowledgments}
373 % Set the acknowledgments text.
374 % Highlights from the Manual 3.4 p9:
375 % \begin{quote}
376 %   The |Acknowledgments| page is optional, but most theses do
377 %   include a brief statement of thanks or recognition of any special
378 %   assistance.
379 % \end{quote}
380 %
381 % \DescribeEnv{abstract}
382 % Set the thesis abstract text.  In the Thesis Manual, see section 3.8
383 % Abstract (p10) for details, p20 for an example.
384 %
385 % Highlights from the Manual:
386 % \begin{quote}
387 %   The abstract is a summary that allows readers to determine the
388 %   value of reading the full thesis.  It should include a statement
389 %   of the problem, an outline of procedures or methods, and a summary
390 %   of results and conclusions.
391 % \end{quote}
392 % \begin{itemize}
393 %   \item Word limits: 600 for a Master's thesis, 350 for a Ph.D.\ thesis.
394 % \end{itemize}
395 %
396 % \DescribeEnv{thesis}
397 % Set the thesis text.  In the Thesis Manual, see section 3.10 Thesis
398 % (p11) for details.
399 %
400 % Highlights from the Manual:
401 % \begin{quote}
402 %   Divide the text into its major parts/chapters/subsections.  No
403 %   fixed arrangement is necessary.  The major parts may contain such
404 %   subjects as introduction, general argument, description of
405 %   experimental procedures, research methods, discussion, summary,
406 %   conclusions, recommendations, and other pertinent topics that are
407 %   necessary for a complete understanding on the part of a
408 %   sophisticated or professional reader.
409 % \end{quote}
410 %
411 % \DescribeEnv{vita}
412 % Set the thesis vita text (Ph.D.\ only).  See the Manual 3.15 p12,
413 % ``Vita'', for details.
414 %
415 % Highlights from the Manual:
416 % \begin{quote}
417 %   The Vita is a biography of the student written in the third person
418 %   in either essay or outline form.  It should include the full name,
419 %   place and date of birth (optional), country of citizenship
420 %   (optional), institutions attended, degrees and honors received,
421 %   titles of publications, teaching and professional experience, and
422 %   other pertinent data.  The Vita must be one page or less.
423 % \end{quote}
424 %
425 %
426 % \subsection{Hints}
427 %
428 %
429 % \subsubsection{Package installation}
430 % \label{sec:dependencies}
431 %
432 % All the packages this class depends on must be installed somewhere
433 % in your texmf tree (they probably already are).  If not, you will
434 % recieve warning messages on compilation such as
435 % \begin{example}
436 %   ! LaTeX Error: File `missing-package.sty' not found.
437 % \end{example}
438 % You should then install the missing package(s) using your operating
439 % systems package manager, or grab the missing package from
440 % \href{http://www.ctan.org/}{CTAN}, and install them following TODO.
441 %
442 %
443 % \subsubsection{Tables and Figures}
444 %
445 % From the Manual 2.3 p6, ``Tables and Figures'', 
446 % \begin{quote}
447 %   Place figure captions below figures.
448 %   Place table captions above tables.
449 % \end{quote}
450 % so make sure the |\caption| command is in the appropriate location.
451 % For example
452 % \begin{example}
453 %   \begin{table}
454 %      \caption{Some caption text}
455 %      \begin{tabular}{...}
456 %        ...
457 %      \end{tabular}
458 %   \end{table}
459 % \end{example}
460 % or
461 % \begin{example}
462 %   \begin{float}
463 %      \includegraphics{...}
464 %      \caption{Some caption text}
465 %   \end{float}
466 % \end{example}
467 % Note that you'll want to use the
468 % \href{http://www.ctan.org/tex-archive/macros/latex/required/graphics/}{\pkg{graphicx}}
469 % package to define the |\includegraphics| macro.  For more useful
470 % float information, see the
471 % \href{http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions}{\LaTeX wikibook page}.
472
473 %
474 % \subsubsection{Citations}
475 %
476 % I highly recommend using \BibTeX\ and
477 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/natbib/}{\pkg{natbib}}.
478 % See Section \ref{sec:natbib-example} for a simple example.
479 %
480 % Suggested options:\\
481 % \begin{tabular}{r p{0.8\textwidth}}
482 %   |super| & selects citations in superscript mode. \\
483 %   |sort&compress| & automatically sorts and compresses compound
484 %     citations (|\pcite{a,b,...}|).
485 % \end{tabular}
486 %
487 %
488 % \subsubsection{References}
489 %
490 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/cleveref/}{\pkg{cleveref}}.
491 % Is a wonderful tool for easy, consistent crosslinking.  The manual is also very good.
492 %
493 %
494 % \subsubsection{Hyperlinks}
495 %
496 % \cls{drexel-thesis} loads
497 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref/}{\pkg{hyperref}}.
498 % with the options:\\
499 % \begin{tabular}{r p{0.8\textwidth}}
500 %   |colorlinks| & color the link letters instead of drawing colored boxes. \\
501 % \end{tabular}
502 %
503 % If running with a pdftex-based driver, |\author|, |\title|, and
504 % |\degree| automatically set |pdfauthor|, |pdftitle|, and
505 % |pdfsubject| respectively.  You can use the |\hypersetup| macro to
506 % set options overriding these defaults.
507 %
508 %
509 % \StopEventually{\pagebreak\PrintChanges}
510 %
511 %
512 % \section{Implementation}
513 % \iffalse meta-comment
514 %<*class>
515 % \fi
516 %
517 % For simplicity, we'll derive everything from the standard \cls{book}
518 % class.
519 %
520 %
521 % \subsection{Option Processing}
522 %
523 % Include
524 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/xkeyval/}{\pkg{xkeyval}}
525 % for easier option parsing.  If the package is not installed on your system,
526 % see Section \ref{sec:dependencies} for installation instructions.
527 %    \begin{macrocode}
528 \RequirePackage{xkeyval}
529 %    \end{macrocode}
530 %
531 % Define some booleans to store option states
532 %    \begin{macrocode}
533 \newif\if@mainmatter \@mainmattertrue
534 \newif\if@dottedchapter 
535 \newif\if@boldchapter
536 \newif\if@boldpart
537 \newif\if@dottedpart
538 \newif\if@draftwatermark
539 \newif\if@appendix
540 \newif\if@final \@finalfalse
541 %    \end{macrocode}
542 %
543 % Define some strings to store option arguments
544 %    \begin{macrocode}
545 \newcommand{\@advisor}{ }
546 \newcommand{\def@month}{ }
547 \newcommand{\def@year}{ }
548 \newcommand{\@degree}{ }
549 %    \end{macrocode}
550 % \begin{option}{finalspace}
551 %    \begin{macrocode}
552 \DeclareOptionX{finalspace}{
553   \setlength\overfullrule{0pt}
554   \def\@csp{2} % content page spacing
555   \def\@ssp{1} % single space
556   \def\@dsp{2} % double space
557   \def\@tsp{3} % triple space
558   \@finaltrue
559 }
560 %    \end{macrocode}
561 % \end{option}
562 % \begin{option}{draftspace}
563 %    \begin{macrocode}
564 \DeclareOptionX{draftspace}{
565   \setlength\overfullrule{5pt}
566   \def\@csp{1} % content page spacing
567   \def\@ssp{1} % single space
568   \def\@dsp{1} % double space
569   \def\@tsp{2} % triple space
570   \@finalfalse
571 }
572 %    \end{macrocode}
573 % \end{option}
574 %
575 % \begin{option}{dottedpart}
576 %    \begin{macrocode}
577 \DeclareOptionX{dottedpart}{\@dottedparttrue}
578 %    \end{macrocode}
579 % \end{option}
580 % \begin{option}{dottedchapter}
581 %    \begin{macrocode}
582 \DeclareOptionX{dottedchapter}{\@dottedchaptertrue}
583 %    \end{macrocode}
584 % \end{option}
585 % \begin{option}{boldpart}
586 %    \begin{macrocode}
587 \DeclareOptionX{boldpart}{\@boldparttrue}
588 %    \end{macrocode}
589 % \end{option}
590 % \begin{option}{boldchapter}
591 %    \begin{macrocode}
592 \DeclareOptionX{boldchapter}{\@boldchaptertrue}
593 %    \end{macrocode}
594 % \end{option}
595 % \begin{option}{dottedtoc}
596 %    \begin{macrocode}
597 \DeclareOptionX{dottedtoc}{
598   \setkeys{drexel-thesis.cls}{dottedpart}
599   \setkeys{drexel-thesis.cls}{dottedchapter}
600 }
601 %    \end{macrocode}
602 % \end{option}
603 % \begin{option}{boldtoc}
604 %    \begin{macrocode}
605 \DeclareOptionX{boldtoc}{
606   \setkeys{drexel-thesis.cls}{boldpart}
607   \setkeys{drexel-thesis.cls}{boldchapter}
608 }
609 %    \end{macrocode}
610 % \end{option}
611 %
612 % \begin{option}{draftwatermark}
613 % Set draft watermark flag
614 %    \begin{macrocode}
615 \DeclareOptionX{draftwatermark}{\@draftwatermarktrue}
616 %    \end{macrocode}
617 % \end{option}
618 %
619 % Define the book options that |final| and |draft| need to access.
620 % \begin{option}{oneside}
621 %    \begin{macrocode}
622 \DeclareOptionX{oneside}{\PassOptionsToClass{oneside}{book}}
623 %    \end{macrocode}
624 % \end{option}
625 %
626 % \begin{option}{twoside}
627 %    \begin{macrocode}
628 \DeclareOptionX{twoside}{\PassOptionsToClass{twoside}{book}}
629 %    \end{macrocode}
630 % \end{option}
631 %
632 % \begin{option}{final}
633 %    \begin{macrocode}
634 \DeclareOptionX{final}{
635   \setkeys{drexel-thesis.cls}{oneside}
636   \setkeys{drexel-thesis.cls}{finalspace}
637   \setkeys{drexel-thesis.cls}{dottedtoc}
638 }
639 %    \end{macrocode}
640 % \end{option}
641 %
642 % \begin{option}{draft}
643 %    \begin{macrocode}
644 \DeclareOptionX{draft}{
645   \setkeys{drexel-thesis.cls}{twoside}
646   \setkeys{drexel-thesis.cls}{draftspace}
647   \setkeys{drexel-thesis.cls}{dottedtoc}
648   \setkeys{drexel-thesis.cls}{draftwatermark}
649 }
650 %    \end{macrocode}
651 % \end{option}
652 %
653 % Use the default \cls{book} implementation for any remaining options
654 % including |oneside|, |twoside|, |leqno|, |fleqn|,
655 % \ldots.
656 %    \begin{macrocode}
657 \DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{book}}
658 %    \end{macrocode}
659 %
660 % Execute the default options
661 %    \begin{macrocode}
662 \ExecuteOptionsX{final}
663 %    \end{macrocode}
664 %
665 % Process options and load the book class
666 %    \begin{macrocode}
667 \ProcessOptionsX\relax
668 \LoadClass{book}
669 %    \end{macrocode}
670 %
671 %
672 % \subsection{Internal package includes}
673 %
674 % Include some other packages we'll need.  If the package is not
675 % installed on your system, see Section \ref{sec:dependencies} for
676 % installation instructions.
677 %
678 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/setspace/}{\pkg{setspace}}
679 % for double spacing.
680 %    \begin{macrocode}
681 \RequirePackage{setspace}
682 %    \end{macrocode}
683 %
684 % \href{http://www.ctan.org/tex-archive/macros/latex/required/tools/}{\pkg{calc}}
685 % for |\blanklines| macro.
686 %    \begin{macrocode}
687 \RequirePackage{calc}
688 %    \end{macrocode}
689 %
690 % The Comp.~Sci.\ class used
691 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/draftcopy/}{\pkg{draftcopy}}
692 % to add their watermarks, but as of the current 2002/02/25 v2.16, it
693 % uses postscript specials, and so doesn't work with pdf\LaTeX.
694 % Instead we use the recent (catalogued 2009/11/03)
695 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/draftmark/}{\pkg{draftmark}}
696 % which unfortunately has a number of apparently non-standard dependencies
697 % (\href{http://www.ctan.org/tex-archive/macros/latex/contrib/etextools/}{\pkg{etextools}},
698 %  \href{http://www.ctan.org/tex-archive/macros/latex/contrib/etoolbox/}{\pkg{etoolbox}},
699 %  \href{http://www.ctan.org/tex-archive/macros/latex/contrib/xifthen/}{\pkg{xifthen}},
700 %  \href{http://www.ctan.org/tex-archive/macros/latex/contrib/ltxnew/}{\pkg{ltxnew}},
701 %  \href{http://www.ctan.org/tex-archive/macros/latex/contrib/pagerange/}{\pkg{pagerange}},
702 %  \href{http://www.ctan.org/tex-archive/macros/latex/contrib/lastpage/}{\pkg{lastpage}},
703 %  if only I had the space to install |texlive-latexextra| |:p|).
704 % The output is, however, very flexible, and it \emph{does} work with
705 % both \LaTeX and pdf\LaTeX.  If you don't like the default watermark,
706 % you can also adjust the particulars with |\draftmarksetup|.
707 %    \begin{macrocode}
708 \if@draftwatermark
709   \RequirePackage[draft,allpages,mark={DRAFT \today},
710                   fontsize=2cm,grayness=0.9]{draftmark}
711 \fi
712 %    \end{macrocode}
713 %
714 % Setup page margins with the
715 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/geometry/}{\pkg{geometry}}
716 % package.  From the Manual p5:
717 % \begin{itemize}
718 %   \item The left margin must be at least 1 1/2'' (1.5 inches)
719 %   throughout the document.
720 %   \item All other margins (top, bottom, and right) must be at least 1''.
721 % \end{itemize}
722 % And from the Manual 1.5 p4, Print Version:
723 % ``The paper size must be 8 1/2'' x 11''{}''.
724 %    \begin{macrocode}
725 \RequirePackage[letterpaper,margin=1in,bindingoffset=0.5in]{geometry}
726 %    \end{macrocode}
727 % Note that we include the \pkg{geometry} package after loading \cls{book} to
728 % override the margin manipulation that takes place in \cls{book}.
729 %
730 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/fancyhdr/}{\pkg{fancyhdr}}
731 % for correct page numbering and fancy headers.
732 %    \begin{macrocode}
733 \RequirePackage{fancyhdr}
734 %    \end{macrocode}
735 % Setup the standard |fancy| format.  |\leftmark| is the higher level
736 % mark, see |\chaptermark| below.  |\rightmark| is the lower level
737 % mark, see |\sectionmark| below.
738 %    \begin{macrocode}
739 \pagestyle{fancy}
740 \fancyhf{}
741 \fancyhead[LE,RO]{\slshape\rightmark}
742 \fancyhead[LO,RE]{\slshape\leftmark}
743 \fancyfoot[LE,RO]{\thepage}
744 %    \end{macrocode}
745 % Override the |plain| format (for chapter pages, etc.).
746 %    \begin{macrocode}
747 \fancypagestyle{plain}{
748   \fancyhf{}
749   \renewcommand{\headrulewidth}{0pt}
750   \fancyfoot[LE,RO]{\thepage}
751 }
752 %    \end{macrocode}
753 %
754 % Setup colon rather than period separated chapter marks, overriding
755 % \cls{book}'s |\chaptermark|.
756 %    \begin{macrocode}
757 \renewcommand\chaptermark[1]{%
758   \markboth {\MakeUppercase{%
759     \ifnum \c@secnumdepth >\m@ne
760       \if@mainmatter
761         \@chapapp\ \thechapter: \ %
762       \fi
763     \fi
764     #1}}{}}
765 %    \begin{macrocode}
766 %
767 % Setup space rather than period separated section marks, overriding
768 % \cls{book}'s |\sectionmark|.
769 %    \begin{macrocode}
770 \renewcommand{\sectionmark}[1]{%
771   \markright {\MakeUppercase{%
772     \ifnum \c@secnumdepth >\z@
773       \thesection \ %
774     \fi
775     #1}}}
776 %    \end{macrocode}
777 %
778 % \href{http://www.ctan.org/tex-archive/macros/latex/required/graphics/}{\pkg{graphicx}}
779 % for |\includegraphics|.  Not strictly necessary, but I can't imagine
780 % a thesis without figures.
781 %    \begin{macrocode}
782 \RequirePackage{graphicx}
783 %    \end{macrocode}
784 %
785 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/}{\pkg{ifpdf}}
786 % for detecting PDF drivers.  We use it to configure \pkg{hyperref} below.
787 %    \begin{macrocode}
788 \RequirePackage{ifpdf}
789 %    \end{macrocode}
790
791 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref/}{\pkg{hyperref}}
792 % for hyperlinks.  Not strictly necessary, but I can't imagine a
793 % thesis without it.
794 %    \begin{macrocode}
795 \RequirePackage{hyperref}
796 %    \end{macrocode}
797 % Nobody likes the default colored boxes.  Color the text itself.
798 %    \begin{macrocode}
799 \hypersetup{colorlinks}
800 %    \end{macrocode}
801 % If we're writing a PDF, we set the |pdfauthor|, etc.\ arguments in
802 % |\author|, etc.\ to avoid using |\AtBeginDocument| or some such.
803 %
804 %
805 % \subsection{Macros}
806 %
807 % \begin{macro}{\author}
808 % Override |latex.ltx|'s |\author| to set \pkg{hyperref}'s |pdfauthor|.
809 %    \begin{macrocode}
810 \renewcommand{\author}[1]{
811   \gdef\@author{#1}
812   \ifpdf \hypersetup{pdfauthor={\@author}} \fi
813 }
814 %    \end{macrocode}
815 % \end{macro}
816 % \begin{macro}{\title}
817 % Override |latex.ltx|'s |\title| to set \pkg{hyperref}'s |pdftitle|.
818 %    \begin{macrocode}
819 \renewcommand{\title}[1]{
820   \gdef\@title{#1}
821   \ifpdf \hypersetup{pdftitle={\@title}} \fi
822 }
823 %    \end{macrocode}
824 % \end{macro}
825 % \begin{macro}{\advisor}
826 %    \begin{macrocode}
827 \newcommand{\advisor}[1]{\renewcommand{\@advisor}{#1}}
828 %    \end{macrocode}
829 % \end{macro}
830 % \begin{macro}{\defmonth}
831 %    \begin{macrocode}
832 \newcommand{\defmonth}[1]{\renewcommand{\def@month}{#1}}
833 %    \end{macrocode}
834 % \end{macro}
835 % \begin{macro}{\defyear}
836 %    \begin{macrocode}
837 \newcommand{\defyear}[1]{\renewcommand{\def@year}{#1}}
838 %    \end{macrocode}
839 % \end{macro}
840 % \begin{macro}{\degree}
841 %    \begin{macrocode}
842 \newcommand{\degree}[1]{
843   \renewcommand{\@degree}{#1}
844   \ifpdf \hypersetup{pdfsubject={\@degree}} \fi
845 }
846 %    \hypersetup{pdfauthor={\@author}}
847 %    \hypersetup{pdftitle={\@title}}
848 %    \hypersetup{pdfstartview=FitH}
849 %  }
850 %    \end{macrocode}
851 % \end{macro}
852 %
853 % Set the official names of the various sections encountered
854 % \begin{macro}{\dedicationsname}
855 % From the Manual 3.3 p9, ``The heading |Dedications| must appear at
856 % the top of the page.''
857 %    \begin{macrocode}
858 \newcommand\dedicationsname{Dedications}
859 %    \end{macrocode}
860 % \end{macro}
861 % \begin{macro}{\acknowledgmentsname}
862 % From the Manual 3.4 p9, ``The heading |Acknowledgments| must appear
863 % at the top of the page.''
864 %    \begin{macrocode}
865 \newcommand\acknowledgmentsname{Acknowledgments}
866 %    \end{macrocode}
867 % \end{macro}
868 % \begin{macro}{\contentsname}
869 % From the Manual 3.5 p9, ``The heading |Table of Contents| must
870 % appear at the top of the page.''  Override \cls{book}'s definition.
871 %    \begin{macrocode}
872 \renewcommand\contentsname{Table of Contents}
873 %    \end{macrocode}
874 % \end{macro}
875 % \begin{macro}{\listtablename}
876 % From the Manual 3.6 p10, ``The heading |List of Tables| must appear
877 % at the top of the page.''
878 % Override \cls{book}'s definition.
879 %    \begin{macrocode}
880 \renewcommand\listtablename{List of Tables}
881 %    \end{macrocode}
882 % \end{macro}
883 % \begin{macro}{\listfigurename}
884 % From the Manual 3.7 p10, ``The heading |List of Figures| must appear
885 % at the top of the page.''
886 % Override \cls{book}'s definition.
887 %    \begin{macrocode}
888 \renewcommand\listfigurename{List of Figures}
889 %    \end{macrocode}
890 % \end{macro}
891 % \begin{macro}{\abstractname}
892 % From the Manual 3.8 p10, ``The following heading must be centered at
893 % the top of the first page: |Abstract|\ldots''
894 %    \begin{macrocode}
895 \newcommand\abstractname{Abstract}
896 %    \end{macrocode}
897 % \end{macro}
898 % \begin{macro}{\bibname}
899 % From the Manual 3.13 p12, ``The heading |Bibliography| (or
900 % |List of References|) must appear at the top of first page.''
901 % Override \cls{book}'s definition.
902 %    \begin{macrocode}
903 \renewcommand\bibname{Bibliography}
904 %    \end{macrocode}
905 % \end{macro}
906 % \begin{macro}{\appendixname}
907 % From the Manual 3.14 p12, ``Number the appendicies consecutively
908 % either alphabetically or numerically (|Appendix A|, |Appendix B|\ldots
909 % or |Appendix 1|, |Appendix 2|\ldots).''
910 % Override \cls{book}'s definition.
911 %    \begin{macrocode}
912 \renewcommand\appendixname{Appendix}
913 %    \end{macrocode}
914 % \end{macro}
915 % \begin{macro}{\vitaname}
916 % From the Manual 3.15 p13, ``The heading |Vita| must appear at the
917 % top of the page.''
918 %    \begin{macrocode}
919 \newcommand\vitaname{Vita}
920 %    \end{macrocode}
921 % \end{macro}
922 %
923 % \begin{macro}{\blankpage}
924 % Insert a blank page without numbering (except in draft mode).
925 %    \begin{macrocode}
926 \newcommand\blankpage{%
927   \if@final
928     \clearpage
929     \thispagestyle{empty}
930     \hphantom{0}
931     \clearpage
932   \else\fi
933 }
934 %    \end{macrocode}
935 % \end{macro}
936 %
937 % \begin{macro}{\set@lines@length}
938 % Protecting against external |spacing| environments.  Requires
939 % \pkg{calc} for the multiplication.
940 %    \begin{macrocode}
941 \let\DUT@baselineskip\baselineskip
942 \newcommand{\set@lines@length}[2]{%
943   \setlength{#1}{\DUT@baselineskip * {#2}}
944 }
945 %    \end{macrocode}
946 % \end{macro}
947 % \begin{macro}{\blanklines}
948 % Insert number of blank lines.
949 %    \begin{macrocode}
950 \newlength\DUT@blanklines@length
951 \newcommand{\blanklines}[1]{%
952   \begin{spacing}{1}
953     \set@lines@length{\DUT@blanklines@length}{#1}%
954     \vspace{\DUT@blanklines@length}
955   \end{spacing}
956 }
957 %    \end{macrocode}
958 % \end{macro}
959 %
960 % \begin{macro}{\maketitle}
961 % Automate the creation of the title page.
962 % From Manual 3.1 p8, ``Title Page'', and the example on p16.
963 % \begin{itemize}
964 %   \item This page is counted but not numbered (it counts as page i,
965 %   but should not have a page number).  TODO: How is this implemented?
966 % \end{itemize}
967 % Override \cls{book}'s definition.
968 %    \begin{macrocode}
969 \renewcommand\maketitle{
970   \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
971   \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
972   \long\def\@makefntext##1{\parindent 1em\noindent
973        \hb@xt@1.8em{%
974        \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
975   \begin{titlepage}%
976     \ifpdf
977       \pdfbookmark[-1]{Frontmatter}{frontmatter}
978       \pdfbookmark[0]{Title Page}{title}
979     \fi
980     \vspace*{\fill}
981     \begin{center}%
982     \begin{spacing}{\@tsp}
983       {\bf \@title \par}%
984     \end{spacing}
985     \begin{spacing}{\@dsp}
986       A Thesis\\
987       Submitted to the Faculty\\
988       of\\
989       Drexel University\\
990       by\\
991       \@author \\
992       in partial fulfillment of the\\
993       requirements for the degree\\
994       of\\
995       \@degree\\
996       \def@month\ \def@year
997     \end{spacing}
998     \end{center}\par
999     \vspace*{\fill}
1000   \end{titlepage}%
1001   \setcounter{footnote}{0}%
1002   \global\let\maketitle\relax
1003   \global\let\and\relax
1004 }
1005 %    \end{macrocode}
1006 % \end{macro}
1007 %
1008 % \begin{macro}{\m@kecopyright}
1009 % Automate the creation of the copyright page.
1010 % From Manual 3.2 p9, ``Copyright Page''.
1011 % \begin{itemize}
1012 %   \item Include a copyright page with the following information: a
1013 %   copyright notice, full legal name of author, and date of
1014 %   publication on file.
1015 %   \item This page is neither counted nor numbered.
1016 % \end{itemize}
1017 %    \begin{macrocode}
1018 \newcommand\m@kecopyright[1]{%
1019   \clearpage
1020   \ifpdf \pdfbookmark[0]{Copyright Page}{copyright} \fi
1021   \vspace*{\fill}
1022   \begin{center}
1023     \copyright~Copyright \def@year\\
1024     \@author.  #1
1025   \end{center}
1026   \vspace*{\fill}
1027 %    \end{macrocode}
1028 % |\thispagestyle{empty}| turns off page numbering for the current
1029 % page.  See
1030 % \href{http://www.personal.ceu.hu/tex/pagestyl.htm#pgstyle}{here}.
1031 %    \begin{macrocode}
1032   \thispagestyle{empty}
1033 }
1034 %    \end{macrocode}
1035 % \end{macro}
1036 %
1037 % \begin{macro}{\makecopyright}
1038 %    \begin{macrocode}
1039 \newcommand\makecopyright{%
1040   \m@kecopyright{All Rights Reserved.}
1041 }
1042 %    \end{macrocode}
1043 % \end{macro}
1044 %
1045 % \begin{macro}{\makecopyrightCC}
1046 %    \begin{macrocode}
1047 \newcommand\makecopyrightCC{
1048   \m@kecopyright{
1049     \begin{quote}
1050       This work is licensed under the terms of the Creative Commons
1051       Attribution-ShareAlike license.  The license is available at \\
1052       \url{http://creativecommons.org/licenses/by-sa/2.0/}.
1053     \end{quote}
1054   }
1055 }
1056 %    \end{macrocode}
1057 % \end{macro}
1058 %
1059 % \begin{macro}{\tableofcontents}
1060 % Automate the creation of the table of contents.
1061 % From Manual 3.5 p9, ``Table of Contents'', and the example on p17.
1062 % \begin{itemize}
1063 %   \item Do not list any sections that precede the
1064 %   |Table of Contents| (e.g.\ |Dedications|, |Acknowledgments|).  Do
1065 %   not list the |Table of Contents| itself.
1066 %   \item These pages are counted and numbered in lowercase Roman numerals.
1067 % \end{itemize}
1068 % Override \cls{book}'s definition.
1069 %    \begin{macrocode}
1070 \renewcommand\tableofcontents{%
1071   \clearpage
1072   \ifpdf
1073     \phantomsection
1074     \pdfbookmark[0]{\contentsname}{tableofcontents}
1075   \fi
1076   \chapter*{\contentsname}
1077   \@mkboth{\MakeUppercase\contentsname}%
1078           {\MakeUppercase\contentsname}%
1079   \@starttoc{toc}%
1080 }
1081 %    \end{macrocode}
1082 % \end{macro}
1083 %
1084 %
1085 % \subsection{Environments}
1086 %
1087 % \begin{environment}{preamble}
1088 %    \begin{macrocode}
1089 \newenvironment{preamble}{%
1090   \cleardoublepage
1091   \@mainmatterfalse
1092   \pagenumbering{roman}
1093 %    \end{macrocode}
1094 % From Manual 3.1 p8, ``Title Page''.
1095 %    \begin{macrocode}
1096   \maketitle
1097 %    \end{macrocode}
1098 % From Manual 3.2 p9, ``Copyright Page''.
1099 %    \begin{macrocode}
1100   \makecopyright
1101 }{%
1102 %    \end{macrocode}
1103 % From the Manual 3.9, p11:
1104 % \begin{quote}
1105 %   Include a blank page (with no page number) before the first page
1106 %   of text.  The blank page is neither numbered nor counted.
1107 % \end{quote}
1108 %    \begin{macrocode}
1109   \blankpage
1110 }
1111 %    \end{macrocode}
1112 % \end{environment}
1113 %
1114 % \begin{environment}{dedications}
1115 % From the Manual 3.3 p9
1116 % \begin{itemize}
1117 %   \item The heading |Dedications| must appear at the top of the
1118 %   page.  The heading must be bold, centered, and without
1119 %   punctuation.
1120 %   \item This page is counted and numbered in lowercase Roman numerals.
1121 % \end{itemize}
1122 %    \begin{macrocode}
1123 \newenvironment{dedications}{%
1124   \clearpage
1125   \ifpdf
1126     \phantomsection
1127     \pdfbookmark[0]{\dedicationsname}{dedications}
1128   \fi
1129   \chapter*{\dedicationsname}
1130   \begin{spacing}{\@dsp}
1131 }{%
1132   \end{spacing}
1133 }
1134 %    \end{macrocode}
1135 % \end{environment}
1136 %
1137 % \begin{environment}{acknowledgments}
1138 % From the Manual 3.4 p9
1139 % \begin{itemize}
1140 %   \item The heading |Acknowledgments| must appear at the top of the
1141 %   page.  The heading must be bold, centered, and without
1142 %   punctuation.
1143 %   \item This page is counted and numbered in lowercase Roman numerals.
1144 % \end{itemize}
1145 %    \begin{macrocode}
1146 \newenvironment{acknowledgments}{%
1147   \clearpage
1148   \ifpdf
1149     \phantomsection
1150     \pdfbookmark[0]{\acknowledgmentsname}{acknowledgments}
1151   \fi
1152   \chapter*{\acknowledgmentsname}
1153   \begin{spacing}{\@dsp}
1154 }{%
1155   \end{spacing}
1156 }
1157 %    \end{macrocode}
1158 % \end{environment}
1159 %
1160 % \begin{environment}{abstract}
1161 %    \begin{macrocode}
1162 \newenvironment{abstract}{%
1163   \clearpage
1164   \thispagestyle{plain}%
1165   \global\@topnum\z@
1166   \phantomsection
1167   \addcontentsline{toc}{chapter}{\abstractname}
1168   \vspace*{50\p@}%
1169 %    \end{macrocode}
1170 % From the Manual 3.9 p10 ``The following heading must be centered at
1171 % the top of the page'':
1172 % \begin{center}
1173 %   Abstract \\
1174 %   Full Title of Dissertation or Thesis \\
1175 %   Author's Name as it appears on the Dissertation or Thesis
1176 % \end{center}
1177 % In the example on p20, they list the advisor's name after the
1178 % author, but that is not specified in the text on p10.
1179 %
1180 % On p20, ``These pages are numbered using lowercase Roman numerals.
1181 % Note that the heading is single spaced, but the abstract is double
1182 % spaced.''
1183 %    \begin{macrocode}
1184   \begin{spacing}{\@ssp}
1185     \begin{center}
1186       {\large \bfseries \abstractname \par}
1187 %%      \@endparpenalty\@M
1188       \@title\\
1189       \@author\\
1190       \@advisor\\
1191     \end{center}
1192   \end{spacing}
1193   \blanklines{2}
1194   \begin{spacing}{\@dsp}
1195   \@nobreaktrue
1196   \@afterindentfalse
1197   \@afterheading
1198 }{%
1199   \end{spacing}
1200 }
1201 %    \end{macrocode}
1202 % \end{environment}
1203 %
1204 % \begin{environment}{thesis}
1205 % From the Manual 3.10 p11
1206 % \begin{itemize}
1207 %   \item The pages are counted and numbered in Arabic numerals.
1208 % \end{itemize}
1209 %    \begin{macrocode}
1210 \newenvironment{thesis}{%
1211   \mainmatter
1212   \begin{spacing}{\@dsp}
1213 }{%
1214   \end{spacing}
1215   \clearpage
1216   \ifpdf
1217     \phantomsection
1218     \pdfbookmark[-1]{Backmatter}{backmatter}
1219   \fi
1220 }
1221 %    \end{macrocode}
1222 % \end{environment}
1223 %
1224 % \begin{environment}{vita}
1225 % From the Manual 3.15 p13
1226 % \begin{itemize}
1227 %   \item The heading |Vita| must appear at the top of the page.  The
1228 %   heading must be bold, centered, and without punctuation.
1229 %   \item The Vita text should begin four spaces below the heading.
1230 %   \item List the Vita separately in the Table of Contents.
1231 %   \item The page is counted and numbered in Arabic numerals.
1232 % \end{itemize}
1233 %    \begin{macrocode}
1234 \newenvironment{vita}{%
1235   \clearpage
1236   \phantomsection
1237   \addcontentsline{toc}{chapter}{\vitaname}
1238   \chapter*{\vitaname}
1239   \blanklines{1}
1240   \begin{spacing}{\@dsp}
1241 }{%
1242   \end{spacing}
1243 }
1244 %    \end{macrocode}
1245 % \end{environment}
1246 %
1247 %
1248 % \subsection{Adjust from the \LaTeX/\cls{book} defaults}
1249 %
1250 %
1251 % |\intextsep| sets the space left on top and bottom of an in-text
1252 % float (see
1253 % \href{http://www.eng.cam.ac.uk/help/tpl/textprocessing/squeeze.html}{here}).
1254 %    \begin{macrocode}
1255 \setlength\intextsep{30pt}
1256 %    \end{macrocode}
1257 %
1258 %
1259 % \subsubsection{Part and chapter headings}
1260 %
1261 % Override \cls{book}'s |\makechapterhead|.
1262 % From the Manual 3.11 p11.
1263 % \begin{quote}
1264 %   Chapter headings must be bold and centered.
1265 %   The chapter number and title must be on the same line, separated
1266 %   by a colon or period, as shown in the example below:
1267 %   \begin{center}
1268 %     CHAPTER 1: INTRODUCTION
1269 %   \end{center}
1270 %   Headings must not be larger than 12 points.
1271 %   Headings must be single spaced.
1272 % \end{quote}
1273 %    \begin{macrocode}
1274 \def\@makechapterhead#1{%
1275   \vspace*{50\p@}%
1276 %    \end{macrocode}
1277 % Replaced |\normalfont| with |\reset@font| (TODO: why?).
1278 %    \begin{macrocode}
1279   {\parindent \z@ \raggedright \reset@font
1280     \ifnum \c@secnumdepth >\m@ne
1281 %    \end{macrocode}
1282 % Removed |\if@mainmatter| conditional guarding this indented section
1283 % (TODO: why?).
1284 %    \begin{macrocode}
1285         \par\nobreak
1286         \vskip 20\p@
1287     \fi
1288     \interlinepenalty\@M
1289 %    \end{macrocode}
1290 % Ensure single spacing, and ensure the chapter heading will have a
1291 % centered, |\large|, bold \emph{Chapter \#: Title} or \emph{Appendix
1292 % \#: Title} format (as opposed to \cls{book}'s unaligned, |\Huge|,
1293 % bold \emph{Title}).
1294 %    \begin{macrocode}
1295     \begin{spacing}{\@ssp}
1296     \center \large \bfseries \@chapapp{} \thechapter: #1\par\nobreak
1297     \blanklines{2}
1298     \end{spacing}
1299   }
1300 }
1301 %    \end{macrocode}
1302 %
1303 % Override \cls{book}'s |\@makeschapterhead|.  TODO: Why?
1304 %    \begin{macrocode}
1305 \def\@makeschapterhead#1{%
1306   \vspace*{50\p@}%
1307    {\parindent \z@ \raggedright
1308 %    \end{macrocode}
1309 % Replaced |\normalfont| with |\reset@font| (TODO: why?).
1310 %    \begin{macrocode}
1311     \reset@font
1312     \interlinepenalty\@M
1313 %    \end{macrocode}
1314 % Ensure single spacing.
1315 %    \begin{macrocode}
1316     \begin{spacing}{\@ssp}
1317 %    \end{macrocode}
1318 % Replaced |\Huge| with |\center \large|
1319 %    \begin{macrocode}
1320     \center \large \bfseries  #1\par\nobreak
1321 %    \end{macrocode}
1322 % Replaced |\vskip 40\p@| with |\blanklines{2}|
1323 %    \begin{macrocode}
1324     \blanklines{2}
1325     \end{spacing}
1326   }
1327 }
1328 %    \end{macrocode}
1329 %
1330 % Override \cls{book}'s |\section|, replacing |\Large| with |\large|.
1331 %    \begin{macrocode}
1332 \renewcommand\section{\@startsection {section}{1}{\z@}%
1333                                      {-3.5ex \@plus -1ex \@minus -.2ex}%
1334                                      {2.3ex \@plus.2ex}%
1335                                      {\normalfont\large\bfseries}}
1336 %    \end{macrocode}
1337 %
1338 % Fix |\@ssect| and |\@sect| from |latex.ltx| to give single spaced
1339 % headings.  These macros are defined in |ltsect.dtx|
1340 % (\href{http://www.ctan.org/tex-archive/macros/latex/base/}{\pkg{\LaTeX\ base}})),
1341 % but the documentation there is not great.
1342 % \begin{command}
1343 %    `\cs{@ssect}\bracearg{INDENT}\bracearg{BEFORESKIP}\bracearg{AFTERSKIP}'
1344 %    `~~\bracearg{STYLE}\bracearg{ARG}'
1345 %    `\cs{@sect}\bracearg{NAME}\bracearg{LEVEL}\bracearg{INDENT}\bracearg{BEFORESKIP}'
1346 %    `~~\bracearg{AFTERSKIP}\bracearg{STYLE}\brackarg{ARG1}\bracearg{ARG2}'
1347 % \end{command}
1348 % By comparison to \cls{book}'s |\@part| and |\@spart| (see below), I
1349 % imagine they have something to do with formatting section names.
1350 %    \begin{macrocode}
1351 \def\@ssect#1#2#3#4#5{%
1352   \@tempskipa #3\relax
1353   \ifdim \@tempskipa>\z@
1354     \begingroup
1355     \begin{spacing}{\@ssp}
1356       #4{%
1357         \@hangfrom{\hskip #1}%
1358           \interlinepenalty \@M #5\@@par}%
1359     \endgroup
1360     \end{spacing}
1361   \else
1362     \def\@svsechd{#4{\hskip #1\relax #5}}%
1363   \fi
1364   \@xsect{#3}}
1365 %    \end{macrocode}
1366 % Now for |\@sect|.
1367 %    \begin{macrocode}
1368 \def\@sect#1#2#3#4#5#6[#7]#8{%
1369   \ifnum #2>\c@secnumdepth
1370     \let\@svsec\@empty
1371   \else
1372     \refstepcounter{#1}%
1373     \protected@edef\@svsec{\@seccntformat{#1}\relax}%
1374   \fi
1375   \@tempskipa #5\relax
1376   \ifdim \@tempskipa>\z@
1377     \begingroup
1378     \begin{spacing}{\@ssp}
1379       #6{%
1380         \@hangfrom{\hskip #3\relax\@svsec}%
1381           \interlinepenalty \@M #8\@@par}%
1382     \end{spacing}
1383     \endgroup
1384     \csname #1mark\endcsname{#7}%
1385     \addcontentsline{toc}{#1}{%
1386       \ifnum #2>\c@secnumdepth \else
1387         \protect\numberline{\csname the#1\endcsname}%
1388       \fi
1389       #7}%
1390   \else
1391     \def\@svsechd{%
1392       #6{\hskip #3\relax
1393       \@svsec #8}%
1394       \csname #1mark\endcsname{#7}%
1395       \addcontentsline{toc}{#1}{%
1396         \ifnum #2>\c@secnumdepth \else
1397           \protect\numberline{\csname the#1\endcsname}%
1398         \fi
1399         #7}}%
1400   \fi
1401   \@xsect{#5}}
1402 %    \end{macrocode}
1403 %
1404 % Override \cls{book}'s |\@part| and |\@spart|, replacing |\Huge| with
1405 % |\large|.  From |classes.dtx|, |\@part| formats the title of the part,
1406 % and |\@spart| formats the title of a starred part.
1407 %    \begin{macrocode}
1408 \def\@part[#1]#2{%
1409     \ifnum \c@secnumdepth >-2\relax
1410       \refstepcounter{part}%
1411       \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
1412     \else
1413       \addcontentsline{toc}{part}{#1}%
1414     \fi
1415     \markboth{}{}%
1416     {\centering
1417      \interlinepenalty \@M
1418      \normalfont
1419      \ifnum \c@secnumdepth >-2\relax
1420        \large\bfseries \partname\nobreakspace\thepart
1421        \par
1422        \vskip 20\p@
1423      \fi
1424      \large \bfseries #2\par}%
1425     \@endpart}
1426 \def\@spart#1{%
1427     {\centering
1428      \interlinepenalty \@M
1429      \normalfont
1430      \large \bfseries #1\par}%
1431     \@endpart}
1432 %    \end{macrocode}
1433 %
1434 %
1435 % \subsubsection{Adding TOC entries and blank pages}
1436 %
1437 % Override \cls{book}'s |\listoftables|, selecting the false branch
1438 % of the |\if@twocolumn| conditionals, adding a line to the table of
1439 % contents, and clearing the page.
1440 % From the Manual 3.6 p10
1441 % \begin{quote}
1442 %   The heading |List of Tables| must appear at the top of the first
1443 %   page.
1444 %   The heading must be bold, centered, and without punctuation.
1445 %   List table captions exactly as they appear above the tables in
1446 %   the text.
1447 %   Single space each entry, but double-space between entries.
1448 %   Separate table captions from page numbers with right-justified
1449 %   tabs and dot leaders.
1450 %   Do not use periods to separate captions and page numbers.
1451 %   These pages are counted and numbered in lowercase Roman numerals.
1452 % \end{quote}
1453 %    \begin{macrocode}
1454 \renewcommand\listoftables{%
1455   \clearpage
1456   \phantomsection
1457   \addcontentsline{toc}{chapter}{\listtablename}
1458   \chapter*{\listtablename}%
1459   \@mkboth{\MakeUppercase\listtablename}%
1460           {\MakeUppercase\listtablename}%
1461   \@starttoc{lot}%
1462 }
1463 %    \end{macrocode}
1464 %
1465 % Override \cls{book}'s |\listoffigures|, selecting the false branch
1466 % of the |\if@twocolumn| conditionals, adding a line to the table of
1467 % contents, and clearing the page.
1468 % From the Manual 3.7 p10
1469 % \begin{quote}
1470 %   The heading |List of Figures| must appear at the top of the first
1471 %   page.
1472 %   The heading must be bold, centered, and without punctuation.
1473 %   List figure captions exactly as they appear below the figures in
1474 %   the text.
1475 %   Single space each entry, but double-space between entries.
1476 %   Separate figure captions from page numbers with right-justified
1477 %   tabs and dot leaders.
1478 %   Do not use periods to separate captions and page numbers.
1479 %   These pages are counted and numbered in lowercase Roman numerals.
1480 % \end{quote}
1481 %    \begin{macrocode}
1482 \renewcommand\listoffigures{%
1483   \clearpage
1484   \phantomsection
1485   \addcontentsline{toc}{chapter}{\listfigurename}
1486   \chapter*{\listfigurename}%
1487   \@mkboth{\MakeUppercase\listfigurename}%
1488           {\MakeUppercase\listfigurename}%
1489   \@starttoc{lof}%
1490 }
1491 %    \end{macrocode}
1492 %
1493 % Override |latex.ltx|'s |\bibliography|, adding a line to the table
1494 % of contents.
1495 %    \begin{macrocode}
1496 \def\bibliography#1{%
1497   \addcontentsline{toc}{chapter}{\bibname}
1498   \if@filesw
1499     \immediate\write\@auxout{\string\bibdata{#1}}%
1500   \fi
1501   \@input@{\jobname.bbl}
1502 }
1503 %    \end{macrocode}
1504 %
1505 % Add a terminal blank page (when |\if@final| is true)
1506 % From the Manual 3.16 p13
1507 % \begin{quote}
1508 %   Include a blank page (with no page number) at the end of the
1509 %   thesis or dissertation.  The blank page is neither counted nor
1510 %   numbered.
1511 % \end{quote}
1512 %    \begin{macrocode}
1513 \AtEndDocument{\blankpage}
1514 %    \end{macrocode}
1515 %
1516 %
1517 % \subsubsection{Captioning}
1518 %
1519 % These are to get spacing right after table captions and make the
1520 % spacing around floats symmetrical.  First, set |\if@table| in the
1521 % |table| environments.
1522 %    \begin{macrocode}
1523 \newif\if@table \@tablefalse
1524 \renewenvironment{table}
1525                  {\@tabletrue\@float{table}}
1526                  {\end@float\@tablefalse}
1527 \renewenvironment{table*}
1528                  {\@tabletrue\@dblfloat{table}}
1529                  {\end@dblfloat\@tablefalse}
1530 %    \end{macrocode}
1531 % Now override \cls{book}'s |\@makecaption|, adding two |\if@table|
1532 % conditionals, which swap |\abovecaptionskip| and |\belowcaptionskip|
1533 % for tables (where the caption is above the float body).  With our
1534 % implementation, |\belowcaptionskip| \emph{always} gives the distance
1535 % between the caption and the text, and |\abovecaptionskip|
1536 % \emph{always} gives the distance between the caption and the float
1537 % body.
1538 %
1539 % We also replace the caption lead-in |#1: #2| with
1540 % |\small{\bfseries#1:} #2|.
1541 %    \begin{macrocode}
1542 \newlength\@tempcapskip
1543 \long\def\@makecaption#1#2{%
1544   \if@table
1545     \@tempcapskip\abovecaptionskip
1546     \abovecaptionskip\belowcaptionskip
1547     \belowcaptionskip\@tempcapskip
1548   \fi
1549   \vskip\abovecaptionskip
1550   \sbox\@tempboxa{\small{\bfseries#1:} #2}%
1551   \ifdim \wd\@tempboxa >\hsize
1552     {\small{\bfseries#1:} #2\par}
1553   \else
1554     \global \@minipagefalse
1555     \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
1556   \fi
1557   \vskip\belowcaptionskip
1558   \if@table
1559     \@tempcapskip\belowcaptionskip
1560     \belowcaptionskip\abovecaptionskip
1561     \abovecaptionskip\@tempcapskip
1562   \fi
1563 }
1564 %    \end{macrocode}
1565 %
1566
1567 % \subsubsection{Adjust table of contents}
1568 %
1569 % From the \LaTeX\ base class documentation (|classes.dtx| in
1570 % \href{http://www.ctan.org/tex-archive/macros/latex/base/}{\pkg{\LaTeX\ base}})
1571 % \begin{quote}
1572 %    The command |\contentsline{|\meta{name}|}| expands to
1573 %    |\l@|\meta{name}.  So, to specify the table of contents, we must
1574 %    define |\l@chapter|, \ldots
1575 % \end{quote}
1576 %
1577 % Override \cls{book}'s |\l@chapter| for printing TOC entries, adding
1578 % |spacing| environments to ensure single spacing, only using bold if
1579 % |\if@boldchapter| is true, handling |\if@dottedchapter|.
1580 %    \begin{macrocode}
1581 \renewcommand*\l@chapter[2]{%
1582   \begin{spacing}{\@ssp}
1583     \ifnum \c@tocdepth >\m@ne
1584       \addpenalty{-\@highpenalty}%
1585 %    \end{macrocode}
1586 % Don't handle spacing here; use the spacing environment at the end of
1587 % the macro.
1588 %    \begin{macrocode}
1589 %      \vskip 1.0em \@plus\p@
1590       \setlength\@tempdima{1.5em}%
1591       \begingroup
1592         \parindent \z@ \rightskip \@pnumwidth
1593         \parfillskip -\@pnumwidth
1594         \leavevmode 
1595         \if@boldchapter
1596           \bfseries
1597         \fi
1598         \advance\leftskip\@tempdima
1599         \hskip -\leftskip
1600 %    \end{macrocode}
1601 % Insert |\if@dottedchapter| block into |#1\nobreak\hfil \nobreak...|.
1602 %    \begin{macrocode}
1603         #1\nobreak
1604         \if@dottedchapter
1605           \leaders\hbox{$\m@th
1606             \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}
1607           \else\fi
1608 %    \end{macrocode}
1609 % Insert |\if@dottedchapter| block into |#1\nobreak\hfil \nobreak...|.
1610 %    \begin{macrocode}
1611         \hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
1612         \penalty\@highpenalty
1613 %    \end{macrocode}
1614 % Add a content-page-spacing blank after this entry.
1615 %    \begin{macrocode}
1616         \begin{spacing}{\@csp}\par\end{spacing}
1617       \endgroup
1618     \fi
1619   \end{spacing}
1620 }
1621 %    \end{macrocode}
1622 %
1623 % Add |\l@appendix|, identical to our |\l@chapter|, except for
1624 % setting |\@tempdima| to 6.5em rather than 1.5em.  TODO: Why?
1625 % TODO: Consolidate to \l@chapapp[3] calls.
1626 %    \begin{macrocode}
1627 \newcommand*\l@appendix[2]{%
1628   \begin{spacing}{\@ssp}
1629     \ifnum \c@tocdepth >\m@ne
1630       \addpenalty{-\@highpenalty}%
1631 %      \vskip 1.0em \@plus\p@
1632       \setlength\@tempdima{6.5em}%
1633       \begingroup
1634         \parindent \z@ \rightskip \@pnumwidth
1635         \parfillskip -\@pnumwidth
1636         \leavevmode 
1637         \if@boldchapter
1638           \bfseries
1639         \fi
1640         \advance\leftskip\@tempdima
1641         \hskip -\leftskip
1642         #1\nobreak
1643         \if@dottedchapter
1644           \leaders\hbox{$\m@th
1645             \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}
1646           \else\fi
1647         \hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
1648         \penalty\@highpenalty
1649         \begin{spacing}{\@csp}\par\end{spacing}
1650       \endgroup
1651     \fi
1652   \end{spacing}
1653 }
1654 %    \end{macrocode}
1655 %
1656 % Add |\l@part|, identical to our |\l@chapter|, except for
1657 % setting |\@tempdima| to 6.5em rather than 1.5em.  TODO: Why?
1658 % TODO: Consolidate to \l@chapapp[3] calls.
1659 %    \begin{macrocode}
1660 \renewcommand*\l@part[2]{%
1661   \begin{spacing}{\@ssp}
1662     \ifnum \c@tocdepth >-2\relax
1663       \addpenalty{-\@highpenalty}%
1664 %    \end{macrocode}
1665 % Don't handle spacing here; use the spacing environment at the end of
1666 % the macro.
1667 %    \begin{macrocode}
1668 %    \addvspace{2.25em \@plus\p@}%
1669       \setlength\@tempdima{3em}%
1670       \begingroup
1671         \parindent \z@ \rightskip \@pnumwidth
1672         \parfillskip -\@pnumwidth
1673         {\leavevmode
1674 %    \end{macrocode}
1675 % Replace |\large \bfseries| with |\if@boldpart...|, so the parts are
1676 % the same size as the other entries, and bolding obeys |if@boldpart|.
1677 %    \begin{macrocode}
1678          \if@boldpart
1679            \bfseries
1680          \fi
1681          #1
1682 %    \end{macrocode}
1683 % Insert |\if@dottedpart| between |#1| and |\hfil|.
1684 %    \begin{macrocode}
1685          \if@dottedpart
1686            \leaders\hbox{$\m@th
1687              \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}
1688          \fi
1689          \hfil \hb@xt@\@pnumwidth{\hss #2}}\par
1690          \nobreak
1691            \global\@nobreaktrue
1692            \everypar{\global\@nobreakfalse\everypar{}}%
1693 %    \end{macrocode}
1694 % Add a content-page-spacing blank after this entry.
1695 %    \begin{macrocode}
1696            \begin{spacing}{\@csp}\par\end{spacing}
1697       \endgroup
1698     \fi
1699   \end{spacing}
1700 }
1701 %    \end{macrocode}
1702 %
1703 % Override |latex.ltx|'s |\dottedtocline|, adding some |spacing|
1704 % environments.  TODO: reasoning.
1705 %    \begin{macrocode}
1706 \def\@dottedtocline#1#2#3#4#5{%
1707   \begin{spacing}{\@ssp}
1708   \ifnum #1>\c@tocdepth \else
1709     \vskip \z@ \@plus.2\p@
1710     {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
1711      \parindent #2\relax\@afterindenttrue
1712      \interlinepenalty\@M
1713      \leavevmode
1714      \@tempdima #3\relax
1715      \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
1716      {#4}\nobreak
1717      \leaders\hbox{$\m@th
1718         \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
1719         mu$}\hfill
1720      \nobreak
1721      \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
1722      \par\begin{spacing}{\@csp}\par\end{spacing}}%
1723   \fi
1724   \end{spacing}
1725 }
1726 %    \end{macrocode}
1727 %
1728 % Override \cls{book}'s (or \pkg{hyperref}'s) |\appendix|, adding
1729 % |\@appendixtrue|.  This gets |\if@appendix| working in our
1730 % |\chapter| definition below.
1731 %    \begin{macrocode}
1732 \let\DUT@appendix\appendix
1733 \renewcommand\appendix{%
1734   \@appendixtrue%
1735   \DUT@appendix
1736 }
1737 %    \end{macrocode}
1738 %
1739 % Override \cls{book}'s |\chapter|, selecting the false branch of the
1740 % |\if@twocolumn| conditional and adding an |\if@appendix|
1741 % conditional.  After |\appendix| (when |\if@mainmatter| and
1742 % |\if@appendix| are both true), we generate table of content entries
1743 % such as \emph{Appendix A: Chapter Title} rather than the standard
1744 % \emph{Chapter Title}.  |\thechapter| (defined in \cls{book}) is the
1745 % appendix letter (e.g.\ |A|).  |\@chapapp{}| (also defined in
1746 % \cls{book}) Was redefined in |\appendix| (above) as |\appendixname|.
1747 % Before |\appendix|, we reproduce the \cls{book} behavior.
1748 %    \begin{macrocode}
1749 \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
1750                        \if@mainmatter
1751                          \refstepcounter{chapter}%
1752                          \typeout{\@chapapp\space\thechapter.}%
1753                          \if@appendix
1754                            \addcontentsline{toc}{appendix}%
1755                                      {\protect\numberline{\@chapapp{} \thechapter:}#1}%
1756                          \else
1757                            \addcontentsline{toc}{chapter}%
1758                                      {\protect\numberline{\thechapter}#1}%
1759                          \fi
1760                        \else
1761                          \addcontentsline{toc}{chapter}{#1}%
1762                        \fi
1763                     \else
1764                       \addcontentsline{toc}{chapter}{#1}%
1765                     \fi
1766                     \chaptermark{#1}%
1767                     \addtocontents{lof}{\protect\addvspace{10\p@}}%
1768                     \addtocontents{lot}{\protect\addvspace{10\p@}}%
1769                     \@makechapterhead{#2}%
1770                     \@afterheading}
1771 %    \end{macrocode}
1772 %
1773 %
1774 % \iffalse meta-comment
1775 %</class>
1776 % \fi
1777 %
1778 %
1779 % \section{Templates}
1780 %
1781 % \subsection{Simple}
1782 %
1783 % \subsubsection{Main}
1784 %
1785 % \iffalse meta-comment
1786 %<*template-main>
1787 % \fi
1788 % \begin{quote} \hrule \begin{verbatim}
1789 %% See drexel-thesis.pdf for details.
1790 \documentclass{drexel-thesis}
1791
1792 %% Enter the appropriate information here
1793 \author{Johny Henry} % Fullname
1794 \title{Inadequacies of Steam-Driven Boring Machines}  % Title Of Thesis
1795 \defmonth{July}  % Name of the month of you defense
1796 \defyear{1872}   % Year you are defending
1797 \degree{Doctor of Philosophy} % Should be fine
1798 \advisor{C \& O Railroad, Ph.D.}   % Put Advisor's full name, degree
1799
1800 \usepackage{graphicx}   % to include images
1801
1802 \begin{document}
1803 \begin{preamble}
1804
1805 \begin{dedications} % OPTIONAL
1806 Type dedications here
1807 \end{dedications}
1808
1809 \begin{acknowledgments} % OPTIONAL
1810 Type acknowledgments here
1811 \end{acknowledgments}
1812
1813 \tableofcontents
1814 %% Include these following commands only if you have tables or figures.
1815 %% Tables should come before figures.
1816 \listoftables
1817 \listoffigures
1818
1819 \begin{abstract}
1820 Type abstract here
1821 \end{abstract}
1822 \end{preamble}
1823
1824 \begin{thesis}
1825 %% Use include statements to include your main thesis code
1826 %% from seperate files.
1827 \include{part1}
1828 \end{thesis}
1829
1830 %% unsrt style give references in order of citation
1831 \bibliographystyle{unsrt}
1832 \phantomsection
1833 \addcontentsline{toc}{chapter}{\bibname}
1834 \begin{thebibliography}{9}
1835 % widest label (above "9"), when printed, as wide as widest entry label.
1836 \bibitem{lamport94}
1837   Leslie Lamport,
1838   \emph{\LaTeX: A Document Preparation System}.
1839   Addison Wesley, Massachusetts,
1840   2nd Edition,
1841   1994.
1842 %...
1843 \end{thebibliography}
1844
1845 \appendix
1846 %% include files with your appendicies (if any) here
1847 \include{appendixA}
1848
1849 \begin{vita} % Ph.D. only.  See Thesis Manual for details.
1850 Vita text.
1851 \end{vita}
1852
1853 \end{document}
1854 % \end{verbatim} \hrule \end{quote}
1855 % \iffalse meta-comment
1856 %</template-main>
1857 % \fi
1858 %
1859 % \subsubsection{Part}
1860 %
1861 % \iffalse meta-comment
1862 %<*template-part>
1863 % \fi
1864 % \begin{quote} \hrule \begin{verbatim}
1865 \part{A Part Heading}
1866 \chapter{A Chapter Heading}
1867 \section{A Section Heading}
1868 The following sectioning commands are available:
1869 \begin{quote}
1870  part \\
1871  chapter \\
1872  section \\
1873  subsection \\ 
1874  subsubsection \\ 
1875  paragraph \\ 
1876  subparagraph 
1877 \end{quote}
1878 \begin{table}
1879   \caption{A table float}
1880   \begin{center}
1881   \begin{tabular}{r@{.}l r@{.}l r@{.}l}
1882     \multicolumn{2}{c}{Time (s)} &
1883       \multicolumn{2}{c}{John Henry (m)} &
1884       \multicolumn{2}{c}{Steam drill (m)} \\
1885     0&0 & 0&0 & 0&0 \\
1886     10&0 & 4&3 & 3&75 \\
1887     30&0 & 11&9 & 10&1 \\
1888     \ldots
1889   \end{tabular}
1890   \end{center}
1891 \end{table}
1892 Bla bla bla (text to test table/figure spacing)
1893
1894 Bla bla bla
1895
1896 Bla bla bla
1897
1898 Bla bla bla
1899
1900 Bla bla bla
1901
1902 Bla bla bla
1903
1904 Bla bla bla
1905 \begin{figure}
1906   \begin{center}
1907     \includegraphics[width=0.4\textwidth]{drexel-logo}
1908   \end{center}
1909   \caption{A figure float}
1910 \end{figure}
1911 Bla bla bla (text to test table/figure spacing)
1912
1913 Bla bla bla
1914
1915 Bla bla bla
1916
1917 Bla bla bla
1918
1919 Bla bla bla
1920
1921 Bla bla bla
1922
1923 Bla bla bla
1924 % \end{verbatim} \hrule \end{quote}
1925 % \iffalse meta-comment
1926 %</template-part>
1927 % \fi
1928 %
1929 % Note the strange |r@{.}l| notation in the |\tabular| column
1930 % definition.  This allows for numbers aligned at the decimal point
1931 % (see \href{http://www.stat.unipg.it/tex-man/ltx-68.html}{here}).
1932 %
1933 % |\multicolumn{num_cols}{alignment}{contents}| allows the headings
1934 % to span the pre- and post-decimal columns.
1935 %
1936 %
1937 % \subsubsection{Appendix}
1938 %
1939 % \iffalse meta-comment
1940 %<*template-appendix>
1941 % \fi
1942 % \begin{quote} \hrule \begin{verbatim}
1943 \chapter{Some Appendix Heading}
1944 Bla Bla Bla
1945 \chapter{Another Appendix Heading}
1946 Bla Bla Bla
1947 % \end{verbatim} \hrule \end{quote}
1948 % \iffalse meta-comment
1949 %</template-appendix>
1950 % \fi
1951 %
1952 %
1953 % \subsection{\BibTeX/\pkg{natbib}}
1954 % \label{sec:natbib-example}
1955 %
1956 % \subsubsection{Main}
1957 %
1958 % \iffalse meta-comment
1959 %<*template-bibtex-main>
1960 % \fi
1961 % \begin{quote} \hrule \begin{verbatim}
1962 %% See drexel-thesis.pdf for details.
1963 \documentclass{drexel-thesis}
1964
1965 %% Enter the appropriate information here
1966 \author{Johny Henry} % Fullname
1967 \title{Inadequacies of Steam-Driven Boring Machines}  % Title Of Thesis
1968 \defmonth{July}  % Name of the month of you defense
1969 \defyear{1872}   % Year you are defending
1970 \degree{Doctor of Philosophy} % Should be fine
1971 \advisor{C \& O Railroad, Ph.D.}   % Put Advisor's full name, degree
1972
1973 \usepackage[super,sort&compress]{natbib} % fancy citation extensions
1974 %% super selects citations in superscript mode.
1975 %% sort&compress automatically sorts and compresses compound citations:
1976 %%   \pcite{a,b,...}
1977 \bibliographystyle{plainnat}
1978
1979 \begin{document}
1980 \begin{preamble}
1981
1982 \begin{dedications} % OPTIONAL
1983 Type dedications here
1984 \end{dedications}
1985
1986 \begin{acknowledgments} % OPTIONAL
1987 Type acknowledgments here
1988 \end{acknowledgments}
1989
1990 \tableofcontents
1991 %% Include these following commands only if you have tables or figures.
1992 %% Tables should come before figures.
1993 \listoftables
1994 \listoffigures
1995
1996 \begin{abstract}
1997 Type abstract here
1998 \end{abstract}
1999 \end{preamble}
2000
2001 \begin{thesis}
2002 %% Use include statements to include your main thesis code
2003 %% from seperate files.
2004 \include{bibpart1}
2005 \end{thesis}
2006
2007 \bibliography{references}
2008
2009 \appendix
2010 %% include files with your appendicies (if any) here
2011 \include{appendixA}
2012
2013 \begin{vita} % Ph.D. only.  See Thesis Manual for details.
2014 Vita text.
2015 \end{vita}
2016
2017 \end{document}
2018 % \end{verbatim} \hrule \end{quote}
2019 % \iffalse meta-comment
2020 %</template-bibtex-main>
2021 % \fi
2022 %
2023 % \subsubsection{Part}
2024 %
2025 % You can cite your references with \pkg{natbib}'s |\citet| and
2026 % |\citep| macros.  See
2027 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/natbib/}{the \pkg{natbib} manual}
2028 % for details.
2029 %
2030 % \iffalse meta-comment
2031 %<*template-bibtex-part>
2032 % \fi
2033 % \begin{quote} \hrule \begin{verbatim}
2034 \part{A Part Heading}
2035 \chapter{A Chapter Heading}
2036 \section{A Section Heading}
2037 Here we have a text citation \citet{rief97} followed by a
2038 parenthetical citation\citep{rief97}.
2039 % \end{verbatim} \hrule \end{quote}
2040 % \iffalse meta-comment
2041 %</template-bibtex-part>
2042 % \fi
2043 %
2044 % \subsubsection{Bib}
2045 %
2046 % What goes into the \BibTeX\ file |references.bib|?
2047 % For more information, check out this 
2048 % \href{http://cmtw.harvard.edu/Documentation/TeX/Bibtex/Example.html}{basic tutorial}.
2049 % If you want to get deeper, take a look at
2050 % \href{http://www.ctan.org/tex-archive/info/bibtex/tamethebeast/}{Tame the BeaST}.
2051 % Other resources:
2052 % \href{http://www.andy-roberts.net/misc/latex/latextutorial3.html}{how the process works},
2053 %   \href{http://newton.ex.ac.uk/tex/pack/bibtex/btxdoc/node6.html}{entry types},
2054 %   \href{http://newton.ex.ac.uk/tex/pack/bibtex/btxdoc/node7.html}{fields},
2055 %   \href{http://en.wikipedia.org/wiki/BibTeX}{entries and fields},
2056 %   \href{http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html}{assorted style examples}, and
2057 %   \href{http://liinwww.ira.uka.de/bibliography/Bib.Format.html}{assorted \BibTeX tools}.
2058 %
2059 % Here is an example \BibTeX\ file to get you started.  We define
2060 % strings for the publishers, journals, and authors to avoid
2061 % duplication and minimize the risk of typos, etc.
2062 %
2063 % \iffalse meta-comment
2064 %<*template-bibtex-refs>
2065 % \fi
2066 % \begin{quote} \hrule \begin{verbatim}
2067 %% Publishers
2068 @String{APS = "American Physical Society"}
2069
2070 %% Journals
2071 @String{SCI = "Science"}
2072
2073 %% Authors
2074 @String{MRief = "Rief, Matthias"}
2075 @String{MGautel = "Gautel, Mathias"}
2076 @String{FOesterhelt = "Oesterhelt, Filipp"}
2077 @String{JFernandez = "Fernandez, Julio M."}
2078 @String{HGaub = "Gaub, Hermann E."}
2079
2080 %% Articles
2081 @Article{rief97,
2082   author = MRief #" and "# MGautel #" and "# FOesterhelt #" and "#
2083            JFernandez #" and "# HGaub,
2084   title = "Reversible Unfolding of Individual Titin Immunoglobulin
2085            Domains by {AFM}",
2086   journal = SCI,
2087   volume =  276,
2088   number =  5315,
2089   pages =   "1109--1112",
2090   year =    1997,
2091   doi =     "10.1126/science.276.5315.1109",
2092   URL =     "http://www.sciencemag.org/cgi/content/abstract/276/5315/1109",
2093   eprint =  "http://www.sciencemag.org/cgi/reprint/276/5315/1109.pdf",
2094   mynote = "Seminal paper for force spectroscopy on Titin. Cited by
2095            Dietz '04 (ref 9) as an example of how unfolding large
2096            proteins is easily interpreted (vs.\ confusing unfolding in
2097            bulk), but Titin is a rather simple example of that, because
2098            of its globular-chain structure.",
2099 }
2100 %% ...
2101 % \end{verbatim} \hrule \end{quote}
2102 % \iffalse meta-comment
2103 %</template-bibtex-refs>
2104 % \fi
2105 %
2106 % \Finale
2107 \endinput