% dukedis.sty % % A PhD dissertation style that, when combined with the book class % with [oneside] option, produces a dissertation which is acceptable % to the Duke Graduate School. When I (SRG) received the file, there % were no credits on it, nor documentation. I added documentation, % made the style work with the [twoside] option, and fixed the margins. % % If you need to change the commands in this file to better suit % your tastes, please use \renewcommand in your own file rather % than editing this file directly. If, however, you need to edit % this file because of changes in the graduate school's requirements, % do so, then update the version number in \ProvidesPackage and add % a new entry to the end of the version list that's at the end of this % comment block. % % People who've edited this file % SRG: Stephen Granade (sgranade@phy.duke.edu) % % Version 1.0 SRG, 17 Sep 2002 % Added documentation, cleaned up some commands, % better support for twoside printing, support % for shortening the first page of every chapter % Version 1.01 SRG, 19 Sep 2002 % Added \raggedbottom for [twoside] LaTeXing % New [noblankheader] option % Frontmatter page numbers are now centered at the % bottom of every page % \copyrightpage, \maketitle, \makeabstract, and % \bibliography no longer need to be wrapped in a % singlespace environment % \NeedsTeXFormat {LaTeX2e} \ProvidesPackage{dukedis}[2002/09/19 v1.01 Duke dissertation format] %%%%%%% % Instructions for use %%%%%%% % %%% USAGE %%% % % At the top of your main dissertation file, put % % \documentclass[12pt,oneside,letterpaper]{book} % \usepackage[]{dukedis} % % For two-sided printing, change "oneside" to "twoside" % % %%% OPTIONS %%% % % noblankheader: By default, two-page printing style leaves the % right page header blank (other than a page % number) until a \section command is issued. This % means you may have pages that are effectively % blank, if you delay use of a \section command long % enough. This option replaces the blank header with % the name and number of the chapter until the next % \section command. % % %%% PREAMBLE %%% % % In your preamble (that is, before your \begin{document}), define % an \author, \title, \date, \department, \advisor, and your % four committee members: \mema, \memb, \memc, and \memd. If you % need more or fewer committee members, you'll need to edit this % file to make that happen. \date is the year in which you will % graduate. % % %%% FRONT MATTER %%% % % After your \begin{document}, you need to create the copyright page, % title, and abstract. % % \frontmatter % % \copyrightpage % \maketitle % \makeabstract % % Next, include your actual abstract chapter, acknowledgements, and % \dedication (if you so desire.) Then include the table of contents, % list of figures, and list of tables. % % \tableofcontents % \listoffigures % \listoftables % % %%% MAIN MATTER %%% % % After the \listoftables, start the body of your dissertation with % the % % \mainmatter % % command. You can then \include all of the files which contain % your dissertation. To switch from main chapters to appendix % chapters, place % % \appendix % % before you \include the appendix files. % % %%% BACK MATTER %%% % % After your main chapters and appendices (if any), start the % back matter with the % % \backmatter % % command. Then include your bibliography and biography. %%%%%%% % Options %%%%%%% %% new \if for the noblankheader option \newif\ifnoblankhdr \DeclareOption{noblankheader}{\noblankhdrtrue} \ProcessOptions\relax %%%%%%% % Package loading %%%%%%% \RequirePackage[]{amsmath,setspace,cite,graphicx,chngpage} %%%%%%% % Lengths, counters, and spacing %%%%%%% \newlength{\shortenchpage} % New "shorten chapter page" length \setlength{\footnotesep}{2.75ex} % Don't fiddle with this one \setlength{\oddsidemargin}{0.5in} % You can fiddle with these \setlength{\textwidth}{5.875in} \setlength{\topmargin}{0.0in} \setlength{\voffset}{0.0in} \setlength{\headheight}{0.25in} \setlength{\textheight}{8.4in} \setlength{\evensidemargin}{0.0in} \setlength{\shortenchpage}{.4in} \doublespacing % The thesis must be double spaced \setcounter{tocdepth}{4} % Make TOC go four deep (chapter, % section, subsection, subsubsec) %%%%%%% % Support for [twoside] documents %%%%%%% % By default, the LaTeX book class wants to make the bottom margins % of every page line up when in [twoside] mode; for [oneside] mode, % the bottom margins are allowed to be ragged via a \raggedbottom % command. To line up the bottom margins, LaTeX puts extra space % between paragraphs. But PhD dissertations are double-spaced, % and often have long paragraphs to boot. The result is giant % gaps of whitespace between paragraphs. To avoid all of this, % \raggedbottom is turned on for both modes \raggedbottom % When printing double-sided, I don't like having "blank" pages % on the left which still contain the page number in the upper % left hand corner. (See the blank page after the Abstract or % Acknowledgements for an example of this.) This blank page is % generated by the \cleardoublepage command. I've defined a new % command \clearemptydoublepage, which creates true blank pages. % % To make it easy for folks to choose one or the other of those % options, I've changed all \cleardoublepage references to % \cle@rdoublepage, and defined \cle@rdoublepage to be equivalent % to \clearemptydoublepage. If you'd prefer "blank" pages to have % the page number, add the following to your LaTeX file: % % \renewcommand{\cle@rdoublepage}{\cleardoublepage} % % The "new definition block" below contains commands and % environments from book.cls which contained \cleardoublepage % but do not otherwise need to be modified to fit Duke's style. % \newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}} \newcommand{\cle@rdoublepage}{\clearemptydoublepage} %%%SRG begin new definition block \renewcommand\backmatter{% \if@openright \cle@rdoublepage \else \clearpage \fi \@mainmatterfalse} \renewcommand\part{% \if@openright \cle@rdoublepage \else \clearpage \fi \thispagestyle{plain}% \if@twocolumn \onecolumn \@tempswatrue \else \@tempswafalse \fi \null\vfil \secdef\@part\@spart} \if@compatibility \newenvironment{titlepage} {% \cle@rdoublepage \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse\newpage \fi \thispagestyle{empty}% \setcounter{page}\z@ }% {\if@restonecol\twocolumn \else \newpage \fi } \else \renewenvironment{titlepage} {% \cle@rdoublepage \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse\newpage \fi \thispagestyle{empty}% \setcounter{page}\@ne }% {\if@restonecol\twocolumn \else \newpage \fi \if@twoside\else \setcounter{page}\@ne \fi } \fi %%%SRG end definition block %%%%%%% % New pages %%%%%%% % The copyright page \newcommand{\copyrightpage}{ \begin{singlespace} \clearpage\thispagestyle{empty} \vspace*{\fill} \begin{center} {\large Copyright \copyright\ \@date\ by \@author\par} {\large All rights reserved \par} \end{center} \clearpage \end{singlespace} } % The title page, including commands for setting the advisor, % members of the committee, and the department \newcommand{\advisor}[1]{\gdef\@advisor{#1}} \newcommand{\mema}[1]{\gdef\@mema{#1}} \newcommand{\memb}[1]{\gdef\@memb{#1}} \newcommand{\memc}[1]{\gdef\@memc{#1}} \newcommand{\memd}[1]{\gdef\@memd{#1}} \newcommand{\department}[1]{\gdef\@department{#1}} \newcommand{\sigline}[1]{ \vspace*{.6em} \rule[-.5ex]{3in}{.5pt} \par {Dr.\ #1 \par}} \renewcommand{\maketitle}{ \begin{singlespace} \protect\cle@rdoublepage\thispagestyle{empty} \vspace*{\fill} \begin{center} {\Large \textsc{\@title} \par} \vspace{.75em} {\normalsize by \par} \vspace{.75em} {\large \@author \par} \vspace{.75em} {Department of \@department \par} {Duke University \par} \vspace{1.5em} \parbox{3in}{ {Date:\hfill\rule[-.2ex]{2.6in}{.5pt} \par} {Approved: \par} \begin{centering} \sigline{\@advisor, Supervisor} \sigline{\@mema} \sigline{\@memb} \sigline{\@memc} \sigline{\@memd} \end{centering} } \vspace*{1.5em} \par \parbox{4.5in}{ \begin{centering} {Dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy \par} {in the Department of \@department \par} {in the Graduate School of \par} {Duke University \par} \vspace{.75em} \par {\@date \par} \end{centering} } \end{center} \vspace*{\fill} \clearpage \end{singlespace} } % The abstract page -- not the actual abstract, mind you, but a title % page for the abstract, one which is appropriate for UMI \newcommand{\makeabstract}{ \begin{singlespace} \protect\cle@rdoublepage\thispagestyle{empty} \vspace*{\fill} \begin{center} {\large \textsc{\underline{abstract}} \par} \vspace{.75em} {\large (Physics) \par} \vspace{.75em} {\Large \textsc{\@title} \par} \vspace{.75em} {\normalsize by \par} \vspace{.75em} {\large \@author \par} \vspace{.75em} {Department of \@department \par} {Duke University \par} \vspace{1.5em} \parbox{3in}{ {Date:\hfill\rule[-.2ex]{2.6in}{.5pt} \par} {Approved: \par} \begin{centering} \sigline{\@advisor, Supervisor} \sigline{\@mema} \sigline{\@memb} \sigline{\@memc} \sigline{\@memd} \end{centering} } \vspace*{1.5em} \par \parbox{4.5in}{ \begin{centering} {An abstract of a dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy \par} {in the Department of \@department \par} {in the Graduate School of \par} {Duke University \par} \vspace{.75em} \par {\@date \par} \end{centering} } \end{center} \vspace*{\fill} \end{singlespace} } % The dedication page \newcommand{\dedication}[1]{% \chapter*{}\vspace*{1in}% \begin{center} \textit{#1} \end{center} } %%%%%%% % Modified pages %%%%%%% % \listoftables is modified so as to be numbered (via a \chapter command % and not a \chapter* one). \renewcommand\listoftables{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \chapter[\listtablename]{\listtablename \@mkboth{% \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}% \@starttoc{lot}% \if@restonecol\twocolumn\fi } % The same deal with \listoffigures as with \listoftables \renewcommand\listoffigures{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \chapter[\listfigurename]{\listfigurename \@mkboth{\MakeUppercase\listfigurename}% {\MakeUppercase\listfigurename}}% \@starttoc{lof}% \if@restonecol\twocolumn\fi } % \@makechapterhead is modified to leave less vertical space between % the top of the page and the beginning of the chapter title and less % space between the chapter title and the beginning of the chapter % text. It also single spaces the title. \renewcommand{\@makechapterhead}[1]{% \begin{singlespace} \vspace*{15\p@}% {\parindent \z@ \raggedright \normalfont \ifnum \c@secnumdepth >\m@ne \if@mainmatter \huge\bfseries \@chapapp\space \thechapter \par\nobreak \vskip 20\p@ \fi \fi \interlinepenalty\@M \Huge \bfseries #1\par\nobreak \par \vskip 25\p@ } \end{singlespace} } % The same is done with \@makeschapterhead, the \chapter* version of % \@makechapterhead \renewcommand{\@makeschapterhead}[1]{% \begin{singlespace} \vspace*{15\p@}% {\parindent \z@ \raggedright \normalfont \interlinepenalty\@M \Huge \bfseries #1\par\nobreak \vskip 25\p@ } \end{singlespace} } % \thebibliography gets a chapter number, and the margins are % changed a bit. It is also single spaced \renewenvironment{thebibliography}[1] {\begin{singlespace} \chapter[\bibname]{\bibname \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}}% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \addtolength{\leftmargin}{5ex} \addtolength{\itemindent}{-5ex} \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}% }% \sloppy \clubpenalty4000 \@clubpenalty \clubpenalty \widowpenalty4000% \sfcode`\.\@m} {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist \end{singlespace}} % Make a dotted line to the center, as used in the table of contents. % Adjusted here to use single spacing. \renewcommand{\@dottedtocline}[5]{% \ifnum #1>\c@tocdepth \else \vskip \z@ \@plus.2\p@ {\begin{singlespace}% \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% \end{singlespace}}% \fi} % Change the figure and table lists to use boldface \renewcommand{\fnum@figure}{\textbf{\figurename~\thefigure}} \renewcommand{\fnum@table}{\textbf{\tablename~\thetable}} %%%%%%% % Shorten the first chapter page %%%%%%% % shortplain is a page style which moves up the footer by an amount % equal to \shortenchpage. Use with \thispagestyle to apply it to % one page, though you'll have to couple it with an % \enlargethispage{-\shortenchpage} command -- \enlargethispage % does squat when contained in a page style. \def\ps@shortplain{\ps@plain\addtolength{\footskip}{-\shortenchpage}} % An internal command which is identical to the old-skool \chapter % command save for the different page style and the \enlargethispage \newcommand\@ddshorterchapter{\if@openright\cle@rdoublepage\else\clearpage\fi \thispagestyle{shortplain}% \global\@topnum\z@ \@afterindentfalse \enlargethispage{-\shortenchpage} \secdef\@chapter\@schapter} % Another internal command, this one identical to the original % \chapter command \newcommand\@ddrestorechapter{\if@openright\cle@rdoublepage\else\clearpage\fi \thispagestyle{plain}% \global\@topnum\z@ \@afterindentfalse \secdef\@chapter\@schapter} % \ddshortchap : Make \chapter call \@ddshorterchapter, thus % producing a shorter first chapter page \newcommand\ddshortchap{\renewcommand\chapter{\@ddshorterchapter}} % \ddrestorechap : Restore \chapter to its original version \newcommand\ddrestorechap{\renewcommand\chapter{\@ddrestorechapter}} %%%%%%% % Frontmatter page numbers at bottom %%%%%%% % Make \frontmatter switch page style to plain, so that the page % numbers are at the bottom. Move up the bottom margin (similar % to what is done for shortening the 1st page of each chapter) % for all the frontmatter pages using \changetext from the % chngpage package. Make sure the \chapter command uses the % non-shortened version \renewcommand\frontmatter{% \cle@rdoublepage \@mainmatterfalse \pagenumbering{roman} \pagestyle{plain} \changetext{-\shortenchpage}{}{}{}{} \ddrestorechap} % Make \mainmatter switch page style to headers, restore the % bottom margin to its original height, and issue a % \ddshortchap command \renewcommand\mainmatter{% \cle@rdoublepage \@mainmattertrue \pagenumbering{arabic} \clearpage \pagestyle{headings} \changetext{\shortenchpage}{}{}{}{} \ddshortchap} %%%%%%% % Prevent blank headers %%%%%%% % prevent blank headers, if that option was given \ifnoblankhdr \if@twoside \def\ps@headings{% \let\@oddfoot\@empty\let\@evenfoot\@empty \def\@evenhead{\thepage\hfil\slshape\leftmark}% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\markboth \def\chaptermark##1{% \markboth {\MakeUppercase{% \ifnum \c@secnumdepth >\m@ne \if@mainmatter \@chapapp\ \thechapter. \ % \fi \fi ##1}}{\MakeUppercase{% \ifnum \c@secnumdepth >\m@ne \if@mainmatter \@chapapp\ \thechapter. \ % \fi \fi ##1}}}% \def\sectionmark##1{% \markright {\MakeUppercase{% \ifnum \c@secnumdepth >\z@ \thesection. \ % \fi ##1}}}} \fi \fi \endinput