% \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{1260} % \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} % % % \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.0} \providecommand{\dissfiledate}{2005/07/27} \DisableCrossrefs \CodelineNumbered \RecordChanges \begin{document} \DocInput{nddiss2e.dtx} \end{document} %</driver> % \end{macrocode} % \fi % % \title{The \nddiss\/ class\thanks{Version~\dissfileversion,% % dated~\dissfiledate.}} % % \author{Sameer Vijay\thanks{Inspiration from an % earlier {\sffamily NDThesis} class by D. A. Peterson}\\ % } % \date{\dissfiledate} % % \maketitle % % \begin{abstract} % This \nddiss\space class is based on the standard \LaTeXe\/ \textsf{book} % class and is an extensive rewrite of the earlier \textsf{NDthesis} class % file, incorporating changes for \LaTeXe\space and pdf\LaTeX\space as well % as many other improvements. This class conforms with the requirements of the % Graduate School guidelines published in Spring 2004 for the layout of the Ph.D. % dissertations and Master's theses. In reading this documentation you will % find that I assume that the % reader has working knowledge of \LaTeXe\/. % \end{abstract} % % \tableofcontents % % \section{Introduction} % \label{sec:intro} % This document describes the \LaTeXe\space document class \nddiss, % suitable\footnote{In my opinion, but with no guarantee that you or other users % will agree. I shall not be liable for any consequence, good or bad, % of anyone's use of this software.} for producing dissertations and % theses according to the Spring 2004 guidelines of the Graduate School at the % University of Notre Dame. The latest version of this class and % related documentation should be % available at \url{http://www.gsu.nd.edu} or at % \url{http://graduateschool.nd.edu}. % % \subsection{Disclaimer} % \label{sec:disclaimer} % It could be thought of as suspicious if I begin with a disclaimer, but it is % important for you to keep in mind that only % {\em You} are responsible for the correct formatting of the document % even though use of this class simplifies this task considerably. There % are certain formatting things which need to be done manually and are % described later in section \ref{sec:author}. % As such, this class and its associated % documentation {\em must not} be assumed to be a replacement of the % formatting guide from the Graduate School and the official guide must be % consulted, in case of doubt. % % In short, no one but you (the user) accepts any responsibility for works % that do not get approved by the Graduate School. Use of the % \nddiss\space class file implicitly states acceptance of this policy. Having % said that, a document produced by using this class (as described in the % following sections) has a pretty good likelyhood % of being accepted as it is. % % \subsection{Dependencies and Limitations} % \label{sec:deps} % This classfile depends on many other packages to be present in either % the |TEXMF| tree (system or local) or the \LaTeX\space search path (defined by shell variable % \verb+$TEXINPUTS+). A list of the essential packages is mentioned in section \ref{sec:features}. % % Although I have tested it with \LaTeX\space % [2001/06/01], it should be backwards compatible with \LaTeX\space % [1995/12/01] and higher % as well. It is not possible for me to list the version of each % package used within the class file and you might get errors if the package in % your |TEXMF| tree is outdated. % % The classfile is limited in the sense that it will produce an acceptable % document with the packages that I have tried and included by default. 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 {\sffamily subfigure} package and proper formatting of the captions in % such an environment. Formatting of the captions could be much easier with the % new {\sffamily 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. % % % \section{Usage} % % The \nddiss\space document class can be used only with \LaTeXe\space native mode or % later, by typing |\documentclass|\oarg{options}|{nddiss2e}| at the % beginning of your \LaTeX\space source file. The available options for % the use of the class are discussed in section \ref{subsec:options} below. % These have been limited to a small number in order to obtain documents % with similar formatting under \LaTeXe\space using this class, although the % \nddiss\space class is based on the \textsf{book} class, % which has many other options. % % \subsection{Options} % \label{subsec:options} % % By default, all documents produced using this class % are formatted in |letterpaper| size and |onesided|, % |doublespaced| mode, as per % the requirements of the Graduate School. If you wish to override these % restrictions, appropriate changes to the class file % would be needed. % % The most important of the options is |draft|, |review| or % |final|. Exactly one of % these {\em must} be used, otherwise you would surely get errors. % % \DescribeMacro{draft} % Using |draft| option will enable the {\it draft} mode of the % |book| class, thus making the processing of the document % faster. As a result of this, the most visible change is that instead of the % included figure, only its placement box is displayed. An appropriate header % is included to indicate that the prepared document is a draft document. The % purpose of the |draft| option is to obtain a fast and preliminary % document showing the labels for citations, tables, figures etc. and a black % solid rule highlighting the horizontal overflows. Such a document would be % the one you would prepare for revising your text during writing stages. % % \DescribeMacro{review} % The |review| option makes it possible to prepare a document that is % one step closer to the final version. Almost all the formatting of final % version is present, along with the labels and keys as in the |draft| % option. A document prepared with |review| option would be the one to % check for proper formatting and giving to your advisor if (s)he wished to % suggest corrections. % % \DescribeMacro{final} % The |final| style option will produce the % document for the production of archival % copies of the dissertation for submission to the Graduate School. % % \DescribeMacro{twoadvisors} % If you have more than one advisor for your project/research, selecting the % |twoadvisors| option % would produce an appropriately formatted titlepage. The |\secondadvisor| % macro command is used to specify the name of the second advisor. % % \DescribeMacro{numrefs} % \DescribeMacro{textrefs} % Exactly one of these options -- |numrefs| or |textrefs|, % needs to be specified. |numrefs| results in a % numbered citation sytle with {\sffamily natbib} and ``nddiss2e'' citation style % file\footnote{|nddiss2e.bst| is a slight modificiation of |abbrvnat.bst| % in the {\sffamily natbib} package}. % Using |textrefs| changes the citation style to be similar to % ``author-date'' style with the same files. If none of these options is % specified, the default style of numbered citations (ie.\/ same as if % |numrefs| was used) is used. % % Since the same set of package and % style file results in differing citation format, it is {\em strongly} % suggested to % refer to the documentation |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} % The choice of the fontsize is only applicable with the |draft| option % used. By default, the document will be prepared in the 10pt size for the % |draft| % style option. For the |review| and the |final| style options, % the document is prepared in the 12pt fontsize and choosing any other fontsize % option will be ignored. % % \DescribeMacro{noinfo} % Using the |noinfo| option would disable the information page produced % when the |review| or |final| style options are used. It is % recommended that you do not disable the ``info'' page unless it is the final % most copy/copies for submission to the Graduate School. % % Thus, |\documentclass[draft,12pt]{nddiss2e}| would produce a document in % \textsf{draft} format in 12pt font size and \\ % |\documentclass[final,twoadvisors]{nddiss2e}| % would produce a document (with modified title page) for final submission % to the Graduate School. % % \section{Features} % \label{sec:features} % A number of packages are required by default and must be present in your % \TeX\space search path. 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{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{amssymb}, % \textsf{float}, % \textsf{lscape}, % \textsf{rotating}, % \textsf{booktabs} and % \textsf{natbib}. % I urge 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. % % 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 layout(s). % % In general, the official guidelines of the Graduate School are % followed to as much extent as possible. This includes proper % formatting of the title page and the abstract page (from the % \textsf{ndthesis} package), numbering of the pages in the {\it % frontmatter}, generation of properly formatted table of contents, list % of figures etc., as well as bibliography at the end. As per the guide, % number of different fonts and font sizes used in the thesis 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. In this case, the \textsf{hyperref} and % \textsf{hypernat} packages are also required. These packages ensure % 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 ({\it press quality} pdf) and is suitable % for electronic submission to the library and for microfilm archiving. % Although the most appropriate options for the \textsf{hyperref} are % passed on, for advanced features refer to its documentation. % % For creating documents with figures, it is imperative that these are % present in a pdf-like format (eg.\/ pdf or metapost) rather than % the usual encapsulated postscript (eps) % format. An easy way to convert your {\it eps} files to {\it pdf} files % is to use the utility |epstopdf| or |eps2pdf|, which should be % available on your unix-like distribution already. % % \section{Arrangement of contents} % % A dissertation or a thesis document must contain the following parts, % in the order listed. Only those explicitly marked as optional may be % omitted. Again, I must point out that the official guide must be % referred and its guidelines override the order listed here. % % \begin{enumerate} % \item Title Page % \item Copyright page % \item Abstract {\em (optional for Master's thesis)} % \item Dedication {\em(optional)} % \item Table of Contents % \item List of Figures % \item List of Tables % \item List Symbols {\em (optional)} % \item Preface {\em (optional)} % \item Acknowledgments {\em (optional)} % \item Text % \item Appendix (or Appendices) {\em (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} % % The title page is generated by the standard % \LaTeX\space macro |\maketitle| with no arguments. % This macro has been modified for providing a title page format % required for dissertations/theses. % % Prior to invoking it in % your document, you should declare -- % \begin{itemize} % \item \DescribeMacro{\title\{\}} the title of the document using the % |\title| macro (note: title must be in ALL caps, eg. % |\title{THIS IS \||\ A TITLE IN TWO LINES}|, and you may use % linebreaks within the title), % \item \DescribeMacro{\author\{\}} your name (full and exactly as % registered with the Graduate School) with the % |\author| macro, (eg. |\author{Gary Graham Gordon-Graeme}|), % \item \DescribeMacro{\work\{\}} whether the document is a {\em Thesis} or a {\em % Dissertation} as % argument of |\work| macro, (eg. |\work{Dissertation}|), % \item \DescribeMacro{\degaward\{\}} the degree you're aiming for (in % full) with the |\degaward| macro, (eg. |\degaward{Doctor of Philosophy}| or % |\degaward{Master of Science\\in\\Engineering}|), % \item \DescribeMacro{\degprior\{\}} all your prior degrees to go with your name % with |\degprior| macro, (eg. |\degprior{B. S., M. S.}|), % \item \DescribeMacro{\advisor\{\}} the name of your advisor as argument to % |\advisor| macro, % \item \DescribeMacro{\secondadvisor\{\}} the name of second advisor, if any, with % |\secondadvisor| macro \footnote{this macro is necessary when, % \textsf{twoadvisors} option is used while invoking \nddiss\space class}, % \item \DescribeMacro{\department\{\}} the name of the department in the % argument of the |\department| macro, % (eg. |\department{Gnulogical Engineering}|) and, % \item \DescribeMacro{\degdate\{\}} the month and year of the defense of the % thesis with the |\degdate| (eg. |\degdate{June 2004}|). If you forget to % declare this, the current month/year combination will be automatically used. % \end{itemize} % % \DescribeMacro{\maketitle} % After defining the above macro arguments, use |\maketitle| to generate % a title page, which includes your entries. All the above macros are % required and if missing, they may result in errors in the generation % of the title page. % % \subsection{Copyright page} % \DescribeMacro{\makecopyright} % \DescribeMacro{\makepublicdomain} % The |\makecopyright| macro should be invoked after |\maketitle| to % produce a copyright page. 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 {\em not} place your dissertaion in the public domain, you must % declare it as such explicitely. % % \DescribeMacro{\copyrightholder\{\}} % \DescribeMacro{\copyrightyear\{\}} % 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). You should do this with |\copyrightholder|\marg{name} % and |\copyrightyear|\marg{year} macros. % % \subsection{Abstract page(s)} \DescribeEnv{abstract} % The \textsf{abstract} environment has been modified from the default % in the \textsf{report} class to comply with the requirements % of the Graduate School. The abstract text should be placed between % |\begin{abstract}| and |\end{abstract}|. % In this environment, the author's name is placed in % the top-right header, if it exceeds one page. % % \DescribeMacro{\abstractname\{\}} % You may use |\abstractname|\marg{text} to change the abstract caption % to |text|. % Default name: |Abstract|. % % \subsection{Dedication} % % \DescribeEnv{dedication} % The format of dedication is essentially free, but you may want to use % the \textsf{dedication} environment for this purpose. This environment % will center the text of your dedication vertically on the page. The % dedication is optional. % \DescribeMacro{\dedicationame\{\}} % |\dedicationname|\marg{text} may be used to change the title for the % dedication page. Default name: |\mbox{}| ie.\/ an empty title. % % \subsection{Table of contents, figures and tables} % \DescribeMacro{\tableofcontents} % \DescribeMacro{\listoffigures} % \DescribeMacro{\listoftables} % Use the macros |\tableofcontents|,|\listoffigures| and |\listoftables| % in this order, to produce the required table of contents and list of % figures and tables. (Note: the ``list of figures'' should precede the % ``list of tables'' as per the Graduate School guide) % % \DescribeMacro{\contentsname\{\}} % \DescribeMacro{\listfigurename\{\}} % \DescribeMacro{\listtablename\{\}} % The macros |\contentsname|, |\listfigurename| and |\listtablename| may % be used to change the caption for Table of Contents, List of Figures % and List of Tables, respectively. By default, they are named as |CONTENTS|, % |FIGURES| and |TABLES|. % % \subsection{List of symbols} % \DescribeEnv{symbols} The \textsf{symbols} environment is useful in % formatting the list of symbols/abbreviations used in your work. It % takes optional argument specifying the desired format, eg. % |\begin{symbols}[cl]| for first column centered and the next column % aligned left. \DescribeMacro{\symbolsname\{\}} As earlier, the % caption for the list of symbols can be changed by using the % |\symbolsname| macro. Default name: |SYMBOLS| % % \DescribeMacro{\sym\{\}\{\}} % Another macro |\sym|\marg{symbol}\marg{definition} makes the task of % entering the symbols and their meanings in the \textsf{symbols} % environment easier. |\sym| takes two arguments - first, a math % ``object'' and second, assumed to be the plain text describing the % symbol. Any plain text in the first argument needs to be set with % |\mathrm{..}| and any math symbol in the second needs to placed in % |$..$|. Example: |\sym{\beta_\mathrm{norm}}{Definition for $\beta$}| % % \subsection{Preface} % \DescribeEnv{preface} % \DescribeMacro{\prefacename\{\}} % An environment \textsf{preface} is provided for formatting the preface to the % document. The name of this {\em chapter} may be changed by |\prefacename| % macro. Default name: |PREFACE| % % \subsection{Acknowledgments} % \DescribeEnv{acknowledgments} % \DescribeMacro{\acknowledgename\{\}} % The environment \textsf{acknowledgments} is used to format the % acknowledgment {\em chapter}. As above |\acknowledgename| macro may be used % to change the title name. Default name: |ACKNOWLEDGMENTS|. % % \subsection{Text} \DescribeMacro{\mainmatter} % Use the macro |\mainmatter| at the beginning of the text sections ie. % all text matter should follow this macro as in the {\sffamily book} % class. The text is formatted in |\normalspacing| ie. 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 or % long and would be formatted doubly spaced. % % \subsection{Appendix} % \DescribeMacro{\appendix} % As in the {\sffamily book} class, use the |\appendix| to mark the % end of the last chapter in the main section and the start of the % appendices. To begin an appendix, using a |\chapter|\marg{title} % macro. Appendices will be automatically ``numbered'' alphabetically. % % \subsection{Backmatter} % \DescribeMacro{\backmatter} % This macro separates the bibliography, index % and glossary from the main matter and appendices, if any. % % \subsection{Bibliography} \DescribeMacro{\bibliography} % You may use the |\bibliography|\marg{bibfile} macro to generate the % bibliography with \BibTeX\/. In order to use the % \BibTeX\/ path for generating bibliography, one needs to have % all the bibliographic data in \BibTeX\/ files. You should % refer to \BibTeX\/ manual for details about making a |.bib| file % and format for the entries. % % \DescribeMacro{\bibname\{\}} The default name for this {\em chapter} is % |BIBLIOGRAPHY|. You may change it by using the macro command % |\bibname|\marg{newbibname}. % % \DescribeEnv{thebibliography} % Alternatively, you can also make your own bibliography by using % {\sffamily thebibliography} environment. In this case, you would have % to write the reference entries in the right format in your |.tex| source % file itself. % % For citing references in the text, the package {\sffamily natbib} is % included with options: \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 {\em citing} in different ways. % It would make your life a lot easier if you read up its documentation. In % addition, for generation of pdf document, another package {\sffamily % hypernat} helps generates internal links for references. % % {\bfseries Warning:} The packages {\sffamily cite} and \textsf{citation} are % NOT compatible % with the {\sffamily natbib} package, and they must not be used. % % \section{Note for the authors} % \label{sec:author} % As noted earlier, 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 List of Figures should be {\em before} List of Tables, ie. the % macro command |\listoffigures| comes before |\listoftables| in the % frontmatter. % \item Chapter titles need to be written in ALL CAPS. % \item Table caption must be {\em above} the table, but the figure % caption should be {\em below} it. % In case of {\sffamily table} environment, this can be achieved by % putting |\caption| before you include the table (eg. in a {\sffamily % tabular} environment). In the {\sffamily figure} environment, |\caption| % goes after the |\includegraphics| macro command. % \item Table captions need to be in ALL CAPS as well. % \item Bibliography is the last section/chapter of the thesis.\footnote{Except % if you are using {\em chapter-wise} bibliography} % \end{itemize} % % \subsection{Chapter-wise bibliography} % It is now possible to obtain bibliography as a section in each chapter % (as is common % in some departments esp.\/ humanities) with some minor code % implementation in the |.tex| files. To do this you have to load the % package {\sffamily chapterbib} (without any options) % in the preamble of your main tex file and % redefine some commands as 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} % % In such a case, you must separate the chapters or sections in % which you want individual bibliographies in different files and {\em include} % them in the main file as 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|)\footnote{This creates |.aux| files which are needed by |bibtex|}, % you % would have to run |bibtex| on each of the separate 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 {\sffamily natbib} manual (|natbib.dvi|) in the |TEXMF| tree. % \subsection{Tips and suggestions} % \label{subsec:tips} % \begin{itemize} % \item Use |\toprule|, |\midrule| and |\bottomrule| macro commands (from the % {\sffamily booktabs} package) in the % tables for generating the appropriate horizontal rules. Use of vertical rules % to separate columns in tables, is in general, bad style and should be avoided as much as possible. % \item Use the {\sffamily longtable} environment for handling very long % tabular materials. Again, use the vertical rules only if very necessary. % \begin{verbatim} % \begin{longtable}{lc} % \caption[]{LONG TABLE CAPTION \label{tab:longtable} } % \toprule % Heading 1 & Heading 2 \\ % \midrule % \endfirsthead % \caption[]{ {\em Continued} } \\ % \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/table is very wide and will not fit normally, % use the {\sffamily landscape} environment (from the included {\sffamily lscape} % package) to format them in {\em landscape} % mode. They will automatically appear on a separate page. % The {\sffamily sidewaystable} environment (from the included {\sffamily % rotating} package) is incompatible with the current % class and must be avoided. % \item Usually the width of the figure/table captions is 90\% of the textwidth % (ie. |0.9\textwidth|), % but if needed can be changed as per the following: % \begin{itemize} % \item Use a {\sffamily minipage} environment of appropriate width and enclose % your tabular or figure float inside it, or % \item set the |\capwidth| inside the {\sffamily table} or the % {\sffamily figure} environment, and |\LTcapwidth| {\em outside} the {\sffamily % 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 {\sffamily tabularx} environment for the actual % formatting of the tables (within the \textsf{table} environment). It differ % 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 {\sffamily 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 {\sffamily longtable} manual. % \item If you wish to use |\footnotes| in the \textsf{longtable} environment, % please read its documentation. There are some handicaps present. % \item A new macro command |\subsubsection| (self-explanatory) has been defined. % It is numbered as |3.2.1.4| in the TOC. % \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} This when processed with the |nddiss2e.bst| citation style file % gives:\newline % 111. N. Fairley. CasaXPS VAMAS processing software. Website. % \url{http://www.casaxps.com}.\newline % \end{itemize} % % \subsection{You found errors?} % If you find some errors in formatting of your document, most likely these are % NOT due to the \nddiss\/ class, but due to either wrongly used % commands/macros or conflicting commands/macros in a package that you might % have used ie.\/ a mistake from your side. Please verify that before % contacting anyone regarding the class file. % % Read the manuals for the packages that you might have used and find out if % they have macro commands that modify the page-layout, spacing etc.\/ or if % they conflict with already defined commands (eg.\/ packages % \textsf{natbib} and % \textsf{cite} redefine the same command |\cite| in different ways). I would % suggest that you {\em read the manuals anyway}! It is a good practice. % % In the possible scenario that you % have found a significant error, please try to find out the source of the % error and, even better, a possible alternative, please % report it to the Graduate School's reviewer(s). It would also be great, if % you try to find a solution for the problem and inform that as well. % Please also inform if you find this documentation confusing or misleading or % if any mistakes are present. % % Your doing so will ensure that the reviwer(s) are aware of the problem and % its possible solutions and they can give better answers to the people who % might encounter similar problems. It will also help making the future % versions of the class file better. % % \section{Example} % Below is a basic |.tex| sample for your help. % A file called |template.tex|\footnote{Most likely present in the same % directory as |nddiss2e.cls| ie.\/ in |TEXMF/tex/latex/nddiss2e/|} % is generated from |nddiss2e.ins| which might serve as a guide for % your document. The |example| directory contains a mock thesis modified % from {\sffamily ndthesis} classfile and should also be helpful. % % \begin{verbatim} % \documentclass[numrefs,final]{nddiss2e} % % \begin{document} % % \frontmatter % % \title{} % \author{} % \work{Dissertation} % \degprior{B.S., M.S.} % \degaward{Doctor of Philosophy} % \advisor{} % \department{} % \maketitle % \makepublicdomain % % \begin{abstract} % Abstract here % \end{abstract} % \renewcommand{\dedicationname}{\mbox{}}% Empty dedication title % \begin{dedication} % For Someone % \end{dedication} % % \tableofcontents % \listoffigures % \listoftables % % \begin{preface} % Preface here % \end{preface} % \begin{acknowledge} % Thanks to everyone % \end{acknowledge} % \begin{symbols} % \sym{a}{definition of a} % \end{symbol} % % \mainmatter % % \chapter{One} % Chapter 1 % All the text ... % % \appendix % \chapter{Additional data} % Appendix A % % \backmatter % \bibliographystyle{nddiss2e} % \bibliography{bibdatabase} % % \end{document} % \end{verbatim} % % % % \StopEventually{% % \footnotesize % \PrintChanges % } % % \clearpage % \section{The Implementation} % Following is my 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 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} [2005/07/27 v3.0 ^^J% % \end{macrocode} % \iffalse %<*class> % \fi % \begin{macrocode} Notre Dame Dissertation document class by Sameer Vijay^^J] % % \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.0} \providecommand{\dissfiledate}{2005/07/27} % % \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 by Sameer Vijay^^J] % \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 % % \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| selects appropriate citation style ie.\/ % ``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| (not documented) allows non-centered chapter titles. % \begin{macrocode} \DeclareOption{nocenter}{\centered@chaptitlefalse} % % \end{macrocode} % The |openbib| option (not documented) 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 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 appropriately passed on to the % {\sffamily book} class depending on whether |\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 (not documented) is 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 % {\sffamily 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 {\sffamily ifthen}, {\sffamily exscale}, % {\sffamily ifpdf}, {\sffamily longtable}, {\sffamily xspace}, {\sffamily % indentfirst}, {\sffamily tabularx}, {\sffamily enumerate} and {\sffamily % latexsym} are loaded. It is important to load these in specific order so as % not to cause conflicts in definitions of certain macros. % \begin{macrocode} \RequirePackage{ifthen,exscale} \RequirePackage{ifpdf} \RequirePackage{longtable} \RequirePackage{xspace} \RequirePackage{indentfirst} \RequirePackage{tabularx} \RequirePackage{enumerate} \RequirePackage{latexsym} % % \end{macrocode} % If the |\diss@final| is set false (when using |draft| or |review| option) then % {\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, % {\sffamily epsfig}, {\sffamily color} and {\sffamily graphicx} are loaded % with respective options. Additionaly when using pdf\LaTeX\space, the package % {\sffamily 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. % \begin{macrocode} \ifpdf \RequirePackage[pdftex]{epsfig} \RequirePackage[pdftex]{color} \RequirePackage[pdftex]{graphicx} \RequirePackage[pdftex, letterpaper=true,% bookmarks=true,% bookmarksnumbered=true,% linktocpage=true,% breaklinks=true,% bookmarkstype=toc,% colorlinks=false,% pdfpagemode=UseOutlines]{hyperref} \AtBeginDocument{ \pdfadjustspacing=1 } \else \RequirePackage[dvips]{epsfig} \RequirePackage[dvips]{color} \RequirePackage[dvips]{graphicx} \fi % % \end{macrocode} % Now the {\sffamily natbib} package is loaded % with its options, appropriate to |numrefs| or |textrefs| class option. If |numrefs| is % specified, then {\sffamily 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 % {\sffamily natbib} package is read-in so as to sort the references in an % ``author-date'' style of citations. % The default delimitor and separator, in this case, are round brackets and % colon, respectively. % % For creating internal links in a pdf document with % pdf\LaTeX\space, the package {\sffamily hypernat} is also loaded. % \begin{macrocode} \ifnum@refs \RequirePackage[numbers,sort&compress]{natbib} \else \RequirePackage[authoryear,sort]{natbib} \fi % \ifpdf \RequirePackage{hypernat} \fi % % \end{macrocode} % Additionaly, the packages {\sffamily amsmath}, {\sffamily amssymb}, % {\sffamily float}, {\sffamily lscape}, {\sffamily booktabs}, {\sffamily % rotating}, {\sffamily url} and {\sffamily setspace} are loaded when (pdf)\LaTeX\space % processes |\begin{document}|. Again, the order of these packages is % important. % \begin{macrocode} \AtBeginDocument{ \RequirePackage{amsmath,amssymb} \RequirePackage{float} \RequirePackage{lscape} \RequirePackage{booktabs} \RequirePackage{rotating} \RequirePackage{url} \RequirePackage[doublespacing]{setspace}[2000/12/01] } % % \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{1.0} \newcommand\double@baselinestretch{1.66} \newlength{\single@skip} \setlength{\single@skip}{\single@baselinestretch em} \newlength{\double@skip} \setlength{\double@skip}{\double@baselinestretch em} % % \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. % \begin{macrocode} \setlength{\hoffset}{0pt} \setlength{\voffset}{0pt} \addtolength{\topmargin}{-32pt} \setlength{\headsep}{12pt} \setlength{\marginparwidth}{54pt} \setlength{\marginparsep}{0pt} \addtolength{\textheight}{63pt} \addtolength{\textwidth}{26pt} \setlength{\oddsidemargin}{36pt} \setlength{\evensidemargin}{18pt} \setlength{\footskip}{36pt} % \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}{\degprior} % \begin{macro}{\advisor} % \begin{macro}{\secondadvisor} % \begin{macro}{\department} % \begin{macro}{\degdate} % Here define new macros for use in the dissertation title page. % \begin{macrocode} \newcommand{\work}[1]{\def\@work{#1}} \newcommand{\degaward}[1]{\def\@degaward{#1}} \newcommand{\degprior}[1]{\def\@degprior{#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} % \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. % \begin{macrocode} % Defaults are empty except the \degdate \title{} \author{} \work{} \degaward{} \degprior{} \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 ``|noinfo|'' option % while invoking the \nddiss\space class. % \begin{macrocode} \DeclareRobustCommand{\@infopage}{ \thispagestyle{empty} \null\vspace*{\single@skip} \begin{center} \large This \@work\space \\ entitled \\ \@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 established in Spring 2004. 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 It is YOUR responsibility to ensure that the Chapter titles and Table caption titles are put in CAPS LETTERS. This classfile does {\em NOT\space} do that! \\ \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, but MUST be turned in to the proofreader(s) or the reviwer(s)!} \end{center} \normalsize\normalfont \nddiss\ documentation can be found at these locations: \begin{center} \url{http://www.gsu.nd.edu}\\ \url{http://graduateschool.nd.edu} \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 a 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 vertically center % the title page provided the title is only one line long. We'll account for % the longer ones in a bit \ldots % \begin{macrocode} \skip1=1.2\double@skip \skip2=1.7\double@skip \skip3=2.7\double@skip \skip4=1em % % \end{macrocode} % If the author has two advisors, we need to do a little tweaking. % \begin{macrocode} \ifadvisors@two \skip1=1.0\double@skip \skip4=1.5em \else\relax\fi % % \end{macrocode} % For positioning the title, we first stuff it in a box and find out how % many lines it will occupy. In order to maintain the $1''$ top margin % required by Notre Dame, we must not move our defaults up by more than % one-half of a |\doubleskip|. (Actually, there's a bit more room than % that, but we reserve that space in the case of multiple advisors.) As it % turns out, if the title is just two lines long, then just moving the top % of the text by |.5\doubleskip| will cause it to remain centered. For % longer titles, the extra lines have to be taken out of the inter-section % spacing (skip register 1). % \begin{macrocode} \setbox0=\hbox{\@title} \ifdim \wd0 > 3\hsize \advance\skip4 .5\double@skip \advance\skip1 -.33\double@skip \else \ifdim \wd0 > 2\hsize \advance\skip4 .5\double@skip \advance\skip1 -.167\double@skip \else \ifdim \wd0 > \hsize \advance\skip4 .5\double@skip \fi \fi \fi % % \end{macrocode} % Our default assumes a two-line \textsf{degree} field such as % \begin{center} % Doctor of Philosophy \\ in Somekind of Science \\ % \end{center} % but we check to see if it is simply one % line long. If so, we need to add-back that extra line to the spacing. % \begin{macrocode} \setbox1=\vbox{\@degaward} \ifdim \ht1 > \double@skip\relax \else \advance\skip1 .167\double@skip \fi % % \end{macrocode} % Finally we start putting the text in place \ldots centered, of course. % \begin{macrocode} \null\vspace*{-\skip4} \begin{center}% \@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% \vskip\skip1% % % \end{macrocode} % Now format the author's name and credentials. % \begin{macrocode} {\normalsize \begin{tabular}[t]{c@{}l}% \@author, &\ \@degprior \end{tabular}\par }% % % \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\else \vskip\skip3\fi% \hspace*{2.75in}\underline{\hspace{2.75in}}\\% \hspace*{2.75in}\@advisor, Director\\ % % \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, Director\\ \fi % % \end{macrocode} % Finally, we do a vertical fill to get the department and date to 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{Copyleft 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}{\year} \newcommand{\@copyrightholder}{\@author} \newcommand{\copyrightyear}[1]{\renewcommand{\@copyrightyear}{#1}} \newcommand{\copyrightholder}[1]{\renewcommand{\@copyrightholder}{#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\\ All Rights Reserved \\[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{\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 {\sffamily report} % class since the {\sffamily book} class does not have one. Additionaly, we add % a |\pdfbookmark| for the abstract in the pdf document. % \begin{macrocode} \newenvironment{abstract}{% \ifpdf \pdfbookmark[0]{\abstractname}{abstract}%abstract.0 \fi \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*{0.25in} {\normalsize\mdseries \normalspacing \@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 ``dedication'' environment is similar to % the ``abstract'' environment. This page is numbered 2 and the % subsequent pages are numbered accordingly. % \begin{macrocode} \newenvironment{dedication}{% \global\diss@dedicationtrue \typeout{Dedication page} \ifpdf \pdfbookmark[0]{\dedicationname}{dedication}%dedication.0 \fi \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}% \ifpdf \pdfbookmark[0]{\contentsname}{contents}%contents.0 \fi \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 ``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{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 {\em 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 \par� % ``\textbf{Chapter 1: First chapter}'' rather than % ``\textbf{1. First chapter}'' \newline� % The rest of the format code is essentially similar to % that in the \textsf{book} class. % \begin{macrocode} \def\@chapter[#1]#2{ \ifnum \c@secnumdepth >\m@ne \if@mainmatter \refstepcounter{chapter}% \typeout{\@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{#2}% \@afterheading }% % % \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*{.625in}% {\parindent \z@ \raggedright \ifnum \c@secnumdepth >\m@ne \normalfont\normalsize% \if@mainmatter \ifcentered@chaptitle\center\else\relax\fi% \@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 are usually fitting in 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*{.625in}% {\parindent \z@ \raggedright \normalfont\normalsize% \interlinepenalty\@M \ifcentered@chaptitle\center\else\relax\fi \mdseries{#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@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 lesser 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}{\l@subsubsection} % The macro |\l@subsubsection| is modified to indent the |\subsubsection| label % same as that for |\subsection| in the table of contents. We also 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} \renewcommand{\l@subsubsection}{% \@dottedtocline{3}{3.8em}{4.1em}} \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} % 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 is 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}{% \setlength{\abovecaptionskip}{\abovetableskip} \setlength{\belowcaptionskip}{\belowtableskip} \singlespacing \renewcommand{\arraystretch}{\double@baselinestretch} \let\@makecaption\@maketablecaption \@float{table}}% {% \addtocontents{lot}{ {\vskip 0.4em} }% \end@float% } % % \end{macrocode} % \end{environment} % \begin{macro}{\@maketablecaption} % The |\@maketablecaption| is defined similar 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} \parbox{\capwidth}{ \centering\normalspacing {#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 \@ifnextchar[\LT@array{\LT@array[x]}} % % \end{macrocode} % \end{macro} % \begin{macro}{\endlongtable} % This bit is taken from the |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 #1{#2 }\\[\single@skip] {#3}\par \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 {\em % plain} and {\em 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 |numrefs| option is selected, the |\@biblabel| is redefined % to number the bibliographic entries as |1. xxxx| instead of the default % |[1] xxxx|. % \begin{macrocode} \newcommand{\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 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\ifpdf pdf\LaTeX\else\LaTeXe\fi\itshape , and formatted with \upshape\nddiss\xspace\itshape classfile (v\dissfileversion [\dissfiledate]) provided by Sameer Vijay. \end{minipage} } \clearpage} \else\relax\fi % % \endinput % End of file `nddiss2e.cls'. % \end{macrocode} %% % \iffalse %</class> % \fi % % \iffalse %<*template> \documentclass[draft]{nddiss2e} % Available options are % (a) draft + 10pt/11pt/12pt + twoadvisors + textrefs % (b) review + noinfo + twoadvisors + textrefs % (c) final + noinfo + twoadvisors + textrefs \begin{document} \frontmatter % All the items before Chapter 1 go in ``frontmatter'' \title{ } % Title of Work \author{ } % Author's name \work{ } % ``Dissertation'' or ``Thesis'' \degprior{ } % All prior degrees \degaward{ } % Degree you're aiming for \advisor{ } % Advisor's name % \secondadvisor{ } % Second advisor, if used option ``twoadvisors'' \department{ } % Name of the department \maketitle % The title page is created now % \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 % \begin{abstract} % \end{abstract} % % Either place the text between begin/end, or % \include{abstract} % put it in a file to be included % \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 %% \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} %% \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} %% \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} \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 \bibliographystyle{nddiss2e} % Use the ``nddiss2e'' biblio-style \bibliography{ } % input the bib-database file name \end{document} %</template> % \fi %% % \Finale \endinput %% End of file : nddiss2e.dtx