diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/nddiss/nddiss2e.dtx |
Initial commit
Diffstat (limited to 'macros/latex/contrib/nddiss/nddiss2e.dtx')
-rw-r--r-- | macros/latex/contrib/nddiss/nddiss2e.dtx | 2416 |
1 files changed, 2416 insertions, 0 deletions
diff --git a/macros/latex/contrib/nddiss/nddiss2e.dtx b/macros/latex/contrib/nddiss/nddiss2e.dtx new file mode 100644 index 0000000000..6d1ec98b05 --- /dev/null +++ b/macros/latex/contrib/nddiss/nddiss2e.dtx @@ -0,0 +1,2416 @@ +% \iffalse meta-comment +% +% Copyright (C) 2004-2005 by Sameer Vijay +% +% This file may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.2 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 +% +% +% \fi +% +% +% \CheckSum{1478} +% \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{v0.98}{2004/04/15}{Initial {\em beta} version} +% \renewcommand{\generalname}{Release} +% \changes{v1.0}{2004/06/15}{First release} +% \renewcommand{\generalname}{General} +% \changes{v1.1}{2005/04/14}{Minor changes and clean-up} +% \changes{v2.0}{2005/05/14}{Some bugfixes, cleaned some of documentation} +% \changes{v2.1}{2005/06/14}{More bugfixes, changes in documentation} +% \renewcommand{\generalname}{Release} +% \changes{v3.0}{2005/07/27}{Major revamp and clean-up of the code, added +% \texttt{numrefs} and \texttt{textrefs} to allow different kinds of citation +% styles, added some more macros and modified others, +% changed the titlepage a bit, completed source documentation} +% \changes{v3.2013$\beta$}{2013/1/14}{Initial release of updates in order to comply with +% the Graduate School's current formatting regulations and to take advantage +% of some LaTeX package updates. Should be functional, and has been approved +% by the Dissertation/Thesis editors, but has not undergone wide-scale testing. - Megan Patnott} +% \changes{v3.2013}{2013/4/20}{Some bug fixes, minor changes in documentation, and addition of support for parts. - MP} +% \changes{v3.2016}{2016/10/16}{Fix natbib/showkeys ordering bug} +% \changes{v3.2017.1}{2017/05/09}{Display (CONTINUED) on multipage long table captions} +% \changes{v3.2017.2}{2017/08/23}{Add LuaLaTeX support. Allow non-capitalized titles.} +% \renewcommand{\generalname}{Update} +% +% \iffalse (Don't show this in the doc). +% \begin{macrocode} +%<*driver> +\ProvidesFile{nddiss2e.dtx} +\documentclass{ltxdoc} +\setcounter{secnumdepth}{2} +\setcounter{tocdepth}{2} +\DeclareRobustCommand{\nddiss}{% + \textsf{{\scshape nd}diss}\kern-0.03em% + 2$_\mathsf{\textstyle\varepsilon}$} +\providecommand{\dissfileversion}{3.2017.2} +\providecommand{\dissfiledate}{2017-05-09} +\DisableCrossrefs +\CodelineNumbered +\RecordChanges +\begin{document} + \DocInput{nddiss2e.dtx} +\end{document} +%</driver> +% \end{macrocode} +% \fi +% +% \title{The \nddiss\/ class\thanks{Version~\dissfileversion,% +% dated~\dissfiledate.}} +% +% \date{\dissfiledate} +% +% \maketitle +% +% \begin{abstract} +% The \nddiss\space class can be used to typeset dissertations submitted +% to the University of Notre Dame's Graduate School. This class conforms with +% the Graduate School guidelines as of Spring 2013 for the layout of the Ph.D. +% dissertations and Master's theses. +% \end{abstract} +% +% \tableofcontents +% +% \section{Introduction} +% \label{sec:intro} +% The \LaTeXe\space document class \nddiss\ is suitable for producing dissertations +% and theses conforming to the Spring 2013 +% guidelines of the Graduate School at the University of Notre Dame. +% The package is extends the standard \LaTeX\/ \textsf{book} class. +% +% The latest version of this class and related documentation can be found +% in a few places: +% \begin{itemize} +% \item On CTAN: \url{https://ctan.org/pkg/nddiss} +% \item On GitHub: \url{https://github.com/ndlib/nddiss} +% \item On the University of Notre Dame's Graduate School website: \url{http://graduateschool.nd.edu/} +% \end{itemize} +% +% \subsection{Disclaimer} +% \label{sec:disclaimer} +% While this class does as much formatting as it can, there are a few formatting items that +% you, the user, must do manually (see Section \ref{sec:author}). +% Please keep in mind that only \emph{you} are responsible for the +% correct formatting of your dissertation/thesis. +% Should you have questions, please consult the official formatting guide or email \url{dteditor@nd.edu}. +% +% \subsection{Dependencies and Limitations} +% \label{sec:deps} +% This classfile depends on many other packages to be installed. +% All of these required packages are available through MiKTeX and TeXLive, and +% chances are good they are already installed by your TeX distribution. +% Refer to section \ref{sec:features} for a list of the essential packages. +% +% The document class has only been tested with a small subset of available packages. +% There are numerous packages you may want to use for your work, but they may have +% to be modified accordingly. +% Things lacking include support for the \textsf{subfigure} +% and \textsf{subcaption} package and proper formatting of the captions in such an environment. +% Formatting of the captions could be much easier with the +% \textsf{caption}\footnote{\textsf{caption} package by Axel Sommerfeldt v3.0b[2004/05/16] +% and higher} in general, and is a thing-to-do for future versions. Permitting use of the +% \textsf{subfigure} and \textsf{subcaption} packages would also be a good thing to do +% if an update is ever made for reaosns other than resolving conflicts caused by changing +% Graduate School regulations. If you want to use a \textsf{subfigure} environment and don't +% need the caption capabilities of the \textsf{subcaption} package, adding the following +% code to your preamble may allow you to do this and still have your captions formatted +% according to the Graduate School's rules. +% \begin{verbatim} +% \usepackage{subcaption} +% \makeatletter +% \renewcommand\LT@makecaption[3]{% +% \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{% +% \vskip\abovetableskip% +% \centering\normalspacing +% #1{#2 }\\[\single@skip] +% {#3}\par +% \endgraf\vskip\belowtableskip}% +% \hss}}} +% \makeatother +% \end{verbatim} +% +% \subsection{History} +% +% The \nddiss\ package is an extensive rewrite by Sameer Vijay of an earlier \textsf{NDthesis} class +% for formatting dissertations. +% Megan Patnott updated \nddiss\ to the 2013 Graduate School Formatting guidelines. +% The \textsf{NDThesis} class was by D. A. Peterson. +% +% \section{Quick Start} +% +% This section provides a template you can use to get started. +% The distribution comes with a more detailed file, |template.tex|, that is similar, but more detailed. +% +% \begin{verbatim} +% \documentclass[numrefs,final]{nddiss2e} +% +% \begin{document} +% +% \frontmatter +% +% \title{Title in Title Caps} +% \author{Your Name} +% \work{Dissertation} +% \degaward{Doctor of Philosophy} +% \advisor{} +% \department{} +% \maketitle +% \makepublicdomain % There is also a copyright option +% +% \begin{abstract} +% Abstract here +% \end{abstract} +% +% % dedication is optional +% \begin{dedication} +% For Someone +% \end{dedication} +% +% \tableofcontents +% \listoffigures +% \listoftables +% +% % list of symbols is optional +% \begin{symbols} +% \sym{a}{definition of a} +% \end{symbol} +% +% % preface is optional +% \begin{preface} +% Preface here +% \end{preface} +% +% \begin{acknowledge} +% Thanks to everyone +% \end{acknowledge} +% +% \mainmatter +% +% \chapter{A New Dawn} % Chapter 1 +% All the text ... +% +% \appendix +% \chapter{Additional Data} % Appendix A +% +% \backmatter +% \bibliographystyle{nddiss2e} +% \bibliography{bibdatabase} +% +% \end{document} +% \end{verbatim} +% +% +% \section{Usage} +% +% Invoke the \nddiss\space document class by adding |\documentclass|\oarg{options}|{nddiss2e}| +% at the beginning of your \LaTeX\space source file. +% For most people the options |\documentclass[draft]{nddiss2e}| is good enough for the initial revisions. +% If you want your figures to display, use |\documentclass[review]{nddiss2e}|. +% +% Use the option |\documentclass[final]{nddiss2e}| for your formatting check submission, +% and |\documentclass[final,noinfo]{nddiss2e}| for the final submitted version. +% +% If you have two advisors, add the option |twoadvisors| here, and then use |\secondadvisor{}| +% later on the title page to give the name of the second advisor. +% +% By default, all documents produced using this class +% are formatted as one-sided, doublespaced, letter-sized pages, per the Graduate School requirements. +% In theory, the class file's specifications should override your system's defaults. +% If, however, you are getting A4 paper, try adding |\pdfpagewidth{8.5in}| and +% |\pdfpageheight{11in}| immediately after the |\documentclass| in your file. +% +% \subsection{Options} +% \label{subsec:options} +% +% \DescribeMacro{draft} +% \DescribeMacro{review} +% \DescribeMacro{final} +% Exactly \emph{one} of these options must be used. +% The |draft| and |review| options enable faster processing of the document and +% also include annotations to help write and edit it. +% +% The |draft| option enables a fast processing and preliminary document +% showing the labels for citations, tables, figures etc. and a black solid rule +% highlighting the horizontal overflows. Additionally, figures are replaced +% with placement boxes showing where the included figure would be placed. Such +% a document would be the one you would prepare for revising your text during +% writing stages. +% +% The |review| option makes it possible to prepare a document that is +% one step closer to the final version. +% Almost all the formatting of the final version is present, +% but the labels and keys as in the |draft| option are also displayed. +% A document prepared with the |review| option would be the one to +% personally check for proper formatting and possibly giving to your advisor if +% she wished to suggest corrections. +% +% The |final| option produces the document to be submitted to the Graduate School for +% formatting checks and as the final version. +% +% \DescribeMacro{twoadvisors} +% The |twoadvisors| option will produce a title page with space for two advisors. +% Use the |\secondadvisor| macro command +% (discussed in Section \ref{subsec:titlepage}) on the title page to give the +% name of the second advisor. +% +% \DescribeMacro{noinfo} +% The |noinfo| option disables the information page produced +% when the |review| or |final| style options are used. It is +% recommended that you only use this option when making the final +% submission to the Graduate School. +% +% \DescribeMacro{numrefs} +% \DescribeMacro{textrefs} +% These options determine how citations are displayed in the text. +% The default style is |numrefs|. +% The |numrefs| option produces a numbered citation sytle by using \textsf{natbib} +% and the ``nddiss2e'' or ``nddiss2enoarticletitles'' citation style +% file\footnote{|nddiss2e.bst| is a slight modificiation of |abbrvnat.bst| +% in the \textsf{natbib} package; |nddiss2enoarticletitles.bst| is +% essentially the same as |nddiss2e|, but does not display the titles of +% journal articles, as this is the standard in some fields}. +% The |textrefs| option changes the citation style to be similar to +% ``author-date'' style with the same files. +% +% \DescribeMacro{sort} +% \DescribeMacro{compress} +% \DescribeMacro{sort\&compress} +% At most one of these options should be selected. The |sort| option will cause +% both numerical and ``author-date'' style references to be sorted in the order +% that they appear in the bibliography when multiple references are cited. The +% |compress| option compresses numerical citations, e.g. it turns [1,2,3] into +% [1-3], and does nothing to ``author-date'' style references. The +% |sort&compress| option first sorts and then compresses numerical references, and +% only sorts ``author-date'' style references. +% +% Since the same set of packages and +% style files result in differing citation formats, +% refer to the documentation for |natnotes.dvi| in your |TEXMF| tree, +% to be aware of the +% various ways in which you can make a citation in your text. +% +% \DescribeMacro{10pt} +% \DescribeMacro{11pt} +% \DescribeMacro{12pt} +% These options adjust the font size of the body text. +% The choice is only applicable when the |draft| option is used, and defaults +% to |10pt|. +% When |review| or |final| is used, this option is ignored and |12pt| is used. +% +% \DescribeMacro{twoside} +% The |twoside| option causes the class file to prepare a document meant +% to be printed double-sided. +% This option is strictly for if you want to prepare a two-sided document for +% your own use. The only difference from the one-sided document is in the page +% layout. +% Do NOT use this option when preparing to submit it to the Graduate School. +% +% \DescribeMacro{nocenter} +% The |nocenter| option allows non-centered chapter titles. +% Do NOT turn in your document this way to the Graduate School! +% +% \DescribeMacro{openbib} +% The |openbib| option formats your bibliography in the following manner: \\ +% \qquad Author \\ +% \qquad \qquad Article/book title \\ +% \qquad \qquad Other information \\ +% \qquad \qquad Website, if applicable \\ +% Usually you would not need to use this option since the default layout of the +% |bibliography| is acceptable. +% +% \section{Arrangement of Contents} +% +% A dissertation or a thesis document contains the following parts, +% in the order listed. Only those marked as optional may be omitted. +% +% \begin{enumerate} +% \item Title Page +% \item Copyright page +% \item Abstract \emph{(optional for Master's thesis)} +% \item Dedication \emph{(optional)} +% \item Table of Contents +% \item List of Figures +% \item List of Tables +% \item List of Symbols \emph{(optional)} +% \item Preface \emph{(optional)} +% \item Acknowledgments \emph{(optional)} +% \item Text +% \item Appendix (or Appendices) \emph{(optional)} +% \item Bibliography (or References, or Works cited) +% \end{enumerate} +% +% The macros and environments described below ease the formatting of these +% parts. +% +% \subsection{Title Page} +% \label{subsec:titlepage} +% +% \DescribeMacro{\maketitle} +% The title page is generated by |\maketitle| with no arguments. +% This macro has been modified for providing a title page in the correct format. +% +% You can set information to display on the title page by using the following +% commands before invoking |\maketitle|. +% \begin{itemize} +% \item \DescribeMacro{\title\{\}} The title of the document, using the +% |\title| macro. You may use linebreaks within the title, +% protected via |\protect\\| and the title may be up to four +% lines long. +% \item \DescribeMacro{\author\{\}} Give your name in full and exactly as +% registered with the Graduate School, using the +% |\author| macro, e.g. |\author{Gary Graham Gordon-Graeme}|). +% \item \DescribeMacro{\work\{\}} Whether the document is a +% \emph{Thesis} or a \emph{Dissertation} as the argument of the +% |\work| macro, e.g. |\work{Dissertation}|). +% \item \DescribeMacro{\degaward\{\}} Specify the degree you're aiming for +% with the |\degaward| macro. Should be one of +% |\degaward{Doctor of Philosophy}| (without the ``in \emph{subject}'' or +% |\degaward{Master of Science\\in\\Engineering}|. +% \item \DescribeMacro{\advisor\{\}} Give the name of your advisor with +% the |\advisor| macro. +% \item \DescribeMacro{\secondadvisor\{\}} Give the name of your second advisor, +% if any, with the |\secondadvisor| macro. You also need to pass in the +% |twoadvisors| option in the |\documentclass| declaration. +% \item \DescribeMacro{\department\{\}} Give the name of your department with the +% |\department| macro, e.g. |\department{Gnulogical Engineering}|). +% \item \DescribeMacro{\degdate\{\}} The month and year of the defense of the +% thesis with the |\degdate| e.g. |\degdate{June 2004}|). If you forget to +% declare this, the current month/year will be used. +% \end{itemize} +% +% \subsection{Copyright Page} +% \DescribeMacro{\makecopyright} +% \DescribeMacro{\copyrightholder\{\}} +% \DescribeMacro{\copyrightyear\{\}} +% The |\makecopyright| macro should be invoked after |\maketitle| to +% produce a copyright page. +% Prior to calling |\makecopyright|, you may specify a different name +% for the copyright holder (the default is the name given through the +% |\author| macro) and for the copyright year (the default being the +% current year). Do this with the |\copyrightholder|\marg{name} +% and |\copyrightyear|\marg{year} macros. +% +% \DescribeMacro{\makepublicdomain} +% Alternatively, you can use +% |\makepublicdomain| to produce a page with the message ``This document +% is in the public domain.'' Note that the absence of the copyright page +% does \emph{not} place your dissertaion in the public domain, you must +% declare it as such explicitly. +% +% \subsection{Abstract Page(s)} +% \DescribeEnv{abstract} +% The abstract text should be placed between +% |\begin{abstract}| and |\end{abstract}|. +% If the abstract is longer than one page, the environment will place +% the author's name in the top-right header. +% +% \DescribeMacro{\abstractname\{\}} +% You may use |\abstractname|\marg{text} to change the abstract caption +% to |text|. +% Default name: |Abstract|. +% You probably don't need to change it. +% +% \subsection{Dedication} +% \DescribeEnv{dedication} +% The dedication is optional. +% If you want one, use the \textsf{dedication} envrionment. +% The format of dedication is essentially free. +% This environment will center the text of your dedication vertically on the page. +% +% \DescribeMacro{\dedicationame\{\}} +% You may use |\dedicationname|\marg{text} to change the title for the +% dedication page. Default name: |\mbox{}| i.e.\/ an empty title. +% You probably don't need to change it. +% +% \subsection{Table of Contents; Lists of Figures and Tables} +% \DescribeMacro{\tableofcontents} +% \DescribeMacro{\listoffigures} +% \DescribeMacro{\listoftables} +% Use the macros |\tableofcontents|,|\listoffigures| and |\listoftables|, +% \emph{in this order}, to produce the required table of contents and lists of +% figures and tables. +% +% \DescribeMacro{\contentsname\{\}} +% \DescribeMacro{\listfigurename\{\}} +% \DescribeMacro{\listtablename\{\}} +% You may use |\contentsname|, |\listfigurename| and |\listtablename| +% to change the titles for these sections. +% By default they are |CONTENTS|, |FIGURES|, and |TABLES|. +% You probably don't need to change them. +% +% \subsection{List of Symbols} +% \DescribeEnv{symbols} +% The list of symbols is optional. +% Use the \textsf{symbols} envrionment to format a list of +% symbols/abbreviations used in your work. +% The envrionment takes an optional argument specifying the desired format, e.g. +% |\begin{symbols}[cl]| for first column centered and the next column +% aligned left. By default, the first column will be right aligned and +% the second column will be left aligned. You may use any of the standard +% |tabular| column alignment options. +% +% \DescribeMacro{\sym\{\}\{\}} +% The command |\sym|\marg{symbol}\marg{definition} may make the task of +% entering the symbols and their meanings in the \textsf{symbols} +% environment easier. |\sym| takes two arguments: the first, a math +% ``object'' and the second, the plain text describing the +% symbol. Since the first argument is in math mode, any plain text +% needs to be wrapped with |\mathrm{..}| +% Likewise, any math symbol in the second argument needs to placed in +% |$..$|. Example: |\sym{\beta_\mathrm{norm}}{Definition for $\beta$}| +% +% \DescribeMacro{\symbolsname\{\}} +% You may use |\symbolsname{}| to change the title of the symbols section. +% Default name: |SYMBOLS|. +% +% \subsection{Preface} +% \DescribeEnv{preface} +% The \textsf{preface} environment is provided for formatting the preface to your work. +% +% \DescribeMacro{\prefacename\{\}} +% You may use |\prefacename| to change the name of this section. +% Default name: |PREFACE|. +% +% \subsection{Acknowledgments} +% \DescribeEnv{acknowledgments} +% The environment \textsf{acknowledgments} is used to format the +% acknowledgment \emph{chapter}. +% +% +% \DescribeMacro{\acknowledgename\{\}} +% You may use |\acknowledgename| to change the name of this section. +% Default name: |Acknowledgments|. +% +% \subsection{Text} +% \DescribeMacro{\mainmatter} +% Use the macro |\mainmatter| to mark the beginning of your text. +% You can then use |\part|, |\chapter|, |\section|, |\subsection|, and |\subsubsection| +% commands, as you would with the \textsf{book} class. +% Text is formatted in |\normalspacing| i.e. double-spacing. +% The pages are numbered in |plain| pagestyle such that the page numbers +% are centered in the bottom. The |chapter| titles can be multi-line, +% and if so are formatted doubly spaced. +% +% \DescribeMacro{\unnumchapter\{\}} +% Use the macro |\unnumchapter| to create to create unnumbered chapters that +% appear in the Table of Contents. +% +% \subsection{Appendix} +% \DescribeMacro{\appendix} +% Use the command |\appendix| after the last normal chapter to signal +% that all following chapters are to be appendices. +% This use is the same as in the \textsf{book} class. +% To begin an appendix, use the |\chapter|\marg{title} macro. +% +% \subsection{Backmatter} +% \DescribeMacro{\backmatter} +% The |\backmatter| macro separates the bibliography, index +% and glossary from the main matter and any appendices. +% +% \subsection{Bibliography} \DescribeMacro{\bibliography} +% If you are using \BibTeX\/ (and why would you not want to use \BibTeX?), +% use the |\bibliography|\marg{bibfile} macro to generate the +% bibliography. You should refer to \BibTeX\/ manual for details about making a |.bib| file +% and format for the entries. +% +% For citing references in the text, the package \textsf{natbib} is +% included with either the settings \texttt{numbers,sort\&compress} (|numrefs| option) or +% \texttt{authoryear,sort} (|textrefs| option). The package \textsf{natbib} is a +% fantastic package that has numerous macros for \emph{citing} in different ways. +% +% \textbf{Warning:} The packages \textsf{cite} and \textsf{citation} are +% NOT compatible +% with the \textsf{natbib} package, and will cause errors if used. +% +% \DescribeEnv{thebibliography} +% If you are not using \BibTeX\/ make your own bibliography by using the +% \textsf{thebibliography} environment. In this case, you would have +% to write the reference entries in the right format in your |.tex| source +% file itself. If you are using the |textrefs| option, you'll need to +% consult the \textsf{natbib} manual to ensure that you enter your entries in +% the format required by the package. +% +% \DescribeMacro{\bibname\{\}} +% You may use |\bibname|\marg{newbibname} to change the name of this section. +% Default name: |Bibliography|. +% +% \subsection{Chapter-wise Bibliography} +% By default the bibliography appears at the end of your work and contains +% all the references from the entire entity. +% If you need to have a separate bibliography for each chapter, +% you can do it in the following way. +% First, load the package \textsf{chapterbib} without any options +% in the preamble of your main source file and +% redefine the commands |\bibname| and |\bibsection| as shown below. +% \begin{verbatim} +% %% Main source file %% +% \documentclass[...]{nddiss2e} +% \usepackage{chapterbib} +% \renewcommand{\bibname}{Cited works} +% \renewcommand{\bibsection}{\section{\bibname}} +% ... +% \begin{document} +% \include{chptr1} +% ... +% \include{appndx} +% \end{document} +% \end{verbatim} +% +% To process the bibliography for each chapter individually, the chapters or sections +% must be separated into different files and \emph{include} +% them in the main file, as shown above. Each such |\include|d file must contain +% its own |\bibliographystyle{nddiss2e}| and |\bibliography{...}| command at +% an appropriate position. There should not be any bibliographic commands in +% the main source file. +% +% After compiling the main tex file once (with |latex| or +% |pdflatex|), the |.aux| files needed by |bibtex| will have been created +% and you can then run |bibtex| on each of the separate source files to obtain a |.bbl| +% for each file. The remaining steps are the same as for a normal |.tex| file. +% +% You can find more details of this in the \textsf{natbib} manual. +% +% \section{Note For Authors} +% \label{sec:author} +% The dissertation author must make sure that the +% following conditions are met in order to generate a dissertation +% acceptable by the Graduate School: +% +% \begin{itemize} +% \item The List of Figures must be \emph{before} the List of Tables, i.e. the +% macro command |\listoffigures| comes before |\listoftables| in the +% frontmatter. +% \item Table captions must be \emph{above} the corresponding table, +% In case of the \textsf{table} environment, this can be achieved by +% putting |\caption| before you include the table (e.g. in a \textsf{ +% tabular} environment). +% \item Figure captions should be \emph{below} the corresponding figure. +% In the \textsf{figure} environment, the |\caption| goes after +% the |\includegraphics| macro command. +% \item The bibliography is the last section/chapter of the thesis---unless +% you are using the \emph{chapter-wise} bibliography. +% \end{itemize} +% +% \subsection{Tips and Suggestions} +% \label{subsec:tips} +% \begin{itemize} +% \item It is \emph{strongly} recommended that you compile your document with +% pdf\LaTeX. Compiling to dvi or postscript first may result in ``fuzzy'' fonts +% when viewing the document on your screen. Additionally, the benefits +% of |hyperref| and |pdflscape| are only available if you compile using +% pdf\LaTeX. +% \item Use the |\toprule|, |\midrule| and |\bottomrule| macro commands (from the +% \textsf{booktabs} package) in tables for generating the appropriate +% horizontal rules. Refrain from using vertical rules to separate columns in tables +% as much as possible. +% \item Use the \textsf{longtable} environment for handling very long +% tabular materials. Example: +% \begin{verbatim} +% \begin{longtable}{lc} +% \caption[]{LONG TABLE CAPTION \label{tab:longtable} } +% \toprule +% Heading 1 & Heading 2 \\ +% \midrule +% \endfirsthead +% \caption[]{ } \\ % doesn't matter what text is in the continued caption. +% \midrule +% Heading 1 & Heading 2 \\ +% \midrule +% \endhead +% \endfoot +% \bottomrule +% \endlastfoot +% % Now the tabular material % +% Long & Table etc. \\ +% \end{longtable} +% \end{verbatim} +% \item If a figure or table is very wide and will not fit on a page, +% use the \textsf{landscape} environment (from the included +% \textsf{lscape} package) to format them in \emph{landscape} +% mode. They will automatically appear on a separate page. If you +% use pdf\LaTeX\/ to compile your document, then the included +% \textsf{pdflscape} package will flip this page on the screen +% for easier reading. +% \item The \textsf{sidewaystable} environment (from the included +% \textsf{rotating} package) is incompatible with the current +% class and should be avoided. +% \item Usually the width of the figure and table captions is 90\% of the textwidth +% (i.e. |0.9\textwidth|). If needed, the width can be changed on a case-by-case +% basis by doing one of the following: +% \begin{itemize} +% \item Use a \textsf{minipage} environment of appropriate width and enclose +% your tabular or figure float inside it, or +% \item set the |\capwidth| inside the \textsf{table} or the \textsf{figure} +% environment, and |\LTcapwidth| \emph{outside} the \textsf{ +% longtable} environment, e.g.,\\[\baselineskip] +% \begin{minipage}{0.5\textwidth} +% \begin{verbatim} +% \begin{table}[H] +% \setlength{\capwidth}{0.8\textwidth} +% \centering +% \caption{TABLE CAP\label{tab:this}} +% \begin{tabular}{lc} +% ... +% \end{tabular} +% \end{table} +% \end{verbatim} +% \end{minipage} +% \begin{minipage}{0.5\textwidth} +% \begin{verbatim} +% \setlength{\LTcapwidth}{6in} +% \begin{longtable}{lccc} +% ... +% \end{\longtable} +% \end{verbatim} +% \end{minipage} +% \end{itemize} +% \item Use the \textsf{tabularx} environment for the actual formatting +% of the tables (within the \textsf{table} environment). It differs +% slightly from \textsf{tabular} environment and you should refer to +% their documentation in the |TEXMF| tree for more information. +% \item If you've used a \textsf{longtable} environment in your document, +% it might be necessary to compile the document multiple times so as to +% get proper alignment of columns. This is documented in the +% \textsf{longtable} manual. +% \item If you wish to use |\footnotes| in the \textsf{longtable} environment, +% please read its documentation. There are some handicaps present. +% \item To cite a website in your bibliography\footnote{More info at +% \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=citeURL}}, use the +% following format in your |.bib| file: +% \begin{verbatim} +% @Misc{fairley2000, +% author = "N. Fairley", +% title = "Casa{XPS} {VAMAS} processing software", +% howpublished = "Website", +% note = "\url{http://www.casaxps.com}", +% } +% \end{verbatim} When processed with the |nddiss2e.bst| citation style file +% this gives:\newline +% 111. N. Fairley. CasaXPS VAMAS processing software. Website. +% \url{http://www.casaxps.com}.\newline +% \end{itemize} +% +% \subsection{You Found Errors?} +% Errors in a \LaTeX\/ document are to be expected. +% If you have a problem that is that seems to be more than a typo or +% unbalanced brace, it is possible that there is a conflict between +% the packages you have included and those that \nddiss\/ uses. +% If you find yourself in that situtation, there is a mailing list +% for handling support issues with \nddiss\/. +% Look through the archive, and if there are no answers, please +% send an email to \url{ND-LATEX-USERS@listserv.nd.edu} (registration required). +% The more effort you spend in isolating the problem or in troubleshooting +% will make it more likely that others can reproduce the problem and help +% you solve it. +% Also if you have a problem that you then solve, please also email the list. +% Your doing so will help the next person to have that problem, and will +% also make the maintainers aware of it, so future versions of the class file +% can be better. +% +% \section{Other Packages Used} +% \label{sec:features} +% +% A number of packages are required by default and must be present in your +% \TeX\space search path (if you use a package manager such as MiKTeX or +% TeXLive, it will take care of this for you). As far as possible, these have +% been tested for proper formatting style with the \nddiss\/ class file. The list +% includes +% \textsf{ifthen}, +% \textsf{exscale}, +% \textsf{ifpdf}, +% \textsf{ifluatex}, +% \textsf{ifxetex}, +% \textsf{xspace}, +% \textsf{longtable}, +% \textsf{indentfirst}, +% \textsf{tabularx}, +% \textsf{showkeys}, +% \textsf{enumerate}, +% \textsf{latexsym}. +% \textsf{epsfig}, +% \textsf{color}, +% \textsf{graphicx}, +% \textsf{url}, +% \textsf{setspace}\footnote{v6.7[2000/12/01] or above}, +% \textsf{amsmath}, +% \textsf{float}, +% \textsf{lscape}, +% \textsf{rotating}, +% \textsf{booktabs}, and +% \textsf{natbib}\footnote{v8.31[2009/07/16] or above}. +% Sameer urges you to read the documentation of these packages available in +% the |TEXMF| tree, if you think you might use their features +% or want to tweak some advanced options. Of these packages, +% \textsf{ifpdf}, +% \textsf{longtable}, +% \textsf{natbib}, +% \textsf{booktabs}, +% \textsf{rotating}, +% \textsf{url}, and +% \textsf{setspace} +% are not part of the \LaTeX\space required distribution, so you may need +% to download them. They are all available through both MiKTeX and TeXLive; +% note that \textsf{ifpdf} is part of the +% \textsf{oberdiek} bundle, which is what you need to download to get +% that package if it is not already installed on your system. +% +% Other packages may or may not be appropriate for use with the +% \nddiss\space class when producing copies to be submitted to the +% Graduate School. Please be careful when using packages that change the +% default fonts, or the page layout. +% +% In general, the official guidelines of the Graduate School are +% followed to the maximum extent possible. This includes proper +% formatting of the title page and the abstract page (from the +% \textsf{ndthesis} package), numbering of the pages in the \textit{frontmatter}, +% generation of properly formatted table of contents, list +% of figures etc., as well as bibliography at the end. +% Per the guide, the number of different fonts and font sizes used is kept to +% a minimum. The contents, all lists and the bibliography are +% single-spaced but the inter-line spacing for the rest of the document +% is double. +% +% \subsection{Generating PDF document} +% \label{subsec:pdfdoc} +% +% The \nddiss\space class also allows production of pdf documents with +% pdf\LaTeX\space. As of Spring 2013, this is the preferred method of +% compilation. In this case, the \textsf{hyperref} and \textsf{pdflscape} +% packages are also required. The \textsf{hyperref} package ensures +% that the generated pdf document contains internal as well as external +% links for citations and bookmarks. A document produced by this method +% also contains embedded fonts (\textit{press quality} pdf) and is suitable +% for electronic submission to the library and for microfilm archiving. +% Although the most appropriate options for \textsf{hyperref} are +% passed on, for advanced features refer to its documentation. The +% \textsf{pdflscape} package flips pages with landscape orientation in the +% pdf file for easier reading, but the location of the page numbers does not change. +% +% Figures must be in pdf, jpeg, png, or gif format, and not in encapsualted +% postscript (eps). An easy way to convert \textit{eps} files to \textit{pdf} +% files is to use the utility |epstopdf| or |eps2pdf|, which should be +% available on your unix-like distribution already (should you have one). It is also +% possible to convert your eps files to pdfs using an online conversion tool. +% Searching for ``eps to pdf'' brought up several free options in Fall 2012. +% +% +% +% \StopEventually{% +% \footnotesize +% \PrintChanges +% } +% +% \clearpage +% \section{The Implementation} +% Following is our attempt at documenting the source of the +% \nddiss\space class file for the \TeX\space hackers. +% +% \small\mbox{}\\ +% \iffalse (Don't show this in the doc). +%<*class> +% \fi +% At the start, we define the base version of \LaTeXe\space needed and +% the label information for the \nddiss\space class. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesClass{nddiss2e} +% \end{macrocode} +% \iffalse +%</class> +% \fi +% \iffalse (Don't show this in the doc). +% \begin{macrocode} +%<template>\ProvidesFile{template.tex} +% \end{macrocode} +% \fi +% \begin{macrocode} + [2016/10/16 v3.2016% +% \end{macrocode} +% \iffalse +%<*class> +% \fi +% \begin{macrocode} + Notre Dame Dissertation document class] +% +% \end{macrocode} +% \begin{macro}{\dissfileversion} +% \begin{macro}{\dissfiledate} +% The |\dissfileversion| and |\dissfiledate| macros contain the version and the date +% of the release. +% \begin{macrocode} +\providecommand{\dissfileversion}{3.2017.2} +\providecommand{\dissfiledate}{2017/05/09} +% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \iffalse +%</class> +% \fi +% \iffalse (Don't show this in the doc). +% \begin{macrocode} +%<template> Template file for NDdiss2e class] +% \end{macrocode} +% \fi +% \iffalse +%<*class> +% \fi +% New boolean variables for the options used in \nddiss\ class are +% set here with default values. +% \begin{macrocode} +\newif\ifdiss@draft \diss@drafttrue +\newif\ifdiss@review \diss@reviewfalse +\newif\ifdiss@final \diss@finalfalse +\newif\ifinfo@page \info@pagetrue +\newif\ifadvisors@two \advisors@twofalse +\newif\ifdiss@dedication \diss@dedicationfalse +\newif\ifnum@refs \num@refstrue +\newif\ifcentered@chaptitle \centered@chaptitletrue +\newif\if@ltfirstcaption +% +% \end{macrocode} +% \begin{macro}{draft} +% \begin{macro}{review} +% \begin{macro}{final} +% Exactly one of these options must be present in order to get a proper document. These +% options set appropriate boolean variables (flags) and pass some common +% options to the parent {\sffamily book} class. +% \begin{macrocode} +\DeclareOption{draft}{ + \setlength\overfullrule{5pt} + \typeout{DRAFT MODE}\typeout{}\info@pagefalse% + \diss@drafttrue\diss@reviewfalse\diss@finalfalse + \PassOptionsToClass{letterpaper,oneside,draft}{book} } +% +\DeclareOption{review}{ + \typeout{REVIEW MODE}\typeout{}\info@pagetrue% + \diss@draftfalse\diss@reviewtrue\diss@finalfalse + \PassOptionsToClass{12pt,letterpaper,oneside,final}{book} } +% +\DeclareOption{final}{ + \setlength\overfullrule{0pt} + \typeout{FINAL MODE}\typeout{}\info@pagetrue% + \diss@draftfalse\diss@reviewfalse\diss@finaltrue + \PassOptionsToClass{12pt,letterpaper,oneside,final}{book} } +% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{numrefs} +% \begin{macro}{textrefs} +% The options |numrefs| or |textrefs| select the appropriate citation style i.e.\/ +% ``numbered'' or ``textual'', respectively. By +% choosing |textrefs|, one can get ``author-date'' style of citation in the +% text. The default is |numrefs|. +% \begin{macrocode} +\DeclareOption{numrefs}{ + \typeout{NUMBERED REFERENCES}\num@refstrue} +\DeclareOption{textrefs}{ + \typeout{TEXTUAL REFERENCES}\num@refsfalse} +% \end{macrocode} +% \end{macro} +% \end{macro} +% The option |nocenter| allows non-centered chapter titles. +% \begin{macrocode} +\DeclareOption{nocenter}{\centered@chaptitlefalse} +% +% \end{macrocode} +% The |openbib| option is useful +% in creating indented bibliography. +% Usually you would not need to use this option since the default layout of the +% |bibliography| is very much acceptable. +% \begin{macrocode} +\DeclareOption{openbib}{% + \PassOptionsToPackage{openbib}{natbib} +} +% +% \end{macrocode} +% The |sort| option is passed to natbib, and causes multiple citations to be +% listed in the sequence they appear in the bibliography. +% \begin{macrocode} +\DeclareOption{sort}{% + \PassOptionsToPackage{sort}{natbib} +} +% +% \end{macrocode} +% The |compress| option is passed to natbib, and causes numerical citations to +% be compressed so that, e.g. 1,2,3 becomes 1-3. Does not also sort. +% \begin{macrocode} +\DeclareOption{compress}{% + \PassOptionsToPackage{compress}{natbib} +} +% +% \end{macrocode} +% The |sort&compress| option sorts numerical citations, and then compresses them. +% \begin{macrocode} +\DeclareOption{sort&compress}{% + \PassOptionsToPackage{sort&compress}{natbib} +} +% +% \end{macrocode} +% The other options are declared in the following lines. +% \begin{macro}{twoadvisors} +% The |twoadvisors| +% option sets the flag for modifying the layout of the title page. +% \begin{macrocode} +\DeclareOption{twoadvisors}{\typeout{TWO ADVISORS}\typeout{}% + \advisors@twotrue} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{10pt} +% \begin{macro}{11pt} +% \begin{macro}{12pt} +% The options |10pt|, |11pt| or |12pt| are passed on to the {\sffamily book} +% class if appropriate, depending on whether the |\diss@draft| flag is set true. +% \begin{macrocode} +\DeclareOption{10pt}{% + \ifdiss@draft% + \PassOptionsToClass{10pt}{book}% + \else% + \OptionNotUsed% + \ClassWarningNoLine{nddiss2e}% + {Font size 10pt not allowed; using 12pt}% + \fi% +} +\DeclareOption{11pt}{% + \ifdiss@draft% + \PassOptionsToClass{11pt}{book}% + \else% + \OptionNotUsed% + \ClassWarningNoLine{nddiss2e}% + {Font size 11pt not allowed; using 12pt}% + \fi +} +\DeclareOption{12pt}{% + \PassOptionsToClass{12pt}{book}% +} +% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macrocode} +\DeclareOption{noinfo}{\info@pagefalse} +% +% \end{macrocode} +% The |twoside| option is for when you want to prepare a two-sided +% document for your own use. The only difference from the one-sided document +% is in the page layout. This option is passed on to the parent {\sffamily +% book} class. +% \begin{macrocode} +\DeclareOption{twoside}{\typeout{TWO SIDED DOCUMENT}% + \PassOptionsToClass{twoside}{book} }% +% +% \end{macrocode} +% All options other than those defined above are ignored and +% a warning is printed +% on the screen during compile-time. After processing all the options, the +% \textsf{book} class is loaded with the specified options. +% \begin{macrocode} +\DeclareOption*{\ClassWarning{nddiss2e}% + {UnknownOption `\CurrentOption'} }% +\ProcessOptions\relax +\LoadClass{book} +% +% \end{macrocode} +% At this stage, the packages \textsf{ifthen}, \textsf{exscale}, +% \textsf{etoolbox} \textsf{ifpdf}, \textsf{ifluatex}, +% \textsf{ifxetex}, \textsf{longtable}, \textsf{xspace}, \textsf{ +% indentfirst}, \textsf{tabularx}, \textsf{enumerate} and \textsf{ +% latexsym} are loaded. It is important to load these in a specific +% order so as not to cause conflicts in definitions of certain macros. +% \begin{macrocode} +\RequirePackage{ifthen,exscale,etoolbox} +\RequirePackage{ifpdf,ifluatex,ifxetex} +\ifboolexpr{bool{pdf} or bool{xetex} or bool{luatex}}{}{% + \ClassError{nddiss2e}{% + PDF Output is required to support the PDF/A format. + }{DVI output is not supported. Use pdflatex to generate the dissertation.} +} +\RequirePackage[a-2b]{pdfx} +\RequirePackage{longtable} +\RequirePackage{threeparttable} +\RequirePackage[flushleft]{threeparttablex} +\RequirePackage{xspace} +\RequirePackage{indentfirst} +\RequirePackage{tabularx} +\RequirePackage{enumerate} +\RequirePackage{latexsym} +\RequirePackage{textcase} +% +% \end{macrocode} +% If the |\diss@final| is set false (when using |draft| or |review| option) then +% the {\sffamily showkeys} package is also loaded. +% \begin{macrocode} +% \ifdiss@final\relax\else\RequirePackage{showkeys}\fi +% +% \end{macrocode} +% Depending in whether you are using pdf\LaTeX\space or plain \LaTeX\space, +% \textsf{epsfig}, \textsf{color} and \textsf{graphicx} are loaded +% with respective options. +% \begin{macrocode} +\ifboolexpr{bool{pdf} or bool{xetex} or bool{luatex}}{% + \RequirePackage{epsfig} + \RequirePackage{color} + \RequirePackage{graphicx} + \AtBeginDocument{ + \pdfadjustspacing=1 + } +}{% + \RequirePackage[dvips]{epsfig} + \RequirePackage[dvips]{color} + \RequirePackage[dvips]{graphicx} +} +% +% \end{macrocode} +% Now the \textsf{natbib} package is loaded +% with its options, appropriate to |numrefs| or |textrefs| class option. If |numrefs| is +% specified, then \textsf{natbib} is read-in with its options for +% ``numbered'' references and sorted \& compressed (eg. |[3-6,8-10]|). +% In this case, the default delimiter is square brackets and the +% default seperator is a comma. For the |textrefs| option, the +% \textsf{natbib} package is read-in so as to sort the references in an +% ``author-date'' style of citations. +% The default delimiter and seperator, in this case, are round brackets and +% colon, respectively. +% +% \begin{macrocode} +\ifnum@refs + \RequirePackage[numbers]{natbib} +\else + \RequirePackage[authoryear]{natbib} +\fi +% \end{macrocode} +% Additionally, the packages \textsf{amsmath}, \textsf{float}, \textsf{booktabs}, +% \textsf{rotating}, \textsf{url} and \textsf{setspace} are loaded +% when (pdf)\LaTeX\space processes |\begin{document}|. Again, the +% order of these packages is important. Additionaly when using +% pdf\LaTeX\space, the package \textsf{hyperref} (for +% internal/external links in the document) is also loaded. The options +% for this package have been tested to produce a document which can be +% printed on laser printers without any problems because of colored +% link boxes. Megan added required package pdflscape, which is part +% of the oberdiek bundle in MiKTeX and TeXLive. Using this package +% will flip landscape pages on the screen so that it's easier to read. +% \begin{macrocode} +\AtBeginDocument{ +\RequirePackage{amsmath} +\RequirePackage{float} +\RequirePackage{booktabs} +\RequirePackage{rotating} +\RequirePackage{url} +\RequirePackage[doublespacing]{setspace}[2000/12/01] +\ifboolexpr{bool{pdf} or bool{xetex} or bool{luatex}}{% + \ifluatex + \RequirePackage[luatex]{pdflscape} + \else + \ifxetex + \RequirePackage[xetex]{pdflscape} + \else + \ifpdf + \RequirePackage{pdflscape} + \fi + \fi + \fi + % cannot use RequirePackage since pdfx also includes hyperref + \hypersetup{ + plainpages=false, + pdfpagelabels, + bookmarks=true,% + bookmarksnumbered=true,% + linktocpage=true,% + breaklinks=true,% + bookmarkstype=toc,% + colorlinks=false,% + pdfpagemode=UseOutlines} +}{} +} +\RequirePackage{metalogo} +% +% \end{macrocode} +% Set the |\pagestyle| for the document to |plain| here +% and define default spacing. +% \begin{macrocode} +\AtBeginDocument{ +\pagestyle{plain} +\normalspacing +\typeout{Pagestyle and spacing normal} +} +% +% \end{macrocode} +% Here, define some spacing macros for page layout and doublespacing. +% \begin{macrocode} +\newcommand{\normalspacing}{\doublespacing} +\newcommand\single@baselinestretch{0.979} +\newcommand\double@baselinestretch{1.625} +\newlength{\usedtextsize} +\setlength{\usedtextsize}{\f@size pt} +\newlength{\single@skip} +\setlength{\single@skip}{\single@baselinestretch \usedtextsize} +\newlength{\double@skip} +\setlength{\double@skip}{\double@baselinestretch \usedtextsize} +\setlength{\footnotesep}{\double@skip} +% +% \end{macrocode} +% Define new lengths for some variables for a proper layout of normal pages, +% pages with text and figures and pages with only floats. Note that although +% the geometry package is usually easier, when Megan tried to switch to that +% she discovered that something ends up overwriting it and, although the +% the showframe option showed that the margins were setting correctly, the text +% didn't look like they were. So these length values are set to what geometry +% said they should be to get a 1.5 in left margin and 1 in margins on all other +% sides (we'll use vspace commands later to get the 2 in top margin on pages +% where that's needed). +% \begin{macrocode} +\setlength{\hoffset}{0pt} +\setlength{\voffset}{0pt} +\setlength{\topmargin}{-32pt} +\setlength{\headsep}{20pt} +\setlength{\marginparwidth}{47pt} +\setlength{\marginparsep}{7pt} +\setlength{\textheight}{648pt} +\setlength{\textwidth}{432pt} +\setlength{\oddsidemargin}{36pt} +\setlength{\evensidemargin}{36pt} +\setlength{\footskip}{30pt} +% +\setlength{\floatsep}{30pt} +\setlength{\intextsep}{50pt} +% +% \end{macrocode} +% \begin{macrocode} +\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}% + \cleardoublepage}} +% +% \end{macrocode} +% \begin{macro}{\nddiss} Define the macro |\nddiss| that is the logo +% used in the titlepage and the stamp in the dissertation document. +% \begin{macrocode} +\DeclareRobustCommand{\nddiss}{% + \textsf{{\scshape nd}diss}\kern-0.03em% + 2$_\mathsf{\textstyle\varepsilon}$} +% +% \end{macrocode} +% \begin{macro}{\work} +% \begin{macro}{\degaward} +% \begin{macro}{\advisor} +% \begin{macro}{\secondadvisor} +% \begin{macro}{\department} +% \begin{macro}{\degdate} +% \iffalse (does not appear in documentation) +% In 2005 the Graduate School wanted us to list our degrees after our names. +% In 2013 they no longer want this, so Megan removed the macro. +% Here's the code for it, in case they change their minds again: +% \begin{macro}{\degprior} (goes with the other \begin{macro}s above) +% \newcommand{\degprior}[1]{\def\@degprior{#1}} (goes with other newcommands below) +% \fi +% Here define new macros for use in the dissertation title page. +% \begin{macrocode} +\renewcommand{\title}[1]{\def\@title{#1}} +\newcommand{\work}[1]{\def\@work{#1}} +\newcommand{\degaward}[1]{\def\@degaward{#1}} +\newcommand{\advisor}[1]{\def\@advisor{#1}} +\ifadvisors@two + \newcommand{\secondadvisor}[1]{\def\@secondadvisor{#1}} +\fi +\newcommand{\department}[1]{\def\@department{#1}} +\newcommand{\degdate}[1]{\def\@degdate{#1}} + \degdate{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\year} +% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% As a default, these macros have an empty arguement. Only the |\degdate| macro +% takes on the current month-year combination in the absence of any assignation. +%^^A Removed 9-18-12: \degprior{} +% \begin{macrocode} +% Defaults are empty except the \degdate + \title{} + \author{} + \work{} + \degaward{} + \advisor{} + \ifadvisors@two \secondadvisor{} \fi + \department{} +% +% \end{macrocode} +% \begin{macro}{\@infopage} +% Define |\@infopage| macro that will create a page which contains +% important information about the document and the version of \nddiss\space +% used etc.\ for the end-user and the proofreader along with a standard +% disclaimer and +% details of where to find documentation for the \nddiss\space class +% file. This information can be suppressed by specifying the ``|noinfo|'' +% option while invoking the \nddiss\space class. +% \begin{macrocode} +\DeclareRobustCommand{\@infopage}{ + \thispagestyle{empty} + \null\vspace*{\single@skip} + \begin{center} + This \@work\space \\ entitled \\ \MakeTextUppercase{\@title} \\ + typeset with \nddiss\ v% + \dissfileversion\ (\dissfiledate) % + on \today\space for\\ + \@author\\ + \end{center} + + \normalfont\normalsize\singlespacing + + \noindent This \LaTeXe\space classfile conforms to the + University of Notre Dame style guidelines as of Fall + 2012. However it is still possible to generate a + non-conformant document if the instructions in the class + file documentation are not followed! + + \begin{center} + \begin{minipage}{0.75\textwidth} + \noindent Be sure to refer to the published Graduate + School guidelines at \url{http://graduateschool.nd.edu} + as well. Those guidelines override everything mentioned + about formatting in the documentation for + this \nddiss\space class file. + \end{minipage} + \end{center} + + \noindent\itshape This page can be disabled by + specifying the ``{\upshape\ttfamily noinfo}'' option to the class invocation. + \upshape +(i.e.,{\ttfamily{\textbackslash}documentclass[\ldots,noinfo]\{nddiss2e\}} +) + \begin{center} + {\bfseries\large\singlespacing This page is \slshape NOT + \upshape part of the dissertation/thesis. It should be disabled before + making final, formal submission, but should be included in the version + submitted for format check.} + \end{center} + \normalsize\normalfont + \nddiss\ documentation can be found at these locations: + \begin{center} + \url{http://graduateschool.nd.edu} \\ + \url{https://ctan.org/pkg/nddiss} + \end{center} + +\vfill +\normalfont\normalsize\normalspacing\eject} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\maketitle} +% Redefine the macro |\maketitle| to produce the information page as well as +% the actual title page of the dissertation. +% \begin{macrocode} +\renewcommand{\maketitle}{ + \ifinfo@page\@infopage\else\relax\fi% + \clearemptydoublepage + \normalfont\normalsize\normalspacing +% \end{macrocode} +% \end{macro} +% \begin{macro}{titlepage} +% The structuring begins with checking the proper macros for +% obtaining correct formatting for the title page. If any of those are +% not defined, an error is issued and processing stopped. Most of the code for +% this was taken from the earlier {\sffamily ndthesis} class and hence, the +% documentation is also picked from there. +% \begin{macrocode} + \begin{titlepage}% +\ifthenelse{\equal{\@work}{}}{\ClassError{nddiss2e}% + {The \protect\work\space macro is undefined.\MessageBreak + The title page may be incorrectly formatted.}% + {Specify \protect\work\space as Dissertation or Thesis}}{\relax} +\ifthenelse{\equal{\@degaward}{}}{\ClassError{nddiss2e}% + {The \protect\degaward\space macro is undefined.\MessageBreak + The title page may be incorrectly formatted.}% + {Specify \protect\degaward\space. It defines the awarded degree% + (Ph.D., M.S., etc.)}}{\relax} +\ifthenelse{\equal{\@advisor}{}}{\ClassError{nddiss2e}% + {The \protect\advisor\space macro is undefined.\MessageBreak + The title page may be incorrectly formatted.}% + {Spepcify \protect\advisor\space It is who signs your walking papers!}}{\relax} +\ifthenelse{\equal{\@department}{}}{\ClassError{nddiss2e}% + {The \protect\department\space macro is undefined.\MessageBreak + The title page may be incorrectly formatted.}% + {Specify which \protect\department\space is awarding your degree?}}{\relax} +\ifadvisors@two + \ifthenelse{\equal{\@secondadvisor}{}}{\ClassError{nddiss2e}% + {The \protect\secondadvisor\space macro is undefined.\MessageBreak + The title page may be incorrectly formatted.}% + {Use \protect\secondadvisor\space for your second advisor}}{\relax} +\fi +% +% \end{macrocode} +% \end{macro} +% Now set up some skip registers to +% hold the inter-data spacing. The initial values will create a two-inch top margin +% for the title page, provided the title is only one line long. |\skip1| is the primary +% internal spacing command; |\skip2| is the spacing between the student's name and the +% line for the first adviser to sign if there are two advisers and |\skip3| is the +% spacing between the student's name and the line for the adviser to sign if there is +% only one adviser; |\skip4| controls the top margin. We'll account for titles longer +% than one line in a bit \ldots +% \begin{macrocode} +\skip1=2.1\double@skip +\skip2=1.7\double@skip +\skip3=2.7\double@skip +\skip4=36pt +% +% \end{macrocode} +% If the author has two advisors, we need to do a little tweaking to the +% internal spacing. +% \begin{macrocode} + \ifadvisors@two + \skip1=1.6\double@skip + \else\relax + \fi +% \end{macrocode} +% The 2012 formatting guidelines require the title to be 2'' from the top of page. +% If it's more than one line long, we need to adjust the internal spacing: +% \begin{macrocode} + \setbox0=\vbox{\MakeTextUppercase{\@title}} + \ifdim \ht0 > 3\double@skip + \advance \skip1 -.75\double@skip + \else + \ifdim \ht0 > 2\double@skip + \advance\skip1 -.5\double@skip + \else + \ifdim \ht0 > \double@skip + \advance\skip1 -.25\double@skip + \fi + \fi + \fi +% \end{macrocode} +% Our default assumes a one-line \textsf{degree} field such as +% \begin{center} +% Doctor of Philosophy +% \end{center} +% but we check to see if it is two or three lines long. +% If so, we need to remove those extra lines from the internal spacing. +% \begin{macrocode} + \setbox1=\vbox{\@degaward} + \ifdim \ht1 > 2\double@skip + \advance\skip1 -.5\double@skip + \else + \ifdim \ht1 > \double@skip + \advance \skip1 -.25\double@skip + \else + \relax + \fi + \fi +% \end{macrocode} +% If we have two advisers, a three or four line title, and a +% three line degree field or two advisers, a four line title, and +% a two line degree field, then we need to remove some spacing between +% the name and the first adviser and from the top margin, +% and give that space to the internal spacing. +% \begin{macrocode} + \ifadvisors@two + \ifdim \ht0 > 3\double@skip + \ifdim \ht1 > \double@skip + \advance \skip4 -.675\double@skip + \advance \skip2 -.4\double@skip + \advance \skip1 .25\double@skip + \else \relax + \fi + \else + \ifdim \ht0 > 2\double@skip + \ifdim \ht1 > 2\double@skip + \advance \skip2 -.4\double@skip + \advance \skip1 .1\double@skip + \else \relax + \fi + \else \relax + \fi + \fi + \else \relax + \fi +% \end{macrocode} +% Finally we start putting the text in place \ldots centered, of course. +% \begin{macrocode} + \null\vspace*{\skip4} + \begin{center}% + \MakeTextUppercase{\@title} \par% + \vskip\skip1% +% +% \end{macrocode} +% Now skip the required vertical space, declare that this is for the +% University of Notre Dame, and list what degree has been earned. +% \begin{macrocode} + A \@work \par% + \vskip\skip1% + Submitted to the Graduate School \\ + of the University of Notre Dame \\ + in Partial Fulfillment of the Requirements \\ + for the Degree of \par + \vskip\skip1% + \@degaward% + \vskip\skip1% + by \\% +% +% \end{macrocode} +% Now format the author's name. +% \begin{macrocode} + \@author +% +% \end{macrocode} +% Now skip the proper space and place the signature line for the advisor +% with his/her name typeset below it. This is accomplished by essentially +% centering a box that is twice as long as the required length of the +% signature line and placing the line in only the right-hand side. +% \begin{macrocode} + \ifadvisors@two + \vskip\skip2 + \hspace*{2.75in}\underline{\hspace{2.75in}}\\% + \hspace*{2.75in}\@advisor, Co-Director\\ + \else + \vskip\skip3 + \hspace*{2.75in}\underline{\hspace{2.75in}}\\% + \hspace*{2.75in}\@advisor, Director\\ + \fi% +% +% \end{macrocode} +% If there is a second advisor, place that line here now. +% \begin{macrocode} +\ifadvisors@two % + \vskip\double@skip% + \hspace*{2.75in}\underline{\hspace{2.75in}}\\% + \hspace*{2.75in}\@secondadvisor, Co-Director\\ +\fi +% +% \end{macrocode} +% We end with the department and date; the internal spacing is chosen so +% that these are at the page bottom. +% \begin{macrocode} + \vskip\skip1% + Graduate Program in \@department \\% + Notre Dame, Indiana \\ + \@degdate + \end{center} + \end{titlepage}% +} +% +% \end{macrocode} +% \begin{environment}{copyrightpage} +% The environment |copyrightpage| defines +% the defaults for proper formatting the copyright page (if opted). +% \begin{macrocode} +\newenvironment{copyrightpage}{% + \clearemptydoublepage + \typeout{Copyright page} + \pagestyle{empty} + \null\vfil + \begin{center}\normalspacing}% +{ \end{center}\vfil\null \clearpage } +% +% \end{macrocode} +% \end{environment} +% \begin{macro}{\copyrightholder} +% \begin{macro}{\copyrightyear} +% Define a few macros for defining the copyright holder and the year +% desired. By default, they are taken as the current year and the |author| +% of the dissertation. +% \begin{macrocode} +\newcommand{\@copyrightyear}{\the\year} +\newcommand{\@copyrightholder}{\@author} +\newcommand{\@copyrightlicense}{All Rights Reserved} +\newcommand{\copyrightyear}[1]{\renewcommand{\@copyrightyear}{#1}} +\newcommand{\copyrightholder}[1]{\renewcommand{\@copyrightholder}{#1}} +\newcommand{\copyrightlicense}[1]{\renewcommand{\@copyrightlicense}{#1}} +% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\makecopyright} +% Finally, the |\makecopyright| macro creates the +% copyright page as per defined in the |copyrightpage| environment. +% \begin{macrocode} +\newcommand{\makecopyright}{% + \ifdiss@final + \begin{copyrightpage} + \normalfont\normalsize + \copyright\space Copyright by \\ + \@copyrightholder \\ + \@copyrightyear\\ + \@copyrightlicense \\[10mm] + \end{copyrightpage} + \fi +}% +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\makepublicdomain} +% Or, if chosen, |\makepublicdomain| macro +% creates a copyright page (using earlier |copyrightpage| environment) that +% puts the document in public domain. +% \begin{macrocode} +\newcommand{\makepublicdomain}{% + \ifdiss@final + \begin{copyrightpage} + This document is in the public domain. + \end{copyrightpage} + \fi +}% +% +% \end{macrocode} +% \end{macro} +% Define some new name macros and redefine other name macros as below. These +% are the names of the respective sections in your dissertation document. If +% there's a need to change any name, you must use a similar command in the +% preamble of your document. +% \begin{macrocode} +\providecommand{\abstractname}{Abstract} +\providecommand{\dedicationname}{\mbox{}} +\providecommand{\prefacename}{Preface} +\providecommand{\acknowledgename}{Acknowledgments} +\providecommand{\symbolsname}{Symbols} +\renewcommand{\tablename}{Table} +\renewcommand{\figurename}{Figure} +\renewcommand{\partname}{Part} +\renewcommand{\chaptername}{Chapter} +\renewcommand{\appendixname}{Appendix} +\renewcommand{\contentsname}{Contents} +\renewcommand{\listfigurename}{Figures} +\renewcommand{\listtablename}{Tables} +\renewcommand{\bibname}{Bibliography} +\renewcommand{\indexname}{Index} +% +% \end{macrocode} +% \begin{environment}{abstract} +% This environment is adapted +% from the \textsf{report} class since +% the \textsf{book} class does not have one. Additionally, we add +% a |\pdfbookmark| for the abstract in the pdf document. +% \begin{macrocode} +\newenvironment{abstract}{% + \ifboolexpr{bool{pdf} or bool{xetex} or bool{luatex}}{% + \pdfbookmark[0]{\abstractname}{abstract}%abstract.0 + }{} + \typeout{Abstract page(s)} + \renewcommand{\@oddfoot}{\@empty} + \renewcommand{\@evenfoot}{\@empty} +% \end{macrocode} +% If the abstract extends to a second page, +% place the author's name in top right corner of that page. Make +% sure it's upright, as required by the University and that this appears +% at $0.75''$ from the top. +% \begin{macrocode} + \let\@evenhead\@oddhead + \renewcommand{\@oddhead}{\hfil{\upshape\@author}} + \titlepage + \null + \begin{center} + \vspace*{36pt} + {\normalsize\mdseries \normalspacing + \MakeTextUppercase{\@title} \\[3.5ex] + \normalsize\abstractname \\ by \\ \@author\space}% + \@endparpenalty \@M + \end{center}\par}% +{\par\vfil\null\endtitlepage} +% +% \end{macrocode} +% \end{environment} +% \begin{environment}{dedication} +% The \textsf{dedication} environment is similar to +% the \textsf{abstract} environment. This page is numbered 2 and the +% subsequent pages are numbered accordingly. A pdfbookmark is +% not created because of a reported issue that Adobe products have with +% pdfbookmarks containing an |\mbox|. +% \begin{macrocode} +\newenvironment{dedication}{% + \global\diss@dedicationtrue + \typeout{Dedication page} + \chapter*{\dedicationname}% + \thispagestyle{plain} + \setcounter{page}{2} + \null\centering} +{\par\null\clearpage}% +% +% \end{macrocode} +% \end{environment} +% \begin{macro}{\tableofcontents} The |\tableofcontents| macro is redefined to +% begin at page 2 if the dedication environment does not exist. It is +% single-spaced. +% \begin{macrocode} +\renewcommand\tableofcontents{% + \ifdiss@dedication\relax\else\setcounter{page}{2}\fi + \chapter*{\contentsname}% + \ifboolexpr{bool{pdf} or bool{xetex} or bool{luatex}}{% + \pdfbookmark[0]{\contentsname}{contents}%contents.0 + }{} + \singlespacing + \@starttoc{toc}% + \normalspacing + } +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\listoffigures} +% \begin{macro}{\listoftables} +% These macros are modified to add the +% |\listfigurename| and |\listoftables| +% to the Table of Contents. Both of these are also single spaced. The +% inter-entry spacing is changed by adding a |\vskip| after each entry. This is +% done in the |figure| and |table| environments later. +% \begin{macrocode} +\renewcommand\listoffigures{% + \chapter*{\listfigurename}% + \addcontentsline{toc}{chapter}{\listfigurename}% + \typeout{List of figures - \listfigurename} + \singlespacing + \@starttoc{lof}% + \normalspacing +} +% +\renewcommand\listoftables{% + \chapter*{\listtablename}% + \addcontentsline{toc}{chapter}{\listtablename}% + \typeout{List of tables - \listtablename} + \singlespacing + \@starttoc{lot}% + \normalspacing +} +% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{environment}{preface} +% \begin{environment}{acknowledgement} +% These environments are similar to the \textsf{dedication} environment. They are +% defined as |\chapter*{}| so they are not numbered and not added to Table of +% Contents and so, add that manually by using |\addcontentsline|. +% \begin{macrocode} +\newenvironment{preface}{% + \typeout{Preface page} + \chapter*{\prefacename} + \addcontentsline{toc}{chapter}{\prefacename}% +}% +{\par\null\clearpage}% +% +\newenvironment{acknowledge}{% + \typeout{Acknowledgment page} + \chapter*{\acknowledgename} + \addcontentsline{toc}{chapter}{\acknowledgename}% +}% +{\par\null\clearpage}% +% +% \end{macrocode} +% \end{environment} +% \end{environment} +% \begin{macro}{\unnumchapter} +% Allows the user to create unnumbered chapters that appear in the TOC. +% \begin{macrocode} +\newcommand\unnumchapter[1]{% + \chapter*{#1}% + \addcontentsline{toc}{chapter}{#1}} +% \end{macrocode} +% \end{macro} +% \begin{environment}{symbols} +% \begin{macro}{\sym} +% Define \textsf{symbols} environment which lays out it as a |\chapter*| and +% adds |\symbolsname| to the TOC. The environment is actually a horizontally +% centered \textsf{longtable} environment. To aid entry of a \emph{symbol} and +% its definition, |\sym| macro command is also defined. +% \begin{macrocode} +\newcommand{\sym}[2]{\ensuremath{#1} & #2 \\} +\newenvironment{symbols}[1][rl]{% + \typeout{Symbols page} + \chapter*{\symbolsname}% + \addcontentsline{toc}{chapter}{\symbolsname}% + \begin{center}\begin{longtable}{#1}}% +{\end{longtable}\end{center}\par\null} +% +% \end{macrocode} +% \end{macro} +% \end{environment} +% Modify chapter definition in |\@chapter| to put the word +% ``Chapter'' (|\@chapapp|) in the Table of Contents. +% That is, now the TOC will contain +% ``Chapter 1: First chapter'' rather than +% ``1. First chapter.'' +% The rest of the format code is essentially the same as +% that in the \textsf{book} class. +% \begin{macrocode} +\def\@chapter[#1]#2{ + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \refstepcounter{chapter}% + \typeout{\MakeTextUppercase{\@chapapp\space\thechapter.}}% + \addcontentsline{toc}{chapter}% + {{\@chapapp\ \thechapter: #1}}% + \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{\MakeTextUppercase{#2}}% + \@afterheading }% +% +% \end{macrocode} +% Modify part definition in |\@part| and |\@spart| to keep the font +% size for part headings |\normalsize| and |\mdseries|. It is otherwise +% the same as in the \textsf{book} class. +% \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 + \normalsize\mdseries \partname\nobreakspace\thepart + \par + \vskip 20\p@ + \fi + \normalsize\mdseries \MakeTextUppercase{#2}\par}% + \@endpart} +\def\@spart#1{% + {\centering + \interlinepenalty \@M + \normalfont + \normalsize\mdseries #1\par}% + \@endpart} +% +% \end{macrocode} +% Now format section headings to conform to the official guidelines. +% \begin{macro}{\@makechapterhead} +% First, modify the chapter heading label to be normalsize'd +% and centered. Instead of the bold-faced heading label, +% also make it |\mdseries|. +% If we are in the |\mainmatter|, we add ``CHAPTER'' +% and chapter number before actually putting the chapter name otherwise only the +% ``chapter name'' is put. Note that chapter/section headings must all be +% double-spaced. +% \begin{macrocode} +\renewcommand{\@makechapterhead}[1]{% + \vspace*{30pt}% + {\parindent \z@ \raggedright + \ifnum \c@secnumdepth >\m@ne + \normalfont\normalsize% + \if@mainmatter + \ifcentered@chaptitle\center\else\relax\fi% + \MakeTextUppercase{\@chapapp{} \thechapter}\par\nobreak + \fi + \fi + \interlinepenalty\@M + \ifcentered@chaptitle\center\else\relax\fi% + \mdseries{#1}\par\nobreak + \vskip 30\p@ + }} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@makeschapterhead} +% Make the TOC, LOF, LOT and other |\chapter*| headings in normal size, +% and |\mdseries| by modifying the macro |\@makeschapterhead|. Although these +% heading labels usually fit in a single-line, we copy the formatting for +% the chapter heading label (single-spacing) and make the spacing double again +% for the text. +% \begin{macrocode} +\renewcommand{\@makeschapterhead}[1]{% + \vspace*{30pt}% + {\parindent \z@ \raggedright + \normalfont\normalsize% + \interlinepenalty\@M + \ifcentered@chaptitle\center\else\relax\fi + \mdseries{\MakeTextUppercase{#1}}\par\nobreak + \vskip 30\p@ + }} +% +% \end{macrocode} +% \end{macro} +% Now, set the section labels to |\mdseries| rather than bold-faced. We also +% make sure that these are set in normal spacing, font and size. +% This is done for each +% of |\section|, |\subsection|, |\subsubsection|, |\subsubsubsection|, +% |\paragraph| and |\subparagraph|. +% \begin{macrocode} +\renewcommand\section{\suppressfloats[t]% + \@startsection {section}{1}{\z@}% + {-4.2ex \@plus -1ex \@minus -.2ex}% + {1.8ex \@plus.2ex}% + {\normalfont\normalsize\mdseries} } +\renewcommand\subsection{\suppressfloats[t]% + \@startsection{subsection}{2}{\z@}% + {-3.9ex\@plus -1ex \@minus -.2ex}% + {1.2ex \@plus .2ex}% + {\normalfont\normalsize\mdseries} } +\renewcommand\subsubsection{\suppressfloats[t]% + \@startsection{subsubsection}{3}{\z@}% + {-3.9ex\@plus -1ex \@minus -.2ex}% + {1.2ex \@plus .2ex}% + {\normalfont\normalsize\mdseries} } +\renewcommand\paragraph{% + \@startsection{paragraph}{4}{\z@}% + {3.9ex \@plus1ex \@minus.2ex}% + {-1em}% + {\normalfont\normalsize\mdseries} } +\renewcommand\subparagraph{% + \@startsection{subparagraph}{5}{\parindent}% + {3.9ex \@plus1ex \@minus .2ex}% + {-1em}% + {\normalfont\normalsize\mdseries} } +% +% \end{macrocode} +% \begin{macro}{\l@part} +% Modify the macro |\l@part| that formats part titles in the +% contents-like files (|.toc|, |.lof| and |.lot|) by adding a |\@dottedtocline| +% macro. The indent width is set to 1.5em - to line up a continued line with +% the section number below it. We also leave less space between each part +% and the last section entry than the default and don't change the font. +% \begin{macrocode} +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \setlength\@tempdima{1.5em}% + \begingroup + {\leavevmode + \@dottedtocline{1}{0pt}{\@tempdima}{#1}{#2} + }\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \endgroup + \fi} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\l@chapter} +% Modify the macro |\l@chapter| that formats chapter titles in the +% contents-like files (|.toc|, |.lof| and |.lot|) by adding a |\@dottedtocline| +% macro. The indent width is set to 1.5em - to line up a continued line with +% the section number below it. We also leave less space between each chapter +% and the last section entry than the default. +% \begin{macrocode} +\renewcommand*{\l@chapter}[2]{% + \addpenalty{-\@highpenalty}% + \setlength\@tempdima{1.5em}% + \begingroup \leavevmode + \@dottedtocline{1}{0pt}{\@tempdima}{#1}{#2} + \par + \penalty\@highpenalty + \endgroup +} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\thesubsubsection} +% We increase the number of section-depth by 1 and force subsubsection entry in the TOC +% by increasing the |\tocdepth|. In addition, the label number of +% |\subsubsection| is defined to be similar to that for |\subsection| i.\/e.\/ +% all arabic numerals. +% \begin{macrocode} +\addtocounter{secnumdepth}{1} +\addtocounter{tocdepth}{1} +\renewcommand{\thesubsubsection}{% + \thesubsection.\arabic{subsubsection}} +% +% \end{macrocode} +% \end{macro} +% \begin{environment}{quote} +% Redefine the |quote| environment to be single-spaced instead of being same +% as the rest of the text. +% \begin{macrocode} +\renewenvironment{quote} + {\list{}{\rightmargin\leftmargin}% + \singlespacing + \item\relax} + {\endlist} +% +% \end{macrocode} +% \end{environment} +% \begin{environment}{itemize} +% Redefine the |itemize| environment so that each item is +% single-spaced, but with a line of space between each item. +% \begin{macrocode} +\let\realitemize\itemize +\let\endrealitemize\enditemize +\renewenvironment{itemize} + {\realitemize + \singlespacing} + {\endrealitemize + \doublespacing} +% \end{macrocode} +% \end{environment}{itemize} +% \begin{environment}{enumerate} +% Redefine the |enumerate| environment so that each item is +% single-spaced, but with a line of space between each item. +% Note we need the optional argument in order to be compatible +% with the |enumerate| package +% \begin{macrocode} +\let\realenumerate\enumerate +\let\endrealenumerate\endenumerate +\renewenvironment{enumerate}[1][1.] + {\realenumerate[#1] + \singlespacing} + {\endrealenumerate + \doublespacing} +% \end{macrocode} +% \end{environment}{enumerate} +% \begin{environment}{description} +% Redefine the |description| environment so that each item is +% single-spaced, but with a line of space between each item. +% \begin{macrocode} +\let\realdescription\description +\let\endrealdescription\enddescription +\renewenvironment{description} + {\realdescription + \singlespacing} + {\endrealdescription + \doublespacing} +% \end{macrocode} +% \end{environment}{description} +% Set some lengths that are used in the |table| and the |figure| +% environments. Note that we set the caption width (|\capwidth|) +% to be 90\% of the |\textwidth|. +% \begin{macrocode} +\setlength\abovecaptionskip{20\p@} +\newlength\capwidth +\setlength{\capwidth}{0.90\textwidth} +\newlength\abovetableskip +\newlength\belowtableskip +\newlength\abovefigureskip +\newlength\belowfigureskip +\setlength\abovetableskip\belowcaptionskip +\setlength\belowtableskip\abovecaptionskip +\setlength\abovefigureskip\abovecaptionskip +\setlength\belowfigureskip\belowcaptionskip +% +% \end{macrocode} +% \begin{environment}{figure} +% For the |figure| environment, first some skip lengths are set, then +% use |\@makefigurecaption| to +% format the captions instead of the default |\@makecaption|, since the +% layout is different for |figure| and the |table| environment. Further +% add a |\vskip| to each entry in |.lof| file so that the +% inter-caption spacing seems double-spaced. +% \begin{macrocode} +\renewenvironment{figure}{% + \setlength{\abovecaptionskip}{\abovefigureskip} + \setlength{\belowcaptionskip}{\belowfigureskip} + \let\@makecaption\@makefigurecaption + \@float{figure}}% + {% + \addtocontents{lof}{ {\vskip 0.4em} }% + \end@float% +} +% +% \end{macrocode} +% \end{environment} +% \begin{macro}{\@makefigurecaption} +% The |\@makefigurecaption| is defined to format the caption in a parbox with +% width equal to |\capwidth| and is formatted in +% single-spacing. The interline-spacing is then changed to double after +% the caption. +% \begin{macrocode} +\long\def\@makefigurecaption#1#2{% + \vskip\abovecaptionskip + \begin{center} + \parbox{\capwidth}{ + \centering\singlespacing + {#1}. {#2}%\par + \vskip\belowcaptionskip\normalspacing }% + \end{center} +}% +% +% \end{macrocode} +% \end{macro} +% \begin{environment}{table} +% After setting the above and below skip lengths, +% the |table| environment is set to be +% single spaced. However, to obtain double-spacing between the entries, +% redefine the |\arraystretch| to be equivalent to the +% |\double@baselinestretch|. This way, while there are double-spaced entries, +% the entry itself is single-spaced. Similar to that in +% |\@makefigurecaption|, a |\vskip| is added to each entry in the |.lot| file. +% \begin{macrocode} +\renewenvironment{table}[1][tbp]{% + \setlength{\abovecaptionskip}{\abovetableskip} + \setlength{\belowcaptionskip}{\belowtableskip} + \renewcommand{\arraystretch}{\double@baselinestretch} + \let\scaption\caption% + \renewcommand*{\caption}[2][]{% + \ifthenelse{\equal{##1}{}}{% + \def\shortcaption{##2}% + }{% + \def\shortcaption{##1}% + }% + \scaption[\shortcaption]{\MakeTextUppercase{##2}}% + }% + \let\@makecaption\@maketablecaption + \@float{table}[#1]% + \singlespacing% + }% + {% + \addtocontents{lot}{ {\vskip 0.4em} }% + \end@float% +} +% +% \end{macrocode} +% \end{environment} +% \begin{macro}{\@maketablecaption} +% The |\@maketablecaption| is defined similarly to |\@makefigurecaption| +% to have the table label and caption in +% separate lines and with normal-spacing (double-spaced). +% \begin{macrocode} +\long\def\@maketablecaption#1#2{ + \vskip\abovecaptionskip + \begin{center} + \makebox[\linewidth]{ + \parbox{\capwidth}{ + \centering\normalspacing + \MakeTextUppercase{#1}\\[\single@skip] + {#2}%\par + \vskip\belowcaptionskip }% + }% + \end{center} +} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\longtable} +% Similar to the |table| environment, +% the |longtable| environment is made singly-spaced but the |\arraystretch| is +% made equal to double the |baselinestretch|. +% \begin{macrocode} +\renewcommand\longtable{% + \singlespacing + \renewcommand{\arraystretch}{\double@baselinestretch} + \begingroup + \@ltfirstcaptiontrue + \@ifnextchar[\LT@array{\LT@array[x]}} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\endlongtable} +% This bit is taken from |longtable.sty|. In order to obtain double-spacing +% in the list of tables, a |\vskip| of 0.4em is added to |.lot| file. +% \begin{macrocode} +\renewcommand\endlongtable{% + \crcr + \noalign{% + \let\LT@entry\LT@entry@chop + \xdef\LT@save@row{\LT@save@row}}% + \LT@echunk + \LT@start + \unvbox\z@ + \LT@get@widths + \if@filesw + {\let\LT@entry\LT@entry@write\immediate\write\@auxout{% + \gdef\expandafter\noexpand + \csname LT@\romannumeral\c@LT@tables\endcsname + {\LT@save@row}}}% + \fi + \ifx\LT@save@row\LT@@save@row + \else + \LT@warn{Column \@width s have changed\MessageBreak + in table \thetable}% + \LT@final@warn + \fi + \endgraf\penalty -\LT@end@pen + \addtocontents{lot}{ {\vskip 0.4em} }% + \endgroup + \global\@mparbottom\z@ + \pagegoal\vsize + \endgraf\penalty\z@\addvspace\LTpost + \ifvoid\footins\else\insert\footins{}\fi +} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\LT@makecaption} +% For the |longtable| environment, the |\LTcapwidth| is set equal to +% |\capwidth|. In order to obtain consistent table captions, the command +% |\LT@makecaption| is modified in a similar manner as |\maketablecaption|. +% \begin{macrocode} +\setlength{\LTcapwidth}{\capwidth} +\renewcommand\LT@makecaption[3]{% + \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{% + \vskip\abovetableskip% + \centering\normalspacing + \if@ltfirstcaption + #1{\MakeTextUppercase{#2} }\\[\single@skip] + \MakeTextUppercase{#3}\par + \else% + #1{\MakeTextUppercase{#2 (continued)} }\par + \fi + \global\@ltfirstcaptionfalse + \endgraf\vskip\belowtableskip}% + \hss}}} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\timenow} +% This macro is used in making the |\draftheader| and |\reviewheader| below. It +% outputs time in |HH:MM| format. +% \begin{macrocode} +\newcommand\timenow{% + \@tempcnta=\time \divide\@tempcnta by 60 \number\@tempcnta:\multiply + \@tempcnta by 60 \@tempcntb=\time \advance\@tempcntb by -\@tempcnta + \ifnum\@tempcntb <10 0\number\@tempcntb\else\number\@tempcntb\fi} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\diss@header} +% This header is used in the dissertation document when the |draft| or |review| +% option is used. These headers serve as a note for the date and time of the +% document compilation. +% \begin{macrocode} +\newcommand{\diss@header}{% + \ifdiss@review Review \else Draft \fi document [\today\/ at \timenow\/] + }% +% +% \end{macrocode} +% \end{macro} +% The header prepared above is put in the document by modifiying the \emph{plain} +% and \emph{empty} pagestyles except when the |final| option is chosen. +% \begin{macrocode} +\ifdiss@final + \renewcommand{\ps@plain}{ + \renewcommand{\@oddhead}{\@empty} + \renewcommand{\@oddfoot}{\hfil\thepage\hfil} + \let\@evenhead\@oddhead + \let\@evenfoot\@oddfoot + }% +\else + \renewcommand{\ps@plain}{ + \renewcommand{\@oddhead}{\framebox[\textwidth]{ + \centering\footnotesize\tt\diss@header}}% + \renewcommand{\@oddfoot}{\hfil\textrm{\thepage}\hfil} + \let\@evenhead\@oddhead + \let\@evenfoot\@oddfoot + }% + \renewcommand{\ps@empty}{ + \renewcommand{\@oddhead}{\framebox[\textwidth]{ + \centering\footnotesize\tt\diss@header}}% + \renewcommand{\@oddfoot}{\@empty} + \let\@evenhead\@oddhead + \let\@evenfoot\@oddfoot + }% +\fi +% +% \end{macrocode} +% \begin{macro}{\bibsection} +% By redefining |\bibsection| macro, add the |\bibname| to the table of +% contents and as a chapter heading for the bibliography. +% \begin{macrocode} +\renewcommand{\bibsection}{ + \chapter*{\bibname}% + \addcontentsline{toc}{chapter}{\bibname}% +}% +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\bibfont} +% Changed the |\bibfont| macro to obtain single-spacing within each +% bibliographic entry. Between different entries, it is still |\normalspacing|. +% In addition, when the |numrefs| option is selected, the |\@biblabel| is redefined +% to number the bibliographic entries as |1. xxxx| instead of the default +% |[1] xxxx|. +% \begin{macrocode} +\renewcommand{\bibfont}{\singlespacing} +\ifnum@refs + \renewcommand{\@biblabel}[1]{\hfill#1.\hfill} +\fi +% +% \end{macrocode} +% \end{macro} +% Lastly, after the bibliography in the final document, +% add a framed box which contains a blurb about +% the typesetting program and \nddiss\space version used for preparing the +% dissertation document. +% \begin{macrocode} +\ifdiss@final +\AtEndDocument{ + \vfill + \centering\singlespacing + \framebox[0.85\textwidth]{ + \begin{minipage}{0.80\textwidth}\footnotesize% + \centering \itshape This document was prepared \& typeset with + \upshape + \ifluatex + \LuaLaTeX + \else\ifxetex + \XeLaTeX + \else\ifpdf + pdf\LaTeX + \else + \LaTeXe + \fi\fi\fi + \itshape , and + formatted with \upshape\nddiss\xspace\itshape classfile + (v\dissfileversion [\dissfiledate]) + \end{minipage} } + \clearpage} +\else\relax\fi +% +% \endinput +% End of file `nddiss2e.cls'. +% \end{macrocode} +%% +% \iffalse +%</class> +% \fi +% +% \iffalse +%<*template> +\documentclass[draft]{nddiss2e} + % One of the options draft, review, final must be chosen. + % One of the options textrefs or numrefs should be chosen + % to specify if you want numerical or ``author-date'' + % style citations. + % Other available options are: + % 10pt/11pt/12pt (available with draft only) + % twoadvisors + % noinfo (should be used when you compile the final time + % for formal submission) + % sort (sorts multiple citations in the order that they're + % listed in the bibliography) + % compress (compresses numerical citations, e.g. [1,2,3] + % becomes [1-3]; has no effect when used with + % the textrefs option) + % sort&compress (sorts and compresses numerical citations; + % is identical to sort when used with textrefs) +\begin{document} + +\frontmatter % All the items before Chapter 1 go in ``frontmatter'' + +\title{ Title of Work } % Title + +\author{ Jane Doe } % Author's name +\work{ Dissertation } % ``Dissertation'' or ``Thesis'' +\degaward{ Doctor of Philosophy } % Degree you're aiming for. + % Should be one of the following options: + % ``Doctor of Philosophy'' (do NOT include ``in Subject'') + % ``Master of Science \\ in \\ Subject'' +\advisor{ John Public } % Advisor's name + % \secondadvisor{ } % Second advisor, if used option ``twoadvisors'' +\department{ } % Name of the department + +\maketitle % The title page is created now + + % You must use either the \makecopyright option or the \makepublicdomain option. + % \copyrightholder{ } % If you're not the copyright holder + % \copyrightyear{ } % If the copyright is not for the current year + % \makecopyright % If not making your work public domain + % uncomment out \makecopyright + % \makepublicdomain % Uncomment this to make your work public domain + + % Including an abstract is optional for a master's thesis, and required for a + % doctoral dissertation. + % \begin{abstract} + % \end{abstract} + % % Either place the text between begin/end, or + % \include{abstract} % put it in a file to be included + + % Including a dedication is optional. + % \renewcommand{\dedicationname}{\mbox{}} % Replace \mbox{} if you want + % something else. + % \begin{dedication} + % \end{dedication} + % % Use one of the two choices to add dedication text + % \include{dedication} + +\tableofcontents +\listoffigures +\listoftables + + % Including a list of symbols is optional. + %% \renewcommand{\symbolsname}{newsymname} % Replace ``newsymname'' with + % the name you want, and uncomment + % \begin{symbols} + % \end{symbols} + % % Use one of the two choices to add symbols text + % \include{symbols} + + % Including a preface is optional. + %% \renewcommand{\prefacename}{ } % If you want another Preface name, add + % something else, and uncomment. + % \begin{preface} + % \end{preface} + % % Use one of the two choices to add preface text + % \include{preface} + + % Including an acknowledgements section may or may not be optional. It's hard to + % tell from the information available in Spring 2013. + %% \renewcommand{\acknowledgename}{ } % If you want another Acknowledgement name + % add something else, and uncomment + % \begin{acknowledge} + % \end{acknowledge} + % % Use one of the two choices to add acknowledge text + % \include{acknowledgement} + +\mainmatter + % Place the text body here. + % \include{chapter-one} + % Begin each chapter with \chapter{Title}. + +% Appendices are optional. +\appendix + + % If you have appendices, add them here. + % Begin each one with \chapter{TITLE} as before. The \appendix command takes + % care of renaming chapter headings and creates a new page in the Table of + % Contents for them. + % \include{appendix-one} + +\backmatter % Place for bibliography and index + +% If you are using BibTeX to manage your citations: +% Use the ``nddiss2e'' bibliography style, unless your field does not +% include the titles of journal articles in bibliography entires. +% If you do not want the titles of journal articles to appear, use the +% ``nddiss2enoarticletitles'' bibliography style. + +\bibliographystyle{nddiss2e} + \bibliography{ } % input the bib-database file name + +% If you are not using BibTeX to manage your citations, use +% \begin{thebibliography}{number} +% \end{thebilbiography} +% as usual. Note that if you choose this route, formatting the bibliography +% is your responsibility. + +\end{document} + +%</template> +% \fi +%% +% \Finale +\endinput +%% End of file : nddiss2e.dtx |