Added approvalform option and tikz Drexel logo.
[drexel-thesis.git] / drexel-thesis.dtx
1 % \def\fileversion{0.14}
2 % \def\filedate{2010/09/21}
3 % \iffalse meta-comment
4 %<*driver>
5 \ProvidesFile{drexel-thesis.dtx}
6 \documentclass{ltxdoc}
7 %</driver>
8 %<*class|driver>
9 \def\fileversion{0.14}
10 \def\filedate{2010/09/21}
11 %</class|driver>
12 %
13 % Copyright (C) 2010  C.Y. Ip
14 %                     Christopher D. Cera
15 %                     Christopher S. Dahn
16 %                     Daniel J. Cross
17 %                     David T. McWherter
18 %                     Evan Sultanik
19 %                     Jeff Arahamson
20 %                     Mitchell Peabody
21 %                     R. Rojas, E
22 %                     Robert Bernecky
23 %                     T. Tsankov
24 %                     Vincent A. Cicirello
25 %                     W. Trevor King
26 % -------------------------------------------------------
27
28 % This file may be distributed and/or modified under the
29 % conditions of the LaTeX Project Public License, either version 1.3
30 % of this license or (at your option) any later version.
31 % The latest version of this license is in:
32 %
33 %    http://www.latex-project.org/lppl.txt
34 %
35 % and version 1.3 or later is part of all distributions of LaTeX 
36 % version 2003/12/01 or later.
37 %
38 % Docstrip formatting initially based on Scott Pakin's
39 % dtxtut/cskeleton.dtx
40 %   http://www.ctan.org/tex-archive/info/dtxtut/
41 %
42 % \fi
43 %
44 % \iffalse meta-comment
45 %<class>\NeedsTeXFormat{LaTeX2e}
46 %<class>\ProvidesClass{drexel-thesis}
47 %<class> [\filedate\ \fileversion\ Drexel Thesis]
48 %
49 % Code for the .ini driver, see \S 2.1 ``The driver file'' of doc.dtx.
50 %<*driver>
51 \usepackage[colorlinks=true,]{hyperref}
52 \hypersetup{pdfauthor={W. Trevor King et al.}}
53 \hypersetup{pdftitle={drexel-thesis \fileversion\ documentation}}
54 %</driver>
55 % Include some useful commands from |xkeyval|'s |<preamble>|.
56 %<*driver>
57 \usepackage{xcolor}
58 \usepackage{listings}
59 \lstnewenvironment{command}{%
60   \lstset{columns=flexible,frame=single,backgroundcolor=\color{blue!20},%
61     xleftmargin=\fboxsep,xrightmargin=\fboxsep,escapeinside=`',gobble=1}}{}
62 \lstnewenvironment{example}{%
63   \lstset{basicstyle=\footnotesize\ttfamily,columns=flexible,frame=single,%
64     backgroundcolor=\color{yellow!20},xleftmargin=\fboxsep,%
65     xrightmargin=\fboxsep,gobble=1}}{}
66 %</driver>
67 % Define a quick and dirty version of |xkeyval|'s |\DescribeOptions|.
68 %<*driver>
69 \newenvironment{option}[1]{\begin{macro}{#1}}
70                           {\end{macro}}
71 %</driver>
72 % Some commonly used abbreviations from |classes.dtx|.
73 %<*driver>
74 \newcommand*{\Lopt}[1]{\textsf {#1}}
75 \newcommand*{\file}[1]{\texttt {#1}}
76 \newcommand*{\Lcount}[1]{\textsl {\small#1}}
77 \newcommand*{\pstyle}[1]{\textsl {#1}}
78 %</driver>
79 % Provide easy access to the @ character.  Note that this, like the
80 % short-verbatim markers ||, does not work in |\changes| sections
81 % because of the way they are cached to the glossary file.  If you
82 % find a way to make them work there, let me know :).
83 %<*driver>
84 \newcommand*{\textat}{\makeatletter @ \makeatother}
85 %</driver>
86 %<*driver>
87 \makeatletter
88 \def\DescribeOption#1{\leavevmode\@bsphack
89               \marginpar{\raggedleft\PrintDescribeOption{#1}}%
90               \SpecialOptionIndex{#1}\@esphack\ignorespaces}
91 \def\PrintDescribeOption#1{\strut\emph{option}\\\MacroFont #1\ }
92 \def\SpecialOptionIndex#1{\@bsphack
93     \index{#1\actualchar{\protect\ttfamily#1}
94            (option)\encapchar usage}%
95     \index{options:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar
96            usage}\@esphack}
97 \def\DescribeOptions#1{\leavevmode\@bsphack
98   \marginpar{\raggedleft\strut\emph{options}%
99   \@for\@tempa:=#1\do{%
100     \\\strut\MacroFont\@tempa\SpecialOptionIndex\@tempa
101   }}\@esphack\ignorespaces}
102 \makeatother
103 %</driver>
104 %<*driver>
105 \EnableCrossrefs
106 \RecordChanges
107 \EnableCrossrefs         
108 \begin{document}
109   \DocInput{drexel-thesis.dtx}
110 \end{document}
111 %</driver>
112 % \fi
113 %
114 % \CheckSum{0}
115 %
116 % \CharacterTable
117 %  {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
118 %   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
119 %   Digits        \0\1\2\3\4\5\6\7\8\9
120 %   Exclamation   \!     Double quote  \"     Hash (number) \#
121 %   Dollar        \$     Percent       \%     Ampersand     \&
122 %   Acute accent  \'     Left paren    \(     Right paren   \)
123 %   Asterisk      \*     Plus          \+     Comma         \,
124 %   Minus         \-     Point         \.     Solidus       \/
125 %   Colon         \:     Semicolon     \;     Less than     \<
126 %   Equals        \=     Greater than  \>     Question mark \?
127 %   Commercial at \@     Left bracket  \[     Backslash     \\
128 %   Right bracket \]     Circumflex    \^     Underscore    \_
129 %   Grave accent  \`     Left brace    \{     Vertical bar  \|
130 %   Right brace   \}     Tilde         \~}
131 %
132 %
133 % \changes{0.1}{2006/01/18}{Rewrite by Daniel J.~Cross}
134 % \changes{0.2}{2010/01/09}{W.~Trevor King transitioned from thesis.cls
135 %   to drexel-thesis.dtx and did a good deal of reorganizing.}
136 % \changes{0.3}{2010/01/13}{W.~Trevor King merged drexelthesis.cls
137 %   developed in the Comp.~Sci.~Department by Jeff Abrahamson,
138 %   Evan Sultanik, C.Y.~Ip, Christopher S.~Dahn, Christopher D.~Cera,
139 %   Mitchell Peabody, David T.~McWherter, and Vincent A.~Cicirello.
140 %   Based on the University of Toronto Thesis \LaTeXe\ Class.  Also
141 %   greatly improved the documentation by incorperating bits of
142 %   the base/*.dtx files.}
143 % \changes{0.4}{2010/02/23}{W.~Trevor King repositioned hyperref
144 %   inclusion for proper hyperref overriding.  The previous
145 %   implementation couldn't handle $\backslash$label for
146 %   $\backslash$paragraph and some other section levels.  The page
147 %   number for the reference was correct, but the link went to the
148 %   label's parent chapter.}
149 % \changes{0.5}{2010/03/03}{W.~Trevor King use hypcap for better
150 %   caption hyperlink anchor placement.}
151 % \changes{0.6}{2010/03/11}{W.~Trevor King fixed
152 %   $\backslash$if$@$final handling.  Previous versions used
153 %   it more like a hypothetical $\backslash$if$@$finalspace.
154 %   Also adjusted theindex to use a listed$@$schapter.}
155 % \changes{0.10}{2010/05/21}{W.~Trevor King added $\backslash$DUT\*
156 %   aliases for all public macros and environments and renamed
157 %   $\backslash$defmonth and $\backslash$defyear to
158 %   $\backslash$DUTmonth and $\backslash$DUTyear for consistency with
159 %   the new aliases.}
160 % \changes{0.13}{2010/07/28}{W.~Trevor King cleaned up TOC/LOT/LOF code.}
161 % \changes{0.14}{2010/09/21}{Evan Sultanik added the
162 %   \texttt{approvalform} option for including a \LaTeX\ version of
163 %   the \texttt{T-1} thesis form.}
164 %
165 % \MakeShortVerb{\|}
166 % \newcommand{\pkg}[1]{\textsf{#1}}
167 % \newcommand{\cls}[1]{\textsf{#1}}
168 % ^^A\newcommand{\BibTeX}{{\scshape Bib}\TeX}
169
170 % \title{The \textsf{drexel-thesis} class\thanks{This document
171 %   corresponds to \textsf{drexel-thesis}~\fileversion, dated \filedate.}}
172 % \author{W.~Trevor King \\\texttt{wking@drexel.edu}
173 %         \and Daniel J.~Cross \and T.~Tsankov \and R.~Rojas. \and Evan A.~Sultanik}
174 % \date{\filedate}
175 %
176 % \maketitle
177 %
178 %
179 % \section{Introduction}
180 %
181 % This package defines a \LaTeX\ thesis class for Drexel University
182 % conforming to the
183 % \href{http://www.library.drexel.edu/files/services_documents/thesismanual.pdf}
184 %   {Drexel University Thesis Manual version 2009/06/01}.
185 %
186 % \section{Usage}
187 %
188 % To write a thesis, you load the Drexel thesis definitions by loading
189 % the \pkg{drexel-thesis} class at the beginning of your
190 % \LaTeX\ document with the |\documentclass| command.  For example,
191 % \begin{example}
192 %   \documentclass{drexel-thesis}
193 % \end{example}
194 %
195 % \subsection{Options}
196 %
197 % \DescribeOptions{final,draft}
198 % The default option (selected if not options are passed) is
199 % \Lopt{final} mode, which has all the proper formatting and spacing
200 % for your final product. The other main option is \Lopt{draft} mode,
201 % which reduces all the spacing in the document, so might be helpful
202 % when printing out drafts (saves paper).
203 %
204 % \Lopt{final} mode corresponds to (with Thesis Manual chapter and
205 % verse) \\
206 % \begin{tabular}{r p{0.8\textwidth}}
207 %   \Lopt{oneside} & 1.5 Library Submission Information, Print
208 %     Version: ``All copies must be: \ldots Typed/printed on only one
209 %     side of the page (not double-sided).'' \\
210 %   \Lopt{finalspace} & Assorted single, double, and triple spacing
211 %   directives. \\
212 %   \Lopt{dottedtoc} & From the example on p17.
213 % \end{tabular}
214 %
215 % \Lopt{draft} mode corresponds to \\
216 % \begin{tabular}{r p{0.8\textwidth}}
217 %   \Lopt{twoside} & Save space. \\
218 %   \Lopt{draftspace} & Save space. \\
219 %   \Lopt{dottedtoc} & Might as well be consistent with \Lopt{final}. \\
220 %   \Lopt{mydraftwatermark} & It's good to have a timestamp. \\
221 % \end{tabular}
222 %
223 % \DescribeOption{subfig}
224 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/}{\pkg{subfig}}
225 % makes it easy to include and caption multi-part figures.  However,
226 % getting \pkg{subfig} to cooperate with \pkg{floatrow} and
227 % \pkg{tocloft} can be tricky.  If you want to use \pkg{subfig}, just
228 % pass the \Lopt{subfig} option to \cls{drexel-thesis}, and all the
229 % pesky details will be taken care of.  See \S
230 % \ref{sec:better-example} for an example.
231 %
232 % \DescribeOption{finalspace}
233 % Loosen spacing.
234 %
235 % \DescribeOption{draftspace}
236 % Tighten spacing.
237 %
238 % \DescribeOptions{dottedtoc,boldtoc,
239 %                  dottedpart,boldpart,
240 %                  dottedchapter,boldchapter}
241 % These options change how the relevant table of contents lines are
242 % printed.  \LaTeX\ defaults to bold but not dots.  The \Lopt{*toc}
243 % options set all of the types.  For example, \Lopt{boldtoc} is
244 % equivalent to \Lopt{boldchapter,boldpart}.
245 %
246 % \DescribeOption{indenttoc}
247 % The example table of contents in the Manual p17 does not indent
248 % section entries, etc., so neither does \cls{drexel-thesis}.  If you
249 % \emph{do} want pretty, indented TOCs, like the \LaTeX\ defaults pass
250 % \Lopt{indenttoc} to \cls{drexel-thesis}.
251 %
252 % \DescribeOption{blackref}
253 % \Lopt{blackref} colors all \pkg{hyperref} links black, so they won't
254 % stand out in your printed document.
255 %
256 % \DescribeOption{draftwatermark}
257 % \Lopt{draftwatermark} adds ``DRAFT \meta{date}'' watermarks to each
258 % page.  A useful way to remember that the version you're looking at
259 % is not final.  Also helps reviewers tell you what version they're
260 % correcting.  Requires the \pkg{draftmark} package.
261 %
262 % \DescribeOption{mydraftwatermark}
263 % \Lopt{mydraftwatermark} is similar to \Lopt{draftwatermark} but
264 % depends on the possibly more common \pkg{xcolor}, \pkg{eso-pic},
265 % and \pkg{graphicx}.
266 %
267 % \DescribeOption{indentfirst}
268 % \Lopt{indentfirst} indents the first paragraph after sections etc.
269 %
270 % \DescribeOption{approvalform}
271 % \Lopt{approvalform} includes a copy of the \texttt{T-1} thesis
272 % approval form as the first page of your thesis/dissertation.  This
273 % form is bound to the front of very thesis/dissertation by the
274 % library.  The version that is generated by this option is typeset in
275 % \LaTeX\ with the same margins, fonts, \textit{\&c.}~as the rest of
276 % your document.  The title of your dissertation and your name are
277 % automatically entered.
278 %
279 %
280 % \subsubsection{Interesting \cls{book} options}
281
282 % \DescribeOption{oneside}
283 % Setup output for one-sided printing.
284 %
285 % \DescribeOption{twoside}
286 % Setup output for two-sided printing.
287 %
288 % \DescribeOption{leqno}
289 % \Lopt{leqno} places the numbering of formulae on the left hand side
290 % instead of the right.
291 %
292 % \DescribeOption{fleqn}
293 % \Lopt{fleqn} typesets displayed formulae left-aligned instead of
294 % centered.
295 %
296 % \DescribeOption{daring}
297 % \Lopt{daring} breaks the official thesis rules in pursuit of a nicer
298 % layout.
299 %
300 %
301 % \subsection{Macros}
302 %
303 % To help deal with name collisions, all \cls{drexel-thesis} macros
304 % have ``secret'' aliases.  For example, |\author| can also be used as
305 % |\DUTauthor|.  This is useful if one of your packages clobbers a
306 % \cls{drexel-thesis} macro, but you still want to use the original.
307 % \begin{example}
308 %   \documentclass{drexel-thesis}
309 %   \renewcommand{\author}[1]{I'm forgetting about your author! Muahahaha!}
310 %   \DUTauthor{Your Name Here}
311 %   ...
312 % \end{example}
313 %
314 % \begin{command}
315 %   `\cs{author}\marg{name}'
316 % \end{command}
317 % \DescribeMacro{\author}
318 % \DescribeMacro{\DUTauthor}
319 % Use this macro to set your full name to \meta{name}, including
320 % your middle initial or name.  For example
321 % \begin{example}
322 %   \name{Richard P. Feynman}
323 % \end{example}
324 % See the Manual \S 3.1 p8.
325 %
326 % \begin{command}
327 %   `\cs{title}\marg{title}'
328 % \end{command}
329 % \DescribeMacro{\title}
330 % \DescribeMacro{\DUTtitle}
331 % Use this macro to set your thesis title to \meta{name}.  For example
332 % \begin{example}
333 %   \title{A New Approach to Quantum Theory}
334 % \end{example}
335 % See the Manual p16.
336 %
337 % \begin{command}
338 %   `\cs{advisor}\marg{name}'
339 % \end{command}
340 % \DescribeMacro{\advisor}
341 % \DescribeMacro{\DUTadvisor}
342 % Use this macro to set your advisor's name to \meta{name}.  For
343 % example
344 % \begin{example}
345 %   \advisor{John A. Wheeler, Ph.D.}
346 % \end{example}
347 % You can set multiple advisors, if appropriate, by calling |\advisor|
348 % multiple times.
349 % \begin{example}
350 %   \advisor{John A. Wheeler, Ph.D.}
351 %   \advisor{Advisor 2}
352 % \end{example}
353 % See the Manual \S 3.1 p8.
354 %
355 % \begin{command}
356 %   `\cs{DUTmonth}\marg{month}'
357 %   `\cs{DUTyear}\marg{year}'
358 % \end{command}
359 % \DescribeMacro{\DUTmonth}
360 % \DescribeMacro{\DUTyear}
361 % Use these macros to set the month with \meta{month} (spelled out)
362 % and year with \meta{year} (four digits) of your thesis defense.  For
363 % example
364 % \begin{example}
365 %   \DUTmonth{June}
366 %   \DUTyear{1942}
367 % \end{example}
368 % See the Manual \S 3.1 p8.
369 % There are no non-|DUT| versions of these commands to avoid
370 % collisions with the plain \TeX\ |\month| and |\year| (see the
371 % \href{http://www.tug.org/utilities/plain/cseq.html#month-rp}{month}
372 % and
373 % \href{http://www.tug.org/utilities/plain/cseq.html#year-rp}{year}
374 % entries in the HTML version of David Bausum's \emph{TeX Reference
375 % Manual}).
376 %
377 % \begin{command}
378 %   `\cs{degree}\marg{degree}'
379 % \end{command}
380 % \DescribeMacro{\degree}
381 % \DescribeMacro{\DUTdegree}
382 % Set your target degree with \meta{degree}.  From the Manual \S 3.1
383 % p8.
384 % \begin{quote}
385 %   Write out the name of the degree for which you are a candidate.
386 %   All Ph.D.\ candidates must use |Doctor of Philosophy|.  All
387 %   Master's degree candidates should use the precise degree name
388 %   (e.g., |Master of Science in Mechanical Engineering|).
389 % \end{quote}
390 % So, for a Ph.D candidate,
391 % \begin{example}
392 %   \degree{Doctor of Philosophy}
393 % \end{example}
394 %
395 % \begin{command}
396 %   `\cs{copyrighttext}\marg{text}'
397 % \end{command}
398 % \DescribeMacro{\copyrighttext}
399 % \DescribeMacro{\DUTcopyrighttext}
400 % Use this macro to set the copyright text to \meta{text}.
401 % The default value is ``All Rights Reserved.''.
402 % \begin{example}
403 %   \copyrighttext{Released to the Public Domain.}
404 % \end{example}
405 % See the Manual \S 3.2 p9.
406 %
407 % \begin{command}
408 %   `\cs{copyrighttextCCBYSA}'
409 % \end{command}
410 % \DescribeMacro{\copyrighttextCCBYSA}
411 % \DescribeMacro{\DUTcopyrighttextCCBYSA}
412 % There are a number of predefined copyright messages for ease of use \\
413 % \begin{tabular}{l l}
414 %   |\copyrighttextCCBYSA| &
415 %     Creative Commons Attribution-ShareAlike License Version 3.0.\\
416 % \end{tabular}
417 %
418 % \begin{command}
419 %   `\cs{tableofcontents}'
420 % \end{command}
421 % \DescribeMacro{\tableofcontents}
422 % \DescribeMacro{\DUTtableofcontents}
423 % Write the table of contents (Manual \S 3.5 p9).  You can control the
424 % verbosity by setting |\tocdepth| according to the following table
425 % (\href{http://www.image.ufl.edu/help/latex/intext.shtml}{source}). \\
426 % \begin{tabular}{l l l}
427 %   Depth in document & Section Command & Depth for |\secnumdepth| Command \\
428 %   -1 & |\part| & 1 \\
429 %    0 & |\chapter| & 2 \\
430 %    1 & |\section| & 3 \\
431 %    2 & |\subsection| & 4 \\
432 %    3 & |\subsubsection| & 5 \\
433 %    4 & |\paragraph| & 6 \\
434 %    5 & |\subparagraph| & 7
435 % \end{tabular} \\
436 % For example, to expose everything down to and including the
437 % |\subsection| level, you would add
438 % \begin{example}
439 %   \setcounter{tocdepth}{2}
440 % \end{example}
441 % to your preamble (the section before |\begin{document}|, not the
442 % |preamble| environment discussed below).
443 %
444 % Note that the Manual \S 3.5 p9 requires ``List chapter titles and at
445 % least the first and second order subdivisions.'', which corresponds
446 % to a |\tocdepth| of at least 2.
447 %
448 % \begin{command}
449 %   `\cs{listoftables}'
450 % \end{command}
451 % \DescribeMacro{\listoftables}
452 % \DescribeMacro{\DUTlistoftables}
453 % Write the List of Tables page (Manual \S 3.6 p10).
454 % Skip if you have no tables in your thesis.
455 %
456 % \begin{command}
457 %   `\cs{listoffigures}'
458 % \end{command}
459 % \DescribeMacro{\listoffigures}
460 % \DescribeMacro{\DUTlistoffigures}
461 % Write the List of Figures page (Manual \S 3.7 p10).
462 % Skip if you have no figures in your thesis.
463 %
464 % \begin{command}
465 %   `\cs{blanklines}\marg{num}'
466 % \end{command}
467 % \DescribeMacro{\blanklines}
468 % \DescribeMacro{\DUTblanklines}
469 % Insert \meta{num} blank lines.  For example
470 % \begin{example}
471 %   \blanklines{2}
472 % \end{example}
473 % The skipped lines are always \emph{single spaced} lines, regardless
474 % of the current line spacing in the environment calling this macro.
475 %
476 % \begin{command}
477 %   `\cs{iffinal}\marg{final-mode-action}\marg{draft-mode-action}'
478 % \end{command}
479 % \DescribeMacro{\iffinal}
480 % \DescribeMacro{\DUTiffinal}
481 % Include \Lopt{final}- or \Lopt{draft}-specific code.
482 % \begin{example}
483 %   We're in \iffinal{final}{draft} mode!
484 % \end{example}
485 %
486 % \begin{command}
487 %   `\cs{ifdaring}\marg{daring-action}\marg{wimpy-action}'
488 % \end{command}
489 % \DescribeMacro{\ifdaring}
490 % \DescribeMacro{\DUTifdaring}
491 % Include \Lopt{daring}-specific code, with wimpy fallbacks.
492 % \begin{example}
493 %   \ifdaring{\singlespacing Muahahahaha!}{mumble mumble}.
494 % \end{example}
495 %
496 % \begin{command}
497 %   `\cs{makeapprovalform}'
498 % \end{command}
499 % \DescribeMacro{\makeapprovalform}
500 % Typesets the \texttt{T-1} thesis approval form.  This macro is
501 % automatically called before the title page when the
502 % \texttt{approvalform} option is enabled.
503 %
504 %
505 % \begin{command}
506 %   `\cs{drexellogobw}'
507 % \end{command}
508 % \DescribeMacro{\drexellogobw}
509 % Draws a black-and-white official vector Drexel logo.  The image is
510 % exactly 1~inch wide and 1.016~inches tall.  This is accomplished
511 % using the \texttt{tikz} package (\textit{cf.}~\S\ref{sec:tikz}).
512 % You can enclose this command in a \texttt{scalebox} to alter its
513 % size.
514 %
515 %
516 % \subsection{Environments}
517 %
518 % To help deal with name collisions, all \cls{drexel-thesis}
519 % environments have ``secret'' aliases.  For example, |preamble| can
520 % also be used as |DUTpreamble|.  This is useful if one of your
521 % packages clobbers a \cls{drexel-thesis} environment, but you still
522 % want to use the original.
523 % \begin{example}
524 %   \documentclass{drexel-thesis}
525 %   \renewenvironment{preamble}{%
526 %     What preamble?\begingroup\color{white}}{\endgroup}
527 %   \begin{document}
528 %   \begin{DUTpreamble}
529 %   Thwarted again, evil one!
530 %   ...
531 % \end{example}
532 %
533 %
534 % \DescribeEnv{preamble}
535 % \DescribeEnv{DUTpreamble}
536 % Generalize the |\frontmatter| for the thesis, setting up page
537 % numbering, including the title page, copyright page etc.  The
538 % |preamble| environment should contain the following elements
539 % (in order, see the Manual p8)
540 % \begin{itemize}
541 %   \item |dedication| environment (optional)
542 %   \item |acknowledgments| environment (optional)
543 %   \item |\tableofcontents|
544 %   \item |\listoftables|
545 %   \item |\listoffigures|
546 %   \item |abstract| environment
547 % \end{itemize}
548 % This will take care of everything from the title page (Manual \S 3.1),
549 % up through the blank page before the text (Manual \S 3.9).
550 %
551 % \DescribeEnv{dedications}
552 % \DescribeEnv{DUTdedications}
553 % Set the dedications text.
554 % Highlights from the Manual \S 3.3 p9:
555 % \begin{quote}
556 %   The |Dedications| page is optional.
557 % \end{quote}
558 %
559 % \DescribeEnv{acknowledgments}
560 % \DescribeEnv{DUTacknowledgments}
561 % Set the acknowledgments text.
562 % Highlights from the Manual \S 3.4 p9:
563 % \begin{quote}
564 %   The |Acknowledgments| page is optional, but most theses do
565 %   include a brief statement of thanks or recognition of any special
566 %   assistance.
567 % \end{quote}
568 %
569 % \DescribeEnv{abstract}
570 % \DescribeEnv{DUTabstract}
571 % Set the thesis abstract text.  In the Thesis Manual, see \S 3.8
572 % Abstract (p10) for details, p20 for an example.
573 %
574 % Highlights from the Manual:
575 % \begin{quote}
576 %   The abstract is a summary that allows readers to determine the
577 %   value of reading the full thesis.  It should include a statement
578 %   of the problem, an outline of procedures or methods, and a summary
579 %   of results and conclusions.
580 % \end{quote}
581 % \begin{itemize}
582 %   \item Word limits: 600 for a Master's thesis, 350 for a Ph.D.\ thesis.
583 % \end{itemize}
584 %
585 % \DescribeEnv{thesis}
586 % \DescribeEnv{DUTthesis}
587 % Set the thesis text.  In the Thesis Manual, see \S 3.10 Thesis (p11)
588 % for details.
589 %
590 % Highlights from the Manual:
591 % \begin{quote}
592 %   Divide the text into its major parts/chapters/subsections.  No
593 %   fixed arrangement is necessary.  The major parts may contain such
594 %   subjects as introduction, general argument, description of
595 %   experimental procedures, research methods, discussion, summary,
596 %   conclusions, recommendations, and other pertinent topics that are
597 %   necessary for a complete understanding on the part of a
598 %   sophisticated or professional reader.
599 % \end{quote}
600 %
601 % \DescribeEnv{vita}
602 % \DescribeEnv{DUTvita}
603 % Set the thesis vita text (Ph.D.\ only).  See the Manual \S 3.15 p12,
604 % ``Vita'', for details.
605 %
606 % Highlights from the Manual:
607 % \begin{quote}
608 %   The Vita is a biography of the student written in the third person
609 %   in either essay or outline form.  It should include the full name,
610 %   place and date of birth (optional), country of citizenship
611 %   (optional), institutions attended, degrees and honors received,
612 %   titles of publications, teaching and professional experience, and
613 %   other pertinent data.  The Vita must be one page or less.
614 % \end{quote}
615 %
616 %
617 % \subsection{Hints}
618 %
619 %
620 % \subsubsection{Package installation}
621 % \label{sec:dependencies}
622 %
623 % All the packages this class depends on must be installed somewhere
624 % in your texmf tree (they probably already are).  If not, you will
625 % recieve warning messages on compilation such as
626 % \begin{example}
627 %   ! LaTeX Error: File `missing-package.sty' not found.
628 % \end{example}
629 % You should then install the missing package(s) using your operating
630 % systems package manager, or grab the missing package from
631 % \href{http://www.ctan.org/}{CTAN}, and install them following TODO.
632 %
633 %
634 % \subsubsection{Tables and Figures}
635 %
636 % \pkg{drexel-thesis} loads
637 % \href{http://www.ctan.org/tex-archive/macros/latex/required/graphics/}{\pkg{graphicx}}
638 % to define the |\includegraphics| macro,
639 % \href{http://www.ctan.org/tex-archive/macros/latex/required/caption/}{\pkg{caption}}
640 % for pretty caption formatting,
641 % \href{http://www.ctan.org/tex-archive/macros/latex/required/floatrow/}{\pkg{floatrow}}
642 % for placing captions, and
643 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/}{\pkg{hypcap}}
644 % for placing caption anchors.
645 %
646 % Simple float definitions will look like
647 % \begin{example}
648 %   \begin{table}
649 %      \caption{Some caption text}
650 %      \begin{tabular}{...}
651 %        ...
652 %      \end{tabular}
653 %   \end{table}
654 % \end{example}
655 % or
656 % \begin{example}
657 %   \begin{float}
658 %      \includegraphics{...}
659 %      \caption{Some caption text}
660 %   \end{float}
661 % \end{example}
662 % For more useful float information, see the examples in \S
663 % \ref{sec:better-example-part} and the
664 % \href{http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions}
665 %   {\LaTeX\ wikibook page}.
666 %
667 %
668 % \subsubsection{Citations}
669 %
670 % I highly recommend using \BibTeX\ and
671 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/natbib/}{\pkg{natbib}}.
672 % See \S \ref{sec:better-example} for a simple example.
673 %
674 % Suggested options:\\
675 % \begin{tabular}{r p{0.8\textwidth}}
676 %   |super| & selects citations in superscript mode. \\
677 %   |sort&compress| & automatically sorts and compresses compound
678 %     citations (|\pcite{a,b,...}|).
679 % \end{tabular}
680 %
681 %
682 % \subsubsection{References}
683 %
684 % Easier cross referencing with
685 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/cleveref/}{\pkg{cleveref}}.
686 % Is a wonderful tool for easy, consistent crosslinking via |\cref|,
687 % |\Cref|, etc..  The manual is also very good.
688 % Note that if you use |\part|s in your document, you need to tell
689 % \pkg{cleveref} how to deal with them:
690 % \begin{example}
691 %   \usepackage{cleveref}
692 %   \crefname{part}{part}{parts}
693 % \end{example}
694 %
695 %
696 % \subsubsection{Hyperlinks}
697 %
698 % \cls{drexel-thesis} loads
699 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref/}{%
700 %   \pkg{hyperref}}.
701 % with the options:\\
702 % \begin{tabular}{r p{0.8\textwidth}}
703 %   |colorlinks| & color the link letters instead of drawing colored boxes. \\
704 % \end{tabular}
705 %
706 % The default \pkg{hyperref} colors can be a bit jarring.  Feel free
707 % to use \Lopt{blackref} or override them yourself:
708 % \begin{example}
709 %   \usepackage{xcolor}
710 %   \definecolor{dark-gray}{gray}{0.3}
711 %   \hypersetup{citecolor=dark-gray}
712 % \end{example}
713 % See
714 % \href{http://mirror.ctan.org/macros/latex/contrib/hyperref/doc/manual.pdf}{%
715 %   the hyperref manual} (\S 3.4 Extension options)
716 % for a list of |*color| options.
717 %
718 % If running with a pdftex-based driver, |\author|, |\title|, and
719 % |\degree| automatically set |pdfauthor|, |pdftitle|, and
720 % |pdfsubject| respectively.  You can use the |\hypersetup| macro to
721 % set options overriding these defaults.
722 %
723 %
724 % \subsubsection{Developing large \LaTeX\ documents}
725 %
726 % A thesis may take a while to compile, especially if it contains
727 % lots of images, etc..  One way to save time, is to use |\includeonly|
728 % when including chapter \file{*.tex} files (see
729 % \href{http://en.wikibooks.org/wiki/TeX/includeonly}{the \TeX\ Wikibook}).
730 % Usage would be something like
731 % \begin{example}
732 % \documentclass{drexel-thesis}
733 % ...
734 % \includeonly{chapter2.tex,chapter3.tex}
735 % \begin{document}
736 % ...
737 % \begin{thesis}
738 % \include{chapter1.tex}
739 % \include{chapter2.tex}
740 % \include{chapter3.tex}
741 % \include{chapter4.tex}
742 % \end{thesis}
743 % ...
744 % \end{document}
745 % \end{example}
746 % which would only compile chapters two and three.  Don't confuse the
747 % similar commands |\include| and |\input|.  The more fundamental
748 % |\input| just inserts the file contents at that point, while
749 % |\include|
750 % \begin{itemize}
751 %   \item may only be used after |\begin{document}|
752 %   \item acts like |\clearpage \input{} \clearpage|
753 %   \item will not crash on nonexistent files
754 % \end{itemize}
755 %
756 %
757 % \StopEventually{\pagebreak\PrintChanges}
758 %
759 %
760 % \section{Implementation}
761 %    \begin{macrocode}
762 %<*class>
763 %    \end{macrocode}
764 %
765 % For simplicity, we'll derive everything from the standard \cls{book}
766 % class.
767 %
768 %
769 % \subsection{Option Processing}
770 %
771 % Include
772 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/xkeyval/}{\pkg{xkeyval}}
773 % for easier option parsing.  If the package is not installed on your system,
774 % see \S \ref{sec:dependencies} for installation instructions.
775 %    \begin{macrocode}
776 \RequirePackage{xkeyval}
777 %    \end{macrocode}
778 %
779 % Define some booleans to store option states
780 %    \begin{macrocode}
781 \newif\if@mainmatter \@mainmattertrue
782 \newif\if@DUT@subfigopt
783 \newif\if@dottedchapter 
784 \newif\if@boldchapter
785 \newif\if@boldpart
786 \newif\if@dottedpart
787 \newif\if@indenttoc
788 \newif\if@blackref
789 \newif\if@draftwatermark
790 \newif\if@mydraftwatermark
791 \newif\if@indentfirst
792 \newif\if@final
793 \newif\if@daring
794 \newif\if@approvalform
795 %    \end{macrocode}
796 %
797 % \begin{macro}{\iffinal}
798 % Setup a user-friendly means for including \Lopt{final}- or
799 % \Lopt{draft}-specific code.
800 % \changes{0.7}{2010/03/14}{W.~Trevor King added macro.}
801 %    \begin{macrocode}
802 \newcommand\iffinal[2]{\if@final #1\else #2\fi}
803 %    \end{macrocode}
804 % \end{macro}
805 %
806 % \begin{macro}{\ifdaring}
807 % Setup a user-friendly means for including \Lopt{daring}-specific
808 % code.
809 % \changes{0.11}{2010/06/04}{W.~Trevor King added macro.}
810 %    \begin{macrocode}
811 \newcommand\ifdaring[2]{\if@daring #1\else #2\fi}
812 %    \end{macrocode}
813 % \end{macro}
814 %
815 % \begin{macro}{\makeapprovalform}
816 % Typesets the \texttt{T-1} thesis/dissertation approval form.
817 % \changes{0.14}{2010/09/21}{Evan Sultanik added macro.}
818 %    \begin{macrocode}
819 \newcommand\makeapprovalform{
820   \thispagestyle{empty}
821   \noindent\drexellogobw\hfill
822   \dimen0=\hsize
823   \advance\dimen0 by -1.25in
824   \vbox to 1in{
825     \vfill
826     \hbox to \dimen0{\Huge\textbf{Office of Graduate Studies}}
827     \hbox{}
828     \hbox to \dimen0{\LARGE\textbf{Dissertation/Thesis Approval Form}}
829     \vfill
830   }
831
832   \vskip0.25in
833
834   \noindent This form is for use by all doctoral and master's
835   students with a dissertation/thesis requirement.  Please print
836   clearly as the library will bind a copy of this form with each
837   copy of the dissertation/thesis. All doctoral dissertations must
838   conform to university format requirements, which is the
839   responsibility of the student and supervising professor. Students
840   should obtain a copy of the Thesis Manual located on the library
841   website.
842
843   \vskip0.25in
844
845   \noindent\begin{tabularx}{\hsize}{lX}
846     \textbf{Dissertation/Thesis Title:} & \parbox[t]{\hsize}{\@DUT@title}\\
847     &\\
848     \textbf{Author:} & \@DUT@author
849   \end{tabularx}
850
851   \vspace*{\fill}
852
853   \begin{center}
854     \textbf{This dissertation/thesis is hereby accepted and approved.}
855   \end{center}
856
857   \vspace*{\fill}
858
859   \setstretch{1.05}
860   \noindent \textbf{Signatures:}\\
861   Examining Committee\\\ \\
862   \begin{tabularx}{\hsize}{lX}
863     \setbox0=\hbox{\textbf{Dissertation/Thesis Title:}}\hbox to \wd0{Chair\hfill} & \vbox{\hrule\hbox to \hsize{}}\\
864     Members & \vbox{\hrule\hbox to \hsize{}}\\
865             & \vbox{\hrule\hbox to \hsize{}}\\
866             & \vbox{\hrule\hbox to \hsize{}}\\
867             & \vbox{\hrule\hbox to \hsize{}}\\
868             & \vbox{\hrule\hbox to \hsize{}}\\
869     Academic Advisor & \vbox{\hrule\hbox to \hsize{}}\\
870     Department Head & \vbox{\hrule\hbox to \hsize{}}
871   \end{tabularx}
872   \setstretch{1}
873
874   \vspace*{\fill}
875
876   \begin{center}\scriptsize
877    Office of Graduate Studies $\bullet$ 3141 Chestnut St. $\bullet$ Randell Hall 240 $\bullet$ Philadelphia, PA 19104\\
878     \textbf{Tel.}: 215-895-0366 $\bullet$ \textbf{Fax}: 215-895-0495 $\bullet$ \textbf{Email}: \url{graduate@drexel.edu} $\bullet$ \textbf{Web}: \url{www.drexel.edu/provost/graduatestudies}
879   \end{center}
880   \pagebreak
881 }
882 %    \end{macrocode}
883 % \end{macro}
884 %
885 % \begin{macro}{\drexellogobw}
886 % Draws a vector art official black-and-white Drexel logo.  The image
887 % is exactly 1~inch wide and 1.016~inches tall.
888 % \changes{0.14}{2010/09/21}{Evan Sultanik added macro.}
889 %    \begin{macrocode}
890 \newcommand\drexellogobw{
891   \begin{tikzpicture}[y=0.80pt, x=0.8pt,yscale=-1, inner sep=0pt, outer sep=0pt]
892   \begin{scope}[cm={{1.25,0.0,0.0,-1.25,(-332.5,550.73629)}},]
893     \path[fill=black,nonzero rule] (266.0000,367.4100) -- (338.0000,367.4100) --
894       (338.0000,440.5890) -- (266.0000,440.5890) -- (266.0000,367.4100) -- cycle;
895     \path[fill=white,nonzero rule] (269.3171,377.0107) -- (334.8469,377.0107) --
896       (334.8469,438.7106) -- (269.3171,438.7106) -- (269.3171,377.0107) -- cycle;
897     \path[fill=black,nonzero rule] (330.2168,398.2540) .. controls
898       (328.9195,397.9603) and (327.1082,397.5687) .. (326.0555,397.4220) --
899       (326.0555,396.7855) .. controls (327.6468,396.6388) and (327.6956,396.6388) ..
900       (327.6956,395.1942) -- (327.6956,383.2000) .. controls (327.6956,381.8537) and
901       (327.5489,381.7070) .. (326.0313,381.5600) -- (326.0313,380.8747) --
902       (331.9060,380.8747) -- (331.9060,381.5600) .. controls (330.3147,381.7070) and
903       (330.2168,381.8537) .. (330.2168,383.2000) -- (330.2168,398.2540) --
904       cycle(319.4750,387.8511) .. controls (319.6711,389.6870) and
905       (320.6989,390.8372) .. (321.7273,390.8372) .. controls (322.8042,390.8372) and
906       (323.5629,389.5642) .. (323.5629,388.5852) .. controls (323.5629,388.0466) and
907       (323.4650,387.8999) .. (323.1225,387.8999) -- (319.4750,387.8511) --
908       cycle(325.6436,383.5183) .. controls (324.6889,382.7839) and
909       (323.9057,382.4902) .. (323.0734,382.4902) .. controls (321.2375,382.4902) and
910       (319.3037,383.7632) .. (319.3528,386.8472) .. controls (322.0207,386.9454) and
911       (325.1787,387.1900) .. (325.5215,387.2391) .. controls (325.9865,387.3367) and
912       (326.0352,387.3858) .. (326.0352,388.2915) .. controls (326.0352,390.0540) and
913       (324.4443,391.7920) .. (322.3881,391.7920) .. controls (319.1570,391.7920) and
914       (316.8805,388.7813) .. (316.9296,385.7212) .. controls (316.9784,382.8575) and
915       (318.8630,380.5809) .. (322.0698,380.5809) .. controls (322.7551,380.5809) and
916       (324.5910,381.0704) .. (325.9865,383.1021) -- (325.6436,383.5183) --
917       cycle(312.6069,391.4983) -- (312.6069,390.8130) -- (313.2434,390.7393) ..
918       controls (313.7084,390.6659) and (313.5859,390.3968) .. (313.2188,389.7848) ..
919       controls (312.8518,389.1729) and (312.4111,388.5118) .. (311.9216,387.8265) --
920       (310.5019,389.9561) .. controls (310.1836,390.4210) and (310.2327,390.6659) ..
921       (310.6485,390.7147) -- (311.2851,390.8129) -- (311.2851,391.4982) --
922       (305.8754,391.4982) -- (305.8754,390.8129) .. controls (307.1972,390.6659) and
923       (307.3684,390.5680) .. (308.1762,389.3195) -- (310.4527,385.7948) .. controls
924       (309.6938,384.7667) and (308.9839,383.8365) .. (308.4211,383.1021) .. controls
925       (307.3930,381.7803) and (307.0259,381.7557) .. (305.6304,381.5599) --
926       (305.6304,380.8746) -- (310.2327,380.8746) -- (310.2327,381.5599) --
927       (309.5225,381.6824) .. controls (309.1309,381.7557) and (309.0576,381.9027) ..
928       (309.4492,382.5635) .. controls (309.9142,383.3470) and (310.4528,384.1547) ..
929       (310.9914,384.9379) -- (312.5824,382.5147) .. controls (312.9006,382.0252) and
930       (312.8761,381.7069) .. (312.4353,381.6581) -- (311.7258,381.5599) --
931       (311.7258,380.8746) -- (317.5271,380.8746) -- (317.5271,381.5599) .. controls
932       (316.2053,381.7069) and (315.8867,381.8048) .. (314.9323,383.2491) --
933       (312.4599,386.9942) .. controls (313.3168,388.1693) and (314.0021,389.0259) ..
934       (314.2715,389.3683) .. controls (315.2997,390.6168) and (315.5934,390.6659) ..
935       (317.1355,390.8129) -- (317.1355,391.4982) -- (312.6069,391.4982) --
936       cycle(299.3927,387.8511) .. controls (299.5885,389.6870) and
937       (300.6166,390.8372) .. (301.6447,390.8372) .. controls (302.7220,390.8372) and
938       (303.4806,389.5642) .. (303.4806,388.5852) .. controls (303.4806,388.0466) and
939       (303.3827,387.8999) .. (303.0402,387.8999) -- (299.3927,387.8511) --
940       cycle(305.5614,383.5183) .. controls (304.6066,382.7839) and
941       (303.8234,382.4902) .. (302.9911,382.4902) .. controls (301.1552,382.4902) and
942       (299.2215,383.7632) .. (299.2706,386.8472) .. controls (301.9384,386.9454) and
943       (305.0961,387.1900) .. (305.4389,387.2391) .. controls (305.9039,387.3367) and
944       (305.9530,387.3858) .. (305.9530,388.2915) .. controls (305.9530,390.0540) and
945       (304.3617,391.7920) .. (302.3058,391.7920) .. controls (299.0745,391.7920) and
946       (296.7982,388.7813) .. (296.8470,385.7212) .. controls (296.8961,382.8575) and
947       (298.7808,380.5809) .. (301.9876,380.5809) .. controls (302.6729,380.5809) and
948       (304.5087,381.0704) .. (305.9039,383.1021) -- (305.5614,383.5183) --
949       cycle(292.7087,391.8408) .. controls (291.4360,391.4492) and
950       (289.8205,391.1067) .. (288.6211,390.9109) -- (288.6211,390.3477) .. controls
951       (290.1387,390.2007) and (290.1875,390.1519) .. (290.1875,388.6585) --
952       (290.1875,383.2000) .. controls (290.1875,381.8537) and (290.0408,381.7070) ..
953       (288.5965,381.5600) -- (288.5965,380.8747) -- (294.6428,380.8747) --
954       (294.6428,381.5600) .. controls (292.8557,381.7070) and (292.7087,381.8537) ..
955       (292.7087,383.2000) -- (292.7087,388.1448) .. controls (293.2476,389.2217) and
956       (293.8105,389.5154) .. (294.2266,389.5154) .. controls (294.6182,389.5154) and
957       (295.0098,389.3196) .. (295.3526,388.9771) .. controls (295.4993,388.8301) and
958       (295.7930,388.7813) .. (296.0625,388.8789) .. controls (296.6253,389.0993) and
959       (297.0660,389.8091) .. (297.0660,390.4211) .. controls (297.0660,391.1067) and
960       (296.4298,391.8408) .. (295.5484,391.8408) .. controls (294.3487,391.8408) and
961       (293.3697,390.2986) .. (292.7823,389.3684) -- (292.7086,389.3684) --
962       (292.7086,391.8408) -- cycle(276.3892,394.4356) .. controls
963       (276.3892,395.0721) and (276.3892,395.5125) .. (276.5362,395.6350) .. controls
964       (276.6829,395.7574) and (277.3194,395.8553) .. (278.1272,395.8553) .. controls
965       (282.0438,395.8553) and (284.6874,394.0440) .. (284.6874,388.8055) .. controls
966       (284.6874,384.7422) and (282.5821,381.8782) .. (278.5188,381.8782) .. controls
967       (276.6341,381.8782) and (276.3892,382.3435) .. (276.3892,384.5952) --
968       (276.3892,394.4356) -- cycle(271.6405,396.7855) -- (271.6405,396.0999) ..
969       controls (273.4518,395.9532) and (273.6476,395.7574) .. (273.6476,393.1138) --
970       (273.6476,384.5464) .. controls (273.6476,381.9028) and (273.4518,381.7070) ..
971       (271.4447,381.5599) -- (271.4447,380.8746) -- (277.4419,380.8746) .. controls
972       (283.1695,380.8746) and (287.8206,383.5183) .. (287.8206,389.5399) .. controls
973       (287.8206,391.6941) and (286.8903,393.5054) .. (285.7643,394.6314) .. controls
974       (284.1488,396.1981) and (281.6522,396.7855) .. (278.9104,396.7855) --
975       (271.6405,396.7855);
976     \path[fill=white,nonzero rule] (277.1649,373.9784) -- (277.1649,371.3099) ..
977       controls (277.1649,370.4792) and (277.1239,369.7235) .. (276.0893,369.7235) ..
978       controls (275.0546,369.7235) and (275.0137,370.4792) .. (275.0137,371.3099) --
979       (275.0137,373.9784) -- (273.9584,373.9784) -- (273.9584,370.9013) .. controls
980       (273.9584,369.5942) and (274.8978,368.9613) .. (276.0893,368.9613) .. controls
981       (277.2808,368.9613) and (278.2201,369.5942) .. (278.2201,370.9013) --
982       (278.2201,373.9784) -- (277.1649,373.9784);
983     \path[fill=white,nonzero rule] (285.3943,369.0631) -- (285.3943,373.9784) --
984       (284.4072,373.9784) -- (284.4072,370.1253) -- (284.3933,370.1119) --
985       (282.5215,373.9785) -- (280.9557,373.9785) -- (280.9557,369.0632) --
986       (281.9429,369.0632) -- (281.9429,373.1344) -- (281.9563,373.1482) --
987       (283.8966,369.0632) -- (285.3943,369.0632);
988     \path[fill=white,nonzero rule] (287.9938,369.0631) -- (289.0489,369.0631) --
989       (289.0489,373.9783) -- (287.9938,373.9783) -- (287.9938,369.0631) -- cycle;
990     \path[fill=white,nonzero rule] (293.1186,369.0631) -- (294.2692,369.0631) --
991       (296.0802,373.9784) -- (295.0383,373.9784) -- (293.7518,370.1047) --
992       (293.7380,370.1047) -- (292.4581,373.9784) -- (291.3076,373.9784) --
993       (293.1186,369.0631);
994     \path[fill=white,nonzero rule] (298.3125,369.0631) -- (301.6824,369.0631) --
995       (301.6824,369.8804) -- (299.3678,369.8804) -- (299.3678,371.1940) --
996       (301.4647,371.1940) -- (301.4647,372.0109) -- (299.3678,372.0109) --
997       (299.3678,373.1615) -- (301.6078,373.1615) -- (301.6078,373.9784) --
998       (298.3125,373.9784) -- (298.3125,369.0631);
999     \path[fill=white,nonzero rule] (305.3086,373.1615) -- (306.1936,373.1615) ..
1000       controls (306.6566,373.1545) and (306.9291,372.9710) .. (306.9291,372.5352) ..
1001       controls (306.9291,372.0997) and (306.6566,371.8682) .. (306.1936,371.8613) --
1002       (305.3086,371.8613) -- (305.3086,373.1615) -- cycle(305.3086,371.0444) --
1003       (306.4251,371.0444) .. controls (306.7722,371.0306) and (306.8403,370.6564) ..
1004       (306.8675,370.3840) .. controls (306.9153,369.9413) and (306.9631,369.4989) ..
1005       (307.0515,369.0631) -- (308.2158,369.0631) .. controls (308.0181,369.3356) and
1006       (307.9771,369.9141) .. (307.9297,370.2275) .. controls (307.8413,370.9082) and
1007       (307.8413,371.4052) .. (307.0309,371.4936) -- (307.0309,371.5074) .. controls
1008       (307.6369,371.6368) and (308.0521,372.0588) .. (308.0521,372.6986) .. controls
1009       (308.0521,373.6995) and (307.1877,373.9719) .. (306.3436,373.9785) --
1010       (304.2533,373.9785) -- (304.2533,369.0632) -- (305.3086,369.0632) --
1011       (305.3086,371.0444);
1012     \path[fill=white,nonzero rule] (314.2601,372.5761) .. controls
1013       (314.2601,373.5633) and (313.5181,374.0806) .. (312.5650,374.0806) .. controls
1014       (311.5572,374.0806) and (310.5225,373.5836) .. (310.5225,372.4605) .. controls
1015       (310.5225,371.5889) and (311.4619,371.2759) .. (312.1495,371.1056) .. controls
1016       (312.5719,370.9969) and (313.2729,370.9560) .. (313.2729,370.3771) .. controls
1017       (313.2729,369.8529) and (312.7146,369.7235) .. (312.2926,369.7235) .. controls
1018       (311.7412,369.7235) and (311.4282,370.0912) .. (311.4691,370.6358) --
1019       (310.3932,370.6358) .. controls (310.3592,369.3968) and (311.1558,368.9613) ..
1020       (312.2792,368.9613) .. controls (313.3341,368.9613) and (314.3963,369.3834) ..
1021       (314.3963,370.6017) .. controls (314.3963,371.5889) and (313.2935,371.8001) ..
1022       (312.5447,371.9906) .. controls (312.1227,372.0928) and (311.6459,372.1540) ..
1023       (311.6459,372.6851) .. controls (311.6459,373.1140) and (312.0408,373.3184) ..
1024       (312.4288,373.3184) .. controls (312.9393,373.3184) and (313.2048,373.0731) ..
1025       (313.2457,372.5761) -- (314.2601,372.5761);
1026     \path[fill=white,nonzero rule] (316.8870,369.0631) -- (317.9422,369.0631) --
1027       (317.9422,373.9783) -- (316.8870,373.9783) -- (316.8870,369.0631) -- cycle;
1028     \path[fill=white,nonzero rule] (320.2146,373.1615) -- (321.6782,373.1615) --
1029       (321.6782,369.0631) -- (322.7335,369.0631) -- (322.7335,373.1615) --
1030       (324.1971,373.1615) -- (324.1971,373.9784) -- (320.2146,373.9784) --
1031       (320.2146,373.1615);
1032     \path[fill=white,nonzero rule] (327.7961,369.0631) -- (328.8511,369.0631) --
1033       (328.8511,370.6701) -- (330.5056,373.9784) -- (329.4231,373.9784) --
1034       (328.3881,371.7251) -- (327.3741,373.9784) -- (326.1417,373.9784) --
1035       (327.7961,370.6701) -- (327.7961,369.0631);
1036     \path[fill=black,nonzero rule] (317.2675,431.5469) .. controls
1037       (316.1860,431.3992) and (315.2214,430.7506) .. (314.6366,429.7477) .. controls
1038       (314.1108,428.7739) and (313.9058,427.3581) .. (314.6661,426.4142) .. controls
1039       (315.0459,425.9718) and (315.5138,425.6179) .. (316.0986,425.5884) .. controls
1040       (317.6768,425.7655) and (318.7000,427.4174) .. (320.2199,427.8005) .. controls
1041       (321.2140,428.1250) and (322.0325,427.5647) .. (322.7342,427.0042) .. controls
1042       (323.2604,426.6797) and (323.9912,426.7681) .. (324.4882,427.0926) .. controls
1043       (322.8511,425.7652) and (321.7401,423.7889) .. (321.5650,421.6357) .. controls
1044       (321.3308,422.6386) and (320.7169,423.7299) .. (319.7232,424.0839) .. controls
1045       (318.6126,424.4971) and (317.6480,423.8183) .. (316.8877,423.0810) .. controls
1046       (316.1864,422.3436) and (315.8940,421.3997) .. (315.5138,420.5146) .. controls
1047       (316.0400,420.9868) and (316.6834,421.6063) .. (317.4725,421.7536) .. controls
1048       (318.4665,422.0486) and (319.4020,421.7241) .. (320.1911,421.1344) .. controls
1049       (320.4540,420.8689) and (320.7759,420.6328) .. (320.8927,420.2199) .. controls
1050       (319.8990,419.5415) and (319.5772,418.3909) .. (319.6358,417.1814) .. controls
1051       (319.3142,418.1254) and (318.9636,419.2760) .. (317.8818,419.6889) .. controls
1052       (317.1801,419.9839) and (316.3032,419.8955) .. (315.7479,419.3054) .. controls
1053       (315.2800,418.8038) and (315.2509,418.0075) .. (315.3678,417.3291) .. controls
1054       (315.8062,415.4120) and (317.5602,414.2909) .. (319.2265,413.7304) .. controls
1055       (320.9514,413.1109) and (322.5299,411.5180) .. (322.7345,409.6304) .. controls
1056       (322.9978,409.6893) and (323.4362,409.8956) .. (323.6700,409.6006) .. controls
1057       (323.9329,410.4856) and (324.3422,411.6362) .. (325.3945,411.9309) .. controls
1058       (326.1545,412.2262) and (326.9439,411.9309) .. (327.5287,411.4001) .. controls
1059       (328.1426,410.7217) and (328.4350,409.8366) .. (328.2595,408.8927) .. controls
1060       (328.1717,408.5093) and (327.9962,408.1553) .. (327.7625,407.8308) .. controls
1061       (327.8502,408.2732) and (327.9088,408.9814) .. (327.6164,409.3943) .. controls
1062       (327.3823,409.7188) and (327.0316,409.9548) .. (326.6515,409.9548) .. controls
1063       (326.3594,409.9843) and (326.1548,409.8075) .. (326.0084,409.5714) .. controls
1064       (325.6869,408.1258) and (327.4995,407.7424) .. (327.5578,406.3856) .. controls
1065       (327.5873,405.6482) and (327.2949,404.9695) .. (326.6518,404.6453) .. controls
1066       (325.9505,404.3503) and (325.1902,404.6155) .. (324.6932,405.1466) .. controls
1067       (324.4303,405.3824) and (324.2256,405.6777) .. (324.1087,405.9724) .. controls
1068       (324.6346,405.7072) and (325.5995,405.4416) .. (326.1548,405.9433) .. controls
1069       (326.4180,406.1790) and (326.5346,406.4740) .. (326.5346,406.8280) .. controls
1070       (326.5932,407.3591) and (326.1839,407.8014) .. (325.8333,408.0964) .. controls
1071       (325.5114,408.3325) and (325.1607,408.4798) .. (324.7515,408.5388) .. controls
1072       (324.9856,408.0669) and (324.9564,407.4180) .. (324.6346,407.0051) .. controls
1073       (324.1087,406.2677) and (323.1733,406.3264) .. (322.3547,406.4151) .. controls
1074       (321.4779,404.2030) and (319.0516,403.0230) .. (316.8884,402.4330) --
1075       (315.3098,402.3151) .. controls (316.3039,401.6956) and (317.3562,401.2234) ..
1076       (318.4086,400.7222) .. controls (318.9639,401.7251) and (319.7530,402.8458) ..
1077       (320.9517,403.0819) .. controls (321.8285,403.1998) and (322.6471,402.9048) ..
1078       (323.1441,402.1969) .. controls (323.5534,401.4595) and (323.8163,400.4566) ..
1079       (323.4657,399.6011) -- (323.0855,398.8932) .. controls (323.2610,399.5421) and
1080       (323.0563,400.3682) .. (322.5011,400.8695) .. controls (322.2087,401.1056) and
1081       (321.8285,401.2234) .. (321.4484,401.1645) .. controls (321.0977,401.1056) and
1082       (320.7471,400.8695) .. (320.6302,400.5156) .. controls (320.2500,398.7753) and
1083       (322.8226,398.7458) .. (322.5302,396.9761) .. controls (322.4719,396.5039) and
1084       (322.2673,396.1205) .. (321.8580,395.7961) .. controls (321.2444,395.2948) and
1085       (320.1331,395.2358) .. (319.4026,395.6192) .. controls (318.9348,395.7961) and
1086       (318.5255,396.1795) .. (318.1457,396.5039) .. controls (317.5609,396.1795) and
1087       (316.6546,396.1503) .. (316.1284,396.6221) .. controls (315.3393,397.2711) and
1088       (315.1930,398.2147) .. (314.9592,399.1292) .. controls (311.7435,400.3977) and
1089       (308.7325,402.2561) .. (306.2186,404.9698) .. controls (304.4354,406.8872) and
1090       (303.6460,409.5125) .. (304.0553,412.1968) .. controls (304.4646,414.6744) and
1091       (304.2305,417.5357) .. (302.0966,419.0108) .. controls (301.1026,419.5415) and
1092       (299.8161,419.8071) .. (298.7055,419.3647) .. controls (297.5945,418.8929) and
1093       (296.8346,417.6539) .. (296.8054,416.4150) .. controls (296.8640,414.2026) and
1094       (298.0919,412.3444) .. (299.0860,410.4565) .. controls (300.0214,408.2146) and
1095       (299.6121,405.4122) .. (297.8581,403.7607) .. controls (296.4842,402.0793) and
1096       (294.5259,401.5780) .. (293.0057,400.1914) .. controls (292.8010,399.9848) and
1097       (292.7136,399.6606) .. (292.8305,399.3951) .. controls (293.3275,398.7462) and
1098       (294.2921,398.7462) .. (295.1107,398.8051) .. controls (296.8644,399.1296) and
1099       (298.1796,400.4570) .. (299.8459,400.9288) .. controls (300.8986,401.0764) and
1100       (301.9215,400.7225) .. (302.4771,399.8080) .. controls (302.6817,399.4246) and
1101       (302.8569,398.9230) .. (302.7109,398.4511) .. controls (302.5648,397.9790) and
1102       (302.2138,397.5367) .. (301.8046,397.3300) .. controls (301.5416,397.2122) and
1103       (301.1615,397.2416) .. (300.8691,397.2711) .. controls (301.2201,397.3893) and
1104       (301.6585,397.6546) .. (301.7754,398.1264) .. controls (301.8631,398.5101) and
1105       (301.7463,398.9230) .. (301.4830,399.2180) .. controls (301.1615,399.5130) and
1106       (300.8108,399.6607) .. (300.3724,399.6607) .. controls (300.6353,399.3359) and
1107       (300.8691,398.8935) .. (300.8108,398.3919) .. controls (300.6939,397.6251) and
1108       (300.1678,396.8877) .. (299.4075,396.6811) .. controls (299.0277,396.5633) and
1109       (298.6475,396.7106) .. (298.3260,396.9172) .. controls (298.0339,397.1533) and
1110       (297.9167,397.4188) .. (297.7707,397.7138) .. controls (297.9753,397.5072) and
1111       (298.2383,397.3599) .. (298.5306,397.3893) .. controls (298.9399,397.4482) and
1112       (299.2323,397.6840) .. (299.3783,398.0678) .. controls (299.4661,398.3330) and
1113       (299.4661,398.6873) .. (299.3197,398.9230) .. controls (299.1446,399.1885) and
1114       (298.8522,399.3657) .. (298.5015,399.2769) .. controls (297.3906,398.9230) and
1115       (297.1568,397.3599) .. (296.0167,397.0056) .. controls (294.5551,396.8877) and
1116       (293.0057,397.0649) .. (291.4858,396.9761) -- (286.8671,396.8582) .. controls
1117       (286.6042,396.9466) and (286.2824,397.0056) .. (286.1655,397.3009) .. controls
1118       (285.6393,398.1856) and (286.9549,399.1885) .. (285.8439,399.8673) .. controls
1119       (283.0376,401.7843) and (279.9097,403.7017) .. (278.0679,406.8283) .. controls
1120       (276.4017,409.6307) and (274.9692,413.8490) .. (277.0735,416.9166) .. controls
1121       (278.1845,418.5095) and (280.0263,419.4535) .. (282.0432,419.0995) .. controls
1122       (283.6508,418.8929) and (284.9956,417.5656) .. (285.4049,416.0316) --
1123       (285.4927,415.5005) .. controls (284.8787,416.5921) and (283.8850,417.6834) ..
1124       (282.6277,418.0963) .. controls (282.7449,417.7718) and (282.6863,417.3000) ..
1125       (282.6280,416.9461) .. controls (282.3942,417.4771) and (281.7509,417.9490) ..
1126       (281.1664,418.1556) .. controls (281.4293,417.6834) and (281.7220,417.1229) ..
1127       (281.6340,416.5037) .. controls (281.2247,416.9755) and (280.6111,417.4474) ..
1128       (279.9386,417.2705) .. controls (280.4647,416.8282) and (280.9326,416.3560) ..
1129       (281.1373,415.6776) .. controls (280.6697,415.9726) and (279.9680,416.2676) ..
1130       (279.3246,416.0021) .. controls (279.8803,415.6482) and (280.8743,415.3531) ..
1131       (280.8743,414.4386) .. controls (280.5819,414.6453) and (280.1727,414.7337) ..
1132       (279.8217,414.6453) -- (279.3832,414.4386) .. controls (279.8217,414.2618) and
1133       (280.4356,414.1145) .. (280.7571,413.6424) -- (281.0204,413.1705) .. controls
1134       (280.4064,413.2294) and (279.7634,413.1407) .. (279.3246,412.6689) .. controls
1135       (279.9972,412.5510) and (280.6988,412.4626) .. (281.1373,411.8432) .. controls
1136       (280.5525,411.6955) and (279.9386,411.3710) .. (279.7339,410.7221) .. controls
1137       (280.2896,411.0171) and (281.1373,411.0171) .. (281.6634,410.5747) .. controls
1138       (281.0204,410.2208) and (280.3478,409.5423) .. (280.5233,408.6868) .. controls
1139       (281.0790,409.1291) and (281.8681,409.5129) .. (282.6283,409.1586) .. controls
1140       (281.8098,408.8047) and (281.2836,407.9789) .. (281.2541,407.1528) --
1141       (281.2836,406.9171) .. controls (281.8681,407.5955) and (282.6284,408.0378) ..
1142       (283.5344,407.8610) .. controls (282.7453,407.4773) and (282.3943,406.6810) ..
1143       (282.4820,405.7959) .. controls (282.6284,405.8846) and (282.7453,406.0910) ..
1144       (282.9208,406.2092) .. controls (283.4761,406.5631) and (284.0314,406.9171) ..
1145       (284.6745,406.9465) .. controls (284.2360,406.3565) and (283.6221,405.5893) ..
1146       (283.8854,404.7341) .. controls (284.2946,405.5013) and (285.0546,406.3270) ..
1147       (285.9314,406.4154) .. controls (285.4930,405.8254) and (285.3470,405.0881) ..
1148       (285.3470,404.3212) .. controls (285.9609,405.1765) and (286.8669,406.1794) ..
1149       (287.8901,406.5631) .. controls (287.5391,405.9141) and (287.2176,404.8225) ..
1150       (287.5977,404.0262) .. controls (287.8901,404.9997) and (288.5040,406.0026) ..
1151       (289.2348,406.6512) .. controls (289.0885,405.8254) and (289.3517,405.0586) ..
1152       (289.9948,404.4980) -- (290.0534,404.5569) .. controls (290.0239,405.6191) and
1153       (290.4332,406.5333) .. (290.9594,407.3299) .. controls (290.8425,406.6220) and
1154       (291.2517,405.9730) .. (291.8657,405.6188) -- (292.1289,405.5009) .. controls
1155       (291.8365,406.2386) and (291.6319,407.0938) .. (291.7779,408.0083) .. controls
1156       (292.3041,407.4478) and (293.0644,406.7693) .. (293.9117,406.8872) .. controls
1157       (292.6551,408.0083) and (291.3978,409.2473) .. (290.8716,410.8104) .. controls
1158       (291.3686,410.2797) and (292.1577,409.9254) .. (293.0054,409.9847) .. controls
1159       (291.4272,411.1054) and (289.9948,413.0523) .. (289.8484,415.0876) .. controls
1160       (290.1994,414.2618) and (290.9885,413.6125) .. (291.8071,413.3178) .. controls
1161       (290.6961,414.9697) and (289.5269,416.8868) .. (290.1405,419.1286) .. controls
1162       (290.2868,418.0668) and (290.9008,416.8868) .. (292.0117,416.5626) .. controls
1163       (291.3978,417.7129) and (290.5792,418.8929) .. (290.7544,420.3676) .. controls
1164       (290.8127,421.2821) and (291.1051,422.1671) .. (291.6312,422.9045) .. controls
1165       (291.2514,422.0784) and (291.1928,420.7808) .. (291.9528,420.0137) --
1166       (292.0114,419.9548) .. controls (291.7776,422.2556) and (292.6544,424.5269) ..
1167       (294.6422,425.5888) -- (295.4022,426.0016) .. controls (294.7883,425.2050) and
1168       (294.3793,424.3498) .. (294.3793,423.3171) .. controls (295.2558,425.2050) and
1169       (297.0976,427.0635) .. (299.4364,426.9456) .. controls (299.7870,426.9751) and
1170       (300.1086,426.9158) .. (300.4301,426.8569) .. controls (299.4655,426.4146) and
1171       (298.2668,425.6769) .. (298.1499,424.4677) .. controls (299.7284,425.9129) and
1172       (301.9503,426.7096) .. (304.1133,425.9129) .. controls (304.6103,425.7063) and
1173       (305.1656,425.4411) .. (305.4872,425.0279) .. controls (304.7272,425.4411) and
1174       (303.8504,425.1166) .. (303.2070,424.7034) .. controls (302.9149,424.4972) and
1175       (302.5056,424.2021) .. (302.3888,423.8482) .. controls (303.8795,424.4088) and
1176       (306.1597,424.7922) .. (307.3289,423.2877) -- (308.0598,422.1374) .. controls
1177       (307.2707,422.6685) and (306.3352,423.1108) .. (305.3120,422.9046) .. controls
1178       (305.1365,422.8453) and (304.9610,422.7569) .. (304.7858,422.6092) .. controls
1179       (306.4226,422.5503) and (308.0306,421.7537) .. (308.7028,420.2200) --
1180       (308.9075,419.3055) .. controls (308.4982,420.1021) and (307.6505,420.8984) ..
1181       (306.6859,420.9279) .. controls (307.2412,420.3382) and (308.0892,419.7482) ..
1182       (308.3521,418.9221) .. controls (308.9078,417.6831) and (309.0538,416.1789) ..
1183       (310.3985,415.4121) .. controls (310.9247,415.1466) and (311.4800,414.9694) ..
1184       (312.0648,414.8810) .. controls (310.0479,415.7068) and (309.3171,418.1258) ..
1185       (309.1707,420.2495) .. controls (309.6677,419.6303) and (310.3108,419.0694) ..
1186       (311.0125,418.7748) .. controls (310.6615,419.2171) and (310.3108,419.5121) ..
1187       (309.9307,419.9839) .. controls (308.7614,421.4001) and (308.0598,423.2582) ..
1188       (308.4982,425.1461) .. controls (308.8197,426.3553) and (309.6383,427.3582) ..
1189       (310.4274,428.3611) .. controls (309.7846,427.1224) and (309.6674,425.3233) ..
1190       (310.4569,424.1137) .. controls (310.8367,423.5237) and (311.3632,423.0221) ..
1191       (311.8893,422.6387) .. controls (310.8661,423.9955) and (310.3982,426.0013) ..
1192       (311.0122,427.7419) .. controls (311.8890,430.1312) and (314.3444,431.3993) ..
1193       (316.7123,431.5764) -- (317.2676,431.5469);
1194     \path[fill=white,nonzero rule] (314.4906,424.9100) .. controls
1195       (314.8707,424.6150) and (315.4260,424.4378) .. (315.9231,424.6444) .. controls
1196       (316.0109,424.6739) and (316.0986,424.7328) .. (316.2155,424.7623) .. controls
1197       (315.7770,424.2905) and (315.3091,423.3171) .. (314.4906,423.5237) .. controls
1198       (313.7892,424.0544) and (314.0522,425.1461) .. (313.9936,425.9424) .. controls
1199       (314.0231,425.5295) and (314.1982,425.2050) .. (314.4906,424.9100);
1200     \path[fill=white,nonzero rule] (312.1524,410.9578) .. controls
1201       (312.7372,411.0167) and (313.2634,411.4001) .. (313.5849,411.8723) .. controls
1202       (313.9356,410.8101) and (314.4621,409.1880) .. (313.5849,408.1851) .. controls
1203       (313.3220,407.9196) and (313.0005,407.8014) .. (312.6203,407.8014) .. controls
1204       (311.1587,407.8901) and (310.5157,409.4238) .. (310.1060,410.6627) .. controls
1205       (309.8140,411.5183) and (309.8140,412.4623) .. (309.6968,413.4062) .. controls
1206       (310.1355,412.3735) and (310.8663,410.9283) .. (312.1524,410.9578);
1207     \path[fill=white,nonzero rule] (320.8934,398.4803) .. controls
1208       (321.1563,398.2147) and (321.3023,397.9200) .. (321.2440,397.5363) .. controls
1209       (321.2440,397.2122) and (320.9517,396.8874) .. (320.6887,396.7695) .. controls
1210       (320.0748,396.5039) and (319.3440,396.7106) .. (318.8178,397.0056) .. controls
1211       (319.3145,397.5068) and (319.6072,398.0969) .. (319.6947,398.7458) .. controls
1212       (320.1331,398.8047) and (320.5424,398.7163) .. (320.8934,398.4803);
1213     \path[fill=white,nonzero rule] (322.0034,426.5913) .. controls
1214       (322.0616,426.2668) and (321.8865,426.0013) .. (321.6232,425.8834) .. controls
1215       (321.1848,425.7652) and (320.6000,425.7652) .. (320.2785,426.1195) .. controls
1216       (320.1324,426.3258) and (320.0447,426.6208) .. (320.2199,426.8274) .. controls
1217       (320.6586,427.3581) and (321.6818,427.2403) .. (322.0034,426.5913);
1218     \path[fill=white,nonzero rule] (317.0930,398.3624) .. controls
1219       (317.0639,398.0968) and (316.8592,397.8611) .. (316.5963,397.8018) .. controls
1220       (316.2453,397.7723) and (316.1575,398.0968) .. (316.0701,398.3624) --
1221       (316.0406,398.7753) -- (317.0929,398.3624);
1222     \path[fill=white,nonzero rule] (323.3484,407.8309) .. controls
1223       (323.3193,407.3590) and (322.9977,407.1524) .. (322.5885,407.0051) .. controls
1224       (322.7345,407.4474) and (322.7640,407.9785) .. (322.7057,408.4504) .. controls
1225       (322.9686,408.3325) and (323.2315,408.1259) .. (323.3484,407.8309);
1226   \end{scope}
1227   \end{tikzpicture}
1228 }
1229 %    \end{macrocode}
1230 % \end{macro}
1231 %
1232 % \begin{option}{subfig}
1233 % Set \Lopt{subfig} flag
1234 %    \begin{macrocode}
1235 \DeclareOptionX{subfig}{\@DUT@subfigopttrue}
1236 %    \end{macrocode}
1237 % \end{option}
1238 %
1239 % \begin{option}{finalspace}
1240 %    \begin{macrocode}
1241 \DeclareOptionX{finalspace}{
1242   \setlength\overfullrule{0pt}
1243   \def\@DUT@toc@sep{1} % content page separation (# blanklines between entries)
1244   \def\@ssp{1} % single space
1245   \def\@dsp{2} % double space
1246   \def\@tsp{3} % triple space
1247 }
1248 %    \end{macrocode}
1249 % \end{option}
1250 % \begin{option}{draftspace}
1251 %    \begin{macrocode}
1252 \DeclareOptionX{draftspace}{
1253   \setlength\overfullrule{5pt}
1254   \def\DUT@toc@sep{0} % content page separation (# blanklines between entries)
1255   \def\@ssp{1} % single space
1256   \def\@dsp{1} % double space
1257   \def\@tsp{2} % triple space
1258 %    \end{macrocode}
1259 %  Don't force chapters onto right-hand pages.
1260 %    \begin{macrocode}
1261   \PassOptionsToClass{openany}{book}
1262 }
1263 %    \end{macrocode}
1264 % \end{option}
1265 %
1266 % \begin{option}{dottedpart}
1267 %    \begin{macrocode}
1268 \DeclareOptionX{dottedpart}{\@dottedparttrue}
1269 %    \end{macrocode}
1270 % \end{option}
1271 % \begin{option}{dottedchapter}
1272 %    \begin{macrocode}
1273 \DeclareOptionX{dottedchapter}{\@dottedchaptertrue}
1274 %    \end{macrocode}1
1275 % \end{option}
1276 % \begin{option}{boldpart}
1277 %    \begin{macrocode}
1278 \DeclareOptionX{boldpart}{\@boldparttrue}
1279 %    \end{macrocode}
1280 % \end{option}
1281 % \begin{option}{boldchapter}
1282 %    \begin{macrocode}
1283 \DeclareOptionX{boldchapter}{\@boldchaptertrue}
1284 %    \end{macrocode}
1285 % \end{option}
1286 % \begin{option}{dottedtoc}
1287 %    \begin{macrocode}
1288 \DeclareOptionX{dottedtoc}{
1289   \setkeys{drexel-thesis.cls}{dottedpart}
1290   \setkeys{drexel-thesis.cls}{dottedchapter}
1291 }
1292 %    \end{macrocode}
1293 % \end{option}
1294 % \begin{option}{boldtoc}
1295 %    \begin{macrocode}
1296 \DeclareOptionX{boldtoc}{
1297   \setkeys{drexel-thesis.cls}{boldpart}
1298   \setkeys{drexel-thesis.cls}{boldchapter}
1299 }
1300 %    \end{macrocode}
1301 % \end{option}
1302 %
1303 % \begin{option}{indenttoc}
1304 % Set \Lopt{indenttoc} flag
1305 %    \begin{macrocode}
1306 \DeclareOptionX{indenttoc}{\@indenttoctrue}
1307 %    \end{macrocode}
1308 % \end{option}
1309 %
1310 % \begin{option}{blackref}
1311 % Set \Lopt{blackref} flag
1312 % \changes{0.13}{2010/06/17}{W.~Trevor King added blackref option.}
1313 %    \begin{macrocode}
1314 \DeclareOptionX{blackref}{\@blackreftrue}
1315 %    \end{macrocode}
1316 % \end{option}
1317 %
1318 % \begin{option}{draftwatermark}
1319 % Set \Lopt{draftwatermark} flag
1320 %    \begin{macrocode}
1321 \DeclareOptionX{draftwatermark}{%
1322   \@draftwatermarktrue
1323   \@mydraftwatermarkfalse}
1324 %    \end{macrocode}
1325 % \end{option}
1326 %
1327 % \begin{option}{mydraftwatermark}
1328 % Set \Lopt{mydraftwatermark} flag
1329 %    \begin{macrocode}
1330 \DeclareOptionX{mydraftwatermark}{%
1331   \@mydraftwatermarktrue
1332   \@draftwatermarkfalse}
1333 %    \end{macrocode}
1334 % \end{option}
1335 %
1336 % \begin{option}{indentfirst}
1337 % Set \Lopt{indentfirst} flag
1338 %    \begin{macrocode}
1339 \DeclareOptionX{indentfirst}{\@indentfirsttrue}
1340 %    \end{macrocode}
1341 % \end{option}
1342 %
1343 % Define the book options that \Lopt{final} and \Lopt{draft} need to
1344 % access.
1345 % \begin{option}{oneside}
1346 %    \begin{macrocode}
1347 \DeclareOptionX{oneside}{\PassOptionsToClass{oneside}{book}}
1348 %    \end{macrocode}
1349 % \end{option}
1350 %
1351 % \begin{option}{twoside}
1352 %    \begin{macrocode}
1353 \DeclareOptionX{twoside}{\PassOptionsToClass{twoside}{book}}
1354 %    \end{macrocode}
1355 % \end{option}
1356 %
1357 % \begin{option}{final}
1358 %    \begin{macrocode}
1359 \DeclareOptionX{final}{
1360   \@finaltrue
1361   \setkeys{drexel-thesis.cls}{oneside}
1362   \setkeys{drexel-thesis.cls}{finalspace}
1363   \setkeys{drexel-thesis.cls}{dottedtoc}
1364 }
1365 %    \end{macrocode}
1366 % \end{option}
1367 %
1368 % \begin{option}{draft}
1369 %    \begin{macrocode}
1370 \DeclareOptionX{draft}{
1371   \@finalfalse
1372   \setkeys{drexel-thesis.cls}{twoside}
1373   \setkeys{drexel-thesis.cls}{draftspace}
1374   \setkeys{drexel-thesis.cls}{dottedtoc}
1375   \setkeys{drexel-thesis.cls}{mydraftwatermark}
1376 }
1377 %    \end{macrocode}
1378 % \end{option}
1379 %
1380 % \begin{option}{daring}
1381 %    \begin{macrocode}
1382 \DeclareOptionX{daring}{
1383   \@daringtrue
1384 }
1385 %    \end{macrocode}
1386 % \end{option}
1387 %
1388 % \begin{option}{approvalform}
1389 %    \begin{macrocode}
1390 \DeclareOptionX{approvalform}{
1391   \@approvalformtrue
1392 }
1393 %    \end{macrocode}
1394 % \end{option}
1395 %
1396 % Use the default \cls{book} implementation for any remaining options
1397 % including \Lopt{oneside}, \Lopt{twoside}, \Lopt{leqno}, \Lopt{fleqn},
1398 % \ldots.
1399 %    \begin{macrocode}
1400 \DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{book}}
1401 %    \end{macrocode}
1402 %
1403 % Execute the default options
1404 %    \begin{macrocode}
1405 \ExecuteOptionsX{final}
1406 %    \end{macrocode}
1407 %
1408 % Process options and load the book class
1409 %    \begin{macrocode}
1410 \ProcessOptionsX\relax
1411 \LoadClass{book}
1412 %    \end{macrocode}
1413 %
1414 %
1415 % \subsection{Internal package includes}
1416 %
1417 %
1418 % Include some other packages we'll need.  If the package is not
1419 % installed on your system, see \S \ref{sec:dependencies} for
1420 % installation instructions.
1421 %
1422 % For many packages, we want the same functionality for both
1423 % \Lopt{final} and \Lopt{draft} modes.  We pass \Lopt{final} to most
1424 % of those packages to override a possible \Lopt{draft} option passed
1425 % to \pkg{drexel-thesis}.
1426 %
1427 %
1428 % \subsubsection{\pkg{setspace}}
1429 %
1430 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/setspace/}{\pkg{setspace}}
1431 % for double spacing.
1432 %    \begin{macrocode}
1433 \RequirePackage{setspace}
1434 %    \end{macrocode}
1435 %
1436 %
1437 % \subsubsection{\pkg{calc}}
1438 %
1439 % \href{http://www.ctan.org/tex-archive/macros/latex/required/tools/}{\pkg{calc}}
1440 % for |\set@lines@length| macro (page
1441 %   \pageref{sec:implement-line-spacing}).
1442 %    \begin{macrocode}
1443 \RequirePackage{calc}
1444 %    \end{macrocode}
1445 %
1446 %
1447 % \subsubsection{\pkg{graphicx}}
1448 %
1449 % \href{http://www.ctan.org/tex-archive/macros/latex/required/graphics/}{\pkg{graphicx}}
1450 % for |\includegraphics|.  Not strictly necessary, but I can't imagine
1451 % a thesis without figures.
1452 %    \begin{macrocode}
1453 \RequirePackage[final]{graphicx}
1454 %    \end{macrocode}
1455 %
1456 % We include the graphicx package now so we can
1457 % pass \Lopt{final}, because some later packages include it with no options,
1458 % and a \Lopt{final} include after that produces errors like
1459 % \begin{example}
1460 %   l.104 \RequirePackage
1461 %                        [final]{ifpdf}
1462 %   The package graphicx has already been loaded with options:
1463 %     []
1464 %   There has now been an attempt to load it with options
1465 %     [final]
1466 % \end{example}
1467 %
1468 %
1469 % \subsubsection{\pkg{draftmark}}
1470 %
1471 % The Comp.~Sci.\ class used
1472 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/draftcopy/}{\pkg{draftcopy}}
1473 % to add their watermarks, but as of the current 2002/02/25 v2.16, it
1474 % uses postscript specials, and so doesn't work with pdf\LaTeX.
1475 % Instead we use the recent (catalogued 2009/11/03)
1476 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/draftmark/}{\pkg{draftmark}}
1477 % which unfortunately has a number of apparently non-standard dependencies
1478 % (\href{http://www.ctan.org/tex-archive/macros/latex/contrib/etextools/}{\pkg{etextools}},
1479 %  \href{http://www.ctan.org/tex-archive/macros/latex/contrib/etoolbox/}{\pkg{etoolbox}},
1480 %  \href{http://www.ctan.org/tex-archive/macros/latex/contrib/lastpage/}{\pkg{lastpage}},
1481 %  \href{http://www.ctan.org/tex-archive/macros/latex/contrib/ltxnew/}{\pkg{ltxnew}},
1482 %  \href{http://www.ctan.org/tex-archive/macros/latex/contrib/pagerange/}{\pkg{pagerange}},
1483 %  \href{http://www.ctan.org/tex-archive/macros/latex/contrib/xifthen/}{\pkg{xifthen}},
1484 %  if only I had the space to install |texlive-latexextra| |:p|).
1485 % The output is, however, very flexible, and it \emph{does} work with
1486 % both \LaTeX\ and pdf\LaTeX.  If you don't like the default watermark,
1487 % you can also adjust the particulars with |\draftmarksetup|.
1488 %    \begin{macrocode}
1489 \if@draftwatermark
1490   \RequirePackage[draft,allpages,mark={DRAFT \today},
1491                   fontsize=2cm,grayness=0.9]{draftmark}
1492 \fi
1493 %    \end{macrocode}
1494 %
1495 % Here is Evan's alternative implementation This will not look right
1496 % as a DVI, but it'll look fine once rendered to either a PS or PDF.
1497 %    \begin{macrocode}
1498 \if@mydraftwatermark
1499 %    \end{macrocode}
1500 % Use \pkg{eso-pic} for |\AddToShipoutPicture|.
1501 %    \begin{macrocode}
1502   \RequirePackage{eso-pic}
1503 %    \end{macrocode}
1504 % Use \pkg{xcolor} for |\definecolor|.
1505 %    \begin{macrocode}
1506   \RequirePackage{xcolor}
1507   \definecolor{watermark}{rgb}{0.9,0.9,0.9}
1508 %    \end{macrocode}
1509 % Set the font explicitly to avoid being effected by the last text on
1510 % the page having some strange font.  |\sffamily| sets a sans serif
1511 % font.
1512 %    \begin{macrocode}
1513   \newcommand{\watermarkfont}{%
1514     \color{watermark}}%\fontfamily{phv}\selectfont\sffamily}
1515   \newcommand{\watermark}{%
1516     \rule{4.25in}{0pt}\raisebox{5.5in}{%
1517       \makebox[0pt]{%
1518 %    \end{macrocode}
1519 % |\rotatebox| and |\resizebox| from \pkg{graphicx}.
1520 %    \begin{macrocode}
1521         \rotatebox[origin=c]{45}{%
1522           \resizebox{!}{1.5in}{%
1523             {\watermarkfont DRAFT}%
1524     }}}}
1525     \raisebox{4.2in}{%
1526       \makebox[0pt]{%
1527         \rotatebox[origin=c]{45}{%
1528           \resizebox{!}{.6in}{%
1529             {\watermarkfont \qquad\today}%
1530     }}}}}
1531   \AddToShipoutPicture{\watermark{}}
1532 \fi
1533 %    \end{macrocode}
1534 %
1535 %
1536 % \subsubsection{\pkg{indentfirst}}
1537 %
1538 % Indent the first paragraph after sections etc.\ with
1539 % \href{http://www.ctan.org/tex-archive/macros/latex/required/tools/}{\pkg{indentfirst}}.
1540 %    \begin{macrocode}
1541 \if@indentfirst
1542   \RequirePackage{indentfirst}
1543 \fi
1544 %    \end{macrocode}
1545 %
1546 %
1547 % \subsubsection{\pkg{geometry}}
1548 %
1549 % Setup page margins with
1550 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/geometry/}{\pkg{geometry}}.
1551 % From the Manual p5:
1552 % \begin{itemize}
1553 %   \item The left margin must be at least 1 1/2'' (1.5 inches)
1554 %   throughout the document.
1555 %   \item All other margins (top, bottom, and right) must be at least 1''.
1556 % \end{itemize}
1557 % And from the Manual \S 1.5 p4, Print Version:
1558 % \begin{quote}
1559 %   The paper size must be 8 1/2'' x 11''.
1560 % \end{quote}
1561 %    \begin{macrocode}
1562 \RequirePackage[letterpaper,margin=1in,bindingoffset=0.5in]{geometry}
1563 %    \end{macrocode}
1564 % Note that we include the \pkg{geometry} package after loading \cls{book} to
1565 % override the margin manipulation that takes place in \cls{book}.
1566 %
1567 %
1568 % \subsubsection{\pkg{tocloft}}
1569 %
1570 % Typeset the table of contents, etc., with
1571 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/tocloft/}{\pkg{tocloft}}.
1572 %    \begin{macrocode}
1573 \if@DUT@subfigopt
1574   \RequirePackage[subfigure]{tocloft}
1575 \else
1576   \RequirePackage{tocloft}
1577 \fi
1578 %    \end{macrocode}
1579 % The \Lopt{subfigure} option sets up \pkg{tocloft} for
1580 % \pkg{subfig}/\pkg{subfigure} compatibility. See the
1581 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/tocloft/tocloft.pdf}{%
1582 %   \pkg{tocloft} manual \S 2.1}
1583 % for details.
1584 %
1585 % The configuration of \pkg{tocloft} takes place in \S
1586 % \ref{sec:implement-toc}, \S \ref{sec:implement-lof}, and \S
1587 % \ref{sec:implement-lot}.
1588 %
1589 %
1590 % \subsubsection{\pkg{caption}}
1591 %
1592 % Get nice caption formatting with
1593 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/caption/}{\pkg{caption}}.
1594 % From the Manual p5:
1595 % \begin{itemize}
1596 %   \item The left margin must be at least 1 1/2'' (1.5 inches)
1597 %   throughout the document.
1598 %   \item All other margins (top, bottom, and right) must be at least 1''.
1599 % \end{itemize}
1600 %    \begin{macrocode}
1601 \RequirePackage[margin=10pt,labelfont=bf,labelsep=colon]{caption}
1602 %    \end{macrocode}
1603 % You can change these settings if you like using |\captionsetup|.
1604 %
1605 %
1606 % \subsubsection{\pkg{floatrow}}
1607 % \label{sec:floatrow}
1608 %
1609 % Enforce caption placement with
1610 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/floatrow/}{\pkg{floatrow}}.
1611 % From the Manual \S 2.3 p6, ``Tables and Figures'', 
1612 % \begin{quote}
1613 %   \begin{itemize}
1614 %     \item Place figure captions below figures.
1615 %     \item Place table captions above tables.
1616 %   \end{itemize}
1617 % \end{quote}
1618 %    \begin{macrocode}
1619 \RequirePackage{floatrow}
1620 \floatsetup[table]{style=plaintop}
1621 \floatsetup{captionskip=10pt}
1622 \floatsetup[table]{captionskip=10pt}
1623 %    \end{macrocode}
1624 % Use \pkg{fr-subfig} for \pkg{floatrow}/\pkg{subfig} compatibility.
1625 % See the \pkg{floatrow} documentation (Sec.~7.1, ``The \pkg{subfig}
1626 % package'') and \pkg{subfig} documentation (Sec.~4.3,
1627 % ``\pkg{FloatRow} Package'') for details.
1628 %    \begin{macrocode}
1629 \if@DUT@subfigopt
1630   \RequirePackage{fr-subfig}
1631 \fi
1632 %    \end{macrocode}
1633 % We set up the three-line surrounding spaces in \S
1634 % \ref{sec:implement-floats}.
1635 %
1636 % You can change these settings using |\floatsetup|, but you probably
1637 % won't need to.
1638 %
1639 %
1640 % \subsubsection{\pkg{subfig}}
1641 % \label{sec:subfig}
1642 %
1643 % Allow multi-part figures with
1644 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/}{\pkg{subfig}}.
1645 %    \begin{macrocode}
1646 \if@DUT@subfigopt
1647   \RequirePackage{subfig}
1648 \fi
1649 %    \end{macrocode}
1650 %
1651 %
1652 % \subsubsection{\pkg{fancyhdr}}
1653 % \label{sec:fancyhdr}
1654 %
1655 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/fancyhdr/}{\pkg{fancyhdr}}
1656 % for correct page numbering and fancy headers.
1657 % From the Manual \S 2.3 p5, ``Pagination''
1658 % \begin{quote}
1659 %   Place page numbers in the upper right-hand corner of the page,
1660 %   3/4'' from the top.
1661 % \end{quote}
1662 %    \begin{macrocode}
1663 \RequirePackage{fancyhdr}
1664 %    \end{macrocode}
1665 % Setup the standard |fancy| format.
1666 %    \begin{macrocode}
1667 \pagestyle{fancy}
1668 \fancyhf{}
1669 %    \end{macrocode}
1670 % Turn off the header rule by setting its width to $0$.
1671 %    \begin{macrocode}
1672 \renewcommand{\headrulewidth}{0pt}
1673 %    \end{macrocode}
1674 % 0.4 pt is \pkg{fancyhdr}'s default |\headrulewidth|, so we'll
1675 % recycle the value.
1676 %    \begin{macrocode}
1677 \renewcommand{\footrulewidth}{0.4pt}
1678 %    \end{macrocode}
1679 % |\leftmark| is the higher level mark, see |\chaptermark| below.
1680 % |\rightmark| is the lower level mark, see |\sectionmark| below.
1681 % We put the lower level mark to the outside because it changes more
1682 % often.  Page numbers also go on the outside.
1683 %    \begin{macrocode}
1684 \fancyfoot[RE,LO]{\scshape\leftmark}
1685 \fancyfoot[LE,RO]{\scshape\rightmark}
1686 \fancyhead[LE,RO]{\thepage}
1687 %    \end{macrocode}
1688 % Override the |plain| format (for part pages, etc.).
1689 %    \begin{macrocode}
1690 \fancypagestyle{plain}{
1691   \fancyhf{}
1692   \renewcommand{\footrulewidth}{0pt}
1693   \fancyhead[LE,RO]{\thepage}
1694 }
1695 %    \end{macrocode}
1696 % Keep the |empty| format at its default.
1697 %    \begin{macrocode}
1698 \fancypagestyle{empty}{
1699   \fancyhf{}
1700   \renewcommand{\footrulewidth}{0pt}
1701 }
1702 %    \end{macrocode}
1703 %
1704 % Note that the chapter/section footer is not required.  You can
1705 % remove the footer text and rule entirely with.
1706 % \begin{example}
1707 %   \renewcommand{\footrulewidth}{0pt}
1708 %   \fancyfoot[RE,LO]{}
1709 %   \fancyfoot[LE,RO]{}
1710 % \end{example}
1711 %
1712 %
1713 % \subsubsection{\pkg{ifpdf}}
1714 %
1715 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/}{\pkg{ifpdf}}
1716 % for detecting PDF drivers.  We use it to configure \pkg{hyperref} below.
1717 %    \begin{macrocode}
1718 \RequirePackage{ifpdf}
1719 %    \end{macrocode}
1720
1721 % \subsubsection{\pkg{hyperref}}
1722 % \label{sec:hyperref}
1723 %
1724 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref/}{\pkg{hyperref}}
1725 % for hyperlinks.  Not strictly necessary, but I can't imagine a
1726 % thesis without it.  We actually include this later (\S
1727 % \ref{sec:hyperref-inclusion}), because \pkg{hyperref} sticks its
1728 % fingers into \emph{everything} and we want it to use our versions of
1729 % some macros (e.g., |\@sect|) but not others (e.g., |thebibliography|).
1730 %
1731 %
1732 % \subsubsection{\pkg{hypcap}}
1733 % \label{sec:hypcap}
1734 %
1735 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/}{\pkg{hypcap}}
1736 % for placing caption hyperlink anchors.  Must be included after
1737 % \pkg{hypercap}, so the actual inclusion is in \S
1738 % \ref{sec:hypcap-inclusion}).
1739 %
1740 %
1741 % \subsubsection{\pkg{tabularx}}
1742 % \label{sec:tabularx}
1743 %
1744 % \href{http://www.ctan.org/tex-archive/help/Catalogue/entries/tabularx.html}{\pkg{tabularx}}
1745 % for tabular environments with auto-sized columns.  This package is
1746 % currently only required for the \texttt{approvalform} option (it is
1747 % used in typesetting the approval form).
1748 %    \begin{macrocode}
1749 \if@approvalform\RequirePackage{tabularx}\fi
1750 %    \end{macrocode}
1751 %
1752 %
1753 % \subsubsection{\pkg{tikz}}
1754 % \label{sec:tikz}
1755 %
1756 % \href{http://sourceforge.net/projects/pgf/}{\pkg{tikz}}
1757 % for vector drawing natively in \TeX.  This package is
1758 % currently only required for the \texttt{approvalform} option (it is
1759 % used in drawing the Drexel logo on the approval form).
1760 %    \begin{macrocode}
1761 \if@approvalform\RequirePackage{tikz}\fi
1762 %    \end{macrocode}
1763 %
1764 %
1765 % \subsection{\LaTeX\ overrides and extensions}
1766 %
1767 % Here we change the behavior of a bunch of macros and environments
1768 % from \file{latex.ltx} (generated by \file{format.ins} in
1769 % \href{http://www.ctan.org/tex-archive/macros/latex/base/}{\pkg{base}}).
1770 % We'll copy in their original notes along with their code, following
1771 % the relevant documentation an order given in \file{format.ins} and
1772 % the associated \file{*.dtx} files.
1773 %
1774 %
1775 % \subsubsection{\file{ltsect.dtx}}
1776 %
1777 % \begin{macro}{\title}
1778 % \begin{macro}{\DUTtitle}
1779 % \begin{macro}{\@DUT@title}
1780 % |\title| for use in |\maketitle|. If not given |\maketitle| will
1781 % produce a warning message (\file{ltsect.dtx}, L117).
1782 %
1783 % We extend |\title| to set \pkg{hyperref}'s |pdftitle|.
1784 % (\file{ltsect.dtx}, L117).
1785 %    \begin{macrocode}
1786 \renewcommand{\title}[1]{
1787   \gdef\@DUT@title{#1}
1788   \ifpdf \hypersetup{pdftitle={\@DUT@title}} \fi
1789 }
1790 \let\DUTtitle\title
1791 \def\@DUT@title{\@latex@error{No \noexpand\title given}\@ehc}
1792 %    \end{macrocode}
1793 % \end{macro}
1794 % \end{macro}
1795 % \end{macro}
1796 %
1797 % \begin{macro}{\author}
1798 % \begin{macro}{\DUTauthor}
1799 % \begin{macro}{\@DUT@author}
1800 % |\author| for use in |\maketitle|.  If not given |\maketitle| will
1801 % produce a warning message (\file{ltsect.dtx}, L129).
1802 %
1803 % We extend |\author| to set \pkg{hyperref}'s |pdfauthor| if we're
1804 % writing a PDF to avoid using |\AtBeginDocument| or some such.
1805 % (\file{ltsect.dtx}, L129).
1806 %    \begin{macrocode}
1807 \renewcommand{\author}[1]{
1808   \gdef\@DUT@author{#1}
1809   \ifpdf \hypersetup{pdfauthor={\protect\@DUT@author}} \fi
1810 }
1811 \let\DUTauthor\author
1812 \def\@DUT@author{\@latex@error{No \noexpand\author given}\@ehc}
1813 %    \end{macrocode}
1814 % \end{macro}
1815 % \end{macro}
1816 % \end{macro}
1817 %
1818 % In a similar vein, we some additional meta-info macros.
1819 %
1820 %  \begin{macro}{\DUTmonth}
1821 %  \begin{macro}{\@DUT@month}
1822 % |\DUTmonth| (defense month) for use in |\maketitle|.  If not given
1823 % |\maketitle| will produce an error message.
1824 %    \begin{macrocode}
1825 \def\DUTmonth#1{\gdef\@DUT@month{#1}}
1826 \def\@DUT@month{\@latex@error{No \noexpand\DUTmonth given}\@ehc}
1827 %    \end{macrocode}
1828 %  \end{macro}
1829 %  \end{macro}
1830 %
1831 %  \begin{macro}{\DUTyear}
1832 %  \begin{macro}{\@DUT@year}
1833 % |\DUTyear| (defense year) for use in |\maketitle|.  If not given
1834 % |\maketitle| will produce an error message.
1835 %    \begin{macrocode}
1836 \def\DUTyear#1{\gdef\@DUT@year{#1}}
1837 \def\@DUT@year{\@latex@error{No \noexpand\DUTyear given}\@ehc}
1838 %    \end{macrocode}
1839 %  \end{macro}
1840 %  \end{macro}
1841 %
1842 %  \begin{macro}{\degree}
1843 %  \begin{macro}{\DUTdegree}
1844 %  \begin{macro}{\@DUT@degree}
1845 % |\degree| for use in |\maketitle|.  If not given |\maketitle| will
1846 % produce an error message.
1847 %    \begin{macrocode}
1848 \def\degree#1{\gdef\@DUT@degree{#1}
1849   \ifpdf \hypersetup{pdfsubject={\@DUT@degree}} \fi}
1850 \let\DUTdegree\degree
1851 \def\@DUT@degree{\@latex@error{No \noexpand\degree given}\@ehc}
1852 %    \end{macrocode}
1853 %  \end{macro}
1854 %  \end{macro}
1855 %  \end{macro}
1856 %
1857 %  \begin{macro}{\copyrighttext}
1858 %  \begin{macro}{\DUTcopyrighttext}
1859 %  \begin{macro}{\@copyrighttext}
1860 % |\copyrighttext| for use in |\@DUT@makecopyright|.  There are a
1861 % number of blurbs predefined in \S \ref{sec:implement-copyright}.
1862 %    \begin{macrocode}
1863 \def\copyrighttext#1{\gdef\@DUT@copyrighttext{#1}}
1864 \let\DUTcopyrighttext\copyrighttext
1865 \def\@DUT@copyrighttext{All Rights Reserved.}
1866 %    \end{macrocode}
1867 %  \end{macro}
1868 %  \end{macro}
1869 %  \end{macro}
1870 %
1871 %  \begin{macro}{\advisor}
1872 %  \begin{macro}{\DUTadvisor}
1873 %  \begin{macro}{\@DUT@advisor}
1874 % |\advisor| stores advisor names, and |\@DUT@advisor| prints them out
1875 % nicely for the |abstract| environment.  If no advisors are given
1876 % |\@DUT@advisor| will produce an error message.  We get a bit fancier
1877 % here to support multiple advisors.
1878 %    \begin{macrocode}
1879 \newcounter{@DUT@advisors}
1880 \setcounter{@DUT@advisors}{0}
1881 %    \end{macrocode}
1882 % Store a new advisor name.
1883 %    \begin{macrocode}
1884 \newcommand\advisor[1]{%
1885   \ifx
1886 %    \end{macrocode}
1887 % If |#1| is |\empty|, this call is a no-op.
1888 %    \begin{macrocode}
1889     \empty{#1}
1890   \else
1891 %    \end{macrocode}
1892 % Save the advisors to |\@DUT@advisor@a|, |\@DUT@advisor@b|, \ldots.
1893 % |\alph{|\Lcount{COUNTER}|}| (\file{ltcounts.dtx}, L319) prints the
1894 %   value of \Lcount{COUNTER} as a lowercase letter: $1 =$~a, $2 =$~
1895 %   b, etc.
1896 %    \begin{macrocode}
1897     \stepcounter{@DUT@advisors}
1898     \expandafter\gdef\csname @DUT@advisor@\alph{@DUT@advisors}\endcsname{#1}
1899   \fi}
1900 %    \end{macrocode}
1901 % Format and print a list of advisor names.
1902 %    \begin{macrocode}
1903 \newcommand\@DUT@advisor{%
1904   \ifnum\c@@DUT@advisors=0%
1905     \@latex@error{No \noexpand\advisor given}\@ehc%
1906   \else%
1907 %    \end{macrocode}
1908 % Start a group so the scratch counter \Lcount{count\textat} is restored
1909 % afterwards\footnote{See the discussion in
1910 %   \href{http://www.ctan.org/tex-archive/macros/latex/contrib/localloc/}{%
1911 %     \pkg{localloc}}
1912 %   for some points on counter allocation.}.
1913 %    \begin{macrocode}
1914     \begingroup%
1915 %    \end{macrocode}
1916 % Because \Lcount{count\textat} is a \TeX\ counter register not
1917 % wrapped by \LaTeX's counter sugar, we don't use \LaTeX's
1918 % |\setcounter| to set \Lcount{count\textat} to one.
1919 %    \begin{macrocode}
1920       \count@\@ne
1921 %    \end{macrocode}
1922 % Print the first advisor, using \TeX's |\@alph| macro instead of
1923 % \LaTeX's |\alph|.
1924 %    \begin{macrocode}
1925 %    \begin{macrocode}
1926       \csname @DUT@advisor@\@alph\count@\endcsname\relax%
1927 %    \end{macrocode}
1928 % For any remaining advisors\ldots
1929 %    \begin{macrocode}
1930       \loop\ifnum\count@<\c@@DUT@advisors%
1931 %    \end{macrocode}
1932 % Advance \Lcount{count\textat} using \TeX's |\advance| macro instead
1933 % of \LaTeX's |\stepcounter|.
1934 %    \begin{macrocode}
1935         \advance\count@\@ne
1936 %    \end{macrocode}
1937 % Print the connecting text.
1938 %    \begin{macrocode}
1939         \ifnum\count@=\c@@DUT@advisors%
1940           \ifnum\c@@DUT@advisors=2%
1941 %    \end{macrocode}
1942 % The next advisor if the last of two.
1943 %    \begin{macrocode}
1944             {\ and\ }%
1945           \else%
1946 %    \end{macrocode}
1947 % The next advisor if the last of many.
1948 %    \begin{macrocode}
1949             {, and\ }%
1950           \fi%
1951         \else%
1952 %    \end{macrocode}
1953 % The next advisor is not the last.
1954 %    \begin{macrocode}
1955           {,\ }%
1956         \fi%
1957 %    \end{macrocode}
1958 % Print the advisor's name.
1959 %    \begin{macrocode}
1960         \csname @DUT@advisor@\@alph\count@\endcsname\relax%
1961       \repeat%
1962     \endgroup%
1963   \fi}
1964 %    \end{macrocode}
1965 %  \end{macro}
1966 %  \end{macro}
1967 %  \end{macro}
1968 %
1969 % \paragraph{baselineskip}
1970 % \label{sec:implement-line-spacing}
1971 %
1972 % \begin{macro}{\@DUT@baselineskip}
1973 % Since we'll be messing with the spacing, save the single-spaced
1974 % baseline.
1975 %   \changes{0.3}{2010/01/13}{Use $\backslash$setlength to store the
1976 %     value at the default font.  The previous version used
1977 %     $\backslash$let, which made $\backslash$DUT\@baselineskip a
1978 %     synonym for $\backslash$baselineskip that changed with font
1979 %     size.}
1980 %    \begin{macrocode}
1981 \newlength\@DUT@baselineskip
1982 \setlength\@DUT@baselineskip\baselineskip
1983 %    \end{macrocode}
1984 % \end{macro}
1985 %
1986 % \begin{command}
1987 %   `\cs{set@lines@length}\marg{length}\marg{N}'
1988 % \end{command}
1989 % \begin{macro}{\set@lines@length}
1990 % Many specifications in the Manual refer to ``\meta{N} blank lines''.
1991 % |\set@lines@length| allows you to set a length to a given number of
1992 % lines, protecting against external |spacing| environments.  It
1993 % requires \pkg{calc} for the multiplication.
1994 %    \begin{macrocode}
1995 \newcommand{\set@lines@length}[2]{%
1996   \setlength{#1}{\@DUT@baselineskip * {#2}}}
1997 %    \end{macrocode}
1998 % \end{macro}
1999 %
2000 %
2001 % Fix |\@ssect| and |\@sect| from \file{latex.ltx} to give single
2002 % spaced headings.
2003 %
2004 % \begin{macro}{\@sect}
2005 % Pseudocode for the |\@sect| command
2006 % \begin{example}
2007 % \@sect{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}[ARG1]{ARG2}
2008 %           ==
2009 %   BEGIN
2010 %    IF LEVEL > \c@secnumdepth
2011 %      THEN \@svsec :=L null
2012 %      ELSE \refstepcounter{NAME}
2013 %           \@svsec :=L BEGIN \@seccntformat{#1}\relax END
2014 %    FI
2015 %    IF AFTERSKIP > 0
2016 %      THEN \begingroup
2017 %              STYLE
2018 %              \@hangfrom{\hskip INDENT\@svsec}
2019 %              {\interlinepenalty 10000 ARG2\par}
2020 %           \endgroup
2021 %           \NAMEmark{ARG1}
2022 %           \addcontentsline{toc}{NAME}
2023 %              { IF  LEVEL > \c@secnumdepth
2024 %                  ELSE \protect\numberline{\theNAME}  FI
2025 %                ARG1 }
2026 %      ELSE \@svsechd == BEGIN  STYLE
2027 %                               \hskip INDENT\@svsec
2028 %                               ARG2
2029 %                               \NAMEmark{ARG1}
2030 %                               \addcontentsline{toc}{NAME}
2031 %                                  { IF  LEVEL > \c@secnumdepth
2032 %                                      ELSE 
2033 %                                        \protect\numberline{\theNAME}
2034 %                                      FI
2035 %                                    ARG1 }
2036 %                        END
2037 %    FI
2038 %    \@xsect{AFTERSKIP}
2039 % END
2040 % \end{example}
2041 % (\file{ltsect.dtx}, L295).
2042 %    \begin{macrocode}
2043 \def\@sect#1#2#3#4#5#6[#7]#8{%
2044   \ifnum #2>\c@secnumdepth
2045     \let\@svsec\@empty
2046   \else
2047     \refstepcounter{#1}%
2048     \protected@edef\@svsec{\@seccntformat{#1}\relax}%
2049   \fi
2050   \@tempskipa #5\relax
2051   \ifdim \@tempskipa>\z@
2052     \begingroup
2053 %    \end{macrocode}
2054 % Here we deviate from \file{ltsect.dtx} to ensure single spacing for
2055 % the section title.
2056 %    \begin{macrocode}
2057       \setstretch{\@ssp}%
2058       #6{%
2059         \@hangfrom{\hskip #3\relax\@svsec}%
2060           \interlinepenalty \@M #8\@@par}%
2061     \endgroup
2062     \csname #1mark\endcsname{#7}%
2063     \addcontentsline{toc}{#1}{%
2064       \ifnum #2>\c@secnumdepth \else
2065         \protect\numberline{\csname the#1\endcsname}%
2066       \fi
2067       #7}%
2068   \else
2069     \def\@svsechd{%
2070       #6{\hskip #3\relax
2071       \@svsec #8}%
2072       \csname #1mark\endcsname{#7}%
2073       \addcontentsline{toc}{#1}{%
2074         \ifnum #2>\c@secnumdepth \else
2075           \protect\numberline{\csname the#1\endcsname}%
2076         \fi
2077         #7}}%
2078   \fi
2079   \@xsect{#5}}
2080 %    \end{macrocode}
2081 % \end{macro}
2082 %
2083 % \begin{macro}{\@ssect}
2084 % Pseudocode for the |\@ssect| command
2085 % \begin{example}
2086 % \@ssect{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}{ARG} ==
2087 %   BEGIN
2088 %    IF AFTERSKIP > 0
2089 %      THEN \begingroup
2090 %             STYLE
2091 %             \@hangfrom{\hskip INDENT}{\interlinepenalty 10000 ARG\par}
2092 %           \endgroup
2093 %      ELSE \@svsechd == BEGIN STYLE
2094 %                              \hskip INDENT
2095 %                              ARG
2096 %                        END
2097 %    FI
2098 %    \@xsect{AFTERSKIP}
2099 %   END
2100 % \end{example}
2101 % (\file{ltsect.dtx}, L521).
2102 %    \begin{macrocode}
2103 \def\@ssect#1#2#3#4#5{%
2104   \@tempskipa #3\relax
2105   \ifdim \@tempskipa>\z@
2106     \begingroup
2107 %    \end{macrocode}
2108 % Here we deviate from \file{ltsect.dtx} to ensure single spacing for
2109 % the section title.
2110 %    \begin{macrocode}
2111       \setstretch{\@ssp}%
2112       #4{%
2113         \@hangfrom{\hskip #1}%
2114           \interlinepenalty \@M #5\@@par}%
2115     \endgroup
2116   \else
2117     \def\@svsechd{#4{\hskip #1\relax #5}}%
2118   \fi
2119   \@xsect{#3}}
2120 %    \end{macrocode}
2121 % \end{macro}
2122 %
2123 %
2124 % \subsubsection{\file{ltbibl.dtx}}
2125 %
2126 % \DescribeMacro{\bibliography}
2127 % \DescribeEnv{thebibliography}
2128 % A bibliography is created by the |thebibliography| environment, which
2129 % generates a title such as ``Bibliography'', and a list of entries.
2130 % The \BibTeX\ program will create a file containing such an
2131 % environment, which will be read in by the |\bibliography| command.
2132 % With \BibTeX, the following commands will be used.
2133 %
2134 % The document class must define the thebibliography environment.  This
2135 % environment has a single argument, which is the widest bibliography
2136 % label-- e.g., if the [Knuth67] is the widest entry, then this
2137 % argument will be Knuth67.  The |\thebibliography| command must begin
2138 % a list  environment, which the |\endthebibliography| command ends.
2139 %
2140 % \begin{macro}{\bibliography}
2141 % |\bibliography|\marg{file1,file2,\ldots,filen} : specifies
2142 %   the bibdata files.  Writes a |\bibdata| entry on the |.aux| file
2143 %   and tries to read in |mainfile.bbl|.
2144 %
2145 % We don't need to change it, but it explains why we need to override
2146 % |thebibliography| even when we don't use it directly.
2147 % (\file{ltbibl.dtx}, L284).
2148 %    \begin{macrocode}
2149 %\def\bibliography#1{%
2150 %  \if@filesw
2151 %    \immediate\write\@auxout{\string\bibdata{#1}}%
2152 %  \fi
2153 %  \@input@{\jobname.bbl}
2154 %}
2155 %    \end{macrocode}
2156 % \end{macro}
2157 %
2158 %
2159 % \subsubsection{\file{ltoutput.dtx}}
2160 %
2161 % \begin{macro}{\@DUT@clearpage}
2162 % \begin{macro}{\@DUT@cleardoublepage}
2163 % Versions of |\clear*page| that only work when |\if@final| is true
2164 % (\file{ltoutput.dtx}, L877 and L904).
2165 %    \begin{macrocode}
2166 \newcommand\@DUT@clearpage{\if@final \clearpage \fi}
2167 \newcommand\@DUT@cleardoublepage{\if@final \cleardoublepage \fi}
2168 %    \end{macrocode}
2169 % \end{macro}
2170 % \end{macro}
2171 %
2172 % \begin{macro}{\@DUT@blankpage}
2173 % Add a useful extension to insert a blank page without numbering.
2174 % In draft mode, this macro is a no-op.
2175 %    \begin{macrocode}
2176 \newcommand\@DUT@blankpage{%
2177   \if@final
2178     \@DUT@clearpage
2179     \thispagestyle{empty}
2180     \hphantom{0}
2181     \@DUT@clearpage
2182   \else\fi
2183 }
2184 %    \end{macrocode}
2185 % \end{macro}
2186 %
2187 %
2188 % \begin{command}
2189 %   `\cs{blanklines}\marg{N}'
2190 %   `\cs{blanklines*}\marg{N}'
2191 % \end{command}
2192 % \begin{macro}{\blanklines}
2193 % Insert \meta{N} blank lines.  The starred forms use |\vspace|, which
2194 % inserts space even at the start and end of pages.  The |p| forms
2195 % add a trailing |\par|.  \emph{I'm still trying to get this part working
2196 % cleanly\ldots}
2197 %    \begin{macrocode}
2198 \newlength\@DUT@blanklines@length
2199 \newcommand{\@blanklines@setup}[1]{%
2200   \set@lines@length{\@DUT@blanklines@length}{#1}%
2201   %\typeout{BLANKLINES -- #1}%
2202   %\showthe\@DUT@blanklines@length
2203 }
2204 \newcommand{\blanklines}{\@ifstar\@sblanklines\@blanklines}
2205 \newcommand{\@blanklines}[1]{%
2206   \@blanklines@setup{#1}%
2207   \vspace{\@DUT@blanklines@length}}
2208 \newcommand{\@sblanklines}[1]{%
2209   \@blanklines@setup{#1}%
2210   \vspace*{\@DUT@blanklines@length}}
2211 \newcommand{\blanklinesp}{\@ifstar\@sblanklines\@blanklines}
2212 \newcommand{\@blanklinesp}[1]{%
2213   \@blanklines@setup{#1}%
2214   \vspace{\@DUT@blanklines@length}\par}
2215 \newcommand{\@sblanklinesp}[1]{%
2216   \@blanklines@setup{#1}%
2217   \vspace*{\@DUT@blanklines@length}\par}
2218 %    \end{macrocode}
2219 % \end{macro}
2220 %
2221 %
2222 % \subsection{\pkg{hyperref} inclusion}
2223 % \label{sec:hyperref-inclusion}
2224 %
2225 % This is the awkward \pkg{hyperref} inclusion.  See \S
2226 % \ref{sec:hyperref} for an explanation of why we stash it here.
2227 %    \begin{macrocode}
2228 \RequirePackage[final]{hyperref}
2229 %    \end{macrocode}
2230 % Nobody likes the default colored boxes.  Color the text itself.
2231 %    \begin{macrocode}
2232 \hypersetup{colorlinks}
2233 %    \end{macrocode}
2234 % If \Lopt{blackref} is set, set all \pkg{hyperref} colors to black.
2235 %    \begin{macrocode}
2236 \if@blackref
2237   \hypersetup{linkcolor=black}
2238   \hypersetup{anchorcolor=black}
2239   \hypersetup{citecolor=black}
2240   \hypersetup{filecolor=black}
2241   \hypersetup{menucolor=black}
2242   \hypersetup{runcolor=black}
2243   \hypersetup{urlcolor=black}
2244 \fi
2245 %    \end{macrocode}
2246 %
2247 % \subsubsection{\pkg{hypcap}}
2248 % \label{sec:hypcap-inclusion}
2249 %
2250 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/}{\pkg{hypcap}}
2251 % for placing caption hyperlink anchors.  Not strictly necessary, but
2252 % we're using \pkg{hyperref}, and the poor link targets are annoying.
2253 %    \begin{macrocode}
2254 \RequirePackage[all]{hypcap}
2255 %    \end{macrocode}
2256 % \Lopt{all} redefines the figure and table environments to
2257 % place the anchor at the start of the float.
2258 %
2259 %
2260 % \subsection{\cls{book} overrides and extensions}
2261 %
2262 % Here we change the behavior of a bunch of macros and environments from
2263 % \cls{book} (generated by \file{classes.ins} from \file{classes.dtx}) in
2264 % \href{http://www.ctan.org/tex-archive/macros/latex/base/}{\pkg{base}}).
2265 % We'll copy in their original notes along with their code, following
2266 % the relevant documentation an order given in \file{classes.dtx}.
2267 %
2268 %
2269 % \subsubsection{Floats on a text page}
2270 % \label{sec:implement-floats}
2271 %
2272 % \begin{macro}{\floatsep}
2273 % \begin{macro}{\textfloatsep}
2274 % When a floating object is placed on a page with text, these
2275 % parameters control the separation between the float and the other
2276 % objects on the page.
2277 %
2278 % |\floatsep| is the space between adjacent floats that are moved
2279 % to the top or bottom of the text page.
2280 %
2281 % |\textfloatsep| is the space between the main text and floats
2282 % at the top or bottom of the page.
2283 %
2284 % |\intextsep| is the space between in-text floats and the text.  We
2285 % don't bother overriding this one, because we've handled it with
2286 % \pkg{floatrow} in \S \ref{sec:floatrow}.
2287 %
2288 % From the Manual \S 2.3 p6, ``Tables and Figures''
2289 % \begin{quote}
2290 %   Insert at least 3 single-spaced lines of space above table
2291 %   captions and figures and below figure captions, tables, and other
2292 %   graphics.
2293 % \end{quote}
2294 % (\file{classes.dtx}, L1426)
2295 %    \begin{macrocode}
2296 \set@lines@length{\floatsep}{\@ssp}
2297 \set@lines@length{\textfloatsep}{\@tsp}
2298 %    \end{macrocode}
2299 % \end{macro}
2300 % \end{macro}
2301 %
2302 %
2303 % \subsubsection{The title}
2304 %
2305 % \begin{macro}{\maketitle}
2306 % Automate the creation of the title page.
2307 % From Manual \S 3.1 p8, ``Title Page'', and the example on p16.
2308 % \begin{itemize}
2309 %   \item This page is counted but not numbered (it counts as page i,
2310 %   but should not have a page number).  TODO: How is this implemented?
2311 % \end{itemize}
2312 % Our definition simplifies \cls{book}'s by ignoring footnotes.
2313 % (\file{classes.dtx}, L1796)
2314 %    \begin{macrocode}
2315 \newcommand\@DUT@maketitle{
2316   \if@approvalform
2317     \ifpdf
2318       \pdfbookmark[-1]{Approval Form}{Approval Form}
2319     \fi
2320     \makeapprovalform
2321   \fi
2322   \begin{@DUT@titlepage}%
2323 %    \end{macrocode}
2324 % Add some bookmarks if we're using pdf\LaTeX.  The |frontmatter|
2325 % bookmark is set at the \emph{part} level (-1) to hold all bookmarks
2326 % from the |preamble| environment, since those entries are all
2327 % chapters.
2328 % \changes{0.8}{2010/05/20}{W.~Trevor King replaced Frontmatter with
2329 %   Front Matter and Titlepage with Title Page for consistency with
2330 %   \LaTeX's book class.}
2331 %    \begin{macrocode}
2332     \ifpdf
2333       \pdfbookmark[-1]{Front Matter}{Front Matter}
2334       \pdfbookmark[0]{Title Page}{Title Page}
2335     \fi
2336 %    \end{macrocode}
2337 % Add some stretchy space to center the title vertically if we're not
2338 % in draft mode.
2339 %    \begin{macrocode}
2340     \if@final \vspace*{\fill} \fi
2341 %    \end{macrocode}
2342 % Here is the title text itself.
2343 %    \begin{macrocode}
2344     \begin{center}%
2345       {\setstretch{\@tsp} \bfseries \@DUT@title \par}%
2346 %    \end{macrocode}
2347 % We want two blank lines (triple spacing) between the title and the
2348 % remaining material, so add three but don't end the paragraph.
2349 %    \begin{macrocode}
2350       \blanklines{\@tsp}%
2351       \setstretch{\@dsp}%
2352       A Thesis\\
2353       Submitted to the Faculty\\
2354       of\\
2355       Drexel University\\
2356       by\\
2357       \@DUT@author\\
2358       in partial fulfillment of the\\
2359       requirements for the degree\\
2360       of\\
2361       \@DUT@degree\\
2362       \@DUT@month\ \@DUT@year
2363     \end{center}\par
2364 %    \end{macrocode}
2365 % Some more stretchy space for the bottom if we're not in draft mode.
2366 %    \begin{macrocode}
2367 %    \end{macrocode}
2368 % Add some stretchy space to center the title vertically if we're not
2369 % in draft mode.
2370 %    \begin{macrocode}
2371     \if@final \vspace*{\fill} \fi
2372   \end{@DUT@titlepage}%
2373 %    \end{macrocode}
2374 % And that's it.  We reset the footnote counter for the rest of the
2375 % document and save space by freeing the memory associated with the
2376 % |\maketitle| and |\and| macros (by setting them equal to |\relax|).
2377 %    \begin{macrocode}
2378   \setcounter{footnote}{0}%
2379   \global\let\maketitle\relax
2380   \global\let\and\relax
2381 }
2382 %    \end{macrocode}
2383 % \end{macro}
2384 %
2385 %
2386 % \subsubsection{Copyright pages}
2387 % \label{sec:implement-copyright}
2388 %
2389 % \begin{macro}{\@DUT@makecopyright}
2390 % The Manual allows for the selection of different copyrights, so we
2391 % define a base macro that generates a proper copyright page
2392 % containing |\@copyrighttext|, which the user can set with
2393 % |\copyrighttext|.
2394 % From Manual \S 3.2 p9, ``Copyright Page''.
2395 % \begin{itemize}
2396 %   \item Include a copyright page with the following information: a
2397 %   copyright notice, full legal name of author, and date of
2398 %   publication on file.
2399 %   \item This page is neither counted nor numbered.
2400 % \end{itemize}
2401 % In final mode, we start off on a new page and center the blurb.
2402 % In draft mode, we dive right into the text.
2403 %    \begin{macrocode}
2404 \newcommand\@DUT@makecopyright{%
2405   \@DUT@clearpage
2406 %    \end{macrocode}
2407 % If we're using pdf\LaTeX, add a bookmark.
2408 %    \begin{macrocode}
2409   \ifpdf \pdfbookmark[0]{Copyright Page}{Copyright Page} \fi
2410   \if@final \vspace*{\fill} \fi
2411   \begin{center}
2412     \copyright~Copyright \@DUT@year\\
2413     \@DUT@author.  \@DUT@copyrighttext
2414   \end{center}
2415   \if@final \vspace*{\fill} \else \blanklinesp{2} \fi
2416 %    \end{macrocode}
2417 % Turn off page numbering for this page.
2418 %    \begin{macrocode}
2419   \thispagestyle{empty}
2420 }
2421 %    \end{macrocode}
2422 % \end{macro}
2423 %
2424 % \begin{macro}{\copyrighttextCCBYSA}
2425 % \begin{macro}{\DUTcopyrighttextCCBYSA}
2426 % The Creative Commons Attribution-ShareAlike License.
2427 % \changes{0.4}{2010/02/23}{W.~Trevor King renamed from
2428 % $\backslash$copyrighttextCC, and made specific to Creative Commons
2429 % Attribution-ShareAlike Version 3.0.}
2430 %    \begin{macrocode}
2431 \newcommand\copyrighttextCCBYSA{
2432   \begin{quote}
2433     This work is licensed under the terms of the Creative Commons
2434     Attribution-ShareAlike license Version 3.0.  The license is
2435     available at \\
2436     \url{http://creativecommons.org/licenses/by-sa/3.0/}.
2437   \end{quote}
2438 }
2439 \let\DUTcopyrighttextCCBYSA\copyrighttextCCBYSA
2440 %    \end{macrocode}
2441 % \end{macro}
2442 % \end{macro}
2443 %
2444 %
2445 % \subsubsection{Mark commands}
2446 %
2447 % Default initializations of |\*mark| commands.  These commands
2448 % are used in the definition of the page styles.
2449 %
2450 % \begin{macro}{\chaptermark}
2451 % Setup colon rather than period separated chapter marks.
2452 % (\file{classes.dtx}, L2053)
2453 %    \begin{macrocode}
2454 \renewcommand\chaptermark[1]{%
2455   \markboth {%
2456     \ifnum \c@secnumdepth >\m@ne
2457       \if@mainmatter
2458         \@chapapp\ \thechapter: \ %
2459       \fi
2460     \fi
2461     #1}{}}
2462 %    \end{macrocode}
2463 % \end{macro}
2464 %
2465 % \begin{macro}{\schaptermark}
2466 % Setup unnumbered chapter marks for \pkg{fancyhdr}.
2467 %    \begin{macrocode}
2468 \newcommand\schaptermark[1]{\markboth{#1}{}}
2469 %    \end{macrocode}
2470 % \end{macro}
2471 %
2472 % \begin{macro}{\sectionmark}
2473 % Setup space rather than period separated section marks.
2474 % (\file{classes.dtx}, L2054)
2475 %    \begin{macrocode}
2476 \renewcommand{\sectionmark}[1]{%
2477   \markright {%
2478     \ifnum \c@secnumdepth >\z@
2479       \thesection \ %
2480     \fi
2481     #1}}
2482 %    \end{macrocode}
2483 % \end{macro}
2484 %
2485 %
2486 % \subsubsection{Front Matter, Main Matter, and Back Matter}
2487 %
2488 % A book contains these three (logical) sections. The switch
2489 % |\@mainmatter| is true if and only if we are processing main
2490 % matter\footnote{%
2491 %   \href{http://en.wikipedia.org/wiki/Book_design}{Wikipedia}
2492 %   suggests \emph{body matter} for the main content, but
2493 %   \href{http://mirror.ctan.org/macros/latex/base/classes.dtx}{\LaTeX's
2494 %   \cls{book}} uses \emph{Main Matter}.  We're a \LaTeX\ class, so
2495 %   we'll stick with ``main matter'' for consistency.
2496 % }.  When this switch is false, the
2497 % |\chapter| command does not print chapter numbers.
2498 %
2499 % \begin{macro}{\mainmatter}
2500 % This command clears the page (in final mode), starts arabic page
2501 % numbering and turns on chapter numbering.  Since this restarts the
2502 % page numbering from 1, it should also ensure that a recto page is
2503 % used.
2504 %
2505 % We replace \cls{book}'s |\clear*page| calls with |\@DUT@clearpage| calls.
2506 % (\file{classes.dtx}, L2211)
2507 %    \begin{macrocode}
2508 \renewcommand\mainmatter{%
2509   \@DUT@cleardoublepage
2510   \@mainmattertrue
2511   \pagenumbering{arabic}}
2512 %    \end{macrocode}
2513 % \end{macro}
2514 %
2515 %
2516 % \subsubsection{Parts}
2517 %
2518 % \begin{macro}{\part}
2519 % The command to start a new part of our document.
2520 %
2521 % We start a new (righthand) page and use the \pstyle{plain}
2522 % pagestyle, replacing \cls{book}'s |\clear*page| calls with
2523 % |\@DUT@clearpage| calls and dropping twopage code.
2524 % (\file{classes.dtx}, L2249)
2525 %    \begin{macrocode}
2526 \renewcommand\part{%
2527   \if@openright
2528     \@DUT@cleardoublepage
2529   \else
2530     \@DUT@clearpage
2531   \fi
2532   \thispagestyle{plain}%
2533   \@tempswafalse
2534 %    \end{macrocode}
2535 % Add some stretchy space for vertical centering if we're in final mode.
2536 %    \begin{macrocode}
2537   \if@final \null\vfil \fi
2538 %    \end{macrocode}
2539 % Here we use |\secdef| to indicate which commands to use to make
2540 % the actual heading.
2541 %    \begin{macrocode}
2542   \secdef\@part\@spart}
2543 %    \end{macrocode}
2544 % \end{macro}
2545 %
2546 % \begin{macro}{\@part}
2547 % This macro does the actual formatting of the title of the part.  We
2548 % replace \cls{book}'s |\Huge| with |\large|, and make use of
2549 % |\numberline| for consistent spacing.
2550 %
2551 % When \Lcount{secnumdepth} is larger than $-2$, we have a numbered
2552 % part, otherwise it is unnumbered.
2553 % (\file{classes.dtx}, L2310)
2554 %    \begin{macrocode}
2555 \def\@part[#1]#2{%
2556     \ifnum \c@secnumdepth >-2\relax
2557       \refstepcounter{part}%
2558       \addcontentsline{toc}{part}%
2559         {\protect\numberline{\thepart}#1}%
2560     \else
2561       \addcontentsline{toc}{part}{#1}%
2562     \fi
2563 %    \end{macrocode}
2564 % We empty the mark registers and center the title on the page.
2565 % Also we prevent breaking between lines and reset the font.
2566 %    \begin{macrocode}
2567     \markboth{}{}%
2568     {\centering
2569      \interlinepenalty \@M
2570      \normalfont
2571 %    \end{macrocode}
2572 % When this is a numbered part we have to print the number.
2573 %    \begin{macrocode}
2574      \ifnum \c@secnumdepth >-2\relax
2575        \large\bfseries \partname\nobreakspace\thepart
2576        \par
2577 %    \end{macrocode}
2578 % We leave some space before we print the title and leave the
2579 % finishing up to |\@endpart|.
2580 %    \begin{macrocode}
2581        \vskip 20\p@
2582      \fi
2583      \large \bfseries #2\par}%
2584     \@endpart}
2585 %    \end{macrocode}
2586 % \end{macro}
2587 %
2588 % \begin{macro}{\@spart}
2589 % This macro does the actual formatting of the title of the part
2590 % when the star form of the user command was used. In this case we
2591 % \emph{never} print a number. Otherwise the formatting is the
2592 % same.
2593 % (\file{classes.dtx}, L2402)
2594 %    \begin{macrocode}
2595 \def\@spart#1{%
2596     {\centering
2597      \interlinepenalty \@M
2598      \normalfont
2599      \large \bfseries #1\par}%
2600     \@endpart}
2601 %    \end{macrocode}
2602 % \end{macro}
2603 %
2604 % \begin{macro}{\@endpart}
2605 % This macro finishes the part page, for both |\@part| and |\@spart|.
2606 % We drop \cls{book}'s twoside handling.
2607 % If |\if@final| is true, we fill the current page.
2608 % (\file{classes.dtx}, L2435)
2609 %    \begin{macrocode}
2610 \def\@endpart{
2611   \if@final \vfil\newpage \fi
2612 %    \end{macrocode}
2613 % Then, when we are in twosided mode and the chapters are supposed to
2614 % be on the right hand sides, we produce a completely blank page.  We
2615 % don't need to check |\if@final| here, because \Lopt{draftspace} set
2616 % |\@openrighttrue|.
2617 %    \begin{macrocode}
2618   \if@twoside
2619     \if@openright
2620       \null
2621       \thispagestyle{empty}%
2622       \newpage
2623     \fi
2624   \fi}
2625 %    \end{macrocode}
2626 % \end{macro}
2627 %
2628 %
2629 % \subsubsection{Chapters}
2630 % \label{sec:implement-chapters}
2631 %
2632 % \begin{macro}{\chapter}
2633 % \cls{book} always starts a chapter on a new page, but we don't want
2634 % to do that if we're in draft mode.
2635 % (\file{classes.dtx}, L2472).
2636 %    \begin{macrocode}
2637 \renewcommand\chapter{%
2638   \if@openright\@DUT@cleardoublepage\else\@DUT@clearpage\fi
2639   \thispagestyle{plain}%
2640 %    \end{macrocode}
2641 % Then we prevent floats from appearing at the top of this page
2642 % because it looks weird to see a floating object above a chapter
2643 % title.
2644 %    \begin{macrocode}
2645   \global\@topnum\z@
2646 %    \end{macrocode}
2647 % Then we suppress the indentation of the first paragraph by
2648 % setting the switch |\@afterindent| to false. We use |\secdef|
2649 % to specify the macros to use for actually setting the chapter
2650 % title.
2651 %    \begin{macrocode}
2652   \@afterindentfalse
2653   \secdef\@chapter\@schapter}
2654 %    \end{macrocode}
2655 % \end{macro}
2656 %
2657 % \begin{macro}{\listed@schapter}
2658 % |\chapter| declares numbered chapters, which are listed in the table
2659 % of contents.
2660 % |\chapter*| declares unnumbered chapters, which are \emph{not}
2661 % listed in the TOC.
2662 % |\listed@schapter| declares an unnumbered chapter that \emph{is}
2663 % listed in the TOC.
2664 %    \begin{macrocode}
2665 \newcommand\listed@schapter[1]{%
2666   \if@openright\@DUT@cleardoublepage\else\@DUT@clearpage\fi
2667   \thispagestyle{plain}%
2668   \global\@topnum\z@
2669   \phantomsection
2670   \addcontentsline{toc}{chapter}{#1}
2671   \@afterindentfalse
2672   \@schapter{#1}}
2673 %    \end{macrocode}
2674 % \end{macro}
2675 %
2676 % \begin{macro}{\@chapter}
2677 % This macro is called when we have a numbered chapter. When
2678 % \Lcount{secnumdepth} is larger than $-1$ and |\@mainmatter| is true,
2679 % we display the chapter number.
2680 % We drop \cls{book}'s \Lopt{twocolumn} code. 
2681 % (\file{classes.dtx}, L2496).
2682 %    \begin{macrocode}
2683 \def\@chapter[#1]#2{
2684 %    \end{macrocode}
2685 % Inform the user that a new chapter is about to be typeset by writing
2686 % a message to the terminal.
2687 % \changes{0.9}{2010/05/21}{W.~Trevor King disabled the label macro
2688 % for typeout.}
2689 % Some users place |\label| in their chapter argument:
2690 % \begin{example}
2691 %   \chapter{Bla bla\label{x}}
2692 % \end{example}
2693 % rather than after (as recommended by
2694 % \href{http://en.wikibooks.org/wiki/LaTeX/Labels_and_Cross-referencing#Sections}%
2695 %   {the \LaTeX\ Wikibook} and
2696 % \href{http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf}%
2697 %   {The Not So Short Introduction to \LaTeXe\ (\S 2.8, p36)}):
2698 % \begin{example}
2699 %   \chapter{Bla bla}
2700 %   \label{x}
2701 % \end{example}
2702 % The embedded |\label| chokes |\typeout| so we temporarily redefine
2703 % |\label| to just gobble its contents.  |\@DUT@label| stores the
2704 % original definition.
2705 %    \begin{macrocode}
2706   \let\@DUT@label=\label%
2707   \renewcommand{\label}[1]{}%
2708   \typeout{\@chapapp\space\thechapter. #1}%
2709 %    \end{macrocode}
2710 % Restore |\label| to its previous glory.
2711 %    \begin{macrocode}
2712   \let\label=\@DUT@label%
2713 %    \end{macrocode}
2714 % Now we can get on with the real work.
2715 %    \begin{macrocode}
2716   \ifnum \c@secnumdepth >\m@ne
2717     \if@mainmatter
2718       \refstepcounter{chapter}%
2719       \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#1}%
2720     \else
2721       \addcontentsline{toc}{chapter}{#1}%
2722     \fi
2723   \else
2724     \addcontentsline{toc}{chapter}{#1}%
2725   \fi
2726 %    \end{macrocode}
2727 % After having written an entry to the table of contents we store
2728 % the (alternative) title of this chapter with |\chaptermark|.
2729 %    \begin{macrocode}
2730   \chaptermark{#1}%
2731 %    \end{macrocode}
2732 % For nicer lists of figures and tables, we could add some white space
2733 % to separate the chapters.  However, nice lists $\neq$~Manual
2734 % specifications.
2735 %    \begin{macrocode}
2736 %  \addtocontents{lof}{\protect\addvspace{10\p@}}%
2737 %  \addtocontents{lot}{\protect\addvspace{10\p@}}%
2738 %    \end{macrocode}
2739 % Then we call upon |\@makechapterhead| to format the actual chapter
2740 % title.  |\@afterheading| which takes care of suppressing the
2741 % indentation.
2742 %    \begin{macrocode}
2743   \@makechapterhead{#2}%
2744   \@afterheading}
2745 %    \end{macrocode}
2746 % \end{macro}
2747 %
2748 % \begin{macro}{\@makechapterhead}
2749 % The |\@chapter| macro uses |\@makechapterhead|\meta{text} to format
2750 % the heading of the chapter.
2751 % From the Manual \S 3.11 p11.
2752 % \begin{quote}
2753 %   Chapter headings must be bold and centered.
2754 %   The chapter number and title must be on the same line, separated
2755 %   by a colon or period, as shown in the example below:
2756 %   \begin{center}
2757 %     CHAPTER 1: INTRODUCTION
2758 %   \end{center}
2759 %   Headings must not be larger than 12 points.
2760 %   Headings must be single spaced.
2761 % \end{quote}
2762 % \cls{book} sets |\@chapapp| and |\thechapter| (e.g., ``Chapter 5'')
2763 % on a line above the chapter title, but that doesn't match the
2764 % Manual's specification.
2765 %
2766 % We begin by leaving some white space. The we open a group in which
2767 % we have a paragraph indent of 0pt, and in which we have the text set
2768 % ragged right. We also reset the font.
2769 % (\file{classes.dtx}, L2540).
2770 %    \begin{macrocode}
2771 \def\@makechapterhead#1{%
2772 %    \end{macro}
2773 % Adding even a \vspace*{0\p@} here seems to increase the vertical
2774 % space above the chapter heading by two lines.  I'm not sure why.
2775 % Workaround is to pass the ``value of blanklines you want minus two''
2776 % to |\blanklines*|.  HACK!
2777 %    \begin{macro}
2778   \blanklines*{-1}% HACK!
2779   {\parindent \z@ \raggedright \normalfont
2780 %    \end{macrocode}
2781 % Ensure single spacing.
2782 %    \begin{macrocode}
2783     \setstretch{\@ssp}%
2784 %    \end{macrocode}
2785 % Prevent a pagebreak from occuring in the middle of or after the title.
2786 %    \begin{macrocode}
2787     \interlinepenalty\@M
2788 %    \end{macrocode}
2789 % Check whether the number of the chapter has to be printed.
2790 %    \begin{macrocode}
2791     \ifnum \c@secnumdepth >\m@ne
2792 %    \end{macrocode}
2793 % Check whether there \emph{is} a number to be printed.
2794 %    \begin{macrocode}
2795       \if@mainmatter
2796 %    \end{macrocode}
2797 % Setup a ``Chapter \#: Title'' heading.
2798 %    \begin{macrocode}
2799         \center \large \bfseries \@chapapp{} \thechapter: #1\par\nobreak
2800       \else
2801 %    \end{macrocode}
2802 % Setup a ``Title'' heading.
2803 %    \begin{macrocode}
2804         \center \large \bfseries #1\par\nobreak
2805       \fi
2806     \else
2807       \center \large \bfseries #1\par\nobreak
2808     \fi
2809 %    \end{macrocode}
2810 % Put a little space before the chapter body.  We use four blank lines
2811 % to comply with the Manual \S 3.13 p12
2812 % \begin{quote}
2813 %   Begin the list of sources four spaces below the heading.
2814 % \end{quote}
2815 %    \begin{macrocode}
2816     \blanklines{4}
2817   }
2818 }
2819 %    \end{macrocode}
2820 % \end{macro}
2821 %
2822 % \begin{macro}{\@schapter}
2823 % This macro is called when we have an unnumbered chapter.  We drop
2824 % \file{classes.dtx}'s \Lopt{twocolumn} code and set marks for
2825 % \pkg{fancyhdr}.
2826 % (\file{classes.dtx}, L2582).
2827 %    \begin{macrocode}
2828 \def\@schapter#1{
2829 %    \end{macrocode}
2830 % Inform the user that a new chapter is about to be typeset by writing
2831 % a message to the terminal.
2832 %    \begin{macrocode}
2833   \typeout{\@chapapp\space #1}%
2834   \schaptermark{#1}%
2835   \@makeschapterhead{#1}%
2836   \@afterheading}
2837 %    \end{macrocode}
2838 % \end{macro}
2839 %
2840 % \begin{macro}{\@makeschapterhead}
2841 % The macro above uses |\@makeschapterhead|\meta{text} to format
2842 % the heading of the chapter. It is similar to |\@makechapterhead|
2843 % except that it never has to print a chapter number.
2844 % (\file{classes.dtx}, L2595).
2845 %    \begin{macrocode}
2846 \def\@makeschapterhead#1{%
2847   \blanklines*{-1}% HACK!
2848   {\parindent \z@ \raggedright \normalfont
2849     \setstretch{\@ssp}%
2850     \interlinepenalty\@M
2851     \center \large \bfseries  #1\par\nobreak
2852     \blanklines{4}%
2853   }
2854 }
2855 %    \end{macrocode}
2856 % \end{macro}
2857 %
2858 %
2859 % \subsubsection{Lower level headings}
2860 %
2861 % \begin{macro}{\section}
2862 % Setup section headings in |\large| rather than \cls{book}'s
2863 % |\Large|.
2864 % (\file{classes.dtx}, L2623).
2865 %    \begin{macrocode}
2866 \renewcommand\section{%
2867   \@startsection {section}{1}{\z@}%
2868     {-3.5ex \@plus -1ex \@minus -.2ex}%
2869     {2.3ex \@plus.2ex}%
2870     {\normalfont\large\bfseries}}
2871 %    \end{macrocode}
2872 % \end{macro}
2873 %
2874 %
2875 % \subsubsection{Defining new environments}
2876 %
2877 % We don't override any of \cls{book}'s environments, but this is
2878 % where \file{classes.dtx} defines its environments (L2996), so we'll put
2879 % ours here too.
2880 %
2881 % \begin{environment}{preamble}
2882 % \begin{environment}{DUTpreamble}
2883 %    \begin{macrocode}
2884 \newenvironment{preamble}{%
2885   \cleardoublepage
2886   \@mainmatterfalse
2887   \pagenumbering{roman}
2888 %    \end{macrocode}
2889 % From Manual \S 3.1 p8, ``Title Page''.
2890 %    \begin{macrocode}
2891   \@DUT@maketitle
2892 %    \end{macrocode}
2893 % From Manual \S 3.2 p9, ``Copyright Page''.
2894 %    \begin{macrocode}
2895   \@DUT@makecopyright
2896 }{%
2897 %    \end{macrocode}
2898 % From the Manual \S 3.9, p11:
2899 % \begin{quote}
2900 %   Include a blank page (with no page number) before the first page
2901 %   of text.  The blank page is neither numbered nor counted.
2902 % \end{quote}
2903 %    \begin{macrocode}
2904   \@DUT@blankpage
2905 }
2906 %    \end{macrocode}
2907 % \LaTeX's |\newenvironment| and company work by defining |\X| and
2908 % |\endX| for the environment |X|.  We can alias the preamble
2909 % environment by saving these macros.
2910 %    \begin{macrocode}
2911 \let\DUTpreamble\preamble
2912 \let\endDUTpreamble\endpreamble
2913 %    \end{macrocode}
2914 % \end{environment}
2915 % \end{environment}
2916 %
2917 % \begin{environment}{dedications}
2918 % \begin{environment}{DUTdedications}
2919 % From the Manual \S 3.3 p9
2920 % \begin{itemize}
2921 %   \item The heading |Dedications| must appear at the top of the
2922 %   page.  The heading must be bold, centered, and without
2923 %   punctuation.
2924 %   \item This page is counted and numbered in lowercase Roman numerals.
2925 % \end{itemize}
2926 % \changes{0.12}{2010/06/17}{W.~Trevor King added $\backslash$par to
2927 %   detach the single space $\backslash$setstretch from the from the
2928 %   final paragraph.}
2929 %    \begin{macrocode}
2930 \newenvironment{dedications}{%
2931   \@DUT@clearpage
2932   \ifpdf
2933     \phantomsection
2934     \pdfbookmark[0]{\DUTdedicationsname}{\DUTdedicationsname}
2935   \fi
2936   \chapter*{\DUTdedicationsname}
2937   \setstretch{\@dsp}%
2938 }{%
2939   \par\setstretch{\@ssp}%
2940 }
2941 \let\DUTdedications\dedications
2942 \let\endDUTdedications\enddedications
2943 %    \end{macrocode}
2944 % \end{environment}
2945 % \end{environment}
2946 %
2947 % \begin{environment}{acknowledgments}
2948 % \begin{environment}{DUTacknowledgments}
2949 % From the Manual \S 3.4 p9
2950 % \begin{itemize}
2951 %   \item The heading |Acknowledgments| must appear at the top of the
2952 %   page.  The heading must be bold, centered, and without
2953 %   punctuation.
2954 %   \item This page is counted and numbered in lowercase Roman numerals.
2955 % \end{itemize}
2956 % \changes{0.12}{2010/06/17}{W.~Trevor King added $\backslash$par to
2957 %   detach the single space $\backslash$setstretch from the from the
2958 %   final paragraph.}
2959 %    \begin{macrocode}
2960 \newenvironment{acknowledgments}{%
2961   \@DUT@clearpage
2962   \ifpdf
2963     \phantomsection
2964     \pdfbookmark[0]{\DUTacknowledgmentsname}{\DUTacknowledgmentsname}
2965   \fi
2966   \chapter*{\acknowledgmentsname}
2967   \setstretch{\@dsp}%
2968 }{%
2969   \par\setstretch{\@ssp}%
2970 }
2971 %    \end{macrocode}
2972 \let\DUTacknowledgments\acknowledgments
2973 \let\endDUTacknowledgments\endacknowledgments
2974 % \end{environment}
2975 % \end{environment}
2976 %
2977 % \begin{environment}{abstract}
2978 % \begin{environment}{DUTabstract}
2979 %    \begin{macrocode}
2980 \newenvironment{abstract}{%
2981   \listed@schapter{\abstractname}%
2982 %    \end{macrocode}
2983 % Suck up some blank space to position the rest of the header right
2984 % under the chapter title.
2985 %    \begin{macrocode}
2986   \blanklines{-4}%
2987 %    \end{macrocode}
2988 % From the Manual \S 3.9 p10
2989 % \begin{quote}
2990 %   \begin{itemize}
2991 %     \item The following heading must be centered at the top of the page
2992 %       \begin{center}
2993 %         Abstract \\
2994 %         Full Title of Dissertation or Thesis \\
2995 %         Author's Name as it appears on the Dissertation or Thesis
2996 %       \end{center}
2997 %       In the example on p20, they list the advisor's name after the
2998 %       author, but that is not specified in the text on p10.
2999 %     \item The text begins four lines below this heading.
3000 %   \end{itemize}
3001 % \end{quote}
3002 % On p20
3003 % \begin{quote}
3004 %   \begin{itemize}
3005 %     \item These pages are numbered using lowercase Roman numerals.
3006 %     \item Note that the heading is single spaced, but the abstract
3007 %       is double spaced.
3008 %   \end{itemize}
3009 % \end{quote}
3010 % \changes{0.12}{2010/06/17}{W.~Trevor King added $\backslash$par to
3011 %   detach the single space $\backslash$setstretch from the from the
3012 %   final paragraph.}
3013 %    \begin{macrocode}
3014     \begin{center}
3015       \setstretch{\@ssp}%
3016       \@DUT@title\\
3017       \@DUT@author\\
3018 %    \end{macrocode}
3019 % If you're feeling daring, break the rules and add ``Advisor(s):'' to
3020 % set off your list of advisor names.
3021 % \changes{0.11}{2010/06/04}{W.~Trevor King added ``Advisor(s):'' for
3022 % daring users.}
3023 %    \begin{macrocode}
3024       \ifdaring{%
3025         \ifnum\c@@DUT@advisors=\@ne%
3026         Advisor:
3027         \else%
3028         Advisors:
3029         \fi}{}
3030       \@DUT@advisor\\
3031     \end{center}
3032   \blanklines{4}%
3033   \setstretch{\@dsp}%
3034   \@nobreaktrue
3035   \@afterindentfalse
3036   \@afterheading
3037 }{%
3038   \par\setstretch{\@ssp}%
3039 }
3040 \let\DUTabstract\abstract
3041 \let\endDUTabstract\endabstract
3042 %    \end{macrocode}
3043 % \end{environment}
3044 % \end{environment}
3045 %
3046 % \begin{environment}{thesis}
3047 % \begin{environment}{DUTthesis}
3048 % From the Manual \S 3.10 p11
3049 % \begin{itemize}
3050 %   \item The pages are counted and numbered in Arabic numerals.
3051 % \end{itemize}
3052 % \changes{0.8}{2010/05/20}{W.~Trevor King replaced Backmatter with
3053 %   Back Matter for consistency with \LaTeX's book class.}
3054 %    \begin{macrocode}
3055 \newenvironment{thesis}{%
3056   \mainmatter
3057   \setstretch{\@dsp}%
3058 }{%
3059   \setstretch{\@ssp}%
3060   \@DUT@clearpage
3061   \ifpdf
3062     \phantomsection
3063     \pdfbookmark[-1]{Back Matter}{Back Matter}
3064   \fi
3065 }
3066 \let\DUTthesis\thesis
3067 \let\endDUTthesis\endthesis
3068 %    \end{macrocode}
3069 % \end{environment}
3070 % \end{environment}
3071 %
3072 % \paragraph{Vita}
3073 % \label{sec:implement-vita}
3074
3075 % \begin{environment}{vita}
3076 % \begin{environment}{DUTvita}
3077 % From the Manual \S 3.15 p13
3078 % \begin{itemize}
3079 %   \item The heading |Vita| must appear at the top of the page.  The
3080 %   heading must be bold, centered, and without punctuation.
3081 %   \item The Vita text should begin four spaces below the heading.
3082 %   \item List the Vita separately in the Table of Contents.
3083 %   \item The page is counted and numbered in Arabic numerals.
3084 % \end{itemize}
3085 % \changes{0.12}{2010/06/17}{W.~Trevor King added $\backslash$par to
3086 %   detach the single space $\backslash$setstretch from the from the
3087 %   final paragraph.}
3088 %    \begin{macrocode}
3089 \newenvironment{vita}{%
3090   \listed@schapter{\vitaname}
3091   \setstretch{\@dsp}%
3092 }{%
3093   \par\setstretch{\@ssp}%
3094 }
3095 \let\DUTvita\vita
3096 \let\endDUTvita\endvita
3097 %    \end{macrocode}
3098 % \end{environment}
3099 % \end{environment}
3100 %
3101 %
3102 % \subsubsection{Titlepage}
3103 %
3104 % \begin{environment}{titlepage}
3105 % In the normal environments, the titlepage environment does nothing
3106 % but start and end a page, and inhibit page numbers.  We inhibit the
3107 % paging in draft mode, since it seems silly to waste a whole page on
3108 % the title.  We also drop the \Lopt{twocolumn} code.
3109 % (\file{classes.dtx}, L3111)
3110 %    \begin{macrocode}
3111 \renewenvironment{titlepage}%
3112   {\thispagestyle{empty}%
3113     \setcounter{page}\z@}%
3114   {\if@final \newpage \else \blanklinesp{2} \par \fi}
3115 \let\@DUT@titlepage\titlepage
3116 \let\end@DUT@titlepage\endtitlepage
3117 %    \end{macrocode}
3118 % \end{environment}
3119 %
3120 %
3121 % \subsubsection{Appendix}
3122 % \label{sec:implement-appendix}
3123 %
3124 % \begin{macro}{\appendix}
3125 % \begin{macro}{\DUTappendix}
3126 % The |\appendix| command is not really an environment, it is a
3127 % macro that makes some changes in the way things are done.
3128 %
3129 % In the article document class the |\appendix| command must do the
3130 % following:
3131 % \begin{itemize}
3132 %   \item reset the section and subsection counters to zero,
3133 %   \item redefine |\thesection| to produce alphabetic appendix
3134 %         numbers. This redefinition is done globally to ensure that it 
3135 %         survives even if |\appendix| is issued within an environment such
3136 %         as \texttt{multicols}.
3137 % \end{itemize}
3138 %
3139 % In addition to \cls{book}'s (or \pkg{hyperref}'s) activity, we
3140 % fiddle with the \pkg{tocloft} chapter settings add switch to global
3141 % double-spacing.
3142 % (\file{classes.dtx}, L3177)
3143 %    \begin{macrocode}
3144 \let\@DUT@appendix\appendix
3145 \renewcommand\appendix{%
3146   \@DUT@appendix%
3147 %    \end{macrocode}
3148 % Setup TOC entries like
3149 % \begin{center}
3150 %   Appendix A: Chapter Title
3151 % \end{center}
3152 % We don't need to worry about the |vita| environment (page
3153 % \pageref{sec:implement-vita}), because it is a |\listed@schapter|,
3154 % and therefore lacks a |\numberline| section in its \file{*.toc}
3155 % entry.
3156 %
3157 % We increase |numwidth| to 6.5em to make room for |Appendix~| before
3158 % the chapter number/letter, and add a colon after it.
3159 %
3160 % The |\protect| calls get the macros into \file{*.toc} unexpanded, so
3161 % they function correctly when \LaTeX\ parses \file{*.toc}.
3162 %    \begin{macrocode}
3163   \addtocontents{toc}{%
3164     \protect\cftsetindents{chapter}{0pt}{6.5em}
3165     \protect\renewcommand{\protect\cftchappresnum}{\protect\appendixname~}
3166     \protect\renewcommand{\protect\cftchapaftersnum}{:}}
3167 %    \end{macrocode}
3168 % We also turn on double spacing by default, since we're no longer
3169 % wrapped in the |thesis| environment.
3170 %    \begin{macrocode}
3171   \setstretch{\@dsp}%
3172 }
3173 \let\DUTappendix\appendix
3174 %    \end{macrocode}
3175 % \end{macro}
3176 % \end{macro}
3177 %
3178 %
3179 % \subsubsection{Table of Contents}
3180 % \label{sec:implement-toc}
3181 %
3182 % From Manual \S 3.5 p9, ``Table of Contents'', and the example on p17.
3183 % \begin{quote}
3184 %   \begin{itemize}
3185 %     \item Do not list any sections that precede the
3186 %     |Table of Contents| (e.g., |Dedications|, |Acknowledgments|).  Do
3187 %     not list the |Table of Contents| itself.
3188 %     \item These pages are counted and numbered in lowercase Roman numerals.
3189 %   \end{itemize}
3190 % \end{quote}
3191 %
3192 % \begin{macro}{\cfttoctitlefont}
3193 % Take advantange of \pkg{tocloft}'s TOC title code.
3194 % (\file{tocloft.dtx}, L1501)
3195 % \begin{example}
3196 %   \cfttoctitlefont\contentsname}{\cftaftertoctitle}
3197 % \end{example}
3198 % by setting it equal to something ending in |\chapter*|.  That way
3199 % \LaTeX parses the whole thing as
3200 % \begin{example}
3201 %   ...\chapter*\contentsname}{\cftaftertoctitle}
3202 % \end{example}
3203 % which will set up the TOC page correctly.
3204 %    \begin{macrocode}
3205 \renewcommand\cfttoctitlefont{%
3206 %    \end{macrocode}
3207 % Start a new page in \Lopt{final} mode
3208 %    \begin{macrocode}
3209   \@DUT@clearpage
3210 %    \end{macrocode}
3211 % Add a bookmark if we're using pdf\LaTeX.
3212 %    \begin{macrocode}
3213   \ifpdf
3214     \phantomsection
3215     \pdfbookmark[0]{\contentsname}{\contentsname}
3216   \fi
3217 %    \end{macrocode}
3218 % |\chapter*| to gobble and format the next token (|\contentsname|).
3219 %    \begin{macrocode}
3220   \chapter*}
3221 %    \end{macrocode}
3222 % \end{macro}
3223 %
3224 % \begin{macro}{\aftertoctitleskip}
3225 % Don't add any extra space after the title (the chapter will take
3226 % care of that).
3227 %    \begin{macrocode}
3228 \setlength\cftaftertoctitleskip{0pt}
3229 %    \end{macrocode}
3230 % \end{macro}
3231 %
3232 % \begin{macro}{\l@DUT@toc@sep}
3233 % Define a length for TOC/LOF/LOT spacing.
3234 % \changes{0.13}{2010/07/28}{Renamed from $\backslash$l$@$cont$@$sep.}
3235 %    \begin{macrocode}
3236 \newlength\l@DUT@toc@sep
3237 \set@lines@length{\l@DUT@toc@sep}{\@DUT@toc@sep}
3238 %    \end{macrocode}
3239 % \end{macro}
3240 %
3241 % \begin{macro}{\DUT@toc@high@font}
3242 % Define a font for high level (part, chapter) entries.
3243 % \changes{0.13}{2010/07/28}{Renamed from $\backslash@$cont$@$font.}
3244 %    \begin{macrocode}
3245 \newcommand{\DUT@toc@high@font}{\normalsize\scshape}
3246 %    \end{macrocode}
3247 % \end{macro}
3248 %
3249 % \begin{macro}{\DUT@toc@low@font}
3250 % Define a font for low level (section, table, figure) entries.
3251 % \changes{0.13}{2010/07/28}{Macro added.}
3252 %    \begin{macrocode}
3253 \newcommand{\DUT@toc@low@font}{\normalfont}
3254 %    \end{macrocode}
3255 % \end{macro}
3256 %
3257 % \begin{macro}{\DUT@toc@page@font}
3258 % Define a font for page numbers.
3259 % \changes{0.13}{2010/07/28}{Macro added.}
3260 %    \begin{macrocode}
3261 \newcommand{\DUT@toc@page@font}{\normalfont}
3262 %    \end{macrocode}
3263 % \end{macro}
3264 %
3265 % \begin{macro}{\cftbeforepartskip}
3266 % \begin{macro}{\cftpartfont}
3267 % \begin{macro}{\cftpartleader}
3268 % \begin{macro}{\cftpartdotsep}
3269 % \begin{macro}{\cftpartpagefont}
3270 % Setup parts.  See the \pkg{tocloft} manual for a description of the
3271 % commands.
3272 %    \begin{macrocode}
3273 \setlength\cftbeforepartskip{\l@DUT@toc@sep}
3274 \cftsetindents{part}{0pt}{3em}
3275 \if@boldpart   \renewcommand{\cftpartfont}{\bfseries\DUT@toc@high@font}
3276 \else          \renewcommand{\cftpartfont}{\DUT@toc@high@font}
3277 \renewcommand{\cftpartleader}{\cftdotfill{\cftpartdotsep}}
3278 \if@dottedpart \renewcommand{\cftpartdotsep}{\cftdotsep}
3279 \else          \renewcommand{\cftpartdotsep}{\cftnodots} \fi
3280 \renewcommand{\cftpartpagefont}{\DUT@toc@page@font}
3281 %    \end{macrocode}
3282 % \end{macro}
3283 % \end{macro}
3284 % \end{macro}
3285 % \end{macro}
3286 % \end{macro}
3287 %
3288 % \begin{macro}{\cftbeforechapskip}
3289 % \begin{macro}{\cftchapaftersnum}
3290 % \begin{macro}{\cftchapfont}
3291 % \begin{macro}{\cftchapleader}
3292 % \begin{macro}{\cftchapdotsep}
3293 % \begin{macro}{\cftchappagefont}
3294 % Setup chapters and appendicies.  Some of these settings are adjusted
3295 % for appendicies in particular by |\appendix|
3296 % (Sec.~\ref{sec:implement-appendix}).
3297 %    \begin{macrocode}
3298 \setlength\cftbeforechapskip{\l@DUT@toc@sep}
3299 \cftsetindents{chapter}{0pt}{1.5em}
3300 \renewcommand{\cftchapaftersnum}{.}
3301 \if@boldchapter   \renewcommand{\cftchapfont}{\bfseries\DUT@toc@high@font}
3302 \else             \renewcommand{\cftchapfont}{\DUT@toc@high@font} \fi
3303 \renewcommand{\cftchapleader}{\cftdotfill{\cftchapdotsep}}
3304 \if@dottedchapter \renewcommand{\cftchapdotsep}{\cftdotsep}
3305 \else             \renewcommand{\cftchapdotsep}{\cftnodots} \fi
3306 \renewcommand{\cftchappagefont}{\DUT@toc@page@font}
3307 %    \end{macrocode}
3308 % \end{macro}
3309 % \end{macro}
3310 % \end{macro}
3311 % \end{macro}
3312 % \end{macro}
3313 % \end{macro}
3314 %
3315 % \begin{macro}{\cftbeforesecskip}
3316 % \begin{macro}{\cftsecfont}
3317 % \begin{macro}{\cftpagefont}
3318 % \begin{macro}{\cftbeforesubsecskip}
3319 % \begin{macro}{\cftsubsecfont}
3320 % \begin{macro}{\cftsubsecpagefont}
3321 % \begin{macro}{\cftbeforesubsubsecskip}
3322 % \begin{macro}{\cftsubsubsecfont}
3323 % \begin{macro}{\cftsubsubsecpagefont}
3324 % Setup sections, subsections, etc.
3325
3326 % \changes{0.13}{2010/07/28}{Added $\backslash$cft*pagefont
3327 %   definitions and switch $\backslash$cft*font from hardcoded
3328 %   $\backslash$normalsize to $\backslash$DUT$@$toc$@$low$@$font.}
3329 %    \begin{macrocode}
3330 %\cftsetindents{chap}{0pt}{1.5em}
3331 \setlength\cftbeforesecskip{\l@DUT@toc@sep}
3332 \cftsetindents{section}{0pt}{3em}
3333 \renewcommand{\cftsecfont}{\DUT@toc@low@font}
3334 \renewcommand{\cftsecpagefont}{\DUT@toc@page@font}
3335 \setlength\cftbeforesubsecskip{\l@DUT@toc@sep}
3336 \cftsetindents{subsection}{0pt}{4.5em}
3337 \renewcommand{\cftsubsecfont}{\DUT@toc@low@font}
3338 \renewcommand{\cftsubsecpagefont}{\DUT@toc@page@font}
3339 \setlength\cftbeforesubsubsecskip{\l@DUT@toc@sep}
3340 \cftsetindents{subsubsection}{0pt}{6em}
3341 \renewcommand{\cftsubsubsecfont}{\DUT@toc@low@font}
3342 \renewcommand{\cftsubsubsecpagefont}{\DUT@toc@page@font}
3343 %    \end{macrocode}
3344 % \end{macro}
3345 % \end{macro}
3346 % \end{macro}
3347 % \end{macro}
3348 % \end{macro}
3349 % \end{macro}
3350 % \end{macro}
3351 % \end{macro}
3352 % \end{macro}
3353 %
3354 % The default indents above are all |0pt|.  If \Lopt{indenttoc} was
3355 % given, override this, restoring the \pkg{tocloft} defaults, see the
3356 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/tocloft/tocloft.pdf}{%
3357 %   \pkg{tocloft} manual, Table 1}.
3358 %    \begin{macrocode}
3359 \if@indenttoc
3360   \cftsetindents{chapter}{0pt}{1.5em}
3361   \cftsetindents{section}{1.5em}{2.3em}
3362   \cftsetindents{subsection}{3.8em}{3.2em}
3363   \cftsetindents{subsubsection}{7.0em}{4.1em}
3364 \fi
3365 %    \end{macrocode}
3366 %
3367 %
3368 % \subsubsection{List of figures}
3369 % \label{sec:implement-lof}
3370 %
3371 % From the Manual \S 3.7 p10
3372 % \begin{quote}
3373 %   \begin{itemize}
3374 %     \item The heading |List of Figures| must appear at the top of
3375 %       the first page.
3376 %     \item The heading must be bold, centered, and without
3377 %       punctuation.  List figure captions exactly as they appear
3378 %       below the figures in the text.
3379 %     \item Single space each entry, but double-space between entries.
3380 %     \item Separate figure captions from page numbers with
3381 %       right-justified tabs and dot leaders.
3382 %     \item Do not use periods to separate captions and page numbers.
3383 %     \item These pages are counted and numbered in lowercase Roman
3384 %     numerals.
3385 %   \end{itemize}
3386 % \end{quote}
3387 %
3388 % \begin{macro}{\cftloftitlefont}
3389 % Much like our |\cfttoctitlefont|, but the list of figures gets
3390 % listed in the TOC.
3391 %    \begin{macrocode}
3392 \renewcommand\cftloftitlefont{\listed@schapter}
3393 %    \end{macrocode}
3394 % \end{macro}
3395 %
3396 % \begin{macro}{\afterloftitleskip}
3397 % Don't add any extra space after the title (the chapter will take
3398 % care of that).  Actually we make a one-line correction so the first
3399 % line matches the first line in the TOC.  HACK!
3400 %    \begin{macrocode}
3401 \setlength\cftafterloftitleskip{-12pt}
3402 %    \end{macrocode}
3403 % \end{macro}
3404 %
3405 % \begin{macro}{\cftbeforefigskip}
3406 % \begin{macro}{\cftfigindent}
3407 % \begin{macro}{\cftfigfont}
3408 % \begin{macro}{\cftfigpagefont}
3409 % Setup figure entries.
3410
3411 % \changes{0.13}{2010/07/28}{Added $\backslash$cftfigpagefont
3412 %   definition and switch $\backslash$cftfigfont from hardcoded
3413 %   $\backslash$normalsize$\backslash$singlespace to
3414 %   $\backslash$DUT$@$toc$@$low$@$font.  The $\backslash$singlespace
3415 %   portion appears to be unnecessary, and it was causing post-number
3416 %   linebreak issues with latex (pdflatex always worked).}
3417 %    \begin{macrocode}
3418 \setlength{\cftbeforefigskip}{\l@DUT@toc@sep}
3419 \setlength{\cftfigindent}{0pt}
3420 \renewcommand{\cftfigfont}{\DUT@toc@low@font}
3421 \renewcommand{\cftfigpagefont}{\DUT@toc@page@font}
3422 %    \end{macrocode}
3423 % \end{macro}
3424 % \end{macro}
3425 % \end{macro}
3426 % \end{macro}
3427 %
3428 %
3429 % \subsubsection{List of tables}
3430 % \label{sec:implement-lot}
3431 %
3432 % From the Manual \S 3.6 p10
3433 % \begin{quote}
3434 %   \begin{itemize}
3435 %     \item The heading |List of Tables| must appear at the top of the
3436 %       first page.
3437 %     \item The heading must be bold, centered, and without
3438 %       punctuation.
3439 %     \item List table captions exactly as they appear above the
3440 %       tables in the text.
3441 %     \item Single space each entry, but double-space between entries.
3442 %     \item Separate table captions from page numbers with
3443 %       right-justified tabs and dot leaders.
3444 %     \item Do not use periods to separate captions and page numbers.
3445 %       These pages are counted and numbered in lowercase Roman
3446 %       numerals.
3447 %   \end{itemize}
3448 % \end{quote}
3449 %
3450 % \begin{macro}{\cftlottitlefont}
3451 % Much like our |\cfttoctitlefont|, but the list of tables gets
3452 % listed in the TOC.
3453 %    \begin{macrocode}
3454 \renewcommand\cftlottitlefont{\listed@schapter}
3455 %    \end{macrocode}
3456 % \end{macro}
3457 %
3458 % \begin{macro}{\afterlottitleskip}
3459 % Don't add any extra space after the title (the chapter will take
3460 % care of that).  Actually we make a one-line correction so the first
3461 % line matches the first line in the TOC.  HACK!
3462 %    \begin{macrocode}
3463 \setlength\cftafterlottitleskip{-12pt}
3464 %    \end{macrocode}
3465 % \end{macro}
3466 %
3467 % \begin{macro}{\cftbeforetabskip}
3468 % \begin{macro}{\cfttabindent}
3469 % \begin{macro}{\cfttabfont}
3470 % \begin{macro}{\cfttabpagefont}
3471 % Setup table entries.
3472 % \changes{0.13}{2010/07/28}{Added $\backslash$cfttabpagefont
3473 %   definition switch $\backslash$cfttabfont from hardcoded
3474 %   $\backslash$normalsize$\backslash$singlespace to
3475 %   $\backslash$DUT$@$toc$@$low$@$font.  The $\backslash$singlespace
3476 %   portion appears to be unnecessary, and it was causing post-number
3477 %   linebreak issues with latex (pdflatex always worked).}
3478 %    \begin{macrocode}
3479 \setlength{\cfttabindent}{0pt}
3480 \setlength{\cftbeforetabskip}{\l@DUT@toc@sep}
3481 \renewcommand{\cfttabfont}{\DUT@toc@low@font}
3482 \renewcommand{\cfttabpagefont}{\DUT@toc@page@font}
3483 %    \end{macrocode}
3484 % \end{macro}
3485 % \end{macro}
3486 % \end{macro}
3487 % \end{macro}
3488 %
3489 %
3490 % \subsubsection{Bibliography}
3491 %
3492 % \begin{environment}{thebibliography}
3493 % The |thebibliography| environment is a list environment.  To save the
3494 % use of an extra counter, it should use |enumiv| as the item
3495 % counter. 
3496 % Instead of using |\item|, items in the bibliography are produced by
3497 % the following commands:\\
3498 %   |\bibitem|\marg{name} : Produces a numbered entry cited as
3499 %   \meta{name}.\\
3500 %   |\bibitem|\oarg{label}\marg{name} : Produces an entry labeled by
3501 %   \meta{Label} and cited by \meta{name}.
3502 %
3503 % Override \cls{book}'s version, adding a line to the table of
3504 % contents.  We split out the section-creation code into
3505 % |\bib@heading| for \pkg{natbib} compatibility.
3506 % (\file{classes.dtx}, L4063).
3507 %    \begin{macrocode}
3508 \renewenvironment{thebibliography}[1]
3509      {\bib@heading%
3510       \list{\@biblabel{\@arabic\c@enumiv}}%
3511            {\settowidth\labelwidth{\@biblabel{#1}}%
3512             \leftmargin\labelwidth
3513             \advance\leftmargin\labelsep
3514             \@openbib@code
3515             \usecounter{enumiv}%
3516             \let\p@enumiv\@empty
3517             \renewcommand\theenumiv{\@arabic\c@enumiv}}%
3518 %    \end{macrocode}
3519 % Because it's hard to do line breaks in bibliographies.
3520 %    \begin{macrocode}
3521       \sloppy
3522 %    \end{macrocode}
3523 %    This is setting the normal (non-infinite) value of
3524 %    |\clubpenalty| for the whole of this environment,
3525 %    so we must reset its stored value also.  (Why is there a |%| after
3526 %    the second 4000 below?)
3527 %    \begin{macrocode}
3528       \clubpenalty4000
3529       \@clubpenalty \clubpenalty
3530       \widowpenalty4000%
3531 %    \end{macrocode}
3532 % Cause a `.' (period) not to produce an end-of-sentence space.
3533 %    \begin{macrocode}
3534       \sfcode`\.\@m}
3535 %    \end{macrocode}
3536 % Warn if an empty `thebibliography' environment is found.
3537 %    \begin{macrocode}
3538      {\def\@noitemerr
3539        {\@latex@warning{Empty `thebibliography' environment}}%
3540       \endlist}
3541 %    \end{macrocode}
3542 % \end{environment}
3543 %
3544 % \begin{macro}{\bib@heading}
3545 % \pkg{natbib} messes with |thebibliography|.  We setup |\bib@heading|
3546 % so we will still get our table of contents entry.
3547 %    \begin{macrocode}
3548 \newcommand{\bib@heading}{%
3549   \listed@schapter{\bibname}%
3550 }
3551 %    \end{macrocode}
3552 % \end{macro}
3553 %
3554 %
3555 % \subsubsection{Index}
3556 %
3557 % \begin{environment}{theindex}
3558 % The environment |theindex| can be used for indices. It makes an
3559 % index with two columns, with each entry a separate paragraph. At
3560 % the user level the commands |\item|, |\subitem| and |\subsubitem|
3561 % are used to produce index entries of various levels. When a new
3562 % letter of the alphabet is encountered an amount of |\indexspace|
3563 % white space can be added.
3564 %
3565 % Override \cls{book}'s version, adding a line to the table of
3566 % contents.  We split out the section-creation code into
3567 % |\bib@heading| for \pkg{natbib} compatibility.
3568 % (\file{classes.dtx}, L4107).
3569 %    \begin{macrocode}
3570 \renewenvironment{theindex}
3571                {\if@twocolumn
3572                   \@restonecolfalse
3573                 \else
3574                   \@restonecoltrue
3575                 \fi
3576 %    \end{macrocode}
3577 % Here we add our TOC entry, and setup two-columness by hand
3578 % to avoid the |\clearpage| in \LaTeX's default |\twocolumn|.
3579 %    \begin{macrocode}
3580   \listed@schapter{\indexname}
3581   \global\columnwidth\textwidth
3582   \global\advance\columnwidth-\columnsep
3583   \global\divide\columnwidth\tw@
3584   \global\hsize\columnwidth
3585   \global\linewidth\columnwidth
3586   \global\@twocolumntrue
3587   \global\@firstcolumntrue
3588   \col@number \tw@
3589 %    \end{macrocode}
3590 %    Parameter changes to |\columnseprule| and |\columnsep| have to be
3591 %    done after |\twocolumn| has acted. Otherwise they can affect the
3592 %    last page before the index.
3593 %    \begin{macrocode}
3594                 \parindent\z@
3595                 \parskip\z@ \@plus .3\p@\relax
3596                 \columnseprule \z@
3597                 \columnsep 35\p@
3598                 \let\item\@idxitem}
3599 %    \end{macrocode}
3600 %    When the document continues after the index and it was a one
3601 %    column document we have to switch back to one column after the
3602 %    index.
3603 %    \begin{macrocode}
3604                {\if@restonecol\onecolumn\else\@DUT@clearpage\fi}
3605 %    \end{macrocode}
3606 % \end{environment}
3607 %
3608 %
3609 % \subsubsection{Words}
3610 % \label{sec:words}
3611 %
3612 % Set the official names of the various sections encountered.  Some of
3613 % these are not defined in \file{classes.dtx} but are close analogs of
3614 % those that are.
3615 %
3616 % \begin{macro}{\dedicationsname}
3617 % From the Manual \S 3.3 p9, ``The heading |Dedications| must appear at
3618 % the top of the page.''
3619 %    \begin{macrocode}
3620 \newcommand\dedicationsname{Dedications}
3621 \let\DUTdedicationsname\dedicationsname
3622 %    \end{macrocode}
3623 % \end{macro}
3624 %
3625 % \begin{macro}{\acknowledgmentsname}
3626 % From the Manual \S 3.4 p9, ``The heading |Acknowledgments| must appear
3627 % at the top of the page.''
3628 %    \begin{macrocode}
3629 \newcommand\acknowledgmentsname{Acknowledgments}
3630 \let\DUTacknowledgmentsname\acknowledgmentsname
3631 %    \end{macrocode}
3632 % \end{macro}
3633 %
3634 % \begin{macro}{\contentsname}
3635 % From the Manual \S 3.5 p9, ``The heading |Table of Contents| must
3636 % appear at the top of the page.''  (\file{classes.dtx}, L4331)
3637 %    \begin{macrocode}
3638 \renewcommand\contentsname{Table of Contents}
3639 \let\DUTcontentsname\contentsname
3640 %    \end{macrocode}
3641 % \end{macro}
3642 %
3643 % \begin{macro}{\listtablename}
3644 % From the Manual \S 3.6 p10, ``The heading |List of Tables| must appear
3645 % at the top of the page.''  (\file{classes.dtx}, L4333)
3646 %    \begin{macrocode}
3647 \renewcommand\listtablename{List of Tables}
3648 \let\DUTlisttablename\listtablename
3649 %    \end{macrocode}
3650 % \end{macro}
3651 %
3652 % \begin{macro}{\listfigurename}
3653 % From the Manual \S 3.7 p10, ``The heading |List of Figures| must appear
3654 % at the top of the page.''  (\file{classes.dtx}, L4332)
3655 %    \begin{macrocode}
3656 \renewcommand\listfigurename{List of Figures}
3657 \let\DUTlistfigurename\listfigurename
3658 %    \end{macrocode}
3659 % \end{macro}
3660 %
3661 % \begin{macro}{\abstractname}
3662 % From the Manual \S 3.8 p10, ``The following heading must be centered at
3663 % the top of the first page: |Abstract|\ldots.''
3664 % (\file{classes.dtx}, L4367)
3665 %    \begin{macrocode}
3666 \newcommand\abstractname{Abstract}
3667 \let\DUTabstractname\abstractname
3668 %    \end{macrocode}
3669 % \end{macro}
3670 %
3671 % \begin{macro}{\bibname}
3672 % From the Manual \S 3.13 p12, ``The heading |Bibliography| (or
3673 % |List of References|) must appear at the top of first page.''
3674 % (\file{classes.dtx}, L4344)
3675 %    \begin{macrocode}
3676 \renewcommand\bibname{Bibliography}
3677 \let\DUTbibname\bibname
3678 %    \end{macrocode}
3679 % \end{macro}
3680 %
3681 % \begin{macro}{\appendixname}
3682 % From the Manual \S 3.14 p12, ``Number the appendicies consecutively
3683 % either alphabetically or numerically (|Appendix A|, |Appendix B|\ldots
3684 % or |Appendix 1|, |Appendix 2|\ldots).''
3685 % (\file{classes.dtx}, L4366)
3686 %    \begin{macrocode}
3687 \renewcommand\appendixname{Appendix}
3688 \let\DUTappendixname\appendixname
3689 %    \end{macrocode}
3690 % \end{macro}
3691 %
3692 % \begin{macro}{\vitaname}
3693 % From the Manual \S 3.15 p13, ``The heading |Vita| must appear at the
3694 % top of the page.''
3695 %    \begin{macrocode}
3696 \newcommand\vitaname{Vita}
3697 \let\DUTvitaname\vitaname
3698 %    \end{macrocode}
3699 % \end{macro}
3700 %
3701 % \begin{macro}{\DUTnames}
3702 % Some packages (e.g.,
3703 %   \href{http://www.ctan.org/tex-archive/macros/latex/required/babel/}{%
3704 %     \pkg{babel}})
3705 % mess with our |\*name| values and we have to restore them.
3706 \newcommand{\DUTnames}{%
3707   \gdef\dedicationsname{\DUTdedicationsname}%
3708   \gdef\contentsname{\DUTcontentsname}%
3709   \gdef\listtablename{\DUTlisttablename}%
3710   \gdef\listfigurename{\DUTlistfigurename}%
3711   \gdef\bibname{\DUTbibname}%
3712   \gdef\appendixname{\DUTappendixname}%
3713   \gdef\vitaname{\DUTvitaname}%
3714 }
3715 % \end{macro}
3716 %
3717 %
3718 % \subsection{Remaining details}
3719 %
3720 %
3721 % \subsubsection{Terminal blank page}
3722 %
3723 % Add a terminal blank page (when |\if@final| is true)
3724 % From the Manual \S 3.16 p13
3725 % \begin{quote}
3726 %   Include a blank page (with no page number) at the end of the
3727 %   thesis or dissertation.  The blank page is neither counted nor
3728 %   numbered.
3729 % \end{quote}
3730 %    \begin{macrocode}
3731 \AtEndDocument{\@DUT@blankpage}
3732 %    \end{macrocode}
3733 %
3734 %
3735 %    \begin{macrocode}
3736 %</class>
3737 %    \end{macrocode}
3738 %
3739 %
3740 % \section{Examples}
3741 %
3742 %
3743 % \subsubsection{Template}
3744 %
3745 %    \begin{macrocode}
3746 %<*template>
3747 % See drexel-thesis.pdf for details.
3748 \documentclass{drexel-thesis}
3749
3750 %% Enter the appropriate information here
3751 \author{}    % Fullname
3752 \title{}     % Title Of Thesis
3753 \DUTmonth{}  % Name of the month of you defense
3754 \DUTyear{}   % Year you are defending
3755 \degree{}    % Your target degree, spelled out
3756 \advisor{}   % Advisor's full name, degree
3757 \copyrighttext{} % If not "All Rights Reserved."
3758
3759 %% unsrt style give references in order of citation
3760 \bibliographystyle{unsrt}
3761
3762 \begin{document}
3763 \begin{preamble}
3764
3765 \begin{dedications} % OPTIONAL
3766 %% Type dedications here
3767 \end{dedications}
3768
3769 \begin{acknowledgments} % OPTIONAL
3770 %% Type acknowledgments here
3771 \end{acknowledgments}
3772
3773 \tableofcontents
3774 \listoftables  % If you have tables
3775 \listoffigures % If you have figures
3776
3777 \begin{abstract}
3778 %% Type abstract here
3779 \end{abstract}
3780 \end{preamble}
3781
3782 \begin{thesis}
3783 %% If your thesis does not use \part{}s, you may want to add a
3784 %% part-level PDF bookmark to set the main matter of from the front
3785 %% matter.
3786 %%\pdfbookmark[-1]{Main Matter}{Main Matter}
3787
3788 %% Use include statements to include your main thesis code
3789 %% from seperate files.
3790 %%\include{part1}
3791 %%...
3792 \end{thesis}
3793
3794 \bibliography{references} % Include references.bib BibTeX
3795
3796 \appendix % If you have appendices
3797 %% include files with your appendicies (if any) here
3798 %%\include{appendixA}
3799 %%...
3800
3801 \begin{vita} % Ph.D. only.
3802 %%Vita text.
3803 \end{vita}
3804
3805 \end{document}
3806 %</template>
3807 %    \end{macrocode}
3808 %
3809 %
3810 % \subsection{A better example}
3811 % \label{sec:better-example}
3812 %
3813 % \subsubsection{Main}
3814 %
3815 %    \begin{macrocode}
3816 %<*example|example-draft>
3817 %% See drexel-thesis.pdf for details.
3818 %<example>\documentclass[subfig,blackref]{drexel-thesis}
3819 %<example-draft>\documentclass[draft,subfig]{drexel-thesis}
3820
3821 %% Enter the appropriate information here
3822 \author{Johny Henry}
3823 \title{Inadequacies of Steam-Driven Boring Machines}
3824 \DUTmonth{July}
3825 \DUTyear{1872}
3826 \degree{Doctor of Philosophy}
3827 \advisor{Collis Potter Huntington, R.R.D.}
3828 \advisor{Advisor 2, Ph.D.}
3829 \advisor{Advisor 3, Ph.D.}
3830 \copyrighttext{\copyrighttextCCBYSA}
3831
3832 \usepackage[super,sort&compress]{natbib} % fancy citation extensions
3833 \bibliographystyle{unsrtnat}
3834
3835 \usepackage{fancyvrb} % nicer verbatim handling
3836 \DefineShortVerb{\|}  % \verb+TEXT+  ->  |TEXT|
3837
3838 %    \end{macrocode}
3839 % Sometimes other packages clobber \cls{drexel-thesis}'s macros and
3840 % environments.  It's ok though, the originals are all aliased to
3841 % |\DUT*|.  We'll just have to use |DUTpreamble| instead.
3842 %    \begin{macrocode}
3843 \renewenvironment{preamble}{% look, we're clobbering an environment!
3844   What preamble?\begingroup\color{white}}{\endgroup}
3845
3846 %    \end{macrocode}
3847 % Use
3848 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/blindtext/}%
3849 %   {\pkg{blindtext}}
3850 % for dummy text creation.  \pkg{blindtext} requires
3851 % \href{http://www.ctan.org/tex-archive/macros/latex/required/babel/}%
3852 %   {\pkg{babel}}.
3853 %    \begin{macrocode}
3854 \usepackage[english]{babel} % English blindtext
3855 \usepackage{blindtext} % macros for producing dummy output
3856 %    \end{macrocode}
3857 % \pkg{babel} messes with some of our words (\S \ref{sec:words}), so
3858 % we have to reset them.  See the
3859 % \href{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latexwords}{\TeX\ FAQ}
3860 % for details.
3861 %    \begin{macrocode}
3862 \addto\captionsenglish{\DUTnames}
3863
3864 \begin{document}
3865 \begin{DUTpreamble} % "DUT" because original preamble was clobbered.
3866
3867 \begin{dedications}
3868 We're in \iffinal{final}{draft} mode!
3869
3870 \Blindtext[3]
3871 \end{dedications}
3872
3873 \begin{acknowledgments}
3874 \Blindtext[3]
3875 \end{acknowledgments}
3876
3877 \tableofcontents
3878 \listoftables
3879 \listoffigures
3880
3881 \begin{abstract}
3882 \Blindtext[3]
3883 \end{abstract}
3884 \end{DUTpreamble}
3885
3886 \begin{thesis}
3887 \include{example-1}
3888 \end{thesis}
3889
3890 \bibliography{example-ref}
3891
3892 \appendix
3893 \include{example-a}
3894
3895 \begin{vita}
3896 \Blindtext[3]
3897 \end{vita}
3898
3899 \end{document}
3900 %</example|example-draft>
3901 %    \end{macrocode}
3902 %
3903 %
3904 % \subsubsection{Part}
3905 % \label{sec:better-example-part}
3906 %
3907 %    \begin{macrocode}
3908 %<*example-part>
3909 \part{A Part Heading}
3910 \chapter{A Chapter Heading}
3911 \section{A Section Heading}
3912 The following sectioning commands are available:
3913 \begin{quote}
3914  part \\
3915  chapter \\
3916  section \\
3917  subsection \\ 
3918  subsubsection \\ 
3919  paragraph \\ 
3920  subparagraph 
3921 \end{quote}
3922
3923 \subsection{natbib}
3924 You can cite your references with |natbib|'s |\citet| and |\citep|
3925 macros.  See
3926 \href{http://www.ctan.org/tex-archive/macros/latex/contrib/natbib/}
3927 {the natbib manual} for details.
3928
3929 Here we have a text citation \citet{rief97} followed by a
3930 parenthetical citation\citep{rief97}.
3931
3932 \subsubsection{Tables and Figures}
3933 \Blindtext[2]
3934 \begin{table}
3935   \begin{center}
3936   \begin{tabular}{r@{.}l r@{.}l r@{.}l}
3937     \multicolumn{2}{c}{Time (s)} &
3938       \multicolumn{2}{c}{John Henry (m)} &
3939       \multicolumn{2}{c}{Steam drill (m)} \\
3940     0&0 & 0&0 & 0&0 \\
3941     10&0 & 4&3 & 3&75 \\
3942     30&0 & 11&9 & 10&1 \\
3943     \ldots
3944   \end{tabular}
3945   \caption{A table float.} % low caption allowed with floatrow
3946 %% Note the strange |r@{.}l| notation in the |\tabular| column
3947 %% definition.  This allows for numbers aligned at the decimal point
3948 %% (see \href{http://www.stat.unipg.it/tex-man/ltx-68.html}{here}).
3949 %%
3950 %% |\multicolumn{num_cols}{alignment}{contents}| allows the headings
3951 %% to span the pre- and post-decimal columns.
3952   \end{center}
3953 \end{table}
3954 \Blindtext[2]
3955 \begin{figure}
3956   \caption{A figure float. \blindtext} % high caption allowed with floatrow
3957   \begin{center}
3958     \includegraphics[width=0.4\textwidth]{drexel-logo}
3959   \end{center}
3960 \end{figure}
3961 \Blindtext[3]
3962 \begin{figure}
3963   \begin{center}
3964     \subfloat[][]{%
3965       \includegraphics[width=0.2\textwidth]{drexel-logo}%
3966       \label{fig:sub-a}}
3967     \subfloat[][]{%
3968       \includegraphics[width=0.2\textwidth]{drexel-logo}%
3969       \label{fig:sub-b}}
3970     \caption{(a) One subfig float. (b) Another subfig float.%
3971       \label{fig:both}}
3972   \end{center}
3973 \end{figure}
3974 You can reference the subfig floats individually (\ref{fig:sub-a}) or
3975 together (\ref{fig:both}).
3976
3977 \Blindtext[3]
3978
3979 \part{Another Part}
3980 \chapter{Another Chapter}
3981 \Blindtext[5]
3982 \chapter{A Long Title Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla
3983 Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla}
3984 \Blindtext[5]
3985 %</example-part>
3986 %    \end{macrocode}
3987 %
3988 %
3989 % \subsubsection{\BibTeX}
3990 %
3991 % What goes into the \BibTeX\ file |example-ref.bib|?
3992 % For more information, check out this 
3993 % \href{http://cmtw.harvard.edu/Documentation/TeX/Bibtex/Example.html}{basic tutorial}.
3994 % If you want to get deeper, take a look at
3995 % \href{http://www.ctan.org/tex-archive/info/bibtex/tamethebeast/}{Tame the BeaST}.
3996 % Other resources:
3997 % \href{http://www.andy-roberts.net/misc/latex/latextutorial3.html}{how the process works},
3998 %   \href{http://newton.ex.ac.uk/tex/pack/bibtex/btxdoc/node6.html}{entry types},
3999 %   \href{http://newton.ex.ac.uk/tex/pack/bibtex/btxdoc/node7.html}{fields},
4000 %   \href{http://en.wikipedia.org/wiki/BibTeX}{entries and fields},
4001 %   \href{http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html}{assorted style examples}, and
4002 %   \href{http://liinwww.ira.uka.de/bibliography/Bib.Format.html}{assorted \BibTeX tools}.
4003 %
4004 % Here is an example \BibTeX\ file to get you started.  We define
4005 % strings for the publishers, journals, and authors to avoid
4006 % duplication, minimize the risk of typos, etc.
4007 %
4008 %    \begin{macrocode}
4009 %<*example-bibtex-refs>
4010 %% Publishers
4011 @String{APS = "American Physical Society"}
4012
4013 %% Journals
4014 @String{SCI = "Science"}
4015
4016 %% Authors
4017 @String{MRief = "Rief, Matthias"}
4018 @String{MGautel = "Gautel, Mathias"}
4019 @String{FOesterhelt = "Oesterhelt, Filipp"}
4020 @String{JFernandez = "Fernandez, Julio M."}
4021 @String{HGaub = "Gaub, Hermann E."}
4022
4023 %% Articles
4024 @Article{rief97,
4025   author = MRief #" and "# MGautel #" and "# FOesterhelt #" and "#
4026            JFernandez #" and "# HGaub,
4027   title = "Reversible Unfolding of Individual Titin Immunoglobulin
4028            Domains by {AFM}",
4029   journal = SCI,
4030   volume =  276,
4031   number =  5315,
4032   pages =   "1109--1112",
4033   year =    1997,
4034   doi =     "10.1126/science.276.5315.1109",
4035   URL =     "http://www.sciencemag.org/cgi/content/abstract/276/5315/1109",
4036   eprint =  "http://www.sciencemag.org/cgi/reprint/276/5315/1109.pdf",
4037   mynote = "Seminal paper for force spectroscopy on Titin. Cited by
4038            Dietz '04 (ref 9) as an example of how unfolding large
4039            proteins is easily interpreted (vs.\ confusing unfolding in
4040            bulk), but Titin is a rather simple example of that, because
4041            of its globular-chain structure.",
4042 }
4043 %% ...
4044 %</example-bibtex-refs>
4045 %    \end{macrocode}
4046 %
4047 %
4048 % \subsubsection{Appendix}
4049 %
4050 %    \begin{macrocode}
4051 %<*example-appendix>
4052 \chapter{Some Appendix Heading}
4053 \Blindtext[5]
4054 \chapter{Another Appendix Heading}
4055 \Blindtext[5]
4056 %</example-appendix>
4057 %    \end{macrocode}
4058 %
4059 %
4060 % \section{Known bugs and issues}
4061 %
4062 %
4063 % \subsection{Hacks}
4064 %
4065 % \begin{itemize}
4066 %   \item |\vspace*{0\p@}| space between page top and chapter
4067 %     headings (|\@makechapterhead| and |\@makeschapterhead|,
4068 %     Sec.~\ref{sec:implement-chapters}).
4069 %   \item Extra space under LOT and LOF titles compared to TOC.
4070 %     (Secs.~\ref{sec:implement-lof} and \ref{sec:implement-lot}).
4071 % \end{itemize}
4072 %
4073 %
4074 % \subsection{Bugs}
4075 %
4076 % \begin{itemize}
4077 %   \item Different space between chapter heading and section heading,
4078 %     vs.\ chapter heading and text.  Compare \emph{A Chapter Heading}
4079 %     and \emph{Another Chapter} in \file{example.pdf}.  This is a
4080 %     problem (although with opposite order) in the \cls{book} class
4081 %     itself.  For example, compile
4082 %     \begin{example}
4083 %\documentclass{book}
4084 %\begin{document}
4085 %\chapter{Chapter with text}
4086 %Bla bla bla.
4087 %\chapter{Chapter with section}
4088 %\section{Section}
4089 %Bla bla bla.
4090 %\end{document}
4091 %     \end{example}
4092 %   \item Footer overlap if chapter/section names are particularly long.
4093 %     See \emph{Section in long-titled chapter} in \file{example.pdf}.
4094 %     Workaround: turn off sections in the footer:
4095 %     \begin{example}
4096 %       \fancyfoot[RE,LO]{\scshape\leftmark}
4097 %       \fancyfoot[LE,RO]{}
4098 %     \end{example}
4099 %     For more header or footer manipulation ideas, see \S \ref{sec:fancyhdr}.
4100 % \end{itemize}
4101 %
4102 %
4103 % \Finale
4104 \endinput