diff options
Diffstat (limited to 'macros/latex/contrib/nddiss')
-rw-r--r-- | macros/latex/contrib/nddiss/LICENSE | 416 | ||||
-rw-r--r-- | macros/latex/contrib/nddiss/README.md | 59 | ||||
-rw-r--r-- | macros/latex/contrib/nddiss/ltxdoc.cfg | 5 | ||||
-rw-r--r-- | macros/latex/contrib/nddiss/nddiss2e.bst | 1437 | ||||
-rw-r--r-- | macros/latex/contrib/nddiss/nddiss2e.dtx | 2416 | ||||
-rw-r--r-- | macros/latex/contrib/nddiss/nddiss2e.ins | 73 | ||||
-rw-r--r-- | macros/latex/contrib/nddiss/nddiss2e.pdf | bin | 0 -> 377077 bytes | |||
-rwxr-xr-x | macros/latex/contrib/nddiss/process.sh | 19 |
8 files changed, 4425 insertions, 0 deletions
diff --git a/macros/latex/contrib/nddiss/LICENSE b/macros/latex/contrib/nddiss/LICENSE new file mode 100644 index 0000000000..2244313901 --- /dev/null +++ b/macros/latex/contrib/nddiss/LICENSE @@ -0,0 +1,416 @@ +The LaTeX Project Public License +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +LPPL Version 1.3c 2008-05-04 + +Copyright 1999 2002-2008 LaTeX3 Project + Everyone is allowed to distribute verbatim copies of this + license document, but modification of it is not allowed. + + +PREAMBLE +======== + +The LaTeX Project Public License (LPPL) is the primary license under +which the LaTeX kernel and the base LaTeX packages are distributed. + +You may use this license for any work of which you hold the copyright +and which you wish to distribute. This license may be particularly +suitable if your work is TeX-related (such as a LaTeX package), but +it is written in such a way that you can use it even if your work is +unrelated to TeX. + +The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', +below, gives instructions, examples, and recommendations for authors +who are considering distributing their works under this license. + +This license gives conditions under which a work may be distributed +and modified, as well as conditions under which modified versions of +that work may be distributed. + +We, the LaTeX3 Project, believe that the conditions below give you +the freedom to make and distribute modified versions of your work +that conform with whatever technical specifications you wish while +maintaining the availability, integrity, and reliability of +that work. If you do not see how to achieve your goal while +meeting these conditions, then read the document `cfgguide.tex' +and `modguide.tex' in the base LaTeX distribution for suggestions. + + +DEFINITIONS +=========== + +In this license document the following terms are used: + + `Work' + Any work being distributed under this License. + + `Derived Work' + Any work that under any applicable law is derived from the Work. + + `Modification' + Any procedure that produces a Derived Work under any applicable + law -- for example, the production of a file containing an + original file associated with the Work or a significant portion of + such a file, either verbatim or with modifications and/or + translated into another language. + + `Modify' + To apply any procedure that produces a Derived Work under any + applicable law. + + `Distribution' + Making copies of the Work available from one person to another, in + whole or in part. Distribution includes (but is not limited to) + making any electronic components of the Work accessible by + file transfer protocols such as FTP or HTTP or by shared file + systems such as Sun's Network File System (NFS). + + `Compiled Work' + A version of the Work that has been processed into a form where it + is directly usable on a computer system. This processing may + include using installation facilities provided by the Work, + transformations of the Work, copying of components of the Work, or + other activities. Note that modification of any installation + facilities provided by the Work constitutes modification of the Work. + + `Current Maintainer' + A person or persons nominated as such within the Work. If there is + no such explicit nomination then it is the `Copyright Holder' under + any applicable law. + + `Base Interpreter' + A program or process that is normally needed for running or + interpreting a part or the whole of the Work. + + A Base Interpreter may depend on external components but these + are not considered part of the Base Interpreter provided that each + external component clearly identifies itself whenever it is used + interactively. Unless explicitly specified when applying the + license to the Work, the only applicable Base Interpreter is a + `LaTeX-Format' or in the case of files belonging to the + `LaTeX-format' a program implementing the `TeX language'. + + + +CONDITIONS ON DISTRIBUTION AND MODIFICATION +=========================================== + +1. Activities other than distribution and/or modification of the Work +are not covered by this license; they are outside its scope. In +particular, the act of running the Work is not restricted and no +requirements are made concerning any offers of support for the Work. + +2. You may distribute a complete, unmodified copy of the Work as you +received it. Distribution of only part of the Work is considered +modification of the Work, and no right to distribute such a Derived +Work may be assumed under the terms of this clause. + +3. You may distribute a Compiled Work that has been generated from a +complete, unmodified copy of the Work as distributed under Clause 2 +above, as long as that Compiled Work is distributed in such a way that +the recipients may install the Compiled Work on their system exactly +as it would have been installed if they generated a Compiled Work +directly from the Work. + +4. If you are the Current Maintainer of the Work, you may, without +restriction, modify the Work, thus creating a Derived Work. You may +also distribute the Derived Work without restriction, including +Compiled Works generated from the Derived Work. Derived Works +distributed in this manner by the Current Maintainer are considered to +be updated versions of the Work. + +5. If you are not the Current Maintainer of the Work, you may modify +your copy of the Work, thus creating a Derived Work based on the Work, +and compile this Derived Work, thus creating a Compiled Work based on +the Derived Work. + +6. If you are not the Current Maintainer of the Work, you may +distribute a Derived Work provided the following conditions are met +for every component of the Work unless that component clearly states +in the copyright notice that it is exempt from that condition. Only +the Current Maintainer is allowed to add such statements of exemption +to a component of the Work. + + a. If a component of this Derived Work can be a direct replacement + for a component of the Work when that component is used with the + Base Interpreter, then, wherever this component of the Work + identifies itself to the user when used interactively with that + Base Interpreter, the replacement component of this Derived Work + clearly and unambiguously identifies itself as a modified version + of this component to the user when used interactively with that + Base Interpreter. + + b. Every component of the Derived Work contains prominent notices + detailing the nature of the changes to that component, or a + prominent reference to another file that is distributed as part + of the Derived Work and that contains a complete and accurate log + of the changes. + + c. No information in the Derived Work implies that any persons, + including (but not limited to) the authors of the original version + of the Work, provide any support, including (but not limited to) + the reporting and handling of errors, to recipients of the + Derived Work unless those persons have stated explicitly that + they do provide such support for the Derived Work. + + d. You distribute at least one of the following with the Derived Work: + + 1. A complete, unmodified copy of the Work; + if your distribution of a modified component is made by + offering access to copy the modified component from a + designated place, then offering equivalent access to copy + the Work from the same or some similar place meets this + condition, even though third parties are not compelled to + copy the Work along with the modified component; + + 2. Information that is sufficient to obtain a complete, + unmodified copy of the Work. + +7. If you are not the Current Maintainer of the Work, you may +distribute a Compiled Work generated from a Derived Work, as long as +the Derived Work is distributed to all recipients of the Compiled +Work, and as long as the conditions of Clause 6, above, are met with +regard to the Derived Work. + +8. The conditions above are not intended to prohibit, and hence do not +apply to, the modification, by any method, of any component so that it +becomes identical to an updated version of that component of the Work as +it is distributed by the Current Maintainer under Clause 4, above. + +9. Distribution of the Work or any Derived Work in an alternative +format, where the Work or that Derived Work (in whole or in part) is +then produced by applying some process to that format, does not relax or +nullify any sections of this license as they pertain to the results of +applying that process. + +10. a. A Derived Work may be distributed under a different license + provided that license itself honors the conditions listed in + Clause 6 above, in regard to the Work, though it does not have + to honor the rest of the conditions in this license. + + b. If a Derived Work is distributed under a different license, that + Derived Work must provide sufficient documentation as part of + itself to allow each recipient of that Derived Work to honor the + restrictions in Clause 6 above, concerning changes from the Work. + +11. This license places no restrictions on works that are unrelated to +the Work, nor does this license place any restrictions on aggregating +such works with the Work by any means. + +12. Nothing in this license is intended to, or may be used to, prevent +complete compliance by all parties with all applicable laws. + + +NO WARRANTY +=========== + +There is no warranty for the Work. Except when otherwise stated in +writing, the Copyright Holder provides the Work `as is', without +warranty of any kind, either expressed or implied, including, but not +limited to, the implied warranties of merchantability and fitness for a +particular purpose. The entire risk as to the quality and performance +of the Work is with you. Should the Work prove defective, you assume +the cost of all necessary servicing, repair, or correction. + +In no event unless required by applicable law or agreed to in writing +will The Copyright Holder, or any author named in the components of the +Work, or any other party who may distribute and/or modify the Work as +permitted above, be liable to you for damages, including any general, +special, incidental or consequential damages arising out of any use of +the Work or out of inability to use the Work (including, but not limited +to, loss of data, data being rendered inaccurate, or losses sustained by +anyone as a result of any failure of the Work to operate with any other +programs), even if the Copyright Holder or said author or said other +party has been advised of the possibility of such damages. + + +MAINTENANCE OF THE WORK +======================= + +The Work has the status `author-maintained' if the Copyright Holder +explicitly and prominently states near the primary copyright notice in +the Work that the Work can only be maintained by the Copyright Holder +or simply that it is `author-maintained'. + +The Work has the status `maintained' if there is a Current Maintainer +who has indicated in the Work that they are willing to receive error +reports for the Work (for example, by supplying a valid e-mail +address). It is not required for the Current Maintainer to acknowledge +or act upon these error reports. + +The Work changes from status `maintained' to `unmaintained' if there +is no Current Maintainer, or the person stated to be Current +Maintainer of the work cannot be reached through the indicated means +of communication for a period of six months, and there are no other +significant signs of active maintenance. + +You can become the Current Maintainer of the Work by agreement with +any existing Current Maintainer to take over this role. + +If the Work is unmaintained, you can become the Current Maintainer of +the Work through the following steps: + + 1. Make a reasonable attempt to trace the Current Maintainer (and + the Copyright Holder, if the two differ) through the means of + an Internet or similar search. + + 2. If this search is successful, then enquire whether the Work + is still maintained. + + a. If it is being maintained, then ask the Current Maintainer + to update their communication data within one month. + + b. If the search is unsuccessful or no action to resume active + maintenance is taken by the Current Maintainer, then announce + within the pertinent community your intention to take over + maintenance. (If the Work is a LaTeX work, this could be + done, for example, by posting to comp.text.tex.) + + 3a. If the Current Maintainer is reachable and agrees to pass + maintenance of the Work to you, then this takes effect + immediately upon announcement. + + b. If the Current Maintainer is not reachable and the Copyright + Holder agrees that maintenance of the Work be passed to you, + then this takes effect immediately upon announcement. + + 4. If you make an `intention announcement' as described in 2b. above + and after three months your intention is challenged neither by + the Current Maintainer nor by the Copyright Holder nor by other + people, then you may arrange for the Work to be changed so as + to name you as the (new) Current Maintainer. + + 5. If the previously unreachable Current Maintainer becomes + reachable once more within three months of a change completed + under the terms of 3b) or 4), then that Current Maintainer must + become or remain the Current Maintainer upon request provided + they then update their communication data within one month. + +A change in the Current Maintainer does not, of itself, alter the fact +that the Work is distributed under the LPPL license. + +If you become the Current Maintainer of the Work, you should +immediately provide, within the Work, a prominent and unambiguous +statement of your status as Current Maintainer. You should also +announce your new status to the same pertinent community as +in 2b) above. + + +WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE +====================================================== + +This section contains important instructions, examples, and +recommendations for authors who are considering distributing their +works under this license. These authors are addressed as `you' in +this section. + +Choosing This License or Another License +---------------------------------------- + +If for any part of your work you want or need to use *distribution* +conditions that differ significantly from those in this license, then +do not refer to this license anywhere in your work but, instead, +distribute your work under a different license. You may use the text +of this license as a model for your own license, but your license +should not refer to the LPPL or otherwise give the impression that +your work is distributed under the LPPL. + +The document `modguide.tex' in the base LaTeX distribution explains +the motivation behind the conditions of this license. It explains, +for example, why distributing LaTeX under the GNU General Public +License (GPL) was considered inappropriate. Even if your work is +unrelated to LaTeX, the discussion in `modguide.tex' may still be +relevant, and authors intending to distribute their works under any +license are encouraged to read it. + +A Recommendation on Modification Without Distribution +----------------------------------------------------- + +It is wise never to modify a component of the Work, even for your own +personal use, without also meeting the above conditions for +distributing the modified component. While you might intend that such +modifications will never be distributed, often this will happen by +accident -- you may forget that you have modified that component; or +it may not occur to you when allowing others to access the modified +version that you are thus distributing it and violating the conditions +of this license in ways that could have legal implications and, worse, +cause problems for the community. It is therefore usually in your +best interest to keep your copy of the Work identical with the public +one. Many works provide ways to control the behavior of that work +without altering any of its licensed components. + +How to Use This License +----------------------- + +To use this license, place in each of the components of your work both +an explicit copyright notice including your name and the year the work +was authored and/or last substantially modified. Include also a +statement that the distribution and/or modification of that +component is constrained by the conditions in this license. + +Here is an example of such a notice and statement: + + %% pig.dtx + %% Copyright 2005 M. Y. Name + % + % This work may be distributed and/or modified under the + % conditions of the LaTeX Project Public License, either version 1.3 + % of this license or (at your option) any later version. + % The latest version of this license is in + % http://www.latex-project.org/lppl.txt + % and version 1.3 or later is part of all distributions of LaTeX + % version 2005/12/01 or later. + % + % This work has the LPPL maintenance status `maintained'. + % + % The Current Maintainer of this work is M. Y. Name. + % + % This work consists of the files pig.dtx and pig.ins + % and the derived file pig.sty. + +Given such a notice and statement in a file, the conditions +given in this license document would apply, with the `Work' referring +to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being +generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' +referring to any `LaTeX-Format', and both `Copyright Holder' and +`Current Maintainer' referring to the person `M. Y. Name'. + +If you do not want the Maintenance section of LPPL to apply to your +Work, change `maintained' above into `author-maintained'. +However, we recommend that you use `maintained', as the Maintenance +section was added in order to ensure that your Work remains useful to +the community even when you can no longer maintain and support it +yourself. + +Derived Works That Are Not Replacements +--------------------------------------- + +Several clauses of the LPPL specify means to provide reliability and +stability for the user community. They therefore concern themselves +with the case that a Derived Work is intended to be used as a +(compatible or incompatible) replacement of the original Work. If +this is not the case (e.g., if a few lines of code are reused for a +completely different task), then clauses 6b and 6d shall not apply. + + +Important Recommendations +------------------------- + + Defining What Constitutes the Work + + The LPPL requires that distributions of the Work contain all the + files of the Work. It is therefore important that you provide a + way for the licensee to determine which files constitute the Work. + This could, for example, be achieved by explicitly listing all the + files of the Work near the copyright notice of each file or by + using a line such as: + + % This work consists of all files listed in manifest.txt. + + in that place. In the absence of an unequivocal list it might be + impossible for the licensee to determine what is considered by you + to comprise the Work and, in such a case, the licensee would be + entitled to make reasonable conjectures as to which files comprise + the Work. + diff --git a/macros/latex/contrib/nddiss/README.md b/macros/latex/contrib/nddiss/README.md new file mode 100644 index 0000000000..dcdafe24ae --- /dev/null +++ b/macros/latex/contrib/nddiss/README.md @@ -0,0 +1,59 @@ +nddiss +====== + +`nddiss` is a LaTeX package providing a document class for formatting doctoral +dissertations submitted to the University of Notre Dame's Graduate School. + +Copies of this package can be found in many places: + + * CTAN: https://ctan.org/pkg/nddiss + * GitHub: https://github.com/ndlib/nddiss + * Notre Dame Graduate School website: http://graduateschool.nd.edu/resources-for-current-students/dt/dt-resources/ + +Please send any improvements, suggestions, or bug reports to + + * Shari Hill Sweet, shill2@nd.edu + * Don Brower, dbrower@nd.edu + + +# Usage + +Easiest way to begin is to start with either the file `example/example.tex` or the template `template.tex`. +The [manual](nddiss2e.pdf) has a lot more information. + +The [example](example) directory contains a sample thesis demonstrating the usage of this package. + +[comment]: # (The files are the same as in the `sample_ndthesis.tar.gz` distribution by Jeff Squyeres) +[comment]: # (and D. A. Peterson, but modified for the nddiss2e class.) + + +# Installation + +The easiest way to install this package is to copy the `nddiss2e.cls` and +`nddiss2e.bst` files into the same directory as your LaTeX source file. + +Beware! If seems `nddiss2e` is already installed on your machine, it is +probably an outdated version from 2005. Please use the current version. + + +# This Repository + +The `Makefile` contains all the logic to process the master source file, `nddiss2e.dtx`. +The `nddiss2e.cls`, `nddiss2e.pdf`, and `template.tex` files are generated from the `dtx` file. +Run `make` to regenerate everything. +These derivatives are checked into the repo to make it easier for people to access and download them. + + +# Authors + +The original version, created by Sameer Vijay, follows the Spring 2004 formatting guidelines. +Later, Megan Patnott updated it to follow the Spring 2013 guidelines. + +This is based off of the style file created by D. A. Peterson, Jeff Squyeres, and others. + + +# License + +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 can be found at http://www.latex-project.org/lppl.txt. diff --git a/macros/latex/contrib/nddiss/ltxdoc.cfg b/macros/latex/contrib/nddiss/ltxdoc.cfg new file mode 100644 index 0000000000..645e2be6b6 --- /dev/null +++ b/macros/latex/contrib/nddiss/ltxdoc.cfg @@ -0,0 +1,5 @@ +\PassOptionsToClass{letterpaper}{article} +\AtEndOfPackage{\RequirePackage{hyperref}} + +%% To create a pdf using dvipdfm, uncomment the next line. +%%\PassOptionsToPackage{dvipdfm=true,bookmarks=true}{hyperref} diff --git a/macros/latex/contrib/nddiss/nddiss2e.bst b/macros/latex/contrib/nddiss/nddiss2e.bst new file mode 100644 index 0000000000..394616b625 --- /dev/null +++ b/macros/latex/contrib/nddiss/nddiss2e.bst @@ -0,0 +1,1437 @@ +%% +%% File: `nddiss2e.bst' +%% A modification of `abbrvnat.bst' for use with nddiss2e class file. +%% Modified by Sameer Vijay +%% +%% File: `abbrvnat.bst' +%% A modification of `abbrv.bst' for use with natbib package +%% +%% Copyright 1993-2005 Patrick W Daly +%% Max-Planck-Institut f\"ur Sonnensystemforschung +%% Max-Planck-Str. 2 +%% D-37191 Katlenburg-Lindau +%% Germany +%% E-mail: daly@mps.mpg.de +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt; either +%% version 1 of the License, or any later version. +%% + % Version and source file information: + % \ProvidesFile{natbst.mbs}[2005/01/07 1.8 (PWD)] + % + % BibTeX `plainnat' family + % version 0.99b for BibTeX versions 0.99a or later, + % for LaTeX versions 2.09 and 2e. + % + % For use with the `natbib.sty' package; emulates the corresponding + % member of the `plain' family, but with author-year citations. + % + % With version 6.0 of `natbib.sty', it may also be used for numerical + % citations, while retaining the commands \citeauthor, \citefullauthor, + % and \citeyear to print the corresponding information. + % + % For version 7.0 of `natbib.sty', the KEY field replaces missing + % authors/editors, and the date is left blank in \bibitem. + % + % Includes field EID for the sequence/citation number of electronic journals + % which is used instead of page numbers. + % + % Includes fields ISBN and ISSN. + % + % Includes field URL for Internet addresses. + % + % Includes field DOI for Digital Object Idenfifiers. + % + % Works best with the url.sty package of Donald Arseneau. + % + % Works with identical authors and year are further sorted by + % citation key, to preserve any natural sequence. + % +ENTRY + { address + author + booktitle + chapter + doi + eid + edition + editor + howpublished + institution + isbn + issn + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label extra.label sort.label short.list } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { ", editors" * } + { ", editor" * } + if$ + } + if$ +} + +FUNCTION {format.isbn} +{ isbn empty$ + { "" } + { new.block "ISBN " isbn * } + if$ +} + +FUNCTION {format.issn} +{ issn empty$ + { "" } + { new.block "ISSN " issn * } + if$ +} + +FUNCTION {format.url} +{ url empty$ + { "" } + { new.block "URL \url{" url * "}" * } + if$ +} + +FUNCTION {format.doi} +{ doi empty$ + { "" } + { new.block "\doi{" doi * "}" * } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ } + if$ +} + +FUNCTION {format.full.names} +{'s := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.full} +{ author empty$ + { editor empty$ + { "" } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.full} +{ author empty$ + { "" } + { author format.full.names } + if$ +} + +FUNCTION {editor.full} +{ editor empty$ + { "" } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.full + { type$ "proceedings" = + 'editor.full + 'author.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.date} +{ year duplicate$ empty$ + { "empty year in " cite$ * warning$ + pop$ "" } + 'skip$ + if$ + month empty$ + 'skip$ + { month + " " * swap$ * + } + if$ + extra.label * +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "volume" volume tie.or.space.connect + series empty$ + 'skip$ + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "number" } + { "Number" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edition" * } + { edition "t" change.case$ " edition" * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pages" pages n.dashify tie.or.space.connect } + { "page" pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.eid} +{ eid empty$ + { "" } + { "art." eid tie.or.space.connect } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + number empty$ + 'skip$ + { "\penalty0 (" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ":\penalty0 " * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.vol.num.eid} +{ volume field.or.null + number empty$ + 'skip$ + { "\penalty0 (" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + eid empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.eid } + { ":\penalty0 " * eid * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "In " booktitle emphasize * } + { "In " format.editors * ", " * booktitle emphasize * } + if$ + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Technical Report" } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "In \emph{" journal * "}" * } + if$ + } + { "In " key * } + if$ + " \citep{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Volume" volume tie.or.space.connect + " of " * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "\emph{" * series * "}" * } + if$ + } + { key * } + if$ + } + 'skip$ + if$ + ", \citet{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "In \emph{" booktitle * "}" * } + if$ + } + { "In " key * } + if$ + } + { "In " } + if$ + " \citet{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal emphasize "journal" output.check + eid empty$ + { format.vol.num.pages output } + { format.vol.num.eid output } + if$ + format.date "year" output.check + } + { format.article.crossref output.nonnull + eid empty$ + { format.pages output } + { format.eid output } + if$ + } + if$ + format.issn output + format.doi output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + format.isbn output + format.doi output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + new.block + format.title "title" output.check + howpublished address new.block.checkb + howpublished output + address output + format.date output + format.isbn output + format.doi output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + format.isbn output + format.doi output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + publisher "publisher" output.check + address output + format.edition output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.isbn output + format.doi output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address empty$ + { organization publisher new.sentence.checkb + organization output + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + new.sentence + organization output + publisher output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.isbn output + format.doi output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + new.block + format.btitle "title" output.check + organization address new.block.checkb + organization output + address output + format.edition output + format.date output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + "Master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + format.url output + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished output + format.date output + format.issn output + format.url output + new.block + note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.btitle "title" output.check + new.block + "PhD thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + format.url output + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address output + format.date "year" output.check + new.sentence + organization output + publisher output + format.isbn output + format.doi output + format.url output + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + format.url output + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + format.url output + new.block + note "note" output.check + format.date output + fin.entry +} + +FUNCTION {default.type} { misc } + + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + + + +MACRO {acmcs} {"ACM Comput. Surv."} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Commun. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Softw. Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput.-Aided Design Integrated Circuits"} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~ACM"} + +MACRO {jcss} {"J.~Comput. Syst. Sci."} + +MACRO {scp} {"Sci. Comput. Programming"} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Gr."} + +MACRO {toms} {"ACM Trans. Math. Softw."} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."} + +MACRO {tcs} {"Theoretical Comput. Sci."} + + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {format.lab.names} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { " and " * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.key.organization.label} +{ author empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.organization.label} +{ editor empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + short.list key field.or.null = or + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { numnames #2 > nameptr #2 = and + { "zz" * year field.or.null * " " * } + 'skip$ + if$ + t sortify * + } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + + +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + cite$ + * + #1 entry.max$ substring$ + 'sort.label := + sort.label * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { longest.label last.label next.extra } + +INTEGERS { longest.label.width last.extra.num number.label } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'longest.label.width := + #0 'last.extra.num := + #0 'number.label := +} + +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} + +EXECUTE {initialize.longest.label} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\providecommand{\natexlab}[1]{#1}" + write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{doi: #1}\else" + write$ newline$ + " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} diff --git a/macros/latex/contrib/nddiss/nddiss2e.dtx b/macros/latex/contrib/nddiss/nddiss2e.dtx new file mode 100644 index 0000000000..6d1ec98b05 --- /dev/null +++ b/macros/latex/contrib/nddiss/nddiss2e.dtx @@ -0,0 +1,2416 @@ +% \iffalse meta-comment +% +% Copyright (C) 2004-2005 by Sameer Vijay +% +% This file may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.2 of this license or (at your option) any later +% version. The latest version of this license is in +% +% http://www.latex-project.org/lppl.txt +% +% +% \fi +% +% +% \CheckSum{1478} +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \changes{v0.98}{2004/04/15}{Initial {\em beta} version} +% \renewcommand{\generalname}{Release} +% \changes{v1.0}{2004/06/15}{First release} +% \renewcommand{\generalname}{General} +% \changes{v1.1}{2005/04/14}{Minor changes and clean-up} +% \changes{v2.0}{2005/05/14}{Some bugfixes, cleaned some of documentation} +% \changes{v2.1}{2005/06/14}{More bugfixes, changes in documentation} +% \renewcommand{\generalname}{Release} +% \changes{v3.0}{2005/07/27}{Major revamp and clean-up of the code, added +% \texttt{numrefs} and \texttt{textrefs} to allow different kinds of citation +% styles, added some more macros and modified others, +% changed the titlepage a bit, completed source documentation} +% \changes{v3.2013$\beta$}{2013/1/14}{Initial release of updates in order to comply with +% the Graduate School's current formatting regulations and to take advantage +% of some LaTeX package updates. Should be functional, and has been approved +% by the Dissertation/Thesis editors, but has not undergone wide-scale testing. - Megan Patnott} +% \changes{v3.2013}{2013/4/20}{Some bug fixes, minor changes in documentation, and addition of support for parts. - MP} +% \changes{v3.2016}{2016/10/16}{Fix natbib/showkeys ordering bug} +% \changes{v3.2017.1}{2017/05/09}{Display (CONTINUED) on multipage long table captions} +% \changes{v3.2017.2}{2017/08/23}{Add LuaLaTeX support. Allow non-capitalized titles.} +% \renewcommand{\generalname}{Update} +% +% \iffalse (Don't show this in the doc). +% \begin{macrocode} +%<*driver> +\ProvidesFile{nddiss2e.dtx} +\documentclass{ltxdoc} +\setcounter{secnumdepth}{2} +\setcounter{tocdepth}{2} +\DeclareRobustCommand{\nddiss}{% + \textsf{{\scshape nd}diss}\kern-0.03em% + 2$_\mathsf{\textstyle\varepsilon}$} +\providecommand{\dissfileversion}{3.2017.2} +\providecommand{\dissfiledate}{2017-05-09} +\DisableCrossrefs +\CodelineNumbered +\RecordChanges +\begin{document} + \DocInput{nddiss2e.dtx} +\end{document} +%</driver> +% \end{macrocode} +% \fi +% +% \title{The \nddiss\/ class\thanks{Version~\dissfileversion,% +% dated~\dissfiledate.}} +% +% \date{\dissfiledate} +% +% \maketitle +% +% \begin{abstract} +% The \nddiss\space class can be used to typeset dissertations submitted +% to the University of Notre Dame's Graduate School. This class conforms with +% the Graduate School guidelines as of Spring 2013 for the layout of the Ph.D. +% dissertations and Master's theses. +% \end{abstract} +% +% \tableofcontents +% +% \section{Introduction} +% \label{sec:intro} +% The \LaTeXe\space document class \nddiss\ is suitable for producing dissertations +% and theses conforming to the Spring 2013 +% guidelines of the Graduate School at the University of Notre Dame. +% The package is extends the standard \LaTeX\/ \textsf{book} class. +% +% The latest version of this class and related documentation can be found +% in a few places: +% \begin{itemize} +% \item On CTAN: \url{https://ctan.org/pkg/nddiss} +% \item On GitHub: \url{https://github.com/ndlib/nddiss} +% \item On the University of Notre Dame's Graduate School website: \url{http://graduateschool.nd.edu/} +% \end{itemize} +% +% \subsection{Disclaimer} +% \label{sec:disclaimer} +% While this class does as much formatting as it can, there are a few formatting items that +% you, the user, must do manually (see Section \ref{sec:author}). +% Please keep in mind that only \emph{you} are responsible for the +% correct formatting of your dissertation/thesis. +% Should you have questions, please consult the official formatting guide or email \url{dteditor@nd.edu}. +% +% \subsection{Dependencies and Limitations} +% \label{sec:deps} +% This classfile depends on many other packages to be installed. +% All of these required packages are available through MiKTeX and TeXLive, and +% chances are good they are already installed by your TeX distribution. +% Refer to section \ref{sec:features} for a list of the essential packages. +% +% The document class has only been tested with a small subset of available packages. +% There are numerous packages you may want to use for your work, but they may have +% to be modified accordingly. +% Things lacking include support for the \textsf{subfigure} +% and \textsf{subcaption} package and proper formatting of the captions in such an environment. +% Formatting of the captions could be much easier with the +% \textsf{caption}\footnote{\textsf{caption} package by Axel Sommerfeldt v3.0b[2004/05/16] +% and higher} in general, and is a thing-to-do for future versions. Permitting use of the +% \textsf{subfigure} and \textsf{subcaption} packages would also be a good thing to do +% if an update is ever made for reaosns other than resolving conflicts caused by changing +% Graduate School regulations. If you want to use a \textsf{subfigure} environment and don't +% need the caption capabilities of the \textsf{subcaption} package, adding the following +% code to your preamble may allow you to do this and still have your captions formatted +% according to the Graduate School's rules. +% \begin{verbatim} +% \usepackage{subcaption} +% \makeatletter +% \renewcommand\LT@makecaption[3]{% +% \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{% +% \vskip\abovetableskip% +% \centering\normalspacing +% #1{#2 }\\[\single@skip] +% {#3}\par +% \endgraf\vskip\belowtableskip}% +% \hss}}} +% \makeatother +% \end{verbatim} +% +% \subsection{History} +% +% The \nddiss\ package is an extensive rewrite by Sameer Vijay of an earlier \textsf{NDthesis} class +% for formatting dissertations. +% Megan Patnott updated \nddiss\ to the 2013 Graduate School Formatting guidelines. +% The \textsf{NDThesis} class was by D. A. Peterson. +% +% \section{Quick Start} +% +% This section provides a template you can use to get started. +% The distribution comes with a more detailed file, |template.tex|, that is similar, but more detailed. +% +% \begin{verbatim} +% \documentclass[numrefs,final]{nddiss2e} +% +% \begin{document} +% +% \frontmatter +% +% \title{Title in Title Caps} +% \author{Your Name} +% \work{Dissertation} +% \degaward{Doctor of Philosophy} +% \advisor{} +% \department{} +% \maketitle +% \makepublicdomain % There is also a copyright option +% +% \begin{abstract} +% Abstract here +% \end{abstract} +% +% % dedication is optional +% \begin{dedication} +% For Someone +% \end{dedication} +% +% \tableofcontents +% \listoffigures +% \listoftables +% +% % list of symbols is optional +% \begin{symbols} +% \sym{a}{definition of a} +% \end{symbol} +% +% % preface is optional +% \begin{preface} +% Preface here +% \end{preface} +% +% \begin{acknowledge} +% Thanks to everyone +% \end{acknowledge} +% +% \mainmatter +% +% \chapter{A New Dawn} % Chapter 1 +% All the text ... +% +% \appendix +% \chapter{Additional Data} % Appendix A +% +% \backmatter +% \bibliographystyle{nddiss2e} +% \bibliography{bibdatabase} +% +% \end{document} +% \end{verbatim} +% +% +% \section{Usage} +% +% Invoke the \nddiss\space document class by adding |\documentclass|\oarg{options}|{nddiss2e}| +% at the beginning of your \LaTeX\space source file. +% For most people the options |\documentclass[draft]{nddiss2e}| is good enough for the initial revisions. +% If you want your figures to display, use |\documentclass[review]{nddiss2e}|. +% +% Use the option |\documentclass[final]{nddiss2e}| for your formatting check submission, +% and |\documentclass[final,noinfo]{nddiss2e}| for the final submitted version. +% +% If you have two advisors, add the option |twoadvisors| here, and then use |\secondadvisor{}| +% later on the title page to give the name of the second advisor. +% +% By default, all documents produced using this class +% are formatted as one-sided, doublespaced, letter-sized pages, per the Graduate School requirements. +% In theory, the class file's specifications should override your system's defaults. +% If, however, you are getting A4 paper, try adding |\pdfpagewidth{8.5in}| and +% |\pdfpageheight{11in}| immediately after the |\documentclass| in your file. +% +% \subsection{Options} +% \label{subsec:options} +% +% \DescribeMacro{draft} +% \DescribeMacro{review} +% \DescribeMacro{final} +% Exactly \emph{one} of these options must be used. +% The |draft| and |review| options enable faster processing of the document and +% also include annotations to help write and edit it. +% +% The |draft| option enables a fast processing and preliminary document +% showing the labels for citations, tables, figures etc. and a black solid rule +% highlighting the horizontal overflows. Additionally, figures are replaced +% with placement boxes showing where the included figure would be placed. Such +% a document would be the one you would prepare for revising your text during +% writing stages. +% +% The |review| option makes it possible to prepare a document that is +% one step closer to the final version. +% Almost all the formatting of the final version is present, +% but the labels and keys as in the |draft| option are also displayed. +% A document prepared with the |review| option would be the one to +% personally check for proper formatting and possibly giving to your advisor if +% she wished to suggest corrections. +% +% The |final| option produces the document to be submitted to the Graduate School for +% formatting checks and as the final version. +% +% \DescribeMacro{twoadvisors} +% The |twoadvisors| option will produce a title page with space for two advisors. +% Use the |\secondadvisor| macro command +% (discussed in Section \ref{subsec:titlepage}) on the title page to give the +% name of the second advisor. +% +% \DescribeMacro{noinfo} +% The |noinfo| option disables the information page produced +% when the |review| or |final| style options are used. It is +% recommended that you only use this option when making the final +% submission to the Graduate School. +% +% \DescribeMacro{numrefs} +% \DescribeMacro{textrefs} +% These options determine how citations are displayed in the text. +% The default style is |numrefs|. +% The |numrefs| option produces a numbered citation sytle by using \textsf{natbib} +% and the ``nddiss2e'' or ``nddiss2enoarticletitles'' citation style +% file\footnote{|nddiss2e.bst| is a slight modificiation of |abbrvnat.bst| +% in the \textsf{natbib} package; |nddiss2enoarticletitles.bst| is +% essentially the same as |nddiss2e|, but does not display the titles of +% journal articles, as this is the standard in some fields}. +% The |textrefs| option changes the citation style to be similar to +% ``author-date'' style with the same files. +% +% \DescribeMacro{sort} +% \DescribeMacro{compress} +% \DescribeMacro{sort\&compress} +% At most one of these options should be selected. The |sort| option will cause +% both numerical and ``author-date'' style references to be sorted in the order +% that they appear in the bibliography when multiple references are cited. The +% |compress| option compresses numerical citations, e.g. it turns [1,2,3] into +% [1-3], and does nothing to ``author-date'' style references. The +% |sort&compress| option first sorts and then compresses numerical references, and +% only sorts ``author-date'' style references. +% +% Since the same set of packages and +% style files result in differing citation formats, +% refer to the documentation for |natnotes.dvi| in your |TEXMF| tree, +% to be aware of the +% various ways in which you can make a citation in your text. +% +% \DescribeMacro{10pt} +% \DescribeMacro{11pt} +% \DescribeMacro{12pt} +% These options adjust the font size of the body text. +% The choice is only applicable when the |draft| option is used, and defaults +% to |10pt|. +% When |review| or |final| is used, this option is ignored and |12pt| is used. +% +% \DescribeMacro{twoside} +% The |twoside| option causes the class file to prepare a document meant +% to be printed double-sided. +% This option is strictly for if you want to prepare a two-sided document for +% your own use. The only difference from the one-sided document is in the page +% layout. +% Do NOT use this option when preparing to submit it to the Graduate School. +% +% \DescribeMacro{nocenter} +% The |nocenter| option allows non-centered chapter titles. +% Do NOT turn in your document this way to the Graduate School! +% +% \DescribeMacro{openbib} +% The |openbib| option formats your bibliography in the following manner: \\ +% \qquad Author \\ +% \qquad \qquad Article/book title \\ +% \qquad \qquad Other information \\ +% \qquad \qquad Website, if applicable \\ +% Usually you would not need to use this option since the default layout of the +% |bibliography| is acceptable. +% +% \section{Arrangement of Contents} +% +% A dissertation or a thesis document contains the following parts, +% in the order listed. Only those marked as optional may be omitted. +% +% \begin{enumerate} +% \item Title Page +% \item Copyright page +% \item Abstract \emph{(optional for Master's thesis)} +% \item Dedication \emph{(optional)} +% \item Table of Contents +% \item List of Figures +% \item List of Tables +% \item List of Symbols \emph{(optional)} +% \item Preface \emph{(optional)} +% \item Acknowledgments \emph{(optional)} +% \item Text +% \item Appendix (or Appendices) \emph{(optional)} +% \item Bibliography (or References, or Works cited) +% \end{enumerate} +% +% The macros and environments described below ease the formatting of these +% parts. +% +% \subsection{Title Page} +% \label{subsec:titlepage} +% +% \DescribeMacro{\maketitle} +% The title page is generated by |\maketitle| with no arguments. +% This macro has been modified for providing a title page in the correct format. +% +% You can set information to display on the title page by using the following +% commands before invoking |\maketitle|. +% \begin{itemize} +% \item \DescribeMacro{\title\{\}} The title of the document, using the +% |\title| macro. You may use linebreaks within the title, +% protected via |\protect\\| and the title may be up to four +% lines long. +% \item \DescribeMacro{\author\{\}} Give your name in full and exactly as +% registered with the Graduate School, using the +% |\author| macro, e.g. |\author{Gary Graham Gordon-Graeme}|). +% \item \DescribeMacro{\work\{\}} Whether the document is a +% \emph{Thesis} or a \emph{Dissertation} as the argument of the +% |\work| macro, e.g. |\work{Dissertation}|). +% \item \DescribeMacro{\degaward\{\}} Specify the degree you're aiming for +% with the |\degaward| macro. Should be one of +% |\degaward{Doctor of Philosophy}| (without the ``in \emph{subject}'' or +% |\degaward{Master of Science\\in\\Engineering}|. +% \item \DescribeMacro{\advisor\{\}} Give the name of your advisor with +% the |\advisor| macro. +% \item \DescribeMacro{\secondadvisor\{\}} Give the name of your second advisor, +% if any, with the |\secondadvisor| macro. You also need to pass in the +% |twoadvisors| option in the |\documentclass| declaration. +% \item \DescribeMacro{\department\{\}} Give the name of your department with the +% |\department| macro, e.g. |\department{Gnulogical Engineering}|). +% \item \DescribeMacro{\degdate\{\}} The month and year of the defense of the +% thesis with the |\degdate| e.g. |\degdate{June 2004}|). If you forget to +% declare this, the current month/year will be used. +% \end{itemize} +% +% \subsection{Copyright Page} +% \DescribeMacro{\makecopyright} +% \DescribeMacro{\copyrightholder\{\}} +% \DescribeMacro{\copyrightyear\{\}} +% The |\makecopyright| macro should be invoked after |\maketitle| to +% produce a copyright page. +% Prior to calling |\makecopyright|, you may specify a different name +% for the copyright holder (the default is the name given through the +% |\author| macro) and for the copyright year (the default being the +% current year). Do this with the |\copyrightholder|\marg{name} +% and |\copyrightyear|\marg{year} macros. +% +% \DescribeMacro{\makepublicdomain} +% Alternatively, you can use +% |\makepublicdomain| to produce a page with the message ``This document +% is in the public domain.'' Note that the absence of the copyright page +% does \emph{not} place your dissertaion in the public domain, you must +% declare it as such explicitly. +% +% \subsection{Abstract Page(s)} +% \DescribeEnv{abstract} +% The abstract text should be placed between +% |\begin{abstract}| and |\end{abstract}|. +% If the abstract is longer than one page, the environment will place +% the author's name in the top-right header. +% +% \DescribeMacro{\abstractname\{\}} +% You may use |\abstractname|\marg{text} to change the abstract caption +% to |text|. +% Default name: |Abstract|. +% You probably don't need to change it. +% +% \subsection{Dedication} +% \DescribeEnv{dedication} +% The dedication is optional. +% If you want one, use the \textsf{dedication} envrionment. +% The format of dedication is essentially free. +% This environment will center the text of your dedication vertically on the page. +% +% \DescribeMacro{\dedicationame\{\}} +% You may use |\dedicationname|\marg{text} to change the title for the +% dedication page. Default name: |\mbox{}| i.e.\/ an empty title. +% You probably don't need to change it. +% +% \subsection{Table of Contents; Lists of Figures and Tables} +% \DescribeMacro{\tableofcontents} +% \DescribeMacro{\listoffigures} +% \DescribeMacro{\listoftables} +% Use the macros |\tableofcontents|,|\listoffigures| and |\listoftables|, +% \emph{in this order}, to produce the required table of contents and lists of +% figures and tables. +% +% \DescribeMacro{\contentsname\{\}} +% \DescribeMacro{\listfigurename\{\}} +% \DescribeMacro{\listtablename\{\}} +% You may use |\contentsname|, |\listfigurename| and |\listtablename| +% to change the titles for these sections. +% By default they are |CONTENTS|, |FIGURES|, and |TABLES|. +% You probably don't need to change them. +% +% \subsection{List of Symbols} +% \DescribeEnv{symbols} +% The list of symbols is optional. +% Use the \textsf{symbols} envrionment to format a list of +% symbols/abbreviations used in your work. +% The envrionment takes an optional argument specifying the desired format, e.g. +% |\begin{symbols}[cl]| for first column centered and the next column +% aligned left. By default, the first column will be right aligned and +% the second column will be left aligned. You may use any of the standard +% |tabular| column alignment options. +% +% \DescribeMacro{\sym\{\}\{\}} +% The command |\sym|\marg{symbol}\marg{definition} may make the task of +% entering the symbols and their meanings in the \textsf{symbols} +% environment easier. |\sym| takes two arguments: the first, a math +% ``object'' and the second, the plain text describing the +% symbol. Since the first argument is in math mode, any plain text +% needs to be wrapped with |\mathrm{..}| +% Likewise, any math symbol in the second argument needs to placed in +% |$..$|. Example: |\sym{\beta_\mathrm{norm}}{Definition for $\beta$}| +% +% \DescribeMacro{\symbolsname\{\}} +% You may use |\symbolsname{}| to change the title of the symbols section. +% Default name: |SYMBOLS|. +% +% \subsection{Preface} +% \DescribeEnv{preface} +% The \textsf{preface} environment is provided for formatting the preface to your work. +% +% \DescribeMacro{\prefacename\{\}} +% You may use |\prefacename| to change the name of this section. +% Default name: |PREFACE|. +% +% \subsection{Acknowledgments} +% \DescribeEnv{acknowledgments} +% The environment \textsf{acknowledgments} is used to format the +% acknowledgment \emph{chapter}. +% +% +% \DescribeMacro{\acknowledgename\{\}} +% You may use |\acknowledgename| to change the name of this section. +% Default name: |Acknowledgments|. +% +% \subsection{Text} +% \DescribeMacro{\mainmatter} +% Use the macro |\mainmatter| to mark the beginning of your text. +% You can then use |\part|, |\chapter|, |\section|, |\subsection|, and |\subsubsection| +% commands, as you would with the \textsf{book} class. +% Text is formatted in |\normalspacing| i.e. double-spacing. +% The pages are numbered in |plain| pagestyle such that the page numbers +% are centered in the bottom. The |chapter| titles can be multi-line, +% and if so are formatted doubly spaced. +% +% \DescribeMacro{\unnumchapter\{\}} +% Use the macro |\unnumchapter| to create to create unnumbered chapters that +% appear in the Table of Contents. +% +% \subsection{Appendix} +% \DescribeMacro{\appendix} +% Use the command |\appendix| after the last normal chapter to signal +% that all following chapters are to be appendices. +% This use is the same as in the \textsf{book} class. +% To begin an appendix, use the |\chapter|\marg{title} macro. +% +% \subsection{Backmatter} +% \DescribeMacro{\backmatter} +% The |\backmatter| macro separates the bibliography, index +% and glossary from the main matter and any appendices. +% +% \subsection{Bibliography} \DescribeMacro{\bibliography} +% If you are using \BibTeX\/ (and why would you not want to use \BibTeX?), +% use the |\bibliography|\marg{bibfile} macro to generate the +% bibliography. You should refer to \BibTeX\/ manual for details about making a |.bib| file +% and format for the entries. +% +% For citing references in the text, the package \textsf{natbib} is +% included with either the settings \texttt{numbers,sort\&compress} (|numrefs| option) or +% \texttt{authoryear,sort} (|textrefs| option). The package \textsf{natbib} is a +% fantastic package that has numerous macros for \emph{citing} in different ways. +% +% \textbf{Warning:} The packages \textsf{cite} and \textsf{citation} are +% NOT compatible +% with the \textsf{natbib} package, and will cause errors if used. +% +% \DescribeEnv{thebibliography} +% If you are not using \BibTeX\/ make your own bibliography by using the +% \textsf{thebibliography} environment. In this case, you would have +% to write the reference entries in the right format in your |.tex| source +% file itself. If you are using the |textrefs| option, you'll need to +% consult the \textsf{natbib} manual to ensure that you enter your entries in +% the format required by the package. +% +% \DescribeMacro{\bibname\{\}} +% You may use |\bibname|\marg{newbibname} to change the name of this section. +% Default name: |Bibliography|. +% +% \subsection{Chapter-wise Bibliography} +% By default the bibliography appears at the end of your work and contains +% all the references from the entire entity. +% If you need to have a separate bibliography for each chapter, +% you can do it in the following way. +% First, load the package \textsf{chapterbib} without any options +% in the preamble of your main source file and +% redefine the commands |\bibname| and |\bibsection| as shown below. +% \begin{verbatim} +% %% Main source file %% +% \documentclass[...]{nddiss2e} +% \usepackage{chapterbib} +% \renewcommand{\bibname}{Cited works} +% \renewcommand{\bibsection}{\section{\bibname}} +% ... +% \begin{document} +% \include{chptr1} +% ... +% \include{appndx} +% \end{document} +% \end{verbatim} +% +% To process the bibliography for each chapter individually, the chapters or sections +% must be separated into different files and \emph{include} +% them in the main file, as shown above. Each such |\include|d file must contain +% its own |\bibliographystyle{nddiss2e}| and |\bibliography{...}| command at +% an appropriate position. There should not be any bibliographic commands in +% the main source file. +% +% After compiling the main tex file once (with |latex| or +% |pdflatex|), the |.aux| files needed by |bibtex| will have been created +% and you can then run |bibtex| on each of the separate source files to obtain a |.bbl| +% for each file. The remaining steps are the same as for a normal |.tex| file. +% +% You can find more details of this in the \textsf{natbib} manual. +% +% \section{Note For Authors} +% \label{sec:author} +% The dissertation author must make sure that the +% following conditions are met in order to generate a dissertation +% acceptable by the Graduate School: +% +% \begin{itemize} +% \item The List of Figures must be \emph{before} the List of Tables, i.e. the +% macro command |\listoffigures| comes before |\listoftables| in the +% frontmatter. +% \item Table captions must be \emph{above} the corresponding table, +% In case of the \textsf{table} environment, this can be achieved by +% putting |\caption| before you include the table (e.g. in a \textsf{ +% tabular} environment). +% \item Figure captions should be \emph{below} the corresponding figure. +% In the \textsf{figure} environment, the |\caption| goes after +% the |\includegraphics| macro command. +% \item The bibliography is the last section/chapter of the thesis---unless +% you are using the \emph{chapter-wise} bibliography. +% \end{itemize} +% +% \subsection{Tips and Suggestions} +% \label{subsec:tips} +% \begin{itemize} +% \item It is \emph{strongly} recommended that you compile your document with +% pdf\LaTeX. Compiling to dvi or postscript first may result in ``fuzzy'' fonts +% when viewing the document on your screen. Additionally, the benefits +% of |hyperref| and |pdflscape| are only available if you compile using +% pdf\LaTeX. +% \item Use the |\toprule|, |\midrule| and |\bottomrule| macro commands (from the +% \textsf{booktabs} package) in tables for generating the appropriate +% horizontal rules. Refrain from using vertical rules to separate columns in tables +% as much as possible. +% \item Use the \textsf{longtable} environment for handling very long +% tabular materials. Example: +% \begin{verbatim} +% \begin{longtable}{lc} +% \caption[]{LONG TABLE CAPTION \label{tab:longtable} } +% \toprule +% Heading 1 & Heading 2 \\ +% \midrule +% \endfirsthead +% \caption[]{ } \\ % doesn't matter what text is in the continued caption. +% \midrule +% Heading 1 & Heading 2 \\ +% \midrule +% \endhead +% \endfoot +% \bottomrule +% \endlastfoot +% % Now the tabular material % +% Long & Table etc. \\ +% \end{longtable} +% \end{verbatim} +% \item If a figure or table is very wide and will not fit on a page, +% use the \textsf{landscape} environment (from the included +% \textsf{lscape} package) to format them in \emph{landscape} +% mode. They will automatically appear on a separate page. If you +% use pdf\LaTeX\/ to compile your document, then the included +% \textsf{pdflscape} package will flip this page on the screen +% for easier reading. +% \item The \textsf{sidewaystable} environment (from the included +% \textsf{rotating} package) is incompatible with the current +% class and should be avoided. +% \item Usually the width of the figure and table captions is 90\% of the textwidth +% (i.e. |0.9\textwidth|). If needed, the width can be changed on a case-by-case +% basis by doing one of the following: +% \begin{itemize} +% \item Use a \textsf{minipage} environment of appropriate width and enclose +% your tabular or figure float inside it, or +% \item set the |\capwidth| inside the \textsf{table} or the \textsf{figure} +% environment, and |\LTcapwidth| \emph{outside} the \textsf{ +% longtable} environment, e.g.,\\[\baselineskip] +% \begin{minipage}{0.5\textwidth} +% \begin{verbatim} +% \begin{table}[H] +% \setlength{\capwidth}{0.8\textwidth} +% \centering +% \caption{TABLE CAP\label{tab:this}} +% \begin{tabular}{lc} +% ... +% \end{tabular} +% \end{table} +% \end{verbatim} +% \end{minipage} +% \begin{minipage}{0.5\textwidth} +% \begin{verbatim} +% \setlength{\LTcapwidth}{6in} +% \begin{longtable}{lccc} +% ... +% \end{\longtable} +% \end{verbatim} +% \end{minipage} +% \end{itemize} +% \item Use the \textsf{tabularx} environment for the actual formatting +% of the tables (within the \textsf{table} environment). It differs +% slightly from \textsf{tabular} environment and you should refer to +% their documentation in the |TEXMF| tree for more information. +% \item If you've used a \textsf{longtable} environment in your document, +% it might be necessary to compile the document multiple times so as to +% get proper alignment of columns. This is documented in the +% \textsf{longtable} manual. +% \item If you wish to use |\footnotes| in the \textsf{longtable} environment, +% please read its documentation. There are some handicaps present. +% \item To cite a website in your bibliography\footnote{More info at +% \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=citeURL}}, use the +% following format in your |.bib| file: +% \begin{verbatim} +% @Misc{fairley2000, +% author = "N. Fairley", +% title = "Casa{XPS} {VAMAS} processing software", +% howpublished = "Website", +% note = "\url{http://www.casaxps.com}", +% } +% \end{verbatim} When processed with the |nddiss2e.bst| citation style file +% this gives:\newline +% 111. N. Fairley. CasaXPS VAMAS processing software. Website. +% \url{http://www.casaxps.com}.\newline +% \end{itemize} +% +% \subsection{You Found Errors?} +% Errors in a \LaTeX\/ document are to be expected. +% If you have a problem that is that seems to be more than a typo or +% unbalanced brace, it is possible that there is a conflict between +% the packages you have included and those that \nddiss\/ uses. +% If you find yourself in that situtation, there is a mailing list +% for handling support issues with \nddiss\/. +% Look through the archive, and if there are no answers, please +% send an email to \url{ND-LATEX-USERS@listserv.nd.edu} (registration required). +% The more effort you spend in isolating the problem or in troubleshooting +% will make it more likely that others can reproduce the problem and help +% you solve it. +% Also if you have a problem that you then solve, please also email the list. +% Your doing so will help the next person to have that problem, and will +% also make the maintainers aware of it, so future versions of the class file +% can be better. +% +% \section{Other Packages Used} +% \label{sec:features} +% +% A number of packages are required by default and must be present in your +% \TeX\space search path (if you use a package manager such as MiKTeX or +% TeXLive, it will take care of this for you). As far as possible, these have +% been tested for proper formatting style with the \nddiss\/ class file. The list +% includes +% \textsf{ifthen}, +% \textsf{exscale}, +% \textsf{ifpdf}, +% \textsf{ifluatex}, +% \textsf{ifxetex}, +% \textsf{xspace}, +% \textsf{longtable}, +% \textsf{indentfirst}, +% \textsf{tabularx}, +% \textsf{showkeys}, +% \textsf{enumerate}, +% \textsf{latexsym}. +% \textsf{epsfig}, +% \textsf{color}, +% \textsf{graphicx}, +% \textsf{url}, +% \textsf{setspace}\footnote{v6.7[2000/12/01] or above}, +% \textsf{amsmath}, +% \textsf{float}, +% \textsf{lscape}, +% \textsf{rotating}, +% \textsf{booktabs}, and +% \textsf{natbib}\footnote{v8.31[2009/07/16] or above}. +% Sameer urges you to read the documentation of these packages available in +% the |TEXMF| tree, if you think you might use their features +% or want to tweak some advanced options. Of these packages, +% \textsf{ifpdf}, +% \textsf{longtable}, +% \textsf{natbib}, +% \textsf{booktabs}, +% \textsf{rotating}, +% \textsf{url}, and +% \textsf{setspace} +% are not part of the \LaTeX\space required distribution, so you may need +% to download them. They are all available through both MiKTeX and TeXLive; +% note that \textsf{ifpdf} is part of the +% \textsf{oberdiek} bundle, which is what you need to download to get +% that package if it is not already installed on your system. +% +% Other packages may or may not be appropriate for use with the +% \nddiss\space class when producing copies to be submitted to the +% Graduate School. Please be careful when using packages that change the +% default fonts, or the page layout. +% +% In general, the official guidelines of the Graduate School are +% followed to the maximum extent possible. This includes proper +% formatting of the title page and the abstract page (from the +% \textsf{ndthesis} package), numbering of the pages in the \textit{frontmatter}, +% generation of properly formatted table of contents, list +% of figures etc., as well as bibliography at the end. +% Per the guide, the number of different fonts and font sizes used is kept to +% a minimum. The contents, all lists and the bibliography are +% single-spaced but the inter-line spacing for the rest of the document +% is double. +% +% \subsection{Generating PDF document} +% \label{subsec:pdfdoc} +% +% The \nddiss\space class also allows production of pdf documents with +% pdf\LaTeX\space. As of Spring 2013, this is the preferred method of +% compilation. In this case, the \textsf{hyperref} and \textsf{pdflscape} +% packages are also required. The \textsf{hyperref} package ensures +% that the generated pdf document contains internal as well as external +% links for citations and bookmarks. A document produced by this method +% also contains embedded fonts (\textit{press quality} pdf) and is suitable +% for electronic submission to the library and for microfilm archiving. +% Although the most appropriate options for \textsf{hyperref} are +% passed on, for advanced features refer to its documentation. The +% \textsf{pdflscape} package flips pages with landscape orientation in the +% pdf file for easier reading, but the location of the page numbers does not change. +% +% Figures must be in pdf, jpeg, png, or gif format, and not in encapsualted +% postscript (eps). An easy way to convert \textit{eps} files to \textit{pdf} +% files is to use the utility |epstopdf| or |eps2pdf|, which should be +% available on your unix-like distribution already (should you have one). It is also +% possible to convert your eps files to pdfs using an online conversion tool. +% Searching for ``eps to pdf'' brought up several free options in Fall 2012. +% +% +% +% \StopEventually{% +% \footnotesize +% \PrintChanges +% } +% +% \clearpage +% \section{The Implementation} +% Following is our attempt at documenting the source of the +% \nddiss\space class file for the \TeX\space hackers. +% +% \small\mbox{}\\ +% \iffalse (Don't show this in the doc). +%<*class> +% \fi +% At the start, we define the base version of \LaTeXe\space needed and +% the label information for the \nddiss\space class. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesClass{nddiss2e} +% \end{macrocode} +% \iffalse +%</class> +% \fi +% \iffalse (Don't show this in the doc). +% \begin{macrocode} +%<template>\ProvidesFile{template.tex} +% \end{macrocode} +% \fi +% \begin{macrocode} + [2016/10/16 v3.2016% +% \end{macrocode} +% \iffalse +%<*class> +% \fi +% \begin{macrocode} + Notre Dame Dissertation document class] +% +% \end{macrocode} +% \begin{macro}{\dissfileversion} +% \begin{macro}{\dissfiledate} +% The |\dissfileversion| and |\dissfiledate| macros contain the version and the date +% of the release. +% \begin{macrocode} +\providecommand{\dissfileversion}{3.2017.2} +\providecommand{\dissfiledate}{2017/05/09} +% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \iffalse +%</class> +% \fi +% \iffalse (Don't show this in the doc). +% \begin{macrocode} +%<template> Template file for NDdiss2e class] +% \end{macrocode} +% \fi +% \iffalse +%<*class> +% \fi +% New boolean variables for the options used in \nddiss\ class are +% set here with default values. +% \begin{macrocode} +\newif\ifdiss@draft \diss@drafttrue +\newif\ifdiss@review \diss@reviewfalse +\newif\ifdiss@final \diss@finalfalse +\newif\ifinfo@page \info@pagetrue +\newif\ifadvisors@two \advisors@twofalse +\newif\ifdiss@dedication \diss@dedicationfalse +\newif\ifnum@refs \num@refstrue +\newif\ifcentered@chaptitle \centered@chaptitletrue +\newif\if@ltfirstcaption +% +% \end{macrocode} +% \begin{macro}{draft} +% \begin{macro}{review} +% \begin{macro}{final} +% Exactly one of these options must be present in order to get a proper document. These +% options set appropriate boolean variables (flags) and pass some common +% options to the parent {\sffamily book} class. +% \begin{macrocode} +\DeclareOption{draft}{ + \setlength\overfullrule{5pt} + \typeout{DRAFT MODE}\typeout{}\info@pagefalse% + \diss@drafttrue\diss@reviewfalse\diss@finalfalse + \PassOptionsToClass{letterpaper,oneside,draft}{book} } +% +\DeclareOption{review}{ + \typeout{REVIEW MODE}\typeout{}\info@pagetrue% + \diss@draftfalse\diss@reviewtrue\diss@finalfalse + \PassOptionsToClass{12pt,letterpaper,oneside,final}{book} } +% +\DeclareOption{final}{ + \setlength\overfullrule{0pt} + \typeout{FINAL MODE}\typeout{}\info@pagetrue% + \diss@draftfalse\diss@reviewfalse\diss@finaltrue + \PassOptionsToClass{12pt,letterpaper,oneside,final}{book} } +% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{numrefs} +% \begin{macro}{textrefs} +% The options |numrefs| or |textrefs| select the appropriate citation style i.e.\/ +% ``numbered'' or ``textual'', respectively. By +% choosing |textrefs|, one can get ``author-date'' style of citation in the +% text. The default is |numrefs|. +% \begin{macrocode} +\DeclareOption{numrefs}{ + \typeout{NUMBERED REFERENCES}\num@refstrue} +\DeclareOption{textrefs}{ + \typeout{TEXTUAL REFERENCES}\num@refsfalse} +% \end{macrocode} +% \end{macro} +% \end{macro} +% The option |nocenter| allows non-centered chapter titles. +% \begin{macrocode} +\DeclareOption{nocenter}{\centered@chaptitlefalse} +% +% \end{macrocode} +% The |openbib| option is useful +% in creating indented bibliography. +% Usually you would not need to use this option since the default layout of the +% |bibliography| is very much acceptable. +% \begin{macrocode} +\DeclareOption{openbib}{% + \PassOptionsToPackage{openbib}{natbib} +} +% +% \end{macrocode} +% The |sort| option is passed to natbib, and causes multiple citations to be +% listed in the sequence they appear in the bibliography. +% \begin{macrocode} +\DeclareOption{sort}{% + \PassOptionsToPackage{sort}{natbib} +} +% +% \end{macrocode} +% The |compress| option is passed to natbib, and causes numerical citations to +% be compressed so that, e.g. 1,2,3 becomes 1-3. Does not also sort. +% \begin{macrocode} +\DeclareOption{compress}{% + \PassOptionsToPackage{compress}{natbib} +} +% +% \end{macrocode} +% The |sort&compress| option sorts numerical citations, and then compresses them. +% \begin{macrocode} +\DeclareOption{sort&compress}{% + \PassOptionsToPackage{sort&compress}{natbib} +} +% +% \end{macrocode} +% The other options are declared in the following lines. +% \begin{macro}{twoadvisors} +% The |twoadvisors| +% option sets the flag for modifying the layout of the title page. +% \begin{macrocode} +\DeclareOption{twoadvisors}{\typeout{TWO ADVISORS}\typeout{}% + \advisors@twotrue} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{10pt} +% \begin{macro}{11pt} +% \begin{macro}{12pt} +% The options |10pt|, |11pt| or |12pt| are passed on to the {\sffamily book} +% class if appropriate, depending on whether the |\diss@draft| flag is set true. +% \begin{macrocode} +\DeclareOption{10pt}{% + \ifdiss@draft% + \PassOptionsToClass{10pt}{book}% + \else% + \OptionNotUsed% + \ClassWarningNoLine{nddiss2e}% + {Font size 10pt not allowed; using 12pt}% + \fi% +} +\DeclareOption{11pt}{% + \ifdiss@draft% + \PassOptionsToClass{11pt}{book}% + \else% + \OptionNotUsed% + \ClassWarningNoLine{nddiss2e}% + {Font size 11pt not allowed; using 12pt}% + \fi +} +\DeclareOption{12pt}{% + \PassOptionsToClass{12pt}{book}% +} +% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macrocode} +\DeclareOption{noinfo}{\info@pagefalse} +% +% \end{macrocode} +% The |twoside| option is for when you want to prepare a two-sided +% document for your own use. The only difference from the one-sided document +% is in the page layout. This option is passed on to the parent {\sffamily +% book} class. +% \begin{macrocode} +\DeclareOption{twoside}{\typeout{TWO SIDED DOCUMENT}% + \PassOptionsToClass{twoside}{book} }% +% +% \end{macrocode} +% All options other than those defined above are ignored and +% a warning is printed +% on the screen during compile-time. After processing all the options, the +% \textsf{book} class is loaded with the specified options. +% \begin{macrocode} +\DeclareOption*{\ClassWarning{nddiss2e}% + {UnknownOption `\CurrentOption'} }% +\ProcessOptions\relax +\LoadClass{book} +% +% \end{macrocode} +% At this stage, the packages \textsf{ifthen}, \textsf{exscale}, +% \textsf{etoolbox} \textsf{ifpdf}, \textsf{ifluatex}, +% \textsf{ifxetex}, \textsf{longtable}, \textsf{xspace}, \textsf{ +% indentfirst}, \textsf{tabularx}, \textsf{enumerate} and \textsf{ +% latexsym} are loaded. It is important to load these in a specific +% order so as not to cause conflicts in definitions of certain macros. +% \begin{macrocode} +\RequirePackage{ifthen,exscale,etoolbox} +\RequirePackage{ifpdf,ifluatex,ifxetex} +\ifboolexpr{bool{pdf} or bool{xetex} or bool{luatex}}{}{% + \ClassError{nddiss2e}{% + PDF Output is required to support the PDF/A format. + }{DVI output is not supported. Use pdflatex to generate the dissertation.} +} +\RequirePackage[a-2b]{pdfx} +\RequirePackage{longtable} +\RequirePackage{threeparttable} +\RequirePackage[flushleft]{threeparttablex} +\RequirePackage{xspace} +\RequirePackage{indentfirst} +\RequirePackage{tabularx} +\RequirePackage{enumerate} +\RequirePackage{latexsym} +\RequirePackage{textcase} +% +% \end{macrocode} +% If the |\diss@final| is set false (when using |draft| or |review| option) then +% the {\sffamily showkeys} package is also loaded. +% \begin{macrocode} +% \ifdiss@final\relax\else\RequirePackage{showkeys}\fi +% +% \end{macrocode} +% Depending in whether you are using pdf\LaTeX\space or plain \LaTeX\space, +% \textsf{epsfig}, \textsf{color} and \textsf{graphicx} are loaded +% with respective options. +% \begin{macrocode} +\ifboolexpr{bool{pdf} or bool{xetex} or bool{luatex}}{% + \RequirePackage{epsfig} + \RequirePackage{color} + \RequirePackage{graphicx} + \AtBeginDocument{ + \pdfadjustspacing=1 + } +}{% + \RequirePackage[dvips]{epsfig} + \RequirePackage[dvips]{color} + \RequirePackage[dvips]{graphicx} +} +% +% \end{macrocode} +% Now the \textsf{natbib} package is loaded +% with its options, appropriate to |numrefs| or |textrefs| class option. If |numrefs| is +% specified, then \textsf{natbib} is read-in with its options for +% ``numbered'' references and sorted \& compressed (eg. |[3-6,8-10]|). +% In this case, the default delimiter is square brackets and the +% default seperator is a comma. For the |textrefs| option, the +% \textsf{natbib} package is read-in so as to sort the references in an +% ``author-date'' style of citations. +% The default delimiter and seperator, in this case, are round brackets and +% colon, respectively. +% +% \begin{macrocode} +\ifnum@refs + \RequirePackage[numbers]{natbib} +\else + \RequirePackage[authoryear]{natbib} +\fi +% \end{macrocode} +% Additionally, the packages \textsf{amsmath}, \textsf{float}, \textsf{booktabs}, +% \textsf{rotating}, \textsf{url} and \textsf{setspace} are loaded +% when (pdf)\LaTeX\space processes |\begin{document}|. Again, the +% order of these packages is important. Additionaly when using +% pdf\LaTeX\space, the package \textsf{hyperref} (for +% internal/external links in the document) is also loaded. The options +% for this package have been tested to produce a document which can be +% printed on laser printers without any problems because of colored +% link boxes. Megan added required package pdflscape, which is part +% of the oberdiek bundle in MiKTeX and TeXLive. Using this package +% will flip landscape pages on the screen so that it's easier to read. +% \begin{macrocode} +\AtBeginDocument{ +\RequirePackage{amsmath} +\RequirePackage{float} +\RequirePackage{booktabs} +\RequirePackage{rotating} +\RequirePackage{url} +\RequirePackage[doublespacing]{setspace}[2000/12/01] +\ifboolexpr{bool{pdf} or bool{xetex} or bool{luatex}}{% + \ifluatex + \RequirePackage[luatex]{pdflscape} + \else + \ifxetex + \RequirePackage[xetex]{pdflscape} + \else + \ifpdf + \RequirePackage{pdflscape} + \fi + \fi + \fi + % cannot use RequirePackage since pdfx also includes hyperref + \hypersetup{ + plainpages=false, + pdfpagelabels, + bookmarks=true,% + bookmarksnumbered=true,% + linktocpage=true,% + breaklinks=true,% + bookmarkstype=toc,% + colorlinks=false,% + pdfpagemode=UseOutlines} +}{} +} +\RequirePackage{metalogo} +% +% \end{macrocode} +% Set the |\pagestyle| for the document to |plain| here +% and define default spacing. +% \begin{macrocode} +\AtBeginDocument{ +\pagestyle{plain} +\normalspacing +\typeout{Pagestyle and spacing normal} +} +% +% \end{macrocode} +% Here, define some spacing macros for page layout and doublespacing. +% \begin{macrocode} +\newcommand{\normalspacing}{\doublespacing} +\newcommand\single@baselinestretch{0.979} +\newcommand\double@baselinestretch{1.625} +\newlength{\usedtextsize} +\setlength{\usedtextsize}{\f@size pt} +\newlength{\single@skip} +\setlength{\single@skip}{\single@baselinestretch \usedtextsize} +\newlength{\double@skip} +\setlength{\double@skip}{\double@baselinestretch \usedtextsize} +\setlength{\footnotesep}{\double@skip} +% +% \end{macrocode} +% Define new lengths for some variables for a proper layout of normal pages, +% pages with text and figures and pages with only floats. Note that although +% the geometry package is usually easier, when Megan tried to switch to that +% she discovered that something ends up overwriting it and, although the +% the showframe option showed that the margins were setting correctly, the text +% didn't look like they were. So these length values are set to what geometry +% said they should be to get a 1.5 in left margin and 1 in margins on all other +% sides (we'll use vspace commands later to get the 2 in top margin on pages +% where that's needed). +% \begin{macrocode} +\setlength{\hoffset}{0pt} +\setlength{\voffset}{0pt} +\setlength{\topmargin}{-32pt} +\setlength{\headsep}{20pt} +\setlength{\marginparwidth}{47pt} +\setlength{\marginparsep}{7pt} +\setlength{\textheight}{648pt} +\setlength{\textwidth}{432pt} +\setlength{\oddsidemargin}{36pt} +\setlength{\evensidemargin}{36pt} +\setlength{\footskip}{30pt} +% +\setlength{\floatsep}{30pt} +\setlength{\intextsep}{50pt} +% +% \end{macrocode} +% \begin{macrocode} +\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}% + \cleardoublepage}} +% +% \end{macrocode} +% \begin{macro}{\nddiss} Define the macro |\nddiss| that is the logo +% used in the titlepage and the stamp in the dissertation document. +% \begin{macrocode} +\DeclareRobustCommand{\nddiss}{% + \textsf{{\scshape nd}diss}\kern-0.03em% + 2$_\mathsf{\textstyle\varepsilon}$} +% +% \end{macrocode} +% \begin{macro}{\work} +% \begin{macro}{\degaward} +% \begin{macro}{\advisor} +% \begin{macro}{\secondadvisor} +% \begin{macro}{\department} +% \begin{macro}{\degdate} +% \iffalse (does not appear in documentation) +% In 2005 the Graduate School wanted us to list our degrees after our names. +% In 2013 they no longer want this, so Megan removed the macro. +% Here's the code for it, in case they change their minds again: +% \begin{macro}{\degprior} (goes with the other \begin{macro}s above) +% \newcommand{\degprior}[1]{\def\@degprior{#1}} (goes with other newcommands below) +% \fi +% Here define new macros for use in the dissertation title page. +% \begin{macrocode} +\renewcommand{\title}[1]{\def\@title{#1}} +\newcommand{\work}[1]{\def\@work{#1}} +\newcommand{\degaward}[1]{\def\@degaward{#1}} +\newcommand{\advisor}[1]{\def\@advisor{#1}} +\ifadvisors@two + \newcommand{\secondadvisor}[1]{\def\@secondadvisor{#1}} +\fi +\newcommand{\department}[1]{\def\@department{#1}} +\newcommand{\degdate}[1]{\def\@degdate{#1}} + \degdate{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\year} +% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% As a default, these macros have an empty arguement. Only the |\degdate| macro +% takes on the current month-year combination in the absence of any assignation. +%^^A Removed 9-18-12: \degprior{} +% \begin{macrocode} +% Defaults are empty except the \degdate + \title{} + \author{} + \work{} + \degaward{} + \advisor{} + \ifadvisors@two \secondadvisor{} \fi + \department{} +% +% \end{macrocode} +% \begin{macro}{\@infopage} +% Define |\@infopage| macro that will create a page which contains +% important information about the document and the version of \nddiss\space +% used etc.\ for the end-user and the proofreader along with a standard +% disclaimer and +% details of where to find documentation for the \nddiss\space class +% file. This information can be suppressed by specifying the ``|noinfo|'' +% option while invoking the \nddiss\space class. +% \begin{macrocode} +\DeclareRobustCommand{\@infopage}{ + \thispagestyle{empty} + \null\vspace*{\single@skip} + \begin{center} + This \@work\space \\ entitled \\ \MakeTextUppercase{\@title} \\ + typeset with \nddiss\ v% + \dissfileversion\ (\dissfiledate) % + on \today\space for\\ + \@author\\ + \end{center} + + \normalfont\normalsize\singlespacing + + \noindent This \LaTeXe\space classfile conforms to the + University of Notre Dame style guidelines as of Fall + 2012. However it is still possible to generate a + non-conformant document if the instructions in the class + file documentation are not followed! + + \begin{center} + \begin{minipage}{0.75\textwidth} + \noindent Be sure to refer to the published Graduate + School guidelines at \url{http://graduateschool.nd.edu} + as well. Those guidelines override everything mentioned + about formatting in the documentation for + this \nddiss\space class file. + \end{minipage} + \end{center} + + \noindent\itshape This page can be disabled by + specifying the ``{\upshape\ttfamily noinfo}'' option to the class invocation. + \upshape +(i.e.,{\ttfamily{\textbackslash}documentclass[\ldots,noinfo]\{nddiss2e\}} +) + \begin{center} + {\bfseries\large\singlespacing This page is \slshape NOT + \upshape part of the dissertation/thesis. It should be disabled before + making final, formal submission, but should be included in the version + submitted for format check.} + \end{center} + \normalsize\normalfont + \nddiss\ documentation can be found at these locations: + \begin{center} + \url{http://graduateschool.nd.edu} \\ + \url{https://ctan.org/pkg/nddiss} + \end{center} + +\vfill +\normalfont\normalsize\normalspacing\eject} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\maketitle} +% Redefine the macro |\maketitle| to produce the information page as well as +% the actual title page of the dissertation. +% \begin{macrocode} +\renewcommand{\maketitle}{ + \ifinfo@page\@infopage\else\relax\fi% + \clearemptydoublepage + \normalfont\normalsize\normalspacing +% \end{macrocode} +% \end{macro} +% \begin{macro}{titlepage} +% The structuring begins with checking the proper macros for +% obtaining correct formatting for the title page. If any of those are +% not defined, an error is issued and processing stopped. Most of the code for +% this was taken from the earlier {\sffamily ndthesis} class and hence, the +% documentation is also picked from there. +% \begin{macrocode} + \begin{titlepage}% +\ifthenelse{\equal{\@work}{}}{\ClassError{nddiss2e}% + {The \protect\work\space macro is undefined.\MessageBreak + The title page may be incorrectly formatted.}% + {Specify \protect\work\space as Dissertation or Thesis}}{\relax} +\ifthenelse{\equal{\@degaward}{}}{\ClassError{nddiss2e}% + {The \protect\degaward\space macro is undefined.\MessageBreak + The title page may be incorrectly formatted.}% + {Specify \protect\degaward\space. It defines the awarded degree% + (Ph.D., M.S., etc.)}}{\relax} +\ifthenelse{\equal{\@advisor}{}}{\ClassError{nddiss2e}% + {The \protect\advisor\space macro is undefined.\MessageBreak + The title page may be incorrectly formatted.}% + {Spepcify \protect\advisor\space It is who signs your walking papers!}}{\relax} +\ifthenelse{\equal{\@department}{}}{\ClassError{nddiss2e}% + {The \protect\department\space macro is undefined.\MessageBreak + The title page may be incorrectly formatted.}% + {Specify which \protect\department\space is awarding your degree?}}{\relax} +\ifadvisors@two + \ifthenelse{\equal{\@secondadvisor}{}}{\ClassError{nddiss2e}% + {The \protect\secondadvisor\space macro is undefined.\MessageBreak + The title page may be incorrectly formatted.}% + {Use \protect\secondadvisor\space for your second advisor}}{\relax} +\fi +% +% \end{macrocode} +% \end{macro} +% Now set up some skip registers to +% hold the inter-data spacing. The initial values will create a two-inch top margin +% for the title page, provided the title is only one line long. |\skip1| is the primary +% internal spacing command; |\skip2| is the spacing between the student's name and the +% line for the first adviser to sign if there are two advisers and |\skip3| is the +% spacing between the student's name and the line for the adviser to sign if there is +% only one adviser; |\skip4| controls the top margin. We'll account for titles longer +% than one line in a bit \ldots +% \begin{macrocode} +\skip1=2.1\double@skip +\skip2=1.7\double@skip +\skip3=2.7\double@skip +\skip4=36pt +% +% \end{macrocode} +% If the author has two advisors, we need to do a little tweaking to the +% internal spacing. +% \begin{macrocode} + \ifadvisors@two + \skip1=1.6\double@skip + \else\relax + \fi +% \end{macrocode} +% The 2012 formatting guidelines require the title to be 2'' from the top of page. +% If it's more than one line long, we need to adjust the internal spacing: +% \begin{macrocode} + \setbox0=\vbox{\MakeTextUppercase{\@title}} + \ifdim \ht0 > 3\double@skip + \advance \skip1 -.75\double@skip + \else + \ifdim \ht0 > 2\double@skip + \advance\skip1 -.5\double@skip + \else + \ifdim \ht0 > \double@skip + \advance\skip1 -.25\double@skip + \fi + \fi + \fi +% \end{macrocode} +% Our default assumes a one-line \textsf{degree} field such as +% \begin{center} +% Doctor of Philosophy +% \end{center} +% but we check to see if it is two or three lines long. +% If so, we need to remove those extra lines from the internal spacing. +% \begin{macrocode} + \setbox1=\vbox{\@degaward} + \ifdim \ht1 > 2\double@skip + \advance\skip1 -.5\double@skip + \else + \ifdim \ht1 > \double@skip + \advance \skip1 -.25\double@skip + \else + \relax + \fi + \fi +% \end{macrocode} +% If we have two advisers, a three or four line title, and a +% three line degree field or two advisers, a four line title, and +% a two line degree field, then we need to remove some spacing between +% the name and the first adviser and from the top margin, +% and give that space to the internal spacing. +% \begin{macrocode} + \ifadvisors@two + \ifdim \ht0 > 3\double@skip + \ifdim \ht1 > \double@skip + \advance \skip4 -.675\double@skip + \advance \skip2 -.4\double@skip + \advance \skip1 .25\double@skip + \else \relax + \fi + \else + \ifdim \ht0 > 2\double@skip + \ifdim \ht1 > 2\double@skip + \advance \skip2 -.4\double@skip + \advance \skip1 .1\double@skip + \else \relax + \fi + \else \relax + \fi + \fi + \else \relax + \fi +% \end{macrocode} +% Finally we start putting the text in place \ldots centered, of course. +% \begin{macrocode} + \null\vspace*{\skip4} + \begin{center}% + \MakeTextUppercase{\@title} \par% + \vskip\skip1% +% +% \end{macrocode} +% Now skip the required vertical space, declare that this is for the +% University of Notre Dame, and list what degree has been earned. +% \begin{macrocode} + A \@work \par% + \vskip\skip1% + Submitted to the Graduate School \\ + of the University of Notre Dame \\ + in Partial Fulfillment of the Requirements \\ + for the Degree of \par + \vskip\skip1% + \@degaward% + \vskip\skip1% + by \\% +% +% \end{macrocode} +% Now format the author's name. +% \begin{macrocode} + \@author +% +% \end{macrocode} +% Now skip the proper space and place the signature line for the advisor +% with his/her name typeset below it. This is accomplished by essentially +% centering a box that is twice as long as the required length of the +% signature line and placing the line in only the right-hand side. +% \begin{macrocode} + \ifadvisors@two + \vskip\skip2 + \hspace*{2.75in}\underline{\hspace{2.75in}}\\% + \hspace*{2.75in}\@advisor, Co-Director\\ + \else + \vskip\skip3 + \hspace*{2.75in}\underline{\hspace{2.75in}}\\% + \hspace*{2.75in}\@advisor, Director\\ + \fi% +% +% \end{macrocode} +% If there is a second advisor, place that line here now. +% \begin{macrocode} +\ifadvisors@two % + \vskip\double@skip% + \hspace*{2.75in}\underline{\hspace{2.75in}}\\% + \hspace*{2.75in}\@secondadvisor, Co-Director\\ +\fi +% +% \end{macrocode} +% We end with the department and date; the internal spacing is chosen so +% that these are at the page bottom. +% \begin{macrocode} + \vskip\skip1% + Graduate Program in \@department \\% + Notre Dame, Indiana \\ + \@degdate + \end{center} + \end{titlepage}% +} +% +% \end{macrocode} +% \begin{environment}{copyrightpage} +% The environment |copyrightpage| defines +% the defaults for proper formatting the copyright page (if opted). +% \begin{macrocode} +\newenvironment{copyrightpage}{% + \clearemptydoublepage + \typeout{Copyright page} + \pagestyle{empty} + \null\vfil + \begin{center}\normalspacing}% +{ \end{center}\vfil\null \clearpage } +% +% \end{macrocode} +% \end{environment} +% \begin{macro}{\copyrightholder} +% \begin{macro}{\copyrightyear} +% Define a few macros for defining the copyright holder and the year +% desired. By default, they are taken as the current year and the |author| +% of the dissertation. +% \begin{macrocode} +\newcommand{\@copyrightyear}{\the\year} +\newcommand{\@copyrightholder}{\@author} +\newcommand{\@copyrightlicense}{All Rights Reserved} +\newcommand{\copyrightyear}[1]{\renewcommand{\@copyrightyear}{#1}} +\newcommand{\copyrightholder}[1]{\renewcommand{\@copyrightholder}{#1}} +\newcommand{\copyrightlicense}[1]{\renewcommand{\@copyrightlicense}{#1}} +% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\makecopyright} +% Finally, the |\makecopyright| macro creates the +% copyright page as per defined in the |copyrightpage| environment. +% \begin{macrocode} +\newcommand{\makecopyright}{% + \ifdiss@final + \begin{copyrightpage} + \normalfont\normalsize + \copyright\space Copyright by \\ + \@copyrightholder \\ + \@copyrightyear\\ + \@copyrightlicense \\[10mm] + \end{copyrightpage} + \fi +}% +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\makepublicdomain} +% Or, if chosen, |\makepublicdomain| macro +% creates a copyright page (using earlier |copyrightpage| environment) that +% puts the document in public domain. +% \begin{macrocode} +\newcommand{\makepublicdomain}{% + \ifdiss@final + \begin{copyrightpage} + This document is in the public domain. + \end{copyrightpage} + \fi +}% +% +% \end{macrocode} +% \end{macro} +% Define some new name macros and redefine other name macros as below. These +% are the names of the respective sections in your dissertation document. If +% there's a need to change any name, you must use a similar command in the +% preamble of your document. +% \begin{macrocode} +\providecommand{\abstractname}{Abstract} +\providecommand{\dedicationname}{\mbox{}} +\providecommand{\prefacename}{Preface} +\providecommand{\acknowledgename}{Acknowledgments} +\providecommand{\symbolsname}{Symbols} +\renewcommand{\tablename}{Table} +\renewcommand{\figurename}{Figure} +\renewcommand{\partname}{Part} +\renewcommand{\chaptername}{Chapter} +\renewcommand{\appendixname}{Appendix} +\renewcommand{\contentsname}{Contents} +\renewcommand{\listfigurename}{Figures} +\renewcommand{\listtablename}{Tables} +\renewcommand{\bibname}{Bibliography} +\renewcommand{\indexname}{Index} +% +% \end{macrocode} +% \begin{environment}{abstract} +% This environment is adapted +% from the \textsf{report} class since +% the \textsf{book} class does not have one. Additionally, we add +% a |\pdfbookmark| for the abstract in the pdf document. +% \begin{macrocode} +\newenvironment{abstract}{% + \ifboolexpr{bool{pdf} or bool{xetex} or bool{luatex}}{% + \pdfbookmark[0]{\abstractname}{abstract}%abstract.0 + }{} + \typeout{Abstract page(s)} + \renewcommand{\@oddfoot}{\@empty} + \renewcommand{\@evenfoot}{\@empty} +% \end{macrocode} +% If the abstract extends to a second page, +% place the author's name in top right corner of that page. Make +% sure it's upright, as required by the University and that this appears +% at $0.75''$ from the top. +% \begin{macrocode} + \let\@evenhead\@oddhead + \renewcommand{\@oddhead}{\hfil{\upshape\@author}} + \titlepage + \null + \begin{center} + \vspace*{36pt} + {\normalsize\mdseries \normalspacing + \MakeTextUppercase{\@title} \\[3.5ex] + \normalsize\abstractname \\ by \\ \@author\space}% + \@endparpenalty \@M + \end{center}\par}% +{\par\vfil\null\endtitlepage} +% +% \end{macrocode} +% \end{environment} +% \begin{environment}{dedication} +% The \textsf{dedication} environment is similar to +% the \textsf{abstract} environment. This page is numbered 2 and the +% subsequent pages are numbered accordingly. A pdfbookmark is +% not created because of a reported issue that Adobe products have with +% pdfbookmarks containing an |\mbox|. +% \begin{macrocode} +\newenvironment{dedication}{% + \global\diss@dedicationtrue + \typeout{Dedication page} + \chapter*{\dedicationname}% + \thispagestyle{plain} + \setcounter{page}{2} + \null\centering} +{\par\null\clearpage}% +% +% \end{macrocode} +% \end{environment} +% \begin{macro}{\tableofcontents} The |\tableofcontents| macro is redefined to +% begin at page 2 if the dedication environment does not exist. It is +% single-spaced. +% \begin{macrocode} +\renewcommand\tableofcontents{% + \ifdiss@dedication\relax\else\setcounter{page}{2}\fi + \chapter*{\contentsname}% + \ifboolexpr{bool{pdf} or bool{xetex} or bool{luatex}}{% + \pdfbookmark[0]{\contentsname}{contents}%contents.0 + }{} + \singlespacing + \@starttoc{toc}% + \normalspacing + } +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\listoffigures} +% \begin{macro}{\listoftables} +% These macros are modified to add the +% |\listfigurename| and |\listoftables| +% to the Table of Contents. Both of these are also single spaced. The +% inter-entry spacing is changed by adding a |\vskip| after each entry. This is +% done in the |figure| and |table| environments later. +% \begin{macrocode} +\renewcommand\listoffigures{% + \chapter*{\listfigurename}% + \addcontentsline{toc}{chapter}{\listfigurename}% + \typeout{List of figures - \listfigurename} + \singlespacing + \@starttoc{lof}% + \normalspacing +} +% +\renewcommand\listoftables{% + \chapter*{\listtablename}% + \addcontentsline{toc}{chapter}{\listtablename}% + \typeout{List of tables - \listtablename} + \singlespacing + \@starttoc{lot}% + \normalspacing +} +% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{environment}{preface} +% \begin{environment}{acknowledgement} +% These environments are similar to the \textsf{dedication} environment. They are +% defined as |\chapter*{}| so they are not numbered and not added to Table of +% Contents and so, add that manually by using |\addcontentsline|. +% \begin{macrocode} +\newenvironment{preface}{% + \typeout{Preface page} + \chapter*{\prefacename} + \addcontentsline{toc}{chapter}{\prefacename}% +}% +{\par\null\clearpage}% +% +\newenvironment{acknowledge}{% + \typeout{Acknowledgment page} + \chapter*{\acknowledgename} + \addcontentsline{toc}{chapter}{\acknowledgename}% +}% +{\par\null\clearpage}% +% +% \end{macrocode} +% \end{environment} +% \end{environment} +% \begin{macro}{\unnumchapter} +% Allows the user to create unnumbered chapters that appear in the TOC. +% \begin{macrocode} +\newcommand\unnumchapter[1]{% + \chapter*{#1}% + \addcontentsline{toc}{chapter}{#1}} +% \end{macrocode} +% \end{macro} +% \begin{environment}{symbols} +% \begin{macro}{\sym} +% Define \textsf{symbols} environment which lays out it as a |\chapter*| and +% adds |\symbolsname| to the TOC. The environment is actually a horizontally +% centered \textsf{longtable} environment. To aid entry of a \emph{symbol} and +% its definition, |\sym| macro command is also defined. +% \begin{macrocode} +\newcommand{\sym}[2]{\ensuremath{#1} & #2 \\} +\newenvironment{symbols}[1][rl]{% + \typeout{Symbols page} + \chapter*{\symbolsname}% + \addcontentsline{toc}{chapter}{\symbolsname}% + \begin{center}\begin{longtable}{#1}}% +{\end{longtable}\end{center}\par\null} +% +% \end{macrocode} +% \end{macro} +% \end{environment} +% Modify chapter definition in |\@chapter| to put the word +% ``Chapter'' (|\@chapapp|) in the Table of Contents. +% That is, now the TOC will contain +% ``Chapter 1: First chapter'' rather than +% ``1. First chapter.'' +% The rest of the format code is essentially the same as +% that in the \textsf{book} class. +% \begin{macrocode} +\def\@chapter[#1]#2{ + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \refstepcounter{chapter}% + \typeout{\MakeTextUppercase{\@chapapp\space\thechapter.}}% + \addcontentsline{toc}{chapter}% + {{\@chapapp\ \thechapter: #1}}% + \else + \addcontentsline{toc}{chapter}{#1}% + \fi + \else + \addcontentsline{toc}{chapter}{#1}% + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \@makechapterhead{\MakeTextUppercase{#2}}% + \@afterheading }% +% +% \end{macrocode} +% Modify part definition in |\@part| and |\@spart| to keep the font +% size for part headings |\normalsize| and |\mdseries|. It is otherwise +% the same as in the \textsf{book} class. +% \begin{macrocode} +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >-2\relax + \refstepcounter{part}% + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% + \else + \addcontentsline{toc}{part}{#1}% + \fi + \markboth{}{}% + {\centering + \interlinepenalty \@M + \normalfont + \ifnum \c@secnumdepth >-2\relax + \normalsize\mdseries \partname\nobreakspace\thepart + \par + \vskip 20\p@ + \fi + \normalsize\mdseries \MakeTextUppercase{#2}\par}% + \@endpart} +\def\@spart#1{% + {\centering + \interlinepenalty \@M + \normalfont + \normalsize\mdseries #1\par}% + \@endpart} +% +% \end{macrocode} +% Now format section headings to conform to the official guidelines. +% \begin{macro}{\@makechapterhead} +% First, modify the chapter heading label to be normalsize'd +% and centered. Instead of the bold-faced heading label, +% also make it |\mdseries|. +% If we are in the |\mainmatter|, we add ``CHAPTER'' +% and chapter number before actually putting the chapter name otherwise only the +% ``chapter name'' is put. Note that chapter/section headings must all be +% double-spaced. +% \begin{macrocode} +\renewcommand{\@makechapterhead}[1]{% + \vspace*{30pt}% + {\parindent \z@ \raggedright + \ifnum \c@secnumdepth >\m@ne + \normalfont\normalsize% + \if@mainmatter + \ifcentered@chaptitle\center\else\relax\fi% + \MakeTextUppercase{\@chapapp{} \thechapter}\par\nobreak + \fi + \fi + \interlinepenalty\@M + \ifcentered@chaptitle\center\else\relax\fi% + \mdseries{#1}\par\nobreak + \vskip 30\p@ + }} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@makeschapterhead} +% Make the TOC, LOF, LOT and other |\chapter*| headings in normal size, +% and |\mdseries| by modifying the macro |\@makeschapterhead|. Although these +% heading labels usually fit in a single-line, we copy the formatting for +% the chapter heading label (single-spacing) and make the spacing double again +% for the text. +% \begin{macrocode} +\renewcommand{\@makeschapterhead}[1]{% + \vspace*{30pt}% + {\parindent \z@ \raggedright + \normalfont\normalsize% + \interlinepenalty\@M + \ifcentered@chaptitle\center\else\relax\fi + \mdseries{\MakeTextUppercase{#1}}\par\nobreak + \vskip 30\p@ + }} +% +% \end{macrocode} +% \end{macro} +% Now, set the section labels to |\mdseries| rather than bold-faced. We also +% make sure that these are set in normal spacing, font and size. +% This is done for each +% of |\section|, |\subsection|, |\subsubsection|, |\subsubsubsection|, +% |\paragraph| and |\subparagraph|. +% \begin{macrocode} +\renewcommand\section{\suppressfloats[t]% + \@startsection {section}{1}{\z@}% + {-4.2ex \@plus -1ex \@minus -.2ex}% + {1.8ex \@plus.2ex}% + {\normalfont\normalsize\mdseries} } +\renewcommand\subsection{\suppressfloats[t]% + \@startsection{subsection}{2}{\z@}% + {-3.9ex\@plus -1ex \@minus -.2ex}% + {1.2ex \@plus .2ex}% + {\normalfont\normalsize\mdseries} } +\renewcommand\subsubsection{\suppressfloats[t]% + \@startsection{subsubsection}{3}{\z@}% + {-3.9ex\@plus -1ex \@minus -.2ex}% + {1.2ex \@plus .2ex}% + {\normalfont\normalsize\mdseries} } +\renewcommand\paragraph{% + \@startsection{paragraph}{4}{\z@}% + {3.9ex \@plus1ex \@minus.2ex}% + {-1em}% + {\normalfont\normalsize\mdseries} } +\renewcommand\subparagraph{% + \@startsection{subparagraph}{5}{\parindent}% + {3.9ex \@plus1ex \@minus .2ex}% + {-1em}% + {\normalfont\normalsize\mdseries} } +% +% \end{macrocode} +% \begin{macro}{\l@part} +% Modify the macro |\l@part| that formats part titles in the +% contents-like files (|.toc|, |.lof| and |.lot|) by adding a |\@dottedtocline| +% macro. The indent width is set to 1.5em - to line up a continued line with +% the section number below it. We also leave less space between each part +% and the last section entry than the default and don't change the font. +% \begin{macrocode} +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \setlength\@tempdima{1.5em}% + \begingroup + {\leavevmode + \@dottedtocline{1}{0pt}{\@tempdima}{#1}{#2} + }\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \endgroup + \fi} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\l@chapter} +% Modify the macro |\l@chapter| that formats chapter titles in the +% contents-like files (|.toc|, |.lof| and |.lot|) by adding a |\@dottedtocline| +% macro. The indent width is set to 1.5em - to line up a continued line with +% the section number below it. We also leave less space between each chapter +% and the last section entry than the default. +% \begin{macrocode} +\renewcommand*{\l@chapter}[2]{% + \addpenalty{-\@highpenalty}% + \setlength\@tempdima{1.5em}% + \begingroup \leavevmode + \@dottedtocline{1}{0pt}{\@tempdima}{#1}{#2} + \par + \penalty\@highpenalty + \endgroup +} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\thesubsubsection} +% We increase the number of section-depth by 1 and force subsubsection entry in the TOC +% by increasing the |\tocdepth|. In addition, the label number of +% |\subsubsection| is defined to be similar to that for |\subsection| i.\/e.\/ +% all arabic numerals. +% \begin{macrocode} +\addtocounter{secnumdepth}{1} +\addtocounter{tocdepth}{1} +\renewcommand{\thesubsubsection}{% + \thesubsection.\arabic{subsubsection}} +% +% \end{macrocode} +% \end{macro} +% \begin{environment}{quote} +% Redefine the |quote| environment to be single-spaced instead of being same +% as the rest of the text. +% \begin{macrocode} +\renewenvironment{quote} + {\list{}{\rightmargin\leftmargin}% + \singlespacing + \item\relax} + {\endlist} +% +% \end{macrocode} +% \end{environment} +% \begin{environment}{itemize} +% Redefine the |itemize| environment so that each item is +% single-spaced, but with a line of space between each item. +% \begin{macrocode} +\let\realitemize\itemize +\let\endrealitemize\enditemize +\renewenvironment{itemize} + {\realitemize + \singlespacing} + {\endrealitemize + \doublespacing} +% \end{macrocode} +% \end{environment}{itemize} +% \begin{environment}{enumerate} +% Redefine the |enumerate| environment so that each item is +% single-spaced, but with a line of space between each item. +% Note we need the optional argument in order to be compatible +% with the |enumerate| package +% \begin{macrocode} +\let\realenumerate\enumerate +\let\endrealenumerate\endenumerate +\renewenvironment{enumerate}[1][1.] + {\realenumerate[#1] + \singlespacing} + {\endrealenumerate + \doublespacing} +% \end{macrocode} +% \end{environment}{enumerate} +% \begin{environment}{description} +% Redefine the |description| environment so that each item is +% single-spaced, but with a line of space between each item. +% \begin{macrocode} +\let\realdescription\description +\let\endrealdescription\enddescription +\renewenvironment{description} + {\realdescription + \singlespacing} + {\endrealdescription + \doublespacing} +% \end{macrocode} +% \end{environment}{description} +% Set some lengths that are used in the |table| and the |figure| +% environments. Note that we set the caption width (|\capwidth|) +% to be 90\% of the |\textwidth|. +% \begin{macrocode} +\setlength\abovecaptionskip{20\p@} +\newlength\capwidth +\setlength{\capwidth}{0.90\textwidth} +\newlength\abovetableskip +\newlength\belowtableskip +\newlength\abovefigureskip +\newlength\belowfigureskip +\setlength\abovetableskip\belowcaptionskip +\setlength\belowtableskip\abovecaptionskip +\setlength\abovefigureskip\abovecaptionskip +\setlength\belowfigureskip\belowcaptionskip +% +% \end{macrocode} +% \begin{environment}{figure} +% For the |figure| environment, first some skip lengths are set, then +% use |\@makefigurecaption| to +% format the captions instead of the default |\@makecaption|, since the +% layout is different for |figure| and the |table| environment. Further +% add a |\vskip| to each entry in |.lof| file so that the +% inter-caption spacing seems double-spaced. +% \begin{macrocode} +\renewenvironment{figure}{% + \setlength{\abovecaptionskip}{\abovefigureskip} + \setlength{\belowcaptionskip}{\belowfigureskip} + \let\@makecaption\@makefigurecaption + \@float{figure}}% + {% + \addtocontents{lof}{ {\vskip 0.4em} }% + \end@float% +} +% +% \end{macrocode} +% \end{environment} +% \begin{macro}{\@makefigurecaption} +% The |\@makefigurecaption| is defined to format the caption in a parbox with +% width equal to |\capwidth| and is formatted in +% single-spacing. The interline-spacing is then changed to double after +% the caption. +% \begin{macrocode} +\long\def\@makefigurecaption#1#2{% + \vskip\abovecaptionskip + \begin{center} + \parbox{\capwidth}{ + \centering\singlespacing + {#1}. {#2}%\par + \vskip\belowcaptionskip\normalspacing }% + \end{center} +}% +% +% \end{macrocode} +% \end{macro} +% \begin{environment}{table} +% After setting the above and below skip lengths, +% the |table| environment is set to be +% single spaced. However, to obtain double-spacing between the entries, +% redefine the |\arraystretch| to be equivalent to the +% |\double@baselinestretch|. This way, while there are double-spaced entries, +% the entry itself is single-spaced. Similar to that in +% |\@makefigurecaption|, a |\vskip| is added to each entry in the |.lot| file. +% \begin{macrocode} +\renewenvironment{table}[1][tbp]{% + \setlength{\abovecaptionskip}{\abovetableskip} + \setlength{\belowcaptionskip}{\belowtableskip} + \renewcommand{\arraystretch}{\double@baselinestretch} + \let\scaption\caption% + \renewcommand*{\caption}[2][]{% + \ifthenelse{\equal{##1}{}}{% + \def\shortcaption{##2}% + }{% + \def\shortcaption{##1}% + }% + \scaption[\shortcaption]{\MakeTextUppercase{##2}}% + }% + \let\@makecaption\@maketablecaption + \@float{table}[#1]% + \singlespacing% + }% + {% + \addtocontents{lot}{ {\vskip 0.4em} }% + \end@float% +} +% +% \end{macrocode} +% \end{environment} +% \begin{macro}{\@maketablecaption} +% The |\@maketablecaption| is defined similarly to |\@makefigurecaption| +% to have the table label and caption in +% separate lines and with normal-spacing (double-spaced). +% \begin{macrocode} +\long\def\@maketablecaption#1#2{ + \vskip\abovecaptionskip + \begin{center} + \makebox[\linewidth]{ + \parbox{\capwidth}{ + \centering\normalspacing + \MakeTextUppercase{#1}\\[\single@skip] + {#2}%\par + \vskip\belowcaptionskip }% + }% + \end{center} +} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\longtable} +% Similar to the |table| environment, +% the |longtable| environment is made singly-spaced but the |\arraystretch| is +% made equal to double the |baselinestretch|. +% \begin{macrocode} +\renewcommand\longtable{% + \singlespacing + \renewcommand{\arraystretch}{\double@baselinestretch} + \begingroup + \@ltfirstcaptiontrue + \@ifnextchar[\LT@array{\LT@array[x]}} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\endlongtable} +% This bit is taken from |longtable.sty|. In order to obtain double-spacing +% in the list of tables, a |\vskip| of 0.4em is added to |.lot| file. +% \begin{macrocode} +\renewcommand\endlongtable{% + \crcr + \noalign{% + \let\LT@entry\LT@entry@chop + \xdef\LT@save@row{\LT@save@row}}% + \LT@echunk + \LT@start + \unvbox\z@ + \LT@get@widths + \if@filesw + {\let\LT@entry\LT@entry@write\immediate\write\@auxout{% + \gdef\expandafter\noexpand + \csname LT@\romannumeral\c@LT@tables\endcsname + {\LT@save@row}}}% + \fi + \ifx\LT@save@row\LT@@save@row + \else + \LT@warn{Column \@width s have changed\MessageBreak + in table \thetable}% + \LT@final@warn + \fi + \endgraf\penalty -\LT@end@pen + \addtocontents{lot}{ {\vskip 0.4em} }% + \endgroup + \global\@mparbottom\z@ + \pagegoal\vsize + \endgraf\penalty\z@\addvspace\LTpost + \ifvoid\footins\else\insert\footins{}\fi +} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\LT@makecaption} +% For the |longtable| environment, the |\LTcapwidth| is set equal to +% |\capwidth|. In order to obtain consistent table captions, the command +% |\LT@makecaption| is modified in a similar manner as |\maketablecaption|. +% \begin{macrocode} +\setlength{\LTcapwidth}{\capwidth} +\renewcommand\LT@makecaption[3]{% + \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{% + \vskip\abovetableskip% + \centering\normalspacing + \if@ltfirstcaption + #1{\MakeTextUppercase{#2} }\\[\single@skip] + \MakeTextUppercase{#3}\par + \else% + #1{\MakeTextUppercase{#2 (continued)} }\par + \fi + \global\@ltfirstcaptionfalse + \endgraf\vskip\belowtableskip}% + \hss}}} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\timenow} +% This macro is used in making the |\draftheader| and |\reviewheader| below. It +% outputs time in |HH:MM| format. +% \begin{macrocode} +\newcommand\timenow{% + \@tempcnta=\time \divide\@tempcnta by 60 \number\@tempcnta:\multiply + \@tempcnta by 60 \@tempcntb=\time \advance\@tempcntb by -\@tempcnta + \ifnum\@tempcntb <10 0\number\@tempcntb\else\number\@tempcntb\fi} +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\diss@header} +% This header is used in the dissertation document when the |draft| or |review| +% option is used. These headers serve as a note for the date and time of the +% document compilation. +% \begin{macrocode} +\newcommand{\diss@header}{% + \ifdiss@review Review \else Draft \fi document [\today\/ at \timenow\/] + }% +% +% \end{macrocode} +% \end{macro} +% The header prepared above is put in the document by modifiying the \emph{plain} +% and \emph{empty} pagestyles except when the |final| option is chosen. +% \begin{macrocode} +\ifdiss@final + \renewcommand{\ps@plain}{ + \renewcommand{\@oddhead}{\@empty} + \renewcommand{\@oddfoot}{\hfil\thepage\hfil} + \let\@evenhead\@oddhead + \let\@evenfoot\@oddfoot + }% +\else + \renewcommand{\ps@plain}{ + \renewcommand{\@oddhead}{\framebox[\textwidth]{ + \centering\footnotesize\tt\diss@header}}% + \renewcommand{\@oddfoot}{\hfil\textrm{\thepage}\hfil} + \let\@evenhead\@oddhead + \let\@evenfoot\@oddfoot + }% + \renewcommand{\ps@empty}{ + \renewcommand{\@oddhead}{\framebox[\textwidth]{ + \centering\footnotesize\tt\diss@header}}% + \renewcommand{\@oddfoot}{\@empty} + \let\@evenhead\@oddhead + \let\@evenfoot\@oddfoot + }% +\fi +% +% \end{macrocode} +% \begin{macro}{\bibsection} +% By redefining |\bibsection| macro, add the |\bibname| to the table of +% contents and as a chapter heading for the bibliography. +% \begin{macrocode} +\renewcommand{\bibsection}{ + \chapter*{\bibname}% + \addcontentsline{toc}{chapter}{\bibname}% +}% +% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\bibfont} +% Changed the |\bibfont| macro to obtain single-spacing within each +% bibliographic entry. Between different entries, it is still |\normalspacing|. +% In addition, when the |numrefs| option is selected, the |\@biblabel| is redefined +% to number the bibliographic entries as |1. xxxx| instead of the default +% |[1] xxxx|. +% \begin{macrocode} +\renewcommand{\bibfont}{\singlespacing} +\ifnum@refs + \renewcommand{\@biblabel}[1]{\hfill#1.\hfill} +\fi +% +% \end{macrocode} +% \end{macro} +% Lastly, after the bibliography in the final document, +% add a framed box which contains a blurb about +% the typesetting program and \nddiss\space version used for preparing the +% dissertation document. +% \begin{macrocode} +\ifdiss@final +\AtEndDocument{ + \vfill + \centering\singlespacing + \framebox[0.85\textwidth]{ + \begin{minipage}{0.80\textwidth}\footnotesize% + \centering \itshape This document was prepared \& typeset with + \upshape + \ifluatex + \LuaLaTeX + \else\ifxetex + \XeLaTeX + \else\ifpdf + pdf\LaTeX + \else + \LaTeXe + \fi\fi\fi + \itshape , and + formatted with \upshape\nddiss\xspace\itshape classfile + (v\dissfileversion [\dissfiledate]) + \end{minipage} } + \clearpage} +\else\relax\fi +% +% \endinput +% End of file `nddiss2e.cls'. +% \end{macrocode} +%% +% \iffalse +%</class> +% \fi +% +% \iffalse +%<*template> +\documentclass[draft]{nddiss2e} + % One of the options draft, review, final must be chosen. + % One of the options textrefs or numrefs should be chosen + % to specify if you want numerical or ``author-date'' + % style citations. + % Other available options are: + % 10pt/11pt/12pt (available with draft only) + % twoadvisors + % noinfo (should be used when you compile the final time + % for formal submission) + % sort (sorts multiple citations in the order that they're + % listed in the bibliography) + % compress (compresses numerical citations, e.g. [1,2,3] + % becomes [1-3]; has no effect when used with + % the textrefs option) + % sort&compress (sorts and compresses numerical citations; + % is identical to sort when used with textrefs) +\begin{document} + +\frontmatter % All the items before Chapter 1 go in ``frontmatter'' + +\title{ Title of Work } % Title + +\author{ Jane Doe } % Author's name +\work{ Dissertation } % ``Dissertation'' or ``Thesis'' +\degaward{ Doctor of Philosophy } % Degree you're aiming for. + % Should be one of the following options: + % ``Doctor of Philosophy'' (do NOT include ``in Subject'') + % ``Master of Science \\ in \\ Subject'' +\advisor{ John Public } % Advisor's name + % \secondadvisor{ } % Second advisor, if used option ``twoadvisors'' +\department{ } % Name of the department + +\maketitle % The title page is created now + + % You must use either the \makecopyright option or the \makepublicdomain option. + % \copyrightholder{ } % If you're not the copyright holder + % \copyrightyear{ } % If the copyright is not for the current year + % \makecopyright % If not making your work public domain + % uncomment out \makecopyright + % \makepublicdomain % Uncomment this to make your work public domain + + % Including an abstract is optional for a master's thesis, and required for a + % doctoral dissertation. + % \begin{abstract} + % \end{abstract} + % % Either place the text between begin/end, or + % \include{abstract} % put it in a file to be included + + % Including a dedication is optional. + % \renewcommand{\dedicationname}{\mbox{}} % Replace \mbox{} if you want + % something else. + % \begin{dedication} + % \end{dedication} + % % Use one of the two choices to add dedication text + % \include{dedication} + +\tableofcontents +\listoffigures +\listoftables + + % Including a list of symbols is optional. + %% \renewcommand{\symbolsname}{newsymname} % Replace ``newsymname'' with + % the name you want, and uncomment + % \begin{symbols} + % \end{symbols} + % % Use one of the two choices to add symbols text + % \include{symbols} + + % Including a preface is optional. + %% \renewcommand{\prefacename}{ } % If you want another Preface name, add + % something else, and uncomment. + % \begin{preface} + % \end{preface} + % % Use one of the two choices to add preface text + % \include{preface} + + % Including an acknowledgements section may or may not be optional. It's hard to + % tell from the information available in Spring 2013. + %% \renewcommand{\acknowledgename}{ } % If you want another Acknowledgement name + % add something else, and uncomment + % \begin{acknowledge} + % \end{acknowledge} + % % Use one of the two choices to add acknowledge text + % \include{acknowledgement} + +\mainmatter + % Place the text body here. + % \include{chapter-one} + % Begin each chapter with \chapter{Title}. + +% Appendices are optional. +\appendix + + % If you have appendices, add them here. + % Begin each one with \chapter{TITLE} as before. The \appendix command takes + % care of renaming chapter headings and creates a new page in the Table of + % Contents for them. + % \include{appendix-one} + +\backmatter % Place for bibliography and index + +% If you are using BibTeX to manage your citations: +% Use the ``nddiss2e'' bibliography style, unless your field does not +% include the titles of journal articles in bibliography entires. +% If you do not want the titles of journal articles to appear, use the +% ``nddiss2enoarticletitles'' bibliography style. + +\bibliographystyle{nddiss2e} + \bibliography{ } % input the bib-database file name + +% If you are not using BibTeX to manage your citations, use +% \begin{thebibliography}{number} +% \end{thebilbiography} +% as usual. Note that if you choose this route, formatting the bibliography +% is your responsibility. + +\end{document} + +%</template> +% \fi +%% +% \Finale +\endinput +%% End of file : nddiss2e.dtx diff --git a/macros/latex/contrib/nddiss/nddiss2e.ins b/macros/latex/contrib/nddiss/nddiss2e.ins new file mode 100644 index 0000000000..5376e72ddc --- /dev/null +++ b/macros/latex/contrib/nddiss/nddiss2e.ins @@ -0,0 +1,73 @@ +%% +%% 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 +%% +%% + +\input docstrip.tex +\keepsilent +\usedir{tex/latex/nddiss2e} + +\preamble + +This is a generated file. + + Copyright (C) 2004-2005 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 + + +============================================================== + +Notre Dame's Dissertation document class by Sameer Vijay +that adheres to the University of Notre Dame guidelines +published in Spring 2004. + +Please send any improvements/suggestions to : + Shari Hill, Graduate Reviewer. + shill2@nd.edu + +For documentation on how to use nddiss2e class, process the +file nddiss2e.dtx through LaTeX. + +============================================================== + +\endpreamble +% + +\askforoverwritefalse + +\generate{% + \file{nddiss2e.cls}{\from{nddiss2e.dtx}{class}}% + \file{template.tex}{\from{nddiss2e.dtx}{template}}% +}% + +\obeyspaces +\Msg{****************************************************************} +\Msg{* *} +\Msg{* To finish the installation of the nddiss2e package, you have *} +\Msg{* to move the following file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* nddiss2e.cls *} +\Msg{* *} +\Msg{* To produce the documentation, run the file ``nddiss2e.dtx'' *} +\Msg{* through LaTeX atleast 3 times. *} +\Msg{* (i.e. (pdf)latex nddiss2e.dtx) *} +\Msg{* *} +\Msg{* You may use `template.tex' as a guide for the structure of *} +\Msg{* your document. *} +\Msg{* *} +\Msg{****************************************************************} + +\endbatchfile + +%% End of the file : nddiss2e.ins diff --git a/macros/latex/contrib/nddiss/nddiss2e.pdf b/macros/latex/contrib/nddiss/nddiss2e.pdf Binary files differnew file mode 100644 index 0000000000..990e9c0c1c --- /dev/null +++ b/macros/latex/contrib/nddiss/nddiss2e.pdf diff --git a/macros/latex/contrib/nddiss/process.sh b/macros/latex/contrib/nddiss/process.sh new file mode 100755 index 0000000000..61bfd2af61 --- /dev/null +++ b/macros/latex/contrib/nddiss/process.sh @@ -0,0 +1,19 @@ +#!/bin/sh +filen=nddiss2e +echo $filen +latex ${filen}.ins +latex ${filen}.dtx +latex ${filen}.dtx +makeindex -s gglo.ist -o ${filen}.gls ${filen}.glo +makeindex -s gind.ist -o ${filen}.ind ${filen}.idx +latex ${filen}.dtx +pdflatex ${filen}.dtx +rm -fr ${filen}.aux +rm -fr ${filen}.glo +rm -fr ${filen}.gls +rm -fr ${filen}.idx +rm -fr ${filen}.ilg +rm -fr ${filen}.ind +#rm -fr ${filen}.log +rm -fr ${filen}.out +rm -fr ${filen}.toc |