% \def\fileversion{0.2} % \def\filedate{2010/01/09} % \iffalse meta-comment %\def\fileversion{0.2} %\def\filedate{2010/01/09} % % Copyright (C) 2010 W. Trevor King, Daniel J. Cross, T. Tsankov, and % R. Rojas. % ------------------------------------------------------- % % 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. % % Based on Scott Pakin's dtxtut/cskeleton.dtx % http://www.ctan.org/tex-archive/info/dtxtut/ % % \fi % % \iffalse meta-comment %<*driver> \ProvidesFile{drexel-thesis.dtx} % %\NeedsTeXFormat{LaTeX2e} %\ProvidesClass{drexel-thesis} % [\filedate\ \fileversion\ Drexel Thesis] % % Code for the .ini driver, see section "2.1 The driver file" of doc.dtx. %<*driver> \documentclass{ltxdoc} \usepackage[colorlinks=true]{hyperref} % % 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}}{} % % \TeX's arguments aren't optional/mandatory, but they do use brackets % and braces. %<*driver> \newcommand{\bracearg}[1]{\marg{#1}} \newcommand{\brackarg}[1]{\oarg{#1}} % % Define a quick and dirty version of |xkeyval|'s |\DescribeOptions|. %<*driver> \newenvironment{option}[1]{\begin{macro}{#1}} {\end{macro}} % %<*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.} % % \MakeShortVerb{\|} % \newcommand{\pkg}[1]{\textsf{#1}} % \newcommand{\cls}[1]{\textsf{#1}} % ^^A\newcommand{\BibTeX}{{\sc Bib}\TeX} % % \title{The \textsf{drexel-thesis} class\thanks{This document % corresponds to \textsf{drexel-thesis}~\fileversion, dated \filedate.}} % \author{W.~Trevor King \\\texttt{wking@drexel.edu} % \and Daniel J.~Cross \and T.~Tsankov \and R.~Rojas.} % \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} % % \subsection{Options} % % \DescribeOptions{final,draft} % The default option (selected if not options are passed) is |final| % mode, which has all the proper formatting and spacing for your final % product. The other main option is |draft| mode, which reduces all % the spacing in the document, so might be helpful when printing out % drafts (saves paper). % % |final| mode corresponds to (with Thesis Manual chapter and verse)\\ % \begin{tabular}{r p{0.8\textwidth}} % |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).'' \\ % |finalspace| & Assorted single, double, and triple spacing % directives. \\ % |dottedtoc| & From the example on p17. % \end{tabular} % % |draft| mode corresponds to \\ % \begin{tabular}{r p{0.8\textwidth}} % |twoside| & Save space. \\ % |draftspace| & Save space. \\ % |dottedtoc| & Might as well be consistent with |final|. % \end{tabular} % % \DescribeOption{finalspace} % Loosen spacing. % % \DescribeOption{draftspace} % Tighten spacing. % % \DescribeOptions{dottedtoc,boldtoc, % dottedpart,boldpart, % dottedchapter,boldchapter} % These options change how the relevant TOC lines are printed % \LaTeX\ defaults to bold but not dots. The |*toc| options set all % of the types. For example, |boldtoc| is equivalent to % |boldchapter,boldpart|. % % \subsubsection{Interesting \cls{book} options} % % \DescribeOption{oneside} % Setup output for one-sided printing. % % \DescribeOption{twoside} % Setup output for two-sided printing. % % \DescribeOption{leqno} % |leqno| places the numbering of formulae on the left hand side % instead of the right. % % \DescribeOption{fleqn} % |fleqn| typesets displayed formulae left-aligned instead of % centered. % % % \subsection{Macros} % % \begin{command} % `\cs{author}\marg{name}' % \end{command} % \DescribeMacro{\author} % 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 3.1 p8. % % \begin{command} % `\cs{title}\marg{title}' % \end{command} % \DescribeMacro{\title} % 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} % Use this macro to set your advisor's name to \meta{name}. For % example % \begin{example} % \advisor{John A. Wheeler, Ph.D.} % \end{example} % See the Manual 3.1 p8. % % \begin{command} % `\cs{defmonth}\marg{month}' % `\cs{defyear}\marg{year}' % \end{command} % \DescribeMacro{\defmonth} % \DescribeMacro{\defyear} % 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} % \defmonth{June} % \defyear{1942} % \end{example} % See the Manual 3.1 p8. % The |def| in |\def*| avoids 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} % Set your target degree with \meta{degree}. From the Manual 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{tableofcontents}' % \end{command} % \DescribeMacro{\tableofcontents} % Write the table of contents (Manual 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 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{blanklines}\marg{num}' % \end{command} % \DescribeMacro{\blanklines} % 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. % % % \subsection{Environments} % % \DescribeEnv{preamble} % 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 3.1), % up through the blank page before the text (Manual 3.9). % % \DescribeEnv{dedications} % Set the dedications text. % Highlights from the Manual 3.3 p9: % \begin{quote} % The |Dedications| page is optional. % \end{quote} % % \DescribeEnv{acknowledgments} % Set the acknowledgments text. % Highlights from the Manual 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} % Set the thesis abstract text. In the Thesis Manual, see section 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} % Set the thesis text. In the Thesis Manual, see section 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} % Set the thesis vita text (Ph.D.\ only). See the Manual 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} % % From the Manual 2.3 p6, ``Tables and Figures'', % \begin{quote} % Place figure captions below figures. % Place table captions above tables. % \end{quote} % so make sure the |\caption| command is in the appropriate location. % For example % \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} % Note that you'll want to use the % \href{http://www.ctan.org/tex-archive/macros/latex/required/graphics/}{\pkg{graphicx}} % package to define the |\includegraphics| macro. For more useful % float information, see 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 Section \ref{sec:natbib-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} % % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/cleveref/}{\pkg{cleveref}}. % Is a wonderful tool for easy, consistent crosslinking. The manual is also very good. % % % \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} % % 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. % % % \StopEventually{\pagebreak\PrintChanges} % % % \section{Implementation} % \iffalse meta-comment %<*class> % \fi % % 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 Section \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@dottedchapter \newif\if@boldchapter \newif\if@boldpart \newif\if@dottedpart \newif\if@appendix \newif\if@final \@finalfalse % \end{macrocode} % % Define some strings to store option arguments % \begin{macrocode} \newcommand{\@advisor}{ } \newcommand{\def@month}{ } \newcommand{\def@year}{ } \newcommand{\@degree}{ } % \end{macrocode} % \begin{option}{finalspace} % \begin{macrocode} \DeclareOptionX{finalspace}{ \setlength\overfullrule{0pt} \def\@csp{2} % content page spacing \def\@ssp{1} % single space \def\@dsp{2} % double space \def\@tsp{3} % triple space \@finaltrue } % \end{macrocode} % \end{option} % \begin{option}{draftspace} % \begin{macrocode} \DeclareOptionX{draftspace}{ \setlength\overfullrule{5pt} \def\@csp{1} % content page spacing \def\@ssp{1} % single space \def\@dsp{1} % double space \def\@tsp{2} % triple space \@finalfalse } % \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} % \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} % % Define the book options that |final| and |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}{ \setkeys{drexel-thesis.cls}{oneside} \setkeys{drexel-thesis.cls}{finalspace} \setkeys{drexel-thesis.cls}{dottedtoc} } % \end{macrocode} % \end{option} % % \begin{option}{draft} % \begin{macrocode} \DeclareOptionX{draft}{ \setkeys{drexel-thesis.cls}{twoside} \setkeys{drexel-thesis.cls}{draftspace} \setkeys{drexel-thesis.cls}{dottedtoc} } % \end{macrocode} % \end{option} % % Use the default \cls{book} implementation for any remaining options % including |oneside|, |twoside|, |leqno|, |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 Section \ref{sec:dependencies} for % installation instructions. % % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/setspace/}{\pkg{setspace}} % for double spacing. % \begin{macrocode} \RequirePackage{setspace} % \end{macrocode} % % \href{http://www.ctan.org/tex-archive/macros/latex/required/graphics/}{\pkg{graphicx}} % \href{http://www.ctan.org/tex-archive/macros/latex/required/tools/}{\pkg{calc}} % for |\blanklines| macro. % \begin{macrocode} \RequirePackage{calc} % \end{macrocode} % % Setup page margins with the % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/geometry/}{\pkg{geometry}} % package. 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 1.5 p4, Print Version: % ``The paper size must be 8 1/2'' x 11''{}''. % \begin{macrocode} \RequirePackage[letterpaper,margin=1in,bindingoffset=0.5in]{geometry} % [2008/12/21 v4.2 Page 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}. % % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/fancyhdr/}{\pkg{fancyhdr}} % for correct page numbering and fancy headers. % \begin{macrocode} \RequirePackage{fancyhdr} % \end{macrocode} % Setup the standard |fancy| format. |\leftmark| is the higher level % mark, see |\chaptermark| below. |\rightmark| is the lower level % mark, see |\sectionmark| below. % \begin{macrocode} \pagestyle{fancy} \fancyhf{} \fancyhead[LE,RO]{\slshape\rightmark} \fancyhead[LO,RE]{\slshape\leftmark} \fancyfoot[LE,RO]{\thepage} % \end{macrocode} % Override the |plain| format (for chapter pages, etc.). % \begin{macrocode} \fancypagestyle{plain}{ \fancyhf{} \renewcommand{\headrulewidth}{0pt} \fancyfoot[LE,RO]{\thepage} } % \end{macrocode} % % Setup colon rather than period separated chapter marks, overriding % \cls{book}'s |\chaptermark|. % \begin{macrocode} \renewcommand\chaptermark[1]{% \markboth {\MakeUppercase{% \ifnum \c@secnumdepth >\m@ne \if@mainmatter \@chapapp\ \thechapter: \ % \fi \fi #1}}{}} % \begin{macrocode} % % Setup space rather than period separated section marks, overriding % \cls{book}'s |\sectionmark|. % \begin{macrocode} \renewcommand{\sectionmark}[1]{% \markright {\MakeUppercase{% \ifnum \c@secnumdepth >\z@ \thesection \ % \fi #1}}} % \end{macrocode} % % \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} % % \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. % \begin{macrocode} \RequirePackage{hyperref} % \end{macrocode} % Nobody likes the default colored boxes. Color the text itself. % \begin{macrocode} \hypersetup{colorlinks} % \end{macrocode} % If we're writing a PDF, we set the |pdfauthor|, etc.\ arguments in % |\author|, etc.\ to avoid using |\AtBeginDocument| or some such. % % % \subsection{Macros} % % \begin{macro}{\author} % Override |latex.ltx|'s |\author| to set \pkg{hyperref}'s |pdfauthor|. % \begin{macrocode} \renewcommand{\author}[1]{ \gdef\@author{#1} \ifpdf \hypersetup{pdfauthor={\@author}} \fi } % \end{macrocode} % \end{macro} % \begin{macro}{\title} % Override |latex.ltx|'s |\title| to set \pkg{hyperref}'s |pdftitle|. % \begin{macrocode} \renewcommand{\title}[1]{ \gdef\@title{#1} \ifpdf \hypersetup{pdftitle={\@title}} \fi } % \end{macrocode} % \end{macro} % \begin{macro}{\advisor} % \begin{macrocode} \newcommand{\advisor}[1]{\renewcommand{\@advisor}{#1}} % \end{macrocode} % \end{macro} % \begin{macro}{\defmonth} % \begin{macrocode} \newcommand{\defmonth}[1]{\renewcommand{\def@month}{#1}} % \end{macrocode} % \end{macro} % \begin{macro}{\defyear} % \begin{macrocode} \newcommand{\defyear}[1]{\renewcommand{\def@year}{#1}} % \end{macrocode} % \end{macro} % \begin{macro}{\degree} % \begin{macrocode} \newcommand{\degree}[1]{ \renewcommand{\@degree}{#1} \ifpdf \hypersetup{pdfsubject={\@degree}} \fi } % \hypersetup{pdfauthor={\@author}} % \hypersetup{pdftitle={\@title}} % \hypersetup{pdfstartview=FitH} % } % \end{macrocode} % \end{macro} % % Set the official names of the various sections encountered % \begin{macro}{\dedicationsname} % From the Manual 3.3 p9, ``The heading |Dedications| must appear at % the top of the page.'' % \begin{macrocode} \newcommand\dedicationsname{Dedications} % \end{macrocode} % \end{macro} % \begin{macro}{\acknowledgmentsname} % From the Manual 3.4 p9, ``The heading |Acknowledgments| must appear % at the top of the page.'' % \begin{macrocode} \newcommand\acknowledgmentsname{Acknowledgments} % \end{macrocode} % \end{macro} % \begin{macro}{\contentsname} % From the Manual 3.5 p9, ``The heading |Table of Contents| must % appear at the top of the page.'' Override \cls{book}'s definition. % \begin{macrocode} \renewcommand\contentsname{Table of Contents} % \end{macrocode} % \end{macro} % \begin{macro}{\listtablename} % From the Manual 3.6 p10, ``The heading |List of Tables| must appear % at the top of the page.'' % Override \cls{book}'s definition. % \begin{macrocode} \renewcommand\listtablename{List of Tables} % \end{macrocode} % \end{macro} % \begin{macro}{\listfigurename} % From the Manual 3.7 p10, ``The heading |List of Figures| must appear % at the top of the page.'' % Override \cls{book}'s definition. % \begin{macrocode} \renewcommand\listfigurename{List of Figures} % \end{macrocode} % \end{macro} % \begin{macro}{\abstractname} % From the Manual 3.8 p10, ``The following heading must be centered at % the top of the first page: |Abstract|\ldots'' % \begin{macrocode} \newcommand\abstractname{Abstract} % \end{macrocode} % \end{macro} % \begin{macro}{\bibname} % From the Manual 3.13 p12, ``The heading |Bibliography| (or % |List of References|) must appear at the top of first page.'' % Override \cls{book}'s definition. % \begin{macrocode} \renewcommand\bibname{Bibliography} % \end{macrocode} % \end{macro} % \begin{macro}{\appendixname} % From the Manual 3.14 p12, ``Number the appendicies consecutively % either alphabetically or numerically (|Appendix A|, |Appendix B|\ldots % or |Appendix 1|, |Appendix 2|\ldots).'' % Override \cls{book}'s definition. % \begin{macrocode} \renewcommand\appendixname{Appendix} % \end{macrocode} % \end{macro} % \begin{macro}{\vitaname} % From the Manual 3.15 p13, ``The heading |Vita| must appear at the % top of the page.'' % \begin{macrocode} \newcommand\vitaname{Vita} % \end{macrocode} % \end{macro} % % \begin{macro}{\blankpage} % Insert a blank page without numbering (except in draft mode). % \begin{macrocode} \newcommand\blankpage{% \if@final \clearpage \thispagestyle{empty} \hphantom{0} \clearpage \else\fi } % \end{macrocode} % \end{macro} % % \begin{macro}{\blanklines} % Insert number of blank lines, protecting against external |spacing| % environments. Requires \pkg{calc} for the multiplication. % \begin{macrocode} \newlength\blanklines@length \newcommand{\blanklines}[1]{% \begin{spacing}{1} \setlength{\blanklines@length}{\baselineskip * {#1}} \vspace{\blanklines@length} \end{spacing} } % \end{macrocode} % \end{macro} % % \begin{macro}{\maketitle} % Automate the creation of the title page. % From Manual 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} % Override \cls{book}'s definition. % \begin{macrocode} \renewcommand\maketitle{ \renewcommand\thefootnote{\@fnsymbol\c@footnote}% \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% \long\def\@makefntext##1{\parindent 1em\noindent \hb@xt@1.8em{% \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% \begin{titlepage}% \ifpdf \pdfbookmark[-1]{Frontmatter}{frontmatter} \pdfbookmark[0]{Title Page}{title} \fi \null\vfil \begin{center}% \begin{spacing}{\@tsp} {\bf \@title \par}% \end{spacing} \begin{spacing}{\@dsp} A Thesis\\ Submitted to the Faculty\\ of\\ Drexel University\\ by\\ \@author \\ in partial fulfillment of the\\ requirements for the degree\\ of\\ \@degree\\ \def@month\ \def@year \end{spacing} \end{center}\par \vfil\null \end{titlepage}% \setcounter{footnote}{0}% \global\let\maketitle\relax \global\let\and\relax } % \end{macrocode} % \end{macro} % % \begin{macro}{\makecopyright} % Automate the creation of the copyright page. % From Manual 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} % \begin{macrocode} \newcommand\makecopyright{% \clearpage \ifpdf \pdfbookmark[0]{Copyright Page}{copyright} \fi \null\vfil \begin{center} \copyright \def@year\\ \@author. All Rights Reserved. \end{center} \vfil\null % \end{macrocode} % |\thispagestyle{empty}| turns off page numbering for the current % page. See % \href{http://www.personal.ceu.hu/tex/pagestyl.htm#pgstyle}{here}. % \begin{macrocode} \thispagestyle{empty} } % \end{macrocode} % \end{macro} % % \begin{macro}{\tableofcontents} % Automate the creation of the table of contents. % From Manual 3.5 p9, ``Table of Contents'', and the example on p17. % \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} % Override \cls{book}'s definition. % \begin{macrocode} \renewcommand\tableofcontents{% \clearpage \ifpdf \phantomsection \pdfbookmark[0]{\contentsname}{tableofcontents} \fi \chapter*{\contentsname} \@mkboth{\MakeUppercase\contentsname}% {\MakeUppercase\contentsname}% \@starttoc{toc}% } % \end{macrocode} % \end{macro} % % % \subsection{Environments} % % \begin{environment}{preamble} % \begin{macrocode} \newenvironment{preamble}{% \cleardoublepage \@mainmatterfalse \pagenumbering{roman} % \end{macrocode} % From Manual 3.1 p8, ``Title Page''. % \begin{macrocode} \maketitle % \end{macrocode} % From Manual 3.2 p9, ``Copyright Page''. % \begin{macrocode} \makecopyright }{% % \end{macrocode} % From the Manual 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} \blankpage } % \end{macrocode} % \end{environment} % % \begin{environment}{dedications} % From the Manual 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} % \begin{macrocode} \newenvironment{dedications}{% \clearpage \ifpdf \phantomsection \pdfbookmark[0]{\dedicationsname}{dedications} \fi \chapter*{\dedicationsname} \begin{spacing}{\@dsp} }{% \end{spacing} } % \end{macrocode} % \end{environment} % % \begin{environment}{acknowledgments} % From the Manual 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} % \begin{macrocode} \newenvironment{acknowledgments}{% \clearpage \ifpdf \phantomsection \pdfbookmark[0]{\acknowledgmentsname}{acknowledgments} \fi \chapter*{\acknowledgmentsname} \begin{spacing}{\@dsp} }{% \end{spacing} } % \end{macrocode} % \end{environment} % % \begin{environment}{abstract} % \begin{macrocode} \newenvironment{abstract}{% \clearpage \thispagestyle{plain}% \global\@topnum\z@ \phantomsection \addcontentsline{toc}{chapter}{\abstractname} \vspace*{50\p@}% % \end{macrocode} % From the Manual 3.9 p10 ``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. % % On p20, ``These pages are numbered using lowercase Roman numerals. % Note that the heading is single spaced, but the abstract is double % spaced.'' % \begin{macrocode} \begin{spacing}{\@ssp} \begin{center} {\large \bfseries \abstractname \par} %% \@endparpenalty\@M \@title\\ \@author\\ \@advisor\\ \end{center} \end{spacing} \blanklines{2} \begin{spacing}{\@dsp} \@nobreaktrue \@afterindentfalse \@afterheading }{% \end{spacing}\vfill\null } % \end{macrocode} % \end{environment} % % \begin{environment}{thesis} % From the Manual 3.10 p11 % \begin{itemize} % \item The pages are counted and numbered in Arabic numerals. % \end{itemize} % \begin{macrocode} \newenvironment{thesis}{% \mainmatter \begin{spacing}{\@dsp} }{% \end{spacing} \clearpage \ifpdf \phantomsection \pdfbookmark[-1]{Backmatter}{backmatter} \fi } % \end{macrocode} % \end{environment} % % \begin{environment}{vita} % From the Manual 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} % \begin{macrocode} \newenvironment{vita}{% \clearpage \phantomsection \addcontentsline{toc}{chapter}{\vitaname} \chapter*{\vitaname} \blanklines{1} \begin{spacing}{\@dsp} }{% \end{spacing} } % \end{macrocode} % \end{environment} % % % \subsection{Adjust from the \LaTeX/\cls{book} defaults} % % % |\intextsep| sets the space left on top and bottom of an in-text % float (see % \href{http://www.eng.cam.ac.uk/help/tpl/textprocessing/squeeze.html}{here}). % \begin{macrocode} \setlength\intextsep{30pt} % \end{macrocode} % % % \subsubsection{Part and chapter headings} % % Override \cls{book}'s |\makechapterhead|. % From the Manual 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} % \begin{macrocode} \def\@makechapterhead#1{% \vspace*{50\p@}% % \end{macrocode} % Replaced |\normalfont| with |\reset@font| (TODO: why?). % \begin{macrocode} {\parindent \z@ \raggedright \reset@font \ifnum \c@secnumdepth >\m@ne % \end{macrocode} % Removed |\if@mainmatter| conditional guarding this indented section % (TODO: why?). % \begin{macrocode} \par\nobreak \vskip 20\p@ \fi \interlinepenalty\@M % \end{macrocode} % Ensure single spacing, and ensure the chapter heading will have a % centered, |\large|, bold \emph{Chapter \#: Title} or \emph{Appendix % \#: Title} format (as opposed to \cls{book}'s unaligned, |\Huge|, % bold \emph{Title}). % \begin{macrocode} \begin{spacing}{\@ssp} \center \large \bfseries \@chapapp{} \thechapter: #1\par\nobreak \blanklines{2} \end{spacing} } } % \end{macrocode} % % Override \cls{book}'s |\@makeschapterhead|. TODO: Why? % \begin{macrocode} \def\@makeschapterhead#1{% \vspace*{50\p@}% {\parindent \z@ \raggedright % \end{macrocode} % Replaced |\normalfont| with |\reset@font| (TODO: why?). % \begin{macrocode} \reset@font \interlinepenalty\@M % \end{macrocode} % Ensure single spacing. % \begin{macrocode} \begin{spacing}{\@ssp} % \end{macrocode} % Replaced |\Huge| with |\center \large| % \begin{macrocode} \center \large \bfseries #1\par\nobreak % \end{macrocode} % Replaced |\vskip 40\p@| with |\blanklines{2}| % \begin{macrocode} \blanklines{2} \end{spacing} } } % \end{macrocode} % % Override \cls{book}'s |\section|, replacing |\Large| with |\large|. % \begin{macrocode} \renewcommand\section{\@startsection {section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\normalfont\large\bfseries}} % \end{macrocode} % % Fix |\@ssect| and |\@sect| from |latex.ltx| to give single spaced % headings. These macros are defined in |ltsect.dtx| % (\href{http://www.ctan.org/tex-archive/macros/latex/base/}{\pkg{\LaTeX\ base}})), % but the documentation there is not great. % \begin{command} % `\cs{@ssect}\bracearg{INDENT}\bracearg{BEFORESKIP}\bracearg{AFTERSKIP}' % `~~\bracearg{STYLE}\bracearg{ARG}' % `\cs{@sect}\bracearg{NAME}\bracearg{LEVEL}\bracearg{INDENT}\bracearg{BEFORESKIP}' % `~~\bracearg{AFTERSKIP}\bracearg{STYLE}\brackarg{ARG1}\bracearg{ARG2}' % \end{command} % By comparison to \cls{book}'s |\@part| and |\@spart| (see below), I % imagine they have something to do with formatting section names. % \begin{macrocode} \def\@ssect#1#2#3#4#5{% \@tempskipa #3\relax \ifdim \@tempskipa>\z@ \begingroup \begin{spacing}{\@ssp} #4{% \@hangfrom{\hskip #1}% \interlinepenalty \@M #5\@@par}% \endgroup \end{spacing} \else \def\@svsechd{#4{\hskip #1\relax #5}}% \fi \@xsect{#3}} % \end{macrocode} % Now for |\@sect|. % \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 \begin{spacing}{\@ssp} #6{% \@hangfrom{\hskip #3\relax\@svsec}% \interlinepenalty \@M #8\@@par}% \end{spacing} \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} % % Override \cls{book}'s |\@part| and |\@spart|, replacing |\Huge| with % |\large|. From |classes.dtx|, |\@part| formats the title of the part, % and |\@spart| formats the title of a starred part. % \begin{macrocode} \def\@part[#1]#2{% \ifnum \c@secnumdepth >-2\relax \refstepcounter{part}% \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% \else \addcontentsline{toc}{part}{#1}% \fi \markboth{}{}% {\centering \interlinepenalty \@M \normalfont \ifnum \c@secnumdepth >-2\relax \large\bfseries \partname\nobreakspace\thepart \par \vskip 20\p@ \fi \large \bfseries #2\par}% \@endpart} \def\@spart#1{% {\centering \interlinepenalty \@M \normalfont \large \bfseries #1\par}% \@endpart} % \end{macrocode} % % % \subsubsection{Adding TOC entries and blank pages} % % Override \cls{book}'s |\listoffigures|, selecting the false branch % of the |\if@twocolumn| conditionals, adding a line to the table of % contents, and clearing the page. % \begin{macrocode} %the figure list command \renewcommand\listoffigures{% \clearpage \phantomsection \addcontentsline{toc}{chapter}{\listfigurename} \chapter*{\listfigurename}% \@mkboth{\MakeUppercase\listfigurename}% {\MakeUppercase\listfigurename}% \@starttoc{lof}% } % \end{macrocode} % % Override \cls{book}'s |\listoftables|, selecting the false branch % of the |\if@twocolumn| conditionals, adding a line to the table of % contents, and clearing the page. % \begin{macrocode} \renewcommand\listoftables{% \clearpage \phantomsection \addcontentsline{toc}{chapter}{\listtablename} \chapter*{\listtablename}% \@mkboth{\MakeUppercase\listtablename}% {\MakeUppercase\listtablename}% \@starttoc{lot}% } % \end{macrocode} % % Override |latex.ltx|'s |\bibliography|, adding a line to the table % of contents. % \begin{macrocode} \def\bibliography#1{% \addcontentsline{toc}{chapter}{\bibname} \if@filesw \immediate\write\@auxout{\string\bibdata{#1}}% \fi \@input@{\jobname.bbl} } % \end{macrocode} % % Add a terminal blank page (when |\if@final| is true) % From the Manual 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{\blankpage} % \end{macrocode} % % % \subsubsection{Captioning} % % These are to get spacing right after table captions and make the % spacing around floats symmetrical. First, set |\if@table| in the % |table| environments. % \begin{macrocode} \newif\if@table \@tablefalse \renewenvironment{table} {\@tabletrue\@float{table}} {\end@float\@tablefalse} \renewenvironment{table*} {\@tabletrue\@dblfloat{table}} {\end@dblfloat\@tablefalse} % \end{macrocode} % Now override \cls{book}'s |\@makecaption|, adding two |\if@table| % conditionals, which swap |\abovecaptionskip| and |\belowcaptionskip| % for tables (where the caption is above the float body). With our % implementation, |\belowcaptionskip| \emph{always} gives the distance % between the caption and the text, and |\abovecaptionskip| % \emph{always} gives the distance between the caption and the float % body. % % We also replace the caption lead-in |#1: #2| with % |\small{\bfseries#1:} #2|. % \begin{macrocode} \newlength\@tempcapskip \long\def\@makecaption#1#2{% \if@table \@tempcapskip\abovecaptionskip \abovecaptionskip\belowcaptionskip \belowcaptionskip\@tempcapskip \fi \vskip\abovecaptionskip \sbox\@tempboxa{\small{\bfseries#1:} #2}% \ifdim \wd\@tempboxa >\hsize {\small{\bfseries#1:} #2\par} \else \global \@minipagefalse \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip \if@table \@tempcapskip\belowcaptionskip \belowcaptionskip\abovecaptionskip \abovecaptionskip\@tempcapskip \fi } % \end{macrocode} % % % \subsubsection{Adjust table of contents} % % From the \LaTeX\ base class documentation (|classes.dtx| in % \href{http://www.ctan.org/tex-archive/macros/latex/base/}{\pkg{\LaTeX\ base}}) % \begin{quote} % The command |\contentsline{|\meta{name}|}| expands to % |\l@|\meta{name}. So, to specify the table of contents, we must % define |\l@chapter|, \ldots % \end{quote} % % Override \cls{book}'s |\l@chapter| for printing TOC entries, adding % |spacing| environments to ensure single spacing, only using bold if % |\if@boldchapter| is true, handling |\if@dottedchapter|. % \begin{macrocode} \renewcommand*\l@chapter[2]{% \begin{spacing}{\@ssp} \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% % \end{macrocode} % Don't handle spacing here; use the spacing environment at the end of % the macro. % \begin{macrocode} % \vskip 1.0em \@plus\p@ \setlength\@tempdima{1.5em}% \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \leavevmode \if@boldchapter \bfseries \fi \advance\leftskip\@tempdima \hskip -\leftskip % \end{macrocode} % Insert |\if@dottedchapter| block into |#1\nobreak\hfil \nobreak...|. % \begin{macrocode} #1\nobreak \if@dottedchapter \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$} \else\fi % \end{macrocode} % Insert |\if@dottedchapter| block into |#1\nobreak\hfil \nobreak...|. % \begin{macrocode} \hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par \penalty\@highpenalty % \end{macrocode} % Add a content-page-spacing blank after this entry. % \begin{macrocode} \begin{spacing}{\@csp}\par\end{spacing} \endgroup \fi \end{spacing} } % \end{macrocode} % % Add |\l@appendix|, identical to our |\l@chapter|, except for % setting |\@tempdima| to 6.5em rather than 1.5em. TODO: Why? % TODO: Consolidate to \l@chapapp[3] calls. % \begin{macrocode} \newcommand*\l@appendix[2]{% \begin{spacing}{\@ssp} \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% % \vskip 1.0em \@plus\p@ \setlength\@tempdima{6.5em}% \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \leavevmode \if@boldchapter \bfseries \fi \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak \if@dottedchapter \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$} \else\fi \hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par \penalty\@highpenalty \begin{spacing}{\@csp}\par\end{spacing} \endgroup \fi \end{spacing} } % \end{macrocode} % % Add |\l@part|, identical to our |\l@chapter|, except for % setting |\@tempdima| to 6.5em rather than 1.5em. TODO: Why? % TODO: Consolidate to \l@chapapp[3] calls. % \begin{macrocode} \renewcommand*\l@part[2]{% \begin{spacing}{\@ssp} \ifnum \c@tocdepth >-2\relax \addpenalty{-\@highpenalty}% % \end{macrocode} % Don't handle spacing here; use the spacing environment at the end of % the macro. % \begin{macrocode} % \addvspace{2.25em \@plus\p@}% \setlength\@tempdima{3em}% \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth {\leavevmode % \end{macrocode} % Replace |\large \bfseries| with |\if@boldpart...|, so the parts are % the same size as the other entries, and bolding obeys |if@boldpart|. % \begin{macrocode} \if@boldpart \bfseries \fi #1 % \end{macrocode} % Insert |\if@dottedpart| between |#1| and |\hfil|. % \begin{macrocode} \if@dottedpart \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$} \fi \hfil \hb@xt@\@pnumwidth{\hss #2}}\par \nobreak \global\@nobreaktrue \everypar{\global\@nobreakfalse\everypar{}}% % \end{macrocode} % Add a content-page-spacing blank after this entry. % \begin{macrocode} \begin{spacing}{\@csp}\par\end{spacing} \endgroup \fi \end{spacing} } % \end{macrocode} % % Override |latex.ltx|'s |\dottedtocline|, adding some |spacing| % environments. TODO: reasoning. % \begin{macrocode} \def\@dottedtocline#1#2#3#4#5{% \begin{spacing}{\@ssp} \ifnum #1>\c@tocdepth \else \vskip \z@ \@plus.2\p@ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip \parindent #2\relax\@afterindenttrue \interlinepenalty\@M \leavevmode \@tempdima #3\relax \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip {#4}\nobreak \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill \nobreak \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% \par\begin{spacing}{\@csp}\par\end{spacing}}% \fi \end{spacing} } % \end{macrocode} % % Override \cls{book}'s (or \pkg{hyperref}'s) |\appendix|, adding % |\@appendixtrue|. This gets |\if@appendix| working in our % |\chapter| definition below. % \begin{macrocode} \let\DUT@appendix\appendix \renewcommand\appendix{% \@appendixtrue% \DUT@appendix } % \end{macrocode} % % Override \cls{book}'s |\chapter|, selecting the false branch of the % |\if@twocolumn| conditional and adding an |\if@appendix| % conditional. After |\appendix| (when |\if@mainmatter| and % |\if@appendix| are both true), we generate table of content entries % such as \emph{Appendix A: Chapter Title} rather than the standard % \emph{Chapter Title}. |\thechapter| (defined in \cls{book}) is the % appendix letter (e.g.\ |A|). |\@chapapp{}| (also defined in % \cls{book}) Was redefined in |\appendix| (above) as |\appendixname|. % Before |\appendix|, we reproduce the \cls{book} behavior. % \begin{macrocode} \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne \if@mainmatter \refstepcounter{chapter}% \typeout{\@chapapp\space\thechapter.}% \if@appendix \addcontentsline{toc}{appendix}% {\protect\numberline{\@chapapp{} \thechapter:}#1}% \else \addcontentsline{toc}{chapter}% {\protect\numberline{\thechapter}#1}% \fi \else \addcontentsline{toc}{chapter}{#1}% \fi \else \addcontentsline{toc}{chapter}{#1}% \fi \chaptermark{#1}% \addtocontents{lof}{\protect\addvspace{10\p@}}% \addtocontents{lot}{\protect\addvspace{10\p@}}% \@makechapterhead{#2}% \@afterheading} % \end{macrocode} % % % \iffalse meta-comment % % \fi % % % \section{Templates} % % \subsection{Simple} % % \subsubsection{Main} % % \iffalse meta-comment %<*template-main> % \fi % \begin{quote} \hrule \begin{verbatim} %% See drexel-thesis.pdf for details. \documentclass{drexel-thesis} %% Enter the appropriate information here \author{Johny Henry} % Fullname \title{Inadequacies of Steam-Driven Boring Machines} % Title Of Thesis \defmonth{July} % Name of the month of you defense \defyear{1872} % Year you are defending \degree{Doctor of Philosophy} % Should be fine \advisor{C \& O Railroad, Ph.D.} % Put Advisor's full name, degree \usepackage{graphicx} % to include images \begin{document} \begin{preamble} \begin{dedications} % OPTIONAL Type dedications here \end{dedications} \begin{acknowledgments} % OPTIONAL Type acknowledgments here \end{acknowledgments} \tableofcontents %% Include these following commands only if you have tables or figures. %% Tables should come before figures. \listoftables \listoffigures \begin{abstract} Type abstract here \end{abstract} \end{preamble} \begin{thesis} %% Use include statements to include your main thesis code %% from seperate files. \include{part1} \end{thesis} %% unsrt style give references in order of citation \bibliographystyle{unsrt} \phantomsection \addcontentsline{toc}{chapter}{\bibname} \begin{thebibliography}{9} % widest label (above "9"), when printed, as wide as widest entry label. \bibitem{lamport94} Leslie Lamport, \emph{\LaTeX: A Document Preparation System}. Addison Wesley, Massachusetts, 2nd Edition, 1994. %... \end{thebibliography} \appendix %% include files with your appendicies (if any) here \include{appendixA} \begin{vita} % Ph.D. only. See Thesis Manual for details. Vita text. \end{vita} \end{document} % \end{verbatim} \hrule \end{quote} % \iffalse meta-comment % % \fi % % \subsubsection{Part} % % \iffalse meta-comment %<*template-part> % \fi % \begin{quote} \hrule \begin{verbatim} \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} \begin{table} \caption{A table float} \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} \end{center} \end{table} Bla bla bla (text to test table/figure spacing) Bla bla bla Bla bla bla Bla bla bla Bla bla bla Bla bla bla Bla bla bla \begin{figure} \begin{center} \includegraphics[width=0.4\textwidth]{drexel-logo} \end{center} \caption{A figure float} \end{figure} Bla bla bla (text to test table/figure spacing) Bla bla bla Bla bla bla Bla bla bla Bla bla bla Bla bla bla Bla bla bla % \end{verbatim} \hrule \end{quote} % \iffalse meta-comment % % \fi % % 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. % % % \subsubsection{Appendix} % % \iffalse meta-comment %<*template-appendix> % \fi % \begin{quote} \hrule \begin{verbatim} \chapter{Some Appendix Heading} Bla Bla Bla \chapter{Another Appendix Heading} Bla Bla Bla % \end{verbatim} \hrule \end{quote} % \iffalse meta-comment % % \fi % % % \subsection{\BibTeX/\pkg{natbib}} % \label{sec:natbib-example} % % \subsubsection{Main} % % \iffalse meta-comment %<*template-bibtex-main> % \fi % \begin{quote} \hrule \begin{verbatim} %% See drexel-thesis.pdf for details. \documentclass{drexel-thesis} %% Enter the appropriate information here \author{Johny Henry} % Fullname \title{Inadequacies of Steam-Driven Boring Machines} % Title Of Thesis \defmonth{July} % Name of the month of you defense \defyear{1872} % Year you are defending \degree{Doctor of Philosophy} % Should be fine \advisor{C \& O Railroad, Ph.D.} % Put Advisor's full name, degree \usepackage[super,sort&compress]{natbib} % fancy citation extensions %% super selects citations in superscript mode. %% sort&compress automatically sorts and compresses compound citations: %% \pcite{a,b,...} \bibliographystyle{plainnat} \begin{document} \begin{preamble} \begin{dedications} % OPTIONAL Type dedications here \end{dedications} \begin{acknowledgments} % OPTIONAL Type acknowledgments here \end{acknowledgments} \tableofcontents %% Include these following commands only if you have tables or figures. %% Tables should come before figures. \listoftables \listoffigures \begin{abstract} Type abstract here \end{abstract} \end{preamble} \begin{thesis} %% Use include statements to include your main thesis code %% from seperate files. \include{bibpart1} \end{thesis} \bibliography{references} \appendix %% include files with your appendicies (if any) here \include{appendixA} \begin{vita} % Ph.D. only. See Thesis Manual for details. Vita text. \end{vita} \end{document} % \end{verbatim} \hrule \end{quote} % \iffalse meta-comment % % \fi % % \subsubsection{Part} % % You can cite your references with \pkg{natbib}'s |\citet| and % |\citep| macros. See % \href{http://www.ctan.org/tex-archive/macros/latex/contrib/natbib/}{the \pkg{natbib} manual} % for details. % % \iffalse meta-comment %<*template-bibtex-part> % \fi % \begin{quote} \hrule \begin{verbatim} \part{A Part Heading} \chapter{A Chapter Heading} \section{A Section Heading} Here we have a text citation \citet{rief97} followed by a parenthetical citation\citep{rief97}. % \end{verbatim} \hrule \end{quote} % \iffalse meta-comment % % \fi % % \subsubsection{Bib} % % What goes into the \BibTeX\ file |references.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 and minimize the risk of typos, etc. % % \iffalse meta-comment %<*template-bibtex-refs> % \fi % \begin{quote} \hrule \begin{verbatim} %% 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{verbatim} \hrule \end{quote} % \iffalse meta-comment % % \fi % % \Finale \endinput