% \def\fileversion{0.15} % \def\filedate{2013/05/21} % \iffalse meta-comment %<*driver> \ProvidesFile{drexel-thesis.dtx} \documentclass{ltxdoc} % %<*class|driver> \def\fileversion{0.15} \def\filedate{2013/05/21} % % % Copyright (C) 2010-2015 C.Y. Ip % Christopher D. Cera % Christopher S. Dahn % Daniel J. Cross % David T. McWherter % Evan Sultanik % Jeff Arahamson % Mitchell Peabody % R. Rojas, E % Raymond Canzanese % Robert Bernecky % T. Tsankov % Vincent A. Cicirello % W. Trevor King % ------------------------------------------------------- % % This file may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % of this license or (at your option) any later version. % The latest version of this license is in: % % http://www.latex-project.org/lppl.txt % % and version 1.3 or later is part of all distributions of LaTeX % version 2003/12/01 or later. % % Docstrip formatting initially based on Scott Pakin's % dtxtut/cskeleton.dtx % http://www.ctan.org/tex-archive/info/dtxtut/ % % \fi % % \iffalse meta-comment %\NeedsTeXFormat{LaTeX2e} %\ProvidesClass{drexel-thesis} % [\filedate\ \fileversion\ Drexel Thesis] % % Code for the .ini driver, see \S 2.1 ``The driver file'' of doc.dtx. %<*driver> \usepackage[colorlinks=true,]{hyperref} \hypersetup{pdfauthor={W. Trevor King et al.}} \hypersetup{pdftitle={drexel-thesis \fileversion\ documentation}} % % Include some useful commands from |xkeyval|'s ||. %<*driver> \usepackage{xcolor} \usepackage{listings} \lstnewenvironment{command}{% \lstset{columns=flexible,frame=single,backgroundcolor=\color{blue!20},% xleftmargin=\fboxsep,xrightmargin=\fboxsep,escapeinside=`',gobble=1}}{} \lstnewenvironment{example}{% \lstset{basicstyle=\footnotesize\ttfamily,columns=flexible,frame=single,% backgroundcolor=\color{yellow!20},xleftmargin=\fboxsep,% xrightmargin=\fboxsep,gobble=1}}{} % % Define a quick and dirty version of |xkeyval|'s |\DescribeOptions|. %<*driver> \newenvironment{option}[1]{\begin{macro}{#1}} {\end{macro}} % % Some commonly used abbreviations from |classes.dtx|. %<*driver> \newcommand*{\Lopt}[1]{\textsf {#1}} \newcommand*{\file}[1]{\texttt {#1}} \newcommand*{\Lcount}[1]{\textsl {\small#1}} \newcommand*{\pstyle}[1]{\textsl {#1}} % % Provide easy access to the @ character. Note that this, like the % short-verbatim markers ||, does not work in |\changes| sections % because of the way they are cached to the glossary file. If you % find a way to make them work there, let me know :). %<*driver> \newcommand*{\textat}{\makeatletter @ \makeatother} % %<*driver> \makeatletter \def\DescribeOption#1{\leavevmode\@bsphack \marginpar{\raggedleft\PrintDescribeOption{#1}}% \SpecialOptionIndex{#1}\@esphack\ignorespaces} \def\PrintDescribeOption#1{\strut\emph{option}\\\MacroFont #1\ } \def\SpecialOptionIndex#1{\@bsphack \index{#1\actualchar{\protect\ttfamily#1} (option)\encapchar usage}% \index{options:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar usage}\@esphack} \def\DescribeOptions#1{\leavevmode\@bsphack \marginpar{\raggedleft\strut\emph{options}% \@for\@tempa:=#1\do{% \\\strut\MacroFont\@tempa\SpecialOptionIndex\@tempa }}\@esphack\ignorespaces} \makeatother % %<*driver> \EnableCrossrefs \RecordChanges \EnableCrossrefs \begin{document} \DocInput{drexel-thesis.dtx} \end{document} % % \fi % % \CheckSum{0} % % \CharacterTable % {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 % 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 % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % % \changes{0.1}{2006/01/18}{Rewrite by Daniel J.~Cross} % \changes{0.2}{2010/01/09}{W.~Trevor King transitioned from thesis.cls % to drexel-thesis.dtx and did a good deal of reorganizing.} % \changes{0.3}{2010/01/13}{W.~Trevor King merged drexelthesis.cls % developed in the Comp.~Sci.~Department by Jeff Abrahamson, % Evan Sultanik, C.Y.~Ip, Christopher S.~Dahn, Christopher D.~Cera, % Mitchell Peabody, David T.~McWherter, and Vincent A.~Cicirello. % Based on the University of Toronto Thesis \LaTeXe\ Class. Also % greatly improved the documentation by incorperating bits of % the base/*.dtx files.} % \changes{0.4}{2010/02/23}{W.~Trevor King repositioned hyperref % inclusion for proper hyperref overriding. The previous % implementation couldn't handle \cs{label} for \cs{paragraph} and % some other section levels. The page number for the reference was % correct, but the link went to the label's parent chapter.} % \changes{0.5}{2010/03/03}{W.~Trevor King use hypcap for better % caption hyperlink anchor placement.} % \changes{0.6}{2010/03/11}{W.~Trevor King fixed \cs{if@final} % handling. Previous versions used it more like a hypothetical % \cs{if@finalspace}. Also adjusted theindex to use a % \cs{listed@schapter}.} % \changes{0.10}{2010/05/21}{W.~Trevor King added \cs{DUT*} % aliases for all public macros and environments and renamed % \cs{defmonth} and \cs{defyear} to \cs{DUTmonth} and \cs{DUTyear} % for consistency with the new aliases.} % \changes{0.13}{2010/07/28}{W.~Trevor King cleaned up TOC/LOT/LOF code.} % \changes{0.14}{2010/09/21}{Evan Sultanik added the % \texttt{approvalform} option for including a \LaTeX\ version of % the T-1 thesis form.} % \changes{0.15}{2011/04/22}{W.~Trevor King added the % \texttt{nodraftwatermark} option for clearing previous watermark % options.} % \changes{0.15}{2011/04/23}{W.~Trevor King added the % \texttt{pagebreak} and \texttt{nopagebreak} options for % controlling page breaking independently of \texttt{final} and % \texttt{draft}.} % % \MakeShortVerb{\|} % \newcommand{\pkg}[1]{\textsf{#1}} % \newcommand{\cls}[1]{\textsf{#1}} % % \title{The \textsf{drexel-thesis} class\thanks{This document % corresponds to \textsf{drexel-thesis}~\fileversion, dated \filedate.}} % \author{W.~Trevor King \\\texttt{wking@tremily.us} % \and Daniel J.~Cross \and T.~Tsankov \and R.~Rojas. \and Evan A.~Sultanik} % \date{\filedate} % % \maketitle % % % \section{Introduction} % % This package defines a \LaTeX\ thesis class for Drexel University % conforming to the % \href{http://www.library.drexel.edu/files/services_documents/thesismanual.pdf} % {Drexel University Thesis Manual version 2009/06/01}. % % \section{Usage} % % To write a thesis, you load the Drexel thesis definitions by loading % the \pkg{drexel-thesis} class at the beginning of your % \LaTeX\ document with the |\documentclass| command. For example, % \begin{example} % \documentclass{drexel-thesis} % \end{example} % % For \href{http://www.lyx.org/}{LyX} users, we include a LyX template % (\file{drexel-thesis.layout}, originally by John K. Parejko) so that % the previews generated in LyX are similar to those generated by the % actual \cls{drexel-thesis} class. % % % \subsection{Options} % % \DescribeOptions{final,draft} % The default option (selected if not options are passed) is % \Lopt{final} mode, which has all the proper formatting and spacing % for your final product. The other main option is \Lopt{draft} mode, % which reduces all the spacing in the document, so might be helpful % when printing out drafts (saves paper). % % \Lopt{final} mode corresponds to (with Thesis Manual chapter and % verse) \\ % \begin{tabular}{r p{0.8\textwidth}} % \Lopt{oneside} & 1.5 Library Submission Information, Print % Version: ``All copies must be: \ldots Typed/printed on only one % side of the page (not double-sided).'' \\ % \Lopt{finalspace} & Assorted single, double, and triple spacing % directives. \\ % \Lopt{pagebreak} & Conform to thesis pagebreak rules. \\ % \Lopt{dottedtoc} & From the example on p17. \\ % \Lopt{nodraftwatermark} & Clear any earlier watermark options. % \end{tabular} % % \Lopt{draft} mode corresponds to \\ % \begin{tabular}{r p{0.8\textwidth}} % \Lopt{twoside} & Save space. \\ % \Lopt{draftspace} & Save space. \\ % \Lopt{nopagebreak} & Save space. \\ % \Lopt{dottedtoc} & Might as well be consistent with \Lopt{final}. \\ % \Lopt{xdraftwatermark} & It's good to have a timestamp. % \end{tabular} % % \DescribeOption{subfig} % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/}{\pkg{subfig}} % makes it easy to include and caption multi-part figures. However, % getting \pkg{subfig} to cooperate with \pkg{floatrow} and % \pkg{tocloft} can be tricky. If you want to use \pkg{subfig}, just % pass the \Lopt{subfig} option to \cls{drexel-thesis}, and all the % pesky details will be taken care of. See \S % \ref{sec:better-example} for an example. % % \DescribeOption{finalspace} % Loosen spacing. % % \DescribeOption{draftspace} % Tighten spacing. % % \DescribeOption{pagebreak} % Break pages between chapters and chapter-like blocks. % % \DescribeOption{nopagebreak} % Don't break pages between chapters and chapter-like blocks (saves paper). % % \DescribeOptions{dottedtoc,boldtoc, % dottedpart,boldpart, % dottedchapter,boldchapter} % These options change how the relevant table of contents lines are % printed. \LaTeX\ defaults to bold but not dots. The \Lopt{*toc} % options set all of the types. For example, \Lopt{boldtoc} is % equivalent to \Lopt{boldchapter,boldpart}. % % \DescribeOption{indenttoc} % The example table of contents in the Manual p17 does not indent % section entries, etc., so neither does \cls{drexel-thesis}. If you % \emph{do} want pretty, indented TOCs, like the \LaTeX\ defaults pass % \Lopt{indenttoc} to \cls{drexel-thesis}. % % \DescribeOption{blackref} % \Lopt{blackref} colors all \pkg{hyperref} links black, so they won't % stand out in your printed document. % % \DescribeOption{draftwatermark} % \Lopt{draftwatermark} adds ``DRAFT \meta{date}'' watermarks to each % page. A useful way to remember that the version you're looking at % is not final. Also helps reviewers tell you what version they're % correcting. Requires the \pkg{draftmark} package, which allows you % to override the default watermark style if it is not to your liking % (\S~\ref{sec:draftmark}). % % \DescribeOption{xdraftwatermark} % \Lopt{xdraftwatermark} is also similar to \Lopt{draftwatermark} but % depends on the possibly more common \pkg{xcolor}, \pkg{eso-pic}, and % \pkg{graphicx}. % % \DescribeOption{nodraftwatermark} % \Lopt{nodraftwatermark} clears any earlier watermark options. For % example % \begin{example} % \documentclass[draft,nodraftwatermark]{drexel-thesis} % \end{example} % will format your thesis in \Lopt{draft} mode but without a watermark. % On the other hand, % \begin{example} % \documentclass[draftmark,final]{drexel-thesis} % \end{example} % will also format your thesis without a watermark, because % \Lopt{final} sets \Lopt{nodraftwatermark} internally. % % \DescribeOption{indentfirst} % \Lopt{indentfirst} indents the first paragraph after sections etc. % % \DescribeOption{approvalform} % \Lopt{approvalform} includes a copy of the % \href{http://www.drexel.edu/graduatestudies/forms/Thesis_Approval_Form.pdf}{% % T-1} approval form as the first page of your thesis/dissertation. % This form is bound to the front of every thesis/dissertation by the % library. The version that is generated by this option is typeset in % \LaTeX\ with the same margins, fonts, etc.~as the rest of % your document. The title of your dissertation and your name are % automatically entered. % % \DescribeOption{daring} % \Lopt{daring} breaks the official thesis rules in pursuit of a nicer % layout. % % % \subsubsection{Interesting \cls{book} options} % % \DescribeOption{oneside} % Setup output for one-sided printing. % % \DescribeOption{twoside} % Setup output for two-sided printing. % % \DescribeOption{leqno} % \Lopt{leqno} places the numbering of formulae on the left hand side % instead of the right. % % \DescribeOption{fleqn} % \Lopt{fleqn} typesets displayed formulae left-aligned instead of % centered. % % % \subsection{Macros} % % To help deal with name collisions, all \cls{drexel-thesis} macros % have ``secret'' aliases. For example, |\author| can also be used as % |\DUTauthor|. This is useful if one of your packages clobbers a % \cls{drexel-thesis} macro, but you still want to use the original. % \begin{example} % \documentclass{drexel-thesis} % \renewcommand{\author}[1]{I'm forgetting about your author! Muahahaha!} % \DUTauthor{Your Name Here} % ... % \end{example} % % \begin{command} % `\cs{author}\marg{name}' % \end{command} % \DescribeMacro{\author} % \DescribeMacro{\DUTauthor} % Use this macro to set your full name to \meta{name}, including % your middle initial or name. For example % \begin{example} % \name{Richard P. Feynman} % \end{example} % See the Manual \S 3.1 p8. % % \begin{command} % `\cs{title}\marg{title}' % \end{command} % \DescribeMacro{\title} % \DescribeMacro{\DUTtitle} % Use this macro to set your thesis title to \meta{name}. For example % \begin{example} % \title{A New Approach to Quantum Theory} % \end{example} % See the Manual p16. % % \begin{command} % `\cs{advisor}\marg{name}' % \end{command} % \DescribeMacro{\advisor} % \DescribeMacro{\DUTadvisor} % Use this macro to set your advisor's name to \meta{name}. For % example % \begin{example} % \advisor{John A. Wheeler, Ph.D.} % \end{example} % You can set multiple advisors, if appropriate, by calling |\advisor| % multiple times. % \begin{example} % \advisor{John A. Wheeler, Ph.D.} % \advisor{Advisor 2} % \end{example} % See the Manual \S 3.1 p8. % % \begin{command} % `\cs{DUTmonth}\marg{month}' % `\cs{DUTyear}\marg{year}' % \end{command} % \DescribeMacro{\DUTmonth} % \DescribeMacro{\DUTyear} % Use these macros to set the month with \meta{month} (spelled out) % and year with \meta{year} (four digits) of your thesis defense. For % example % \begin{example} % \DUTmonth{June} % \DUTyear{1942} % \end{example} % See the Manual \S 3.1 p8. % There are no non-|DUT| versions of these commands to avoid % collisions with the plain \TeX\ |\month| and |\year| (see the % \href{http://www.tug.org/utilities/plain/cseq.html#month-rp}{month} % and % \href{http://www.tug.org/utilities/plain/cseq.html#year-rp}{year} % entries in the HTML version of David Bausum's \emph{TeX Reference % Manual}). % % \begin{command} % `\cs{degree}\marg{degree}' % \end{command} % \DescribeMacro{\degree} % \DescribeMacro{\DUTdegree} % Set your target degree with \meta{degree}. From the Manual \S 3.1 % p8. % \begin{quote} % Write out the name of the degree for which you are a candidate. % All Ph.D.\ candidates must use |Doctor of Philosophy|. All % Master's degree candidates should use the precise degree name % (e.g., |Master of Science in Mechanical Engineering|). % \end{quote} % So, for a Ph.D candidate, % \begin{example} % \degree{Doctor of Philosophy} % \end{example} % % \begin{command} % `\cs{copyrighttext}\marg{text}' % \end{command} % \DescribeMacro{\copyrighttext} % \DescribeMacro{\DUTcopyrighttext} % Use this macro to set the copyright text to \meta{text}. % The default value is ``All Rights Reserved.''. % \begin{example} % \copyrighttext{Released to the Public Domain.} % \end{example} % See the Manual \S 3.2 p9. % % \begin{command} % `\cs{copyrighttextCCBYSA}' % \end{command} % \DescribeMacro{\copyrighttextCCBYSA} % \DescribeMacro{\DUTcopyrighttextCCBYSA} % There are a number of predefined copyright messages for ease of use \\ % \begin{tabular}{l l} % |\copyrighttextCCBYSA| & % Creative Commons Attribution-ShareAlike License Version 3.0.\\ % \end{tabular} % % \begin{command} % `\cs{tableofcontents}' % \end{command} % \DescribeMacro{\tableofcontents} % \DescribeMacro{\DUTtableofcontents} % Write the table of contents (Manual \S 3.5 p9). You can control the % verbosity by setting |\tocdepth| according to the following table % (\href{http://www.image.ufl.edu/help/latex/intext.shtml}{source}). \\ % \begin{tabular}{l l l} % Depth in document & Section Command & Depth for |\secnumdepth| Command \\ % -1 & |\part| & 1 \\ % 0 & |\chapter| & 2 \\ % 1 & |\section| & 3 \\ % 2 & |\subsection| & 4 \\ % 3 & |\subsubsection| & 5 \\ % 4 & |\paragraph| & 6 \\ % 5 & |\subparagraph| & 7 % \end{tabular} \\ % For example, to expose everything down to and including the % |\subsection| level, you would add % \begin{example} % \setcounter{tocdepth}{2} % \end{example} % to your preamble (the section before |\begin{document}|, not the % |preamble| environment discussed below). % % Note that the Manual \S 3.5 p9 requires ``List chapter titles and at % least the first and second order subdivisions.'', which corresponds % to a |\tocdepth| of at least 2. % % \begin{command} % `\cs{listoftables}' % \end{command} % \DescribeMacro{\listoftables} % \DescribeMacro{\DUTlistoftables} % Write the List of Tables page (Manual \S 3.6 p10). % Skip if you have no tables in your thesis. % % \begin{command} % `\cs{listoffigures}' % \end{command} % \DescribeMacro{\listoffigures} % \DescribeMacro{\DUTlistoffigures} % Write the List of Figures page (Manual \S 3.7 p10). % Skip if you have no figures in your thesis. % % \begin{command} % `\cs{blanklines}\marg{num}' % \end{command} % \DescribeMacro{\blanklines} % \DescribeMacro{\DUTblanklines} % Insert \meta{num} blank lines. For example % \begin{example} % \blanklines{2} % \end{example} % The skipped lines are always \emph{single spaced} lines, regardless % of the current line spacing in the environment calling this macro. % % \begin{command} % `\cs{iffinal}\marg{final-mode-action}\marg{draft-mode-action}' % \end{command} % \DescribeMacro{\iffinal} % \DescribeMacro{\DUTiffinal} % Include \Lopt{final}- or \Lopt{draft}-specific code. % \begin{example} % We're in \iffinal{final}{draft} mode! % \end{example} % % \begin{command} % `\cs{ifdraftwatermark}\marg{draftwatermark-mode-action}\marg{other-action}' % \end{command} % \DescribeMacro{\ifdraftwatermark} % \DescribeMacro{\DUTifdraftwatermark} % Include \Lopt{draftwatermark}-specific code (e.g. |\draftmarksetup|, % \S~\ref{sec:draftmark}).. % \begin{example} % We \ifdraftwatermark{are}{aren't} in draftwatermark mode! % \end{example} % % \begin{command} % `\cs{ifdaring}\marg{daring-action}\marg{wimpy-action}' % \end{command} % \DescribeMacro{\ifdaring} % \DescribeMacro{\DUTifdaring} % Include \Lopt{daring}-specific code, with wimpy fallbacks. % \begin{example} % \ifdaring{\singlespacing Muahahahaha!}{mumble mumble}. % \end{example} % % \begin{command} % `\cs{drexellogobw}' % \end{command} % \DescribeMacro{\drexellogobw} % Draws a black-and-white official vector Drexel logo. The image is % exactly 1~inch wide and 1.016~inches tall. This is accomplished % using the \pkg{tikz} package (\S~\ref{sec:tikz}). You can enclose % this command in a |\scalebox| to alter its size. % % % \subsection{Environments} % % To help deal with name collisions, all \cls{drexel-thesis} % environments have ``secret'' aliases. For example, |preamble| can % also be used as |DUTpreamble|. This is useful if one of your % packages clobbers a \cls{drexel-thesis} environment, but you still % want to use the original. % \begin{example} % \documentclass{drexel-thesis} % \renewenvironment{preamble}{% % What preamble?\begingroup\color{white}}{\endgroup} % \begin{document} % \begin{DUTpreamble} % Thwarted again, evil one! % ... % \end{example} % % % \DescribeEnv{preamble} % \DescribeEnv{DUTpreamble} % Generalize the |\frontmatter| for the thesis, setting up page % numbering, including the title page, copyright page etc. The % |preamble| environment should contain the following elements % (in order, see the Manual p8) % \begin{itemize} % \item |dedication| environment (optional) % \item |acknowledgments| environment (optional) % \item |\tableofcontents| % \item |\listoftables| % \item |\listoffigures| % \item |abstract| environment % \end{itemize} % This will take care of everything from the title page (Manual \S 3.1), % up through the blank page before the text (Manual \S 3.9). % % \DescribeEnv{dedications} % \DescribeEnv{DUTdedications} % Set the dedications text. % Highlights from the Manual \S 3.3 p9: % \begin{quote} % The |Dedications| page is optional. % \end{quote} % % \DescribeEnv{acknowledgments} % \DescribeEnv{DUTacknowledgments} % Set the acknowledgments text. % Highlights from the Manual \S 3.4 p9: % \begin{quote} % The |Acknowledgments| page is optional, but most theses do % include a brief statement of thanks or recognition of any special % assistance. % \end{quote} % % \DescribeEnv{abstract} % \DescribeEnv{DUTabstract} % Set the thesis abstract text. In the Thesis Manual, see \S 3.8 % Abstract (p10) for details, p20 for an example. % % Highlights from the Manual: % \begin{quote} % The abstract is a summary that allows readers to determine the % value of reading the full thesis. It should include a statement % of the problem, an outline of procedures or methods, and a summary % of results and conclusions. % \end{quote} % \begin{itemize} % \item Word limits: 600 for a Master's thesis, 350 for a Ph.D.\ thesis. % \end{itemize} % % \DescribeEnv{thesis} % \DescribeEnv{DUTthesis} % Set the thesis text. In the Thesis Manual, see \S 3.10 Thesis (p11) % for details. % % Highlights from the Manual: % \begin{quote} % Divide the text into its major parts/chapters/subsections. No % fixed arrangement is necessary. The major parts may contain such % subjects as introduction, general argument, description of % experimental procedures, research methods, discussion, summary, % conclusions, recommendations, and other pertinent topics that are % necessary for a complete understanding on the part of a % sophisticated or professional reader. % \end{quote} % % \DescribeEnv{vita} % \DescribeEnv{DUTvita} % Set the thesis vita text (Ph.D.\ only). See the Manual \S 3.15 p12, % ``Vita'', for details. % % Highlights from the Manual: % \begin{quote} % The Vita is a biography of the student written in the third person % in either essay or outline form. It should include the full name, % place and date of birth (optional), country of citizenship % (optional), institutions attended, degrees and honors received, % titles of publications, teaching and professional experience, and % other pertinent data. The Vita must be one page or less. % \end{quote} % % % \subsection{Hints} % % % \subsubsection{Package installation} % \label{sec:dependencies} % % All the packages this class depends on must be installed somewhere % in your texmf tree (they probably already are). If not, you will % recieve warning messages on compilation such as % \begin{example} % ! LaTeX Error: File `missing-package.sty' not found. % \end{example} % You should then install the missing package(s) using your operating % systems package manager, or grab the missing package from % \href{http://www.ctan.org/}{CTAN}, and install them following TODO. % % % \subsubsection{Tables and Figures} % % \pkg{drexel-thesis} loads % \href{http://www.ctan.org/tex-archive/macros/latex/required/graphics/}{\pkg{graphicx}} % to define the |\includegraphics| macro, % \href{http://www.ctan.org/tex-archive/macros/latex/required/caption/}{\pkg{caption}} % for pretty caption formatting, % \href{http://www.ctan.org/tex-archive/macros/latex/required/floatrow/}{\pkg{floatrow}} % for placing captions, and % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/}{\pkg{hypcap}} % for placing caption anchors. % % Simple float definitions will look like % \begin{example} % \begin{table} % \caption{Some caption text} % \begin{tabular}{...} % ... % \end{tabular} % \end{table} % \end{example} % or % \begin{example} % \begin{float} % \includegraphics{...} % \caption{Some caption text} % \end{float} % \end{example} % For more useful float information, see the examples in \S % \ref{sec:better-example-part} and the % \href{http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions} % {\LaTeX\ wikibook page}. % % % \subsubsection{Citations} % % I highly recommend using \BibTeX\ and % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/natbib/}{\pkg{natbib}}. % See \S \ref{sec:better-example} for a simple example. % % Suggested options:\\ % \begin{tabular}{r p{0.8\textwidth}} % |super| & selects citations in superscript mode. \\ % |sort&compress| & automatically sorts and compresses compound % citations (|\pcite{a,b,...}|). % \end{tabular} % % % \subsubsection{References} % % Easier cross referencing with % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/cleveref/}{\pkg{cleveref}}. % Is a wonderful tool for easy, consistent crosslinking via |\cref|, % |\Cref|, etc.. The manual is also very good. % Note that if you use |\part|s in your document, you need to tell % \pkg{cleveref} how to deal with them: % \begin{example} % \usepackage{cleveref} % \crefname{part}{part}{parts} % \end{example} % % % \subsubsection{Hyperlinks} % % \cls{drexel-thesis} loads % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref/}{% % \pkg{hyperref}}. % with the options:\\ % \begin{tabular}{r p{0.8\textwidth}} % |colorlinks| & color the link letters instead of drawing colored boxes. \\ % \end{tabular} % % The default \pkg{hyperref} colors can be a bit jarring. Feel free % to use \Lopt{blackref} or override them yourself: % \begin{example} % \usepackage{xcolor} % \definecolor{dark-gray}{gray}{0.3} % \hypersetup{citecolor=dark-gray} % \end{example} % See % \href{http://mirror.ctan.org/macros/latex/contrib/hyperref/doc/manual.pdf}{% % the hyperref manual} (\S 3.4 Extension options) % for a list of |*color| options. % % If running with a pdftex-based driver, |\author|, |\title|, and % |\degree| automatically set |pdfauthor|, |pdftitle|, and % |pdfsubject| respectively. You can use the |\hypersetup| macro to % set options overriding these defaults. % % % \subsubsection{Developing large \LaTeX\ documents} % % A thesis may take a while to compile, especially if it contains % lots of images, etc.. One way to save time, is to use |\includeonly| % when including chapter \file{*.tex} files (see % \href{http://en.wikibooks.org/wiki/TeX/includeonly}{the \TeX\ Wikibook}). % Usage would be something like % \begin{example} % \documentclass{drexel-thesis} % ... % \includeonly{chapter2.tex,chapter3.tex} % \begin{document} % ... % \begin{thesis} % \include{chapter1.tex} % \include{chapter2.tex} % \include{chapter3.tex} % \include{chapter4.tex} % \end{thesis} % ... % \end{document} % \end{example} % which would only compile chapters two and three. Don't confuse the % similar commands |\include| and |\input|. The more fundamental % |\input| just inserts the file contents at that point, while % |\include| % \begin{itemize} % \item may only be used after |\begin{document}| % \item acts like |\clearpage \input{} \clearpage| % \item will not crash on nonexistent files % \end{itemize} % % % \StopEventually{\pagebreak\PrintChanges} % % % \subsubsection{Passing options to packages used by \textsf{drexel-thesis}} % % % \cls{drexel-thesis} uses a number of \LaTeX\ packages internally to % format your thesis. Sometimes you also want to use these packages % directly, but \cls{drexel-thesis} is not passing them the option(s) % you need. The way to deal with these issues is % \href{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=optionclash}{% % \cs{PassOptionsToPackage}}. % \begin{command} % `\cs{PassOptionsToPackage}\marg{option,...}\marg{package}' % \end{command} % For example, if you need to pass \Lopt{table} to \pkg{xcolor}, use: % \begin{example} % \PassOptionToPackage{table}{xcolor} % \documentclass{drexel-thesis} % \end{example} % Note that you need to call \cs{PassOptionsToPackage} before the % target package is imported via \cs{documentclass}. % % % \section{Implementation} % \begin{macrocode} %<*class> % \end{macrocode} % % For simplicity, we'll derive everything from the standard \cls{book} % class. % % % \subsection{Option Processing} % % Include % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/xkeyval/}{\pkg{xkeyval}} % for easier option parsing. If the package is not installed on your system, % see \S \ref{sec:dependencies} for installation instructions. % \begin{macrocode} \RequirePackage{xkeyval} % \end{macrocode} % % Define some booleans to store option states % \begin{macrocode} \newif\if@mainmatter \@mainmattertrue \newif\if@DUT@subfigopt \newif\if@DUT@pagebreak \newif\if@dottedchapter \newif\if@boldchapter \newif\if@boldpart \newif\if@dottedpart \newif\if@indenttoc \newif\if@blackref \newif\if@draftwatermark \newif\if@xdraftwatermark \newif\if@indentfirst \newif\if@final \newif\if@daring \newif\if@approvalform % \end{macrocode} % % \begin{macro}{\iffinal} % \begin{macro}{\DUTiffinal} % Setup a user-friendly means for including \Lopt{final}- or % \Lopt{draft}-specific code. % \changes{0.7}{2010/03/14}{W.~Trevor King added iffinal macro.} % \changes{0.15}{2011/04/22}{W.~Trevor King added DUTiffinal macro.} % \begin{macrocode} \newcommand\iffinal[2]{\if@final #1\else #2\fi} \let\DUTiffinal\iffinal % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\ifdraftwatermark} % \begin{macro}{\DUTifdraftwatermark} % Setup a user-friendly means for including % \Lopt{draftwatermark}-specific code (e.g. |\draftmarksetup|, % \S~\ref{sec:draftmark}). % \changes{0.15}{2011/04/22}{W.~Trevor King added ifdraftwatermark macro.} % \changes{0.15}{2011/04/22}{W.~Trevor King added DUTifdraftwatermark macro.} % \begin{macrocode} \newcommand\ifdraftwatermark[2]{\if@draftwatermark #1\else #2\fi} \let\DUTifdraftwatermark\ifdraftwatermark % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\ifdaring} % \begin{macro}{\DUTifdaring} % Setup a user-friendly means for including \Lopt{daring}-specific % code. % \changes{0.11}{2010/06/04}{W.~Trevor King added ifdaring macro.} % \changes{0.15}{2011/04/22}{W.~Trevor King added DUTifdaring macro.} % \begin{macrocode} \newcommand\ifdaring[2]{\if@daring #1\else #2\fi} \let\DUTifdaring\ifdaring % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\DUT@makeapprovalform} % Typesets the T-1 thesis/dissertation approval form. % \changes{0.14}{2010/09/21}{Evan Sultanik added macro.} % \begin{macrocode} \newcommand\DUT@makeapprovalform{ \thispagestyle{empty} \begingroup \newlength{\tempskipa} \newlength{\tempskipb} % \end{macrocode} % Don't indent paragraphs on this page. % \begin{macrocode} \parindent \z@ % \end{macrocode} % Setup $\mbox{tempskipa} = \mbox{logo width} + \mbox{4pt}$ and % $\mbox{tempskipb} = \mbox{textwidth} - \mbox{tempskipa} - % \mbox{4pt}$. The first |pt| ensures the logo will fit in the left % column; the second provides some buffer space between the minipages. % \begin{macrocode} \settowidth{\tempskipa}{\drexellogobw} \addtolength{\tempskipa}{1em} \setlength{\tempskipb}{\textwidth} \addtolength{\tempskipb}{-\tempskipa} \addtolength{\tempskipb}{-1em} % \end{macrocode} % Add the logo and form title in columns. Each column is in a minipage. % \begin{macrocode} \begin{minipage}[c]{\tempskipa} % \end{macrocode} % |\raisebox| drops the logo so that the image is centered on the baseline. % \begin{macrocode} \raisebox{-0.5\height}{\drexellogobw} \end{minipage} \hfill \begin{minipage}[c]{\tempskipb} % \end{macrocode} % Unlike |\newline| or |\\|, |\linebreak| justifies the current line % before requesting a newline. % \begin{macrocode} \textbf{\Huge Office of Graduate Studies} \linebreak \vskip 0.1\baselineskip % \end{macrocode} % The original form lacks the spaces around the slash (|/|), but % \LaTeX's font and kerning make the second line more compact in our % version. Allowing stretchy spaces around the slash helps the second % line look more balanced. % \begin{macrocode} \textbf{\LARGE Dissertation / Thesis Approval Form} \linebreak \end{minipage} \vskip 2\baselineskip This form is for use by all doctoral and master's students with a dissertation/thesis requirement. Please print clearly as the library will bind a copy of this form with each copy of the dissertation/thesis. All doctoral dissertations must conform to university format requirements, which is the responsibility of the student and supervising professor. Students should obtain a copy of the Thesis Manual located on the library website. \vspace*{\fill} % \end{macrocode} % Setup $\mbox{tempskipb} = \mbox{left column width}$ and % $\mbox{tempskipa} = \mbox{textwidth} - \mbox{tempskipb} - % \mbox{4em}$. The |4em| provides some buffer space between the % columns. % \begin{macrocode} \settowidth{\tempskipb}{Dissertation/Thesis Title:} \setlength{\tempskipa}{\textwidth} \addtolength{\tempskipa}{-\tempskipb} \addtolength{\tempskipa}{-4em} % \end{macrocode} % Double space the student-contolled section to allow plenty of space % for hand-written entries. % \begin{macrocode} \begin{spacing}{2} \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} l p{\tempskipa}} \textbf{Dissertation/Thesis Title:} & \@DUT@title \\ \textbf{Author:} & \@DUT@author \end{tabular*} \vspace*{\fill} \begin{center} \textbf{This dissertation/thesis is hereby accepted and approved.} \end{center} \vspace*{\fill} \textbf{Signatures:} \\ Examining Committee \\ % \end{macrocode} % The left most column is left blank and the stretchy space between % columns indents the middle column. I think this looks bad, but % that's how Drexel's version of the T-1 form looks. % \begin{macrocode} \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} p{0pt} l p{\tempskipa}} & Chair & \hrulefill \\ & Members & \hrulefill \\ & & \hrulefill \\ & & \hrulefill \\ & & \hrulefill \\ & & \hrulefill \\ & Academic Advisor & \hrulefill \\ & Department Head & \hrulefill \end{tabular*} \vspace*{\fill} \end{spacing} \begin{center}\scriptsize Office of Graduate Studies $\bullet$ 3141 Chestnut St. $\bullet$ Randell Hall 240 $\bullet$ Philadelphia, PA 19104 \\ \textbf{Tel.}: 215-895-0366 $\bullet$ \textbf{Fax}: 215-895-0495 $\bullet$ \textbf{Email}: \href{mailto:graduate@drexel.edu}{graduate@drexel.edu} $\bullet$ \textbf{Web}: \href{http://www.drexel.edu/provost/graduatestudies/}{% www.drexel.edu/provost/graduatestudies} \end{center} \endgroup \pagebreak } % \end{macrocode} % \end{macro} % % \begin{macro}{\drexellogobw} % Draws a vector art official black-and-white Drexel logo. The image % is exactly 1~inch wide and 1.016~inches tall. % \changes{0.14}{2010/09/21}{Evan Sultanik added macro.} % \begin{macrocode} \newcommand\drexellogobw{ \begin{tikzpicture}[y=0.8pt, x=0.8pt,yscale=-1, inner sep=0pt, outer sep=0pt] \begin{scope}[cm={{1.25,0.0,0.0,-1.25,(-332.5,550.73629)}},] \path[fill=black,nonzero rule] (266.0000,367.4100) -- (338.0000,367.4100) -- (338.0000,440.5890) -- (266.0000,440.5890) -- (266.0000,367.4100) -- cycle; \path[fill=white,nonzero rule] (269.3171,377.0107) -- (334.8469,377.0107) -- (334.8469,438.7106) -- (269.3171,438.7106) -- (269.3171,377.0107) -- cycle; \path[fill=black,nonzero rule] (330.2168,398.2540) .. controls (328.9195,397.9603) and (327.1082,397.5687) .. (326.0555,397.4220) -- (326.0555,396.7855) .. controls (327.6468,396.6388) and (327.6956,396.6388) .. (327.6956,395.1942) -- (327.6956,383.2000) .. controls (327.6956,381.8537) and (327.5489,381.7070) .. (326.0313,381.5600) -- (326.0313,380.8747) -- (331.9060,380.8747) -- (331.9060,381.5600) .. controls (330.3147,381.7070) and (330.2168,381.8537) .. (330.2168,383.2000) -- (330.2168,398.2540) -- cycle(319.4750,387.8511) .. controls (319.6711,389.6870) and (320.6989,390.8372) .. (321.7273,390.8372) .. controls (322.8042,390.8372) and (323.5629,389.5642) .. (323.5629,388.5852) .. controls (323.5629,388.0466) and (323.4650,387.8999) .. (323.1225,387.8999) -- (319.4750,387.8511) -- cycle(325.6436,383.5183) .. controls (324.6889,382.7839) and (323.9057,382.4902) .. (323.0734,382.4902) .. controls (321.2375,382.4902) and (319.3037,383.7632) .. (319.3528,386.8472) .. controls (322.0207,386.9454) and (325.1787,387.1900) .. (325.5215,387.2391) .. controls (325.9865,387.3367) and (326.0352,387.3858) .. (326.0352,388.2915) .. controls (326.0352,390.0540) and (324.4443,391.7920) .. (322.3881,391.7920) .. controls (319.1570,391.7920) and (316.8805,388.7813) .. (316.9296,385.7212) .. controls (316.9784,382.8575) and (318.8630,380.5809) .. (322.0698,380.5809) .. controls (322.7551,380.5809) and (324.5910,381.0704) .. (325.9865,383.1021) -- (325.6436,383.5183) -- cycle(312.6069,391.4983) -- (312.6069,390.8130) -- (313.2434,390.7393) .. controls (313.7084,390.6659) and (313.5859,390.3968) .. (313.2188,389.7848) .. controls (312.8518,389.1729) and (312.4111,388.5118) .. (311.9216,387.8265) -- (310.5019,389.9561) .. controls (310.1836,390.4210) and (310.2327,390.6659) .. (310.6485,390.7147) -- (311.2851,390.8129) -- (311.2851,391.4982) -- (305.8754,391.4982) -- (305.8754,390.8129) .. controls (307.1972,390.6659) and (307.3684,390.5680) .. (308.1762,389.3195) -- (310.4527,385.7948) .. controls (309.6938,384.7667) and (308.9839,383.8365) .. (308.4211,383.1021) .. controls (307.3930,381.7803) and (307.0259,381.7557) .. (305.6304,381.5599) -- (305.6304,380.8746) -- (310.2327,380.8746) -- (310.2327,381.5599) -- (309.5225,381.6824) .. controls (309.1309,381.7557) and (309.0576,381.9027) .. (309.4492,382.5635) .. controls (309.9142,383.3470) and (310.4528,384.1547) .. (310.9914,384.9379) -- (312.5824,382.5147) .. controls (312.9006,382.0252) and (312.8761,381.7069) .. (312.4353,381.6581) -- (311.7258,381.5599) -- (311.7258,380.8746) -- (317.5271,380.8746) -- (317.5271,381.5599) .. controls (316.2053,381.7069) and (315.8867,381.8048) .. (314.9323,383.2491) -- (312.4599,386.9942) .. controls (313.3168,388.1693) and (314.0021,389.0259) .. (314.2715,389.3683) .. controls (315.2997,390.6168) and (315.5934,390.6659) .. (317.1355,390.8129) -- (317.1355,391.4982) -- (312.6069,391.4982) -- cycle(299.3927,387.8511) .. controls (299.5885,389.6870) and (300.6166,390.8372) .. (301.6447,390.8372) .. controls (302.7220,390.8372) and (303.4806,389.5642) .. (303.4806,388.5852) .. controls (303.4806,388.0466) and (303.3827,387.8999) .. (303.0402,387.8999) -- (299.3927,387.8511) -- cycle(305.5614,383.5183) .. controls (304.6066,382.7839) and (303.8234,382.4902) .. (302.9911,382.4902) .. controls (301.1552,382.4902) and (299.2215,383.7632) .. (299.2706,386.8472) .. controls (301.9384,386.9454) and (305.0961,387.1900) .. (305.4389,387.2391) .. controls (305.9039,387.3367) and (305.9530,387.3858) .. (305.9530,388.2915) .. controls (305.9530,390.0540) and (304.3617,391.7920) .. (302.3058,391.7920) .. controls (299.0745,391.7920) and (296.7982,388.7813) .. (296.8470,385.7212) .. controls (296.8961,382.8575) and (298.7808,380.5809) .. (301.9876,380.5809) .. controls (302.6729,380.5809) and (304.5087,381.0704) .. (305.9039,383.1021) -- (305.5614,383.5183) -- cycle(292.7087,391.8408) .. controls (291.4360,391.4492) and (289.8205,391.1067) .. (288.6211,390.9109) -- (288.6211,390.3477) .. controls (290.1387,390.2007) and (290.1875,390.1519) .. (290.1875,388.6585) -- (290.1875,383.2000) .. controls (290.1875,381.8537) and (290.0408,381.7070) .. (288.5965,381.5600) -- (288.5965,380.8747) -- (294.6428,380.8747) -- (294.6428,381.5600) .. controls (292.8557,381.7070) and (292.7087,381.8537) .. (292.7087,383.2000) -- (292.7087,388.1448) .. controls (293.2476,389.2217) and (293.8105,389.5154) .. (294.2266,389.5154) .. controls (294.6182,389.5154) and (295.0098,389.3196) .. (295.3526,388.9771) .. controls (295.4993,388.8301) and (295.7930,388.7813) .. (296.0625,388.8789) .. controls (296.6253,389.0993) and (297.0660,389.8091) .. (297.0660,390.4211) .. controls (297.0660,391.1067) and (296.4298,391.8408) .. (295.5484,391.8408) .. controls (294.3487,391.8408) and (293.3697,390.2986) .. (292.7823,389.3684) -- (292.7086,389.3684) -- (292.7086,391.8408) -- cycle(276.3892,394.4356) .. controls (276.3892,395.0721) and (276.3892,395.5125) .. (276.5362,395.6350) .. controls (276.6829,395.7574) and (277.3194,395.8553) .. (278.1272,395.8553) .. controls (282.0438,395.8553) and (284.6874,394.0440) .. (284.6874,388.8055) .. controls (284.6874,384.7422) and (282.5821,381.8782) .. (278.5188,381.8782) .. controls (276.6341,381.8782) and (276.3892,382.3435) .. (276.3892,384.5952) -- (276.3892,394.4356) -- cycle(271.6405,396.7855) -- (271.6405,396.0999) .. controls (273.4518,395.9532) and (273.6476,395.7574) .. (273.6476,393.1138) -- (273.6476,384.5464) .. controls (273.6476,381.9028) and (273.4518,381.7070) .. (271.4447,381.5599) -- (271.4447,380.8746) -- (277.4419,380.8746) .. controls (283.1695,380.8746) and (287.8206,383.5183) .. (287.8206,389.5399) .. controls (287.8206,391.6941) and (286.8903,393.5054) .. (285.7643,394.6314) .. controls (284.1488,396.1981) and (281.6522,396.7855) .. (278.9104,396.7855) -- (271.6405,396.7855); \path[fill=white,nonzero rule] (277.1649,373.9784) -- (277.1649,371.3099) .. controls (277.1649,370.4792) and (277.1239,369.7235) .. (276.0893,369.7235) .. controls (275.0546,369.7235) and (275.0137,370.4792) .. (275.0137,371.3099) -- (275.0137,373.9784) -- (273.9584,373.9784) -- (273.9584,370.9013) .. controls (273.9584,369.5942) and (274.8978,368.9613) .. (276.0893,368.9613) .. controls (277.2808,368.9613) and (278.2201,369.5942) .. (278.2201,370.9013) -- (278.2201,373.9784) -- (277.1649,373.9784); \path[fill=white,nonzero rule] (285.3943,369.0631) -- (285.3943,373.9784) -- (284.4072,373.9784) -- (284.4072,370.1253) -- (284.3933,370.1119) -- (282.5215,373.9785) -- (280.9557,373.9785) -- (280.9557,369.0632) -- (281.9429,369.0632) -- (281.9429,373.1344) -- (281.9563,373.1482) -- (283.8966,369.0632) -- (285.3943,369.0632); \path[fill=white,nonzero rule] (287.9938,369.0631) -- (289.0489,369.0631) -- (289.0489,373.9783) -- (287.9938,373.9783) -- (287.9938,369.0631) -- cycle; \path[fill=white,nonzero rule] (293.1186,369.0631) -- (294.2692,369.0631) -- (296.0802,373.9784) -- (295.0383,373.9784) -- (293.7518,370.1047) -- (293.7380,370.1047) -- (292.4581,373.9784) -- (291.3076,373.9784) -- (293.1186,369.0631); \path[fill=white,nonzero rule] (298.3125,369.0631) -- (301.6824,369.0631) -- (301.6824,369.8804) -- (299.3678,369.8804) -- (299.3678,371.1940) -- (301.4647,371.1940) -- (301.4647,372.0109) -- (299.3678,372.0109) -- (299.3678,373.1615) -- (301.6078,373.1615) -- (301.6078,373.9784) -- (298.3125,373.9784) -- (298.3125,369.0631); \path[fill=white,nonzero rule] (305.3086,373.1615) -- (306.1936,373.1615) .. controls (306.6566,373.1545) and (306.9291,372.9710) .. (306.9291,372.5352) .. controls (306.9291,372.0997) and (306.6566,371.8682) .. (306.1936,371.8613) -- (305.3086,371.8613) -- (305.3086,373.1615) -- cycle(305.3086,371.0444) -- (306.4251,371.0444) .. controls (306.7722,371.0306) and (306.8403,370.6564) .. (306.8675,370.3840) .. controls (306.9153,369.9413) and (306.9631,369.4989) .. (307.0515,369.0631) -- (308.2158,369.0631) .. controls (308.0181,369.3356) and (307.9771,369.9141) .. (307.9297,370.2275) .. controls (307.8413,370.9082) and (307.8413,371.4052) .. (307.0309,371.4936) -- (307.0309,371.5074) .. controls (307.6369,371.6368) and (308.0521,372.0588) .. (308.0521,372.6986) .. controls (308.0521,373.6995) and (307.1877,373.9719) .. (306.3436,373.9785) -- (304.2533,373.9785) -- (304.2533,369.0632) -- (305.3086,369.0632) -- (305.3086,371.0444); \path[fill=white,nonzero rule] (314.2601,372.5761) .. controls (314.2601,373.5633) and (313.5181,374.0806) .. (312.5650,374.0806) .. controls (311.5572,374.0806) and (310.5225,373.5836) .. (310.5225,372.4605) .. controls (310.5225,371.5889) and (311.4619,371.2759) .. (312.1495,371.1056) .. controls (312.5719,370.9969) and (313.2729,370.9560) .. (313.2729,370.3771) .. controls (313.2729,369.8529) and (312.7146,369.7235) .. (312.2926,369.7235) .. controls (311.7412,369.7235) and (311.4282,370.0912) .. (311.4691,370.6358) -- (310.3932,370.6358) .. controls (310.3592,369.3968) and (311.1558,368.9613) .. (312.2792,368.9613) .. controls (313.3341,368.9613) and (314.3963,369.3834) .. (314.3963,370.6017) .. controls (314.3963,371.5889) and (313.2935,371.8001) .. (312.5447,371.9906) .. controls (312.1227,372.0928) and (311.6459,372.1540) .. (311.6459,372.6851) .. controls (311.6459,373.1140) and (312.0408,373.3184) .. (312.4288,373.3184) .. controls (312.9393,373.3184) and (313.2048,373.0731) .. (313.2457,372.5761) -- (314.2601,372.5761); \path[fill=white,nonzero rule] (316.8870,369.0631) -- (317.9422,369.0631) -- (317.9422,373.9783) -- (316.8870,373.9783) -- (316.8870,369.0631) -- cycle; \path[fill=white,nonzero rule] (320.2146,373.1615) -- (321.6782,373.1615) -- (321.6782,369.0631) -- (322.7335,369.0631) -- (322.7335,373.1615) -- (324.1971,373.1615) -- (324.1971,373.9784) -- (320.2146,373.9784) -- (320.2146,373.1615); \path[fill=white,nonzero rule] (327.7961,369.0631) -- (328.8511,369.0631) -- (328.8511,370.6701) -- (330.5056,373.9784) -- (329.4231,373.9784) -- (328.3881,371.7251) -- (327.3741,373.9784) -- (326.1417,373.9784) -- (327.7961,370.6701) -- (327.7961,369.0631); \path[fill=black,nonzero rule] (317.2675,431.5469) .. controls (316.1860,431.3992) and (315.2214,430.7506) .. (314.6366,429.7477) .. controls (314.1108,428.7739) and (313.9058,427.3581) .. (314.6661,426.4142) .. controls (315.0459,425.9718) and (315.5138,425.6179) .. (316.0986,425.5884) .. controls (317.6768,425.7655) and (318.7000,427.4174) .. (320.2199,427.8005) .. controls (321.2140,428.1250) and (322.0325,427.5647) .. (322.7342,427.0042) .. controls (323.2604,426.6797) and (323.9912,426.7681) .. (324.4882,427.0926) .. controls (322.8511,425.7652) and (321.7401,423.7889) .. (321.5650,421.6357) .. controls (321.3308,422.6386) and (320.7169,423.7299) .. (319.7232,424.0839) .. controls (318.6126,424.4971) and (317.6480,423.8183) .. (316.8877,423.0810) .. controls (316.1864,422.3436) and (315.8940,421.3997) .. (315.5138,420.5146) .. controls (316.0400,420.9868) and (316.6834,421.6063) .. (317.4725,421.7536) .. controls (318.4665,422.0486) and (319.4020,421.7241) .. (320.1911,421.1344) .. controls (320.4540,420.8689) and (320.7759,420.6328) .. (320.8927,420.2199) .. controls (319.8990,419.5415) and (319.5772,418.3909) .. (319.6358,417.1814) .. controls (319.3142,418.1254) and (318.9636,419.2760) .. (317.8818,419.6889) .. controls (317.1801,419.9839) and (316.3032,419.8955) .. (315.7479,419.3054) .. controls (315.2800,418.8038) and (315.2509,418.0075) .. (315.3678,417.3291) .. controls (315.8062,415.4120) and (317.5602,414.2909) .. (319.2265,413.7304) .. controls (320.9514,413.1109) and (322.5299,411.5180) .. (322.7345,409.6304) .. controls (322.9978,409.6893) and (323.4362,409.8956) .. (323.6700,409.6006) .. controls (323.9329,410.4856) and (324.3422,411.6362) .. (325.3945,411.9309) .. controls (326.1545,412.2262) and (326.9439,411.9309) .. (327.5287,411.4001) .. controls (328.1426,410.7217) and (328.4350,409.8366) .. (328.2595,408.8927) .. controls (328.1717,408.5093) and (327.9962,408.1553) .. (327.7625,407.8308) .. controls (327.8502,408.2732) and (327.9088,408.9814) .. (327.6164,409.3943) .. controls (327.3823,409.7188) and (327.0316,409.9548) .. (326.6515,409.9548) .. controls (326.3594,409.9843) and (326.1548,409.8075) .. (326.0084,409.5714) .. controls (325.6869,408.1258) and (327.4995,407.7424) .. (327.5578,406.3856) .. controls (327.5873,405.6482) and (327.2949,404.9695) .. (326.6518,404.6453) .. controls (325.9505,404.3503) and (325.1902,404.6155) .. (324.6932,405.1466) .. controls (324.4303,405.3824) and (324.2256,405.6777) .. (324.1087,405.9724) .. controls (324.6346,405.7072) and (325.5995,405.4416) .. (326.1548,405.9433) .. controls (326.4180,406.1790) and (326.5346,406.4740) .. (326.5346,406.8280) .. controls (326.5932,407.3591) and (326.1839,407.8014) .. (325.8333,408.0964) .. controls (325.5114,408.3325) and (325.1607,408.4798) .. (324.7515,408.5388) .. controls (324.9856,408.0669) and (324.9564,407.4180) .. (324.6346,407.0051) .. controls (324.1087,406.2677) and (323.1733,406.3264) .. (322.3547,406.4151) .. controls (321.4779,404.2030) and (319.0516,403.0230) .. (316.8884,402.4330) -- (315.3098,402.3151) .. controls (316.3039,401.6956) and (317.3562,401.2234) .. (318.4086,400.7222) .. controls (318.9639,401.7251) and (319.7530,402.8458) .. (320.9517,403.0819) .. controls (321.8285,403.1998) and (322.6471,402.9048) .. (323.1441,402.1969) .. controls (323.5534,401.4595) and (323.8163,400.4566) .. (323.4657,399.6011) -- (323.0855,398.8932) .. controls (323.2610,399.5421) and (323.0563,400.3682) .. (322.5011,400.8695) .. controls (322.2087,401.1056) and (321.8285,401.2234) .. (321.4484,401.1645) .. controls (321.0977,401.1056) and (320.7471,400.8695) .. (320.6302,400.5156) .. controls (320.2500,398.7753) and (322.8226,398.7458) .. (322.5302,396.9761) .. controls (322.4719,396.5039) and (322.2673,396.1205) .. (321.8580,395.7961) .. controls (321.2444,395.2948) and (320.1331,395.2358) .. (319.4026,395.6192) .. controls (318.9348,395.7961) and (318.5255,396.1795) .. (318.1457,396.5039) .. controls (317.5609,396.1795) and (316.6546,396.1503) .. (316.1284,396.6221) .. controls (315.3393,397.2711) and (315.1930,398.2147) .. (314.9592,399.1292) .. controls (311.7435,400.3977) and (308.7325,402.2561) .. (306.2186,404.9698) .. controls (304.4354,406.8872) and (303.6460,409.5125) .. (304.0553,412.1968) .. controls (304.4646,414.6744) and (304.2305,417.5357) .. (302.0966,419.0108) .. controls (301.1026,419.5415) and (299.8161,419.8071) .. (298.7055,419.3647) .. controls (297.5945,418.8929) and (296.8346,417.6539) .. (296.8054,416.4150) .. controls (296.8640,414.2026) and (298.0919,412.3444) .. (299.0860,410.4565) .. controls (300.0214,408.2146) and (299.6121,405.4122) .. (297.8581,403.7607) .. controls (296.4842,402.0793) and (294.5259,401.5780) .. (293.0057,400.1914) .. controls (292.8010,399.9848) and (292.7136,399.6606) .. (292.8305,399.3951) .. controls (293.3275,398.7462) and (294.2921,398.7462) .. (295.1107,398.8051) .. controls (296.8644,399.1296) and (298.1796,400.4570) .. (299.8459,400.9288) .. controls (300.8986,401.0764) and (301.9215,400.7225) .. (302.4771,399.8080) .. controls (302.6817,399.4246) and (302.8569,398.9230) .. (302.7109,398.4511) .. controls (302.5648,397.9790) and (302.2138,397.5367) .. (301.8046,397.3300) .. controls (301.5416,397.2122) and (301.1615,397.2416) .. (300.8691,397.2711) .. controls (301.2201,397.3893) and (301.6585,397.6546) .. (301.7754,398.1264) .. controls (301.8631,398.5101) and (301.7463,398.9230) .. (301.4830,399.2180) .. controls (301.1615,399.5130) and (300.8108,399.6607) .. (300.3724,399.6607) .. controls (300.6353,399.3359) and (300.8691,398.8935) .. (300.8108,398.3919) .. controls (300.6939,397.6251) and (300.1678,396.8877) .. (299.4075,396.6811) .. controls (299.0277,396.5633) and (298.6475,396.7106) .. (298.3260,396.9172) .. controls (298.0339,397.1533) and (297.9167,397.4188) .. (297.7707,397.7138) .. controls (297.9753,397.5072) and (298.2383,397.3599) .. (298.5306,397.3893) .. controls (298.9399,397.4482) and (299.2323,397.6840) .. (299.3783,398.0678) .. controls (299.4661,398.3330) and (299.4661,398.6873) .. (299.3197,398.9230) .. controls (299.1446,399.1885) and (298.8522,399.3657) .. (298.5015,399.2769) .. controls (297.3906,398.9230) and (297.1568,397.3599) .. (296.0167,397.0056) .. controls (294.5551,396.8877) and (293.0057,397.0649) .. (291.4858,396.9761) -- (286.8671,396.8582) .. controls (286.6042,396.9466) and (286.2824,397.0056) .. (286.1655,397.3009) .. controls (285.6393,398.1856) and (286.9549,399.1885) .. (285.8439,399.8673) .. controls (283.0376,401.7843) and (279.9097,403.7017) .. (278.0679,406.8283) .. controls (276.4017,409.6307) and (274.9692,413.8490) .. (277.0735,416.9166) .. controls (278.1845,418.5095) and (280.0263,419.4535) .. (282.0432,419.0995) .. controls (283.6508,418.8929) and (284.9956,417.5656) .. (285.4049,416.0316) -- (285.4927,415.5005) .. controls (284.8787,416.5921) and (283.8850,417.6834) .. (282.6277,418.0963) .. controls (282.7449,417.7718) and (282.6863,417.3000) .. (282.6280,416.9461) .. controls (282.3942,417.4771) and (281.7509,417.9490) .. (281.1664,418.1556) .. controls (281.4293,417.6834) and (281.7220,417.1229) .. (281.6340,416.5037) .. controls (281.2247,416.9755) and (280.6111,417.4474) .. (279.9386,417.2705) .. controls (280.4647,416.8282) and (280.9326,416.3560) .. (281.1373,415.6776) .. controls (280.6697,415.9726) and (279.9680,416.2676) .. (279.3246,416.0021) .. controls (279.8803,415.6482) and (280.8743,415.3531) .. (280.8743,414.4386) .. controls (280.5819,414.6453) and (280.1727,414.7337) .. (279.8217,414.6453) -- (279.3832,414.4386) .. controls (279.8217,414.2618) and (280.4356,414.1145) .. (280.7571,413.6424) -- (281.0204,413.1705) .. controls (280.4064,413.2294) and (279.7634,413.1407) .. (279.3246,412.6689) .. controls (279.9972,412.5510) and (280.6988,412.4626) .. (281.1373,411.8432) .. controls (280.5525,411.6955) and (279.9386,411.3710) .. (279.7339,410.7221) .. controls (280.2896,411.0171) and (281.1373,411.0171) .. (281.6634,410.5747) .. controls (281.0204,410.2208) and (280.3478,409.5423) .. (280.5233,408.6868) .. controls (281.0790,409.1291) and (281.8681,409.5129) .. (282.6283,409.1586) .. controls (281.8098,408.8047) and (281.2836,407.9789) .. (281.2541,407.1528) -- (281.2836,406.9171) .. controls (281.8681,407.5955) and (282.6284,408.0378) .. (283.5344,407.8610) .. controls (282.7453,407.4773) and (282.3943,406.6810) .. (282.4820,405.7959) .. controls (282.6284,405.8846) and (282.7453,406.0910) .. (282.9208,406.2092) .. controls (283.4761,406.5631) and (284.0314,406.9171) .. (284.6745,406.9465) .. controls (284.2360,406.3565) and (283.6221,405.5893) .. (283.8854,404.7341) .. controls (284.2946,405.5013) and (285.0546,406.3270) .. (285.9314,406.4154) .. controls (285.4930,405.8254) and (285.3470,405.0881) .. (285.3470,404.3212) .. controls (285.9609,405.1765) and (286.8669,406.1794) .. (287.8901,406.5631) .. controls (287.5391,405.9141) and (287.2176,404.8225) .. (287.5977,404.0262) .. controls (287.8901,404.9997) and (288.5040,406.0026) .. (289.2348,406.6512) .. controls (289.0885,405.8254) and (289.3517,405.0586) .. (289.9948,404.4980) -- (290.0534,404.5569) .. controls (290.0239,405.6191) and (290.4332,406.5333) .. (290.9594,407.3299) .. controls (290.8425,406.6220) and (291.2517,405.9730) .. (291.8657,405.6188) -- (292.1289,405.5009) .. controls (291.8365,406.2386) and (291.6319,407.0938) .. (291.7779,408.0083) .. controls (292.3041,407.4478) and (293.0644,406.7693) .. (293.9117,406.8872) .. controls (292.6551,408.0083) and (291.3978,409.2473) .. (290.8716,410.8104) .. controls (291.3686,410.2797) and (292.1577,409.9254) .. (293.0054,409.9847) .. controls (291.4272,411.1054) and (289.9948,413.0523) .. (289.8484,415.0876) .. controls (290.1994,414.2618) and (290.9885,413.6125) .. (291.8071,413.3178) .. controls (290.6961,414.9697) and (289.5269,416.8868) .. (290.1405,419.1286) .. controls (290.2868,418.0668) and (290.9008,416.8868) .. (292.0117,416.5626) .. controls (291.3978,417.7129) and (290.5792,418.8929) .. (290.7544,420.3676) .. controls (290.8127,421.2821) and (291.1051,422.1671) .. (291.6312,422.9045) .. controls (291.2514,422.0784) and (291.1928,420.7808) .. (291.9528,420.0137) -- (292.0114,419.9548) .. controls (291.7776,422.2556) and (292.6544,424.5269) .. (294.6422,425.5888) -- (295.4022,426.0016) .. controls (294.7883,425.2050) and (294.3793,424.3498) .. (294.3793,423.3171) .. controls (295.2558,425.2050) and (297.0976,427.0635) .. (299.4364,426.9456) .. controls (299.7870,426.9751) and (300.1086,426.9158) .. (300.4301,426.8569) .. controls (299.4655,426.4146) and (298.2668,425.6769) .. (298.1499,424.4677) .. controls (299.7284,425.9129) and (301.9503,426.7096) .. (304.1133,425.9129) .. controls (304.6103,425.7063) and (305.1656,425.4411) .. (305.4872,425.0279) .. controls (304.7272,425.4411) and (303.8504,425.1166) .. (303.2070,424.7034) .. controls (302.9149,424.4972) and (302.5056,424.2021) .. (302.3888,423.8482) .. controls (303.8795,424.4088) and (306.1597,424.7922) .. (307.3289,423.2877) -- (308.0598,422.1374) .. controls (307.2707,422.6685) and (306.3352,423.1108) .. (305.3120,422.9046) .. controls (305.1365,422.8453) and (304.9610,422.7569) .. (304.7858,422.6092) .. controls (306.4226,422.5503) and (308.0306,421.7537) .. (308.7028,420.2200) -- (308.9075,419.3055) .. controls (308.4982,420.1021) and (307.6505,420.8984) .. (306.6859,420.9279) .. controls (307.2412,420.3382) and (308.0892,419.7482) .. (308.3521,418.9221) .. controls (308.9078,417.6831) and (309.0538,416.1789) .. (310.3985,415.4121) .. controls (310.9247,415.1466) and (311.4800,414.9694) .. (312.0648,414.8810) .. controls (310.0479,415.7068) and (309.3171,418.1258) .. (309.1707,420.2495) .. controls (309.6677,419.6303) and (310.3108,419.0694) .. (311.0125,418.7748) .. controls (310.6615,419.2171) and (310.3108,419.5121) .. (309.9307,419.9839) .. controls (308.7614,421.4001) and (308.0598,423.2582) .. (308.4982,425.1461) .. controls (308.8197,426.3553) and (309.6383,427.3582) .. (310.4274,428.3611) .. controls (309.7846,427.1224) and (309.6674,425.3233) .. (310.4569,424.1137) .. controls (310.8367,423.5237) and (311.3632,423.0221) .. (311.8893,422.6387) .. controls (310.8661,423.9955) and (310.3982,426.0013) .. (311.0122,427.7419) .. controls (311.8890,430.1312) and (314.3444,431.3993) .. (316.7123,431.5764) -- (317.2676,431.5469); \path[fill=white,nonzero rule] (314.4906,424.9100) .. controls (314.8707,424.6150) and (315.4260,424.4378) .. (315.9231,424.6444) .. controls (316.0109,424.6739) and (316.0986,424.7328) .. (316.2155,424.7623) .. controls (315.7770,424.2905) and (315.3091,423.3171) .. (314.4906,423.5237) .. controls (313.7892,424.0544) and (314.0522,425.1461) .. (313.9936,425.9424) .. controls (314.0231,425.5295) and (314.1982,425.2050) .. (314.4906,424.9100); \path[fill=white,nonzero rule] (312.1524,410.9578) .. controls (312.7372,411.0167) and (313.2634,411.4001) .. (313.5849,411.8723) .. controls (313.9356,410.8101) and (314.4621,409.1880) .. (313.5849,408.1851) .. controls (313.3220,407.9196) and (313.0005,407.8014) .. (312.6203,407.8014) .. controls (311.1587,407.8901) and (310.5157,409.4238) .. (310.1060,410.6627) .. controls (309.8140,411.5183) and (309.8140,412.4623) .. (309.6968,413.4062) .. controls (310.1355,412.3735) and (310.8663,410.9283) .. (312.1524,410.9578); \path[fill=white,nonzero rule] (320.8934,398.4803) .. controls (321.1563,398.2147) and (321.3023,397.9200) .. (321.2440,397.5363) .. controls (321.2440,397.2122) and (320.9517,396.8874) .. (320.6887,396.7695) .. controls (320.0748,396.5039) and (319.3440,396.7106) .. (318.8178,397.0056) .. controls (319.3145,397.5068) and (319.6072,398.0969) .. (319.6947,398.7458) .. controls (320.1331,398.8047) and (320.5424,398.7163) .. (320.8934,398.4803); \path[fill=white,nonzero rule] (322.0034,426.5913) .. controls (322.0616,426.2668) and (321.8865,426.0013) .. (321.6232,425.8834) .. controls (321.1848,425.7652) and (320.6000,425.7652) .. (320.2785,426.1195) .. controls (320.1324,426.3258) and (320.0447,426.6208) .. (320.2199,426.8274) .. controls (320.6586,427.3581) and (321.6818,427.2403) .. (322.0034,426.5913); \path[fill=white,nonzero rule] (317.0930,398.3624) .. controls (317.0639,398.0968) and (316.8592,397.8611) .. (316.5963,397.8018) .. controls (316.2453,397.7723) and (316.1575,398.0968) .. (316.0701,398.3624) -- (316.0406,398.7753) -- (317.0929,398.3624); \path[fill=white,nonzero rule] (323.3484,407.8309) .. controls (323.3193,407.3590) and (322.9977,407.1524) .. (322.5885,407.0051) .. controls (322.7345,407.4474) and (322.7640,407.9785) .. (322.7057,408.4504) .. controls (322.9686,408.3325) and (323.2315,408.1259) .. (323.3484,407.8309); \end{scope} \end{tikzpicture} } % \end{macrocode} % \end{macro} % % \begin{option}{subfig} % Set \Lopt{subfig} flag % \begin{macrocode} \DeclareOptionX{subfig}{\@DUT@subfigopttrue} % \end{macrocode} % \end{option} % % \begin{option}{finalspace} % \begin{macrocode} \DeclareOptionX{finalspace}{ \setlength\overfullrule{0pt} \def\@DUT@toc@sep{1} % content page separation (# blanklines between entries) \def\@ssp{1} % single space \def\@dsp{2} % double space \def\@tsp{3} % triple space } % \end{macrocode} % \end{option} % \begin{option}{draftspace} % \begin{macrocode} \DeclareOptionX{draftspace}{ \setlength\overfullrule{5pt} \def\DUT@toc@sep{0} % content page separation (# blanklines between entries) \def\@ssp{1} % single space \def\@dsp{1} % double space \def\@tsp{2} % triple space } % \end{macrocode} % \end{option} % % \begin{option}{pagebreak} % \begin{macrocode} \DeclareOptionX{pagebreak}{ \@DUT@pagebreaktrue % \end{macrocode} % Force chapters onto right-hand pages. % \begin{macrocode} \PassOptionsToClass{openright}{book} } % \end{macrocode} % \end{option} % \begin{option}{nopagebreak} % \begin{macrocode} \DeclareOptionX{nopagebreak}{ \@DUT@pagebreakfalse % \end{macrocode} % Don't force chapters onto right-hand pages. % \begin{macrocode} \PassOptionsToClass{openany}{book} } % \end{macrocode} % \end{option} % % \begin{option}{dottedpart} % \begin{macrocode} \DeclareOptionX{dottedpart}{\@dottedparttrue} % \end{macrocode} % \end{option} % \begin{option}{dottedchapter} % \begin{macrocode} \DeclareOptionX{dottedchapter}{\@dottedchaptertrue} % \end{macrocode}1 % \end{option} % \begin{option}{boldpart} % \begin{macrocode} \DeclareOptionX{boldpart}{\@boldparttrue} % \end{macrocode} % \end{option} % \begin{option}{boldchapter} % \begin{macrocode} \DeclareOptionX{boldchapter}{\@boldchaptertrue} % \end{macrocode} % \end{option} % \begin{option}{dottedtoc} % \begin{macrocode} \DeclareOptionX{dottedtoc}{ \setkeys{drexel-thesis.cls}{dottedpart} \setkeys{drexel-thesis.cls}{dottedchapter} } % \end{macrocode} % \end{option} % \begin{option}{boldtoc} % \begin{macrocode} \DeclareOptionX{boldtoc}{ \setkeys{drexel-thesis.cls}{boldpart} \setkeys{drexel-thesis.cls}{boldchapter} } % \end{macrocode} % \end{option} % % \begin{option}{indenttoc} % Set \Lopt{indenttoc} flag % \begin{macrocode} \DeclareOptionX{indenttoc}{\@indenttoctrue} % \end{macrocode} % \end{option} % % \begin{option}{blackref} % Set \Lopt{blackref} flag % \changes{0.13}{2010/06/17}{W.~Trevor King added blackref option.} % \begin{macrocode} \DeclareOptionX{blackref}{\@blackreftrue} % \end{macrocode} % \end{option} % % \begin{option}{draftwatermark} % Set \Lopt{draftwatermark} flag % \begin{macrocode} \DeclareOptionX{draftwatermark}{% \@draftwatermarktrue \@xdraftwatermarkfalse} % \end{macrocode} % \end{option} % % \begin{option}{xdraftwatermark} % Set \Lopt{xdraftwatermark} flag % \changes{0.15}{2011/04/22}{W.~Trevor King renamed mydraftwatermark % to xdraftwatermark.} % \begin{macrocode} \DeclareOptionX{xdraftwatermark}{% \@draftwatermarkfalse \@xdraftwatermarktrue} % \end{macrocode} % \end{option} % % \begin{option}{nodraftwatermark} % Clear \Lopt{draftwatermark} and \Lopt{xdraftwatermark} flags % \changes{0.15}{2011/04/22}{W.~Trevor King added nodraftwatermark option.} % \begin{macrocode} \DeclareOptionX{nodraftwatermark}{% \@draftwatermarkfalse \@xdraftwatermarkfalse} % \end{macrocode} % \end{option} % % \begin{option}{indentfirst} % Set \Lopt{indentfirst} flag % \begin{macrocode} \DeclareOptionX{indentfirst}{\@indentfirsttrue} % \end{macrocode} % \end{option} % % Define the book options that \Lopt{final} and \Lopt{draft} need to % access. % \begin{option}{oneside} % \begin{macrocode} \DeclareOptionX{oneside}{\PassOptionsToClass{oneside}{book}} % \end{macrocode} % \end{option} % % \begin{option}{twoside} % \begin{macrocode} \DeclareOptionX{twoside}{\PassOptionsToClass{twoside}{book}} % \end{macrocode} % \end{option} % % \begin{option}{final} % \begin{macrocode} \DeclareOptionX{final}{ \@finaltrue \setkeys{drexel-thesis.cls}{oneside} \setkeys{drexel-thesis.cls}{finalspace} \setkeys{drexel-thesis.cls}{pagebreak} \setkeys{drexel-thesis.cls}{dottedtoc} } % \end{macrocode} % \end{option} % % \begin{option}{draft} % \begin{macrocode} \DeclareOptionX{draft}{ \@finalfalse \setkeys{drexel-thesis.cls}{twoside} \setkeys{drexel-thesis.cls}{draftspace} \setkeys{drexel-thesis.cls}{nopagebreak} \setkeys{drexel-thesis.cls}{dottedtoc} \setkeys{drexel-thesis.cls}{xdraftwatermark} } % \end{macrocode} % \end{option} % % \begin{option}{daring} % \begin{macrocode} \DeclareOptionX{daring}{ \@daringtrue } % \end{macrocode} % \end{option} % % \begin{option}{approvalform} % \begin{macrocode} \DeclareOptionX{approvalform}{ \@approvalformtrue } % \end{macrocode} % \end{option} % % Use the default \cls{book} implementation for any remaining options % including \Lopt{oneside}, \Lopt{twoside}, \Lopt{leqno}, \Lopt{fleqn}, % \ldots. % \begin{macrocode} \DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{book}} % \end{macrocode} % % Execute the default options % \begin{macrocode} \ExecuteOptionsX{final} % \end{macrocode} % % Process options and load the book class % \begin{macrocode} \ProcessOptionsX\relax \LoadClass{book} % \end{macrocode} % % % \subsection{Internal package includes} % % % Include some other packages we'll need. If the package is not % installed on your system, see \S \ref{sec:dependencies} for % installation instructions. % % For many packages, we want the same functionality for both % \Lopt{final} and \Lopt{draft} modes. We pass \Lopt{final} to most % of those packages to override a possible \Lopt{draft} option passed % to \pkg{drexel-thesis}. % % % \subsubsection{\pkg{setspace}} % % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/setspace/}{\pkg{setspace}} % for double spacing. % \begin{macrocode} \RequirePackage{setspace} % \end{macrocode} % % % \subsubsection{\pkg{calc}} % % \href{http://www.ctan.org/tex-archive/macros/latex/required/tools/}{\pkg{calc}} % for |\set@lines@length| macro (page % \pageref{sec:implement-line-spacing}). % \begin{macrocode} \RequirePackage{calc} % \end{macrocode} % % % \subsubsection{\pkg{graphicx}} % % \href{http://www.ctan.org/tex-archive/macros/latex/required/graphics/}{\pkg{graphicx}} % for |\includegraphics|. Not strictly necessary, but I can't imagine % a thesis without figures. % \begin{macrocode} \RequirePackage[final]{graphicx} % \end{macrocode} % % We include the graphicx package now so we can % pass \Lopt{final}, because some later packages include it with no options, % and a \Lopt{final} include after that produces errors like % \begin{example} % l.104 \RequirePackage % [final]{ifpdf} % The package graphicx has already been loaded with options: % [] % There has now been an attempt to load it with options % [final] % \end{example} % % % \subsubsection{\pkg{draftmark}} % \label{sec:draftmark} % % The Comp.~Sci.\ class used % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/draftcopy/}{\pkg{draftcopy}} % to add their watermarks, but as of the current 2002/02/25 v2.16, it % uses postscript specials, and so doesn't work with pdf\LaTeX. % Instead we use the recent (catalogued 2009/11/03) % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/draftmark/}{\pkg{draftmark}} % which unfortunately has a number of apparently non-standard dependencies % (\href{http://www.ctan.org/tex-archive/macros/latex/contrib/etextools/}{\pkg{etextools}}, % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/etoolbox/}{\pkg{etoolbox}}, % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/lastpage/}{\pkg{lastpage}}, % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/ltxnew/}{\pkg{ltxnew}}, % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/pagerange/}{\pkg{pagerange}}, % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/xifthen/}{\pkg{xifthen}}, % if only I had the space to install |texlive-latexextra| |:p|). % The output is, however, very flexible, and it \emph{does} work with % both \LaTeX\ and pdf\LaTeX. If you don't like the default watermark, % you can also adjust the particulars with |\draftmarksetup|. % \begin{macrocode} \if@draftwatermark \RequirePackage[draft,allpages,mark={DRAFT \today}, fontsize=2cm,grayness=0.9]{draftmark} \fi % \end{macrocode} % % Travis Hoppe went for a more discrete watermark in the lower right % corner with something along the lines of: % \begin{example} % \ifdraftwatermark{ % \draftmarksetup{angle=0,fontsize=24pt,color=red!45!blue!25, % xcoord=80,ycoord=-129,mark={DRAFT\\[12pt] \today}} % }{} % \end{example} % % Here is Evan's alternative implementation. This will not look right % as a DVI, but it'll look fine once rendered to either a PS or PDF. % \begin{macrocode} \if@xdraftwatermark % \end{macrocode} % Use \pkg{eso-pic} for |\AddToShipoutPicture|. % \begin{macrocode} \RequirePackage{eso-pic} % \end{macrocode} % Use \pkg{xcolor} for |\definecolor|. % \begin{macrocode} \RequirePackage{xcolor} \definecolor{watermark}{rgb}{0.9,0.9,0.9} % \end{macrocode} % Set the font explicitly to avoid being effected by the last text on % the page having some strange font. |\sffamily| sets a sans serif % font. % \begin{macrocode} \newcommand{\watermarkfont}{% \color{watermark}}%\fontfamily{phv}\selectfont\sffamily} \newcommand{\watermark}{% \rule{4.25in}{0pt}\raisebox{5.5in}{% \makebox[0pt]{% % \end{macrocode} % |\rotatebox| and |\resizebox| from \pkg{graphicx}. % \begin{macrocode} \rotatebox[origin=c]{45}{% \resizebox{!}{1.5in}{% {\watermarkfont DRAFT}% }}}} \raisebox{4.2in}{% \makebox[0pt]{% \rotatebox[origin=c]{45}{% \resizebox{!}{.6in}{% {\watermarkfont \qquad\today}% }}}}} \AddToShipoutPicture{\watermark{}} \fi % \end{macrocode} % % % \subsubsection{\pkg{indentfirst}} % % Indent the first paragraph after sections etc.\ with % \href{http://www.ctan.org/tex-archive/macros/latex/required/tools/}{\pkg{indentfirst}}. % \begin{macrocode} \if@indentfirst \RequirePackage{indentfirst} \fi % \end{macrocode} % % % \subsubsection{\pkg{geometry}} % % Setup page margins with % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/geometry/}{\pkg{geometry}}. % From the Manual p5: % \begin{itemize} % \item The left margin must be at least 1 1/2'' (1.5 inches) % throughout the document. % \item All other margins (top, bottom, and right) must be at least 1''. % \end{itemize} % And from the Manual \S 1.5 p4, Print Version: % \begin{quote} % The paper size must be 8 1/2'' x 11''. % \end{quote} % \begin{macrocode} \RequirePackage[letterpaper,margin=1in,bindingoffset=0.5in]{geometry} % \end{macrocode} % Note that we include the \pkg{geometry} package after loading \cls{book} to % override the margin manipulation that takes place in \cls{book}. % % % \subsubsection{\pkg{tocloft}} % % Typeset the table of contents, etc., with % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/tocloft/}{\pkg{tocloft}}. % \begin{macrocode} \if@DUT@subfigopt \RequirePackage[subfigure]{tocloft} \else \RequirePackage{tocloft} \fi % \end{macrocode} % The \Lopt{subfigure} option sets up \pkg{tocloft} for % \pkg{subfig}/\pkg{subfigure} compatibility. See the % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/tocloft/tocloft.pdf}{% % \pkg{tocloft} manual \S 2.1} % for details. % % The configuration of \pkg{tocloft} takes place in \S % \ref{sec:implement-toc}, \S \ref{sec:implement-lof}, and \S % \ref{sec:implement-lot}. % % % \subsubsection{\pkg{caption}} % % Get nice caption formatting with % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/caption/}{\pkg{caption}}. % From the Manual p5: % \begin{itemize} % \item The left margin must be at least 1 1/2'' (1.5 inches) % throughout the document. % \item All other margins (top, bottom, and right) must be at least 1''. % \end{itemize} % \begin{macrocode} \RequirePackage[margin=10pt,labelfont=bf,labelsep=colon]{caption} % \end{macrocode} % You can change these settings if you like using |\captionsetup|. % % % \subsubsection{\pkg{floatrow}} % \label{sec:floatrow} % % Enforce caption placement with % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/floatrow/}{\pkg{floatrow}}. % From the Manual \S 2.3 p6, ``Tables and Figures'', % \begin{quote} % \begin{itemize} % \item Place figure captions below figures. % \item Place table captions above tables. % \end{itemize} % \end{quote} % \begin{macrocode} \RequirePackage{floatrow} \floatsetup[table]{style=plaintop} \floatsetup{captionskip=10pt} \floatsetup[table]{captionskip=10pt} % \end{macrocode} % Use \pkg{fr-subfig} for \pkg{floatrow}/\pkg{subfig} compatibility. % See the \pkg{floatrow} documentation (Sec.~7.1, ``The \pkg{subfig} % package'') and \pkg{subfig} documentation (Sec.~4.3, % ``\pkg{FloatRow} Package'') for details. % \begin{macrocode} \if@DUT@subfigopt \RequirePackage{fr-subfig} \fi % \end{macrocode} % We set up the three-line surrounding spaces in \S % \ref{sec:implement-floats}. % % You can change these settings using |\floatsetup|, but you probably % won't need to. % % % \subsubsection{\pkg{subfig}} % \label{sec:subfig} % % Allow multi-part figures with % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/}{\pkg{subfig}}. % \begin{macrocode} \if@DUT@subfigopt \RequirePackage{subfig} \fi % \end{macrocode} % % % \subsubsection{\pkg{fancyhdr}} % \label{sec:fancyhdr} % % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/fancyhdr/}{\pkg{fancyhdr}} % for correct page numbering and fancy headers. % From the Manual \S 2.3 p5, ``Pagination'' % \begin{quote} % Place page numbers in the upper right-hand corner of the page, % 3/4'' from the top. % \end{quote} % \begin{macrocode} \RequirePackage{fancyhdr} % \end{macrocode} % Setup the standard |fancy| format. % \begin{macrocode} \pagestyle{fancy} \fancyhf{} % \end{macrocode} % Turn off the header rule by setting its width to $0$. % \begin{macrocode} \renewcommand{\headrulewidth}{0pt} % \end{macrocode} % 0.4 pt is \pkg{fancyhdr}'s default |\headrulewidth|, so we'll % recycle the value. % \begin{macrocode} \renewcommand{\footrulewidth}{0.4pt} % \end{macrocode} % |\leftmark| is the higher level mark, see |\chaptermark| below. % |\rightmark| is the lower level mark, see |\sectionmark| below. % We put the lower level mark to the outside because it changes more % often. Page numbers also go on the outside. % \begin{macrocode} \fancyfoot[RE,LO]{\scshape\leftmark} \fancyfoot[LE,RO]{\scshape\rightmark} \fancyhead[LE,RO]{\thepage} % \end{macrocode} % Override the |plain| format (for part pages, etc.). % \begin{macrocode} \fancypagestyle{plain}{ \fancyhf{} \renewcommand{\footrulewidth}{0pt} \fancyhead[LE,RO]{\thepage} } % \end{macrocode} % Keep the |empty| format at its default. % \begin{macrocode} \fancypagestyle{empty}{ \fancyhf{} \renewcommand{\footrulewidth}{0pt} } % \end{macrocode} % % Note that the chapter/section footer is not required. You can % remove the footer text and rule entirely with. % \begin{example} % \renewcommand{\footrulewidth}{0pt} % \fancyfoot[RE,LO]{} % \fancyfoot[LE,RO]{} % \end{example} % % % \subsubsection{\pkg{ifpdf}} % % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/}{\pkg{ifpdf}} % for detecting PDF drivers. We use it to configure \pkg{hyperref} below. % \begin{macrocode} \RequirePackage{ifpdf} % \end{macrocode} % % \subsubsection{\pkg{hyperref}} % \label{sec:hyperref} % % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref/}{\pkg{hyperref}} % for hyperlinks. Not strictly necessary, but I can't imagine a % thesis without it. We actually include this later (\S % \ref{sec:hyperref-inclusion}), because \pkg{hyperref} sticks its % fingers into \emph{everything} and we want it to use our versions of % some macros (e.g., |\@sect|) but not others (e.g., |thebibliography|). % % % \subsubsection{\pkg{hypcap}} % \label{sec:hypcap} % % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/}{\pkg{hypcap}} % for placing caption hyperlink anchors. Must be included after % \pkg{hypercap}, so the actual inclusion is in \S % \ref{sec:hypcap-inclusion}). % % % \subsubsection{\pkg{tikz}} % \label{sec:tikz} % % \href{http://sourceforge.net/projects/pgf/}{\pkg{tikz}} % for vector drawing natively in \TeX. This package is currently only % required for the \Lopt{approvalform} option (it is used in drawing % the Drexel logo on the approval form). % \begin{macrocode} \if@approvalform\RequirePackage{tikz}\fi % \end{macrocode} % % % \subsection{\LaTeX\ overrides and extensions} % % Here we change the behavior of a bunch of macros and environments % from \file{latex.ltx} (generated by \file{format.ins} in % \href{http://www.ctan.org/tex-archive/macros/latex/base/}{\pkg{base}}). % We'll copy in their original notes along with their code, following % the relevant documentation an order given in \file{format.ins} and % the associated \file{*.dtx} files. % % % \subsubsection{\file{ltsect.dtx}} % % \begin{macro}{\title} % \begin{macro}{\DUTtitle} % \begin{macro}{\@DUT@title} % |\title| for use in |\maketitle|. If not given |\maketitle| will % produce a warning message (\file{ltsect.dtx}, L117). % % We extend |\title| to set \pkg{hyperref}'s |pdftitle|. % (\file{ltsect.dtx}, L117). % \begin{macrocode} \renewcommand{\title}[1]{ \gdef\@DUT@title{#1} \ifpdf \hypersetup{pdftitle={\@DUT@title}} \fi } \let\DUTtitle\title \def\@DUT@title{\@latex@error{No \noexpand\title given}\@ehc} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\author} % \begin{macro}{\DUTauthor} % \begin{macro}{\@DUT@author} % |\author| for use in |\maketitle|. If not given |\maketitle| will % produce a warning message (\file{ltsect.dtx}, L129). % % We extend |\author| to set \pkg{hyperref}'s |pdfauthor| if we're % writing a PDF to avoid using |\AtBeginDocument| or some such. % (\file{ltsect.dtx}, L129). % \begin{macrocode} \renewcommand{\author}[1]{ \gdef\@DUT@author{#1} \ifpdf \hypersetup{pdfauthor={\protect\@DUT@author}} \fi } \let\DUTauthor\author \def\@DUT@author{\@latex@error{No \noexpand\author given}\@ehc} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % In a similar vein, we some additional meta-info macros. % % \begin{macro}{\DUTmonth} % \begin{macro}{\@DUT@month} % |\DUTmonth| (defense month) for use in |\maketitle|. If not given % |\maketitle| will produce an error message. % \begin{macrocode} \def\DUTmonth#1{\gdef\@DUT@month{#1}} \def\@DUT@month{\@latex@error{No \noexpand\DUTmonth given}\@ehc} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\DUTyear} % \begin{macro}{\@DUT@year} % |\DUTyear| (defense year) for use in |\maketitle|. If not given % |\maketitle| will produce an error message. % \begin{macrocode} \def\DUTyear#1{\gdef\@DUT@year{#1}} \def\@DUT@year{\@latex@error{No \noexpand\DUTyear given}\@ehc} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\degree} % \begin{macro}{\DUTdegree} % \begin{macro}{\@DUT@degree} % |\degree| for use in |\maketitle|. If not given |\maketitle| will % produce an error message. % \begin{macrocode} \def\degree#1{\gdef\@DUT@degree{#1} \ifpdf \hypersetup{pdfsubject={\@DUT@degree}} \fi} \let\DUTdegree\degree \def\@DUT@degree{\@latex@error{No \noexpand\degree given}\@ehc} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\copyrighttext} % \begin{macro}{\DUTcopyrighttext} % \begin{macro}{\@copyrighttext} % |\copyrighttext| for use in |\@DUT@makecopyright|. There are a % number of blurbs predefined in \S \ref{sec:implement-copyright}. % \begin{macrocode} \def\copyrighttext#1{\gdef\@DUT@copyrighttext{#1}} \let\DUTcopyrighttext\copyrighttext \def\@DUT@copyrighttext{All Rights Reserved.} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\advisor} % \begin{macro}{\DUTadvisor} % \begin{macro}{\@DUT@advisor} % |\advisor| stores advisor names, and |\@DUT@advisor| prints them out % nicely for the |abstract| environment. If no advisors are given % |\@DUT@advisor| will produce an error message. We get a bit fancier % here to support multiple advisors. % \begin{macrocode} \newcounter{@DUT@advisors} \setcounter{@DUT@advisors}{0} % \end{macrocode} % Store a new advisor name. % \begin{macrocode} \newcommand\advisor[1]{% \ifx % \end{macrocode} % If |#1| is |\empty|, this call is a no-op. % \begin{macrocode} \empty{#1} \else % \end{macrocode} % Save the advisors to |\@DUT@advisor@a|, |\@DUT@advisor@b|, \ldots. % |\alph{|\Lcount{COUNTER}|}| (\file{ltcounts.dtx}, L319) prints the % value of \Lcount{COUNTER} as a lowercase letter: $1 =$~a, $2 =$~ % b, etc. % \begin{macrocode} \stepcounter{@DUT@advisors} \expandafter\gdef\csname @DUT@advisor@\alph{@DUT@advisors}\endcsname{#1} \fi} % \end{macrocode} % Format and print a list of advisor names. % \begin{macrocode} \newcommand\@DUT@advisor{% \ifnum\c@@DUT@advisors=0% \@latex@error{No \noexpand\advisor given}\@ehc% \else% % \end{macrocode} % Start a group so the scratch counter \Lcount{count\textat} is restored % afterwards\footnote{See the discussion in % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/localloc/}{% % \pkg{localloc}} % for some points on counter allocation.}. % \begin{macrocode} \begingroup% % \end{macrocode} % Because \Lcount{count\textat} is a \TeX\ counter register not % wrapped by \LaTeX's counter sugar, we don't use \LaTeX's % |\setcounter| to set \Lcount{count\textat} to one. % \begin{macrocode} \count@\@ne % \end{macrocode} % Print the first advisor, using \TeX's |\@alph| macro instead of % \LaTeX's |\alph|. % \begin{macrocode} % \begin{macrocode} \csname @DUT@advisor@\@alph\count@\endcsname\relax% % \end{macrocode} % For any remaining advisors\ldots % \begin{macrocode} \loop\ifnum\count@<\c@@DUT@advisors% % \end{macrocode} % Advance \Lcount{count\textat} using \TeX's |\advance| macro instead % of \LaTeX's |\stepcounter|. % \begin{macrocode} \advance\count@\@ne % \end{macrocode} % Print the connecting text. % \begin{macrocode} \ifnum\count@=\c@@DUT@advisors% \ifnum\c@@DUT@advisors=2% % \end{macrocode} % The next advisor if the last of two. % \begin{macrocode} {\ and\ }% \else% % \end{macrocode} % The next advisor if the last of many. % \begin{macrocode} {, and\ }% \fi% \else% % \end{macrocode} % The next advisor is not the last. % \begin{macrocode} {,\ }% \fi% % \end{macrocode} % Print the advisor's name. % \begin{macrocode} \csname @DUT@advisor@\@alph\count@\endcsname\relax% \repeat% \endgroup% \fi} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \paragraph{baselineskip} % \label{sec:implement-line-spacing} % % \begin{macro}{\@DUT@baselineskip} % Since we'll be messing with the spacing, save the single-spaced % baseline. % \changes{0.3}{2010/01/13}{Use \cs{setlength} to store the value at % the default font. The previous version used \cs{let}, which % made \cs{DUT@baselineskip} a synonym for \cs{baselineskip} that % changed with font size.} % \begin{macrocode} \newlength\@DUT@baselineskip \setlength\@DUT@baselineskip\baselineskip % \end{macrocode} % \end{macro} % % \begin{command} % `\cs{set@lines@length}\marg{length}\marg{N}' % \end{command} % \begin{macro}{\set@lines@length} % Many specifications in the Manual refer to ``\meta{N} blank lines''. % |\set@lines@length| allows you to set a length to a given number of % lines, protecting against external |spacing| environments. It % requires \pkg{calc} for the multiplication. % \begin{macrocode} \newcommand{\set@lines@length}[2]{% \setlength{#1}{\@DUT@baselineskip * {#2}}} % \end{macrocode} % \end{macro} % % % Fix |\@ssect| and |\@sect| from \file{latex.ltx} to give single % spaced headings. % % \begin{macro}{\@sect} % Pseudocode for the |\@sect| command % \begin{example} % \@sect{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}[ARG1]{ARG2} % == % BEGIN % IF LEVEL > \c@secnumdepth % THEN \@svsec :=L null % ELSE \refstepcounter{NAME} % \@svsec :=L BEGIN \@seccntformat{#1}\relax END % FI % IF AFTERSKIP > 0 % THEN \begingroup % STYLE % \@hangfrom{\hskip INDENT\@svsec} % {\interlinepenalty 10000 ARG2\par} % \endgroup % \NAMEmark{ARG1} % \addcontentsline{toc}{NAME} % { IF LEVEL > \c@secnumdepth % ELSE \protect\numberline{\theNAME} FI % ARG1 } % ELSE \@svsechd == BEGIN STYLE % \hskip INDENT\@svsec % ARG2 % \NAMEmark{ARG1} % \addcontentsline{toc}{NAME} % { IF LEVEL > \c@secnumdepth % ELSE % \protect\numberline{\theNAME} % FI % ARG1 } % END % FI % \@xsect{AFTERSKIP} % END % \end{example} % (\file{ltsect.dtx}, L295). % \begin{macrocode} \def\@sect#1#2#3#4#5#6[#7]#8{% \ifnum #2>\c@secnumdepth \let\@svsec\@empty \else \refstepcounter{#1}% \protected@edef\@svsec{\@seccntformat{#1}\relax}% \fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup % \end{macrocode} % Here we deviate from \file{ltsect.dtx} to ensure single spacing for % the section title. % \begin{macrocode} \setstretch{\@ssp}% #6{% \@hangfrom{\hskip #3\relax\@svsec}% \interlinepenalty \@M #8\@@par}% \endgroup \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}% \fi #7}% \else \def\@svsechd{% #6{\hskip #3\relax \@svsec #8}% \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}% \fi #7}}% \fi \@xsect{#5}} % \end{macrocode} % \end{macro} % % \begin{macro}{\@ssect} % Pseudocode for the |\@ssect| command % \begin{example} % \@ssect{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}{ARG} == % BEGIN % IF AFTERSKIP > 0 % THEN \begingroup % STYLE % \@hangfrom{\hskip INDENT}{\interlinepenalty 10000 ARG\par} % \endgroup % ELSE \@svsechd == BEGIN STYLE % \hskip INDENT % ARG % END % FI % \@xsect{AFTERSKIP} % END % \end{example} % (\file{ltsect.dtx}, L521). % \begin{macrocode} \def\@ssect#1#2#3#4#5{% \@tempskipa #3\relax \ifdim \@tempskipa>\z@ \begingroup % \end{macrocode} % Here we deviate from \file{ltsect.dtx} to ensure single spacing for % the section title. % \begin{macrocode} \setstretch{\@ssp}% #4{% \@hangfrom{\hskip #1}% \interlinepenalty \@M #5\@@par}% \endgroup \else \def\@svsechd{#4{\hskip #1\relax #5}}% \fi \@xsect{#3}} % \end{macrocode} % \end{macro} % % % \subsubsection{\file{ltbibl.dtx}} % % \DescribeMacro{\bibliography} % \DescribeEnv{thebibliography} % A bibliography is created by the |thebibliography| environment, which % generates a title such as ``Bibliography'', and a list of entries. % The \BibTeX\ program will create a file containing such an % environment, which will be read in by the |\bibliography| command. % With \BibTeX, the following commands will be used. % % The document class must define the thebibliography environment. This % environment has a single argument, which is the widest bibliography % label-- e.g., if the [Knuth67] is the widest entry, then this % argument will be Knuth67. The |\thebibliography| command must begin % a list environment, which the |\endthebibliography| command ends. % % \begin{macro}{\bibliography} % |\bibliography|\marg{file1,file2,\ldots,filen} : specifies % the bibdata files. Writes a |\bibdata| entry on the |.aux| file % and tries to read in |mainfile.bbl|. % % We don't need to change it, but it explains why we need to override % |thebibliography| even when we don't use it directly. % (\file{ltbibl.dtx}, L284). % \begin{macrocode} %\def\bibliography#1{% % \if@filesw % \immediate\write\@auxout{\string\bibdata{#1}}% % \fi % \@input@{\jobname.bbl} %} % \end{macrocode} % \end{macro} % % % \subsubsection{\file{ltoutput.dtx}} % % \begin{macro}{\@DUT@clearpage} % \begin{macro}{\@DUT@cleardoublepage} % \begin{macro}{\@DUT@newpage} % Versions of |\clear*page| and |\newpage| that only work in % \Lopt{pagebreak} mode (\file{ltoutput.dtx}, L877 and L904). % Otherwise they add four blank lines. % \changes{0.15}{2011/04/23}{W.~Trevor King added % $\backslash$\@DUT\@newpage macro.} % \begin{macrocode} \newcommand\@DUT@clearpage{% \if@DUT@pagebreak \clearpage \else \blanklinesp{4} \fi} \newcommand\@DUT@cleardoublepage{% \if@DUT@pagebreak \cleardoublepage \else \blanklinesp{4} \fi} \newcommand\@DUT@newpage{% \if@DUT@pagebreak \newpage \else \blanklinesp{4} \fi} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\@DUT@blankpage} % Add a useful extension to insert a blank page without numbering. % If we're not in \Lopt{pagebreak} mode, this macro is a no-op. % \begin{macrocode} \newcommand\@DUT@blankpage{% \if@DUT@pagebreak \@DUT@clearpage \thispagestyle{empty} \hphantom{0} \@DUT@clearpage \fi } % \end{macrocode} % \end{macro} % % % \begin{command} % `\cs{blanklines}\marg{N}' % `\cs{blanklines*}\marg{N}' % \end{command} % \begin{macro}{\blanklines} % Insert \meta{N} blank lines. The starred forms use |\vspace|, which % inserts space even at the start and end of pages. The |p| forms % add a trailing |\par|. \emph{I'm still trying to get this part working % cleanly\ldots} % \begin{macrocode} \newlength\@DUT@blanklines@length \newcommand{\@blanklines@setup}[1]{% \set@lines@length{\@DUT@blanklines@length}{#1}% %\typeout{BLANKLINES -- #1}% %\showthe\@DUT@blanklines@length } \newcommand{\blanklines}{\@ifstar\@sblanklines\@blanklines} \newcommand{\@blanklines}[1]{% \@blanklines@setup{#1}% \vspace{\@DUT@blanklines@length}} \newcommand{\@sblanklines}[1]{% \@blanklines@setup{#1}% \vspace*{\@DUT@blanklines@length}} \newcommand{\blanklinesp}{\@ifstar\@sblanklines\@blanklines} \newcommand{\@blanklinesp}[1]{% \@blanklines@setup{#1}% \vspace{\@DUT@blanklines@length}\par} \newcommand{\@sblanklinesp}[1]{% \@blanklines@setup{#1}% \vspace*{\@DUT@blanklines@length}\par} % \end{macrocode} % \end{macro} % % % \subsection{\pkg{hyperref} inclusion} % \label{sec:hyperref-inclusion} % % This is the awkward \pkg{hyperref} inclusion. See \S % \ref{sec:hyperref} for an explanation of why we stash it here. % \begin{macrocode} \RequirePackage[final]{hyperref} % \end{macrocode} % Nobody likes the default colored boxes. Color the text itself. % \begin{macrocode} \hypersetup{colorlinks} % \end{macrocode} % If \Lopt{blackref} is set, set all \pkg{hyperref} colors to black. % \begin{macrocode} \if@blackref \hypersetup{linkcolor=black} \hypersetup{anchorcolor=black} \hypersetup{citecolor=black} \hypersetup{filecolor=black} \hypersetup{menucolor=black} \hypersetup{runcolor=black} \hypersetup{urlcolor=black} \fi % \end{macrocode} % % \subsubsection{\pkg{hypcap}} % \label{sec:hypcap-inclusion} % % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/}{\pkg{hypcap}} % for placing caption hyperlink anchors. Not strictly necessary, but % we're using \pkg{hyperref}, and the poor link targets are annoying. % \begin{macrocode} \RequirePackage[all]{hypcap} % \end{macrocode} % \Lopt{all} redefines the figure and table environments to % place the anchor at the start of the float. % % % \subsection{\cls{book} overrides and extensions} % % Here we change the behavior of a bunch of macros and environments from % \cls{book} (generated by \file{classes.ins} from \file{classes.dtx}) in % \href{http://www.ctan.org/tex-archive/macros/latex/base/}{\pkg{base}}). % We'll copy in their original notes along with their code, following % the relevant documentation an order given in \file{classes.dtx}. % % % \subsubsection{Floats on a text page} % \label{sec:implement-floats} % % \begin{macro}{\floatsep} % \begin{macro}{\textfloatsep} % When a floating object is placed on a page with text, these % parameters control the separation between the float and the other % objects on the page. % % |\floatsep| is the space between adjacent floats that are moved % to the top or bottom of the text page. % % |\textfloatsep| is the space between the main text and floats % at the top or bottom of the page. % % |\intextsep| is the space between in-text floats and the text. We % don't bother overriding this one, because we've handled it with % \pkg{floatrow} in \S \ref{sec:floatrow}. % % From the Manual \S 2.3 p6, ``Tables and Figures'' % \begin{quote} % Insert at least 3 single-spaced lines of space above table % captions and figures and below figure captions, tables, and other % graphics. % \end{quote} % (\file{classes.dtx}, L1426) % \begin{macrocode} \set@lines@length{\floatsep}{\@ssp} \set@lines@length{\textfloatsep}{\@tsp} % \end{macrocode} % \end{macro} % \end{macro} % % % \subsubsection{The title} % % \begin{macro}{\maketitle} % Automate the creation of the title page. % From Manual \S 3.1 p8, ``Title Page'', and the example on p16. % \begin{itemize} % \item This page is counted but not numbered (it counts as page i, % but should not have a page number). TODO: How is this implemented? % \end{itemize} % Our definition simplifies \cls{book}'s by ignoring footnotes. % (\file{classes.dtx}, L1796) % \begin{macrocode} \newcommand\@DUT@maketitle{ \begin{@DUT@titlepage}% % \end{macrocode} % Add some bookmarks if we're using pdf\LaTeX. The |frontmatter| % bookmark is set at the \emph{part} level (-1) to hold all bookmarks % from the |preamble| environment, since those entries are all % chapters. % \changes{0.8}{2010/05/20}{W.~Trevor King replaced Frontmatter with % Front Matter and Titlepage with Title Page for consistency with % \LaTeX's book class.} % \begin{macrocode} \ifpdf \pdfbookmark[-1]{Front Matter}{Front Matter} \pdfbookmark[0]{Title Page}{Title Page} \fi % \end{macrocode} % Add some stretchy space to center the title vertically if we're in % \Lopt{pagebreak} mode. % \begin{macrocode} \if@DUT@pagebreak \vspace*{\fill} \fi % \end{macrocode} % Here is the title text itself. % \begin{macrocode} \begin{center}% {\setstretch{\@tsp} \bfseries \@DUT@title \par}% % \end{macrocode} % We want two blank lines (triple spacing) between the title and the % remaining material, so add three but don't end the paragraph. % \begin{macrocode} \blanklines{\@tsp}% \setstretch{\@dsp}% A Thesis\\ Submitted to the Faculty\\ of\\ Drexel University\\ by\\ \@DUT@author\\ in partial fulfillment of the\\ requirements for the degree\\ of\\ \@DUT@degree\\ \@DUT@month\ \@DUT@year \end{center}\par % \end{macrocode} % Some more stretchy space for the bottom if we're not in draft mode. % \begin{macrocode} % \end{macrocode} % Add some stretchy space to center the title vertically and add a % Drexel logo to the bottom of the page if we're in % \Lopt{pagebreak} mode. If the title is more than three lines it % will overlap the logo. % \changes{0.16}{2015/05/08}{Raymond Canzanese added the logo to % \cs{@DUT@titlepage} to comply with the 2014-2015 Thesis Manual.} % \begin{macrocode} \if@DUT@pagebreak \vspace*{\fill} \centering \mbox{\smash{\includegraphics[width=4cm]{drexel-logo}}} \fi \end{@DUT@titlepage}% % \end{macrocode} % And that's it. We reset the footnote counter for the rest of the % document and save space by freeing the memory associated with the % |\maketitle| and |\and| macros (by setting them equal to |\relax|). % \begin{macrocode} \setcounter{footnote}{0}% \global\let\maketitle\relax \global\let\and\relax } % \end{macrocode} % \end{macro} % % % \subsubsection{Copyright pages} % \label{sec:implement-copyright} % % \begin{macro}{\@DUT@makecopyright} % The Manual allows for the selection of different copyrights, so we % define a base macro that generates a proper copyright page % containing |\@copyrighttext|, which the user can set with % |\copyrighttext|. % From Manual \S 3.2 p9, ``Copyright Page''. % \begin{itemize} % \item Include a copyright page with the following information: a % copyright notice, full legal name of author, and date of % publication on file. % \item This page is neither counted nor numbered. % \end{itemize} % In final mode, we start off on a new page and center the blurb. % In draft mode, we dive right into the text. % \begin{macrocode} \newcommand\@DUT@makecopyright{% \@DUT@clearpage % \end{macrocode} % If we're using pdf\LaTeX, add a bookmark. % \begin{macrocode} \ifpdf \pdfbookmark[0]{Copyright Page}{Copyright Page} \fi \if@DUT@pagebreak \vspace*{\fill} \fi \begin{center} \copyright~Copyright \@DUT@year\\ \@DUT@author. \@DUT@copyrighttext \end{center} \if@DUT@pagebreak \vspace*{\fill} \fi % \end{macrocode} % Turn off page numbering for this page. % \begin{macrocode} \thispagestyle{empty} } % \end{macrocode} % \end{macro} % % \begin{macro}{\copyrighttextCCBYSA} % \begin{macro}{\DUTcopyrighttextCCBYSA} % The Creative Commons Attribution-ShareAlike License. % \changes{0.4}{2010/02/23}{W.~Trevor King renamed from % \cs{copyrighttextCC}, and made specific to Creative Commons % Attribution-ShareAlike Version 3.0.} % \changes{0.16}{2010/05/08}{W.~Trevor King updated the % \cs{copyrighttextCCBYSA} to version 4.0, which has better % international language, % \href{http://creativecommons.org/version4}{among other things}.} % \begin{macrocode} \newcommand\copyrighttextCCBYSA{ \begin{quote} This work is licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International license. The license is available at \\ \url{http://creativecommons.org/licenses/by-sa/4.0/}. \end{quote} } \let\DUTcopyrighttextCCBYSA\copyrighttextCCBYSA % \end{macrocode} % \end{macro} % \end{macro} % % % \subsubsection{Mark commands} % % Default initializations of |\*mark| commands. These commands % are used in the definition of the page styles. % % \begin{macro}{\chaptermark} % Setup colon rather than period separated chapter marks. % (\file{classes.dtx}, L2053) % \begin{macrocode} \renewcommand\chaptermark[1]{% \markboth {% \ifnum \c@secnumdepth >\m@ne \if@mainmatter \@chapapp\ \thechapter: \ % \fi \fi #1}{}} % \end{macrocode} % \end{macro} % % \begin{macro}{\schaptermark} % Setup unnumbered chapter marks for \pkg{fancyhdr}. % \begin{macrocode} \newcommand\schaptermark[1]{\markboth{#1}{}} % \end{macrocode} % \end{macro} % % \begin{macro}{\sectionmark} % Setup space rather than period separated section marks. % (\file{classes.dtx}, L2054) % \begin{macrocode} \renewcommand{\sectionmark}[1]{% \markright {% \ifnum \c@secnumdepth >\z@ \thesection \ % \fi #1}} % \end{macrocode} % \end{macro} % % % \subsubsection{Front Matter, Main Matter, and Back Matter} % % A book contains these three (logical) sections. The switch % |\@mainmatter| is true if and only if we are processing main % matter\footnote{% % \href{http://en.wikipedia.org/wiki/Book_design}{Wikipedia} % suggests \emph{body matter} for the main content, but % \href{http://mirror.ctan.org/macros/latex/base/classes.dtx}{\LaTeX's % \cls{book}} uses \emph{Main Matter}. We're a \LaTeX\ class, so % we'll stick with ``main matter'' for consistency. % }. When this switch is false, the % |\chapter| command does not print chapter numbers. % % \begin{macro}{\mainmatter} % This command clears the page (in final mode), starts arabic page % numbering and turns on chapter numbering. Since this restarts the % page numbering from 1, it should also ensure that a recto page is % used. % % We replace \cls{book}'s |\clear*page| calls with |\@DUT@clearpage| calls. % (\file{classes.dtx}, L2211) % \begin{macrocode} \renewcommand\mainmatter{% \@DUT@cleardoublepage \@mainmattertrue \pagenumbering{arabic}} % \end{macrocode} % \end{macro} % % % \subsubsection{Parts} % % \begin{macro}{\part} % The command to start a new part of our document. % % We start a new (righthand) page and use the \pstyle{plain} % pagestyle, replacing \cls{book}'s |\clear*page| calls with % |\@DUT@clearpage| calls and dropping twopage code. % (\file{classes.dtx}, L2249) % \begin{macrocode} \renewcommand\part{% \if@openright \@DUT@cleardoublepage \else \@DUT@clearpage \fi \thispagestyle{plain}% \@tempswafalse % \end{macrocode} % Add some stretchy space for vertical centering if we're in % \Lopt{pagebreak} mode. % \begin{macrocode} \if@DUT@pagebreak \null\vfil \fi % \end{macrocode} % Here we use |\secdef| to indicate which commands to use to make % the actual heading. % \begin{macrocode} \secdef\@part\@spart} % \end{macrocode} % \end{macro} % % \begin{macro}{\@part} % This macro does the actual formatting of the title of the part. We % replace \cls{book}'s |\Huge| with |\large|, and make use of % |\numberline| for consistent spacing. % % When \Lcount{secnumdepth} is larger than $-2$, we have a numbered % part, otherwise it is unnumbered. % (\file{classes.dtx}, L2310) % \begin{macrocode} \def\@part[#1]#2{% \ifnum \c@secnumdepth >-2\relax \refstepcounter{part}% \addcontentsline{toc}{part}% {\protect\numberline{\thepart}#1}% \else \addcontentsline{toc}{part}{#1}% \fi % \end{macrocode} % We empty the mark registers and center the title on the page. % Also we prevent breaking between lines and reset the font. % \begin{macrocode} \markboth{}{}% {\centering \interlinepenalty \@M \normalfont % \end{macrocode} % When this is a numbered part we have to print the number. % \begin{macrocode} \ifnum \c@secnumdepth >-2\relax \large\bfseries \partname\nobreakspace\thepart \par % \end{macrocode} % We leave some space before we print the title and leave the % finishing up to |\@endpart|. % \begin{macrocode} \vskip 20\p@ \fi \large \bfseries #2\par}% \@endpart} % \end{macrocode} % \end{macro} % % \begin{macro}{\@spart} % This macro does the actual formatting of the title of the part % when the star form of the user command was used. In this case we % \emph{never} print a number. Otherwise the formatting is the % same. % (\file{classes.dtx}, L2402) % \begin{macrocode} \def\@spart#1{% {\centering \interlinepenalty \@M \normalfont \large \bfseries #1\par}% \@endpart} % \end{macrocode} % \end{macro} % % \begin{macro}{\@endpart} % This macro finishes the part page, for both |\@part| and |\@spart|. % We drop \cls{book}'s twoside handling. % If we're in \Lopt{pagebreak} mode, we fill the current page. % (\file{classes.dtx}, L2435) % \begin{macrocode} \def\@endpart{ \if@DUT@pagebreak \vfil\newpage \fi % \end{macrocode} % Then, when we are in twosided mode and the chapters are supposed to % be on the right hand sides, we produce a completely blank page. We % don't need to check \Lopt{pagebreak}-mode here, because the % pagebreak options set the \cls{book} opening options. % \begin{macrocode} \if@twoside \if@openright \null \thispagestyle{empty}% \newpage \fi \fi} % \end{macrocode} % \end{macro} % % % \subsubsection{Chapters} % \label{sec:implement-chapters} % % \begin{macro}{\chapter} % \cls{book} always starts a chapter on a new page, but we don't want % to do that if we're in draft mode. % (\file{classes.dtx}, L2472). % \begin{macrocode} \renewcommand\chapter{% \if@openright\@DUT@cleardoublepage\else\@DUT@clearpage\fi \thispagestyle{plain}% % \end{macrocode} % Then we prevent floats from appearing at the top of this page % because it looks weird to see a floating object above a chapter % title. % \begin{macrocode} \global\@topnum\z@ % \end{macrocode} % Then we suppress the indentation of the first paragraph by % setting the switch |\@afterindent| to false. We use |\secdef| % to specify the macros to use for actually setting the chapter % title. % \begin{macrocode} \@afterindentfalse \secdef\@chapter\@schapter} % \end{macrocode} % \end{macro} % % \begin{macro}{\listed@schapter} % |\chapter| declares numbered chapters, which are listed in the table % of contents. % |\chapter*| declares unnumbered chapters, which are \emph{not} % listed in the TOC. % |\listed@schapter| declares an unnumbered chapter that \emph{is} % listed in the TOC. % \begin{macrocode} \newcommand\listed@schapter[1]{% \if@openright\@DUT@cleardoublepage\else\@DUT@clearpage\fi \thispagestyle{plain}% \global\@topnum\z@ \phantomsection \addcontentsline{toc}{chapter}{#1} \@afterindentfalse \@schapter{#1}} % \end{macrocode} % \end{macro} % % \begin{macro}{\@chapter} % This macro is called when we have a numbered chapter. When % \Lcount{secnumdepth} is larger than $-1$ and |\@mainmatter| is true, % we display the chapter number. % We drop \cls{book}'s \Lopt{twocolumn} code. % (\file{classes.dtx}, L2496). % \begin{macrocode} \def\@chapter[#1]#2{ % \end{macrocode} % Inform the user that a new chapter is about to be typeset by writing % a message to the terminal. % \changes{0.9}{2010/05/21}{W.~Trevor King disabled the label macro % for typeout.} % Some users place |\label| in their chapter argument: % \begin{example} % \chapter{Bla bla\label{x}} % \end{example} % rather than after (as recommended by % \href{http://en.wikibooks.org/wiki/LaTeX/Labels_and_Cross-referencing#Sections}% % {the \LaTeX\ Wikibook} and % \href{http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf}% % {The Not So Short Introduction to \LaTeXe\ (\S 2.8, p36)}): % \begin{example} % \chapter{Bla bla} % \label{x} % \end{example} % The embedded |\label| chokes |\typeout| so we temporarily redefine % |\label| to just gobble its contents. |\@DUT@label| stores the % original definition. % \begin{macrocode} \let\@DUT@label=\label% \renewcommand{\label}[1]{}% \typeout{\@chapapp\space\thechapter. #1}% % \end{macrocode} % Restore |\label| to its previous glory. % \begin{macrocode} \let\label=\@DUT@label% % \end{macrocode} % Now we can get on with the real work. % \begin{macrocode} \ifnum \c@secnumdepth >\m@ne \if@mainmatter \refstepcounter{chapter}% \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#1}% \else \addcontentsline{toc}{chapter}{#1}% \fi \else \addcontentsline{toc}{chapter}{#1}% \fi % \end{macrocode} % After having written an entry to the table of contents we store % the (alternative) title of this chapter with |\chaptermark|. % \begin{macrocode} \chaptermark{#1}% % \end{macrocode} % For nicer lists of figures and tables, we could add some white space % to separate the chapters. However, nice lists $\neq$~Manual % specifications. % \begin{macrocode} % \addtocontents{lof}{\protect\addvspace{10\p@}}% % \addtocontents{lot}{\protect\addvspace{10\p@}}% % \end{macrocode} % Then we call upon |\@makechapterhead| to format the actual chapter % title. |\@afterheading| which takes care of suppressing the % indentation. % \begin{macrocode} \@makechapterhead{#2}% \@afterheading} % \end{macrocode} % \end{macro} % % \begin{macro}{\@makechapterhead} % The |\@chapter| macro uses |\@makechapterhead|\meta{text} to format % the heading of the chapter. % From the Manual \S 3.11 p11. % \begin{quote} % Chapter headings must be bold and centered. % The chapter number and title must be on the same line, separated % by a colon or period, as shown in the example below: % \begin{center} % CHAPTER 1: INTRODUCTION % \end{center} % Headings must not be larger than 12 points. % Headings must be single spaced. % \end{quote} % \cls{book} sets |\@chapapp| and |\thechapter| (e.g., ``Chapter 5'') % on a line above the chapter title, but that doesn't match the % Manual's specification. % % We begin by leaving some white space. The we open a group in which % we have a paragraph indent of 0pt, and in which we have the text set % ragged right. We also reset the font. % (\file{classes.dtx}, L2540). % \begin{macrocode} \def\@makechapterhead#1{% % \end{macro} % Adding even a \vspace*{0\p@} here seems to increase the vertical % space above the chapter heading by two lines. I'm not sure why. % Workaround is to pass the ``value of blanklines you want minus two'' % to |\blanklines*|. HACK! % \begin{macro} \blanklines*{-1}% HACK! {\parindent \z@ \raggedright \normalfont % \end{macrocode} % Ensure single spacing. % \begin{macrocode} \setstretch{\@ssp}% % \end{macrocode} % Prevent a pagebreak from occuring in the middle of or after the title. % \begin{macrocode} \interlinepenalty\@M % \end{macrocode} % Check whether the number of the chapter has to be printed. % \begin{macrocode} \ifnum \c@secnumdepth >\m@ne % \end{macrocode} % Check whether there \emph{is} a number to be printed. % \begin{macrocode} \if@mainmatter % \end{macrocode} % Setup a ``Chapter \#: Title'' heading. % \begin{macrocode} \center \large \bfseries \@chapapp{} \thechapter: #1\par\nobreak \else % \end{macrocode} % Setup a ``Title'' heading. % \begin{macrocode} \center \large \bfseries #1\par\nobreak \fi \else \center \large \bfseries #1\par\nobreak \fi % \end{macrocode} % Put a little space before the chapter body. We use four blank lines % to comply with the Manual \S 3.13 p12 % \begin{quote} % Begin the list of sources four spaces below the heading. % \end{quote} % \begin{macrocode} \blanklines{4} } } % \end{macrocode} % \end{macro} % % \begin{macro}{\@schapter} % This macro is called when we have an unnumbered chapter. We drop % \file{classes.dtx}'s \Lopt{twocolumn} code and set marks for % \pkg{fancyhdr}. % (\file{classes.dtx}, L2582). % \begin{macrocode} \def\@schapter#1{ % \end{macrocode} % Inform the user that a new chapter is about to be typeset by writing % a message to the terminal. % \begin{macrocode} \typeout{\@chapapp\space #1}% \schaptermark{#1}% \@makeschapterhead{#1}% \@afterheading} % \end{macrocode} % \end{macro} % % \begin{macro}{\@makeschapterhead} % The macro above uses |\@makeschapterhead|\meta{text} to format % the heading of the chapter. It is similar to |\@makechapterhead| % except that it never has to print a chapter number. % (\file{classes.dtx}, L2595). % \begin{macrocode} \def\@makeschapterhead#1{% \blanklines*{-1}% HACK! {\parindent \z@ \raggedright \normalfont \setstretch{\@ssp}% \interlinepenalty\@M \center \large \bfseries #1\par\nobreak \blanklines{4}% } } % \end{macrocode} % \end{macro} % % % \subsubsection{Lower level headings} % % \begin{macro}{\section} % Setup section headings in |\large| rather than \cls{book}'s % |\Large|. % (\file{classes.dtx}, L2623). % \begin{macrocode} \renewcommand\section{% \@startsection {section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\normalfont\large\bfseries}} % \end{macrocode} % \end{macro} % % % \subsubsection{Defining new environments} % % We don't override any of \cls{book}'s environments, but this is % where \file{classes.dtx} defines its environments (L2996), so we'll put % ours here too. % % \begin{environment}{preamble} % \begin{environment}{DUTpreamble} % \begin{macrocode} \newenvironment{preamble}{% \cleardoublepage \@mainmatterfalse \pagenumbering{roman} \if@approvalform \ifpdf \pdfbookmark[-1]{Approval Form}{Approval Form} \fi \DUT@makeapprovalform \fi % \end{macrocode} % From Manual \S 3.1 p8, ``Title Page''. % \begin{macrocode} \@DUT@maketitle % \end{macrocode} % From Manual \S 3.2 p9, ``Copyright Page''. % \begin{macrocode} \@DUT@makecopyright }{% % \end{macrocode} % From the Manual \S 3.9, p11: % \begin{quote} % Include a blank page (with no page number) before the first page % of text. The blank page is neither numbered nor counted. % \end{quote} % \begin{macrocode} \@DUT@blankpage } % \end{macrocode} % \LaTeX's |\newenvironment| and company work by defining |\X| and % |\endX| for the environment |X|. We can alias the preamble % environment by saving these macros. % \begin{macrocode} \let\DUTpreamble\preamble \let\endDUTpreamble\endpreamble % \end{macrocode} % \end{environment} % \end{environment} % % \begin{environment}{dedications} % \begin{environment}{DUTdedications} % From the Manual \S 3.3 p9 % \begin{itemize} % \item The heading |Dedications| must appear at the top of the % page. The heading must be bold, centered, and without % punctuation. % \item This page is counted and numbered in lowercase Roman numerals. % \end{itemize} % \changes{0.12}{2010/06/17}{W.~Trevor King added \cs{par} to detach % the single space \cs{setstretch} from the from the final % paragraph.} % \begin{macrocode} \newenvironment{dedications}{% \@DUT@clearpage \ifpdf \phantomsection \pdfbookmark[0]{\DUTdedicationsname}{\DUTdedicationsname} \fi \chapter*{\DUTdedicationsname} \setstretch{\@dsp}% }{% \par\setstretch{\@ssp}% } \let\DUTdedications\dedications \let\endDUTdedications\enddedications % \end{macrocode} % \end{environment} % \end{environment} % % \begin{environment}{acknowledgments} % \begin{environment}{DUTacknowledgments} % From the Manual \S 3.4 p9 % \begin{itemize} % \item The heading |Acknowledgments| must appear at the top of the % page. The heading must be bold, centered, and without % punctuation. % \item This page is counted and numbered in lowercase Roman numerals. % \end{itemize} % \changes{0.12}{2010/06/17}{W.~Trevor King added \cs{par} to detach % the single space \cs{setstretch} from the from the final % paragraph.} % \begin{macrocode} \newenvironment{acknowledgments}{% \@DUT@clearpage \ifpdf \phantomsection \pdfbookmark[0]{\DUTacknowledgmentsname}{\DUTacknowledgmentsname} \fi \chapter*{\acknowledgmentsname} \setstretch{\@dsp}% }{% \par\setstretch{\@ssp}% } % \end{macrocode} \let\DUTacknowledgments\acknowledgments \let\endDUTacknowledgments\endacknowledgments % \end{environment} % \end{environment} % % \begin{environment}{abstract} % \begin{environment}{DUTabstract} % \begin{macrocode} \newenvironment{abstract}{% \listed@schapter{\abstractname}% % \end{macrocode} % Suck up some blank space to position the rest of the header right % under the chapter title. % \begin{macrocode} \blanklines{-4}% % \end{macrocode} % From the Manual \S 3.9 p10 % \begin{quote} % \begin{itemize} % \item The following heading must be centered at the top of the page % \begin{center} % Abstract \\ % Full Title of Dissertation or Thesis \\ % Author's Name as it appears on the Dissertation or Thesis % \end{center} % In the example on p20, they list the advisor's name after the % author, but that is not specified in the text on p10. % \item The text begins four lines below this heading. % \end{itemize} % \end{quote} % On p20 % \begin{quote} % \begin{itemize} % \item These pages are numbered using lowercase Roman numerals. % \item Note that the heading is single spaced, but the abstract % is double spaced. % \end{itemize} % \end{quote} % \changes{0.12}{2010/06/17}{W.~Trevor King added \cs{par} to detach % the single space \cs{setstretch} from the from the final % paragraph.} % \begin{macrocode} \begin{center} \setstretch{\@ssp}% \@DUT@title\\ \@DUT@author\\ % \end{macrocode} % If you're feeling daring, break the rules and add ``Advisor(s):'' to % set off your list of advisor names. % \changes{0.11}{2010/06/04}{W.~Trevor King added ``Advisor(s):'' for % daring users.} % \begin{macrocode} \ifdaring{% \ifnum\c@@DUT@advisors=\@ne% Advisor: \else% Advisors: \fi}{} \@DUT@advisor\\ \end{center} \blanklines{4}% \setstretch{\@dsp}% \@nobreaktrue \@afterindentfalse \@afterheading }{% \par\setstretch{\@ssp}% } \let\DUTabstract\abstract \let\endDUTabstract\endabstract % \end{macrocode} % \end{environment} % \end{environment} % % \begin{environment}{thesis} % \begin{environment}{DUTthesis} % From the Manual \S 3.10 p11 % \begin{itemize} % \item The pages are counted and numbered in Arabic numerals. % \end{itemize} % \changes{0.8}{2010/05/20}{W.~Trevor King replaced Backmatter with % Back Matter for consistency with \LaTeX's book class.} % \begin{macrocode} \newenvironment{thesis}{% \mainmatter \setstretch{\@dsp}% }{% \setstretch{\@ssp}% \@DUT@clearpage \ifpdf \phantomsection \pdfbookmark[-1]{Back Matter}{Back Matter} \fi } \let\DUTthesis\thesis \let\endDUTthesis\endthesis % \end{macrocode} % \end{environment} % \end{environment} % % \paragraph{Vita} % \label{sec:implement-vita} % % \begin{environment}{vita} % \begin{environment}{DUTvita} % From the Manual \S 3.15 p13 % \begin{itemize} % \item The heading |Vita| must appear at the top of the page. The % heading must be bold, centered, and without punctuation. % \item The Vita text should begin four spaces below the heading. % \item List the Vita separately in the Table of Contents. % \item The page is counted and numbered in Arabic numerals. % \end{itemize} % \changes{0.12}{2010/06/17}{W.~Trevor King added \cs{par} to detach % the single space \cs{setstretch} from the from the final % paragraph.} % \begin{macrocode} \newenvironment{vita}{% \listed@schapter{\vitaname} \setstretch{\@dsp}% }{% \par\setstretch{\@ssp}% } \let\DUTvita\vita \let\endDUTvita\endvita % \end{macrocode} % \end{environment} % \end{environment} % % % \subsubsection{Titlepage} % % \begin{environment}{titlepage} % In the normal environments, the titlepage environment does nothing % but start and end a page, and inhibit page numbers. We inhibit the % paging in draft mode, since it seems silly to waste a whole page on % the title. We also drop the \Lopt{twocolumn} code. % (\file{classes.dtx}, L3111) % \begin{macrocode} \renewenvironment{titlepage}% {\thispagestyle{empty}\setcounter{page}\z@}% {\@DUT@newpage} \let\@DUT@titlepage\titlepage \let\end@DUT@titlepage\endtitlepage % \end{macrocode} % \end{environment} % % % \subsubsection{Appendix} % \label{sec:implement-appendix} % % \begin{macro}{\appendix} % \begin{macro}{\DUTappendix} % The |\appendix| command is not really an environment, it is a % macro that makes some changes in the way things are done. % % In the article document class the |\appendix| command must do the % following: % \begin{itemize} % \item reset the section and subsection counters to zero, % \item redefine |\thesection| to produce alphabetic appendix % numbers. This redefinition is done globally to ensure that it % survives even if |\appendix| is issued within an environment such % as |multicols|. % \end{itemize} % % In addition to \cls{book}'s (or \pkg{hyperref}'s) activity, we % fiddle with the \pkg{tocloft} chapter settings add switch to global % double-spacing. % (\file{classes.dtx}, L3177) % \begin{macrocode} \let\@DUT@appendix\appendix \renewcommand\appendix{% \@DUT@appendix% % \end{macrocode} % Setup TOC entries like % \begin{center} % Appendix A: Chapter Title % \end{center} % We don't need to worry about the |vita| environment (page % \pageref{sec:implement-vita}), because it is a |\listed@schapter|, % and therefore lacks a |\numberline| section in its \file{*.toc} % entry. % % We increase |numwidth| to 6.5em to make room for |Appendix~| before % the chapter number/letter, and add a colon after it. % % The |\protect| calls get the macros into \file{*.toc} unexpanded, so % they function correctly when \LaTeX\ parses \file{*.toc}. % \begin{macrocode} \addtocontents{toc}{% \protect\cftsetindents{chapter}{0pt}{6.5em} \protect\renewcommand{\protect\cftchappresnum}{\protect\appendixname~} \protect\renewcommand{\protect\cftchapaftersnum}{:}} % \end{macrocode} % We also turn on double spacing by default, since we're no longer % wrapped in the |thesis| environment. % \begin{macrocode} \setstretch{\@dsp}% } \let\DUTappendix\appendix % \end{macrocode} % \end{macro} % \end{macro} % % % \subsubsection{Table of Contents} % \label{sec:implement-toc} % % From Manual \S 3.5 p9, ``Table of Contents'', and the example on p17. % \begin{quote} % \begin{itemize} % \item Do not list any sections that precede the % |Table of Contents| (e.g., |Dedications|, |Acknowledgments|). Do % not list the |Table of Contents| itself. % \item These pages are counted and numbered in lowercase Roman numerals. % \end{itemize} % \end{quote} % % \begin{macro}{\cfttoctitlefont} % Take advantange of \pkg{tocloft}'s TOC title code. % (\file{tocloft.dtx}, L1501) % \begin{example} % \cfttoctitlefont\contentsname}{\cftaftertoctitle} % \end{example} % by setting it equal to something ending in |\chapter*|. That way % \LaTeX parses the whole thing as % \begin{example} % ...\chapter*\contentsname}{\cftaftertoctitle} % \end{example} % which will set up the TOC page correctly. % \begin{macrocode} \renewcommand\cfttoctitlefont{% % \end{macrocode} % Start a new page in \Lopt{final} mode % \begin{macrocode} \@DUT@clearpage % \end{macrocode} % Add a bookmark if we're using pdf\LaTeX. % \begin{macrocode} \ifpdf \phantomsection \pdfbookmark[0]{\contentsname}{\contentsname} \fi % \end{macrocode} % |\chapter*| to gobble and format the next token (|\contentsname|). % \begin{macrocode} \chapter*} % \end{macrocode} % \end{macro} % % \begin{macro}{\aftertoctitleskip} % Don't add any extra space after the title (the chapter will take % care of that). % \begin{macrocode} \setlength\cftaftertoctitleskip{0pt} % \end{macrocode} % \end{macro} % % \begin{macro}{\l@DUT@toc@sep} % Define a length for TOC/LOF/LOT spacing. % \changes{0.13}{2010/07/28}{Renamed from \cs{l@cont@sep}.} % \begin{macrocode} \newlength\l@DUT@toc@sep \set@lines@length{\l@DUT@toc@sep}{\@DUT@toc@sep} % \end{macrocode} % \end{macro} % % \begin{macro}{\DUT@toc@high@font} % Define a font for high level (part, chapter) entries. % \changes{0.13}{2010/07/28}{Renamed from \cs{@cont@font}.} % \begin{macrocode} \newcommand{\DUT@toc@high@font}{\normalsize\scshape} % \end{macrocode} % \end{macro} % % \begin{macro}{\DUT@toc@low@font} % Define a font for low level (section, table, figure) entries. % \changes{0.13}{2010/07/28}{Macro added.} % \begin{macrocode} \newcommand{\DUT@toc@low@font}{\normalfont} % \end{macrocode} % \end{macro} % % \begin{macro}{\DUT@toc@page@font} % Define a font for page numbers. % \changes{0.13}{2010/07/28}{Macro added.} % \begin{macrocode} \newcommand{\DUT@toc@page@font}{\normalfont} % \end{macrocode} % \end{macro} % % \begin{macro}{\cftbeforepartskip} % \begin{macro}{\cftpartfont} % \begin{macro}{\cftpartleader} % \begin{macro}{\cftpartdotsep} % \begin{macro}{\cftpartpagefont} % Setup parts. See the \pkg{tocloft} manual for a description of the % commands. % \begin{macrocode} \setlength\cftbeforepartskip{\l@DUT@toc@sep} \cftsetindents{part}{0pt}{3em} \if@boldpart \renewcommand{\cftpartfont}{\bfseries\DUT@toc@high@font} \else \renewcommand{\cftpartfont}{\DUT@toc@high@font} \renewcommand{\cftpartleader}{\cftdotfill{\cftpartdotsep}} \if@dottedpart \renewcommand{\cftpartdotsep}{\cftdotsep} \else \renewcommand{\cftpartdotsep}{\cftnodots} \fi \renewcommand{\cftpartpagefont}{\DUT@toc@page@font} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\cftbeforechapskip} % \begin{macro}{\cftchapaftersnum} % \begin{macro}{\cftchapfont} % \begin{macro}{\cftchapleader} % \begin{macro}{\cftchapdotsep} % \begin{macro}{\cftchappagefont} % Setup chapters and appendicies. Some of these settings are adjusted % for appendicies in particular by |\appendix| % (Sec.~\ref{sec:implement-appendix}). % \begin{macrocode} \setlength\cftbeforechapskip{\l@DUT@toc@sep} \cftsetindents{chapter}{0pt}{1.5em} \renewcommand{\cftchapaftersnum}{.} \if@boldchapter \renewcommand{\cftchapfont}{\bfseries\DUT@toc@high@font} \else \renewcommand{\cftchapfont}{\DUT@toc@high@font} \fi \renewcommand{\cftchapleader}{\cftdotfill{\cftchapdotsep}} \if@dottedchapter \renewcommand{\cftchapdotsep}{\cftdotsep} \else \renewcommand{\cftchapdotsep}{\cftnodots} \fi \renewcommand{\cftchappagefont}{\DUT@toc@page@font} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\cftbeforesecskip} % \begin{macro}{\cftsecfont} % \begin{macro}{\cftpagefont} % \begin{macro}{\cftbeforesubsecskip} % \begin{macro}{\cftsubsecfont} % \begin{macro}{\cftsubsecpagefont} % \begin{macro}{\cftbeforesubsubsecskip} % \begin{macro}{\cftsubsubsecfont} % \begin{macro}{\cftsubsubsecpagefont} % Setup sections, subsections, etc. % \changes{0.13}{2010/07/28}{Added \cs{cft*pagefont} definitions and % switch \cs{cft*font} from hardcoded \cs{normalsize} to % \cs{DUT@toc@low@font}.} % \begin{macrocode} %\cftsetindents{chap}{0pt}{1.5em} \setlength\cftbeforesecskip{\l@DUT@toc@sep} \cftsetindents{section}{0pt}{3em} \renewcommand{\cftsecfont}{\DUT@toc@low@font} \renewcommand{\cftsecpagefont}{\DUT@toc@page@font} \setlength\cftbeforesubsecskip{\l@DUT@toc@sep} \cftsetindents{subsection}{0pt}{4.5em} \renewcommand{\cftsubsecfont}{\DUT@toc@low@font} \renewcommand{\cftsubsecpagefont}{\DUT@toc@page@font} \setlength\cftbeforesubsubsecskip{\l@DUT@toc@sep} \cftsetindents{subsubsection}{0pt}{6em} \renewcommand{\cftsubsubsecfont}{\DUT@toc@low@font} \renewcommand{\cftsubsubsecpagefont}{\DUT@toc@page@font} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % The default indents above are all |0pt|. If \Lopt{indenttoc} was % given, override this, restoring the \pkg{tocloft} defaults, see the % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/tocloft/tocloft.pdf}{% % \pkg{tocloft} manual, Table 1}. % \begin{macrocode} \if@indenttoc \cftsetindents{chapter}{0pt}{1.5em} \cftsetindents{section}{1.5em}{2.3em} \cftsetindents{subsection}{3.8em}{3.2em} \cftsetindents{subsubsection}{7.0em}{4.1em} \fi % \end{macrocode} % % % \subsubsection{List of figures} % \label{sec:implement-lof} % % From the Manual \S 3.7 p10 % \begin{quote} % \begin{itemize} % \item The heading |List of Figures| must appear at the top of % the first page. % \item The heading must be bold, centered, and without % punctuation. List figure captions exactly as they appear % below the figures in the text. % \item Single space each entry, but double-space between entries. % \item Separate figure captions from page numbers with % right-justified tabs and dot leaders. % \item Do not use periods to separate captions and page numbers. % \item These pages are counted and numbered in lowercase Roman % numerals. % \end{itemize} % \end{quote} % % \begin{macro}{\cftloftitlefont} % Much like our |\cfttoctitlefont|, but the list of figures gets % listed in the TOC. % \begin{macrocode} \renewcommand\cftloftitlefont{\listed@schapter} % \end{macrocode} % \end{macro} % % \begin{macro}{\afterloftitleskip} % Don't add any extra space after the title (the chapter will take % care of that). Actually we make a one-line correction so the first % line matches the first line in the TOC. HACK! % \begin{macrocode} \setlength\cftafterloftitleskip{-12pt} % \end{macrocode} % \end{macro} % % \begin{macro}{\cftbeforefigskip} % \begin{macro}{\cftfigindent} % \begin{macro}{\cftfigfont} % \begin{macro}{\cftfigpagefont} % Setup figure entries. % \changes{0.13}{2010/07/28}{Added \cs{cftfigpagefont} definition and % switch \cs{cftfigfont} from hardcoded \cs{normalsize} % \cs{singlespace} to \cs{DUT@toc@low@font}. The \cs{singlespace} % portion appears to be unnecessary, and it was causing post-number % linebreak issues with latex (pdflatex always worked).} % \begin{macrocode} \setlength{\cftbeforefigskip}{\l@DUT@toc@sep} \setlength{\cftfigindent}{0pt} \renewcommand{\cftfigfont}{\DUT@toc@low@font} \renewcommand{\cftfigpagefont}{\DUT@toc@page@font} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % % \subsubsection{List of tables} % \label{sec:implement-lot} % % From the Manual \S 3.6 p10 % \begin{quote} % \begin{itemize} % \item The heading |List of Tables| must appear at the top of the % first page. % \item The heading must be bold, centered, and without % punctuation. % \item List table captions exactly as they appear above the % tables in the text. % \item Single space each entry, but double-space between entries. % \item Separate table captions from page numbers with % right-justified tabs and dot leaders. % \item Do not use periods to separate captions and page numbers. % These pages are counted and numbered in lowercase Roman % numerals. % \end{itemize} % \end{quote} % % \begin{macro}{\cftlottitlefont} % Much like our |\cfttoctitlefont|, but the list of tables gets % listed in the TOC. % \begin{macrocode} \renewcommand\cftlottitlefont{\listed@schapter} % \end{macrocode} % \end{macro} % % \begin{macro}{\afterlottitleskip} % Don't add any extra space after the title (the chapter will take % care of that). Actually we make a one-line correction so the first % line matches the first line in the TOC. HACK! % \begin{macrocode} \setlength\cftafterlottitleskip{-12pt} % \end{macrocode} % \end{macro} % % \begin{macro}{\cftbeforetabskip} % \begin{macro}{\cfttabindent} % \begin{macro}{\cfttabfont} % \begin{macro}{\cfttabpagefont} % Setup table entries. % \changes{0.13}{2010/07/28}{Added \cs{cfttabpagefont} definition and % switch \cs{cftfabfont} from hardcoded \cs{normalsize} % \cs{singlespace} to \cs{DUT@toc@low@font}. The \cs{singlespace} % portion appears to be unnecessary, and it was causing post-number % linebreak issues with latex (pdflatex always worked).} % \begin{macrocode} \setlength{\cfttabindent}{0pt} \setlength{\cftbeforetabskip}{\l@DUT@toc@sep} \renewcommand{\cfttabfont}{\DUT@toc@low@font} \renewcommand{\cfttabpagefont}{\DUT@toc@page@font} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % % \subsubsection{Bibliography} % % \begin{environment}{thebibliography} % The |thebibliography| environment is a list environment. To save the % use of an extra counter, it should use |enumiv| as the item % counter. % Instead of using |\item|, items in the bibliography are produced by % the following commands:\\ % |\bibitem|\marg{name} : Produces a numbered entry cited as % \meta{name}.\\ % |\bibitem|\oarg{label}\marg{name} : Produces an entry labeled by % \meta{Label} and cited by \meta{name}. % % Override \cls{book}'s version, adding a line to the table of % contents. We split out the section-creation code into % |\bib@heading| for \pkg{natbib} compatibility. % (\file{classes.dtx}, L4063). % \begin{macrocode} \renewenvironment{thebibliography}[1] {\bib@heading% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% % \end{macrocode} % Because it's hard to do line breaks in bibliographies. % \begin{macrocode} \sloppy % \end{macrocode} % This is setting the normal (non-infinite) value of % |\clubpenalty| for the whole of this environment, % so we must reset its stored value also. (Why is there a |%| after % the second 4000 below?) % \begin{macrocode} \clubpenalty4000 \@clubpenalty \clubpenalty \widowpenalty4000% % \end{macrocode} % Cause a `.' (period) not to produce an end-of-sentence space. % \begin{macrocode} \sfcode`\.\@m} % \end{macrocode} % Warn if an empty `thebibliography' environment is found. % \begin{macrocode} {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist} % \end{macrocode} % \end{environment} % % \begin{macro}{\bib@heading} % \pkg{natbib} messes with |thebibliography|. We setup |\bib@heading| % so we will still get our table of contents entry. % \begin{macrocode} \newcommand{\bib@heading}{% \listed@schapter{\bibname}% } % \end{macrocode} % \end{macro} % % % \subsubsection{Index} % % \begin{environment}{theindex} % The environment |theindex| can be used for indices. It makes an % index with two columns, with each entry a separate paragraph. At % the user level the commands |\item|, |\subitem| and |\subsubitem| % are used to produce index entries of various levels. When a new % letter of the alphabet is encountered an amount of |\indexspace| % white space can be added. % % Override \cls{book}'s version, adding a line to the table of % contents. We split out the section-creation code into % |\bib@heading| for \pkg{natbib} compatibility. % (\file{classes.dtx}, L4107). % \begin{macrocode} \renewenvironment{theindex} {\if@twocolumn \@restonecolfalse \else \@restonecoltrue \fi % \end{macrocode} % Here we add our TOC entry, and setup two columns by hand % to avoid the |\clearpage| in \LaTeX's default |\twocolumn|. % \begin{macrocode} \listed@schapter{\indexname} \global\columnwidth\textwidth \global\advance\columnwidth-\columnsep \global\divide\columnwidth\tw@ \global\hsize\columnwidth \global\linewidth\columnwidth \global\@twocolumntrue \global\@firstcolumntrue \col@number \tw@ % \end{macrocode} % Parameter changes to |\columnseprule| and |\columnsep| have to be % done after |\twocolumn| has acted. Otherwise they can affect the % last page before the index. % \begin{macrocode} \parindent\z@ \parskip\z@ \@plus .3\p@\relax \columnseprule \z@ \columnsep 35\p@ \let\item\@idxitem} % \end{macrocode} % When the document continues after the index and it was a one % column document we have to switch back to one column after the % index. % \begin{macrocode} {\if@restonecol\onecolumn\else\@DUT@clearpage\fi} % \end{macrocode} % \end{environment} % % % \subsubsection{Words} % \label{sec:words} % % Set the official names of the various sections encountered. Some of % these are not defined in \file{classes.dtx} but are close analogs of % those that are. % % \begin{macro}{\dedicationsname} % From the Manual \S 3.3 p9, ``The heading |Dedications| must appear at % the top of the page.'' % \begin{macrocode} \newcommand\dedicationsname{Dedications} \let\DUTdedicationsname\dedicationsname % \end{macrocode} % \end{macro} % % \begin{macro}{\acknowledgmentsname} % From the Manual \S 3.4 p9, ``The heading |Acknowledgments| must appear % at the top of the page.'' % \begin{macrocode} \newcommand\acknowledgmentsname{Acknowledgments} \let\DUTacknowledgmentsname\acknowledgmentsname % \end{macrocode} % \end{macro} % % \begin{macro}{\contentsname} % From the Manual \S 3.5 p9, ``The heading |Table of Contents| must % appear at the top of the page.'' (\file{classes.dtx}, L4331) % \begin{macrocode} \renewcommand\contentsname{Table of Contents} \let\DUTcontentsname\contentsname % \end{macrocode} % \end{macro} % % \begin{macro}{\listtablename} % From the Manual \S 3.6 p10, ``The heading |List of Tables| must appear % at the top of the page.'' (\file{classes.dtx}, L4333) % \begin{macrocode} \renewcommand\listtablename{List of Tables} \let\DUTlisttablename\listtablename % \end{macrocode} % \end{macro} % % \begin{macro}{\listfigurename} % From the Manual \S 3.7 p10, ``The heading |List of Figures| must appear % at the top of the page.'' (\file{classes.dtx}, L4332) % \begin{macrocode} \renewcommand\listfigurename{List of Figures} \let\DUTlistfigurename\listfigurename % \end{macrocode} % \end{macro} % % \begin{macro}{\abstractname} % From the Manual \S 3.8 p10, ``The following heading must be centered at % the top of the first page: |Abstract|\ldots.'' % (\file{classes.dtx}, L4367) % \begin{macrocode} \newcommand\abstractname{Abstract} \let\DUTabstractname\abstractname % \end{macrocode} % \end{macro} % % \begin{macro}{\bibname} % From the Manual \S 3.13 p12, ``The heading |Bibliography| (or % |List of References|) must appear at the top of first page.'' % (\file{classes.dtx}, L4344) % \begin{macrocode} \renewcommand\bibname{Bibliography} \let\DUTbibname\bibname % \end{macrocode} % \end{macro} % % \begin{macro}{\appendixname} % From the Manual \S 3.14 p12, ``Number the appendicies consecutively % either alphabetically or numerically (|Appendix A|, |Appendix B|\ldots % or |Appendix 1|, |Appendix 2|\ldots).'' % (\file{classes.dtx}, L4366) % \begin{macrocode} \renewcommand\appendixname{Appendix} \let\DUTappendixname\appendixname % \end{macrocode} % \end{macro} % % \begin{macro}{\vitaname} % From the Manual \S 3.15 p13, ``The heading |Vita| must appear at the % top of the page.'' % \begin{macrocode} \newcommand\vitaname{Vita} \let\DUTvitaname\vitaname % \end{macrocode} % \end{macro} % % \begin{macro}{\DUTnames} % Some packages (e.g., % \href{http://www.ctan.org/tex-archive/macros/latex/required/babel/}{% % \pkg{babel}}) % mess with our |\*name| values and we have to restore them. \newcommand{\DUTnames}{% \gdef\dedicationsname{\DUTdedicationsname}% \gdef\contentsname{\DUTcontentsname}% \gdef\listtablename{\DUTlisttablename}% \gdef\listfigurename{\DUTlistfigurename}% \gdef\bibname{\DUTbibname}% \gdef\appendixname{\DUTappendixname}% \gdef\vitaname{\DUTvitaname}% } % \end{macro} % % % \subsection{Remaining details} % % % \subsubsection{Terminal blank page} % % Add a terminal blank page (in \Lopt{pagebreak} mode) % From the Manual \S 3.16 p13 % \begin{quote} % Include a blank page (with no page number) at the end of the % thesis or dissertation. The blank page is neither counted nor % numbered. % \end{quote} % \begin{macrocode} \AtEndDocument{\@DUT@blankpage} % \end{macrocode} % % % \begin{macrocode} % % \end{macrocode} % % % \section{Examples} % % % \subsubsection{Template} % % \begin{macrocode} %<*template> % See drexel-thesis.pdf for details. \documentclass{drexel-thesis} %% Enter the appropriate information here \author{} % Fullname \title{} % Title Of Thesis \DUTmonth{} % Name of the month of you defense \DUTyear{} % Year you are defending \degree{} % Your target degree, spelled out \advisor{} % Advisor's full name, degree \copyrighttext{} % If not "All Rights Reserved." %% unsrt style give references in order of citation \bibliographystyle{unsrt} \begin{document} \begin{preamble} \begin{dedications} % OPTIONAL %% Type dedications here \end{dedications} \begin{acknowledgments} % OPTIONAL %% Type acknowledgments here \end{acknowledgments} \tableofcontents \listoftables % If you have tables \listoffigures % If you have figures \begin{abstract} %% Type abstract here \end{abstract} \end{preamble} \begin{thesis} %% If your thesis does not use \part{}s, you may want to add a %% part-level PDF bookmark to set the main matter of from the front %% matter. %%\pdfbookmark[-1]{Main Matter}{Main Matter} %% Use include statements to include your main thesis code %% from seperate files. %%\include{part1} %%... \end{thesis} \bibliography{references} % Include references.bib BibTeX \appendix % If you have appendices %% include files with your appendicies (if any) here %%\include{appendixA} %%... \begin{vita} % Ph.D. only. %%Vita text. \end{vita} \end{document} % % \end{macrocode} % % % \subsection{A better example} % \label{sec:better-example} % % \subsubsection{Main} % % \begin{macrocode} %<*example|example-draft> %% See drexel-thesis.pdf for details. %\documentclass[subfig,blackref,approvalform]{drexel-thesis} %\documentclass[draft,subfig]{drexel-thesis} %% Enter the appropriate information here \author{Johny Henry} \title{Inadequacies of Steam-Driven Boring Machines} \DUTmonth{July} \DUTyear{1872} \degree{Doctor of Philosophy} \advisor{Collis Potter Huntington, R.R.D.} \advisor{Advisor 2, Ph.D.} \advisor{Advisor 3, Ph.D.} \copyrighttext{\copyrighttextCCBYSA} \usepackage[super,sort&compress]{natbib} % fancy citation extensions \bibliographystyle{unsrtnat} \usepackage{fancyvrb} % nicer verbatim handling \DefineShortVerb{\|} % \verb+TEXT+ -> |TEXT| % \end{macrocode} % Sometimes other packages clobber \cls{drexel-thesis}'s macros and % environments. It's ok though, the originals are all aliased to % |\DUT*|. We'll just have to use |DUTpreamble| instead. % \begin{macrocode} \renewenvironment{preamble}{% look, we're clobbering an environment! What preamble?\begingroup\color{white}}{\endgroup} % \end{macrocode} % Use % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/blindtext/}% % {\pkg{blindtext}} % for dummy text creation. \pkg{blindtext} requires % \href{http://www.ctan.org/tex-archive/macros/latex/required/babel/}% % {\pkg{babel}}. % \begin{macrocode} \usepackage[english]{babel} % English blindtext \usepackage{blindtext} % macros for producing dummy output % \end{macrocode} % \pkg{babel} messes with some of our words (\S \ref{sec:words}), so % we have to reset them. See the % \href{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latexwords}{\TeX\ FAQ} % for details. % \begin{macrocode} \addto\captionsenglish{\DUTnames} \begin{document} \begin{DUTpreamble} % "DUT" because original preamble was clobbered. \begin{dedications} We're in \iffinal{final}{draft} mode! \Blindtext[3] \end{dedications} \begin{acknowledgments} \Blindtext[3] \end{acknowledgments} \tableofcontents \listoftables \listoffigures \begin{abstract} \Blindtext[3] \end{abstract} \end{DUTpreamble} \begin{thesis} \include{example-1} \end{thesis} \bibliography{example-ref} \appendix \include{example-a} \begin{vita} \Blindtext[3] \end{vita} \end{document} % % \end{macrocode} % % % \subsubsection{Part} % \label{sec:better-example-part} % % \begin{macrocode} %<*example-part> \part{A Part Heading} \chapter{A Chapter Heading} \section{A Section Heading} The following sectioning commands are available: \begin{quote} part \\ chapter \\ section \\ subsection \\ subsubsection \\ paragraph \\ subparagraph \end{quote} \subsection{natbib} You can cite your references with |natbib|'s |\citet| and |\citep| macros. See \href{http://www.ctan.org/tex-archive/macros/latex/contrib/natbib/} {the natbib manual} for details. Here we have a text citation \citet{rief97} followed by a parenthetical citation\citep{rief97}. \subsubsection{Tables and Figures} \Blindtext[2] \begin{table} \begin{center} \begin{tabular}{r@{.}l r@{.}l r@{.}l} \multicolumn{2}{c}{Time (s)} & \multicolumn{2}{c}{John Henry (m)} & \multicolumn{2}{c}{Steam drill (m)} \\ 0&0 & 0&0 & 0&0 \\ 10&0 & 4&3 & 3&75 \\ 30&0 & 11&9 & 10&1 \\ \ldots \end{tabular} \caption{A table float.} % low caption allowed with floatrow %% Note the strange |r@{.}l| notation in the |\tabular| column %% definition. This allows for numbers aligned at the decimal point %% (see \href{http://www.stat.unipg.it/tex-man/ltx-68.html}{here}). %% %% |\multicolumn{num_cols}{alignment}{contents}| allows the headings %% to span the pre- and post-decimal columns. \end{center} \end{table} \Blindtext[2] \begin{figure} \caption{A figure float. \blindtext} % high caption allowed with floatrow \begin{center} \includegraphics[width=0.4\textwidth]{drexel-logo} \end{center} \end{figure} \Blindtext[3] \begin{figure} \begin{center} \subfloat[][]{% \includegraphics[width=0.2\textwidth]{drexel-logo}% \label{fig:sub-a}} \subfloat[][]{% \includegraphics[width=0.2\textwidth]{drexel-logo}% \label{fig:sub-b}} \caption{(a) One subfig float. (b) Another subfig float.% \label{fig:both}} \end{center} \end{figure} You can reference the subfig floats individually (\ref{fig:sub-a}) or together (\ref{fig:both}). \Blindtext[3] \part{Another Part} \chapter{Another Chapter} \Blindtext[5] \chapter{A Long Title Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla} \Blindtext[5] % % \end{macrocode} % % % \subsubsection{\BibTeX} % % What goes into the \BibTeX\ file |example-ref.bib|? % For more information, check out this % \href{http://cmtw.harvard.edu/Documentation/TeX/Bibtex/Example.html}{basic tutorial}. % If you want to get deeper, take a look at % \href{http://www.ctan.org/tex-archive/info/bibtex/tamethebeast/}{Tame the BeaST}. % Other resources: % \href{http://www.andy-roberts.net/misc/latex/latextutorial3.html}{how the process works}, % \href{http://newton.ex.ac.uk/tex/pack/bibtex/btxdoc/node6.html}{entry types}, % \href{http://newton.ex.ac.uk/tex/pack/bibtex/btxdoc/node7.html}{fields}, % \href{http://en.wikipedia.org/wiki/BibTeX}{entries and fields}, % \href{http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html}{assorted style examples}, and % \href{http://liinwww.ira.uka.de/bibliography/Bib.Format.html}{assorted \BibTeX tools}. % % Here is an example \BibTeX\ file to get you started. We define % strings for the publishers, journals, and authors to avoid % duplication, minimize the risk of typos, etc. % % \begin{macrocode} %<*example-bibtex-refs> %% Publishers @String{APS = "American Physical Society"} %% Journals @String{SCI = "Science"} %% Authors @String{MRief = "Rief, Matthias"} @String{MGautel = "Gautel, Mathias"} @String{FOesterhelt = "Oesterhelt, Filipp"} @String{JFernandez = "Fernandez, Julio M."} @String{HGaub = "Gaub, Hermann E."} %% Articles @Article{rief97, author = MRief #" and "# MGautel #" and "# FOesterhelt #" and "# JFernandez #" and "# HGaub, title = "Reversible Unfolding of Individual Titin Immunoglobulin Domains by {AFM}", journal = SCI, volume = 276, number = 5315, pages = "1109--1112", year = 1997, doi = "10.1126/science.276.5315.1109", URL = "http://www.sciencemag.org/cgi/content/abstract/276/5315/1109", eprint = "http://www.sciencemag.org/cgi/reprint/276/5315/1109.pdf", mynote = "Seminal paper for force spectroscopy on Titin. Cited by Dietz '04 (ref 9) as an example of how unfolding large proteins is easily interpreted (vs.\ confusing unfolding in bulk), but Titin is a rather simple example of that, because of its globular-chain structure.", } %% ... % % \end{macrocode} % % % \subsubsection{Appendix} % % \begin{macrocode} %<*example-appendix> \chapter{Some Appendix Heading} \Blindtext[5] \chapter{Another Appendix Heading} \Blindtext[5] % % \end{macrocode} % % % \section{Known bugs and issues} % % % \subsection{Hacks} % % \begin{itemize} % \item |\vspace*{0\p@}| space between page top and chapter % headings (|\@makechapterhead| and |\@makeschapterhead|, % Sec.~\ref{sec:implement-chapters}). % \item Extra space under LOT and LOF titles compared to TOC. % (Secs.~\ref{sec:implement-lof} and \ref{sec:implement-lot}). % \end{itemize} % % % \subsection{Bugs} % % \begin{itemize} % \item Different space between chapter heading and section heading, % vs.\ chapter heading and text. Compare \emph{A Chapter Heading} % and \emph{Another Chapter} in \file{example.pdf}. This is a % problem (although with opposite order) in the \cls{book} class % itself. For example, compile % \begin{example} %\documentclass{book} %\begin{document} %\chapter{Chapter with text} %Bla bla bla. %\chapter{Chapter with section} %\section{Section} %Bla bla bla. %\end{document} % \end{example} % \item Footer overlap if chapter/section names are particularly long. % See \emph{Section in long-titled chapter} in \file{example.pdf}. % Workaround: turn off sections in the footer: % \begin{example} % \fancyfoot[RE,LO]{\scshape\leftmark} % \fancyfoot[LE,RO]{} % \end{example} % For more header or footer manipulation ideas, see \S \ref{sec:fancyhdr}. % \end{itemize} % % % \Finale \endinput