ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/mmeineke/mattDisertation/ndthesis/ndthesis.dtx
Revision: 728
Committed: Wed Aug 27 16:18:05 2003 UTC (20 years, 10 months ago) by mmeineke
File size: 77728 byte(s)
Log Message:
Matt Meineke's dissertation Files

File Contents

# Content
1 % \iffalse meta-comment
2 %
3 %% NDTHESIS LaTeX2e class, blessed by the Notre Dame Graduate School
4 %%
5 %% See the instructions in ndthesis.ins for how to obtain a
6 %% sample template thesis file. Also see the sample_ndthesis
7 %% files located on the Notre Dame Graduate Student Union
8 %% web pages. (Last located in the ITC Committee pages.)
9 %%
10 %
11 % \fi
12 % \CheckSum{1294}
13 %% \CharacterTable
14 %% {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
15 %% 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
16 %% Digits \0\1\2\3\4\5\6\7\8\9
17 %% Exclamation \! Double quote \" Hash (number) \#
18 %% Dollar \$ Percent \% Ampersand \&
19 %% Acute accent \' Left paren \( Right paren \)
20 %% Asterisk \* Plus \+ Comma \,
21 %% Minus \- Point \. Solidus \/
22 %% Colon \: Semicolon \; Less than \<
23 %% Equals \= Greater than \> Question mark \?
24 %% Commercial at \@ Left bracket \[ Backslash \\
25 %% Right bracket \] Circumflex \^ Underscore \_
26 %% Grave accent \` Left brace \{ Vertical bar \|
27 %% Right brace \} Tilde \~}
28 %%
29 %
30 % \iffalse
31 % \section{Identification}
32 % This part of the documentation won't actually appear in the typeset
33 % hardcopy, but it's here for our reference. We require the 2e version of
34 % \LaTeX, so we send a warning if a different form is used.
35 % We also let everyone know who we are and how mature we are. Due to
36 % difficulties in understanding, we are forced to change this in two places:
37 % In the following defines, and just below the ProvidesFile directive.
38 % \begin{macrocode}
39 \def\ndfiledate{2000/09/08} \def\ndfileversion{2.14}
40 %<class>\NeedsTeXFormat{LaTeX2e}
41 %<class>\ProvidesClass{ndthesis}
42 %<sample>\ProvidesFile{template.tex}
43 %<*driver>
44 \ProvidesFile{ndthesis.drv}
45 %</driver>
46 [2000/09/08 2.14
47 %<class> Official Notre Dame thesis document class]
48 %<sample> Simple sample template for organizing a thesis]
49 % \end{macrocode}
50 %
51 % \section{The driver for this document}
52 %
53 % The next bit of code contains the documentation driver file for
54 % \TeX{}, i.e., the file that will produce the documentation you are
55 % currently reading. It will be extracted from this file by the
56 % \textsc{docstrip} program.
57 %
58 % \begin{macrocode}
59 %<*driver>
60 ]
61 \documentclass{ltxdoc}
62 % \end{macrocode}
63 % Now some length settings and a nifty logo for our class.
64 % \begin{macrocode}
65 \addtolength{\oddsidemargin}{-.5in}
66 \addtolength{\textwidth}{1in}
67 \setcounter{secnumdepth}{2}
68 \setcounter{tocdepth}{2}
69 \def\NDthesis{\mbox{N\kern-.18em\lower.35ex\hbox{\scshape d}%
70 \kern-.55exT\kern-.3em\lower.35ex\hbox{h}\kern-.0833emesiS}}
71 % \end{macrocode}
72 % The following command retrieves the date and version information
73 % from the file.
74 % \begin{macrocode}
75 \GetFileInfo{ndthesis.drv}
76 % \end{macrocode}
77 % And get all the info possible from this document.
78 % \begin{macrocode}
79 \begin{document}
80 \RecordChanges
81 \DocInput{ndthesis.dtx}
82 \end{document}
83 %</driver>
84 % \end{macrocode}
85 % \fi
86 %
87 % \title{\NDthesis \\ A new \LaTeXe\ class following the
88 % University of Notre Dame guidelines for Thesis and Dissertation papers.%
89 % \thanks{This document describes version \fileversion, last modified \filedate}}
90 % \author{Donald A. Peterson}
91 % \date{Printed \today}
92 % \maketitle
93 %
94 % \def\bc{\marginpar[\hspace*{+60pt}\mbox{\hspace*{10pt}
95 % $\top$ \tiny (JMS)}]{\mbox{$\top$ \tiny (JMS)}}}
96 % \def\ec{\marginpar[\hspace*{+60pt}\mbox{\hspace*{10pt}
97 % $\bot$ \tiny (JMS)}]{\mbox{$\bot$ \tiny (JMS)}}}
98 % \def\bdc{\marginpar[\hspace*{+60pt}\mbox{\hspace*{10pt}
99 % $\top$ \tiny (DAP)}]{\mbox{$\top$ \tiny (DAP)}}}
100 % \def\edc{\marginpar[\hspace*{+60pt}\mbox{\hspace*{10pt}
101 % $\bot$ \tiny (DAP)}]{\mbox{$\bot$ \tiny (DAP)}}}
102 % \def\bc{\relax} \def\ec{\relax}
103 % \def\bdc{\relax} \def\edc{\relax}
104 %
105 % \changes{v1.0}{}{First draft of the class}
106 % \changes{v1.2}{1997/05/27}{Added xxxTeX booleans}
107 % \changes{v1.5}{1997/05/29}{Proper pagination regardless of presence of a dedication}
108 % \changes{v1.6}{1997/06/12}{Removed \textsf{headers} option. Can place it
109 % in main file if wanted.}
110 % \changes{v1.7}{1997/08/22}{Added \textsf{mixed} option to allow mixed-case
111 % titles/labels in ``normal'' and \textsf{sftitles} modes.}
112 % \changes{v1.71}{1997/09/02}{Added requirement of \textsf{exscale} package
113 % since our math is on 12pt, not 10pt}
114 % \changes{v1.71b}{1997/12/09}{Made author's name on second page of abstract
115 % non-slanted}
116 % \changes{v1.77}{1997/12/12}{New caption command for forcing
117 % upper-case table/figure captions if desired.}
118 % \changes{v1.79}{1997/12/15}{New skip lengths for figures/tables}
119 % \changes{v1.80}{1997/12/15}{Allow for second advisor's signature on
120 % titlepage}
121 % \changes{v1.802}{1997/12/18}{Modified documentation to account for new version of
122 % textcase (v0.05) and added to coded explanations.}
123 % \changes{v1.807}{1998/02/20}{Found strange bug when putting headers on
124 % List of Tables or List of Figures pages when headers are on so removed
125 % them from those pages.}
126 % \changes{v1.81}{1998/03/16}{Made listoffigures and listoftables commands
127 % robust with headers by using keeping them chapter* but adding a
128 % \texttt{\textbackslash addtocontents} line}
129 % \changes{v1.82}{1998/04/22}{Added changes suggested by Jeff Squyres and the
130 % Graduate School. They include: changing chapter titles a typesize smaller
131 % (e.g. \textsf{Huge} to \textsf{\LARGE}, Adding leading dots from
132 % ``CHAPTER X to the corresponsing page number.}
133 % \changes{v1.83}{1998/04/22}{Modified titlepage creation to use new field:
134 % \texttt{\textbackslash degdate} rather than the default
135 % \texttt{\textbackslash date} to ensure proper date format on titlepage.
136 % Also added \texttt{\textbackslash copypage} command to produce copyright
137 % page.}
138 % \changes{v1.91}{1998/09/02}{Made a bunch of style changes according
139 % to conversations with Dianne Miller at the Graduate School. These
140 % included setting font declarations to
141 % remain a constant size when formatted by strict ND guidelines and a hack
142 % to simulate single/double spaced TOC-like entries.}
143 % \changes{v1.95}{1998/09/03}{Made more style changes. Got the titlepage to
144 % be extremely robust in its vertical centering.}
145 % \changes{v1.96}{1998/09/03}{Eliminated \textsf{sftitles} option.}
146 % \changes{v1.97}{1998/09/03}{Better spacing between section titles and
147 % prior/following text. Also insured ``CHAPTER'' appears $2''$ from top of
148 % page.}
149 % \changes{v1.98}{1998/09/10}{Made TOC-like material single-spaced for
150 % multiple-line entries, but double-spaced between entries. Same for
151 % bibliographies. Changed ``Abstract'' on the Abstract page to be
152 % mixed case. Also changed ``Table'' and ``Figure'' in captions to be
153 % mixed case. Changed the quote environment to be single spaced.}
154 % \changes{v2.00}{1998/09/11}{\emph{Very} minor changes to documentation; some
155 % minor ``neatening'' of the code as well. Only bumped this much to make an
156 % ``official'' release.}
157 % \changes{v2.001}{1998/09/28}{More minor fixes to misunderstandings. Top
158 % margins should be 2'' to TOP of first line, not its BASELINE. Also,
159 % frontmatter titles were overlooked before.}
160 % \changes{v2.01}{1998/10/09}{Doubles the length of
161 % \texttt{\textbackslash abovecaptionskip} which affects
162 % the space around figure/table captions.}
163 % \changes{v2.011}{1999/03/17}{A St.\ Pat's Fix! \texttt{\symbol{92}dosingle} and
164 % \texttt{\symbol{92}dodouble} stuff had broken the
165 % titlepage for long titles \ldots not anymore. Moved page numbers up 1/8in
166 % to make ruler people happier. Added tips section to documentation.}
167 % \changes{v2.015}{1999/04/20}{Added \textsf{symbols} environment for
168 % producing List of Symbols \emph{a la} the preface style.}
169 % \changes{v2.02}{1999/05/03}{Improved \textsf{symbols} environment to be
170 % a real environment built on the \textsf{longtable} package. Also added
171 % \texttt{\textbackslash sym} command for the list of symbols}
172 % \changes{v2.02b}{1999/07/07}{Added blurb about section titles and
173 % table/figure names in the miniFAQ; added to bibliography section;
174 % reworded warning about use of uctab/ucfig options}
175 % \changes{v2.02c}{1999/07/14}{Added ucf/uct booleans for changing
176 % \texttt{\symbol{92}tablename}/\texttt{\symbol{92}figurename} to all
177 % caps if a uctab/ucfig option is used.}
178 % \changes{v2.10}{2000/04/19}{Added stuff for \textsf{longtable}
179 % captions to work properly.}
180 % \changes{v2.11}{2000/07/14}{Added summary page for proofreaders and fixed
181 % openbib compatability for bibliography styles. Minor doc updates. This
182 % should be the FINAL release.}
183 % \changes{v2.12}{2000/07/25}{Stupid bugfixes from summarypage. Reset font
184 % size, replace \texttt{\symbol{92}raggedright} with
185 % \texttt{\symbol{92}noindent} so as not to screw up main body of document.}
186 % \changes{v2.13}{2000/08/09}{Grad School requests taken care of.
187 % First paragraph indented by default (can be suppressed with
188 % \texttt{noindentfirst} option). ``DEDICATION'' heading raised 1 inch.
189 % Captions now center the last line to help separate them from body text.}
190 % \changes{v2.14}{2000/09/06}{Use \texttt{\symbol{92}GetFileInfo} to set
191 % fileversion and filedate as set in the \texttt{package} commands at the
192 % top of the dtx file, still have to define \texttt{\symbol{92}ndfileversion}
193 % and \texttt{\symbol{92}ndfiledate} for use in the class package, though.
194 % Added Character Table to dtx file for better security of file-transfer
195 % integrity. Slight reorganization of dtx stuff. Fixed broken
196 % \textsf{ucchap} option.}
197 %
198 % \begin{abstract}
199 % This is a rather simple, yet elegant class based upon the standard
200 % \LaTeXe\ \textsf{book} class.
201 % Its features include a properly formatted title page, abstract, dedication,
202 % and acknowledgement environments, and proper margin settings. Also, chapter
203 % titles are centered and pagination is properly taken care of. The vanilla
204 % version adheres to Fall 1998 guidelines; \bc much effort was taken to
205 % coordinate this class file with the Graduate School and their
206 % 1998 Fall Guidelines for Theses/Disertations. \ec
207 % This documentation assumes the user has at least a minimal working
208 % knowledge of \LaTeXe.
209 % \end{abstract}
210 %
211 % \tableofcontents
212 %
213 %\StopEventually{\PrintChanges}
214 %
215 %
216 % \section{Basics}
217 % \label{sec:basics}
218 %
219 % \subsection{Disclaimer}
220 % \label{sec:disclaimer}
221 %
222 % While the \NDthesis\ class does the vast majority of
223 % formatting work for you, there are certain things that you, the
224 % author are still responsible for formatting properly. For example,
225 % table captions must appear {\em above} tables, not {\em below}
226 % them. These and other types of formatting issues are the sole
227 % responsibility of you, the author; they {\em cannot} be enforced by
228 % a \LaTeX\ style or class file.
229 %
230 % {\bfseries Even using this class, it is possible to
231 % generate a thesis or dissertation that will be rejected by the
232 % University of Notre Dame Graduate School format checkers if the
233 % Notre Dame Style Formatting Guide is not consulted!} This
234 % class and its associated documentation is \emph{not} intended to be a
235 % replacement for the Style Formatting Guide published by the Graduate
236 % School. Be sure to read the Style Guide; keep a copy handy while
237 % you are writing your thesis/dissertation.
238 %
239 % The authors of the \NDthesis\ class provide it on an
240 % ``as is'' basis; no guarantees are provided about its functionality
241 % or the formatted output of a thesis or dissertation.
242 % The \NDthesis\ authors, the Graduate
243 % Student Union, the Graduate School, the Office of Information
244 % Technology, and anyone else who may have contributed to the creation
245 % and/or maintenance of the \NDthesis\ class will accept
246 % no responsibility for works produced with it.
247 % Specifically, works rejected by the University of Notre Dame
248 % Graduate School are the sole responsibility of the author of that work.
249 % Use of the \NDthesis\ class file implicitly
250 % states acceptance of this policy.
251 %
252 % \subsection{Invoking \NDthesis}
253 % \label{invoke}
254 % This class is selected via
255 % |\documentclass[|\meta{options}|]{ndthesis}|.
256 % The available options will be discussed later---they are listed here for
257 % reference. All but the first are mainly in place for the possibility of a
258 % guideline revision to allow a professionally typeset manuscript to be
259 % produced rather than the typewriter-based formatting structures in
260 % the basic guide.
261 % \textsf{nocenter}, \textsf{mixed},
262 % \textsf{titletex}, and \textsf{fulltex}.
263 %
264 % \subsection{Modifications of the basic \textsf{book} class \label{diff}}
265 %
266 % The major changes to the \LaTeXe\ \textsf{book} class are
267 % \begin{itemize}
268 % \item Default is |\pagestyle{plain}| instead of
269 % |\pagestyle{headers}| so that pagination conforms to ND
270 % Guidelines as of Fall 1998.
271 % \item Duplex (two-sided) printing is not allowed. Perhaps in the future this
272 % can be changed \ldots
273 % \item Chapter and section titles are now in |\mdseries|
274 % instead of |\bfseries|.\footnote{unless one of the
275 % \textsf{tex} options is selected} This is because the ND guidelines
276 % specify that titles are to be entirely in capital letters and a boldface,
277 % fully-capitalized title is visually numbing. They are also in
278 % |\normalsize|\footnotemark[1] for consistency with ND guidelines.
279 % \item Chapter numbers and titles now default to the same size as the body
280 % text.\footnotemark[1]
281 % \item The |\listoffigures| and |\listoftables|
282 % commands now make an entry in the table of contents.
283 % \item New length commands |\abovetableskip|, |\belowtableskip|,
284 % |\abovefigureskip|, and |\belowfigureskip| for caption positioning.
285 % \item Captions are now formatted with the last line centered to add
286 % visual distinctness from nearby text. This is like the
287 % \textsf{centerlast} option to H.A. Sommerfeldt's \textsf{caption2} package.
288 % \end{itemize}
289 %
290 % \section{Features}
291 % \subsection{Additions to the standard \textsf{book} class}
292 %
293 % Here I discuss the features that I added to the \textsf{book} class in order
294 % to accomodate the special needs of a Notre Dame thesis.
295 % The most important difference is in the
296 % |\frontmatter|.
297 % Special environments have been set up for the preliminary contents of
298 % \textsf{abstract, dedication, preface, acknowledgements} and
299 % (List of) \textsf{symbols}. Place
300 % the appropriate text between one of the following:\newline
301 % |\begin{abstract}| \ldots |\end{abstract}|\newline
302 % |\begin{dedication}| \ldots |\end{dedication}|\newline
303 % |\begin{acknowledge}| \ldots |\end{acknowledge}|\newline
304 % |\begin{symbols}| \ldots |\end{symbols}|\newline
305 % \bc
306 % |\begin{quote}| \ldots |\end{quote}|.\newline
307 % \ec
308 % \DescribeMacro{\copypage} There is also a |\copypage| command to
309 % produce a copyright page between
310 % the titlepage and abstract. If, in the rare case you are printing your
311 % document in December but won't actually submit/defend until January or
312 % later, you can specify an optional argument containing the year.
313 %
314 % The proper pagination as required by the graduate school is implemented.
315 % Furthermore, for the \textsf{abstract}, if it extends for more than one
316 % page, the author's name is placed in the upper right corner automagically
317 % as required in the formatting guidelines.
318 %
319 % Other |frontmatter| such as a Table of Contents, Lists of
320 % Tables and Figures, etc.\ are produced in the usual way with the standard
321 % \LaTeXe\ commands,
322 % \bc
323 % except that the words ``List of'' have been
324 % removed from the normal \LaTeXe\ titles for Lists of Tables and
325 % Figures. You may redefine them to whatever phrase you and your committee
326 % prefer via |\renewcommand{tablename}{LIST OF TABLES}|, for example. The
327 % same applies for figures.
328 % \ec
329 %
330 % \DescribeMacro{\symbols} A few words need to be said
331 % about the brand-spankin' new environment for preparing a ``List of
332 % Symbols''. It is based on the \textsf{longtable} environment which should be
333 % part of a standard \LaTeX\ distribution. The symbol list is assumed to be
334 % a two-column table, formatted equivalent to |\begin{tabular}[rl]|. If,
335 % however, your committee/advisor deem it appropriate to format it
336 % differently (i.e.\ as [cl]) you can begin the \textsf{symbols} environment
337 % with an optional argument specifying the desired format, e.g.\
338 % |\begin{symbols}[cl]|. To facilitate entering the symbols and their
339 % definitions, \DescribeMacro{\sym} a new command,
340 % |\sym| has been defined which takes two arguments: the first being the
341 % symbol, the second is the definition. By default, |\sym| assumes that the
342 % first argument is a mathematical ``object'' and enters math mode
343 % automatically, obviating the need to use \$\ldots\$. Note, though, that
344 % this requires plain text in the first argument to be set within a
345 % \textsf{\textbackslash mathrm\{\ldots\}} or \textsf{\textbackslash
346 % mbox\{\ldots\}} construct. Similarly, the second
347 % argument is assumed to be plain text describing the symbol, so any symbols
348 % here must be placed in \$\ldots\$. Here are a couple of simple usage
349 % examples:\newline
350 % |\sym{\alpha}{A simple definition}|\newline
351 % |\sym{\beta_{\mathrm{left}}}{A definition with text in the symbol name}|\newline
352 % |\sym{\gamma}{A complex definition, like a ratio of $a/b$}|
353 %
354 % For the \textsf{abstract} environment, the same title
355 % and author as given in the titlepage will be used as required by UND
356 % guidelines.
357 %
358 % A properly formatted titlepage can be produced via the
359 % |\maketitle| command with the following fields defined:
360 % \begin{description}
361 % \item [|title|] \DescribeMacro{\title} The title (should be entirely in
362 % capital letters)
363 % \item [|work|] \DescribeMacro{\work} Either \emph{Thesis} or \emph{Dissertation}.
364 % \item [|author|] \DescribeMacro{\author} Your full legal name.
365 % \item [|degprior|] \DescribeMacro{\degprior} All previously earned degrees.
366 % \item [|degaward|] \DescribeMacro{\degaward} The title of degree for which the work
367 % is written.
368 % \item [|degdate|] \DescribeMacro{\degdate} The Month and
369 % year that the degree is awarded. It defaults to the current month and year.
370 % \item [|advisor|] \DescribeMacro{\advisor} Your thesis advisor.
371 % \item [|advisorB|] \DescribeMacro{\advisorB} If you have
372 % a second advisor, enter his/her name in this field. You \emph{must}
373 % select the \textsf{twoadvisors} option.
374 % \item [|department|] \DescribeMacro{\department} The department awarding your degree.
375 % \end{description}
376 % Another extra that I have added for the \NDthesis\ class is new
377 % lengths for positioning float captions (sec.~\ref{diff}). According to
378 % the general 1998 guidelines, \textbf{table} captions are placed \emph{above}
379 % while \textbf{figure} captions go below the float.
380 % \DescribeMacro{tableskip} \DescribeMacro{figureskip} Therefore, I have
381 % provided the commands |\abovetableskip|, |\abovefigureskip|, and their
382 % |below| counterparts that are completely
383 % analogous to \LaTeX's internal |\abovecaptionskip| and
384 % |\belowcaptionskip|. The default values are listed in the
385 % table below. Of course they can be overridden by the command
386 % |\setlength{|\meta{command}|}{|\meta{length}|}|.
387 %
388 % \begin{center}
389 % \begin{tabular}{rr}
390 % \multicolumn{1}{c}{Command} & Length \\ \hline
391 % |\abovetableskip| & 0pt \\
392 % |\belowtableskip| & 20pt \\
393 % |\abovefigureskip| & 20pt \\
394 % |\belowfigureskip| & 0pt \\ \hline
395 % \end{tabular}
396 % \end{center}
397 %
398 % \subsection{Unchanged features}
399 % \label{oldfeatures}
400 % As in the \textsf{book} class, the body of the paper including appendices is
401 % the |\mainmatter|. The bibliography, index, and glossary are
402 % placed in the |\backmatter|. The bibliography
403 % can be produced either manually in the document, or
404 % processed through B\textsc{ib}\TeX. Due to the wide variety of citation
405 % styles across disciplines, I did not set up a default style.
406 % It is ensured that the individual bibliography entries are
407 % single spaced (as required by the UND guidelines), however.
408 % It is up to the author to use the appropriate
409 % |\bibliographystyle| for his/her discipline. Also due to the variations
410 % in methods and placement of citations, an entry in the table of contents
411 % is not automatically made for the bibliography. It is up to the author to
412 % place the appropriate |\addcontentsline|\footnote{See Kopka \& Daly p.\ 43;
413 % Goossens et. al p.\ 35; or Lamport (1$^{st}$ ed.) p.\ 159} command(s) in
414 % the document.
415 %
416 % \section{Example}
417 % The basic format of a dissertation using the \NDthesis\ class would
418 % then be something like the following:
419 % \begin{verbatim}
420 % \documentclass{ndthesis}
421 %
422 % \begin{document}
423 % \frontmatter
424 % \work{Dissertation}
425 % \title{FOO-BAR: AN ANALYSIS}
426 % \author{John Q. Public}
427 % \degprior{B.S.}
428 % \degaward{Doctor of Philosophy}
429 % \advisor{Mary J. Smith}
430 % \department{egg-heads}
431 % \degdate{July 1998}
432 % \maketitle
433 %
434 % \begin{abstract}
435 % blah blah blah
436 % \end{abstract}
437 % \begin{dedication}
438 % Thanks, ma.
439 % \end{dedication}
440 % \tableofcontents
441 % \listoffigures
442 % \listoftables
443 %
444 % \begin{symbols}
445 % \sym{\alpha}{The first symbol definition}
446 % \sym{\beta}{The second definition}
447 % \end{symbols}
448 %
449 % \begin{preface}
450 % yadda yadda yadda
451 % \end{preface}
452 %
453 % \mainmatter
454 % \chapter{Introduction} % Appears as "Chapter 1"
455 % All that I know.
456 %
457 % \appendix % resets counters and labels for appendices
458 % \chapter{Supplemental Information} % Appears as "Appendix A"
459 %
460 % \backmatter
461 % \bibliography{mybibdatabase}
462 % \end{document}
463 % \end{verbatim}
464 %
465 % \section{Option particulars}
466 % \subsection{Motivation for options}
467 % I wanted to keep the number of options
468 % limited as much as possible to maintain a common sense of structure so that
469 % each thesis produced under \LaTeX\ using this class would be essentially
470 % the same. However, given the power of \LaTeX, it is a shame to limit its
471 % abilities to the constraints of the by-gone days of typewriters. Thus, I
472 % have tried to allow one to create a professional-looking document similar to
473 % what would normally be produced by \LaTeX\ if his or her advisor and
474 % committee will allow it. If nothing else, they allow the creation of nice
475 % ``unofficial'' personal copies.
476 %
477 % As mentioned in section~\ref{diff} there is \emph{NO} \textsf{twoside}
478 % option. If you try to select it, it will just be ignored. I chose to do
479 % it this way to avoid further hassles regarding the ND guidelines with margin
480 % spacing etc. Perhaps if enough people were to push for it, it could be
481 % arranged over time; but for now, that's the way it is.
482 %
483 % \subsection{Options and what they do}
484 %
485 % \subsubsection{twoadvisors}
486 % If you have two advisors for your thesis project, then selecting this
487 % option will provide a titlepage properly formatted for both signatures.
488 % Place the second advisor's name in the |\advisorB| field.
489 % \subsubsection{nocenter}
490 % This simply moves the placement of the Chapter title (and word ``Chapter'')
491 % to the left side of the page---not centered. This option lends itself
492 % towards book-like readability. Though it is not standard ND guideline
493 % protocol, theses with this format have been accepted under 1996
494 % guidelines---check with your committee
495 % \bc
496 % and the Graduate School.
497 % \ec
498 %
499 % \subsubsection{mixed}
500 % By default, all labels and chapter headings (e.g.\ ``CHAPTER'',
501 % ``ACKNOWLEDGEMENTS'') are fully capitalized to conform to UND basic
502 % standards. The \textsf{mixed} option sets these names to simply
503 % capitalized (e.g.\ ``Chapter'', ``Acknowledgements''). It is
504 % automatically set by either of the \textsf{tex} options below.
505 % \bc
506 % Note that the word ``Abstract'' on the Abstract page will always be
507 % mixed case, and that the words ``Figure'' and ``Table'' in Figure
508 % and Table captions, respectively, will also always be mixed case.
509 % \ec
510 %
511 % \subsubsection{titletex}
512 % This sets the chapter and section names (``Chapter'',
513 % ``Acknowledgements'', etc.) in mixed-case, boldface type as is
514 % standard in \LaTeX.
515 %
516 % \subsubsection{fulltex}
517 % This will format the thesis as would be the \LaTeX\ default. It is
518 % essentially \textsf{titletex} + \textsf{nocenter} + \textsf{noindentfirst} + headers.
519 %
520 % \bc
521 % \subsubsection{dedicatetitle}
522 % This option will place the word ``DEDICATION'' at the top of your
523 % dedication page. By default it is left out; its use is
524 % optional.
525 %
526 % \subsubsection{noindentfirst}
527 % Use of this option will not indent the first paragraph in every
528 % chapter/section/subsection as per the default \LaTeX\ behaviour.
529 % Either style is acceptable to the Graduate School, but they prefer
530 % every paragraph be indented. \textbf{ALSO!} Be aware that this does option
531 % does \emph{not} suppress the indentation of the frontmatter environments of
532 % |preface|, |acknowledgements|, or |abstract|. You must manually add
533 % a |\noindent| command to the first paragraph of each of those bodies to
534 % maintain consistent formatting with the rest of your thesis.
535 % \ec
536 %
537 % \subsection{Standard examples}
538 % To produce a document
539 % \emph{strictly} adhering to the ND guide, simply use \\[.6ex]
540 % |\documentclass{ndthesis}|.
541 % \marginpar{\hfill strictly \textbf{ND}}\\[1ex]
542 % For a document formatted in the vein of
543 % \LaTeXe's \textsf{book} class, one should use\\[.6ex]
544 % |\documentclass[fulltex]{ndthesis}|.
545 % \marginpar{\hfill\textbf{\LaTeXe}}
546 %
547 % \subsection{More examples}
548 % Here are a few examples to illustrate the effects of the different title
549 % options. The right column represents the \textsf{nocenter} option being
550 % selected, the title style is denoted by the marginal note adjacent to the
551 % appropriate row. Note that the fonts are scaled down to accomodate the smaller
552 % space in the examples.
553 % \newline\newline\\[1.69\baselineskip]
554 % \marginpar{\hfill \emph{no options}}
555 % \begin{minipage}{\textwidth}
556 % \begin{minipage}[t]{.45\textwidth}
557 % \mdseries\begin{center}
558 % CHAPTER 1\\ INTRODUCTION \\[.75em]
559 % \end{center}
560 % Sample text to start off. This would be the first paragraph of your thesis.
561 % It would most likely be an introduction to your topic and why you think it's
562 % interesting.
563 % \end{minipage}
564 % \hfill
565 % \begin{minipage}[t]{.45\textwidth}
566 % \mdseries
567 % CHAPTER 1\\[.75ex] INTRODUCTION \\[.75em]
568 % Sample text to start off. This would be the first paragraph of your thesis.
569 % It would most likely be an introduction to your topic and why you think it's
570 % interesting.
571 % \end{minipage}
572 % \end{minipage}
573 % \newline\newline\newline\\[\baselineskip]
574 % \marginpar{\hfill \textsf{titletex}}
575 % \begin{minipage}{\textwidth}
576 % \begin{minipage}[t]{.45\textwidth}
577 % \bfseries\Large\begin{center}
578 % Chapter 1\\ Introduction \\[.75em]
579 % \end{center}
580 % \normalsize\mdseries
581 % Sample text to start off. This would be the first paragraph of your thesis.
582 % It would most likely be an introduction to your topic and why you think it's
583 % interesting.
584 % \end{minipage}
585 % \hfill
586 % \begin{minipage}[t]{.45\textwidth}
587 % \bfseries\Large
588 % Chapter 1\\[.75ex] Introduction \\[.75em]
589 % \normalsize\mdseries
590 % Sample text to start off. This would be the first paragraph of your thesis.
591 % It would most likely be an introduction to your topic and why you think it's
592 % interesting.
593 % \end{minipage}
594 % \end{minipage}
595 % \newline\normalsize
596 %
597 % \section{Caveats}
598 % \subsection{Printer Issues}
599 % \enlargethispage{-1.0\baselineskip}
600 % The margins have been set up for the University of Notre Dame's laser
601 % printers. If you are printing on your own personal printer, you may have
602 % to play with the margins slightly to account for your printer's internal
603 % margin settings. \newline
604 % \emph{Remember:}\\[.25\baselineskip]
605 % \begin{center}
606 % \fbox{\fbox{ \LaTeXe\ adds its margin settings to whatever the printer
607 % internally uses.}}\\[.25\baselineskip]
608 % \end{center}
609 % Just use a ruler to find how much
610 % |\addtolength| you need to use to get your margins properly
611 % adjusted.
612 %
613 % \subsection{Capitalization Issues}
614 % I deliberated long and hard over what to do here. I automatically select
615 % chapter headings to be ``CHAPTER'' or ``Chapter'' based on one's choice of
616 % ND vs.\ \LaTeXe\ titles. Similarly for ``ACKNOWLEDGEMENTS'' vs.\
617 % ``Acknowledgements'', etc.
618 % It would have been also possible to force the capitalization of every
619 % |\chapter| and |\section| title based on
620 % whether one chose the ND style of titling or the \LaTeXe\ way. However,
621 % this would potentially cause problems for certain sciences by causing
622 % chemical symbols such as $^{58}$Ni to come out as $^{58}$NI and mathematical
623 % formulas such as $x_n=y_i^2$ would appear as $X_N=Y_I^2$. Based on that
624 % in addition to the fact that many theses have been accepted with
625 % sentence-form section headings, I have
626 % decided to leave capitalization of chapter and section titles up to the
627 % author. But, for those who won't have ions and formulae appearing, I have
628 % provided an option, \DescribeMacro{ucchap} \textsf{ucchap}, that will make
629 % chapter titles entirely upper-case. Just remember that when it comes to
630 % ions, user-beware.
631 %
632 % However, (there \emph{always} seems to be a however, doesn't there?)
633 % I have provided further options, not mentioned earlier, for
634 % table and figure captions.
635 % \DescribeMacro{uctab} \DescribeMacro{ucfig}
636 % They make use of David Carlisle's \textsf{textcase} package which will
637 % capitalize everything \emph{except} mathematics. By specifying
638 % \textsf{uctab} or \textsf{ucfig}, table or figure captions will be placed
639 % in full caps with the exception of stuff in math mode.\footnote{Note that
640 % the UND guidelines no longer require Table captions to be in all upper
641 % case. It was ugly that way, anyway.} This also magically changes the table
642 % name (uctab) or figure name (ucfig) to all caps to match the format of the
643 % caption. See section~\ref{tabcap} for more info about table and figure
644 % names. This \emph{should}
645 % work with \textsf{textcase v0.05} or later. See the \textsf{textcase}
646 % documentation on it for more information.
647 % \bdc Again, to reiterate, using one
648 % of these options should capitalize everything except math-mode stuff in a
649 % caption; depending on how you've entered your chemical or mathematical
650 % formulae, those captions may or may not get munged. If you really
651 % need/want your captions upper-cased, try it---you've got
652 % nothing to lose. If it doesn't work you will have to manually make
653 % everything upper case. \edc
654 %
655 % \section{Tips and helpful hints (a mini-FAQ)}
656 % This section is to provide a few hopefully helpful pointers in using the
657 % \NDthesis\ class. First, be sure to check existing documentation
658 % about available packages for handling graphics or other special needs.
659 % Two great places to start are Notre Dame's local documentation and the
660 % homepage of the \TeX\ Users Group:\newline
661 % \centerline{\ttfamily http://www.nd.edu/\textasciitilde%
662 % afsunix/faq/tetexdoc/}
663 % \centerline{\ttfamily http://www.tug.org/}
664 %
665 % Beyond that, point your favorite web browswer to |www.dejanews.com| and
666 % search the archives of the
667 % |comp.text.tex| newsgroup for discussions related to your problem/question.
668 % \subsection{Graphics}
669 % Many questions about using
670 % \emph{PostScript} and \emph{Encapsulated PostScript} figures in your
671 % documents can be answered in the \textsf{grfguide.dvi} and
672 % \textsf{epslatex.ps} documents.
673 %
674 % \subsection{Tables}
675 % This is stuff you should be able to figure out from \LaTeX\ documentation,
676 % but I'm in a good mood, so here's a few helpful hints. This is by no
677 % means the end-all to this info---you should read the documentation about
678 % the \textsf{longtable,rotating} and \textsf{lscape} packages.
679 % \subsubsection{My table has many rows and is longer than one page}
680 % For handling very long tabular material, the
681 % \textsf{longtable} package (which is loaded by default in the
682 % \NDthesis\ class) was made-to-order.\newline
683 % \begin{minipage}[htbp]{\textwidth}
684 % \begin{minipage}[t]{.4\textwidth}
685 % \textbf{Instead of}
686 % \begin{verbatim}
687 % \begin{table}
688 % \begin{tabular}{rllc}
689 % \end{tabular}
690 % \end{table}
691 % \end{verbatim}
692 % \end{minipage}
693 % \hfill
694 % \begin{minipage}[t]{.4\textwidth}
695 % \textbf{Use:}
696 % \begin{verbatim}
697 % \begin{longtable}{rllc}
698 % \end{longtable}
699 % \end{verbatim}
700 % \end{minipage}
701 % \end{minipage}
702 %
703 % \subsubsection{My table has many columns and is very wide}
704 % The \textsf{rotating} package provides an environment called
705 % |sidewaystable| that places your data (you guessed it) sideways on a page
706 % of its own. Use it just like the normal |table| environment. A sideways
707 % table with full-sized text is ALWAYS preferable to an upright table with
708 % itty-bitty text.
709 %
710 % \subsubsection{Both of the above apply}
711 % Alas, there is no ``sidewayslongtable'' environment. However, the
712 % \textsf{lscape} package was developed to allow the longtable to work
713 % sideways. After including the \textsf{lscape} package (via |\usepackage|)
714 % you can produce a sideways, multi-page table via:
715 % \begin{verbatim}
716 % \begin{landscape}
717 % \begin{longtable}{lll}
718 % \end{longtable}
719 % \end{landscape}
720 % \end{verbatim}
721 %
722 % \bdc
723 % \subsubsection{\label{tabcap}My table caption is entirely uppercase,
724 % but the word ``Table'' remains in mixed-case.}
725 % Use the \textsf{uctab} option (e.g. |\documentclass[uctab]{ndthesis}|).
726 % However, if this creates problems for your
727 % captions due to formulae or ion names, you can use the command
728 % |\renewcommand{\tablename}{TABLE}| to set the label appropriately.
729 % Note that you can only change the \emph{name}, not the punctuation.
730 % The punctuation is
731 % a fixed entity. Beginning on page~\pageref{envnames} is a list of
732 % defined environment names.
733 %
734 % \subsubsection{My reader told me to make my table captions only as wide as
735 % my table instead of as wide as the page.}
736 % This is a matter of taste. There are two ways to control the width of
737 % your caption.
738 % \begin{itemize}
739 % \item Place your caption and tabular material inside a \textsf{minipage}
740 % environment to limit the absolute width.
741 % \item Use the standard \textsf{caption2} package with its
742 % \textsf{centerlast} option. You must also issue the command,
743 % |\captionlabeldelim{.}| to set proper label punctuation as this package
744 % will override the settings in the \NDthesis\ class. Then for each table
745 % (or figure) you can
746 % use the command |\captionwidth{|\meta{wd}|}| to specify the width.
747 % \end{itemize}
748 %
749 % \subsection{Section Heading Fonts}
750 % You may wonder and marvel at the fact that when your document is typeset
751 % under the \NDthesis\ class, section and subsection headings are no
752 % longer in the nice bold and different-sized fonts that you've become
753 % accustomed to with \LaTeX\@. THIS IS NOT A BUG!!! Read the Style Guide.
754 % You will find that a properly formatted thesis will not use multiple font
755 % sizes. This is \emph{by design} and fully intentional. If you want to
756 % see the nice traditional formatting, invoke \NDthesis\ with the
757 % \textsf{titletex} or \textsf{fulltex} option (Sec.~\ref{invoke}).
758 %
759 % \subsection{Bibliographies}%
760 % \textbf{Read a \LaTeX\ manual about bibliographies.
761 % Now Reread \ref{oldfeatures} of this document.}\\
762 % Keep in mind that the
763 % |\addcontentsline| command will place its contents in the TOC at the place
764 % you use it in your document, so place it \emph{JUST BEFORE} your actual
765 % bibliography will appear.
766 % \edc
767 %
768 % The title of the bibliography/reference section is contained in the macro
769 % \textsf{bibname} and defaults to ``BIBLIOGRAPHY''. If your discipline
770 % requires something different, you can redefine it. For example:
771 % |\renewcommand{\bibname}{REFERENCES --- CHAPTER \thechapter}|
772 % would be appropriate for those disciplens requiring a list of references
773 % after each chapter. In that case one would also need to use the
774 % \textsf{chapterbib} package. (See that documentation).
775 %
776 % \begin{center}
777 % \framebox{\framebox{\textbf{See section \ref{oldfeatures} for generating an
778 % entry in the Table of Contents}}}
779 % \end{center}
780 %
781 % \subsubsection{My bibliography entries are double-spaced, but my friend
782 % Joe's is just fine.}
783 % You are likely using a special bibliography package that has it's own idea
784 % of how to format the bibliography. If you are using the \textsf{natbib}
785 % package, there is an easy fix. Add the command
786 % |\newcommand{\bibfont}{\dosingle}|
787 % to your document. If you are using something else, you can either
788 % \begin{enumerate}
789 % \item Look at the package and redefine the \textsf{thebibliography}
790 % environment appropriately in your document.
791 % \item After generating the double-spaced bibliography, edit the .bbl
792 % file, adding the command |\dosingle| immediately after the
793 % |\begin{thebibliography}| line, and rerun \LaTeX.
794 % \end{enumerate}
795 %
796 % \subsection{Widows and Orphans}
797 % \LaTeX\ generally does a good job of preventing widows and orphans, but
798 % occasionally it will decide that preventing one of these is typographically
799 % worse than the dangling line. In that case, there are a couple of ways to
800 % procede:
801 % \begin{enumerate}
802 % \item Adjust the length of the previous/current paragraph.
803 % \item Increase the penalty for creating a dangler
804 % \end{enumerate}
805 % The first is accomplished by means of the |\looseness=|$n$ command where
806 % $n$ is how much to stretch the paragraph. If the ``best'' formatting of
807 % the paragraph has $m$ lines, then placing |\looseness=|$n$ will cause
808 % \LaTeX\ to find the best way to format it with $m+n$ lines. (Yes, $n$ can
809 % be~negative.) This method is the preferred way. The |\looseness| command
810 % only applies to the paragraph in which it occurs, so can be used on an
811 % as-needed basis.
812 %
813 % The second method of penalties applies to the document as a whole. Generally
814 % increasing the default penalties by a factor of 4--5 is sufficient;
815 % setting any penalty greater than 1000 should only be considered after much
816 % careful deliberation. A value of 10000 will make it impossible for widows
817 % and orphans to occur. These large values must only be given ``in
818 % desperation'' for the following reasons: First, they may
819 % cause gross pagebreaks and paragraphs elsewhere. Secondly, in order to
820 % accomodate your wishes to not leave a widow or orphan, \TeX\ may decide
821 % that it must push words or lines beyond the acceptable margins as a few of
822 % these ``minor'' disturbances are insignificant compared to the major
823 % ``badness'' of a dangling line. Thirdly, these penalties can only be
824 % applied to the document as a whole and \emph{must} occur before the
825 % |\begin{document}| command. There are certainly other reasons to think
826 % carefully about changing the widow and club penalties, but these are the
827 % major ones. I have had generally decent luck with values around 500, but
828 % your milage may vary. In short, the |\looseness| command is much more
829 % flexible and local and less likely to cause other headaches.
830 % The default penalty
831 % values are listed below. For more information, consult Knuth's \TeX\ Book
832 % pages 272,348.
833 % \begin{center}
834 % \begin{tabular}{lrl}
835 % |\clubpenalty| & 150 & penalty for creating orphan at bottom of page \\
836 % |\widowpenalty| & 150 & penalty for creating widow at top of page \\
837 % |\displaywidowpenalty| & 50 & ditto, but before displayed equation \\
838 % |\brokenpenalty| & 100 & penalty for making a pagebreak after a hyphenated
839 % line \\
840 % \end{tabular}
841 % \end{center}
842 %
843 % \subsection{The \textsf{\textbackslash sym} command}
844 % The |\sym| command is not unique to the
845 % \textsf{symbols} environment. It can be used inside any two-column
846 % tabular environment, for example in defining a list of variables used in a
847 % complex mathematical formula. For example:\newline
848 % \begin{verbatim}
849 % \begin{equation}
850 % (long and complex stuff with many variables)
851 % \end{equation}
852 % where: \begin{tabular}[t][r@{ is }l]
853 % \sym{a}{definition of a}
854 % \sym{b}{definition of b}
855 % (and on-and-on)
856 % \end{tabular}
857 % \end{verbatim}
858 %
859 % \section{Acknowledgements}
860 % First I thank those students who were guinea pigs for the first versions
861 % of this class in helping me realize problems and suggesting features to
862 % include---you know who you are!
863 % I would like to thank Jeff Squyres, Melissa Pluta, Debbie Justice,
864 % and Diane Wilson for helpful feedback for the final revisions. Thanks
865 % to Sean Borman for suggesting and providing code for the
866 % \textsf{symbols} environment. Many thanks also go to Donald Arsenau of
867 % TRIUMF in aiding me with some of the \TeX\ code in the revised figure and
868 % table environments, and to David Carlisle for
869 % modifying his \textsf{textcase} package to work with |\cite|s and |\ref|s in
870 % its argument. Finally, I'd like to thank Johanes Suhardjo and Dale
871 % Southard in functioning as a liason between myself, OIT, and the
872 % Graduate School in getting this class available to the entire Notre
873 % Dame campus.
874 %
875 % \section{The Code}
876 % \label{code}
877 % For those hackers interested, here is some description of how I modified
878 % the \textsf{book} class into the \NDthesis\ class.
879 % \iffalse
880 %<*class>
881 % \fi
882 % First we need to establish ground rules for its use and label itself.
883 % These declarations are actually handled magically behind the scenes by the
884 % \textsf{docstrip} driver, so they are commented out here. They will
885 % appear in the class file uncommented and with the correct date and version
886 % substituted.
887 % \begin{macrocode}
888 %\NeedsTeXFormat{LaTeX2e}
889 %\ProvidesClass{ndthesis}[\filedate\space\fileversion\space
890 % Official Notre Dame thesis document class]
891 \RequirePackage{ifthen,exscale,textcase}
892 % \end{macrocode}
893 % Then we set up new boolean flags for options and initialize them.
894 % \begin{macrocode}
895 \newif\if@NDTsummary \@NDTsummarytrue
896 \newif\if@NDTcenter \@NDTcentertrue
897 \newif\if@NDTheaders \@NDTheadersfalse
898 \newif\if@NDTtex \@NDTtexfalse
899 \newif\if@NDTmixed \@NDTmixedfalse
900 \newif\if@NDTadvisorB \@NDTadvisorBfalse
901 \newif\if@NDTdedicateTitle \@NDTdedicateTitlefalse
902 \newif\if@NDTcapchap \@NDTcapchapfalse
903 \newif\if@NDTded \@NDTdedfalse
904 \newif\if@NDTuct \@NDTuctfalse
905 \newif\if@NDTucf \@NDTucffalse
906 \newif\if@NDTindent \@NDTindenttrue
907 % \end{macrocode}
908 % Now tell LaTeX what options are allowed and what they do. Also send a
909 % message to the screen at compile-time letting the user know which options
910 % were chosen.
911 % \begin{macrocode}
912 \DeclareOption{nosummary}{\typeout{OMITTING SUMMARY PAGE}%
913 \typeout{}\@NDTsummaryfalse}
914 \DeclareOption{nocenter}{\typeout{CHAPTER TITLES *NOT* CENTERED}%
915 \typeout{}\@NDTcenterfalse}
916 \DeclareOption{mixed}{\typeout{MIXED-CASE LABELS}\typeout{} \@NDTmixedtrue}
917 \DeclareOption{titletex}{\typeout{BASIC (La)TeX CHAPTER FORMATTING CHOSEN}%
918 \typeout{}\@NDTtextrue \@NDTmixedtrue}
919 \DeclareOption{fulltex}{\typeout{*COMPLETE* (La)TeX FORMATTING CHOSEN}%
920 \typeout{}\@NDTcenterfalse \@NDTindentfalse \@NDTheaderstrue \@NDTtextrue \@NDTmixedtrue}
921 \DeclareOption{twoside}{\OptionNotUsed\typeout{TWO-SIDED PRINTING IS NOT AN
922 OPTION FOR ND THESES: USING ONESIDE OPTION}\typeout{}}
923 \DeclareOption{twoadvisors}{\@NDTadvisorBtrue}
924 \DeclareOption{dedicatetitle}{\@NDTdedicateTitletrue}
925 \DeclareOption{noindentfirst}{\typeout{NOT INDENTING first paragraph of each
926 section}\@NDTindentfalse}
927 % \end{macrocode}
928 % \begin{macro}{uctab}
929 % \begin{macro}{ucfig}
930 % Now for the final special options of |uctab| and |ucfig| we define new
931 % captioning commands for the tables and figures if they're to be set in
932 % upper-case. Many Thanks to Donald Arsenau for helping me with this part.
933 % I use |\MakeTextUppercase| from David Carlisle's \textsf{textcase} package
934 % rather than the standard |\MakeUppercase| macro to allow math to be set
935 % properly.
936 % \begin{macrocode}
937 \long\def\MaketableCaptionUC#1{#1}
938 \let\MakefigureCaptionUC\MaketableCaptionUC
939 \DeclareOption{uctab}{\typeout{TABLE CAPTIONS will be forced into upper
940 case. This may affect math formulae in the caption!}%
941 \let\MaketableCaptionUC\MakeTextUppercase\@NDTucttrue}
942 \DeclareOption{ucfig}{\typeout{FIGURE CAPTIONS will be forced into upper
943 case. This may affect math formulae in the caption!}%
944 \let\MakefigureCaptionUC\MakeTextUppercase\@NDTucftrue}
945 \DeclareOption{ucchap}{\typeout{CHAPTER TITLES will be forced into upper
946 case. This may affect math formulae in the title!}%
947 \@NDTcapchaptrue}
948 % \end{macrocode}
949 % Finally, before sending any non-\NDthesis\ options to the book class,
950 % we need to intercept the standard \textsf{openbib} option to make it
951 % typset the entries single-spaced rather than double-spaced. We fix the
952 % default bibliography spacing at the bottom of this class.
953 % \begin{macrocode}
954 \DeclareOption{openbib}{%
955 \AtEndOfPackage{%
956 \renewcommand\@openbib@code{%
957 \dosingle\advance\leftmargin\bibindent
958 \itemindent -\bibindent
959 \listparindent \itemindent
960 }%
961 \renewcommand\newblock{\newline}}%
962 }
963 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
964 % \end{macrocode}
965 % \end{macro}
966 % \end{macro}
967 % Process the selected options and load in the base book class. Then
968 % require the longtable package for the list of symbols environment and
969 % check to see how we handle indentation of the first paragraph in a section.
970 % \begin{macrocode}
971 \ProcessOptions
972 \LoadClass[12pt,oneside]{book}
973 \RequirePackage{longtable}
974 \if@NDTindent\RequirePackage{indentfirst}\else\relax\fi
975 % \end{macrocode}
976 % Set the spacing here for use elsewhere in the file; set it once,
977 % use it many places.
978 % \begin{macrocode}
979 \def\singlebaselinestretch{1.1}
980 \def\realbaselinestretch{1.69}
981 \newlength{\singleskip}
982 \setlength{\singleskip}{\singlebaselinestretch em}
983 \newlength{\doubleskip}
984 \setlength{\doubleskip}{\realbaselinestretch em}
985 \def\dosingle{\setlength{\baselineskip}{1.0\singleskip}}
986 \def\dodouble{\setlength{\baselineskip}{1.0\doubleskip}}
987 % \end{macrocode}
988 % \begin{macro}{\@dottedtocline}
989 % Redefine the |\@dottedtocline| macro from the {\tt latex.ltx} file
990 % so that we get single spacing in the individual entries within the table
991 % of contents, list of tables, and list of figures, but still preserve
992 % double spacing between the entries.
993 % \begin{macrocode}
994 \def\@dottedtocline#1#2#3#4#5{%
995 \ifnum #1>\c@tocdepth \else
996 \vskip \z@ \@plus.2\p@
997 {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
998 \parindent #2\relax\@afterindenttrue
999 \interlinepenalty\@M
1000 \leavevmode
1001 \@tempdima #3\relax
1002 \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
1003 \dosingle{#4}\nobreak
1004 \leaders\hbox{$\m@th
1005 \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
1006 mu$}\hfill
1007 \nobreak
1008 \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
1009 \par}%
1010 \fi}
1011 % \end{macrocode}
1012 % \end{macro}
1013 % \begin{macro}{\l@chapter}
1014 % Redefine the part that sets the chapter title in the table of
1015 % contents-like files ({\tt .toc, .lot, .lof}) by adding a
1016 % |\@dottedtocline|. We set the indent width to equal to 1.5em---lining
1017 % up a continued line with the section number below it. Also leave
1018 % slightly less space between each chapter and the last section than the
1019 % \LaTeX\ default.
1020 % \begin{macrocode}
1021 \renewcommand*{\l@chapter}[2]{%
1022 \addpenalty{-\@highpenalty}%
1023 \setlength\@tempdima{1.5em}%
1024 \begingroup \leavevmode
1025 \@dottedtocline{1}{0pt}{\@tempdima}{%
1026 \if@NDTtex\bfseries\else\relax\fi%
1027 \if@NDTcapchap\MakeTextUppercase{#1}\else #1\fi}{%
1028 \if@NDTtex\bfseries\else\relax\fi%
1029 #2}
1030 \par
1031 \penalty\@highpenalty
1032 \endgroup
1033 }
1034 % \end{macrocode}
1035 % \end{macro}
1036 % \begin{macro}{\@chapter}
1037 % Set chapter definition to put the word ``Chapter'' in the Table of Contents.
1038 % That is, now the TOC will contain \newline
1039 % \textbf{``Chapter 1: Name of first chapter''} rather than \newline
1040 % \textbf{``1: Name of first chapter''} \newline
1041 % The format is basically the same
1042 % as in \textsf{book.cls} but with the |twocolumn| stuff removed since it is
1043 % unneeded in a thesis format.
1044 % \begin{macrocode}
1045 \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
1046 \if@mainmatter
1047 \refstepcounter{chapter}%
1048 \typeout{\@chapapp\space\thechapter.}%
1049 {\addcontentsline{toc}{chapter}%
1050 {\@chapapp\ \thechapter:\ #1}}
1051 \else
1052 \addcontentsline{toc}{chapter}{#1}%
1053 \fi
1054 \else
1055 \addcontentsline{toc}{chapter}{#1}%
1056 \fi
1057 \chaptermark{#1}%
1058 \addtocontents{lof}{\protect\addvspace{10\p@}}%
1059 \addtocontents{lot}{\protect\addvspace{10\p@}}%
1060 \@makechapterhead{#2}%
1061 \@afterheading}
1062 % \end{macrocode}
1063 % \end{macro}
1064 % Now format section headings based on whether one of the \textsf{tex}
1065 % options has been selected. First I address ``Chapter''s and center them
1066 % as requested by the ND Thesis style. Note that chapter headings
1067 % should be normal (single) spaced.
1068 % \begin{macrocode}
1069 \def\@makechapterhead#1{%
1070 \renewcommand{\baselinestretch}{1.0}
1071 \vspace*{.625in}%
1072 {\parindent \z@ \raggedright \normalfont
1073 \ifnum \c@secnumdepth >\m@ne
1074 % \end{macrocode}
1075 % If in main body of text, check for the actual format requested by the
1076 % class options. Make chapter titles be normal size if formatting in
1077 % true ND style.
1078 % \begin{macrocode}
1079 \if@mainmatter
1080 \if@NDTtex\LARGE\bfseries\else\mdseries\fi%
1081 \if@NDTcenter\center\else\relax\fi \@chapapp{} \thechapter%
1082 % \end{macrocode}
1083 % Continue with unmolested code \ldots
1084 % \begin{macrocode}
1085 \par\nobreak
1086 \vskip 20\p@
1087 \fi
1088 \fi
1089 \interlinepenalty\@M
1090 % \end{macrocode}
1091 % Again check for selected format and make chapter title be normal size if
1092 % being true to Notre Dame.
1093 % \begin{macrocode}
1094 \if@NDTtex\LARGE\bfseries\else\mdseries\fi%
1095 \if@NDTcenter\center\else\relax\fi%
1096 \if@NDTcapchap\MakeTextUppercase{#1}\else #1\fi%
1097 \par\nobreak
1098 \vskip 40\p@
1099 % \end{macrocode}
1100 % Now that we have printed the title, we must go back to the ugly
1101 % double-spaced format required by the guidelines.
1102 % \begin{macrocode}
1103 \renewcommand{\baselinestretch}{\realbaselinestretch}
1104 }}
1105 % \end{macrocode}
1106 % Same checks as before, but for the |\@makeschapterhead| macro.
1107 % Contents, LOF, LOT titles are now normal size under ND true formatting.
1108 % \begin{macrocode}
1109 \def\@makeschapterhead#1{%
1110 \renewcommand{\baselinestretch}{1.0}
1111 \vspace*{.625in}%
1112 {\parindent \z@ \raggedright
1113 \normalfont
1114 \interlinepenalty\@M
1115 \if@NDTtex\LARGE\bfseries\else\mdseries\fi%
1116 \if@NDTcenter\center\else\relax\fi #1\par\nobreak
1117 \vskip 40\p@
1118 \renewcommand{\baselinestretch}{\realbaselinestretch}
1119 }}
1120 % \end{macrocode}
1121 % \begin{macro}{Sectioning}
1122 % Now we set section titles to mdseries (rather than bfseries)
1123 % unless the one of the \textsf{tex}
1124 % options is selected. We also keep the size of the title, subtitle, etc.\
1125 % |\normalsize| unless one of the \textsf{tex} options is active.
1126 % \begin{macrocode}
1127 \renewcommand\section{\@startsection {section}{1}{\z@}%
1128 {-4.2ex \@plus -1ex \@minus -.2ex}%
1129 {1.8ex \@plus.2ex}%
1130 {\normalfont%
1131 \if@NDTtex
1132 \Large\bfseries\else\mdseries\fi}}
1133 \renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
1134 {-3.9ex\@plus -1ex \@minus -.2ex}%
1135 {1.2ex \@plus .2ex}%
1136 {\normalfont%
1137 \if@NDTtex
1138 \large\bfseries\else\mdseries\fi}}
1139 \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
1140 {-3.9ex\@plus -1ex \@minus -.2ex}%
1141 {1.2ex \@plus .2ex}%
1142 {\normalfont\normalsize%
1143 \if@NDTtex
1144 \bfseries\else\mdseries\fi}}
1145 \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
1146 {3.9ex \@plus1ex \@minus.2ex}%
1147 {-1em}%
1148 {\normalfont\normalsize%
1149 \if@NDTtex\bfseries\else\mdseries\fi}}
1150 \renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
1151 {3.9ex \@plus1ex \@minus .2ex}%
1152 {-1em}%
1153 {\normalfont\normalsize%
1154 \if@NDTtex\bfseries\else\mdseries\fi}}
1155 % \end{macrocode}
1156 % \end{macro}
1157 % \begin{macro}{\listoffigures}
1158 % \begin{macro}{\listoftables}
1159 % Next we redefine |\listoffigures| and |\listoftables| so they automatically
1160 % appear in the TOC by adding a |\addcontentsline| command.
1161 % \begin{macrocode}
1162 \renewcommand\listoffigures{%
1163 \if@twocolumn
1164 \@restonecoltrue\onecolumn
1165 \else
1166 \@restonecolfalse
1167 \fi
1168 \chapter*{\listfigurename
1169 \@mkboth{\MakeUppercase\listfigurename}%
1170 {\MakeUppercase\listfigurename}}%
1171 \addcontentsline{toc}{chapter}{\listfigurename}%
1172 \@starttoc{lof}%
1173 \if@restonecol\twocolumn\fi
1174 }
1175 \renewcommand\listoftables{%
1176 \if@twocolumn
1177 \@restonecoltrue\onecolumn
1178 \else
1179 \@restonecolfalse
1180 \fi
1181 \chapter*{\listtablename
1182 \@mkboth{%
1183 \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}%
1184 \addcontentsline{toc}{chapter}{\listtablename}%
1185 \@starttoc{lot}%
1186 \if@restonecol\twocolumn\fi
1187 }
1188 % \end{macrocode}
1189 % \end{macro}
1190 % \end{macro}
1191 % \begin{macro}{\titlepage}
1192 % Here is where we define and initialize the new macros for holding
1193 % titlepage info.
1194 % \begin{macrocode}
1195 \newcommand{\work}[1]{\def\@work{#1}} %Thesis or Dissertation
1196 \work{}
1197 \newcommand{\degaward}[1]{\def\@degaward{#1}} %M.S. Ph.D. M.B.A. what?
1198 \degaward{}
1199 \newcommand{\degprior}[1]{\def\@degprior{#1}} %M.S. Ph.D. M.B.A. what?
1200 \degprior{}
1201 \newcommand{\degdate}[1]{\def\@degdate{#1}} %Default to current month year
1202 \degdate{\ifcase\month\or
1203 January\or February\or March\or April\or May\or June\or
1204 July\or August\or September\or October\or November\or December\fi
1205 \space\number\year}
1206 \newcommand{\advisor}[1]{\def\@advisor{#1}}%The signature you need
1207 \advisor{}
1208 \newcommand{\advisorB}[1]{\def\@advisorB{#1}}%The other signature you need
1209 \advisorB{}
1210 \newcommand{\department}[1]{\def\@department{#1}} %Thesis or Dissertation
1211 \department{}
1212 % \end{macrocode}
1213 % \end{macro}
1214 % \begin{macro}{\summarypage}
1215 % We will produce a summary page with all kinds of good info for the end
1216 % user and proofreader including what version of this class was used and
1217 % many bits about where to find good/recent documentation. Of course, we
1218 % allow this information to be suppressed by using the |nosummary| option.
1219 % We begin by defining a spiffy new logo.
1220 % \begin{macrocode}
1221 \def\NDthesis{\mbox{N\kern-.18em\lower.35ex\hbox{\scshape d}%
1222 \kern-.55exT\kern-.3em\lower.35ex\hbox{h}\kern-.0833emesiS}}
1223 % \end{macrocode}
1224 % We continue by presenting the pertinent information about this document,
1225 % such as author/title/date and what version of \NDthesis\ was used.
1226 % \begin{macrocode}
1227 \newcommand{\summarypage}{\thispagestyle{empty}
1228 \begin{center}
1229 \large Typeset with \NDthesis\ version \ndfileversion\ (\ndfiledate)\\[-.25\baselineskip]
1230 on \today\normalsize\\[-.25\baselineskip]
1231 for\\[-.25\baselineskip]
1232 \@author\\[-.25\baselineskip]
1233 entitled\\[.25\baselineskip]
1234 \@title
1235 \end{center}
1236 % \end{macrocode}
1237 % Now a standard disclaimer and how to disable this summary.
1238 % \begin{macrocode}
1239
1240 \noindent\dosingle This class conforms to the University of Notre Dame style
1241 guidelines established Fall 2000. However it is still
1242 possible to generate a non-conformant document if the published
1243 instructions are not followed! Be sure to refer to the published Graduate
1244 School guidelines as well.\\[\singleskip]
1245
1246 \noindent\dosingle\itshape This summary page can be disabled by specifying
1247 the \sffamily nosummary \rmfamily option to the class invocation.\upshape
1248 (i.e., \textbackslash documentclass[nosummary]\{ndthesis\})\\[\singleskip]
1249
1250 \begin{center}
1251 \bfseries\large\dosingle THIS PAGE IS \slshape NOT
1252 \upshape PART OF THE THESIS, BUT SHOULD BE TURNED IN TO THE
1253 PROOFREADER!
1254 \end{center}
1255 % \end{macrocode}
1256 % Now we tell the user where to find documentation about this class.
1257 % \begin{macrocode}
1258 \normalsize
1259 \NDthesis\ documentation can be found at these locations:
1260 \begin{center}\dosingle
1261 {\ttfamily http://www.nd.edu/\textasciitilde
1262 afsunix/faq/tetexdoc/latex/ndthesis/}\\
1263 {\ttfamily http://www.gsu.nd.edu/Committees/ITC/ndthesis.pdf}\\
1264 {\ttfamily http://www.gsu.nd.edu/Committees/ITC/sample\symbol{95}ndthesis.tar.gz}\\
1265 \end{center}
1266 % \end{macrocode}
1267 % Finally, a short list of useful documentation sites that should serve as a
1268 % primer for the FAQ and help readers avoid the same old questions. We need
1269 % to make this in a slightly smaller typeface to fit on one page.
1270 % \begin{macrocode}
1271
1272 \small
1273 General \LaTeX\ documentation and info:\\
1274 \begin{minipage}[t]{.45\textwidth}
1275 \raggedleft\dosingle
1276 \bfseries On-line docs:\mdseries \\
1277 ND installation \\
1278 \TeX\ User's Group \\[\doubleskip]
1279 \bfseries Books:\mdseries \\
1280 \emph{A Guide\ldots for Beg.\ \& Adv.\ Users}\\
1281 \emph{\LaTeX\ User's Guide \ldots} \\
1282 \emph{The \LaTeX\ Companion} \\[\doubleskip]
1283 \bfseries Packages: \mdseries (check on-line docs)\\
1284 rotating \\
1285 longtable \\
1286 graphicx
1287 \end{minipage}
1288 \hfill
1289 \begin{minipage}[t]{.5\textwidth}
1290 \raggedright\dosingle
1291 {}\ \\
1292 {\ttfamily http://www.nd.edu/\textasciitilde
1293 afsunix/faq/tetexdoc/}\\
1294 {\ttfamily http://www.tug.org/}\\[\doubleskip]
1295 {}\ \\
1296 by Kopka/Daly \\
1297 by Lamport\\
1298 by Goossens/Mittelbach/Samarin\\[\doubleskip]
1299 {}\ \\
1300 sideways tables and figures \\
1301 multi-page tables \\
1302 using Postscript and other figures
1303 \end{minipage}
1304 % \end{macrocode}
1305 % At long last we must reset the typeface to the normal default size and
1306 % print this page.
1307 % \begin{macrocode}
1308
1309 \normalsize\eject}
1310 % \end{macrocode}
1311 % \end{macro}
1312 % Now actually format the titlepage. First we check to see if the proper
1313 % macros have been defined to correctly format the titlepage, issuing errors
1314 % if not.
1315 % \begin{macrocode}
1316 \renewcommand{\maketitle}{\if@NDTsummary\summarypage\else\relax\fi%
1317 \begin{titlepage}%
1318 \ifthenelse{\equal{\@work}{}}{\ClassError{ndthesis}%
1319 {The \protect\work\space macro is undefined.\MessageBreak
1320 The title page may be incorrectly formatted.}%
1321 {Specify \protect\work\space as Dissertation or Thesis}}{\relax}
1322 \ifthenelse{\equal{\@degaward}{}}{\ClassError{ndthesis}%
1323 {The \protect\degaward\space macro is undefined.\MessageBreak
1324 The title page may be incorrectly formatted.}%
1325 {\protect\degaward\space defines the awarded degree (Ph.D., M.S., etc.)}}%
1326 {\relax}
1327 \ifthenelse{\equal{\@advisor}{}}{\ClassError{ndthesis}%
1328 {The \protect\advisor\space macro is undefined.\MessageBreak
1329 The title page may be incorrectly formatted.}%
1330 {\protect\advisor\space is who signs your walking papers!}}{\relax}
1331 \ifthenelse{\equal{\@department}{}}{\ClassError{ndthesis}%
1332 {The \protect\department\space macro is undefined.\MessageBreak
1333 The title page may be incorrectly formatted.}%
1334 {What \protect\department\space is awarding your degree?}}{\relax}
1335 \if@NDTadvisorB \ifthenelse{\equal{\@advisorB}{}}{%
1336 \ClassError{ndthesis}{The \protect\advisorB\space macro is undefined.
1337 \MessageBreak The title page may be incorrectly formatted.}%
1338 {Use \protect\advisorB{mysecondboss}.}}{\relax}
1339 \fi
1340 % \end{macrocode}
1341 % Now we set up some skip registers to
1342 % hold the inter-data spacing. The initial values will vertically center
1343 % the title page provided the title is only one line long. We'll account for
1344 % the longer ones in a bit \ldots
1345 % \begin{macrocode}
1346 \skip1=1.2\doubleskip
1347 \skip2=1.7\doubleskip
1348 \skip3=2.7\doubleskip
1349 \skip4=1em
1350 % \end{macrocode}
1351 % If the author has two advisors, we need to do a little tweaking.
1352 % \begin{macrocode}
1353 \if@NDTadvisorB \skip1=1.0\doubleskip \skip4=1.5em \else\relax\fi
1354 % \end{macrocode}
1355 % For positioning the title, we first stuff it in a box and find out how
1356 % many lines it will occupy. In order to maintain the $1''$ top margin
1357 % required by Notre Dame, we must not move our defaults up by more than
1358 % one-half of a |\doubleskip|. (Actually, there's a bit more room than
1359 % that, but we reserve that space in the case of multiple advisors.) As it
1360 % turns out, if the title is just two lines long, then just moving the top
1361 % of the text by |.5\doubleskip| will cause it to remain centered. For
1362 % longer titles, the extra lines have to be taken out of the inter-section
1363 % spacing (skip register 1).
1364 % \begin{macrocode}
1365 \setbox0=\hbox{\@title}
1366 \ifdim \wd0 > 3\hsize
1367 \advance\skip4 .5\doubleskip
1368 \advance\skip1 -.33\doubleskip
1369 \else
1370 \ifdim \wd0 > 2\hsize
1371 \advance\skip4 .5\doubleskip
1372 \advance\skip1 -.167\doubleskip
1373 \else
1374 \ifdim \wd0 > \hsize
1375 \advance\skip4 .5\doubleskip
1376 \fi
1377 \fi
1378 \fi
1379 % \end{macrocode}
1380 % Our default assumes a two-line \textsf{degree} field such as
1381 % \begin{center} Doctor of Philosophy \\ in Somekindof Physics \\ \end{center}
1382 % but we check to see if it is simply one
1383 % line long. If so, we need to add-back that extra line to the spacing.
1384 % \begin{macrocode}
1385 \setbox1=\vbox{\@degaward}
1386 \ifdim \ht1 > \doubleskip\relax
1387 \else \advance\skip1 .167\doubleskip \fi
1388 % \end{macrocode}
1389 % Finally we start putting the text in place \ldots centered, of course.
1390 % \begin{macrocode}
1391 \null\vspace*{-\skip4}
1392 \begin{center}%
1393 \@title \par%
1394 \vskip\skip1%
1395 A \@work \par%
1396 % \end{macrocode}
1397 % Now skip the required vertical space, declare that this is for the
1398 % University of Notre Dame, and list what degree has been earned.
1399 % \begin{macrocode}
1400 \vskip\skip1%
1401 Submitted to the Graduate School \\
1402 of the University of Notre Dame \\
1403 in Partial Fulfillment of the Requirements \\
1404 for the Degree of \par
1405 \vskip\skip1%
1406 \@degaward \vskip\skip1 by \vskip\skip1%
1407 {\normalsize
1408 %% \lineskip .75em%
1409 % \end{macrocode}
1410 % Now format the author's name and credentials.
1411 % \begin{macrocode}
1412 \begin{tabular}[t]{c@{}l}%
1413 \@author, &\ \@degprior
1414 \end{tabular}\par}%
1415 % \end{macrocode}
1416 % Now skip the proper space and place the signature line for the advisor
1417 % with his/her name typeset below it. This is accomplished by essentially
1418 % centering a box that is twice as long as the required length of the
1419 % signature line and placing the line in only the right-hand side.
1420 % \begin{macrocode}
1421 \if@NDTadvisorB\vskip\skip2\else \vskip\skip3\fi%
1422 \hspace*{2.75in}\underline{\hspace{2.75in}}\\%
1423 \hspace*{2.75in}\@advisor, Director\\
1424 % \end{macrocode}
1425 % If there is a second advisor, place that line here now.
1426 % \begin{macrocode}
1427 \if@NDTadvisorB %
1428 \vskip\doubleskip%
1429 \hspace*{2.75in}\underline{\hspace{2.75in}}\\%
1430 \hspace*{2.75in}\@advisorB, Director\\
1431 \fi
1432 % \end{macrocode}
1433 % Finally, do a vertical fill to get the dpeartment and date to the page
1434 % bottom.
1435 % \begin{macrocode}
1436 \vskip 3em%
1437 Department of \@department \\%
1438 Notre Dame, Indiana \\
1439 \@degdate
1440 \end{center}\par
1441 \end{titlepage}%
1442 }
1443 % \end{macrocode}
1444 % The following bit of code defines the |\copypage| command to produce a
1445 % copyright page if wanted.
1446 % \begin{macrocode}
1447 \newcommand{\copypage}[1][\number\year]{%
1448 \thispagestyle{empty}
1449 \vspace*{3in}
1450 \begin{center}
1451 \copyright Copyright by \\
1452 \@author \\
1453 #1 \\
1454 All Rights Reserved
1455 \end{center}
1456 \newpage}
1457 % \end{macrocode}
1458 % Theses need abstracts; however \LaTeXe 's \textsf{book} class doesn't have
1459 % an abstract environment. I borrowed from the report class with a
1460 % couple of minor revisions which I'll discuss below.
1461 % \begin{macrocode}
1462 \newenvironment{abstract}{%
1463 \renewcommand{\@oddfoot}{\@empty}
1464 % \end{macrocode}
1465 % If the abstract extends to a second page,
1466 % place the author's name in top right corner of the 2$^{nd}$ page. Make
1467 % sure it's upright, as required by the University. Also, this should appear
1468 % at $0.75''$ from the top.
1469 % \begin{macrocode}
1470 \addtolength{\topmargin}{.206in}
1471 \def\@oddhead{\hfil{\upshape\@author}}
1472 % \end{macrocode}
1473 % Now produce the titlepage and abstract. Add enough extra space to the
1474 % abstract for the title to appear at $2''$ from the top.
1475 % \begin{macrocode}
1476 \titlepage
1477 \null
1478 \begin{center}
1479 \vspace*{.2525in}
1480 {\normalsize\mdseries
1481 \@title \\[3.5ex]
1482 \normalsize\abstractname \\ by \\ \@author}%
1483 \@endparpenalty \@M
1484 \end{center}\par}%
1485 {\par\vfil\null\endtitlepage}
1486 % \end{macrocode}
1487 % \begin{macro}{Environments}
1488 % The dedication, preface, acknowledgement, and symbol pages are all based
1489 % on the abstract style. The symbol environment requires a new command,
1490 % \texttt{\textbackslash sym}, to format its entries.
1491 % \begin{macrocode}
1492 %% Dedication
1493 \newenvironment{dedication}{%
1494 \global\@NDTdedtrue \setcounter{page}{2}
1495 \renewcommand{\@oddfoot}{\@empty}
1496 \vspace*{3\p@}%
1497 \begin{center}%
1498 \@NDTdedtrue
1499 \vspace*{1in}%
1500 {\if@NDTtex\Large\bfseries\else\mdseries\fi%
1501 \if@NDTdedicateTitle\dedicationname\fi}%
1502 \@endparpenalty\@M
1503 \par\nobreak \vskip 20\p@}%
1504 {\end{center}%
1505 \par\vfil\null}
1506 %% Preface
1507 \newenvironment{preface}{%
1508 \cleardoublepage
1509 \addcontentsline{toc}{chapter}{\prefacename}
1510 \vspace*{.5in}%
1511 \begin{center}%
1512 {\if@NDTtex\Large\bfseries\else\mdseries\fi \prefacename}%
1513 \@endparpenalty\@M
1514 \par\nobreak \vskip 20\p@
1515 \end{center}\par}%
1516 {\par\null}
1517 %% Acknowledgements
1518 \newenvironment{acknowledge}{%
1519 \cleardoublepage
1520 \addcontentsline{toc}{chapter}{\acknowledgename}
1521 \vspace*{.5in}%
1522 \begin{center}%
1523 {\if@NDTtex\Large\bfseries\else\mdseries\fi \acknowledgename}%
1524 \@endparpenalty\@M
1525 \par\nobreak \vskip 20\p@
1526 \end{center}\par}%
1527 {\par\null}
1528 %% List of Symbols
1529 \newcommand{\sym}[2]{\ensuremath{#1} & #2 \\}
1530 \newenvironment{symbols}[1][rl]{%
1531 \cleardoublepage
1532 \addcontentsline{toc}{chapter}{\symbolsname}
1533 \vspace*{.5in}%
1534 \begin{center}%
1535 {\if@NDTtex\Large\bfseries\else\mdseries\fi \symbolsname}%
1536 \@endparpenalty\@M
1537 \par\nobreak \vskip 20\p@
1538 \begin{longtable}{#1}}%
1539 {\end{longtable}\end{center}\par\null}
1540 % \end{macrocode}
1541 % \end{macro}
1542 % Now we must set the table of contents counter to the proper value
1543 % depending on whether there was a dedication environment. If there is
1544 % no dedication, the Table of Contents page is numbered 2. Otherwise,
1545 % the dedication page is number 2 and the Table of Contents follows.
1546 % \begin{macrocode}
1547 \renewcommand\tableofcontents{%
1548 \if@NDTded\relax\else\setcounter{page}{2}\fi
1549 \chapter*{\contentsname
1550 \@mkboth{%
1551 \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
1552 \@starttoc{toc}%
1553 }
1554 % \end{macrocode}
1555 % Now we change all titles to full caps to suit UND guidelines
1556 % (unless counter-set by a class option).
1557 % \label{envnames}
1558 % \begin{macrocode}
1559 \renewcommand{\tablename}{\if@NDTuct TABLE\else Table\fi}
1560 \renewcommand{\figurename}{\if@NDTucf FIGURE\else Figure\fi}
1561 \renewcommand{\chaptername}{\if@NDTmixed Chapter\else CHAPTER\fi}
1562 \newcommand{\appendicename}{\if@NDTmixed Appendices\else APPENDICES\fi}
1563 \renewcommand{\appendixname}{\if@NDTmixed Appendix\else APPENDIX\fi}
1564 \renewcommand{\contentsname}{\if@NDTmixed Contents\else CONTENTS\fi}
1565 \renewcommand{\listfigurename}{\if@NDTmixed Figures\else FIGURES\fi}
1566 \renewcommand{\listtablename}{\if@NDTmixed Tables\else TABLES\fi}
1567 \renewcommand{\bibname}{\if@NDTmixed Bibliography\else BIBLIOGRAPHY\fi}
1568 \renewcommand{\indexname}{\if@NDTmixed Index\else INDEX\fi}
1569 \newcommand{\abstractname}{Abstract}
1570 \newcommand{\dedicationname}{\if@NDTmixed Dedication\else DEDICATION\fi}
1571 \newcommand{\prefacename}{\if@NDTmixed Preface\else PREFACE\fi}
1572 \newcommand{\acknowledgename}{\if@NDTmixed Acknowledgements\else ACKNOWLEDGEMENTS\fi}
1573 \newcommand{\symbolsname}{\if@NDTmixed Symbols\else SYMBOLS\fi}
1574 % \end{macrocode}
1575 % Remaining in the capitalization vein, we check to see whether we should
1576 % force capitalization of captions for tables and/or figures. By default,
1577 % they remain as entered in the document since this may cause some unwanted
1578 % effects for math formulae or chemical symbols; however use of David
1579 % Carlisle's \textsf{textcase} package should make this more robust. For
1580 % disciplines outside of the natural sciences and mathematics, this is likely
1581 % to be a useful option.
1582 % We define a new |\@caption| command based on the original that will force
1583 % the caption argument to full uppercase depending on the status of
1584 % |Make(figure/table)CaptionUC|. More thanks to Donald Arsenau for
1585 % helping me with this part of the code.
1586 % \begin{macrocode}
1587 \long\def\@caption#1[#2]#3{%
1588 \par
1589 \addcontentsline{\csname ext@#1\endcsname}{#1}%
1590 {\protect\numberline{\csname the#1\endcsname}%
1591 {\csname Make#1CaptionUC\endcsname{\ignorespaces #2}}}%
1592 \addtocontents{\csname ext@#1\endcsname}{\vskip 0.80em}%
1593 \begingroup
1594 \@parboxrestore
1595 \if@minipage
1596 \@setminipage
1597 \fi
1598 \normalsize
1599 \@makecaption{\csname fnum@#1\endcsname}%
1600 {\csname Make#1CaptionUC\endcsname{\ignorespaces #3}}\par
1601 \endgroup}
1602 % \end{macrocode}
1603 % Also we must redefine the format of the caption (|\@makecaption| macro) to
1604 % end with a period rather than a colon and to center the last line. This
1605 % code is essentially that of the centerlast option of the standard
1606 % \textsf{caption2} package.
1607 % \begin{macrocode}
1608 \long\def\@makecaption#1#2{%
1609 \vskip\abovecaptionskip
1610 \advance\leftskip by 0pt plus 1fil%
1611 \advance\rightskip by 0pt plus -1fil%
1612 \parfillskip0pt plus 2fil%
1613 #1. #2\par
1614 \vskip\belowcaptionskip}
1615 % \end{macrocode}
1616 % \begin{macro}{tableskip}
1617 % \begin{macro}{figureskip}
1618 % Now set up different skips for figures and tables since table captions
1619 % come above and figure captions below the appropriate float by default.
1620 % \begin{macrocode}
1621 \setlength\abovecaptionskip{20\p@} %was originally 10pt, leave below at 0pt
1622 \newlength\abovetableskip
1623 \newlength\belowtableskip
1624 \newlength\abovefigureskip
1625 \newlength\belowfigureskip
1626 \setlength\abovetableskip\belowcaptionskip
1627 \setlength\belowtableskip\abovecaptionskip
1628 \setlength\abovefigureskip\abovecaptionskip
1629 \setlength\belowfigureskip\belowcaptionskip
1630 \renewenvironment{table}{%
1631 \setlength{\abovecaptionskip}{\abovetableskip}
1632 \setlength{\belowcaptionskip}{\belowtableskip}
1633 \@float{table}}%
1634 {\end@float}
1635 \renewenvironment{figure}{%
1636 \setlength{\abovecaptionskip}{\abovefigureskip}
1637 \setlength{\belowcaptionskip}{\belowfigureskip}
1638 \@float{figure}}%
1639 {\end@float}
1640 % \end{macrocode}
1641 % \end{macro}
1642 % \end{macro}
1643 % \begin{macro}{LT@c@ption}
1644 % \begin{macro}{LT@makecaption}
1645 % This is the longtable caption stuff. We have to override the inner
1646 % caption commands in the |longtable| package so that it does the things
1647 % that we want it to do. This includes adding the caption to the list
1648 % of tables (which is does by default, but it doesn't put in the
1649 % |\vskip| that we want), as well as making the caption take the entire
1650 % |\textwidth| rather than just a small part of it. However, since Joe User
1651 % may want to be able to control the caption width (which he may expect to
1652 % be able to do if he read the |longtable| docs), we only \emph{redefine}
1653 % the default width, and don't hardcode in some value. Note the
1654 % similarities to |\@caption| and |\@makecaption|, above.
1655 % \begin{macrocode}
1656 \LTcapwidth=\textwidth
1657 \def\LT@c@ption#1[#2]#3{%
1658 \LT@makecaption#1\fnum@table{#3}%
1659 \def\@tempa{#2}%
1660 \ifx\@tempa\@empty\else {\let\\\space
1661 \addcontentsline{lot}{table}{\protect\numberline{\thetable}%
1662 \MaketableCaptionUC{{\ignorespaces #2}}}}%
1663 \addtocontents{lot}{\vskip 0.80em}%
1664 \fi}
1665 \def\LT@makecaption#1#2#3{%
1666 \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{%
1667 \vskip\abovetableskip%
1668 \advance\leftskip by 0pt plus 1fil%
1669 \advance\rightskip by 0pt plus -1fil%
1670 \parfillskip0pt plus 2fil%
1671 \dosingle #1{#2. }\MaketableCaptionUC{#3}\par%
1672 \endgraf\vskip\belowtableskip}%
1673 \hss}}}
1674 % \end{macrocode}
1675 % \end{macro}
1676 % \end{macro}
1677 % Take care of spacing and text length requirements for ND laser printers.
1678 % \begin{macrocode}
1679 \renewcommand{\baselinestretch}{\realbaselinestretch}
1680 \addtolength{\textwidth}{0.50in}
1681 \addtolength{\topmargin}{-.75in}
1682 \addtolength{\textheight}{0.725in}
1683 \addtolength{\footskip}{0.02in}
1684 \if@NDTheaders
1685 \addtolength{\topmargin}{0.50in} \addtolength{\textheight}{1em}
1686 \else
1687 \addtolength{\textheight}{0.50in}
1688 \fi
1689 % \end{macrocode}
1690 % Reset the {\tt quote} environment to be single spaced.
1691 % \begin{macrocode}
1692 \renewenvironment{quote}
1693 {\list{}{\rightmargin\leftmargin}%
1694 \dosingle
1695 \item\relax}
1696 {\endlist}
1697 % \end{macrocode}
1698 % Change bibliographies to have single-spaced entries.
1699 % \begin{macrocode}
1700 \let\@openbib@code=\dosingle
1701 % \end{macrocode}
1702 % Finally, we realize that UND doesn't want headings, but rather,
1703 % page numbers at the bottom. However, we retain the right to use headers
1704 % for personal copies by setting the \emph{NDTheaders} boolean true through
1705 % the \textsf{fulltex} option or by stating |\pagestyle{headings}| in the
1706 % preamble.
1707 % \begin{macrocode}
1708 \if@NDTheaders\relax\else\pagestyle{plain}\fi
1709 % \end{macrocode}
1710 %
1711 % \iffalse
1712 %</class>
1713 % \fi
1714 %
1715 % \iffalse
1716 %<*sample>
1717 \documentclass[]{ndthesis}
1718 %%\usepackage{makeidx} %% Uncomment this line and the next if you want
1719 %%\makeindex % to generate an index for your document
1720 %%\includeonly{} % Optional list of sub-parts to include
1721 \begin{document}
1722 \frontmatter
1723
1724 \work{Dissertation} % Change to ``Thesis'' for Master's thesis
1725 \title{}
1726 \author{}
1727 \degprior{} % All previously earned degrees
1728 \degaward{} % What this paper is for
1729 \advisor{} % Your supervisor/director/advisor
1730 %% \advisorB{} % Your second supervisor/director/advisor (if present)
1731 \department{} % Dept. granting the degree
1732 %% \maketitle % Uncomment to get the title page printed out
1733 %% \copypage % Uncomment if you want a copyright page
1734 %% \begin{abstract} % Dissertaion needs abstract- place it in an
1735 %% % environment or include the file.
1736 %% \end{abstract}
1737 %% \include{abstract} % Either place the text between the begin/end, or
1738 %% % put it in a file to be included.
1739 %% \begin{dedication} % If you want a dedication, it goes here
1740 %%
1741 %% \end{dedication}
1742 %% \include{dedication}
1743 \tableofcontents
1744 \listoffigures % If you don't have any figures or tables, comment
1745 \listoftables % out these two lines.
1746
1747 %% \begin{acknowledge} % If you want/need to make acknowledgements, they go here
1748 %%
1749 %% \end{acknowledge}
1750 %% \include{acknowledge} %if you have a seperate file to include
1751
1752 %% \begin{preface} % If you want a preface, it goes here
1753 %%
1754 %% \end{preface}
1755 %% \include{preface}%if you have a seperate file to include
1756 \begin{symbols}
1757 \sym{a}{The first symbol}
1758 \sym{\alpha}{The first greek symbol}
1759 \end{symbols}
1760
1761 \mainmatter
1762 %% Place the body of your text here.
1763
1764 %% \appendix
1765 %% If you have appendices, they go in the mainmatter.
1766 %% Begin each one with \chapter{title} as before- the \appendix command takes
1767 %% care of renaming chapter headings and creates a new page in the Table of
1768 %% Contents for them. Note that if you are \include'ing them, the \appendix
1769 %% command must appear as the first line in the first \include'd appendix file.
1770
1771 \backmatter
1772 %% \printindex % If generating an index, uncomment this line. Check with
1773 %% \bibliographystyle{} % your director regarding the order of the bibliography
1774 %% \bibliography{} % and index.
1775 %% \begin{bibliography} % If you aren't using BIBTeX & a database, put your
1776 %% bibliography in this environment
1777 %% \end{bibliography}
1778 \end{document}
1779 %</sample>
1780 % \fi
1781 %\Finale