1 % \def\fileversion{0.3}
2 % \def\filedate{2010/01/09}
3 % \iffalse meta-comment
4 %<class>\def\fileversion{0.3}
5 %<class>\def\filedate{2010/01/09}
7 % Copyright (C) 2010 W. Trevor King, Daniel J. Cross, T. Tsankov, and
9 % -------------------------------------------------------
11 % This file may be distributed and/or modified under the
12 % conditions of the LaTeX Project Public License, either version 1.3
13 % of this license or (at your option) any later version.
14 % The latest version of this license is in:
16 % http://www.latex-project.org/lppl.txt
18 % and version 1.3 or later is part of all distributions of LaTeX
19 % version 2003/12/01 or later.
21 % Based on Scott Pakin's dtxtut/cskeleton.dtx
22 % http://www.ctan.org/tex-archive/info/dtxtut/
26 % \iffalse meta-comment
28 \ProvidesFile{drexel-thesis.dtx}
30 %<class>\NeedsTeXFormat{LaTeX2e}
31 %<class>\ProvidesClass{drexel-thesis}
32 %<class> [\filedate\ \fileversion\ Drexel Thesis]
34 % Code for the .ini driver, see section "2.1 The driver file" of doc.dtx.
36 \documentclass{ltxdoc}
37 \usepackage[colorlinks=true]{hyperref}
39 % Include some useful commands from |xkeyval|'s |<preamble>|.
43 \lstnewenvironment{command}{%
44 \lstset{columns=flexible,frame=single,backgroundcolor=\color{blue!20},%
45 xleftmargin=\fboxsep,xrightmargin=\fboxsep,escapeinside=`',gobble=1}}{}
46 \lstnewenvironment{example}{%
47 \lstset{basicstyle=\footnotesize\ttfamily,columns=flexible,frame=single,%
48 backgroundcolor=\color{yellow!20},xleftmargin=\fboxsep,%
49 xrightmargin=\fboxsep,gobble=1}}{}
51 % Define a quick and dirty version of |xkeyval|'s |\DescribeOptions|.
53 \newenvironment{option}[1]{\begin{macro}{#1}}
56 % Some commonly used abbreviations from |classes.dtx|.
58 \newcommand*{\Lopt}[1]{\textsf {#1}}
59 \newcommand*{\file}[1]{\texttt {#1}}
60 \newcommand*{\Lcount}[1]{\textsl {\small#1}}
61 \newcommand*{\pstyle}[1]{\textsl {#1}}
65 \def\DescribeOption#1{\leavevmode\@bsphack
66 \marginpar{\raggedleft\PrintDescribeOption{#1}}%
67 \SpecialOptionIndex{#1}\@esphack\ignorespaces}
68 \def\PrintDescribeOption#1{\strut\emph{option}\\\MacroFont #1\ }
69 \def\SpecialOptionIndex#1{\@bsphack
70 \index{#1\actualchar{\protect\ttfamily#1}
71 (option)\encapchar usage}%
72 \index{options:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar
74 \def\DescribeOptions#1{\leavevmode\@bsphack
75 \marginpar{\raggedleft\strut\emph{options}%
77 \\\strut\MacroFont\@tempa\SpecialOptionIndex\@tempa
78 }}\@esphack\ignorespaces}
86 \DocInput{drexel-thesis.dtx}
94 % {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
95 % 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
96 % Digits \0\1\2\3\4\5\6\7\8\9
97 % Exclamation \! Double quote \" Hash (number) \#
98 % Dollar \$ Percent \% Ampersand \&
99 % Acute accent \' Left paren \( Right paren \)
100 % Asterisk \* Plus \+ Comma \,
101 % Minus \- Point \. Solidus \/
102 % Colon \: Semicolon \; Less than \<
103 % Equals \= Greater than \> Question mark \?
104 % Commercial at \@ Left bracket \[ Backslash \\
105 % Right bracket \] Circumflex \^ Underscore \_
106 % Grave accent \` Left brace \{ Vertical bar \|
107 % Right brace \} Tilde \~}
110 % \changes{0.1}{2006/01/18}{Rewrite by Daniel J.~Cross}
111 % \changes{0.2}{2010/01/09}{W.~Trevor King transitioned from thesis.cls
112 % to drexel-thesis.dtx and did a good deal of reorganizing.}
113 % \changes{0.3}{2010/01/11}{W.~Trevor King merged drexelthesis.cls
114 % developed in the Comp.~Sci.~Department by Jeff Abrahamson,
115 % Evan Sultanik, C.Y.~Ip, Christopher S.~Dahn, Christopher D.~Cera,
116 % Mitchell Peabody, David T.~McWherter, and Vincent A.~Cicirello.
117 % Based on the University of Toronto Thesis \LaTeXe\ Class. Also
118 % greatly improved the documentation by incorperating bits of
119 % the base/*.dtx files.}
122 % \newcommand{\pkg}[1]{\textsf{#1}}
123 % \newcommand{\cls}[1]{\textsf{#1}}
124 % ^^A\newcommand{\BibTeX}{{\sc Bib}\TeX}
126 % \title{The \textsf{drexel-thesis} class\thanks{This document
127 % corresponds to \textsf{drexel-thesis}~\fileversion, dated \filedate.}}
128 % \author{W.~Trevor King \\\texttt{wking@drexel.edu}
129 % \and Daniel J.~Cross \and T.~Tsankov \and R.~Rojas.}
135 % \section{Introduction}
137 % This package defines a \LaTeX\ thesis class for Drexel University
139 % \href{http://www.library.drexel.edu/files/services_documents/thesismanual.pdf}
140 % {Drexel University Thesis Manual version 2009/06/01}.
144 % To write a thesis, you load the Drexel thesis definitions by loading
145 % the \pkg{drexel-thesis} class at the beginning of your
146 % \LaTeX\ document with the |\documentclass| command. For example,
148 % \documentclass{drexel-thesis}
151 % \subsection{Options}
153 % \DescribeOptions{final,draft}
154 % The default option (selected if not options are passed) is
155 % \Lopt{final} mode, which has all the proper formatting and spacing
156 % for your final product. The other main option is \Lopt{draft} mode,
157 % which reduces all the spacing in the document, so might be helpful
158 % when printing out drafts (saves paper).
160 % \Lopt{final} mode corresponds to (with Thesis Manual chapter and
162 % \begin{tabular}{r p{0.8\textwidth}}
163 % \Lopt{oneside} & 1.5 Library Submission Information, Print
164 % Version: ``All copies must be: \ldots Typed/printed on only one
165 % side of the page (not double-sided).'' \\
166 % \Lopt{finalspace} & Assorted single, double, and triple spacing
168 % \Lopt{dottedtoc} & From the example on p17.
171 % \Lopt{draft} mode corresponds to \\
172 % \begin{tabular}{r p{0.8\textwidth}}
173 % \Lopt{twoside} & Save space. \\
174 % \Lopt{draftspace} & Save space. \\
175 % \Lopt{dottedtoc} & Might as well be consistent with \Lopt{final}. \\
176 % \Lopt{draftwatermark} & It's good to have a timestamp. \\
179 % \DescribeOption{finalspace}
182 % \DescribeOption{draftspace}
185 % \DescribeOptions{dottedtoc,boldtoc,
186 % dottedpart,boldpart,
187 % dottedchapter,boldchapter}
188 % These options change how the relevant TOC lines are printed
189 % \LaTeX\ defaults to bold but not dots. The \Lopt{*toc} options set
190 % all of the types. For example, \Lopt{boldtoc} is equivalent to
191 % \Lopt{boldchapter,boldpart}.
193 % \DescribeOption{draftwatermark}
194 % \Lopt{draftwatermark} adds ``DRAFT \meta{date}'' watermarks to each
195 % page. A useful way to remember that the version you're looking at
196 % is not final. Also helps reviewers tell you what version they're
200 % \subsubsection{Interesting \cls{book} options}
202 % \DescribeOption{oneside}
203 % Setup output for one-sided printing.
205 % \DescribeOption{twoside}
206 % Setup output for two-sided printing.
208 % \DescribeOption{leqno}
209 % \Lopt{leqno} places the numbering of formulae on the left hand side
210 % instead of the right.
212 % \DescribeOption{fleqn}
213 % \Lopt{fleqn} typesets displayed formulae left-aligned instead of
217 % \subsection{Macros}
220 % `\cs{author}\marg{name}'
222 % \DescribeMacro{\author}
223 % Use this macro to set your full name to \meta{name}, including
224 % your middle initial or name. For example
226 % \name{Richard P. Feynman}
228 % See the Manual 3.1 p8.
231 % `\cs{title}\marg{title}'
233 % \DescribeMacro{\title}
234 % Use this macro to set your thesis title to \meta{name}. For example
236 % \title{A New Approach to Quantum Theory}
238 % See the Manual p16.
241 % `\cs{advisor}\marg{name}'
243 % \DescribeMacro{\advisor}
244 % Use this macro to set your advisor's name to \meta{name}. For
247 % \advisor{John A. Wheeler, Ph.D.}
249 % You can set multiple advisors, if appropriate, by calling |\advisor|
252 % \advisor{John A. Wheeler, Ph.D.}
253 % \advisor{Advisor 2}
255 % See the Manual 3.1 p8.
258 % `\cs{defmonth}\marg{month}'
259 % `\cs{defyear}\marg{year}'
261 % \DescribeMacro{\defmonth}
262 % \DescribeMacro{\defyear}
263 % Use these macros to set the month with \meta{month} (spelled out)
264 % and year with \meta{year} (four digits) of your thesis defense. For
270 % See the Manual 3.1 p8.
271 % The |def| in |\def*| avoids collisions with the plain \TeX\
272 % |\month| and |\year| (see the
273 % \href{http://www.tug.org/utilities/plain/cseq.html#month-rp}{month}
275 % \href{http://www.tug.org/utilities/plain/cseq.html#year-rp}{year}
276 % entries in the HTML version of David Bausum's \emph{TeX Reference
280 % `\cs{degree}\marg{degree}'
282 % \DescribeMacro{\degree}
283 % Set your target degree with \meta{degree}. From the Manual 3.1 p8.
285 % Write out the name of the degree for which you are a candidate.
286 % All Ph.D.\ candidates must use |Doctor of Philosophy|. All
287 % Master's degree candidates should use the precise degree name
288 % (e.g., |Master of Science in Mechanical Engineering|).
290 % So, for a Ph.D candidate,
292 % \degree{Doctor of Philosophy}
296 % `\cs{copyrighttext}\marg{text}'
298 % \DescribeMacro{\copyrighttext}
299 % Use this macro to set the copyright text to \meta{text}.
300 % The default value is ``All Rights Reserved.''.
302 % \copyrighttext{Released to the Public Domain.}
304 % See the Manual 3.2 p9.
307 % `\cs{copyrighttextCC}'
309 % There are a number of predefined copyright messages for ease of use \\
310 % \begin{tabular}{l l}
311 % |\copyrighttextCC| & Creative Commons copyright \\
315 % `\cs{tableofcontents}'
317 % \DescribeMacro{\tableofcontents}
318 % Write the table of contents (Manual 3.5 p9). You can control the
319 % verbosity by setting |\tocdepth| according to the following table
320 % (\href{http://www.image.ufl.edu/help/latex/intext.shtml}{source}). \\
321 % \begin{tabular}{l l l}
322 % Depth in document & Section Command & Depth for |\secnumdepth| Command \\
323 % -1 & |\part| & 1 \\
324 % 0 & |\chapter| & 2 \\
325 % 1 & |\section| & 3 \\
326 % 2 & |\subsection| & 4 \\
327 % 3 & |\subsubsection| & 5 \\
328 % 4 & |\paragraph| & 6 \\
329 % 5 & |\subparagraph| & 7
331 % For example, to expose everything down to and including the
332 % |\subsection| level, you would add
334 % \setcounter{tocdepth}{2}
336 % to your preamble (the section before |\begin{document}|, not the
337 % |preamble| environment discussed below).
339 % Note that the Manual 3.5 p9 requires ``List chapter titles and at
340 % least the first and second order subdivisions.'', which corresponds
341 % to a |\tocdepth| of at least 2.
344 % `\cs{listoftables}'
346 % \DescribeMacro{\listoftables}
347 % Write the List of Tables page (Manual 3.7 p10).
348 % Skip if you have no tables in your thesis.
351 % `\cs{listoffigures}'
353 % \DescribeMacro{\listoffigures}
354 % Write the List of Figures page (Manual 3.7 p10).
355 % Skip if you have no figures in your thesis.
358 % `\cs{blanklines}\marg{num}'
360 % \DescribeMacro{\blanklines}
361 % Insert \meta{num} blank lines. For example
365 % The skipped lines are always \emph{single spaced} lines, regardless
366 % of the current line spacing in the environment calling this macro.
369 % \subsection{Environments}
371 % \DescribeEnv{preamble}
372 % Generalize the |\frontmatter| for the thesis, setting up page
373 % numbering, including the title page, copyright page etc. The
374 % |preamble| environment should contain the following elements
375 % (in order, see the Manual p8)
377 % \item |dedication| environment (optional)
378 % \item |acknowledgments| environment (optional)
379 % \item |\tableofcontents|
380 % \item |\listoftables|
381 % \item |\listoffigures|
382 % \item |abstract| environment
384 % This will take care of everything from the title page (Manual 3.1),
385 % up through the blank page before the text (Manual 3.9).
387 % \DescribeEnv{dedications}
388 % Set the dedications text.
389 % Highlights from the Manual 3.3 p9:
391 % The |Dedications| page is optional.
394 % \DescribeEnv{acknowledgments}
395 % Set the acknowledgments text.
396 % Highlights from the Manual 3.4 p9:
398 % The |Acknowledgments| page is optional, but most theses do
399 % include a brief statement of thanks or recognition of any special
403 % \DescribeEnv{abstract}
404 % Set the thesis abstract text. In the Thesis Manual, see section 3.8
405 % Abstract (p10) for details, p20 for an example.
407 % Highlights from the Manual:
409 % The abstract is a summary that allows readers to determine the
410 % value of reading the full thesis. It should include a statement
411 % of the problem, an outline of procedures or methods, and a summary
412 % of results and conclusions.
415 % \item Word limits: 600 for a Master's thesis, 350 for a Ph.D.\ thesis.
418 % \DescribeEnv{thesis}
419 % Set the thesis text. In the Thesis Manual, see section 3.10 Thesis
422 % Highlights from the Manual:
424 % Divide the text into its major parts/chapters/subsections. No
425 % fixed arrangement is necessary. The major parts may contain such
426 % subjects as introduction, general argument, description of
427 % experimental procedures, research methods, discussion, summary,
428 % conclusions, recommendations, and other pertinent topics that are
429 % necessary for a complete understanding on the part of a
430 % sophisticated or professional reader.
434 % Set the thesis vita text (Ph.D.\ only). See the Manual 3.15 p12,
435 % ``Vita'', for details.
437 % Highlights from the Manual:
439 % The Vita is a biography of the student written in the third person
440 % in either essay or outline form. It should include the full name,
441 % place and date of birth (optional), country of citizenship
442 % (optional), institutions attended, degrees and honors received,
443 % titles of publications, teaching and professional experience, and
444 % other pertinent data. The Vita must be one page or less.
451 % \subsubsection{Package installation}
452 % \label{sec:dependencies}
454 % All the packages this class depends on must be installed somewhere
455 % in your texmf tree (they probably already are). If not, you will
456 % recieve warning messages on compilation such as
458 % ! LaTeX Error: File `missing-package.sty' not found.
460 % You should then install the missing package(s) using your operating
461 % systems package manager, or grab the missing package from
462 % \href{http://www.ctan.org/}{CTAN}, and install them following TODO.
465 % \subsubsection{Tables and Figures}
467 % From the Manual 2.3 p6, ``Tables and Figures'',
469 % Place figure captions below figures.
470 % Place table captions above tables.
472 % so make sure the |\caption| command is in the appropriate location.
476 % \caption{Some caption text}
477 % \begin{tabular}{...}
485 % \includegraphics{...}
486 % \caption{Some caption text}
489 % \pkg{drexel-thesis} loads
490 % \href{http://www.ctan.org/tex-archive/macros/latex/required/graphics/}{\pkg{graphicx}}
491 % to define the |\includegraphics| macro. For more useful
492 % float information, see the
493 % \href{http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions}
494 % {\LaTeX\ wikibook page}.
497 % \subsubsection{Citations}
499 % I highly recommend using \BibTeX\ and
500 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/natbib/}{\pkg{natbib}}.
501 % See Section \ref{sec:better-example} for a simple example.
503 % Suggested options:\\
504 % \begin{tabular}{r p{0.8\textwidth}}
505 % |super| & selects citations in superscript mode. \\
506 % |sort&compress| & automatically sorts and compresses compound
507 % citations (|\pcite{a,b,...}|).
511 % \subsubsection{References}
513 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/cleveref/}{\pkg{cleveref}}.
514 % Is a wonderful tool for easy, consistent crosslinking. The manual is also very good.
517 % \subsubsection{Hyperlinks}
519 % \cls{drexel-thesis} loads
520 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref/}{\pkg{hyperref}}.
521 % with the options:\\
522 % \begin{tabular}{r p{0.8\textwidth}}
523 % |colorlinks| & color the link letters instead of drawing colored boxes. \\
526 % If running with a pdftex-based driver, |\author|, |\title|, and
527 % |\degree| automatically set |pdfauthor|, |pdftitle|, and
528 % |pdfsubject| respectively. You can use the |\hypersetup| macro to
529 % set options overriding these defaults.
532 % \StopEventually{\pagebreak\PrintChanges}
535 % \section{Implementation}
540 % For simplicity, we'll derive everything from the standard \cls{book}
544 % \subsection{Option Processing}
547 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/xkeyval/}{\pkg{xkeyval}}
548 % for easier option parsing. If the package is not installed on your system,
549 % see Section \ref{sec:dependencies} for installation instructions.
551 \RequirePackage{xkeyval}
554 % Define some booleans to store option states
556 \newif\if@mainmatter \@mainmattertrue
557 \newif\if@dottedchapter
558 \newif\if@boldchapter
561 \newif\if@draftwatermark
563 \newif\if@final \@finalfalse
566 % \begin{option}{finalspace}
568 \DeclareOptionX{finalspace}{
569 \setlength\overfullrule{0pt}
570 \def\@cont@sep{1} % content page separation (# blanklines between entries)
571 \def\@ssp{1} % single space
572 \def\@dsp{2} % double space
573 \def\@tsp{3} % triple space
578 % \begin{option}{draftspace}
580 \DeclareOptionX{draftspace}{
581 \setlength\overfullrule{5pt}
582 \def\@cont@sep{0} % content page separation (# blanklines between entries)
583 \def\@ssp{1} % single space
584 \def\@dsp{1} % double space
585 \def\@tsp{2} % triple space
587 % Don't force chapters onto right-hand pages.
589 \PassOptionsToClass{openany}{book}
595 % \begin{option}{dottedpart}
597 \DeclareOptionX{dottedpart}{\@dottedparttrue}
600 % \begin{option}{dottedchapter}
602 \DeclareOptionX{dottedchapter}{\@dottedchaptertrue}
605 % \begin{option}{boldpart}
607 \DeclareOptionX{boldpart}{\@boldparttrue}
610 % \begin{option}{boldchapter}
612 \DeclareOptionX{boldchapter}{\@boldchaptertrue}
615 % \begin{option}{dottedtoc}
617 \DeclareOptionX{dottedtoc}{
618 \setkeys{drexel-thesis.cls}{dottedpart}
619 \setkeys{drexel-thesis.cls}{dottedchapter}
623 % \begin{option}{boldtoc}
625 \DeclareOptionX{boldtoc}{
626 \setkeys{drexel-thesis.cls}{boldpart}
627 \setkeys{drexel-thesis.cls}{boldchapter}
632 % \begin{option}{draftwatermark}
633 % Set draft watermark flag
635 \DeclareOptionX{draftwatermark}{\@draftwatermarktrue}
639 % Define the book options that \Lopt{final} and \Lopt{draft} need to
641 % \begin{option}{oneside}
643 \DeclareOptionX{oneside}{\PassOptionsToClass{oneside}{book}}
647 % \begin{option}{twoside}
649 \DeclareOptionX{twoside}{\PassOptionsToClass{twoside}{book}}
653 % \begin{option}{final}
655 \DeclareOptionX{final}{
656 \setkeys{drexel-thesis.cls}{oneside}
657 \setkeys{drexel-thesis.cls}{finalspace}
658 \setkeys{drexel-thesis.cls}{dottedtoc}
663 % \begin{option}{draft}
665 \DeclareOptionX{draft}{
666 \setkeys{drexel-thesis.cls}{twoside}
667 \setkeys{drexel-thesis.cls}{draftspace}
668 \setkeys{drexel-thesis.cls}{dottedtoc}
669 \setkeys{drexel-thesis.cls}{draftwatermark}
674 % Use the default \cls{book} implementation for any remaining options
675 % including \Lopt{oneside}, \Lopt{twoside}, \Lopt{leqno}, \Lopt{fleqn},
678 \DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{book}}
681 % Execute the default options
683 \ExecuteOptionsX{final}
686 % Process options and load the book class
688 \ProcessOptionsX\relax
693 % \subsection{Internal package includes}
696 % Include some other packages we'll need. If the package is not
697 % installed on your system, see Section \ref{sec:dependencies} for
698 % installation instructions.
700 % For many packages, we want the same functionality for both
701 % \Lopt{final} and \Lopt{draft} modes. We pass \Lopt{final} to most
702 % of those packages to override a possible \Lopt{draft} option passed
703 % to \pkg{drexel-thesis}.
706 % \subsubsection{\pkg{setspace}}
708 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/setspace/}{\pkg{setspace}}
709 % for double spacing.
711 \RequirePackage{setspace}
714 % \subsubsection{\pkg{calc}}
716 % \href{http://www.ctan.org/tex-archive/macros/latex/required/tools/}{\pkg{calc}}
717 % for |\blanklines| macro.
719 \RequirePackage{calc}
722 % \subsubsection{\pkg{graphicx}}
724 % \href{http://www.ctan.org/tex-archive/macros/latex/required/graphics/}{\pkg{graphicx}}
725 % for |\includegraphics|. Not strictly necessary, but I can't imagine
726 % a thesis without figures.
728 \RequirePackage[final]{graphicx}
731 % We include the graphicx package now so we can
732 % pass \Lopt{final}, because some later packages include it with no options,
733 % and a \Lopt{final} include after that produces errors like
735 % l.104 \RequirePackage
737 % The package graphicx has already been loaded with options:
739 % There has now been an attempt to load it with options
743 % \subsubsection{\pkg{draftmark}}
745 % The Comp.~Sci.\ class used
746 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/draftcopy/}{\pkg{draftcopy}}
747 % to add their watermarks, but as of the current 2002/02/25 v2.16, it
748 % uses postscript specials, and so doesn't work with pdf\LaTeX.
749 % Instead we use the recent (catalogued 2009/11/03)
750 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/draftmark/}{\pkg{draftmark}}
751 % which unfortunately has a number of apparently non-standard dependencies
752 % (\href{http://www.ctan.org/tex-archive/macros/latex/contrib/etextools/}{\pkg{etextools}},
753 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/etoolbox/}{\pkg{etoolbox}},
754 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/lastpage/}{\pkg{lastpage}},
755 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/ltxnew/}{\pkg{ltxnew}},
756 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/pagerange/}{\pkg{pagerange}},
757 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/xifthen/}{\pkg{xifthen}},
758 % if only I had the space to install |texlive-latexextra| |:p|).
759 % The output is, however, very flexible, and it \emph{does} work with
760 % both \LaTeX\ and pdf\LaTeX. If you don't like the default watermark,
761 % you can also adjust the particulars with |\draftmarksetup|.
764 \RequirePackage[draft,allpages,mark={DRAFT \today},
765 fontsize=2cm,grayness=0.9]{draftmark}
769 % \subsubsection{\pkg{geometry}}
771 % Setup page margins with the
772 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/geometry/}{\pkg{geometry}}
773 % package. From the Manual p5:
775 % \item The left margin must be at least 1 1/2'' (1.5 inches)
776 % throughout the document.
777 % \item All other margins (top, bottom, and right) must be at least 1''.
779 % And from the Manual 1.5 p4, Print Version:
781 % The paper size must be 8 1/2'' x 11''.
784 \RequirePackage[letterpaper,margin=1in,bindingoffset=0.5in]{geometry}
786 % Note that we include the \pkg{geometry} package after loading \cls{book} to
787 % override the margin manipulation that takes place in \cls{book}.
789 % \subsubsection{\pkg{fancyhdr}}
791 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/fancyhdr/}{\pkg{fancyhdr}}
792 % for correct page numbering and fancy headers.
794 \RequirePackage{fancyhdr}
796 % Setup the standard |fancy| format. |\leftmark| is the higher level
797 % mark, see |\chaptermark| below. |\rightmark| is the lower level
798 % mark, see |\sectionmark| below.
802 \fancyhead[LE,RO]{\slshape\rightmark}
803 \fancyhead[LO,RE]{\slshape\leftmark}
804 \fancyfoot[LE,RO]{\thepage}
806 % Override the |plain| format (for chapter pages, etc.).
808 \fancypagestyle{plain}{
810 \renewcommand{\headrulewidth}{0pt}
811 \fancyfoot[LE,RO]{\thepage}
816 % \subsubsection{\pkg{ifpdf}}
818 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/}{\pkg{ifpdf}}
819 % for detecting PDF drivers. We use it to configure \pkg{hyperref} below.
821 \RequirePackage{ifpdf}
824 % \subsubsection{\pkg{hyperref}}
826 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref/}{\pkg{hyperref}}
827 % for hyperlinks. Not strictly necessary, but I can't imagine a
830 \RequirePackage[final]{hyperref}
832 % Nobody likes the default colored boxes. Color the text itself.
834 \hypersetup{colorlinks}
836 % If we're writing a PDF, we set the |pdfauthor|, etc.\ arguments in
837 % |\author|, etc.\ to avoid using |\AtBeginDocument| or some such.
840 % \subsection{\LaTeX\ overrides and extensions}
842 % Here we change the behavior of a bunch of macros and environments
843 % from \file{latex.ltx} (generated by \file{format.ins} in
844 % \href{http://www.ctan.org/tex-archive/macros/latex/base/}{\pkg{base}}).
845 % We'll copy in their original notes along with their code, following
846 % the relevant documentation an order given in \file{format.ins} and
847 % the associated \file{*.dtx} files.
850 % \subsubsection{\file{ltsect.dtx}}
852 % \begin{macro}{\title}
853 % |\title| for use in |\maketitle|. If not given |\maketitle| will
854 % produce a warning message (\file{ltsect.dtx}, L117).
856 % We extend |\title| to set \pkg{hyperref}'s |pdftitle|.
857 % (\file{ltsect.dtx}, L117).
860 \renewcommand{\title}[1]{
862 \ifpdf \hypersetup{pdftitle={\@title}} \fi
867 % \begin{macro}{\author}
868 % |\author| for use in |\maketitle|. If not given |\maketitle| will
869 % produce a warning message (\file{ltsect.dtx}, L129).
871 % We extend |\author| to set \pkg{hyperref}'s |pdfauthor|.
872 % (\file{ltsect.dtx}, L129).
874 \let\DUT@author\author
875 \renewcommand{\author}[1]{
877 \ifpdf \hypersetup{pdfauthor={\@author}} \fi
882 % In a similar vein, we some additional meta-info macros.
884 % \begin{macro}{\defmonth}
885 % \begin{macro}{\@defmonth}
886 % |\defmonth| (defense month) for use in |\maketitle|. If not given
887 % |\maketitle| will produce an error message.
889 \def\defmonth#1{\gdef\def@month{#1}}
890 \def\def@month{\@latex@error{No \noexpand\defmonth given}\@ehc}
895 % \begin{macro}{\defyear}
896 % \begin{macro}{\@defyear}
897 % |\defyear| (defense year) for use in |\maketitle|. If not given
898 % |\maketitle| will produce an error message.
900 \def\defyear#1{\gdef\def@year{#1}}
901 \def\def@year{\@latex@error{No \noexpand\defyear given}\@ehc}
906 % \begin{macro}{\degree}
907 % \begin{macro}{\@degree}
908 % |\degree| for use in |\maketitle|. If not given |\maketitle| will
909 % produce an error message.
911 \def\degree#1{\gdef\@degree{#1}
912 \ifpdf \hypersetup{pdfsubject={\@degree}} \fi}
913 \def\@degree{\@latex@error{No \noexpand\degree given}\@ehc}
918 % \begin{macro}{\copyrighttext}
919 % \begin{macro}{\@copyrighttext}
920 % |\copyrighttext| for use in |\makecopyright|. There are a number of
921 % blurbs predefined in Section \ref{sec:implement-copyright}.
923 \def\copyrighttext#1{\gdef\@copyrighttext{#1}}
924 \def\@copyrighttext{All Rights Reserved.}
929 % \begin{macro}{\advisor}
930 % \begin{macro}{\@advisor}
931 % |\advisor| for use in |\maketitle|. If not given |\maketitle| will
932 % produce an error message. We get a bit fancier here to support
935 \newcounter{advisors}
936 \setcounter{advisors}{0}
937 \newcommand\advisor[1]{%
940 % If |#1| is |\empty|, this call is a no-op.
945 % Save the advisors to |\@advisor@a|, |\@advisor@b|, \ldots.
946 % |\alph{|\Lcount{COUNTER}|}| (\file{ltcounts.dtx}, L319) prints the
947 % value of \Lcount{COUNTER} as a lowercase letter: $1 =$~a, $2 =$~
950 \stepcounter{advisors}
951 \expandafter\gdef\csname @advisor@\alph{advisors}\endcsname{#1}
953 \newcommand\@advisor{%
955 \@latex@error{No \noexpand\advisor given}\@ehc%
958 % Start a group so \Lcount{advisor@loop} is released afterwards to
962 \newcounter{advisor@loop}%
963 \setcounter{advisor@loop}{1}%
965 % Print the first advisor.
967 \csname @advisor@\alph{advisor@loop}\endcsname\relax%
969 % For any remaining advisors\ldots
971 \loop\ifnum\c@advisor@loop<\c@advisors%
972 \stepcounter{advisor@loop}%
974 % Print the connecting text.
976 \ifnum\c@advisor@loop=\c@advisors%
979 % The next advisor if the last of two.
984 % The next advisor if the last of many.
990 % The next advisor is not the last.
995 % Print the advisor's name.
997 \csname @advisor@\alph{advisor@loop}\endcsname\relax%
1007 % `\cs{AddContentsLine}\marg{table}\marg{type}\marg{notcap}\marg{entry}'
1009 % \begin{macro}{\AddContentsLine}
1010 % Define a version of |\addcontentsline| that capitalizes \meta{entry}.
1011 % \meta{notcap} allows for |\numberline| bits, etc.
1013 \newcommand{\AddContentsLine}{\@ifstar
1014 \@AddContentsLine\@sAddContentsLine}
1015 \newcommand{\@AddContentsLine}[4]{%
1016 % \addcontentsline{#1}{#2}{#3#4}}
1017 \addcontentsline{#1}{#2}{#3\uppercase{#4}}}
1018 \newcommand{\@sAddContentsLine}[4]{%
1019 % \addcontentsline{#1}{#2}{#3#4}}
1020 \addcontentsline{#1}{#2}{#3\uppercase{#4}}}
1021 % \addcontentsline{#1}{#2}{#3\MakeUppercase{#4}}}
1026 % \begin{macro}{\@dottedtocline}
1027 % |\@dottedtocline{|\meta{level}|}{|\meta{indent}|}{|\meta{numwidth}%
1028 % |}{|\meta{title}|}{|\meta{page}|}|:
1029 % Macro to produce a table of contents line with the following
1031 % \begin{description}
1032 % \item[level] If \meta{level} $>$ |\c@tocdepth|, then no line
1034 % \item[indent] Total indentation from the left margin.
1035 % \item[numwidth] Width of box for number if the \meta{title} has a
1036 % |\numberline| command. This is also the amount of extra
1037 % indentation added to second and later lines of a
1038 % multiple line entry.
1039 % \item[title] Contents of entry.
1040 % \item[page] Page number.
1043 % Uses the following parameters, which must be set by the document
1044 % style. They should be defined with |\def|'s.
1045 % \begin{description}
1046 % \item[|\@pnumwidth|] Width of box in which page number is set.
1047 % \item[|\@tocrmarg|] Right margin indentation for all but last line
1048 % of multiple-line entries.
1049 % \item[|\@dotsep|] Separation between dots, in mu units.
1050 % Should be |\def|'d to a number like 2 or 1.7
1053 % We just add |spacing| environments to \cls{book}'s version.
1054 % (\file{ltsect.dtx}, L804).
1056 \def\@dottedtocline#1#2#3#4#5{%
1057 \begin{spacing}{\@ssp}
1058 \ifnum #1>\c@tocdepth \else
1059 \vskip \z@ \@plus.2\p@
1060 {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
1061 \parindent #2\relax\@afterindenttrue
1062 \interlinepenalty\@M
1065 \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
1067 \leaders\hbox{$\m@th
1068 \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
1071 \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
1073 \blanklines{\@cont@sep}
1081 % Fix |\@ssect| and |\@sect| from \file{latex.ltx} to give single
1084 % \begin{macro}{\@sect}
1085 % Pseudocode for the |\@sect| command
1087 % \@sect{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}[ARG1]{ARG2}
1090 % IF LEVEL > \c@secnumdepth
1091 % THEN \@svsec :=L null
1092 % ELSE \refstepcounter{NAME}
1093 % \@svsec :=L BEGIN \@seccntformat{#1}\relax END
1098 % \@hangfrom{\hskip INDENT\@svsec}
1099 % {\interlinepenalty 10000 ARG2\par}
1102 % \addcontentsline{toc}{NAME}
1103 % { IF LEVEL > \c@secnumdepth
1104 % ELSE \protect\numberline{\theNAME} FI
1106 % ELSE \@svsechd == BEGIN STYLE
1107 % \hskip INDENT\@svsec
1110 % \addcontentsline{toc}{NAME}
1111 % { IF LEVEL > \c@secnumdepth
1113 % \protect\numberline{\theNAME}
1118 % \@xsect{AFTERSKIP}
1121 % (\file{ltsect.dtx}, L295).
1123 \def\@sect#1#2#3#4#5#6[#7]#8{%
1124 \ifnum #2>\c@secnumdepth
1127 \refstepcounter{#1}%
1128 \protected@edef\@svsec{\@seccntformat{#1}\relax}%
1130 \@tempskipa #5\relax
1131 \ifdim \@tempskipa>\z@
1134 % Here we deviate from \file{ltsect.dtx} to ensure single spacing for
1135 % the section title.
1137 \begin{spacing}{\@ssp}
1139 \@hangfrom{\hskip #3\relax\@svsec}%
1140 \interlinepenalty \@M #8\@@par}%
1143 \csname #1mark\endcsname{#7}%
1144 \addcontentsline{toc}{#1}{%
1145 \ifnum #2>\c@secnumdepth \else
1146 \protect\numberline{\csname the#1\endcsname}%
1153 \csname #1mark\endcsname{#7}%
1154 \addcontentsline{toc}{#1}{%
1155 \ifnum #2>\c@secnumdepth \else
1156 \protect\numberline{\csname the#1\endcsname}%
1164 % \begin{macro}{\@ssect}
1165 % Pseudocode for the |\@ssect| command
1167 % \@ssect{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}{ARG} ==
1172 % \@hangfrom{\hskip INDENT}{\interlinepenalty 10000 ARG\par}
1174 % ELSE \@svsechd == BEGIN STYLE
1179 % \@xsect{AFTERSKIP}
1182 % (\file{ltsect.dtx}, L521).
1184 \def\@ssect#1#2#3#4#5{%
1185 \@tempskipa #3\relax
1186 \ifdim \@tempskipa>\z@
1189 % Here we deviate from \file{ltsect.dtx} to ensure single spacing for
1190 % the section title.
1192 \begin{spacing}{\@ssp}
1194 \@hangfrom{\hskip #1}%
1195 \interlinepenalty \@M #5\@@par}%
1199 \def\@svsechd{#4{\hskip #1\relax #5}}%
1206 % \subsubsection{\file{ltbibl.dtx}}
1208 % \DescribeMacro{\bibliography}
1209 % \DescribeEnv{thebibliography}
1210 % A bibliography is created by the |thebibliography| environment, which
1211 % generates a title such as ``Bibliography'', and a list of entries.
1212 % The \BibTeX\ program will create a file containing such an
1213 % environment, which will be read in by the |\bibliography| command.
1214 % With \BibTeX, the following commands will be used.
1216 % The document class must define the thebibliography environment. This
1217 % environment has a single argument, which is the widest bibliography
1218 % label-- e.g., if the [Knuth67] is the widest entry, then this
1219 % argument will be Knuth67. The |\thebibliography| command must begin
1220 % a list environment, which the |\endthebibliography| command ends.
1222 % \begin{macro}{\bibliography}
1223 % |\bibliography|\marg{file1,file2,\ldots,filen} : specifies
1224 % the bibdata files. Writes a |\bibdata| entry on the |.aux| file
1225 % and tries to read in |mainfile.bbl|.
1227 % We don't need to change it, but it explains why we need to override
1228 % |thebibliography| even when we don't use it directly.
1229 % (\file{ltbibl.dtx}, L284).
1231 %\def\bibliography#1{%
1233 % \immediate\write\@auxout{\string\bibdata{#1}}%
1235 % \@input@{\jobname.bbl}
1241 % \subsubsection{\file{ltoutput.dtx}}
1243 % \begin{macro}{\DUT@clearpage}
1244 % \begin{macro}{\DUT@cleardoublepage}
1245 % Versions of |\clear*page| that only work when |\if@final| is true
1246 % (\file{ltoutput.dtx}, L877 and L904).
1248 \newcommand\DUT@clearpage{\if@final \clearpage \fi}
1249 \newcommand\DUT@cleardoublepage{\if@final \cleardoublepage \fi}
1254 % \begin{macro}{\blankpage}
1255 % Add a useful extension to insert a blank page without numbering.
1256 % In draft mode, this macro is a no-op.
1258 \newcommand\blankpage{%
1261 \thispagestyle{empty}
1270 % `\cs{set@lines@length}\marg{length}\marg{N}'
1272 % \begin{macro}{\set@lines@length}
1273 % Many specifications in the Manual refer to ``\meta{N} blank lines''.
1274 % |\set@lines@length| allows you to set a length to a given number of
1275 % lines, protecting against external |spacing| environments. It
1276 % requires \pkg{calc} for the multiplication.
1278 \let\DUT@baselineskip\baselineskip
1279 \newcommand{\set@lines@length}[2]{%
1280 \setlength{#1}{\DUT@baselineskip * {#2}}
1286 % `\cs{blanklines}\marg{N}'
1288 % \begin{macro}{\blanklines}
1289 % Insert \meta{N} blank lines.
1291 \newlength\DUT@blanklines@length
1292 \newcommand{\blanklines}[1]{%
1294 \set@lines@length{\DUT@blanklines@length}{#1}%
1295 \vspace{\DUT@blanklines@length}
1302 % \subsection{\cls{book} overrides and extensions}
1304 % Here we change the behavior of a bunch of macros and environments from
1305 % \cls{book} (generated by \file{classes.ins} from \file{classes.dtx}) in
1306 % \href{http://www.ctan.org/tex-archive/macros/latex/base/}{\pkg{base}}).
1307 % We'll copy in their original notes along with their code, following
1308 % the relevant documentation an order given in \file{classes.dtx}.
1311 % \subsubsection{Floats on a text page}
1313 % \begin{macro}{\floatsep}
1314 % \begin{macro}{\textfloatsep}
1315 % \begin{macro}{\intextsep}
1316 % When a floating object is placed on a page with text, these
1317 % parameters control the separation between the float and the other
1318 % objects on the page.
1320 % |\floatsep| is the space between adjacent floats that are moved
1321 % to the top or bottom of the text page.
1323 % |\textfloatsep| is the space between the main text and floats
1324 % at the top or bottom of the page.
1326 % |\intextsep| is the space between in-text floats and the text.
1328 % From the Manual 2.3 p6, ``Tables and Figures''
1330 % Insert at least 3 single-spaced lines of space above table
1331 % captions and figures and below figure captions, tables, and other
1334 % (\file{classes.dtx}, L1426)
1336 \set@lines@length{\floatsep}{\@ssp}
1337 \set@lines@length{\textfloatsep}{\@tsp}
1338 \set@lines@length{\intextsep}{\@tsp}
1345 % \subsubsection{The title}
1347 % \begin{macro}{\maketitle}
1348 % Automate the creation of the title page.
1349 % From Manual 3.1 p8, ``Title Page'', and the example on p16.
1351 % \item This page is counted but not numbered (it counts as page i,
1352 % but should not have a page number). TODO: How is this implemented?
1354 % Our definition simplifies \cls{book}'s by ignoring footnotes.
1355 % (\file{classes.dtx}, L1796)
1357 \renewcommand\maketitle{
1360 % Add some bookmarks if we're using pdf\LaTeX. The |frontmatter|
1361 % bookmark is set at the \emph{part} level (-1) to hold all bookmarks
1362 % from the |preamble| environment, since those entries are all
1366 \pdfbookmark[-1]{Frontmatter}{frontmatter}
1367 \pdfbookmark[0]{Title Page}{title}
1370 % Add some stretchy space to center the title vertically if we're not
1373 \if@final \vspace*{\fill} \fi
1375 % Here is the title text itself.
1378 \begin{spacing}{\@tsp}
1381 \begin{spacing}{\@dsp}
1383 Submitted to the Faculty\\
1388 in partial fulfillment of the\\
1389 requirements for the degree\\
1392 \def@month\ \def@year
1396 % Some more stretchy space for the bottom if we're not in draft mode.
1399 % Add some stretchy space to center the title vertically if we're not
1402 \if@final \vspace*{\fill} \fi
1405 % And that's it. We reset the footnote counter for the rest of the
1406 % document and save space by freeing the memory associated with the
1407 % |\maketitle| and |\and| macros (by setting them equal to |\relax|).
1409 \setcounter{footnote}{0}%
1410 \global\let\maketitle\relax
1411 \global\let\and\relax
1417 % \subsubsection{Copyright pages}
1418 % \label{sec:implement-copyright}
1420 % \begin{macro}{\makecopyright}
1421 % The Manual allows for the selection of different copyrights, so we
1422 % define a base macro that generates a proper copyright page
1423 % containing |\@copyrighttext|, which the user can set with
1425 % From Manual 3.2 p9, ``Copyright Page''.
1427 % \item Include a copyright page with the following information: a
1428 % copyright notice, full legal name of author, and date of
1429 % publication on file.
1430 % \item This page is neither counted nor numbered.
1432 % In final mode, we start off on a new page and center the blurb.
1433 % In draft mode, we dive right into the text.
1435 \newcommand\makecopyright{%
1438 % If we're using pdf\LaTeX, add a bookmark.
1440 \ifpdf \pdfbookmark[0]{Copyright Page}{copyright} \fi
1441 \if@final \vspace*{\fill} \fi
1443 \copyright~Copyright \def@year\\
1444 \@author. \@copyrighttext
1446 \if@final \vspace*{\fill} \else \blanklines{2} \fi
1448 % Turn off page numbering for this page.
1450 \thispagestyle{empty}
1455 % \begin{macro}{\copyrighttextCC}
1456 % The Creative Commons license.
1458 \newcommand\copyrighttextCC{
1460 This work is licensed under the terms of the Creative Commons
1461 Attribution-ShareAlike license. The license is available at \\
1462 \url{http://creativecommons.org/licenses/by-sa/2.0/}.
1469 % \subsubsection{Mark commands}
1471 % Default initializations of |\...mark| commands. These commands
1472 % are used in the definition of the page styles.
1474 % \begin{macro}{\chaptermark}
1475 % Setup colon rather than period separated chapter marks.
1476 % (\file{classes.dtx}, L2053)
1478 \renewcommand\chaptermark[1]{%
1479 \markboth {\MakeUppercase{%
1480 \ifnum \c@secnumdepth >\m@ne
1482 \@chapapp\ \thechapter: \ %
1489 % \begin{macro}{\chaptermark}
1490 % Setup space rather than period separated section marks.
1491 % (\file{classes.dtx}, L2054)
1493 \renewcommand{\sectionmark}[1]{%
1494 \markright {\MakeUppercase{%
1495 \ifnum \c@secnumdepth >\z@
1503 % \subsubsection{Front Matter, Main Matter, and Back Matter}
1505 % A book contains these three (logical) sections. The switch
1506 % |\@mainmatter| is true iff we are processing Main Matter. When this
1507 % switch is false, the |\chapter| command does not print chapter
1510 % \begin{macro}{\mainmatter}
1511 % This command clears the page (in final mode), starts arabic page
1512 % numbering and turns on chapter numbering. Since this restarts the
1513 % page numbering from 1, it should also ensure that a recto page is
1516 % We replace \cls{book}'s |\clear*page| calls with |\DUT@clearpage| calls.
1517 % (\file{classes.dtx}, L2211)
1519 \renewcommand\mainmatter{%
1520 \DUT@cleardoublepage
1522 \pagenumbering{arabic}}
1527 % \subsubsection{Parts}
1529 % \begin{macro}{\part}
1530 % The command to start a new part of our document.
1532 % We start a new (righthand) page and use the \pstyle{plain}
1533 % pagestyle, replacing \cls{book}'s |\clear*page| calls with
1534 % |\DUT@clearpage| calls and dropping twopage code.
1535 % (\file{classes.dtx}, L2249)
1537 \renewcommand\part{%
1539 \DUT@cleardoublepage
1543 \thispagestyle{plain}%
1546 % Add some stretchy space for vertical centering if we're in final mode.
1548 \if@final \null\vfil \fi
1550 % Here we use |\secdef| to indicate which commands to use to make
1551 % the actual heading.
1553 \secdef\@part\@spart}
1557 % \begin{macro}{\@part}
1558 % This macro does the actual formatting of the title of the part. We
1559 % replace \cls{book}'s |\Huge| with |\large|, and make use of
1560 % |\numberline| for consistent spacing.
1562 % When \Lcount{secnumdepth} is larger than $-2$, we have a numbered
1563 % part, otherwise it is unnumbered.
1564 % (\file{classes.dtx}, L2310)
1567 \ifnum \c@secnumdepth >-2\relax
1568 \refstepcounter{part}%
1569 \AddContentsLine{toc}{part}%
1570 {\protect\numberline{\thepart}}{#1}%
1572 \AddContentsLine{toc}{part}{}{#1}%
1575 % We empty the mark registers and center the title on the page.
1576 % Also we prevent breaking between lines and reset the font.
1580 \interlinepenalty \@M
1583 % When this is a numbered part we have to print the number.
1585 \ifnum \c@secnumdepth >-2\relax
1586 \large\bfseries \partname\nobreakspace\thepart
1589 % We leave some space before we print the title and leave the
1590 % finishing up to |\@endpart|.
1594 \large \bfseries #2\par}%
1599 % \begin{macro}{\@spart}
1600 % This macro does the actual formatting of the title of the part
1601 % when the star form of the user command was used. In this case we
1602 % \emph{never} print a number. Otherwise the formatting is the
1604 % (\file{classes.dtx}, L2402)
1608 \interlinepenalty \@M
1610 \large \bfseries #1\par}%
1615 % \begin{macro}{\@endpart}
1616 % This macro finishes the part page, for both |\@part| and |\@spart|.
1617 % We drop \cls{book}'s twoside handling.
1618 % If |\if@final| is true, we fill the current page.
1619 % (\file{classes.dtx}, L2435)
1622 \if@final \vfil\newpage \fi
1624 % Then, when we are in twosided mode and the chapters are supposed to
1625 % be on the right hand sides, we produce a completely blank page. We
1626 % don't need to check |\if@final| here, because \Lopt{draftspace} set
1627 % |\@openrighttrue|.
1632 \thispagestyle{empty}%
1640 % \subsubsection{Chapters}
1641 % \label{sec:implement-chapters}
1643 % \begin{macro}{\chapter}
1644 % \cls{book} always starts a chapter on a new page, but we don't want
1645 % to do that if we're in draft mode.
1646 % (\file{classes.dtx}, L2472).
1648 \renewcommand\chapter{%
1649 \if@openright\DUT@cleardoublepage\else\DUT@clearpage\fi
1650 \thispagestyle{plain}%
1652 % Then we prevent floats from appearing at the top of this page
1653 % because it looks weird to see a floating object above a chapter
1658 % Then we suppress the indentation of the first paragraph by
1659 % setting the switch |\@afterindent| to false. We use |\secdef|
1660 % to specify the macros to use for actually setting the chapter
1664 \secdef\@chapter\@schapter}
1668 % \begin{macro}{\@chapter}
1669 % This macro is called when we have a numbered chapter. When
1670 % \Lcount{secnumdepth} is larger than $-1$ and |\@mainmatter| is true,
1671 % we display the chapter number.
1672 % We drop \cls{book}'s \Lopt{twocolumn} code.
1673 % (\file{classes.dtx}, L2496).
1675 \def\@chapter[#1]#2{
1676 \ifnum \c@secnumdepth >\m@ne
1678 \refstepcounter{chapter}%
1680 % Inform the user that a new chapter is about to be typeset by writing
1681 % a message to the terminal.
1683 \typeout{\@chapapp\space\thechapter.}%
1686 % We're in the appendix (when |\if@mainmatter| and
1687 % |\if@appendix| are both true), add a TOC line like
1689 % Appendix A: Chapter Title
1691 % |\thechapter| (defined in \cls{book}) is the text representation of
1692 % the chapter number (e.g.\ |1| or, for an appendix, |A|).
1693 % |\@chapapp{}| (also defined in \cls{book}) was redefined in
1694 % |\appendix| (Sec. \ref{sec:implement-appendix}) as |\appendixname|.
1696 \AddContentsLine{toc}{appendix}%
1697 {\protect\numberline{\@chapapp{} \thechapter:}}{#1}%
1700 % We're in the pre-appendix mainmatter, so add a TOC line like
1705 \AddContentsLine{toc}{chapter}%
1706 {\protect\numberline{\thechapter}}{#1}%
1710 % We're in the pre-mainmatter, so add a TOC line like
1715 \AddContentsLine{toc}{chapter}{}{#1}%
1718 \AddContentsLine{toc}{chapter}{}{#1}%
1721 % After having written an entry to the table of contents we store
1722 % the (alternative) title of this chapter with |\chaptermark| and
1723 % add some white space to the lists of figures and tables.
1726 \addtocontents{lof}{\protect\addvspace{10\p@}}%
1727 \addtocontents{lot}{\protect\addvspace{10\p@}}%
1729 % Then we call upon |\@makechapterhead| to format the actual chapter
1730 % title. |\@afterheading| which takes care of suppressing the
1733 \@makechapterhead{#2}%
1738 % \begin{macro}{\@makechapterhead}
1739 % The |\@chapter| macro uses |\@makechapterhead|\meta{text} to format
1740 % the heading of the chapter.
1741 % From the Manual 3.11 p11.
1743 % Chapter headings must be bold and centered.
1744 % The chapter number and title must be on the same line, separated
1745 % by a colon or period, as shown in the example below:
1747 % CHAPTER 1: INTRODUCTION
1749 % Headings must not be larger than 12 points.
1750 % Headings must be single spaced.
1752 % \cls{book} sets |\@chapapp| and |\thechapter| (e.g.\ ``Chapter 5'')
1753 % on a line above the chapter title, but that doesn't match the
1754 % Manual's specification.
1756 % We begin by leaving some white space. The we open a group in which
1757 % we have a paragraph indent of 0pt, and in which we have the text set
1758 % ragged right. We also reset the font.
1759 % (\file{classes.dtx}, L2540).
1761 \def\@makechapterhead#1{%
1763 {\parindent \z@ \raggedright \normalfont
1765 % Ensure single spacing.
1767 \begin{spacing}{\@ssp}
1769 % Prevent a pagebreak from occuring in the middle of or after the title.
1771 \interlinepenalty\@M
1773 % Check whether the number of the chapter has to be printed.
1775 \ifnum \c@secnumdepth >\m@ne
1777 % Check whether there \emph{is} a number to be printed.
1781 % Setup a ``Chapter \#: Title'' heading.
1783 \center \large \bfseries \@chapapp{} \thechapter: #1\par\nobreak
1786 % Setup a ``Title'' heading.
1788 \center \large \bfseries #1\par\nobreak
1791 \center \large \bfseries #1\par\nobreak
1795 % Put a little space before the chapter body.
1803 % \begin{macro}{\@schapter}
1804 % We don't have to worry about |\@schapter|, since it is very simple.
1805 % In onecolumn mode it's just
1806 % (\file{classes.dtx}, L2582).
1808 %\def\@schapter#1{\@makeschapterhead{#1}%
1813 % \begin{macro}{\@makeschapterhead}
1814 % The macro above uses |\@makeschapterhead|\meta{text} to format
1815 % the heading of the chapter. It is similar to |\@makechapterhead|
1816 % except that it never has to print a chapter number.
1817 % (\file{classes.dtx}, L2595).
1819 \def\@makeschapterhead#1{%
1821 {\parindent \z@ \raggedright
1823 \interlinepenalty\@M
1824 \begin{spacing}{\@ssp}
1825 \center \large \bfseries #1\par\nobreak
1834 % \begin{macro}{\toclevel@appendix}
1835 % We've added a new TOC entry type with the
1837 % \AddContentsLine{toc}{appendix}{...}{...}
1839 % calls above, and \pkg{hyperref} needs to know what level they belong
1840 % to. Obviously they belong to the chapter level ($0$).
1842 \providecommand*{\toclevel@appendix}{0}
1847 % \subsubsection{Lower level headings}
1849 % \begin{macro}{\section}
1850 % Setup section headings in |\large| rather than \cls{book}'s
1852 % (\file{classes.dtx}, L2623).
1854 \renewcommand\section{%
1855 \@startsection {section}{1}{\z@}%
1856 {-3.5ex \@plus -1ex \@minus -.2ex}%
1858 {\normalfont\large\bfseries}}
1863 % \subsubsection{Defining new environments}
1865 % We don't override any of \cls{book}'s environments, but this is
1866 % where \file{classes.dtx} defines its environments (L2996), so we'll put
1869 % \begin{environment}{preamble}
1871 \newenvironment{preamble}{%
1874 \pagenumbering{roman}
1876 % From Manual 3.1 p8, ``Title Page''.
1880 % From Manual 3.2 p9, ``Copyright Page''.
1885 % From the Manual 3.9, p11:
1887 % Include a blank page (with no page number) before the first page
1888 % of text. The blank page is neither numbered nor counted.
1896 % \begin{environment}{dedications}
1897 % From the Manual 3.3 p9
1899 % \item The heading |Dedications| must appear at the top of the
1900 % page. The heading must be bold, centered, and without
1902 % \item This page is counted and numbered in lowercase Roman numerals.
1905 \newenvironment{dedications}{%
1909 \pdfbookmark[0]{\dedicationsname}{dedications}
1911 \chapter*{\dedicationsname}
1912 \begin{spacing}{\@dsp}
1919 % \begin{environment}{acknowledgments}
1920 % From the Manual 3.4 p9
1922 % \item The heading |Acknowledgments| must appear at the top of the
1923 % page. The heading must be bold, centered, and without
1925 % \item This page is counted and numbered in lowercase Roman numerals.
1928 \newenvironment{acknowledgments}{%
1932 \pdfbookmark[0]{\acknowledgmentsname}{acknowledgments}
1934 \chapter*{\acknowledgmentsname}
1935 \begin{spacing}{\@dsp}
1942 % \begin{environment}{abstract}
1944 \newenvironment{abstract}{%
1946 \thispagestyle{plain}%
1949 \AddContentsLine*{toc}{chapter}{}{\abstractname}
1952 % From the Manual 3.9 p10 ``The following heading must be centered at
1953 % the top of the page'':
1956 % Full Title of Dissertation or Thesis \\
1957 % Author's Name as it appears on the Dissertation or Thesis
1959 % In the example on p20, they list the advisor's name after the
1960 % author, but that is not specified in the text on p10.
1962 % On p20, ``These pages are numbered using lowercase Roman numerals.
1963 % Note that the heading is single spaced, but the abstract is double
1966 \begin{spacing}{\@ssp}
1968 {\large \bfseries \abstractname \par}
1969 %% \@endparpenalty\@M
1976 \begin{spacing}{\@dsp}
1986 % \begin{environment}{thesis}
1987 % From the Manual 3.10 p11
1989 % \item The pages are counted and numbered in Arabic numerals.
1992 \newenvironment{thesis}{%
1994 \begin{spacing}{\@dsp}
2000 \pdfbookmark[-1]{Backmatter}{backmatter}
2006 % \begin{environment}{vita}
2007 % From the Manual 3.15 p13
2009 % \item The heading |Vita| must appear at the top of the page. The
2010 % heading must be bold, centered, and without punctuation.
2011 % \item The Vita text should begin four spaces below the heading.
2012 % \item List the Vita separately in the Table of Contents.
2013 % \item The page is counted and numbered in Arabic numerals.
2016 \newenvironment{vita}{%
2019 \AddContentsLine*{toc}{chapter}{}{\vitaname}
2020 \chapter*{\vitaname}
2022 \begin{spacing}{\@dsp}
2030 % \subsubsection{Titlepage}
2032 % \begin{environment}{titlepage}
2033 % In the normal environments, the titlepage environment does nothing
2034 % but start and end a page, and inhibit page numbers. We inhibit the
2035 % paging in draft mode, since it seems silly to waste a whole page on
2036 % the title. We also drop the \Lopt{twocolumn} code.
2037 % (\file{classes.dtx}, L3111)
2039 \renewenvironment{titlepage}{\thispagestyle{empty}%
2040 \setcounter{page}\z@}%
2041 {\if@final \newpage \else \blanklines{2} \fi}
2046 % \subsubsection{Appendix}
2048 % \begin{macro}{\appendix}
2049 % The |\appendix| command is not really an environment, it is a
2050 % macro that makes some changes in the way things are done.
2052 % In the article document class the |\appendix| command must do the
2055 % \item reset the section and subsection counters to zero,
2056 % \item redefine |\thesection| to produce alphabetic appendix
2057 % numbers. This redefinition is done globally to ensure that it
2058 % survives even if |\appendix| is issued within an environment such
2059 % as \texttt{multicols}.
2062 % In addition to \cls{book}'s (or \pkg{hyperref}'s) activity, we add
2063 % |\@appendixtrue|. This gets |\if@appendix| working in our
2064 % |\chapter| definition (Sec.~\ref{sec:implement-chapters}).
2065 % (\file{classes.dtx}, L3177)
2067 \let\DUT@appendix\appendix
2068 \renewcommand\appendix{%
2072 % We also turn on double spacing by default, since we're no longer
2073 % wrapped in the |thesis| environment.
2081 % \subsubsection{Table}
2082 % \label{sec:implement-tables}
2084 % \begin{environment}{table}
2085 % \begin{environment}{table*}
2086 % To help symmetrize the spacing around tables and figures, we set
2087 % |\if@table| in the |table| environments. The remainder of the
2088 % code comes in Section \ref{sec:implement-captions}.
2089 % (\file{classes.dtx}, L3491)
2091 \newif\if@table \@tablefalse
2092 \renewenvironment{table}
2093 {\@tabletrue\@float{table}}
2094 {\end@float\@tablefalse}
2095 \renewenvironment{table*}
2096 {\@tabletrue\@dblfloat{table}}
2097 {\end@dblfloat\@tablefalse}
2103 % \subsubsection{Captions}
2104 % \label{sec:implement-captions}
2106 % \begin{macro}{\@makecaption}
2107 % The |\caption| command calls |\@makecaption| to format the
2108 % caption of floating objects. It gets two arguments,
2109 % \meta{number}, the number of the floating object and \meta{text},
2110 % the text of the caption. Usually \meta{number} contains a string
2111 % such as ``Figure 3.2''. The macro can assume it is called inside a
2112 % |\parbox| of right width, with |\normalsize|.
2114 % We override \cls{book}'s |\@makecaption|, adding two |\if@table|
2115 % conditionals, which swap |\abovecaptionskip| and |\belowcaptionskip|
2116 % for tables (where the caption is above the float body). With our
2117 % implementation, |\belowcaptionskip| \emph{always} gives the distance
2118 % between the caption and the text, and |\abovecaptionskip|
2119 % \emph{always} gives the distance between the caption and the float
2120 % body. See Section \ref{sec:implement-tables} for our |\if@table|
2123 % We also replace the caption lead-in |#1: #2| with
2124 % |\small{\bfseries#1:} #2|.
2125 % (\file{classes.dtx}, L3508)
2128 % Define a temporary length for swapping.
2130 \newlength\@tempcapskip
2132 % The definition of this macro is |\long| in order to allow more
2133 % then one paragraph in a caption.
2135 \long\def\@makecaption#1#2{%
2138 % Swap |\abovecaptionskip| and |\belowcaptionskip|.
2140 \@tempcapskip\abovecaptionskip
2141 \abovecaptionskip\belowcaptionskip
2142 \belowcaptionskip\@tempcapskip
2144 \vskip\abovecaptionskip
2146 % We want to see if the caption fits on one line on the page,
2147 % therefore we first typeset it in a temporary box.
2149 \sbox\@tempboxa{\small{\bfseries#1:} #2}%
2151 % We can the measure its width. It that is larger than the current
2152 % |\hsize| we typeset the caption as an ordinary paragraph.
2154 \ifdim \wd\@tempboxa >\hsize
2155 {\small{\bfseries#1:} #2\par}
2158 % If the caption fits, we center it. Because this uses an |\hbox|
2159 % directly in vertical mode, it does not execute the |\everypar|
2160 % tokens; the only thing that could be needed here is resetting the
2161 % `minipage flag' so we do this explicitly.
2163 \global \@minipagefalse
2164 \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
2166 \vskip\belowcaptionskip
2168 % Restore |\abovecaptionskip| and |\belowcaptionskip|.
2171 \@tempcapskip\belowcaptionskip
2172 \belowcaptionskip\abovecaptionskip
2173 \abovecaptionskip\@tempcapskip
2179 % \begin{macro}{\abovecaptionskip}
2180 % \begin{macro}{\belowcaptionskip}
2181 % For \cls{book}, these lengths contain the amount of white space to
2182 % leave above and below the caption. However, because of our work
2183 % with |\@makecaption| (above), |\belowcaptionskip| \emph{always}
2184 % gives the distance between the caption and the text, and
2185 % |\abovecaptionskip| \emph{always} gives the distance between the
2186 % caption and the float.
2187 % (\file{classes.dtx}, L3516)
2189 \set@lines@length{\abovecaptionskip}{\@ssp}
2190 \set@lines@length{\belowcaptionskip}{\@tsp}
2196 % \subsubsection{Table of Contents}
2198 % \begin{macro}{\tableofcontents}
2199 % Automate the creation of the table of contents.
2200 % From Manual 3.5 p9, ``Table of Contents'', and the example on p17.
2202 % \item Do not list any sections that precede the
2203 % |Table of Contents| (e.g.\ |Dedications|, |Acknowledgments|). Do
2204 % not list the |Table of Contents| itself.
2205 % \item These pages are counted and numbered in lowercase Roman numerals.
2207 % We inhibit the paging in draft mode and drop the \Lopt{twocolumn} code.
2208 % (\file{classes.dtx}, L3728)
2210 \renewcommand\tableofcontents{%
2213 % If we're using pdf\LaTeX, add a bookmark.
2217 \pdfbookmark[0]{\contentsname}{tableofcontents}
2219 \chapter*{\contentsname}
2221 % Set the marks for \cls{fancyhdr}'s fancy header.
2223 \@mkboth{\MakeUppercase\contentsname}%
2224 {\MakeUppercase\contentsname}%
2230 % The command |\contentsline{|\meta{name}|}| expands to
2231 % |\l@|\meta{name}. So, to specify the table of contents, we must
2232 % define |\l@chapter|, |\l@section|, |\l@subsection|, ... ; to
2233 % specify the list of figures, we must define |\l@figure|; and so
2237 % `\cs{l@DUT@major}\marg{title}\marg{page}\marg{inset}'
2239 % \begin{macro}{\l@DUT@major}
2240 % Define a wrapper class for printing TOC entries for parts, chapters,
2241 % and appendicies, since they should all have the same formatting.
2242 % \meta{title} and \meta{page} are the first two arguments passed to
2243 % the outer |\l@*| macro. \meta{inset} gives the distance that the
2244 % title text is offset from the left margin (|\@tempdima|), with any
2245 % |\numberline| text (e.g.\ part or chapter numbers) being printed
2246 % flush on the left margin.
2248 \newif\if@bold@DUT@major
2249 \newif\if@dotted@DUT@major
2250 \newcommand\l@DUT@major[3]{%
2251 \begin{spacing}{\@ssp}
2252 \ifnum \c@tocdepth >\m@ne
2254 % Make sure that if a pagebreak should occur, it occurs \emph{before}
2257 \addpenalty{-\@highpenalty}%
2259 % The macro |\numberline| requires that the width of the box that
2260 % holds the part number is stored in \LaTeX's scratch register
2261 % |\@tempdima|. Therefore we initialize it there even though we may
2262 % not use |\numberline| internally.
2264 \setlength\@tempdima{#3}%
2267 % We set |\parindent| to 0pt and use |\rightskip| to leave
2268 % enough room for the pagenumbers.\footnote{^^A
2269 % We use \file{classes.dtx} suggested \cs{@tocrmarg} for
2270 % \cs{rightskip}, which they're delaying until \LaTeX3.}
2271 % To prevent overfull box messages the |\parfillskip| is set to a
2274 \parindent \z@ \rightskip \@tocrmarg \parfillskip -\rightskip
2276 % Leave vertical mode.
2280 % Switch to bold font if appropriate.
2286 % Manuever to place the part number flush left, with the part title
2287 % inset by |\@tempdima|.
2289 \advance\leftskip\@tempdima
2292 % Set the part title.
2296 % Draw a dotted line if appropriate.
2298 \if@dotted@DUT@major
2299 \leaders\hbox{$\m@th
2300 \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}
2303 % Wrap up with the page entry, set flush right.
2305 \hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
2307 % Prevent a pagebreak immediately after this entry.
2311 % Add a content-page-spacing blank after this entry.
2313 \blanklines{\@cont@sep}
2315 % Discourage page breaking.
2317 \penalty\@highpenalty
2325 % \begin{macro}{\l@part}
2326 % Override \cls{book}'s |\l@part|.
2327 % (\file{classes.dtx}, L3775)
2329 \renewcommand*\l@part[2]{%
2331 \@bold@DUT@majortrue
2333 \@bold@DUT@majorfalse
2336 \@dotted@DUT@majortrue
2338 \@dotted@DUT@majorfalse
2340 \l@DUT@major{#1}{#2}{3em}}
2344 % \begin{macro}{\l@chapter}
2345 % Override \cls{book}'s |\l@chapter|.
2346 % (\file{classes.dtx}, L3847)
2348 \renewcommand*\l@chapter[2]{%
2350 \@bold@DUT@majortrue
2352 \@bold@DUT@majorfalse
2355 \@dotted@DUT@majortrue
2357 \@dotted@DUT@majorfalse
2359 \l@DUT@major{#1}{#2}{1.5em}}
2364 % \begin{macro}{\l@appendix}
2365 % Add |\l@appendix|, which is identical to our |\l@chapter| except
2366 % for setting |\@tempdima| to 8em rather than 1.5em, because the word
2367 % |Appendix| takes up a bunch of space.
2369 \newcommand*\l@appendix[2]{%
2371 \@bold@DUT@majortrue
2373 \@bold@DUT@majorfalse
2376 \@dotted@DUT@majortrue
2378 \@dotted@DUT@majorfalse
2380 \l@DUT@major{#1}{#2}{8em}}
2385 % \subsubsection{List of figures}
2387 % \begin{macro}{\listoffigures}
2388 % This macro is used to request that \LaTeX\ produces a list of
2389 % figures. It is very similar to |\tableofcontents|.
2391 % From the Manual 3.7 p10
2393 % The heading |List of Figures| must appear at the top of the first
2395 % The heading must be bold, centered, and without punctuation.
2396 % List figure captions exactly as they appear below the figures in
2398 % Single space each entry, but double-space between entries.
2399 % Separate figure captions from page numbers with right-justified
2400 % tabs and dot leaders.
2401 % Do not use periods to separate captions and page numbers.
2402 % These pages are counted and numbered in lowercase Roman numerals.
2405 % We drop the \Lopt{twocolumn} code, add a line to the table of
2406 % contents, and adjust paging.
2407 % (\file{classes.dtx}, L3981).
2409 \renewcommand\listoffigures{%
2412 \AddContentsLine*{toc}{chapter}{}{\listfigurename}
2413 \chapter*{\listfigurename}%
2414 \@mkboth{\MakeUppercase\listfigurename}%
2415 {\MakeUppercase\listfigurename}%
2422 % \subsubsection{List of tables}
2424 % \begin{macro}{\listoftables}
2425 % This macro is used to request that \LaTeX\ produces a list of
2426 % tables. It is very similar to |\tableofcontents|.
2428 % From the Manual 3.6 p10
2430 % The heading |List of Tables| must appear at the top of the first
2432 % The heading must be bold, centered, and without punctuation.
2433 % List table captions exactly as they appear above the tables in
2435 % Single space each entry, but double-space between entries.
2436 % Separate table captions from page numbers with right-justified
2437 % tabs and dot leaders.
2438 % Do not use periods to separate captions and page numbers.
2439 % These pages are counted and numbered in lowercase Roman numerals.
2442 % We drop the \Lopt{twocolumn} code, add a line to the table of
2443 % contents, and adjust paging.
2444 % (\file{classes.dtx}, L4017).
2446 \renewcommand\listoftables{%
2449 \AddContentsLine*{toc}{chapter}{}{\listtablename}
2450 \chapter*{\listtablename}%
2451 \@mkboth{\MakeUppercase\listtablename}%
2452 {\MakeUppercase\listtablename}%
2459 % \subsubsection{Bibliography}
2461 % \begin{environment}{thebibliography}
2462 % The |thebibliography| environment is a list environment. To save the
2463 % use of an extra counter, it should use |enumiv| as the item
2465 % Instead of using |\item|, items in the bibliography are produced by
2466 % the following commands:\\
2467 % |\bibitem|\marg{name} : Produces a numbered entry cited as
2469 % |\bibitem|\oarg{label}\marg{name} : Produces an entry labeled by
2470 % \meta{Label} and cited by \meta{name}.
2472 % Override \cls{book}'s version, adding a line to the table of
2473 % contents. We split out the section-creation code into
2474 % |\bib@heading| for \pkg{natbib} compatibility.
2475 % (\file{classes.dtx}, L4063).
2477 \renewenvironment{thebibliography}[1]
2479 \list{\@biblabel{\@arabic\c@enumiv}}%
2480 {\settowidth\labelwidth{\@biblabel{#1}}%
2481 \leftmargin\labelwidth
2482 \advance\leftmargin\labelsep
2484 \usecounter{enumiv}%
2485 \let\p@enumiv\@empty
2486 \renewcommand\theenumiv{\@arabic\c@enumiv}}%
2488 % Because it's hard to do line breaks in bibliographies.
2492 % This is setting the normal (non-infinite) value of
2493 % |\clubpenalty| for the whole of this environment,
2494 % so we must reset its stored value also. (Why is there a |%| after
2495 % the second 4000 below?)
2498 \@clubpenalty \clubpenalty
2501 % Cause a `.' (period) not to produce an end-of-sentence space.
2505 % Warn if an empty `thebibliography' environment is found.
2508 {\@latex@warning{Empty `thebibliography' environment}}%
2513 % \begin{macro}{\bib@heading}
2514 % \pkg{natbib} messes with |thebibliography|. We setup |\bib@heading|
2515 % so we will still get our table of contents entry.
2517 \newcommand{\bib@heading}{%
2519 \AddContentsLine*{toc}{chapter}{}{\bibname}%
2520 \chapter*{\bibname}%
2521 \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
2526 % \subsubsection{Words}
2528 % Set the official names of the various sections encountered. Some of
2529 % these are not defined in \file{classes.dtx} but are close analogs of
2532 % \begin{macro}{\dedicationsname}
2533 % From the Manual 3.3 p9, ``The heading |Dedications| must appear at
2534 % the top of the page.''
2536 \newcommand\dedicationsname{Dedications}
2540 % \begin{macro}{\acknowledgmentsname}
2541 % From the Manual 3.4 p9, ``The heading |Acknowledgments| must appear
2542 % at the top of the page.''
2544 \newcommand\acknowledgmentsname{Acknowledgments}
2548 % \begin{macro}{\contentsname}
2549 % From the Manual 3.5 p9, ``The heading |Table of Contents| must
2550 % appear at the top of the page.'' (\file{classes.dtx}, L4331)
2552 \renewcommand\contentsname{Table of Contents}
2556 % \begin{macro}{\listtablename}
2557 % From the Manual 3.6 p10, ``The heading |List of Tables| must appear
2558 % at the top of the page.'' (\file{classes.dtx}, L4333)
2560 \renewcommand\listtablename{List of Tables}
2564 % \begin{macro}{\listfigurename}
2565 % From the Manual 3.7 p10, ``The heading |List of Figures| must appear
2566 % at the top of the page.'' (\file{classes.dtx}, L4332)
2568 \renewcommand\listfigurename{List of Figures}
2572 % \begin{macro}{\abstractname}
2573 % From the Manual 3.8 p10, ``The following heading must be centered at
2574 % the top of the first page: |Abstract|\ldots.''
2575 % (\file{classes.dtx}, L4367)
2577 \newcommand\abstractname{Abstract}
2581 % \begin{macro}{\bibname}
2582 % From the Manual 3.13 p12, ``The heading |Bibliography| (or
2583 % |List of References|) must appear at the top of first page.''
2584 % (\file{classes.dtx}, L4344)
2586 \renewcommand\bibname{Bibliography}
2590 % \begin{macro}{\appendixname}
2591 % From the Manual 3.14 p12, ``Number the appendicies consecutively
2592 % either alphabetically or numerically (|Appendix A|, |Appendix B|\ldots
2593 % or |Appendix 1|, |Appendix 2|\ldots).''
2594 % (\file{classes.dtx}, L4366)
2596 \renewcommand\appendixname{Appendix}
2600 % \begin{macro}{\vitaname}
2601 % From the Manual 3.15 p13, ``The heading |Vita| must appear at the
2602 % top of the page.''
2604 \newcommand\vitaname{Vita}
2609 % \subsection{Remaining details}
2612 % \subsubsection{Terminal blank page}
2614 % Add a terminal blank page (when |\if@final| is true)
2615 % From the Manual 3.16 p13
2617 % Include a blank page (with no page number) at the end of the
2618 % thesis or dissertation. The blank page is neither counted nor
2622 \AtEndDocument{\blankpage}
2631 % \subsection{Caveats and bugs}
2634 % \subsubsection{\pkg{hyperref} and uppercase}
2636 % In order to comply with the Manual's specifications,
2637 % part and chapter entries to the table of contents need
2638 % to be uppercased, which we do via |\AddContentsLine|.
2639 % This generates some whining from \pkg{hyperref}
2641 % Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding),
2642 % (hyperref) removing `\uppercase' on input line 72.
2644 % This is because |\uppercase| is parsed in \TeX's stomach, but
2645 % \pkg{hyperref} deals with code in \TeX's mouth, so \pkg{hyperref} is
2646 % drops the token and complains. Which is fine, since the titles
2647 % don't actually need to be uppercased in the bookmark, but the
2648 % error messages are still produced. If anyone knows of a good way
2649 % to either fix the problem or silence these particular error messages,
2650 % please let me know. Otherwise, just ignore the errors.
2653 % \section{Examples}
2656 % \subsubsection{Template}
2660 % See drexel-thesis.pdf for details.
2661 \documentclass{drexel-thesis}
2663 %% Enter the appropriate information here
2664 \author{} % Fullname
2665 \title{} % Title Of Thesis
2666 \defmonth{} % Name of the month of you defense
2667 \defyear{} % Year you are defending
2668 \degree{} % Your target degree, spelled out
2669 \advisor{} % Advisor's full name, degree
2670 \copyrighttext{} % If not "All Rights Reserved."
2672 %% unsrt style give references in order of citation
2673 \bibliographystyle{unsrt}
2678 \begin{dedications} % OPTIONAL
2679 %% Type dedications here
2682 \begin{acknowledgments} % OPTIONAL
2683 %% Type acknowledgments here
2684 \end{acknowledgments}
2687 \listoftables % If you have tables
2688 \listoffigures % If you have figures
2691 %% Type abstract here
2696 %% Use include statements to include your main thesis code
2697 %% from seperate files.
2702 \bibliography{references} % Include references.bib BibTeX
2704 \appendix % If you have appendices
2705 %% include files with your appendicies (if any) here
2706 %%\include{appendixA}
2709 \begin{vita} % Ph.D. only.
2718 % \subsection{A better example}
2719 % \label{sec:better-example}
2721 % \subsubsection{Main}
2724 %<*example|example-draft>
2725 %% See drexel-thesis.pdf for details.
2726 %<example>\documentclass{drexel-thesis}
2727 %<example-draft>\documentclass[draft]{drexel-thesis}
2729 %% Enter the appropriate information here
2730 \author{Johny Henry}
2731 \title{Inadequacies of Steam-Driven Boring Machines}
2734 \degree{Doctor of Philosophy}
2735 \advisor{Collis Potter Huntington, R.R.D.}
2736 \advisor{Advisor 2, Ph.D.}
2737 \advisor{Advisor 3, Ph.D.}
2738 \copyrighttext{\copyrighttextCC}
2740 \usepackage[super,sort&compress]{natbib} % fancy citation extensions
2741 \bibliographystyle{unsrtnat}
2743 \usepackage{fancyvrb} % nicer verbatim handling
2744 \DefineShortVerb{\|} % \verb+TEXT+ -> |TEXT|
2746 \usepackage{blabla} % \blabla macro for producing dummy output
2755 \begin{acknowledgments}
2757 \end{acknowledgments}
2772 \bibliography{example-ref}
2782 %</example|example-draft>
2786 % \subsubsection{Part}
2790 \part{A Part Heading}
2791 \chapter{A Chapter Heading}
2792 \section{A Section Heading}
2793 The following sectioning commands are available:
2805 You can cite your references with |natbib|'s |\citet| and |\citep|
2807 \href{http://www.ctan.org/tex-archive/macros/latex/contrib/natbib/}
2808 {the natbib manual} for details.
2810 Here we have a text citation \citet{rief97} followed by a
2811 parenthetical citation\citep{rief97}.
2813 \subsubsection{Tables and Figures}
2816 \caption{A table float}
2818 \begin{tabular}{r@{.}l r@{.}l r@{.}l}
2819 \multicolumn{2}{c}{Time (s)} &
2820 \multicolumn{2}{c}{John Henry (m)} &
2821 \multicolumn{2}{c}{Steam drill (m)} \\
2823 10&0 & 4&3 & 3&75 \\
2824 30&0 & 11&9 & 10&1 \\
2827 %% Note the strange |r@{.}l| notation in the |\tabular| column
2828 %% definition. This allows for numbers aligned at the decimal point
2829 %% (see \href{http://www.stat.unipg.it/tex-man/ltx-68.html}{here}).
2831 %% |\multicolumn{num_cols}{alignment}{contents}| allows the headings
2832 %% to span the pre- and post-decimal columns.
2838 \includegraphics[width=0.4\textwidth]{drexel-logo}
2840 \caption{A figure float}
2845 \chapter{Another Chapter}
2847 \chapter{Yet another Chapter}
2853 % \subsubsection{\BibTeX}
2855 % What goes into the \BibTeX\ file |example-ref.bib|?
2856 % For more information, check out this
2857 % \href{http://cmtw.harvard.edu/Documentation/TeX/Bibtex/Example.html}{basic tutorial}.
2858 % If you want to get deeper, take a look at
2859 % \href{http://www.ctan.org/tex-archive/info/bibtex/tamethebeast/}{Tame the BeaST}.
2861 % \href{http://www.andy-roberts.net/misc/latex/latextutorial3.html}{how the process works},
2862 % \href{http://newton.ex.ac.uk/tex/pack/bibtex/btxdoc/node6.html}{entry types},
2863 % \href{http://newton.ex.ac.uk/tex/pack/bibtex/btxdoc/node7.html}{fields},
2864 % \href{http://en.wikipedia.org/wiki/BibTeX}{entries and fields},
2865 % \href{http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html}{assorted style examples}, and
2866 % \href{http://liinwww.ira.uka.de/bibliography/Bib.Format.html}{assorted \BibTeX tools}.
2868 % Here is an example \BibTeX\ file to get you started. We define
2869 % strings for the publishers, journals, and authors to avoid
2870 % duplication, minimize the risk of typos, etc.
2873 %<*example-bibtex-refs>
2875 @String{APS = "American Physical Society"}
2878 @String{SCI = "Science"}
2881 @String{MRief = "Rief, Matthias"}
2882 @String{MGautel = "Gautel, Mathias"}
2883 @String{FOesterhelt = "Oesterhelt, Filipp"}
2884 @String{JFernandez = "Fernandez, Julio M."}
2885 @String{HGaub = "Gaub, Hermann E."}
2889 author = MRief #" and "# MGautel #" and "# FOesterhelt #" and "#
2890 JFernandez #" and "# HGaub,
2891 title = "Reversible Unfolding of Individual Titin Immunoglobulin
2896 pages = "1109--1112",
2898 doi = "10.1126/science.276.5315.1109",
2899 URL = "http://www.sciencemag.org/cgi/content/abstract/276/5315/1109",
2900 eprint = "http://www.sciencemag.org/cgi/reprint/276/5315/1109.pdf",
2901 mynote = "Seminal paper for force spectroscopy on Titin. Cited by
2902 Dietz '04 (ref 9) as an example of how unfolding large
2903 proteins is easily interpreted (vs.\ confusing unfolding in
2904 bulk), but Titin is a rather simple example of that, because
2905 of its globular-chain structure.",
2908 %</example-bibtex-refs>
2912 % \subsubsection{Appendix}
2915 %<*example-appendix>
2916 \chapter{Some Appendix Heading}
2918 \chapter{Another Appendix Heading}
2920 %</example-appendix>
2924 % \subsubsection{\pkg{blabla}}
2926 % Define the \pkg{blabla} package for generating dummy text. This
2927 % will make it easier to generate reasonable exampes.
2930 \ProvidesPackage{blabla} [2010/01/11 1.0 Dummy text generation]
2933 % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/forloop/}{\pkg{foorloop}}
2936 % `\cs{forloop}\oarg{step}\marg{counter}\marg{initial value}\marg{condition}\marg{code}'
2939 \RequirePackage{forloop}[2006/09/18]
2941 \newcounter{blabla@i}
2942 \newcounter{blabla@j}
2943 \newcommand{\blabla}[2]{
2944 \forloop{blabla@i}{0}{\value{blabla@i} < #1}{
2946 \forloop{blabla@j}{0}{\value{blabla@j} < #2}{ bla }