% \iffalse % File clthesis.dtx % Copyright 1998-1999 Bernd Schandl % email bschand@math.clemson.edu % www http://www.math.clemson.edu/~emcnelis/clthesis % % Documentation and documented source code. % % See the README file for instructions. % % This file can be redistributed and/or modified under the terms % of the LaTeX Project Public License Distributed from CTAN % archives in the directory macros/latex/base/lppl.txt; either % version 1 of the License, or (at your option) any later version. % % \fi % \CheckSum{1935} %% \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 \~} %% % \iffalse %<*driver> \documentclass[11pt]{ltxdoc} \usepackage{url} %% Comment out the next line if you want the documentation for the source code. \OnlyDescription %% If you want not only the documented source code, but also the %% code of the sample file (which is not very interesting) remove %% the percent signs four lines below. \makeatletter \def\EarlyFinale{\global\advance\check@sum by -217\Finale\endinput} \makeatother %% \def\EarlyFinale{\relax} %% Uncomment the next two lines for a change history. %% See also the instructions above (in clthesis.drv). %% \AtBeginDocument{\RecordChanges} %% \AtEndDocument{\PrintChanges} %% Uncomment the next two lines for a command index. %% See also the instructions (in clthesis.drv). %% \AtBeginDocument{\CodelineIndex} %% \AtEndDocument{\setcounter{IndexColumns}{2}\PrintIndex} \begin{document} \DocInput{clthesis.dtx} \end{document} % % \fi % % \iffalse %<*clthesis> % \fi \providecommand{\classname}{clthesis} \providecommand{\classversion}{v1.4} \providecommand{\classdate}{1999/11/10} % \providecommand{\docdate}{1999/11/10} % \iffalse % % \fi % % % \makeatletter % \renewenvironment{theglossary}{% % \glossary@prologue \GlossaryParms \let\item\@idxitem \ignorespaces}{} % \addtolength{\IndexMin}{1cm} % \makeatother % % \MakeShortVerb{\|} % % \changes{v0.1 (1998/07/30)}{}{Initial version; unreleased} % \changes{v0.2 (1998/08/15)}{}{Removed a few bugs; updated the documentation; % unreleased} % \changes{v0.3 (1998/08/25)}{}{Solved some spacing problems; some small % fixes; updated documentation} % \changes{v0.4 (1998/09/03)}{}{Updated documentation; converted to ins/dtx % pair} % \changes{v0.5 (1998/09/08)}{}{Cleaning up code and documentation} % \changes{v0.7 (1998/11/15)}{}{Some changes in the ins file} % \changes{v0.7 (1998/11/15)}{}{Added possibility to print code, but skip the % sample file} % \changes{v1.0 (1999/03/07)}{1999/03/04}{Added files README and license.txt} % \changes{v1.0 (1999/03/07)}{1999/03/04}{Simplified clthesis.ins} % \changes{v1.0 (1999/03/07)}{1999/03/04}{Published under LPPL} % \changes{v1.3 (1999/09/13)}{1999/09/13}{Merged \texttt{licence.txt} % into \texttt{README}} % % % \newcommand{\eg}{e.\,g.\ } % \newcommand{\ie}{i.\,e.\ } % \let\package\textsf % \hyphenation{Make-Index bib-lio-graphy} % % \title{\package{\classname}\thanks{Class version \classversion\ of % \classdate; Documentation of \docdate} % \\ A \LaTeXe\ Class to Format \\ Theses and % Dissertations at Clemson University} % \author{Bernd Schandl \\ {\small |bschand@math.clemson.edu|}} % \date{Printed on \today} % \maketitle % % \begin{abstract} % This class file should help users format their thesis or dissertation % according to the guidelines issued by the Graduate School at Clemson % University \cite{gradschool}. % While not approved officially by the Graduate School it should meet % most if not all of its requirements. This documentation describes % all the commands and environments available to format a thesis. % \end{abstract} % % \section{Before We Start\dots} % % As mentioned in the abstract, the use of the class \package{clthesis} does % not guarantee the acceptance of a thesis by the Graduate School. The user % should read the guidelines of the Graduate School to get information % about all those little details\footnote{By the way, I am sorry about % how your document looks like when you use this class file, but that is % the way the Graduate School wants it to be.}. % % Throughout this documentation we assume that the reader knows \LaTeXe\ % and is familiar with its concept and philosophy. If this is not the case, % it is worth spending some time reading documentations before starting % to waste a lot of time using \LaTeXe\ inefficiently. A good introduction % is given in \cite{l2kurz}, more detailed information can be found in % \cite{companion} and \cite{lamport}. Interesting web sites are % \cite{latex2e} and \cite{latexhelp}. % % % \section{Introduction} % \label{sec:intro} % % Writing a thesis should be all about research and not about how to format % the text. This class file should make the formatting part a little bit % easier. The idea of the file is to read the \package{report} class and change % all the things that the Graduate School wants differently (which are % quite a lot). To accomplish this we use existing \LaTeXe\ packages % as far as possible. The following packages must exist on your system; the % dates in parentheses give the dates of the oldest version this class was % tested with. Since they are all standard packages, this should not be a % problem; otherwise they can be found \eg in the \TeX\ Catalogue Online % \cite{texcatalogue}. % \begin{itemize} % \item \package{geometry} (1997/02/17) % \item \package{keyval} (1995/09/21) % \item \package{setspace} (1998/11/26) \hfill \\ % Although it should not be necessary, you can use the environments % |singlespace| and |doublespace| to change the line spacing. % \changes{v0.8 (1999/01/16)}{1998/11/27}{Require newer version of % \package{setspace}} % \item \package{indentfirst} (1995/11/23) % \item \package{fancyhdr} (1998/08/24) \hfill \\ % In general, we use the page style |standard|. For pages with chapter % headings, we use |plain| and for follow-up pages in the table of contents % etc.\ |followup|. The styles |plain| and |empty| are defined in the same % way. % \item \package{enumerate} (1994/01/31) % \item \package{ifthen} (1996/03/22) % \item \package{ulem} (1997/04/21) \hfill \\ % You can use |\uline{|\meta{text}|}| to underline \meta{text}. The % documentation of the \package{ulem} package provides more information. % \changes{v0.7 (1998/11/15)}{}{Require newer version of \package{ulem}} % \item \package{sectsty} (1999/04/12) \\ % Since underlining in section headings is rather nontrivial, we use % \package{sectsty} to take care of this. % \changes{v0.8 (1999/01/16)}{1999/01/08}{Require more recent version of % \package{sectsty}} % \changes{v1.2 (1999/05/06)}{1999/05/05}{Require more recent version of % \package{sectsty}} % \item \package{footmisc} (1998/05/12) % \changes{v0.8 (1999/01/16)}{1998/01/06}{Require \package{footmisc}} % \end{itemize} % Furthermore we copied code from some \LaTeX\ base files and changed it or % just coded something by ourselves. We tried to take care of most of % the formatting instructions of the Graduate School, but we did not add any % new functionality like an environment for a list of % abbreviations. There are enough \LaTeX\ packages dealing with these % issues. % % If you find a bug or error in the class file, please \emph{do not % change the file \textup{|clthesis.cls|} without changing its name} % (in order to avoid confusion with different file versions with the same % name). But there are better solutions anyway. If you need something changed % which might be of general interest write an email to the author and % it might make its way into the next version. Otherwise you can % copy a definition from |clthesis.cls| to a personal style file, % \eg |mystyle.sty|, change it there and load it with % |\usepackage{mystyle}|. % % \section{Usage} % % An example of how to use this class file and most of its features % is provided in |clsample.tex|. % % Use this class file the same way you would use the \package{report} class, % \ie by putting |\documentclass{clthesis}| at the beginning of your \LaTeX\ % file. You can use exactly the same options as for the \package{report} class, % although you probably do not need to use any options at all. The only % change compared to the \package{report} class is that 11pt font (instead of % 10pt) is used if no font size is specified. This seems to be the preferred % font size of the Graduate School. % % After this you can put all your |\usepackage| commands. The class % \package{clthesis} should work with most of the standard \LaTeX\ % packages\footnote{By the way, if you look for any package or a special % feature, have a look at the \TeX\ Catalogue Online \cite{texcatalogue}.}. % % When you compile your \LaTeX\ file, you will probably get some warnings % that your \LaTeX\ version is too old (when \package{sectsty} is loaded) and % that \cs{@makecol} has changed (when \package{footmisc} is loaded). % You can ignore these warnings. % % \section{The Different Parts of a Thesis} % % \subsection{Initializations} % % \subsubsection{Gathering Information} % % In different parts of the thesis information about the title, the author, % the graduation date etc.\ are needed. You should provide this information % in the preamble by using the following commands. They all have one % argument. % \begin{itemize} % \item \DescribeMacro{\SetDeadline} % |\SetDeadline| Use the Graduate School deadline for the submission of % the duplicated copies. % \item \DescribeMacro{\SetThesistype} % |\SetThesistype| This should be the word ``thesis'' or ``dissertation''. % \item \DescribeMacro{\SetTitle} % |\SetTitle| This is the title as it appears on the approval page. % \item \DescribeMacro{\SetTitleTitlepage} % |\SetTitleTitlepage| This is the title as it appears on the title page. % Use only capital letters except for things like genus names; use % |\newline| for line breaks. % \item \DescribeMacro{\SetAuthor} % |\SetAuthor| Probably your name. % \item \DescribeMacro{\SetDegree} % |\SetDegree| Something like ``Master of Science'' or ``Doctor of % Philosophy''. % \item \DescribeMacro{\SetMajor} % |\SetMajor| Something like ``Mathematical Sciences''. % \item \DescribeMacro{\SetGradmonth} % |\SetGradmonth| The month of your graduation as a word with the first % letter capitalized, \eg ``December''. % \item \DescribeMacro{\SetGradyear} % |\SetGradyear| The year of your graduation, \eg ``1998''. % \item \DescribeMacro{\SetAdvisor} % |\SetAdvisor| The advisor lines on the title page, \eg ``Advisor: % Donald Duck'' or ``Advisor: Bill Clinton $\backslash$newline % Co-Advisor: Al Gore''. % \end{itemize} % \DescribeMacro{\Author} % Usage of a command, \eg |\SetAuthor{Minnie Mouse}| defines a % command without the |Set| part (in this example % |\Author| printing ``Minnie Mouse'') that is used internally but % can also be used throughout the text. % % \subsubsection{Starting the Text} % % \DescribeMacro{\frontmatter} % Before you start any typesetting, use the macro |\frontmatter| to % make some initial settings. You might want to put it directly after % the |\begin{document}|. % % \subsection{Preliminaries} % % \subsubsection{Approval Page} % % \DescribeEnv{approval} \DescribeMacro{\signline} % \DescribeMacro{\accept} \DescribeMacro{\rulethickness} % The environment |approval| is used to format the approval page. % Within this environment, the macro |\signline{|\meta{name}|}| can % be used to print a rule with \meta{name} below. The thickness of % the rule can be changed by using |\setlength| to change % |\rulethickness|. The intermediate sentence (``We have reviewed\dots'') % is printed by the macro |\accept|. The following code shows % an example of an approval page. % \begin{verbatim} % \begin{approval} % \signline{Donald Duck, Advisor} % \signline{Uncle Buck, Co-Advisor} % \accept % \signline{Huey} % \signline{Louie} % \signline{Dewey} % \end{approval} \end{verbatim} % % \pagebreak % \subsubsection{Title Page} % % \DescribeMacro{\maketitle} \DescribeMacro{\titlerule} % The command |\maketitle| formats the title page. The appearance % of the rules can be changed by redefining |\titlerule|. In % \package{clthesis} it is defined as % \nopagebreak[1] \\ \hspace*{\parindent} % |\newcommand{\titlerule}{\rule{7cm}{\rulethickness}}| % % \subsubsection{Copyright Page} % % \DescribeMacro{\makecopyright} % The optional copyright page can be inserted by using the command % |\makecopyright|. % % \subsubsection{Abstract} % % \DescribeEnv{abstract} \DescribeMacro{\abstractname} % Put your abstract in the environment |abstract|. It starts a new page % and prints the heading ``ABSTRACT'' (which can be changed by % redefining |\abstractname|). % % \subsubsection{Dedication} % % \DescribeEnv{dedication} \DescribeMacro{\dedicationpage} % Two commands are provided to format the (optional) dedication page. % If the dedication consists of a couple of sentences, enclose it in the % environment |dedication| and it is formatted as a usual chapter % with the heading ``DEDICATION''. If the dedication consists only % of a few words, use the macro |\dedicationpage| and put the text % in its argument. This might look as follows. % \nopagebreak[1] \\ \hspace*{\parindent} % |\dedicationpage{To my dear friend\\ Mickey}| % % \subsubsection{Autobiography and Acknowledgments} % % \DescribeEnv{autobiography} \DescribeEnv{acknowledgments} % In order to format the (optional) autobiography and the acknowledgments, % use the environments |autobiography| and |acknowledgments|. % % \subsubsection{Table of Contents, List of Tables and Figures} % \label{sec:lists} % % \DescribeMacro{\tableofcontents} \DescribeMacro{\listoftables} % \DescribeMacro{\listoffigures} % The lists are generated as usual with the commands |\tableofcontents|, % |\listoftables| and |\listoffigures|. % % \DescribeMacro{\addtocontentsend} % Due to the way the algorithm for the follow-up header is implemented, it % is not possible to add any text on the last page of a list because they % issue a |\clearpage|. A solution is the macro % |\addtocontentsend{|\meta{list}|}{|\meta{text}|}| which has the same % syntax as |\addtocontents|, only that it writes to the \meta{list} at % the very end of the document. You have to |\protect| some of the % \LaTeX\ commands such as |\vspace| or |\newline|. Use one of the following % identifiers for \meta{list}: |toc|, |lot|, |lof|. % % % \subsection{The Main Part} % % The main part of a thesis consists of all your chapters, sections etc.\ % starting probably with an introduction. % % \subsubsection{Starting the Main Part} % % \DescribeMacro{\mainmatter} % Start your main part with the command |\mainmatter|. This changes % some settings, \eg the page numbering style. % % \subsubsection{Setting the Headings} % % The headings are formatted with the usual \LaTeX\ commands |\chapter|, % |\section|, \dots, |\subparagraph|. Remember to put the chapter headings % in capital letters. The 6th level heading (|\subparagraph|) must end % with a period. Headings in the text and in the table of contents must % not be longer than 4.5\,in and the lines must get progressively shorter. % Note that you \emph{must not} use \cs{newline} but you have to use |\\|. % % \subsubsection{Numbering the Headings} % \label{sec:numhead} % \changes{v0.7 (1998/11/15)}{}{New section about numbering headings} % % The guidelines for numbering headings are quite weird. A different % number of headings can (and sometimes must) be numbered in the table % of contents, the main text, an appendix with one section and an appendix % with several sections. Therefore we had to introduce some new counters. % All the standard and the new counters controlling numbering are explained % below. The default values are given in parentheses, for the |app...| % counters separately for |singleappendix| and |multiappendix| (see % Section~\ref{sec:appendix}). % \begin{itemize} % \item \texttt{secnumdepth} (2) The lowest heading level of the main text % that is numbered in the text. % \item \texttt{appsecnumdepth} (0, 1) As above for the appendix. % \item \texttt{tocnumdepth} (2) The lowest heading level of the main text % that is numbered in the table of contents. % \item \texttt{apptocnumdepth} (0, 1) As above for the appendix. % \item \texttt{tocdepth} (2) The lowest heading level of the main text % that is included in the table of contents. % \item \texttt{apptocdepth} (0, 1) As above for the appendix % \end{itemize} % All the counters can be changed using \cs{setcounter}, preferably in the % preamble but for sure \emph{not in the appendix}. Some of the counters need % an extra \LaTeX\ run to take effect. Remember the internal % \LaTeX\ heading levels are chapter (0), section (1), subsection (2), \dots % % \subsubsection{Environments} % % With very few exceptions all the standard environments can be used as % usual. The exceptions are described in the following. % % \DescribeEnv{enumerate} % We used the \package{enumerate} package written by David Carlisle % to enhance the |enumerate| environment % a little bit. It now has an optional argument which may be used to % format the ``enumeration style''. If you want lowercase Roman letters % you can start your list with % \nopagebreak[1] \\ \hspace*{\parindent} % |\begin{enumerate}[(i)]|\\ % To get something like \textbf{Item A} with capital Latin letters use % \nopagebreak[1] \\ \hspace*{\parindent} % |\begin{enumerate}[\bfseries Item A]|\\ % Read the documentation of the \package{enumerate} package to get more % details. % % \DescribeEnv{doublequotation} \DescribeEnv{doublequote} % Quotations and quotes of more than two lines should be singlespaced. % This can be done by using the standard environments |quotation| and % |quote|. If a shorter text (less than three lines) should be formatted, % use one of the environments |doublequotation| and |doublequote| which % use doublespace between lines. % % If you define your own environments you might % want to adjust the skips above and below the environments. Put a pair % of |\vspace{|\meta{length}|}| before and after the environments. You % should probably use a multiple of |\baselineskip|; depending on % what kind of environment you define, $-0.4$ and $0.4$ are good starting % points. But the Graduate School also accepts a little more space above % and below \eg theorems (no guarantee!). % % % \subsubsection{Captions for Tables and Figures} % % \DescribeMacro{\topcaption} % Note that according to the guidelines captions of tables are on top of the % table, but captions of figures are below. To get a correct formatting, use % the command |\topcaption| for the table captions. It has the same % syntax as the |\caption| command. It also inherits one of the % problems of \cs{caption}, namely that you have to use extra curly braces if % you want to use brackets within the optional argument of \cs{caption} or % \cs{topcaption}. So only the second one of the following two examples works % correctly. % \nopagebreak[1] \\ \hspace*{\parindent} % |\caption[Plot of $[x]$]{Plot of $[x]$}| % \nopagebreak[1] \\ \hspace*{\parindent} % |\caption[{Plot of $[x]$}]{Plot of $[x]$}| \\ % A table and a figure in the text might then look as follows (using the % \package{graphicx} package to include the graphic file). % \begin{verbatim} % \begin{table}[htbp] % \centering % \topcation{Caption of the Table} % \label{tab:firsttable} % \begin{tabular}{cclr} % ... % \end{tabular} % \end{table} % \begin{figure}[htbp] % \centering % \includegraphics[width=8cm]{graph.eps} % \caption{Caption of the Figure} % \label{fig:firstfigure} % \end{figure} \end{verbatim} % % \changes{v0.7 (1998/11/15)}{}{Documentation changed: use \cs{centering} % in \texttt{figure} and \texttt{table}} % Note that we used \cs{centering} instead of the environment % |center| to avoid unnecessary white space. % Captions must not be longer than 4.5\,in and must get progressively % shorter. Use again |\\|, but in the optional argument you have to use % |\protect\\| \eg as in % \nopagebreak[1] \\ \hspace*{\parindent} % |\caption[Text \protect\\ in list]{Text \\ in caption}|\\ % Note that without an optional argument you have to use |\protect\\| in the % mandatory argument as well. % % \subsubsection{Footnotes} % % \DescribeMacro{\realfootnotesize} % Footnotes are set with the usual |\footnote| command. Since they should % be in the same font size as the rest of the text, we introduced a new % command |\realfootnotesize| which controls the font size in the footnotes % and is initialized to |\normalsize|. The command |\footnotesize| is % available as usual, though it does not control the size of the footnotes % anymore, but is just the font size between |\small| and |\scriptsize|. % % % \subsection{Appendix and Beyond} % % \subsubsection{Appendix} % \label{sec:appendix} % % \DescribeEnv{singleappendix} \DescribeEnv{multiappendix} % Depending on whether there is only one or there are several sections in % the appendix, one of the environments |singleappendix| % or |multiappendix| should be used. The |singleappendix| environment % has an optional argument. If this argument is the letter |d|, a divider % page is printed, \ie instead of the heading ``APPENDIX'' on the same % page as the appendix text, it is printed on a separate page. The name % of the appendix can be changed by redefining |\appendixname| and % |\appendicesname|. See also Section~\ref{sec:numhead} on how some counters % affect the numbering of the hadings in the appendix. % % In the appendices the |\chapter| command must not % be used. Use |\section| for the appendices. This is due to the % Graduate School guidelines, that want an appendix heading to be formatted % as second level heading\footnote{By the way, its entry in the table of % contents should look like the entry of a first level heading. Very logical.}. % % \subsubsection{Bibliography} % \label{sec:biblio} % % \DescribeEnv{thebibliography} % In order to format the bibliography, use the environment % |thebibliography| or the command |\bibliography| as usual. If you do % not already use \BibTeX\ you should consider doing so; it saves a % lot of time. % % \DescribeMacro{\@biblabel} % The indentation and the enumeration in the bibliography is correct if % you do not use \BibTeX\ and if you use the \BibTeX\ style |plain|. \linebreak % Otherwise you might need to use \cs{bibfix} as described below and % redefine \cs{@biblabel}. If you are \eg using the |alpha| style the % following redefinition of \cs{@biblabel} should do the job. % \nopagebreak[1] \\ \hspace*{\parindent} % |\makeatletter| % \nopagebreak[1] \\ \hspace*{\parindent} % |\renewcommand{\@biblabel}[1]{[#1]}| % \nopagebreak[1] \\ \hspace*{\parindent} % |\makeatother| % % \changes{v0.7 (1998/11/15)}{}{Documentation update concerning certain % \BibTeX\ styles} % Some \BibTeX\ styles require a style file to be loaded via % |\usepackage| at the beginning of the document (\eg \package{apalike} or % \package{natbib}). Those files usually redefine the |thebibliography| % environment. Since we need to take care of things like double- and % singlespacing we overwrite this redefinition at the beginning of the % document with our own. So if you need to redefine |thebibliography| (I have % no idea why) you should put it in a % |\AtBeginDocument{|\meta{redefinition}|}|. % % \DescribeMacro{\bibfix} % In order to take care of proper indentation (which is especially a problem % with \BibTeX\ styles similar to those mentioned in the last paragraph) the % macro |\bibfix| is provided which has one argument. The argument is executed % at the beginning of the bibliography. % % If you are using \eg \package{apalike} (which does not print the labels in % the bibliography) you can get proper indentation by placing the following % command in the preamble. % \begin{verbatim} % \bibfix{% % \setlength{\labelsep}{0em}% % \setlength{\labelwidth}{0em}% % \setlength{\leftmargin}{.5in}% % \setlength{\itemindent}{-.5in}} \end{verbatim} % We changed the following list parameters: % \changes{v1.0 (1999/03/07)}{1999/03/04}{Documentation update for \BibTeX\ % styles} % \begin{description} % \item[\cs{labelsep}] This is the space between the label and the text. Since % we have no label, we set it to zero. % \item[\cs{labelwidth}] The width of the label. Setting it to zero makes % \LaTeX\ treat the label as a part of the text. % \item[\cs{leftmargin}] This is the extra indent of items from the left % margin. Five characters (as required by the Graduate School) correspond % roughly to 0.5\,in. If your bibliography style uses labels, you have to % take its additional size into account. The default setting for the |plain| % style adds |\labelsep| and |\labelwidth| to |\leftmargin| after setting it % to |0.5in|. % \item[\cs{itemindent}] The extra indent of the first line. In order to get a % hanging indent we set it to a negative value. The label and the % |\labelsep| are to the left of the indented first line. % \end{description} % % % \subsection{Index} % % \DescribeEnv{theindex} % An index can be formatted with the |theindex| environment. It should also % work with \textsc{MakeIndex}. % % \subsection{Additional Chapters} % % Many \LaTeX\ packages exist to format things like an index or a list % of abbreviations. If you want to add such an unnumbered entry (say it % is called ``New''), which % should appear in the table of contents, there are two % possibilities. If you enter the heading explicitly, use something % like % \nopagebreak[1] \\ \hspace*{\parindent} % |\chapter*{NEW}| % \nopagebreak[1] \\ \hspace*{\parindent} % |\addcontentsline{toc}{extrachapter}{NEW}| \\ % If the entire part is formatted by a single command, \eg |\makenew|, % use something like % \nopagebreak[1] \\ \hspace*{\parindent} % |\clearpage| % \nopagebreak[1] \\ \hspace*{\parindent} % |\addcontentsline{toc}{extrachapter}{NEW}| % \nopagebreak[1] \\ \hspace*{\parindent} % |\makenew|\\ % Note that the title of the chapter must be in capital letters, so you % might need to redefine |\makenew| anyway. But probably there is a % possibility to redefine something like |\newname|. On the other hand % you might still need to redefine |\makenew| to adjust spacing due % to single- or doublespaced parts of the new section. % % \section{Acknowledgments} % % We want to thank Dr.\ Saltzman from Clemson University for some good % tips and critics on implementation details; Ron Smith for % sending me his thesis class \package{ufthesis}, which provided some % good ideas, and for helping me with a lot of tough problems; all the % authors of the packages mentioned in Section~\ref{sec:intro}; all the % patient people answering my questions in |comp.text.tex|. % % \section{Wishlist} % % Some of the following things should be implemented (or fixed) in % later versions. If you have any more ideas, feel free to send an email. % Ideas in form of \LaTeX\ code are especially appreciated. % \begin{itemize} % \item A |nonfinal| option which saves a lot of paper by not using % doublespacing should be added. % \item Writing a style file, so that a thesis can be formatted by % using the \package{report} class and this style file without changing % anything in the text. Then the official version can be printed % by using \package{clthesis} and a nice and easier to read version can be % printed by using \package{report} and this additional style file. % \item If you happen to use |\\| in a numbered \cs{paragraph} command % you will not get a hanging indent as expected (and as you will get without % using |\\|). This is a \LaTeX\ bug not related to \package{clthesis}. % \end{itemize} % % \StopEventually{ % \begin{thebibliography}{1} % \bibitem{l2kurz} \textsc{T.\ Oetiker, H.\ Partl, I.\ Hyna, % E.\ Schlegl}. The Not So Short Introduction to \LaTeXe. % \url{ftp://ftp.dante.de/tex-archive/info/lshort/english/lshort.dvi}. % \bibitem{companion} \textsc{Michel Goosens, Frank Mittelbach, % Alexander Samarin}. The \LaTeX\ Companion. Addison-Wesley, 2nd edition, % 1994. % \bibitem{lamport} \textsc{Leslie Lamport}. \LaTeX: A Document Preparation % System. Addison-Wesley, 2nd edition, 1994. % \bibitem{latex2e} \textsc{Unknown author}. LaTeXe help 1.6. \hfill % \url{ftp://ftp.dante.de/tex-archive/info/latex2e-help-texinfo/latex2e.html}. % \bibitem{latexhelp} \textsc{Sheldon Green}. Hypertext Help with \LaTeX. % \url{http://www.astro.ku.dk/help/LaTeX/}. % \bibitem{texcatalogue} \textsc{Graham Williams}. The \TeX\ Catalogue % Online. % \url{ftp://ftp.duke.edu/tex-archive/help/Catalogue/catalogue.html}. % \bibitem{gradschool} \textsc{Clemson University Graduate School}. % The Guide --- Manuscript Preparation and Graduation Clearance. 10th % Revision, 1998. Available at the Graduate School. % \url{http://www.grad.clemson.edu/guide/}. % \changes{v0.8 (1999/01/16)}{1998/11/28}{Added link to Graduate School % guidelines} % \end{thebibliography}} % % % \iffalse %<*clthesis> % \fi % % \section{Implementation} % % The following code is far from perfect. At many places I found solutions just % by trial and error, but after all the code seems to work (although I am % sometimes not sure why ;-). Nevertheless I would appreciate any comments and % suggestions. % % \subsection{Identification} % % Who am I, what version am I and what do I need. The macros |\classname|, % |\classversion| and |\classdate| were already defined at the beginning of % the file without a surrounding |macrocode|. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesClass{\classname}[\classdate\space\classversion\space Thesis class for Clemson University] % \end{macrocode} % % \subsection{Options and Base Class} % % \begin{macro}{\ptsize} % All options are handed down to the report class. The only new thing is % that 11pt font is used if nothing is specified. % \begin{macrocode} \newcommand{\ptsize}{} \DeclareOption{10pt}{\renewcommand\ptsize{10pt}} \DeclareOption{11pt}{\renewcommand\ptsize{11pt}} \DeclareOption{12pt}{\renewcommand\ptsize{12pt}} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}} \ExecuteOptions{11pt} \ProcessOptions\relax \LoadClass[\ptsize]{report} % \end{macrocode} % \end{macro} % % \subsection{Load Packages} % % Since \package{fancyhdr} does not use |\ProvidePackage| we use a special way % to determine whether the version is too old. % \begin{macrocode} \RequirePackage[nofoot]{geometry}[1997/02/17] \RequirePackage[nodisplayskipstretch]{setspace}[1998/11/26] \RequirePackage{indentfirst}[1995/11/23] \RequirePackage{fancyhdr} \@ifundefined{ps@@empty}{% \ClassError{\classname}{% Package fancyhdr is too old.\MessageBreak Get version of 1998/08/24 or newer}{\classname\ will try to redefine pagestyle empty, which is not possible \MessageBreak with older versions of fancyhdr. So get the new version from CTAN or \MessageBreak ask your friendly SysOp to do so.}}{} \RequirePackage{enumerate}[1994/01/31] \RequirePackage{ifthen}[1996/03/22] \RequirePackage[normalem]{ulem}[1997/04/21] \RequirePackage{sectsty}[1999/04/12] \RequirePackage[bottom]{footmisc}[1998/05/12] % \end{macrocode} % \subsection{General Definitions} % % \begin{macro}{\temp@len@a} % \begin{macro}{\temp@len@b} % On several occasions we need temporary length variables. In order to % avoid conflicts with \LaTeX\ internal variables we define two of % our own. % \begin{macrocode} \newlength{\temp@len@a} \newlength{\temp@len@b} % \end{macrocode} % \end{macro} \end{macro} % \begin{macro}{\@removefromreset} % The code for |\@removefromreset| is taken from David Carlisle's % \package{remreset} package of 1997/09/28. % \begin{macrocode} \def\@removefromreset#1#2{{% \expandafter\let\csname c@#1\endcsname\@removefromreset \def\@elt##1{% \expandafter\ifx\csname c@##1\endcsname\@removefromreset \else \noexpand\@elt{##1}% \fi}% \expandafter\xdef\csname cl@#2\endcsname{% \csname cl@#2\endcsname}}} % \end{macrocode} % \end{macro} % ^^A\begin{macro}{\truebaselineskip} % \changes{v0.7 (1998/11/15)}{}{Length \cs{truebaselineskip} added} % \changes{v0.8 (1999/01/16)}{1998/11/22}{Length \cs{truebaselineskip} removed} % ^^A\end{macro} % Since we are switching between single- and doublespacing quite often, % we can never be sure which value \cs{baselineskip} has at the moment. % The macro \cs{f@baselineskip} always contains the natural height of a % line, but since it is a macro it cannot be multiplied by a number as % \eg in |\vspace{.5\f@baselineskip}|. Defining a length according to % \cs{f@baselineskip} (as it was done in v0.7) is the simplest solution, % but it fails as soon as the font size is changed. Therefore we define % a set of macros to be used with \cs{f@baselineskip}. % % \begin{macro}{\multiplied@by} % \changes{v0.8 (1999/01/16)}{}{New macro} % The first macro \cs{multiplied@by} was written by Donald Arseneau as an % answer to one of my postings to |comp.text.tex|. It can be used in commands % like \cs{vspace}, \cs{hspace} or the optional argument of |\\| \eg like in % |\vspace{\f@baselineskip\multiplied@by{.5}}|. % \begin{macrocode} \def\multiplied@by#1{% \begingroup \skip@\lastskip \ifvmode \vskip-\skip@ \vskip#1\skip@ \else \hskip-\skip@ \hskip#1\skip@ \fi \endgroup} % \end{macrocode} % \end{macro} % \begin{macro}{\x@addvspace} % \changes{v0.8 (1999/01/16)}{}{New macro} % Since \cs{multiplied@by} does not work for \cs{addvspace} we have to define % an extended version where the second argument is the multiplier. % \begin{macrocode} \newcommand{\x@addvspace}[2]{% \setlength{\temp@len@a}{#1}% \addvspace{#2\temp@len@a}} % \end{macrocode} % \end{macro} % \begin{macro}{\x@setlength} % \changes{v0.8 (1999/01/16)}{}{New macro} % \begin{macro}{\x@addtolength} % \changes{v0.8 (1999/01/16)}{}{New macro} % Additionally we need extended versions of the macros \cs{setlength} and % \cs{addtolength} which have an additional third argument by which the % second argument is multiplied. % \begin{macrocode} \newcommand{\x@setlength}[3]{% \setlength{\temp@len@a}{#2}% \setlength{#1}{#3\temp@len@a}} \newcommand{\x@addtolength}[3]{% \setlength{\temp@len@a}{#2}% \addtolength{#1}{#3\temp@len@a}} % \end{macrocode} % \end{macro} \end{macro} % \begin{macro}{\basediff} % \changes{v0.7 (1998/11/15)}{}{Macro added and used at various places} % In order to know how much bigger \cs{baselineskip} is compared with % \cs{f@baselineskip} when we are in doublespace mode we define the % macro \cs{basediff} using the values from the \package{setspace} package. % \begin{macrocode} \ifthenelse{\equal{\ptsize}{10pt}}{% \newcommand{\basediff}{.667}}{} \ifthenelse{\equal{\ptsize}{11pt}}{% \newcommand{\basediff}{.618}}{} \ifthenelse{\equal{\ptsize}{12pt}}{% \newcommand{\basediff}{.655}}{} % \end{macrocode} % \end{macro} % \begin{macro}{\x@topmargin} % \changes{v0.7 (1998/11/15)}{}{Macro added} % Adding an exact length to the topmargin is quite tricky, because \LaTeX\ % adds \eg |\topskip| without asking. Therefore we define an extra macro. % \begin{macrocode} \newcommand{\x@topmargin}[1]{% \vspace*{-\topskip}% \vspace{-\parskip}% \vspace{#1}% \nointerlineskip} % \end{macrocode} % \end{macro} % The margins are set using the \package{geometry} package. The length % \cs{temp@len@a} is used to calculate the \cs{headheight}; \cs{temp@len@b} is % used to calculate \cs{headsep}. % % Some settings concerning paragraphs are made including the change of some % penalties. The execution of \cs{doublespacing} is delayed until the % beginning of the document because it uses a command which is only defined % \emph{after} the \cs{documentclass} command has been executed. % \changes{v0.7 (1998/11/15)}{}{Set top margin to page number to 0.6\,in % instead of 0.65\,in} % \changes{v0.7 (1998/11/15)}{}{Set \cs{headheight} explicitly depending on % fontsize} % \changes{v0.8 (1999/01/16)}{1998/12/09}{\cs{headheight} need not be changed % because we set \cs{headrule} to \cs{relax}} % \changes{v0.8 (1999/01/16)}{1998/12/09}{Leave \cs{displaywidowpenalty} at % its default value} % \changes{v1.4 (1999/11/10)}{1999/11/10}{Made \cs{parskip} stretchable} % \begin{macrocode} \setlength{\temp@len@a}{\headheight} \setlength{\temp@len@b}{0.4in} \addtolength{\temp@len@b}{-\temp@len@a} \geometry{hmargin={1.5in,1in},vmargin={.6in,1in},% headheight=\temp@len@a,headsep=\temp@len@b} \setlength{\parindent}{0.5in} \setlength{\parskip}{0pt plus 1pt} \clubpenalty=10000 \@clubpenalty\clubpenalty \widowpenalty=10000 % \displaywidowpenalty=10000 % Do we need this? \brokenpenalty=10000 \AtBeginDocument{\doublespacing} % \end{macrocode} % % \subsection{Footnotes} % % \changes{v0.4 (1998/09/03)}{}{Footnote spacing depending on font size} % \changes{v0.6 (1998/09/13)}{}{Footnotes forced to bottom by adding \cs{fill} % to \cs{skip}\cs{footins}; package \package{footmisc} not needed any more} % \changes{v0.8 (1999/01/16)}{1999/01/06}{Switch back to using % \package{footmisc} because a change in \cs{skip}\cs{footins} sometimes % forces page breaks} % \changes{v1.1 (1999/04/01)}{1999/04/01}{Use \cs{nobreakspace} instead of % \texttt{\textasciitilde} in \cs{@makefnmark}} % \changes{v1.4 (1999/11/10)}{1999/11/10}{Made \cs{footins} stretchable} % The space between footnotes is defined depending on the font size. Due to % the way footnotes are implemented the \cs{footnotesep} % is usually 0.7\cs{baselineskip}. We just add something to make it look like % an empty line between footnotes. % % The space between text and footnotes is increased. Some space % is inserted between the number and the footnote text. % \begin{macrocode} %\setlength{\footnotesep}{.7\baselineskip} \x@addtolength{\footnotesep}{\f@baselineskip}{\basediff} \setlength{\skip\footins}{24pt plus 8pt minus 8pt} \def\@makefnmark{% \hbox{\@textsuperscript{\normalfont\@thefnmark}}\nobreakspace} % \end{macrocode} % \changes{v0.4a (1998/09/03)}{}{Redefinition of \cs{@footnotetext} % and \cs{@mpfootnotetext} is not necessary; redefine % \cs{@makefntext} instead} % \begin{macro}{\realfootnotesize} % Footnotes should be printed with the same font size as the regular text. In % order to preserve |\footnotesize|, a new command |\realfootnotesize| is % introduced and initialized to |\normalsize|. Therefore the code of % |\@makefntext| taken from |report.cls| has to be changed. % \begin{macrocode} \newcommand{\realfootnotesize}{\normalsize} \renewcommand\@makefntext[1]{% \realfootnotesize \parindent 1em% \noindent \hb@xt@1.8em{\hss\@makefnmark}#1} % \end{macrocode} % \end{macro} % % \subsection{Float Parameters} % % \begin{macro}{\intextsep} % \changes{v1.4 (1999/11/10)}{1999/11/10}{Made stretchable} % \begin{macro}{\textfloatsep} % \changes{v1.4 (1999/11/10)}{1999/11/10}{Made stretchable} % \begin{macro}{\floatsep} % \changes{v0.7 (1998/11/15)}{}{Increased from 3 to 5 times % the default \cs{floatsep}} % \changes{v1.4 (1999/11/10)}{1999/11/10}{Made stretchable} % \begin{macro}{\abovecaptionskip} % The space around floats and captions is adjusted a little bit. % \begin{macrocode} \setlength{\intextsep}{42\p@ \@plus 7\p@ \@minus 7\p@} \setlength{\textfloatsep}{60\p@ \@plus 6\p@ \@minus 12\p@} \setlength{\floatsep}{60\p@ \@plus 10\p@ \@minus 10\p@} \setlength{\abovecaptionskip}{1.5\abovecaptionskip} % \end{macrocode} % \end{macro} \end{macro} \end{macro} \end{macro} % % \subsection{Captions} % % \begin{macro}{\@makecaption} % \changes{v0.6 (1998/09/13)}{}{Format of table and figure captions changed; % no need for \package{caption} and \package{topcapt} any more} % \begin{macro}{\caption@delim} % Four things have to be changed. All captions have to centered. There % must not be any delimiter between figure number and caption text. % Table captions have to be on top and ``Table x'' has to be on an % extra line. % \begin{macrocode} \renewcommand{\@makecaption}[2]{% \vskip\abovecaptionskip \begingroup \centering #1\caption@delim #2\par \endgroup \vskip\belowcaptionskip } \newcommand{\caption@delim}{\protect\hspace{1em}} % \end{macrocode} % \end{macro} \end{macro} % \begin{macro}{\topcaption} % \begin{macro}{\@topcaption} % \changes{v0.7 (1998/11/15)}{}{Added extra curly braces to the second % argument in the call of \cs{@caption}} % The next definition is basically copied from the \package{topcapt} % package; only the |\caption@delim| is redefined and a bug in the % call to \cs{@caption} is fixed. % \begin{macrocode} \newcommand{\topcaption}{\refstepcounter\@captype \@dblarg{\@topcaption\@captype}} \def\@topcaption#1[#2]#3{% \begingroup \renewcommand{\caption@delim}{% \\[\f@baselineskip\multiplied@by{\basediff}]}% \@tempskipa\abovecaptionskip \abovecaptionskip\belowcaptionskip \belowcaptionskip\@tempskipa \@caption{#1}[{#2}]{#3}% \@tempskipa\abovecaptionskip \abovecaptionskip\belowcaptionskip \belowcaptionskip\@tempskipa \endgroup} % \end{macrocode} % \end{macro} \end{macro} % % \subsection{Page Headers} % % The page headers are defined using the \package{fancyhdr} package. % In general the |standard| header is used. The styles |empty| and % |plain| produce empty pages and the |followup| style takes care of % the follow-up pages in the table of contents, the list of tables and % the list of figures. The values in the |followup| header were found % by trial and error for 11pt, but they should work for 10pt and 12pt % as well. In order to avoid a ruler under the header \cs{headrule} is % set to \cs{relax}. If we only set \cs{headrulewidth} to zero (as in % pre-0.8 versions) the \cs{headheight} would need to be adapted. % \changes{v0.7 (1998/11/15)}{}{All headers rewritten} % \changes{v0.8 (1999/01/16)}{1998/12/09}{Instead of setting \cs{headrulewidth} % to zero we let \cs{headrule} to \cs{relax}} % \begin{macrocode} \fancypagestyle{standard}{\fancyhf{}\rhead{\thepage}} \fancypagestyle{plain}{\fancyhf{}} \fancypagestyle{empty}{\fancyhf{}} \fancypagestyle{followup}{% \fancyhf{}% \lhead{% \setlength{\unitlength}{1pt}% \begin{picture}(0,0)% \put(0,-34){\makebox(0,0)[bl]{\listname\ (Continued)}}% \put(0,-54){\makebox(0,0)[bl]{\listedthing}}% \end{picture}}% \rhead{% \setlength{\unitlength}{1pt}% \begin{picture}(0,0)% \put(0,0){\makebox(0,0)[br]{\thepage}}% \put(0,-54){\makebox(0,0)[br]{Page}}% \end{picture}}} \pagestyle{standard} \let\headrule\relax % \end{macrocode} % % \subsection{Heading Styles} % % \begin{macro}{\@epsilon} % All the heading styles had to be redefined. % Since the fifth argument of |\@startsection| (afterskip) must not be zero, % a small number |\@epsilon| is used instead. % \changes{v0.7 (1998/11/15)}{}{\cs{@epsilon} set to 1sp} % \begin{macrocode} \newlength{\@epsilon} \setlength{\@epsilon}{1sp} % \end{macrocode} % \end{macro} % \begin{macro}{\chapter} % \changes{v0.7 (1998/11/15)}{}{Use \cs{@afterindentfalse}} % \changes{v0.7 (1998/11/15)}{}{Added period after number in toc entry} % \begin{macro}{\@chapter} % \changes{v0.7 (1998/11/15)}{}{Use \cs{chaptermark}, \cs{@afterheading}} % \begin{macro}{\@makechapterhead} % \changes{v0.7 (1998/11/15)}{}{Use \cs{x@topmargin}, \cs{truebaselineskip}, % \cs{nobreak}, \cs{par}} % \changes{v0.8 (1999/01/16)}{1998/11/22}{Use \cs{f@baselineskip}} % \begin{macro}{\@schapter} % \changes{v0.7 (1998/11/15)}{}{Use \cs{@afterheading}} % \begin{macro}{\@makeschapterhead} % \changes{v0.7 (1998/11/15)}{}{Use \cs{x@topmargin}, \cs{truebaselineskip}, % \cs{nobreak}, \cs{par}} % \changes{v0.8 (1999/01/16)}{1998/11/22}{Use \cs{f@baselineskip}} % Note that a period is added in the toc entry which is IMHO wrong, but the % Graduate School wants it that way. % \begin{macrocode} \renewcommand{\chapter}{% \if@openright\cleardoublepage\else\clearpage\fi \thispagestyle{plain}% \global\@topnum\z@ \@afterindentfalse \secdef\@chapter\@schapter} \renewcommand{\@chapter}[2][?]{% \ifnum -1 < \c@secnumdepth \refstepcounter{chapter}% \typeout{\@chapapp\space\thechapter}% \addcontentsline{toc}{chapter}{% \ifnum -1 < \c@tocnumdepth \protect\numberline{\thechapter.}% \fi #1} \else \addcontentsline{toc}{chapter}{#1}% \fi \chaptermark{#1}% \if@twocolumn \@topnewpage[\@makechapterhead{#2}]% \else \@makechapterhead{#2}% \@afterheading \fi} \renewcommand{\@makechapterhead}[1]{% \x@topmargin{.5in}% \begingroup \setlength{\parindent}{0pt}% \centering\normalfont\normalsize \ifnum -1 < \c@secnumdepth \MakeUppercase{\@chapapp}\space\thechapter\par\nobreak \fi #1\par\nobreak \addvspace{\f@baselineskip}% \endgroup } \renewcommand{\@schapter}[1]{% \if@twocolumn \@topnewpage[\@makeschapterhead{#1}]% \else \@makeschapterhead{#1}% \@afterheading \fi} \renewcommand{\@makeschapterhead}[1]{% \x@topmargin{.5in}% \begingroup \setlength{\parindent}{0pt}% \centering\normalfont\normalsize #1\par\nobreak \addvspace{\f@baselineskip}% \endgroup } % \end{macrocode} % \end{macro} \end{macro} \end{macro} \end{macro} \end{macro} % \begin{macro}{\head@sspace} % \changes{v0.7 (1998/11/15)}{}{New macro} % The lower level headings are all singlespaced. To get appropriate space % correction using \cs{singlespace} (instead of \cs{singlespacing}) would % work. But this is an abuse of the environment |singlespace| and (more % important) can go wrong when the author of \package{setspace} % changes this environment. Therefore we define a macro \cs{head@sspace} which % is a copy of the \cs{begin} part of the |singlespace| environment in % \package{setspace}. % \begin{macrocode} \newcommand{\head@sspace}{% \vskip \baselineskip \setstretch {\setspace@singlespace}% \vskip -\baselineskip } % \end{macrocode} % \end{macro} % \begin{macro}{\section} % \changes{v0.7 (1998/11/15)}{}{\cs{section} and below use % \cs{truebaselineskip}, \cs{head@sspace}} % \changes{v0.8 (1999/01/16)}{1998/11/22}{\cs{section} and below use % \cs{f@baselineskip}} % \changes{v0.8 (1999/01/16)}{1998/12/12}{\cs{section} and below use % \cs{nohang} if they also use \cs{centering}} % \changes{v1.2 (1999/05/06)}{1999/05/05}{Fix for name change in % \package{sectsty}} % \begin{macro}{\subsection} % \changes{v0.8 (1999/01/16)}{1999/0106}{Use \cs{subsectionfont}} % \changes{v1.2 (1999/05/06)}{1999/05/05}{Fix for name change in % \package{sectsty}} % \begin{macro}{\subsubsection} % \changes{v1.2 (1999/05/06)}{1999/05/05}{Fix for name change in % \package{sectsty}} % \begin{macro}{\paragraph} % \changes{v0.8 (1999/01/16)}{1999/0106}{Use \cs{paragraphfont}} % \changes{v1.2 (1999/05/06)}{1999/05/05}{Fix for name change in % \package{sectsty}} % \begin{macro}{\subparagraph} % \changes{v1.2 (1999/05/06)}{1999/05/05}{Fix for name change in % \package{sectsty}} % Now we define all lower level headings. % The package \package{sectsty} is used to take care of underlining. It also % provides the macro \cs{nohang} to avoid a hanging indent in centered % headings. We use |\f@baselineskip| as the natural height of a line. % \begin{macrocode} \sectionfont{% \normalfont\normalsize\centering\nohang\head@sspace\underline} \renewcommand{\section}{\@startsection{section}{1}% {\z@}{\f@baselineskip}{\@epsilon}% {\SS@sectfont}} \subsectionfont{% \normalfont\normalsize\centering\nohang\head@sspace} \renewcommand{\subsection}{\@startsection{subsection}{2}% {\z@}{\f@baselineskip}{\@epsilon}% {\SS@subsectfont}} \subsubsectionfont{% \normalfont\normalsize\raggedright\head@sspace\underline} \renewcommand{\subsubsection}{\@startsection{subsubsection}{3}% {\z@}{\f@baselineskip}{\@epsilon}% {\SS@subsubsectfont}} \paragraphfont{\normalfont\normalsize\raggedright\head@sspace} \renewcommand{\paragraph}{\@startsection{paragraph}{4}% {\z@}{\f@baselineskip}{\@epsilon}% {\SS@parafont}} \subparagraphfont{\normalfont\normalsize\underline} \renewcommand{\subparagraph}{\@startsection{subparagraph}{5}% {\parindent}{\f@baselineskip}{-1em}% {\SS@subparafont}} % \end{macrocode} % \end{macro} \end{macro} \end{macro} \end{macro} \end{macro} % \begin{macro}{\@appsection} % \changes{v0.7 (1998/11/15)}{}{Added period after number in toc entry} % \changes{v0.8 (1999/01/16)}{1998/11/23}{Only numbered if 0 \textless\ % \cs{c@secnumdepth}} % \begin{macro}{\@starappsection} % \begin{macro}{\@section} % \changes{v1.2 (1999/05/06)}{1999/05/05}{Fix for name change in % \package{sectsty}} % The following macros are used for the definition of the |\section| command % in the appendix. As in \cs{chapter} a period has to be added to the toc % entry. % \begin{macrocode} \newcommand{\@appsection}[2][?]{% \ifnum 0 < \c@secnumdepth \refstepcounter{section}% \@section*{\appendixname\ \thesection}% \fi \@section*{#2}% \addcontentsline{toc}{section}{% \ifnum 0 < \c@tocnumdepth \protect\numberline{\thesection.}% \fi #1}} \newcommand{\@starappsection}[1]{% \@section*{\appendixname}% \@section*{#1}} \newcommand{\@section}{\@startsection{section}{1}% {\z@}{\f@baselineskip}{\@epsilon}% {\SS@sectfont}} % \end{macrocode} % \end{macro} \end{macro} \end{macro} % % \subsection{Numbering the Headings} % % First we set the default values for |tocnumdepth| and % the existing counters. % \changes{v0.7 (1998/11/15)}{}{\texttt{secnumdepth} set to 0} % \changes{v1.0 (1999/03/07)}{1999/02/15}{\texttt{secnumdepth} and % \texttt{tocnumdepth} set to 2} % \begin{macrocode} \setcounter{secnumdepth}{2} \newcounter{tocnumdepth} \setcounter{tocnumdepth}{2} \setcounter{tocdepth}{2} % \end{macrocode} % Now we define the new counters. They are set by the appendix % environments using the |aux| file. The |aux| file is read at the % |\begin{document}|, so we have to make sure that we don't % overwrite anything that the user changed in the preamble. % Therefore we initialize the counters to -99 which we can easily test for. % We need two temporary counter which are used in the appendix to save % and restore the values of |tocnumdepth| and |tocdepth|. % \begin{macrocode} \newcounter{appsecnumdepth} \newcounter{apptocnumdepth} \newcounter{apptocdepth} \newcounter{orig@tocnumdepth} \newcounter{orig@tocdepth} \setcounter{appsecnumdepth}{-99} \setcounter{apptocnumdepth}{-99} \setcounter{apptocdepth}{-99} % \end{macrocode} % \begin{macro}{\cond@set} % \changes{v0.7 (1998/11/15)}{}{New macro} % The following macro changes a counter if it hasn't been changed % before. % \begin{macrocode} \newcommand{\cond@set}[2]{% \ifnum\csname c@#1\endcsname = -99 \setcounter{#1}{#2}% \fi} % \end{macrocode} % \end{macro} % \begin{macro}{\add@to@aux} % \changes{v0.7 (1998/11/15)}{}{New macro} % Now the macro that writes to the |aux| file. Due to the way \cs{write} % works, macros in its argument have to be protected with \cs{string}. % \begin{macrocode} \newcommand{\add@to@aux}[1]{% \immediate\write\@mainaux{#1}} % \end{macrocode} % \end{macro} % \begin{macro}{\@sect} % The macro |\@sect| (taken from |latex.ltx|) has to be redefined % in order to use |tocnumdepth| instead of |secnumdepth| in the % |\addcontentline| commands. % \begin{macrocode} \def\@sect#1#2#3#4#5#6[#7]#8{% \ifnum #2>\c@secnumdepth \let\@svsec\@empty \else \refstepcounter{#1}% \protected@edef\@svsec{\@seccntformat{#1}\relax}% \fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6{% \@hangfrom{\hskip #3\relax\@svsec}% \interlinepenalty \@M #8\@@par}% \endgroup \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@tocnumdepth \else \protect\numberline{\csname the#1\endcsname}% \fi #7}% \else \def\@svsechd{% #6{\hskip #3\relax \@svsec #8}% \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@tocnumdepth \else \protect\numberline{\csname the#1\endcsname}% \fi #7}}% \fi \@xsect{#5}} % \end{macrocode} % \end{macro} % % % \subsection{Formats for toc, lot and lof} % % \begin{macro}{\l@chapter} % \changes{v0.8 (1999/01/16)}{1998/11/16}{\cs{par} not necessary, thus removed} % \begin{macro}{\l@section} % \changes{v1.0 (1999/03/07)}{1999/02/15}{Indentation changed} % \begin{macro}{\l@subsection} % \changes{v1.0 (1999/03/07)}{1999/02/15}{Indentation changed} % \begin{macro}{\l@subsubsection} % \changes{v1.0 (1999/03/07)}{1999/02/15}{Indentation changed} % \begin{macro}{\l@paragraph} % \changes{v1.0 (1999/03/07)}{1999/02/15}{Indentation changed} % \begin{macro}{\l@subparagraph} % \changes{v1.0 (1999/03/07)}{1999/02/15}{Indentation changed} % \begin{macro}{\l@extrachapter} % \changes{v0.8 (1999/01/16)}{1998/11/16}{\cs{par} not necessary, thus removed} % \begin{macro}{\l@extraentry} % \changes{v0.8 (1999/01/16)}{1998/11/16}{\cs{par} not necessary, thus removed} % \begin{macro}{\l@figure} % \changes{v0.7 (1998/11/15)}{}{Adapted since lof is now singlespaced} % \changes{v0.8 (1999/01/16)}{1998/11/16}{\cs{par} not necessary, thus removed} % \begin{macro}{\l@table} % \changes{v0.7 (1998/11/15)}{}{Adapted since lot is now singlespaced} % \changes{v0.8 (1999/01/16)}{1998/11/16}{\cs{par} not necessary, thus removed} % All formats have to be changed. Two new entry types are defined, namely % |extrachapter| for things like the title page or the abstract entry and % |extraentry| for the line containing ``CHAPTER''. % \begin{macrocode} \renewcommand{\l@chapter}[2]{% \ifthenelse{\value{tocdepth}>-1}{% \x@addvspace{\f@baselineskip}{\basediff}% \addpenalty{-\@highpenalty}% \@dottedtocline{0}{2em}{1.5em}{#1}{#2}% \x@addvspace{\f@baselineskip}{\basediff}% }{}} \renewcommand{\l@section}{\@dottedtocline{1}{3.5em}{2.3em}} \renewcommand{\l@subsection}{\@dottedtocline{2}{5.8em}{3.2em}} \renewcommand{\l@subsubsection}{\@dottedtocline{3}{9em}{4.1em}} \renewcommand{\l@paragraph}{\@dottedtocline{4}{11em}{5em}} \renewcommand{\l@subparagraph}{\@dottedtocline{5}{13em}{6em}} \newcommand{\l@extrachapter}[2]{% \ifthenelse{\value{tocdepth}>-1}{% \x@addvspace{\f@baselineskip}{\basediff}% \addpenalty{-\@highpenalty}% \@dottedtocline{0}{0em}{0em}{#1}{#2}% \x@addvspace{\f@baselineskip}{\basediff}% }{}} \newcommand{\l@extraentry}[2]{% \ifthenelse{\value{tocdepth}>-1}{% \x@addvspace{\f@baselineskip}{\basediff}% \addpenalty{-\@highpenalty}% \noindent #1\par% \x@addvspace{\f@baselineskip}{\basediff}% }{}} \renewcommand{\l@figure}[2]{% \x@addvspace{\f@baselineskip}{\basediff}% \@dottedtocline{-2}{0em}{3em}{#1}{#2}% \x@addvspace{\f@baselineskip}{\basediff}}% \renewcommand{\l@table}[2]{% \x@addvspace{\f@baselineskip}{\basediff}% \@dottedtocline{-2}{0em}{3em}{#1}{#2}% \x@addvspace{\f@baselineskip}{\basediff}}% % \end{macrocode} % \end{macro} \end{macro} \end{macro} \end{macro} \end{macro} % \end{macro} \end{macro} \end{macro} \end{macro} \end{macro} % \begin{macro}{\@extraindent} % \begin{macro}{\@dottedtocline} % In order to print entries of sections correctly which are longer than one % line the macro |\@dottedtocline| (taken from |latex.ltx|) has to be % redefined. % \begin{macrocode} \newlength{\@extraindent} \setlength{\@extraindent}{1em} \def\@dottedtocline#1#2#3#4#5{% \ifnum #1>\c@tocdepth \else \vskip \z@ \@plus.2\p@ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip \parindent #2\relax\@afterindenttrue \interlinepenalty\@M \leavevmode \@tempdima #3\relax % \end{macrocode} % Only the following four lines have been changed/added. % \begin{macrocode} \advance\leftskip \@extraindent \ifnum #1>\c@tocnumdepth \else \advance\leftskip \@tempdima \fi \null\nobreak\hskip -\leftskip {#4}\nobreak \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill \nobreak \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% \par}% \fi} % \end{macrocode} % \end{macro} \end{macro} % \begin{macro}{\@pnumwidth} % Finally the space between the last dot and the page number must be % increased. % \begin{macrocode} \renewcommand{\@pnumwidth}{2em} % \end{macrocode} % \end{macro} % % \subsection{Add something to the Table of Contents etc.} % % ^^A\begin{macro}{\add@it@now} % \changes{v0.4 (1998/09/03)}{}{Macro \cs{add@it@now} added} % \begin{macro}{\addtocontentsend} % \changes{v0.4 (1998/09/03)}{}{Macro added} % \changes{v0.5 (1998/09/08)}{}{Macro changed according to suggestion of David % Carlisle; macro \cs{add@it@now} unnecessary} % Due to the way the header is assigned for the follow-up pages % of the table of contents etc.\ it is not possible to add some text % at the end of the list, because it issues a |\clearpage| at the very end. % Therefore the command |\addtocontentsend{|\meta{list}|}{|\meta{text}|}| % is defined. % Since we are not sure whether there will be any output at the % end of the last page, the |\write| command must be done immediatly. % \begin{macrocode} \newcommand{\addtocontentsend}[2]{% \AtEndDocument{% \clearpage \begingroup \let\orig@write\write \def\write{\immediate\orig@write}% \addtocontents{#1}{#2}% \endgroup}} % \end{macrocode} % \end{macro} ^^A\end{macro} % \begin{macro}{\immediateaddcontentsline} % \changes{v1.3 (1999/09/13)}{1999/09/13}{Added \cs{immediateaddcontentsline}} % If a macro to add something to the table of contents is executed right % before an \cs{include} command, the ordering in the |toc| may be wrong. % This is due to the fact that the information concerning the |toc| is % written to the |aux| file at the end of the page (to get the correct % page number) while the information conscerning an included file is % written immediatly. If the information for the |toc| file does not % use the page number (like in \cs{mainmatter}) we better write it % immediatly. % \begin{macrocode} \newcommand{\immediateaddcontentsline}[3]{% \begingroup \let\orig@write\write \def\write{\immediate\orig@write}% \addcontentsline{#1}{#2}{#3}% \endgroup} % \end{macrocode} % \end{macro} % % \subsection{Standard Environments} % % Most of the environments (taken from |latex.ltx|, |report.cls| and % |enumerate.sty|) had to be redefined in order to fix problems with % single- and doublespacing. % \begin{macro}{\leftmargini} % But first let's adjust the left indent of itemized lists. % \begin{macrocode} \setlength{\leftmargini}{.5in} % \end{macrocode} % \end{macro} % As always, the spacing problems for lists were bigger than expected. It % turned out that there are two possible solutions to get correct % spacing. Either |\begin{singlespace}| must be called in the first \cs{item} % or we have to use the \package{setspace} internal command \cs{setstretch} % and add some extra space above the list. The first solution is used for % |quote|, |quotation| and |verse| since there is only one \cs{item} which is % already called by the |\begin{|\meta{environment}|}|. The second solution is % used for |itemize|, |enumerate| and |description|. The extra space above the % list cannot be added by using \cs{topsep} because it is added (despite its % name) above \emph{and} below the list. % \begin{environment}{itemize} % \changes{v0.7 (1998/11/15)}{}{Bug for nesting depth greater four fixed} % \changes{v0.8 (1999/01/16)}{1998/11/23}{Spacing simplified using % \cs{setstretch}} % \changes{v0.8 (1999/01/16)}{1998/11/23}{Position of \cs{par} corrected} % We start |itemize| just as in the standard classes. % \begin{macrocode} \renewenvironment{itemize}{% \ifnum \@itemdepth >\thr@@\@toodeep\else \advance\@itemdepth\@ne \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% \fi % \end{macrocode} % Now we check whether we are in a first level list. Since \cs{@listdepth} is % increased by \cs{list} we check for a value of 0. In this case we use % \cs{setstretch} to switch to singlespacing. This does not work in the middle % of a paragraph, so we have to add a \cs{par} which doesn't really matter % because \cs{partopsep} is zero anyway. For every list we have to add some % extra space above. % \begin{macrocode} \ifnum \@listdepth = 0 \par \setstretch{\setspace@singlespace}% \fi \vspace{\f@baselineskip\multiplied@by{\basediff}}% % \end{macrocode} % And now back to normal with some changes in the list parameters. Note % that there are no curly braces |{}| around the first argument of \cs{list}, % otherwise the \cs{expandafter} will try to expand |{|. % \begin{macrocode} \expandafter \list\csname\@itemitem\endcsname{% \def\makelabel##1{\hss\llap{##1}}% \topsep0in \partopsep0in \parsep0in \x@setlength{\itemsep}{\f@baselineskip}{\basediff}% }% }{\endlist} % \end{macrocode} % \end{environment} % \begin{environment}{enumerate} % \changes{v0.7 (1998/11/15)}{}{Bug for nesting depth greater four fixed} % \changes{v0.7 (1998/11/15)}{}{Use \cs{expandafter} before \cs{list} just % as in standard classes} % \changes{v0.8 (1999/01/16)}{1998/11/23}{Spacing simplified using % \cs{setstretch}} % \changes{v0.8 (1999/01/16)}{1998/11/23}{Position of \cs{par} corrected} % Now the |enumerate| environment. It looks a little bit different than % |itemize| because we use David Carlisle's |enumerate.sty|. % \begin{macrocode} \def\enumerate{% \ifnum \@enumdepth >3 \@toodeep\else \advance\@enumdepth \@ne \edef\@enumctr{enum\romannumeral\the\@enumdepth}% \fi \@ifnextchar[{\@@enum@}{\@enum@}} \def\@@enum@[#1]{% \@enLab{}\let\@enThe\@enQmark \@enloop#1\@enum@ \ifx\@enThe\@enQmark\@warning{The counter will not be printed.% ^^J\space\@spaces\@spaces\@spaces The label is: \the\@enLab}\fi \expandafter\edef\csname label\@enumctr\endcsname{\the\@enLab}% \expandafter\let\csname the\@enumctr\endcsname\@enThe \csname c@\@enumctr\endcsname7 % \end{macrocode} % In contrast to the \package{enumerate} package we change % \cs{leftmargin}$\,n$ only if it must be increased. % \changes{v0.9 (1999/01/19)}{1999/01/19}{\cs{leftmargin}$\,n$ is % never decreased} % \begin{macrocode} \settowidth{\@tempdima}{\the\@enLab\hspace{\labelsep}}% \ifdim\@tempdima > \csname leftmargin\romannumeral\@enumdepth\endcsname \csname leftmargin\romannumeral\@enumdepth\endcsname \@tempdima \fi \@enum@} \def\@enum@{% \ifnum \@listdepth = 0 \par \setstretch{\setspace@singlespace}% \fi \vspace{\f@baselineskip\multiplied@by{\basediff}}% \expandafter \list\csname label\@enumctr\endcsname{% \usecounter{\@enumctr}% \def\makelabel##1{\hss\llap{##1}}% \topsep0in \partopsep0in \parsep0in \x@setlength{\itemsep}{\f@baselineskip}{\basediff}% }% } \def\endenumerate{\endlist} % \end{macrocode} % \end{environment} % \begin{environment}{description} % \changes{v0.8 (1999/01/16)}{1998/11/23}{Spacing simplified using % \cs{setstretch}} % Now |description| from |report.cls| with the usual changes. % \begin{macrocode} \renewenvironment{description}{% \ifnum \@listdepth = 0 \par \setstretch{\setspace@singlespace}% \fi \vspace{\f@baselineskip\multiplied@by{\basediff}}% \list{}{% \labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel \topsep0in \partopsep0in \parsep0in \x@setlength{\itemsep}{\f@baselineskip}{\basediff}% }% }{\endlist} % \end{macrocode} % \end{environment} % \begin{environment}{doublequote} % \begin{environment}{quote} % \changes{v0.7 (1998/11/15)}{}{Macro simplified} % The environment |doublequote| is used for quotes consisting of a single % paragraph with less than three lines. For three or more lines |quote| % should be used instead. % \begin{macrocode} \newenvironment{doublequote}{% \list{}{% \rightmargin\leftmargin \topsep0in \partopsep0in \parsep0in }% \item\relax }{% \endlist} \renewenvironment{quote}{% \begin{doublequote}% \begin{singlespace}% }{% \end{singlespace}% \end{doublequote}% } % \end{macrocode} % \end{environment} \end{environment} % \begin{environment}{doublequotation} % \begin{environment}{quotation} % \changes{v0.7 (1998/11/15)}{}{Macro simplified} % The environment |doublequotation| is used for quotes consisting of more than % one paragraph with less than three lines (is this possible?). For three or % more lines |quotation| should be used instead. % \begin{macrocode} \newenvironment{doublequotation}{% \list{}{% \listparindent.5in \itemindent\listparindent \rightmargin\leftmargin \topsep0in \partopsep0in \parsep0in }% \item\relax }{% \endlist} \renewenvironment{quotation}{% \begin{doublequotation}% \begin{singlespace}% }{% \end{singlespace}% \end{doublequotation}% } % \end{macrocode} % \end{environment} \end{environment} % \begin{environment}{verse} % \changes{v0.8 (1999/01/16)}{1998/11/18}{Spacing corrected and % \texttt{singlespace} used} % Finally |verse| from |report.cls|. We set it in |singlespace| but we don't % set \cs{parsep} to zero because we want to have some space between stanzas. % \begin{macrocode} \renewenvironment{verse}{% \let\\\@centercr \list{}{% \itemsep\z@ \itemindent-1.5em \listparindent\itemindent \rightmargin\leftmargin \advance\leftmargin 1.5em \topsep0in \partopsep0in }% \item\relax \begin{singlespace}% }{% \end{singlespace}% \endlist } % \end{macrocode} % \end{environment} % % \subsection{General Parts of a Dissertation} % % \begin{macro}{\frontmatter} % \begin{macro}{\mainmatter} % \changes{v1.3 (1999/09/13)}{1999/09/13}{Use \cs{immediateaddcontentsline}} % The appendix is defined later. % \begin{macrocode} \newcommand{\frontmatter}{\clearpage\pagenumbering{roman}} \newcommand{\mainmatter}{% \clearpage\pagenumbering{arabic}% \immediateaddcontentsline{toc}{extraentry}{% \MakeUppercase{\chaptername}}} % \end{macrocode} % \end{macro} \end{macro} % % \subsection{Gathering information} % % \begin{macro}{\SetDeadline} % \begin{macro}{\Deadline} % \begin{macro}{\SetThesistype} % \begin{macro}{\Thesistype} % \begin{macro}{\SetTitle} % \begin{macro}{\Title} % \begin{macro}{\SetAuthor} % \begin{macro}{\Author} % \begin{macro}{\SetDegree} % \begin{macro}{\Degree} % \begin{macro}{\SetMajor} % \begin{macro}{\Major} % The first pieces of information are used on the approval page and beyond. % \begin{macrocode} \newcommand{\Deadline}{Deadline NOT DEFINED} \newcommand{\SetDeadline}[1]{\renewcommand{\Deadline}{#1}} \newcommand{\Thesistype}{Thesistype NOT DEFINED} \newcommand{\SetThesistype}[1]{% \renewcommand{\Thesistype}{\MakeLowercase{#1}}} \newcommand{\Title}{Title NOT DEFINED} \newcommand{\SetTitle}[1]{\renewcommand{\Title}{#1}} \newcommand{\Author}{Author NOT DEFINED} \newcommand{\SetAuthor}[1]{\renewcommand{\Author}{#1}} \newcommand{\Degree}{Degree NOT DEFINED} \newcommand{\SetDegree}[1]{\renewcommand{\Degree}{#1}} \newcommand{\Major}{Major NOT DEFINED} \newcommand{\SetMajor}[1]{\renewcommand{\Major}{#1}} % \end{macrocode} % \end{macro} \end{macro} \end{macro} \end{macro} \end{macro} \end{macro} % \end{macro} \end{macro} \end{macro} \end{macro} \end{macro} \end{macro} % \begin{macro}{\SetTitleTitlepage} % \begin{macro}{\TitleTitlepage} % \begin{macro}{\SetGradmonth} % \begin{macro}{\Gradmonth} % \begin{macro}{\SetGradyear} % \begin{macro}{\Gradyear} % \begin{macro}{\SetAdvisor} % \begin{macro}{\Advisor} % Now the additional information for the title page and beyond. % \begin{macrocode} \newcommand{\TitleTitlepage}{TitleTitlepage NOT DEFINED} \newcommand{\SetTitleTitlepage}[1]{% \renewcommand{\TitleTitlepage}{#1}} \newcommand{\Gradmonth}{Gradmonth NOT DEFINED} \newcommand{\SetGradmonth}[1]{\renewcommand{\Gradmonth}{#1}} \newcommand{\Gradyear}{Gradyear NOT DEFINED} \newcommand{\SetGradyear}[1]{\renewcommand{\Gradyear}{#1}} \newcommand{\Advisor}{Advisor NOT DEFINED} \newcommand{\SetAdvisor}[1]{\renewcommand{\Advisor}{#1}} % \end{macrocode} % \end{macro} \end{macro} \end{macro} \end{macro} % \end{macro} \end{macro} \end{macro} \end{macro} % % \subsection{Approval Page} % % \begin{macro}{\rulethickness} % \begin{macro}{\halflinewidth} % \begin{macro}{\leftofline} % \begin{macro}{\sign@line} % \changes{v0.8 (1999/01/16)}{1998/11/20}{New box} % First some general settings. The line for the signatures will % be saved in the box \cs{sign@line} % \begin{macrocode} \newlength{\rulethickness} \setlength{\rulethickness}{.3mm} \newlength{\halflinewidth} \newlength{\leftofline} \newsavebox{\sign@line} % \end{macrocode} % \end{macro} \end{macro} \end{macro} \end{macro} % \begin{macro}{\signline} % The macro |\signline| prints a line with its argument below. % \begin{macrocode} \newcommand{\signline}[1]{% \vspace{\f@baselineskip\multiplied@by{2}}% \noindent\hspace*{\leftofline}% \usebox{\sign@line}\\ \noindent\hspace*{\leftofline}#1\par} % \end{macrocode} % \end{macro} % \begin{macro}{\accept} % The |\accept| macro prints the intermediate text. % \begin{macrocode} \newcommand{\accept}{% \setlength{\leftofline}{0pt}% \vfill \noindent We have reviewed this \Thesistype \\ and recommend its acceptance:\par\vspace{\f@baselineskip}} % \end{macrocode} % \end{macro} % \begin{environment}{approval} % \changes{v0.5 (1998/09/08)}{}{Use \cs{linewidth} instead of % \cs{textwidth}; set \cs{halflinewidth} at beginning of % \texttt{approval} environment} % \changes{v0.7 (1998/11/15)}{}{Use \cs{x@topmargin}} % Now the |approval| environment can do the rest. % \begin{macrocode} \newenvironment{approval}{% \clearpage \thispagestyle{empty}% \addtocounter{page}{-1}% \setlength{\halflinewidth}{.5\linewidth}% \setlength{\leftofline}{\halflinewidth}% \sbox{\sign@line}{% \rule[-.7ex]{\halflinewidth}{\rulethickness}}% \begin{singlespace}% \x@topmargin{.5in}% \noindent\hspace*{\halflinewidth}\Deadline \\[\f@baselineskip\multiplied@by{3}]% To the Graduate School:\par \vspace{\f@baselineskip\multiplied@by{\basediff}}% This \Thesistype\ entitled ``\Title'' and written by \Author\ is presented to the Graduate School of Clemson University. I recommend that it be accepted in partial fulfillment of the requirements for the degree of \Degree\ with a major in \Major.\par\vspace{\f@baselineskip}% }{% \vfill \noindent\hspace*{\halflinewidth}% Accepted by the Graduate School:% \\[\f@baselineskip\multiplied@by{2}]% \noindent\hspace*{\halflinewidth}% \usebox{\sign@line}% \end{singlespace}% \clearpage} % \end{macrocode} % \end{environment} % % \subsection{Title Page} % \begin{macro}{\titlerule} % \begin{macro}{\maketitle} % \changes{v0.7 (1998/11/15)}{}{Use \cs{centering} and \cs{x@topmargin}} % The \cs{maketitle} command is pretty straightforward. % \begin{macrocode} \newcommand{\titlerule}{\rule{7cm}{\rulethickness}} \renewcommand{\maketitle}{% \clearpage\thispagestyle{empty}% \x@topmargin{.5in}% \addcontentsline{toc}{extrachapter}{TITLE PAGE}% \begingroup \centering \vfill \TitleTitlepage \\ \titlerule \\ A \ifthenelse{\equal{\Thesistype}{thesis}}% {Thesis}{Dissertation}\\ Presented to\\ the Graduate School of\\ Clemson University\\ \titlerule \\ In Partial Fulfillment\\ of the Requirements for the Degree\\ \Degree \\ \Major \\ \titlerule \\ by \\ \Author \\ \Gradmonth\ \Gradyear \\[\f@baselineskip\multiplied@by{\basediff}] \Advisor \vfill \endgroup \clearpage} % \end{macrocode} % \end{macro} \end{macro} % % \subsection{Other Preliminary Pages} % % \begin{macro}{\makecopyright} % \changes{v0.7 (1998/11/15)}{}{Use \cs{centering}} % \begin{environment}{abstract} % \begin{environment}{dedication} % \begin{macro}{\dedicationpage} % \changes{v0.7 (1998/11/15)}{}{Use \cs{centering} and \cs{x@topmargin}} % \begin{environment}{autobiography} % \begin{environment}{acknowledgments} % The following macros and environments are all pretty straightforward. % \begin{macrocode} \newcommand{\makecopyright}{% \clearpage\thispagestyle{plain}% \begingroup \centering \null\vfill Copyright \Gradyear \\ \Author \\ All Rights Reserved \par \endgroup \clearpage} \renewenvironment{abstract}{% \chapter*{\MakeUppercase{\abstractname}}% \addcontentsline{toc}{extrachapter}{% \MakeUppercase{\abstractname}}% }{\clearpage} \newenvironment{dedication}{% \chapter*{DEDICATION}% \addcontentsline{toc}{extrachapter}{DEDICATION}% }{\clearpage} \newcommand{\dedicationpage}[1]{% \clearpage\thispagestyle{plain}% \addcontentsline{toc}{extrachapter}{DEDICATION}% \x@topmargin{0pt}% \begingroup \centering \vfill #1 \vfill \endgroup \clearpage} \newenvironment{autobiography}{% \chapter*{AUTOBIOGRAPHY}% \addcontentsline{toc}{extrachapter}{AUTOBIOGRAPHY}% }{\clearpage} \newenvironment{acknowledgments}{% \chapter*{ACKNOWLEDGMENTS}% \addcontentsline{toc}{extrachapter}{ACKNOWLEDGMENTS}% }{\clearpage} % \end{macrocode} % \end{environment} \end{environment} \end{macro} % \end{environment} \end{environment} \end{macro} % % \subsection{Table of Contents, List of Figures, List of Tables} % % \changes{v0.3 (1998/08/25)}{}{Changed (and hopefully fixed) the header % mechanism for toc, lot and lof; using \cs{label} and % \cs{ref} now} % \changes{v0.4 (1998/09/03)}{}{Again changed followup mechanism for toc, % lof and lot; now using \cs{clearpage}} % \begin{macro}{\listname} % \begin{macro}{\listedthing} % All lists are implemented pretty much in the same way. The first two % commands are used for the construction of the |followup| % header. % \begin{macrocode} \newcommand{\listname}{listname NOT DEFINED} \newcommand{\listedthing}{listedthing NOT DEFINED} % \end{macrocode} % \end{macro} \end{macro} % \begin{macro}{\contentsname} % \begin{macro}{\tableofcontents} % \changes{v0.7 (1998/11/15)}{}{Some changes related to new headers} % \changes{v1.0 (1999/03/07)}{1999/01/27}{Added \cs{x@addvspace} after % \cs{begin$\{$singlespace*$\}$}} % The really tricky thing was the implementaion of the |followup| % headers. The increase in \cs{topskip} was found by trial and error % and only takes effect on followup pages. The \cs{x@addvspace} is % necessary to prevent error when the first entry is not a chapter % (which is pretty unlikely). % \begin{macrocode} \renewcommand{\contentsname}{Table of Contents} \renewcommand{\tableofcontents}{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \clearpage \pagestyle{followup}% \renewcommand{\listname}{\contentsname}% \renewcommand{\listedthing}{}% \addtolength{\topskip}{44pt}% \chapter*{\MakeUppercase{\contentsname}}% \mbox{}\hfill Page\par \begin{singlespace*}% \x@addvspace{\f@baselineskip}{\basediff}% \@starttoc{toc}% \end{singlespace*}% \if@restonecol\twocolumn\fi \clearpage \addtolength{\topskip}{-44pt}% \pagestyle{standard}% } % \end{macrocode} % \end{macro} \end{macro} % \begin{macro}{\listfigurename} % \begin{macro}{\listoffigures} % \changes{v0.7 (1998/11/15)}{}{Some changes related to new headers} % \changes{v1.0 (1999/03/07)}{1999/01/27}{Added \cs{x@addvspace} after % \cs{begin$\{$singlespace*$\}$}} % \begin{macro}{\listtablename} % \begin{macro}{\listoftables} % \changes{v0.7 (1998/11/15)}{}{Some changes related to new headers} % \changes{v1.0 (1999/03/07)}{1999/01/27}{Added \cs{x@addvspace} after % \cs{begin$\{$singlespace*$\}$}} % The list of figures and the list of tables are implemented in the same % way as the table of contents. % \begin{macrocode} \renewcommand{\listfigurename}{List of Figures} \renewcommand{\listoffigures}{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \clearpage \pagestyle{followup}% \renewcommand{\listname}{\listfigurename}% \renewcommand{\listedthing}{\figurename}% \addtolength{\topskip}{44pt}% \chapter*{\MakeUppercase{\listfigurename}}% \addcontentsline{toc}{extrachapter}{% \MakeUppercase{\listfigurename}}% \noindent\figurename\hfill Page\par \begin{singlespace*}% \x@addvspace{\f@baselineskip}{\basediff}% \@starttoc{lof}% \end{singlespace*}% \if@restonecol\twocolumn\fi \clearpage \addtolength{\topskip}{-44pt}% \pagestyle{standard}% } \renewcommand{\listtablename}{List of Tables} \renewcommand{\listoftables}{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \clearpage \pagestyle{followup}% \renewcommand{\listname}{\listtablename}% \renewcommand{\listedthing}{\tablename}% \addtolength{\topskip}{44pt}% \chapter*{\MakeUppercase{\listtablename}}% \addcontentsline{toc}{extrachapter}{% \MakeUppercase{\listtablename}}% \noindent\tablename\hfill Page\par \begin{singlespace*}% \x@addvspace{\f@baselineskip}{\basediff}% \@starttoc{lot}% \end{singlespace*}% \if@restonecol\twocolumn\fi \clearpage \addtolength{\topskip}{-44pt}% \pagestyle{standard}% } % \end{macrocode} % \end{macro} \end{macro} \end{macro} \end{macro} % % \subsection{Appendix} % % \begin{macro}{\appendicesname} % \begin{environment}{multiappendix} % \changes{v0.7 (1998/11/15)}{}{Use \cs{centering} and \cs{x@topmargin}} % \changes{v0.7 (1998/11/15)}{}{Use the new counters and \cs{add@to@aux}} % \changes{v1.1 (1999/04/01)}{1999/04/01}{Step chapter counter before setting % it to 0} % \changes{v1.3 (1999/09/13)}{1999/09/13}{Use \cs{immediateaddcontentsline}} % For the |multiappendix| environment many things concerning headings have to % be changed. But let's start with the easy things and the divider page. % \begin{macrocode} \newcommand{\appendicesname}{Appendices} \newenvironment{multiappendix}{% \clearpage\thispagestyle{plain}% \x@topmargin{0pt}% \refstepcounter{chapter}% \appendix \immediateaddcontentsline{toc}{extraentry}{% \MakeUppercase{\appendicesname}}% \begingroup \centering \vfill \MakeUppercase{\appendicesname}% \vfill \endgroup \clearpage % \end{macrocode} % Now we redefine \cs{section} based on some macros we defined earlier. % \begin{macrocode} \renewcommand{\thesection}{\Alph{section}}% \renewcommand{\section}{% \clearpage\secdef\@appsection\@starappsection}% % \end{macrocode} % The default values for the |app...| counters are set in the |aux| file if % the user didn't change them in the preamble. Note that \cs{protect} does not % work here, we have to use \cs{string}. % \begin{macrocode} \add@to@aux{\string\cond@set{appsecnumdepth}{1}}% \add@to@aux{\string\cond@set{apptocnumdepth}{1}}% \add@to@aux{\string\cond@set{apptocdepth}{1}}% % \end{macrocode} % Now we use the |app...| counters. We have to change |tocnumdepth| % here \emph{and} in the |toc| file because it is used by \cs{@dottedtocline} % while |tocdepth| needs to be changed only in the |toc| file. Both have to be % restored later. Therefore we save its values. Since % we do not use \cs{setcounter} all counter changes stay local to the % environment (except for the one that are done in the |toc| file of course). % \begin{macrocode} \c@secnumdepth\c@appsecnumdepth \c@tocnumdepth\c@apptocnumdepth \addtocontents{toc}{\c@orig@tocnumdepth\c@tocnumdepth}% \addtocontents{toc}{\c@tocnumdepth\c@apptocnumdepth}% \addtocontents{toc}{\c@orig@tocdepth\c@tocdepth}% \addtocontents{toc}{\c@tocdepth\c@apptocdepth}% % \end{macrocode} % The |toc| styles for the headings have to be changed in the |toc| file as % well. % \begin{macrocode} \addtocontents{toc}{% \protect\renewcommand{\protect\l@section}{% \protect\@dottedtocline{1}{2em}{1.5em}}% \protect\renewcommand{\protect\l@subsection}{% \protect\@dottedtocline{2}{3.5em}{2.3em}}% \protect\renewcommand{\protect\l@subsubsection}{% \protect\@dottedtocline{3}{5.8em}{3.2em}}% \protect\renewcommand{\protect\l@paragraph}{% \protect\@dottedtocline{4}{9em}{4.1em}}% \protect\renewcommand{\protect\l@subparagraph}{% \protect\@dottedtocline{5}{11em}{5em}}% }% % \end{macrocode} % \changes{v1.1 (1999/04/01)}{1999/04/01}{Equation numbering corrected} % Finally the floats have to be numbered within sections now. We are a little % more careful concerning equations. % \begin{macrocode} \renewcommand{\thefigure}{\thesection.\arabic{figure}}% \@addtoreset{figure}{section}% \renewcommand{\thetable}{\thesection.\arabic{table}}% \@addtoreset{table}{section}% \renewcommand{\theequation}{% \ifnum \c@section>\z@ \thesection.\fi \arabic{equation}}% \@addtoreset{equation}{section}% }{% % \end{macrocode} % \changes{v0.7 (1998/11/15)}{}{Only restore non-local changes} % At the end of |multiappendix| we only need to restore the non-local % changes \ie the changes made in the |toc| file. % \begin{macrocode} \addtocontents{toc}{\c@tocnumdepth\c@orig@tocnumdepth}% \addtocontents{toc}{\c@tocdepth\c@orig@tocdepth}% \addtocontents{toc}{% \protect\renewcommand{\protect\l@section}{% \protect\@dottedtocline{1}{3.5em}{2.3em}}% \protect\renewcommand{\protect\l@subsection}{% \protect\@dottedtocline{2}{5.8em}{3.2em}}% \protect\renewcommand{\protect\l@subsubsection}{% \protect\@dottedtocline{3}{9em}{4.1em}}% \protect\renewcommand{\protect\l@paragraph}{% \protect\@dottedtocline{4}{11em}{5em}}% \protect\renewcommand{\protect\l@subparagraph}{% \protect\@dottedtocline{5}{13em}{6em}}% }% % \end{macrocode} % Usually there should not be any numbered headings, tables and % figures after the appendix. The following settings are the only % (more or less) sensible I can think of. % \begin{macrocode} \renewcommand{\thefigure}{\arabic{figure}}% \@removefromreset{figure}{section}% \renewcommand{\thetable}{\arabic{table}}% \@removefromreset{table}{section}% \renewcommand{\theequation}{\arabic{equation}}% \@removefromreset{equation}{section}% \clearpage } % \end{macrocode} % \end{environment} \end{macro} % \begin{environment}{singleappendix} % \changes{v0.7 (1998/11/15)}{}{Use new counters and \cs{add@to@aux}} % \changes{v1.1 (1999/04/01)}{1999/04/01}{Step chapter counter before setting % it to 1} % The |singleappendix| environment is much easier. A divider page is only % printed when the optional argument is equal to the letter |d|. The handling % of the counters is the same as above. % \begin{macrocode} \newenvironment{singleappendix}[1][]{% \clearpage \refstepcounter{chapter}% \appendix \chapter*{\MakeUppercase{\appendixname}}% \addcontentsline{toc}{extrachapter}{% \MakeUppercase{\appendixname}}% \setcounter{chapter}{1}% \ifthenelse{\equal{#1}{d}}{\clearpage}{}% \add@to@aux{\string\cond@set{appsecnumdepth}{0}}% \add@to@aux{\string\cond@set{apptocnumdepth}{0}}% \add@to@aux{\string\cond@set{apptocdepth}{0}}% \c@secnumdepth\c@appsecnumdepth \c@tocnumdepth\c@apptocnumdepth \addtocontents{toc}{\c@orig@tocnumdepth\c@tocnumdepth}% \addtocontents{toc}{\c@tocnumdepth\c@apptocnumdepth}% \addtocontents{toc}{\c@orig@tocdepth\c@tocdepth}% \addtocontents{toc}{\c@tocdepth\c@apptocdepth}% }{% \addtocontents{toc}{\c@tocnumdepth\c@orig@tocnumdepth}% \addtocontents{toc}{\c@tocdepth\c@orig@tocdepth}% \clearpage } % \end{macrocode} % \end{environment} % % \subsection{Bibliography} % % \begin{macro}{\@biblabel} % \changes{v0.7 (1998/11/15)}{}{Macro redefined} % Since the Graduate School wants the enumeration style to be different in the % bibliography than in the text we have to redefine \cs{@biblabel}. % \begin{macrocode} \renewcommand{\@biblabel}[1]{#1.} % \end{macrocode} % \end{macro} % \begin{macro}{\bibfix} % \changes{v0.7 (1998/11/15)}{}{Macro added to be able to change list settings} % In order to be able to take care of indentation problems we provide the % command \cs{bibfix} which redefines \cs{@openbib@code} to change settings % in the list. See Section~\ref{sec:biblio}. % \begin{macrocode} \newcommand{\bibfix}[1]{% \let\orig@openbib@code=\@openbib@code \def\@openbib@code{#1\orig@openbib@code}} % \end{macrocode} % \end{macro} % \begin{macro}{\bibname} % \begin{environment}{thebibliography} % \changes{v0.7 (1998/11/15)}{}{Spacing after heading corrected} % \changes{v0.7 (1998/11/15)}{}{Indentation corrected} % \changes{v0.8 (1999/01/16)}{1998/11/23}{Spacing simplified using % \cs{setstretch}} % \changes{v1.0 (1999/03/07)}{1999/03/04}{Indentation corrected} % The |thebibliography| environment is copied from |report.cls|. The new things % are the toc entry, the singlespacing, the change of some penalties and the % different indentation. % % Since \BibTeX\ and the |\bibliography| macro use the |thebibliography| % environment internally, this should work as well. Special styles such as % \package{apalike} might cause problems because they redefine % |thebibliography|. Therefore the redefinition of |thebibliography| is % delayed until we reach |\begin{document}|. % \begin{macrocode} \renewcommand{\bibname}{Bibliography} \AtBeginDocument{% \renewenvironment{thebibliography}[1]{% \chapter*{\MakeUppercase{\bibname}}% \addcontentsline{toc}{extrachapter}{% \MakeUppercase{\bibname}}% % \end{macrocode} % Now we switch to singlespacing just as in the list environments. % \begin{macrocode} \setstretch{\setspace@singlespace}% \vspace{\f@baselineskip\multiplied@by{\basediff}}% \list{\@biblabel{\@arabic\c@enumiv}}{% % \end{macrocode} % The indentation of 0.6\,in is correct for the bibliography style |plain|. % Otherwise \cs{bibfix} has to be used. % \begin{macrocode} \settowidth{\labelwidth}{\@biblabel{#1}}% \itemindent-0.5in \leftmargin-\itemindent \advance\leftmargin\labelwidth \advance\leftmargin\labelsep \partopsep0in \topsep0in \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy % \end{macrocode} % The penalties \cs{clubpenalty} and \cs{widowpenalty} avoid single line % paragraphs at the beginning and the end of pages. Setting \cs{lefthyphenmin} % to 65 avoids hyphenation. A \cs{pretolerance} of 500 makes \LaTeX\ happy % earlier and thus speeds up processing time. Finally setting \cs{hbadness} to % 4000 avoids most warning messages about |underful \hbox|s which cannot be % avoided without hyphenation anyway. % \begin{macrocode} \clubpenalty10000 \@clubpenalty\clubpenalty \widowpenalty10000 \lefthyphenmin65 \pretolerance500 \hbadness4000 \sfcode`\.\@m }{% \def\@noitemerr{% \@latex@warning{Empty `thebibliography' environment}}% \endlist }} % \end{macrocode} % \end{environment} \end{macro} % % \subsection{Index} % % \begin{environment}{theindex} % \changes{v0.3 (1998/08/25)}{}{Environment added} % \changes{v0.8 (1999/01/16)}{}{Spacing around heading corrected} % The |theindex| environment is also copied from |report.cls| with only the % spacing adjusted. Since \textsc{MakeIndex} uses the |theindex| environment % as well, it should not cause problems. The space corrections around the % heading are taken from a posting to |comp.text.tex|. % \begin{macrocode} \renewenvironment{theindex}{% \if@twocolumn \@restonecolfalse \else \@restonecoltrue \fi \columnseprule\z@ \columnsep 35\p@ \twocolumn[% \vspace{\topskip}% \@makeschapterhead{\MakeUppercase{\indexname}}% \vskip\baselineskip\vskip-\topskip]% \addcontentsline{toc}{extrachapter}{% \MakeUppercase{\indexname}}% \thispagestyle{plain}% \parindent\z@ \parskip\z@ \@plus .3\p@\relax \let\item\@idxitem \begin{singlespace*}% }{% \end{singlespace*}% \if@restonecol\onecolumn\else\clearpage\fi} % \end{macrocode} % \end{environment} % % \subsection{Special Package} % % In case some special packages are loaded we change some of their % macros. % % \subsubsection{Package \package{longtable}} % % \changes{v1.1 (1999/04/01)}{1999/03/11}{Support for \package{longtable} % added} % At the beginning of the document we check whether \package{longtable} % was loaded. % \begin{macrocode} \AtBeginDocument{% \@ifpackageloaded{longtable}{% \typeout{*** clthesis detected longtable package ***}% % \end{macrocode} % \begin{macro}{\LTcapwidth} % \begin{macro}{\LTpre} % \begin{macro}{\LTpost} % First some dimensions are adjusted. % \begin{macrocode} \LTcapwidth\linewidth \LTpre\intextsep \LTpost\intextsep % \end{macrocode} % \end{macro}\end{macro}\end{macro} % \begin{macro}{\longtable} % At the beginning of a |longtable| we switch to |\singlespace|. We should % actually use the |singlespace| environment, but then the |\endlongtable| % macro would need to be changed as well. Since everything looks ok with % this solution, we choose the easy way. Additionally, |\topcaption| does % the same as |\caption| in a |longtable|, so the description in the % documentation of \package{longtable} and \package{clthesis} are both ok. % \begin{macrocode} \def\longtable{% \par \ifx\multicols\@undefined \else \ifnum\col@number>\@ne \@twocolumntrue \fi \fi \if@twocolumn \LT@err{longtable not in 1-column mode}\@ehc \fi \begingroup \singlespace \let\topcaption\LT@caption \@ifnextchar[%] \LT@array{\LT@array[x]}} % \end{macrocode} % \end{macro} % \begin{macro}{\LT@makecaption} % Finally we change the format of the caption in the same way as the % |\topcaption| for ``normal'' tables. % \begin{macrocode} \def\LT@makecaption#1#2#3{% \LT@mcol{\LT@cols}{c}{% \hbox to\z@{\hss\parbox[t]{\LTcapwidth}{% \centering #1{#2\\[\f@baselineskip\multiplied@by{\basediff}]}#3 \endgraf\vskip\baselineskip}% \hss}}}% }{}} % \end{macrocode} % \end{macro} % % \iffalse % %<*clsample> % \fi % % \EarlyFinale % % \section{The Sample File} % % Load the \package{clthesis} class as usual. You should be able to use % most of the \LaTeXe\ packages. % \begin{macrocode} \documentclass{clthesis} % \end{macrocode} % Then define all your personal information. % \begin{macrocode} %% Personal information \SetDeadline{December 11, 1998} \SetThesistype{dissertation} \SetTitle{The Role of Financial Mathematics in the Families of Mickey Mouse and Goofy} \SetAuthor{Minnie Mouse} \SetDegree{Doctor of Philosophy} \SetMajor{Mathematical Sciences} \SetTitleTitlepage{THE ROLE OF FINANCIAL MATHEMATICS IN THE \\ FAMILIES OF MICKEY MOUSE AND GOOFY} \SetGradmonth{December} \SetGradyear{1998} \SetAdvisor{Advisor: Donald Duck\\ Co-Advisor: Uncle Buck} % \end{macrocode} % Put |\frontmatter| directly after |\begin{document}|. % \begin{macrocode} \begin{document} \frontmatter % \end{macrocode} % The following commands and environments are all pretty easy to use. The % following things are optional: copyright page, dedication page (do not use % both the |dedication| environment and the |\dedicationpage| command, this % is only done for illustration), autobiography. % \begin{macrocode} \begin{approval} \signline{Donald Duck, Advisor} \signline{Uncle Buck, Co-Advisor} \accept \signline{Huey} \signline{Louie} \signline{Dewey} \end{approval} \maketitle %% optional \makecopyright \begin{abstract} In this dissertation we consider the role of financial mathematics in the families of two well-known members of our community, namely Mickey Mouse and Goofy. \end{abstract} %% optional \begin{dedication} We dedicate this fine piece of work to all those people who never bothered us with questions about the content of this dissertation. It was always a great relief to be among people that were able think about different things than mathematics. \end{dedication} %% optional \dedicationpage{To my dear friend\\ Mickey} %% optional \begin{autobiography} Some time ago I was born in a little town, where I went to school. Now I am spending my time until retirement studying mathematics. \end{autobiography} \begin{acknowledgments} I am very thankful to my advisors Donald and Uncle Buck and all the other members of my committee. You were a great help in revealing the secrets of financial mathematics. I also thank my family, my friends and all the other guys. \end{acknowledgments} % \end{macrocode} % Now all the lists and the switch to |\mainmatter|. We add something % to the end of the |toc| by using |\addtocontentsend|. This can be done % anywhere in the document but here is probably the most sensible place. % \begin{macrocode} \addtocontentsend{toc}{\protect\vspace{1cm}\noindent This text is added using \texttt{$\backslash$addtocontentsend}.} \tableofcontents \listoftables \listoffigures \mainmatter % \end{macrocode} % Headings are set just as usual. Note that chapter headings must only % contain capital letters and subparagraph headings must end with a period. % \begin{macrocode} \chapter{INTRODUCTION} In this chapter we give an overview over all those interesting things we write about later on. \section{Second Level Heading Second Level Heading Second Level Heading \\ Second Level Heading} \chapter{FIRST LEVEL HEADING FIRST LEVEL HEADING FIRST LEVEL \\ HEADING FIRST LEVEL HEADING} Text of the first level heading. Text of the first level heading. Text of the first level heading. Text of the first level heading. \section{Second Level Heading Second Level Heading Second Level Heading \\ Second Level Heading} Text of the second level heading. Text of the second level heading. \chapter{FIRST LEVEL HEADING FIRST LEVEL HEADING FIRST LEVEL \\ HEADING FIRST LEVEL HEADING} Text of the first level heading. Text of the first level heading. Text of the first level heading. Text of the first level heading. \section{Second Level Heading Second Level Heading Second Level Heading \\ Second Level Heading} Text of the second level heading. Text of the second level heading. Text of the second level heading. Text of the second level heading. \subsection{Third Level Heading} Text of the third level heading. Text of the third level heading. Text of the third level heading. Text of the third level heading. \subsubsection{Fourth Level Heading} Text of the fourth level heading. Text of the fourth level heading. Text of the fourth level heading. Text of the fourth level heading. \paragraph{Fifth Level Heading} Text of the fifth level heading. Text of the fifth level heading. Text of the fifth level heading. Text of the fifth level heading. \subparagraph{Sixth Level Heading.} Text of the sixth level heading. Text of the sixth level heading. Text of the sixth level heading. Text of the sixth level heading. % \end{macrocode} % Now let's see what environments we have and how they work. % \begin{macrocode} \chapter{ENVIRONMENT TESTS} Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments \begin{enumerate} \item First Item First Item First Item First Item First Item First Item First Item First Item First Item \begin{enumerate}[(i)] \item First First Item \item First Second Item \end{enumerate} \item Second Item \item Third Item \end{enumerate} Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments \begin{itemize} \item First Item \begin{itemize} \item First First Item \item First Second Item \end{itemize} \item Second Item \item Third Item \end{itemize} Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments \begin{description} \item[One] First Item \item[Two] Second Item \item[Three] Third Item \end{description} Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments \begin{doublequote} Test doublequote doublequote doublequote doublequote doublequote doublequote doublequote doublequote doublequote \end{doublequote} Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments \begin{quote} Test quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote quote \end{quote} Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments \begin{doublequotation} Test doublequotation doublequotation doublequotation doublequotation doublequotation doublequotation doublequotation \end{doublequotation} Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments \begin{quotation} Test Test quotation quotation quotation quotation quotation quotation quotation quotation quotation quotation quotation quotation quotation quotation quotation quotation quotation quotation quotation \end{quotation} Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments Testing Environments % \end{macrocode} % Figures and tables can \eg be inserted in the following way. % \begin{macrocode} \chapter{FIGURES AND TABLES} Testing figures and tables. Testing figures and tables. Testing figures and tables. Testing figures and tables. Testing figures and tables. Testing figures and tables. Testing figures and tables. Testing figures and tables. \begin{figure}[htbp] \centering \rule{7cm}{1mm} \\ Here would be the figure\dots \\ \rule{7cm}{1mm} \caption{The First Figure} \end{figure} Testing figures and tables. Testing figures and tables. Testing figures and tables. Testing figures and tables. Testing figures and tables. Testing figures and tables. Testing figures and tables. Testing figures and tables. \begin{table}[htbp] \centering \topcaption{The First Table} \begin{tabular}{cc} \hline First & Second \\ \hline 12 & 26 \\ 17 & 93 \\ \hline \end{tabular} \end{table} Testing figures and tables. Testing figures and tables. Testing figures and tables. Testing figures and tables. Testing figures and tables. Testing figures and tables. Testing figures and tables. Testing figures and tables. % \end{macrocode} % Nothing special about formulas, footnotes and theorems as well. % \begin{macrocode} \chapter{FORMULAS AND FOOTNOTES} Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing\footnote{% Text in footnote. Text in footnote. Text in footnote. Text in footnote. Text in footnote. Text in footnote. Text in footnote. Text in footnote.} Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. \begin{equation} x=1 \end{equation} Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing\footnote{% Text in second footnote. Text in second footnote.} Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. \begin{eqnarray} a & = & 12 \\ b & = & \sqrt{\frac{x}{7}} \end{eqnarray} Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. \newtheorem{theorem}{Theorem} \begin{theorem} Theorem Theorem Theorem Theorem Theorem Theorem Theorem Theorem Theorem Theorem Theorem Theorem Theorem Theorem Theorem \end{theorem} Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. Testing Formulas. % \end{macrocode} % \iffalse %< % \fi % % \Finale % % \endinput