diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/withesis/withesis.cls |
Initial commit
Diffstat (limited to 'macros/latex/contrib/withesis/withesis.cls')
-rw-r--r-- | macros/latex/contrib/withesis/withesis.cls | 1302 |
1 files changed, 1302 insertions, 0 deletions
diff --git a/macros/latex/contrib/withesis/withesis.cls b/macros/latex/contrib/withesis/withesis.cls new file mode 100644 index 0000000000..ddb17310dc --- /dev/null +++ b/macros/latex/contrib/withesis/withesis.cls @@ -0,0 +1,1302 @@ +% withesis.cls +% LaTeX Style file for the University of Wisconsin-Madison Thesis Format +% Adapted from the Purdue University Thesis Format +% Originally by Dave Kraynie +% Edits by Darrell McCauley +% Adapted to UW-Madison format by Eric Benedict (Noted with <EB>) +% Updated to LaTeX2e by Eric Benedict 24 July 00 +% +%============================================================================= +% Licensed under the Perl Artistic License. +% see: http://www.ctan.org/tex-archive/help/Catalogue/licenses.artistic.html +% for more info... +%============================================================================= +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{withesis}[2000/07/24 Univ. of Wisconsin-Madison Thesis Format] +\typeout{Document Class `withesis' v2.0 <24 July 00>} + + +%============================================================================= +% Set up the paper size +%============================================================================= +\setlength\paperheight{11in} +\setlength\paperwidth{8.5in} + + +%============================================================================= +% The type size option is handled by reading a different file for each +% size, as follows, to define font size-specific commands: +% 10pt : withe10, 11pt : withe11, 12pt : withe12 +% Performed by defining \@ptsize to hold the last digit +%============================================================================= +\newcommand\@ptsize{} +\DeclareOption{10pt}{\renewcommand\@ptsize{0}} % 10pt option reads in withe10.STY +\DeclareOption{11pt}{\renewcommand\@ptsize{2} % 10pt option reads in withe10.STY + \typeout{11pt not available, subsituting 12pt}} % 11pt option reads in withe12.STY +\DeclareOption{12pt}{\renewcommand\@ptsize{2}} % 12pt option reads in withe12.STY + + +%============================================================================= +% Two-side or one-side printing. +% \@twosidefalse % Default is one-sided printing. +%============================================================================= +\DeclareOption{twoside}{\@twosidetrue % Defines twoside option. + \@mparswitchtrue} % Marginpars go on outside of page. + +%============================================================================= +% Margin Check option +% \overfullrule = 0pt % Default is don't mark overfull hboxes. +%============================================================================= +\DeclareOption{margincheck}{\overfullrule 5pt} % Causes overfull hboxes to be marked. + + +%============================================================================= +% Masters Thesis margin option +% \@msmarginfalse % Default is 1" margins all around +% The margins must be modified in the \documentstyle because they will have +% already been set by the time the pre-amble is processed. The \@msmargin +% flag is also used to change the defaults for the \thesis and \degree +%============================================================================= +\newif\if@msmargin % Creates switch, default is false +\DeclareOption{msthesis}{\@msmargintrue % Defines 1.5" left margins + \typeout{Using UW Master's Thesis Margins and Defaults}} + + + +%============================================================================= +% The \ProcessOptions\relax command causes the execution of every command +% which is defined with \DeclareOption{FOO} and for which the user typed the +% FOO option in his \documentclass command. For every option BAR he typed for +% which BAR is not defined, the file BAR.sty will be read after the present +% (main) .STY file is executed. +%============================================================================= +\ExecuteOptions{10pt} +\ProcessOptions\relax +\RequirePackage{withe1\@ptsize} + + + +%============================================================================= +% Set up the font definition a la Standard LaTeX +% +%============================================================================= +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} + + + + + + +%============================================================================= +% LISTS +%============================================================================= + +%============================================================================= +% ENUMERATE +% Enumeration is done with four counters: enumi, enumii, enumiii +% and enumiv, where enumN controls the numbering of the Nth level +% enumeration. The label is generated by the commands \labelenumi +% ... \labelenumiv. The expansion of \p@enumN\theenumN defines the +% output of a \ref command. +%============================================================================= +\def\labelenumi{\arabic{enumi}.} +\def\theenumi{\arabic{enumi}} +\def\labelenumii{(\alph{enumii})} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi} +\def\labelenumiii{\roman{enumiii}.} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{\Alph{enumiv}.} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii} + +%============================================================================= +% ITEMIZE +% Itemization is controlled by four commands: \labelitemi, \labelitemii, +% \labelitemiii, and \labelitemiv, which define the labels of the various +% itemization levels. +%============================================================================= +\def\labelitemi{$\bullet$} +\def\labelitemii{\bface --} +\def\labelitemiii{$\ast$} +\def\labelitemiv{$\cdot$} + +%============================================================================= +% VERSE +% The verse environment is defined by making clever use of the +% list environment's parameters. The user types \\ to end a line. +% This is implemented by \let'in \\ equal \@centercr. +%============================================================================= +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} +\let\endverse=\endlist + +%============================================================================= +% QUOTATION +% Fills lines; Indents paragraph +%============================================================================= +\def\quotation{\list{}{\listparindent 1.5em + \itemindent\listparindent + \rightmargin\leftmargin\parsep 0pt plus 1pt}\item[]} +\let\endquotation=\endlist + +%============================================================================= +% QUOTE -- same as quotation except no paragraph indentation, +%============================================================================= +\def\quote{\list{}{\rightmargin\leftmargin}\item[]} +\let\endquote=\endlist + +%============================================================================= +% DESCRIPTION +% To change the formatting of the label, redefine \descriptionlabel. +%============================================================================= +\def\descriptionlabel#1{\hspace\labelsep \bface #1} +\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} +\let\enddescription\endlist +\newdimen\descriptionmargin +\descriptionmargin=3em + +%============================================================================= +% OTHER ENVIRONMENTS +%============================================================================= + +%============================================================================= +% THEOREM +% \@begintheorem ... \@endtheorem are the commands executed at the +% beginning and end of a (user-defined) theorem-like environment. +% Except \@opargbegintheorem is executed when an optional argument is +% given. Cf. LATEX.TEX. +%============================================================================= +\def\@begintheorem#1#2{\trivlist \item[\hskip \labelsep{\bface #1\ #2}]} +\def\@opargbegintheorem#1#2#3{\trivlist + \item[\hskip \labelsep{\bface #1\ #2\ (#3)}]} +\def\@endtheorem{\endtrivlist} + + + + + +%============================================================================= +% TITLEPAGE +% In the normal environments, the titlepage environment does nothing but +% start and end a page, and inhibit page numbers. It also resets the page +% number to zero. In two-column style, it still makes a one-column page. +%============================================================================= +\newenvironment{titlepage} + {\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \else \newpage \fi \thispagestyle{empty} +% \c@page\z@ -- deleted: count title page in thesis +}{\if@restonecol\twocolumn \else \newpage \fi} + +%============================================================================= +% ARRAY AND TABULAR +%============================================================================= +\arraycolsep 5pt % Half the space between columns in an array environment. +\tabcolsep 6pt % Half the space between columns in a tabular environment. +\arrayrulewidth .4pt % Width of rules in array and tabular environment. +\doublerulesep 2pt % Space between adjacent rules in array or tabular env. + +%============================================================================= +% TABBING +%============================================================================= +\tabbingsep \labelsep % Space used by the \' command. (See LaTeX manual.) + +%============================================================================= +% MINIPAGE +% \@minipagerestore is called upon entry to a minipage environment to +% set up things that are to be handled differently inside a minipage +% environment. In the current styles, it does nothing. +% +% \skip\@mpfootins : plays same role for footnotes in a minipage as +% \skip\footins does for ordinary footnotes +%============================================================================= +\skip\@mpfootins = \skip\footins + +%============================================================================= +% FRAMEBOX +%============================================================================= +\fboxsep = 3pt % Space left between box and text by \fbox and \framebox. +\fboxrule = .4pt % Width of rules in box made by \fbox and \framebox. + +%============================================================================= +% CHAPTERS AND SECTIONS +%============================================================================= +% DEFINE COUNTERS: +% \newcounter{NEWCTR}[OLDCTR] : Defines NEWCTR to be a counter, which is +% reset to zero when counter OLDCTR is stepped. +% Counter OLDCTR must already be defined. +%============================================================================= +\newcounter {part} +\newcounter {chapter} +\newcounter {section}[chapter] +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] +\newcounter {tocpage} +\newcounter {lofpage} +\newcounter {lotpage} +\newcounter {listofheading} + +%============================================================================= +% For any counter CTR, \theCTR is a macro that defines the printed version +% of counter CTR. It is defined in terms of the following macros: +% +% \arabic{COUNTER} : The value of COUNTER printed as an arabic numeral. +% \roman{COUNTER} : Its value printed as a lower-case roman numberal. +% \Roman{COUNTER} : Its value printed as an upper-case roman numberal. +% \alph{COUNTER} : Value of COUNTER printed as a lower-case letter: +% 1 = a, 2 = b, etc. +% \Alph{COUNTER} : Value of COUNTER printed as an upper-case letter: +% 1 = A, 2 = B, etc. +%============================================================================= +\def\thepart {\Roman{part}} +\def\thechapter {\arabic{chapter}} +\def\thesection {\thechapter.\arabic{section}} +\def\thesubsection {\thesection.\arabic{subsection}} +\def\thesubsubsection {\thesubsection.\arabic{subsubsection}} +\def\theparagraph {\thesubsubsection.\arabic{paragraph}} +\def\thesubparagraph {\theparagraph.\arabic{subparagraph}} + +%============================================================================= +% TABLE OF CONTENTS, ETC. +%============================================================================= +% A \subsection command writes a +% \contentsline{subsection}{TITLE}{PAGE} +% command on the .toc file, where TITLE contains the contents of the +% entry and PAGE is the page number. If subsections are being numbered, +% then TITLE will be of the form +% \numberline{NUM}{HEADING} +% where NUM is the number produced by \thesubsection. Other sectioning +% commands work similarly. +% +% A \caption command in a 'figure' environment writes +% \contentsline{figure}{\numberline{NUM}{CAPTION}}{PAGE} +% on the .lof file, where NUM is the number produced by \thefigure and +% CAPTION is the figure caption. It works similarly for a 'table' environment. +% +% The command \contentsline{NAME} expands to \l@NAME. So, to specify +% the table of contents, we must define \l@chapter, \l@section, +% \l@subsection, ... ; to specify the list of figures, we must define +% \l@figure; and so on. Most of these can be defined with the +% \@dottedtocline command, which works as follows. +% +% \@dottedtocline{LEVEL}{INDENT}{NUMWIDTH}{TITLE}{PAGE} +% LEVEL : An entry is produced only if LEVEL < or = value of +% 'tocdepth' counter. Note, \chapter is level 0, \section +% is level 1, etc. +% INDENT : The indentation from the outer left margin of the start of +% the contents line. +% NUMWIDTH : The width of a box in which the section number is to go, +% if TITLE includes a \numberline command. +% +% This command uses the following three parameters, which are set +% with a \def (so em's can be used to make them depend upon the font). +% \@pnumwidth : The width of a box in which the page number is put. +% \@tocrmarg : The right margin for multiple line entries. One +% wants \@tocrmarg > or = \@pnumwidth +% \@dotsep : Separation between dots, in mu units. Should be \def'd to +% a number like 2 or 1.7 +%============================================================================= +\def\@pnumwidth{1.55em} +\def\@tocrmarg {2.55em} +\def\@dotsep{4.5} +\setcounter{tocdepth}{2} + +%============================================================================= +% The value of \@tocchapterskip when the table of contents is +% formatted is the only value that matters. Changing this value on +% the fly probably won't do what you want. Re-defining \l@chapter has +% the same problem. The only way around the problem I've thought of +% is to write the spacing commands directly into the toc file from the +% chapter command, as is done by \appendix, for instance. +%============================================================================= +\def\@tocchapterskip{1.0em plus 1pt} + +\def\l@part#1#2{\addpenalty{-\@highpenalty} + \addvspace{2.25em plus 1pt} % space above part line + \begingroup + \@tempdima 3em % width of box holding part number, used by + \parindent \z@ \rightskip \@pnumwidth %% \numberline + \parfillskip -\@pnumwidth + {\large \bface % set line in \large boldface + \leavevmode % TeX command to enter horizontal mode. + #1\hfil \hbox to\@pnumwidth{\hss #2}}\par + \nobreak % Never break after part entry + \endgroup} + +\def\l@chapter#1#2{\pagebreak[3] + \vskip\@tocchapterskip % space above chapter line + \@dottedtocline{0}{0pt}{1.5em}{{\bface #1}}{#2}} + +\def\l@section{\@dottedtocline{1}{1.5em}{2.3em}} +\def\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}} +\def\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}} +\def\l@paragraph{\@dottedtocline{4}{10em}{5em}} +\def\l@subparagraph{\@dottedtocline{5}{12em}{6em}} +\def\l@figure{\vskip 1.0em plus 1pt \@dottedtocline{0}{0em}{2.5em}} +\let\l@table\l@figure + +%============================================================================= +% TABLE OF CONTENTS; LIST OF FIGURES; LIST OF TABLES +%============================================================================= +% In report style, \tableofcontents, \listoffigures, etc. are always +% set in single-column style. @restonecol is used to keep track of +% whether we need to switch back to double column style after the toc. +% +% The only known problem now is that the first page with the new +% layout is too long. The problem seems to be that the change to +% textheight doesn't take place on the first page. Even if it's the +% first line in the table of contents macro. Presumably the same +% problem also occurs in the lof and lot. +% +% I'm taking a shot at fixing the problem by dropping in a throw-away +% page between the change to the height parameters and the start of +% the chapter. Isn't elegance wonderful? +% +%============================================================================= +\def\tableofcontents{\@tableof{TABLE OF CONTENTS}{}{tocpage}{toc}{}} + +\def\listoffigures{ + \@tableof{LIST OF FIGURES}{Figure}{lofpage}{lof} + {\protect\addcontentsline{toc}{chapter}{LIST OF FIGURES}}} + +\def\listoftables{ + \@tableof{LIST OF TABLES}{Table}{lotpage}{lot} + {\protect\addcontentsline{toc}{chapter}{LIST OF TABLES}}} + +\def\@tableof#1#2#3#4#5{ +{ % limit scope of following declarations!! + \@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn\fi + \addtolength{\textheight}{-40pt} % -24-16 + \addtolength{\majorheadskip}{-40pt} % -24-16 + \addtolength{\headheight}{52pt} % 36+16 + \addtolength{\headsep}{-12pt} % -12 + \separatorpage{DISCARD THIS PAGE} + \chapter*{#1} + #5 + \relax\markboth{#1}{#1} + \hbox to \hsize{#2 \hfil Page} + \singlespace + \setcounter{#3}{0} + \setcounter{listofheading}{1} % change from 0 to 1 by mccauley, 14may93 + \def\@oddhead{\vbox to \headheight{\vspace{4pt} + \hbox to \hsize{\hfil\rm\thepage} \vfil + \ifnum\value{#3}=1 + \ifnum\value{listofheading}=2 + \hbox to \hsize{Appendix\hfil} \vspace{4pt} \fi + \ifnum\value{listofheading}=1 + \stepcounter{listofheading} \fi + \hbox to \hsize{#2 \hfil Page} + \else + \setcounter{#3}{1} + \fi}} + \def\@evenhead{\vbox to \headheight{\vspace{4pt} + \hbox to \hsize{\rm\thepage\hfil} \vfil + \ifnum\value{#3}=1 + \ifnum\value{listofheading}=2 + \hbox to \hsize{Appendix\hfil} \vspace{4pt} \fi + \ifnum\value{listofheading}=1 + \stepcounter{listofheading} \fi + \hbox to \hsize{#2 \hfil Page} + \else + \setcounter{#3}{1} + \fi}} + \@starttoc{#4} \if@restonecol\twocolumn\fi + \newpage +}} + +%============================================================================= +% BIBLIOGRAPHY +%============================================================================= +% The thebibliography environment executes the following commands: +% +% o start a new 'chapter' with BIBLIOGRAPHY as the heading +% o produce a separator page for the bibliography +% +% \def\newblock{\hskip .11em plus .33em minus -.07em} -- +% Defines the `closed' format, where the blocks (major units of +% information) of an entry run together. +% +% \sloppy -- Used because it's rather hard to do line breaks in +% bibliographies, +% +% \sfcode`\.=1000\relax -- +% Causes a `.' (period) not to produce an end-of-sentence space. +%============================================================================= +% \altbibtitle +% The default title for the References chapter is ``LIST OF REFERENCES'' +% Since some people prefer ``BIBLIOGRAPHY'', the command +% \altbibtitle has been added to change the chapter title. +% This command does nothing more than change REFERENCES to BIBLIOGRAPHY +%============================================================================ +\def\@bibchaptitle{LIST OF REFERENCES} +\def\altbibtitle{\def\@bibchaptitle{BIBLIOGRAPHY}} +\def\thebibliography#1{ + %\separatorpage{\@bibchaptitle} + \global\@bibpresenttrue + \chapter*{\@bibchaptitle\markboth{\@bibchaptitle}{\@bibchaptitle}} + \addcontentsline{toc}{chapter}{\@bibchaptitle} + \vspace{0.375in} % added to match 4 line requirement + \interlinepenalty=10000 % added to prevent breaking of bib entries + \singlespace\list + {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth + \advance\leftmargin\labelsep \usecounter{enumi}} + \def\newblock{\hskip .11em plus .33em minus -.07em} + \sloppy + \sfcode`\.=1000\relax} +\let\endthebibliography=\endlist + +%============================================================================= +% \def\@biblabel#1{[#1]\hfill} % Produces the label for \bibitem[...] +% \def\@cite#1{[#1]} % Produces the output of the \cite command. +%============================================================================= + +%============================================================================= +% THEINDEX ENVIRONMENT +% Produces double column format, with each paragraph a separate entry. +% The user commands \item, \subitem and \subsubitem are used to +% produce the entries, and \indexspace adds an extra vertical space +% that's the right size to put above the first entry with a new letter +% of the alphabet. +%============================================================================= +\newif\if@restonecol +\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi + \columnseprule \z@ + \columnsep 35pt\twocolumn[\@makeschapterhead{Index}] + \markboth{INDEX}{INDEX}\thispagestyle{plain}\parindent\z@ + \parskip\z@ plus .3pt\relax\let\item\@idxitem} +\def\@idxitem{\par\hangindent 40pt} +\def\subitem{\par\hangindent 40pt \hspace*{20pt}} +\def\subsubitem{\par\hangindent 40pt \hspace*{30pt}} +\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} +\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax} + +%============================================================================= +% FOOTNOTES +%============================================================================= +% \footnoterule is a macro to draw the rule separating the footnotes from +% the text. It should take zero vertical space, so it needs a negative +% skip to compensate for any positive space taken by the rule. (See +% PLAIN.TEX.) +%============================================================================= +\def\footnoterule{\kern-3\p@ + \hrule width .4\columnwidth + \kern 2.6\p@} % The \hrule has default height of .4pt . +% \newcounter{footnote} +\@addtoreset{footnote}{chapter} % Numbers footnotes within chapters + +%============================================================================= +% \@makefntext{NOTE} : +% Must produce the actual footnote, using \@thefnmark as the mark +% of the footnote and NOTE as the text. It is called when effectively +% inside a \parbox of width \columnwidth (i.e., with \hsize = +% \columnwidth). +% +% The following macro indents all lines of the footnote by 10pt, and +% indents the first line of a new paragraph by 1em. To change these +% dimensions, just substitute the desired value for '10pt' [in both +% places] or '1em'. The mark is flushright against the footnote. +% \long\def\@makefntext#1{\@setpar{\@@par\@tempdima \hsize +% \advance\@tempdima-10pt\parshape \@ne 10pt \@tempdima}\par +% \parindent 1em\noindent \hbox to \z@{\hss$^{\@thefnmark}$}#1} +% +% A simpler macro is used, in which the footnote text is +% set like an ordinary text paragraph, with no indentation except +% on the first line of a paragraph, and the first line of the +% footnote. Thus, all the macro must do is set \parindent +% to the appropriate value for succeeding paragraphs and put the +% proper indentation before mark. +%============================================================================= +\long\def\@makefntext#1{\parindent 1em\noindent + \hbox to 1.8em{\hss$^{\@thefnmark}$}\singlespace\footnotesize#1} + +%============================================================================= +% \@makefnmark : +% Macro to generate the footnote marker that goes in the text. Default used. +%============================================================================= + +%============================================================================= +% FIGURES AND TABLES +%============================================================================= +% Float placement parameters. See LaTeX manual for their definition. +% +% Note: some really flaky hiccups can happen because of interactions between +% these numbers. For instance, if \textfraction and \floatpagefraction +% don't have any overlap figures can be drawn that are too large to fit +% on a text page and too small to fit on a float page. This problem causes +% all of the figures to go to the end of the chapter. +%============================================================================= +\setcounter{topnumber}{2} +\def\topfraction{.5} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.5} % previously .55 +\def\floatpagefraction{.3} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} + +%============================================================================= +% \@makecaption{NUMBER}{TEXT} : Macro to make a figure or table caption. +% NUMBER : Figure or table number--e.g., 'Figure 3.2' +% TEXT : The caption text. +% Macro should be called inside a \parbox of right width, with \normalsize. +%============================================================================= +\long\def\@makecaption#1#2{ + \vskip 10pt + \singlespace\centering + #1\ \ #2} + +%============================================================================= +% ORIGINAL \@makecaption - Centering OR Flushleft if long. +% Thesis office doesn't really like this version. +%============================================================================= +% \long\def\@makecaption#1#2{ +% \vskip 10pt +% \setbox\@tempboxa\hbox{#1\ \ #2} +% \ifdim \wd\@tempboxa >\hsize % IF longer than one line: +% {\singlespace \unhbox\@tempboxa\par} % THEN set as ordinary paragraph. +% \else % ELSE center. +% \hbox to\hsize{\hfil\box\@tempboxa\hfil} +% \fi} +%============================================================================= + +%============================================================================= +% NEW \@makecaption - Thesis Format may not like the new format +%============================================================================= +% \newlength\@capnumlen +% \newlength\@captionlen +% \long\def\@makecaption#1#2{ +% \vskip 10pt +% \setbox\@tempboxa\hbox{#1\ \ #2} +% \ifdim \wd\@tempboxa >\hsize % IF longer than one line: +% { \parindent 0pt +% \singlespace\normalsize +% \setlength{\@captionlen}{\hsize} +% \settowidth{\@capnumlen}{#1\ \ } +% \addtolength{\@captionlen}{-\@capnumlen} +% #1\ \ \parbox[t]{\@captionlen}{\noindent#2} +% \par\nobreak} % TeX penalty to prevent page break. +% \else % ELSE center. +% \hbox to\hsize{\hfil\box\@tempboxa\hfil} +% \fi} +%============================================================================= + +%============================================================================= +% To define a float of type TYPE (e.g., TYPE = figure), the document style +% must define the following. +% +% \fps@TYPE : The default placement specifier for floats of type TYPE. +% +% \ftype@TYPE : The type number for floats of type TYPE. Each TYPE has +% associated a unique positive TYPE NUMBER, which is a power +% of two. E.g., figures might have type number 1, tables type +% number 2, programs type number 4, etc. +% +% \ext@TYPE : The file extension indicating the file on which the +% contents list for float type TYPE is stored. For example, +% \ext@figure = 'lof'. +% +% \fnum@TYPE : A macro to generate the figure number for a caption. +% For example, \fnum@TYPE == Figure \thefigure. +% +% The actual float-making environment commands--e.g., the commands +% \figure and \endfigure--are defined in terms of the macros \@float +% and \end@float, which are described below. +% +% \@float{TYPE}[PLACEMENT] : Macro to begin a float environment for a +% single-column float of type TYPE with PLACEMENT as the placement +% specifier. The default value of PLACEMENT is defined by \fps@TYPE. +% The environment is ended by \end@float. +% E.g., \figure == \@float{figure}, \endfigure == \end@float. +%============================================================================= + +%============================================================================= +% FIGURE +%============================================================================= +\newcounter{figure}[chapter] +\def\thefigure{\thechapter.\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{Figure \thefigure} +\def\figure{\@float{figure}} +\let\endfigure\end@float +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} + +%============================================================================= +% TABLE +%============================================================================= +\newcounter{table}[chapter] +\def\thetable{\thechapter.\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{Table \thetable} +\def\table{\@float{table}} +\let\endtable\end@float +\@namedef{table*}{\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} + +%============================================================================= +% TITLE PAGE +% - define \title{} \author{} \date{} +% - The default degree is ``Doctor of Philosophy'' +% Degree can be changed using the command \degree{} +% - for a masters project report, specify \project +% - for a preliminary report, specify \prelim +% - The default department is ``Electrical Engineering'' +% The department can be changed using the command \department{} +% - once the above are defined, use \maketitle to generate the titlepage +%============================================================================= +\newcommand\@thesistitlemedskip{0.25in} +\newcommand\@thesistitlebigskip{0.6in} +\newcommand{\degree}[1]{\gdef\@degree{#1}} +\newcommand{\project}{\gdef\@doctype{A masters project report}} +\newcommand{\prelim}{\gdef\@doctype{A preliminary report}} +\newcommand{\thesis}{\gdef\@doctype{A thesis}} +\newcommand{\dissertation}{\gdef\@doctype{A dissertation}} +\newcommand{\department}[1]{\gdef\@department{(#1)}} + +\if@msmargin % Set Defaults based on Margin definition + \gdef\@degree{Master of Science} % Default is MS + \gdef\@doctype{A thesis} % Default is Thesis +\else + \gdef\@degree{Doctor of Philosophy} %Default is PhD + \gdef\@doctype{A dissertation} %Default is dissertation +\fi + +\gdef\@department{(Electrical Engineering)} % Default is Electical Engineering + +\newcommand{\maketitle}{% + \begin{titlepage} +%----------------------------------------------------------------------------- +% -- The thesis office doesn't like thanks on title page. Put it in +% -- the acknowledgments. This is here so you don't have to change +% -- your titlepage when converting from report style. -> from Purdue, but I +% left it here since it seems compatible with UW-Madison, Eric +%----------------------------------------------------------------------------- + \def\thanks##1{\typeout{Warning: `thanks' deleted from thesis titlepage.}} + \let\footnotesize\small \let\footnoterule\relax \setcounter{page}{1} + \vspace*{0.1in} + \begin{center} + {\bf\expandafter\uppercase\expandafter{\@title}} \\[\@thesistitlebigskip] + by \\[\@thesistitlemedskip] + \@author \\[\@thesistitlebigskip] + \@doctype\ submitted in partial fulfillment of \\ + the requirements for the degree of\\[\@thesistitlebigskip] + \@degree \\[\@thesistitlemedskip] + \@department \\[\@thesistitlebigskip] + at the \\[\@thesistitlebigskip] + UNIVERSITY OF WISCONSIN--MADISON\\[\@thesistitlebigskip] + \@date + \end{center} + \end{titlepage} + \setcounter{footnote}{0} + \setcounter{page}{1} %title page is NOT counted + \let\thanks\relax + \let\maketitle\relax \let\degree\relax \let\project\relax \let\prelim\relax + \let\department\relax + \gdef\@thanks{}\gdef\@degree{}\gdef\@doctype{} + \gdef\@department{} + %\gdef\@author{}\gdef\@title{} +} + +%============================================================================= +% ABSTRACT +%============================================================================= +% The abstract should begin with two single-spaced lines describing +% the author and title in a standard format. After these lines comes +% the standard abstract. +%============================================================================= +\def\abstract{ + \chapter*{ABSTRACT} + \addcontentsline{toc}{chapter}{ABSTRACT} + \relax\markboth{ABSTRACT}{ABSTRACT}} +\def\endabstract{\par\newpage} + + +%============================================================================= +% UMI ABSTRACT +%============================================================================= +% The UMI abstract should begin with the author and title in a standard format. +% After the author comes the advisor and university. After these lines comes +% a bunch of double spaced text to make up the standard abstract. +% After the abstract, the advisor's approval signature follows. +% This page is not numbered and is delivered seperately to the thesis office. +%============================================================================= + +\def\advisortitle#1{\gdef\@advisortitle{#1}} +\def\advisorname#1{\gdef\@advisorname{#1}} +\gdef\@advisortitle{Professor} +\gdef\@advisorname{Cheer E.\ Place} + +\def\umiabstract{ + \thispagestyle{empty} + \addtocounter{page}{-1} + \begin{center} + {\bf\expandafter\uppercase\expandafter{\@title}}\\ + \vspace{12pt} + \@author \\ + \vspace{12pt} + Under the supervision of \@advisortitle\ \@advisorname\\ + At the University of Wisconsin-Madison + \end{center} +} + +\def\endumiabstract{\vfill \hfill\@advisorname\par\newpage} + + + +%============================================================================= +% PAGE STYLES +%============================================================================= +% The page style 'foo' is defined by defining the command \ps@foo. This +% command should make only local definitions. There should be no stray +% spaces in the definition, since they could lead to mysterious extra +% spaces in the output. +% +% The \ps@... command defines the macros \@oddhead, \@oddfoot, +% \@evenhead, and \@evenfoot to define the running heads and +% feet---e.g., \@oddhead is the macro to produce the contents of the +% heading box for odd-numbered pages. It is called inside an \hbox of +% width \textwidth. +% +% To make headings determined by the sectioning commands, the page style +% defines the commands \chaptermark, \sectionmark, ... , where +% \chaptermark{TEXT} is called by \chapter to set a mark, and so on. +% The \...mark commands and the \...head macros are defined with the +% help of the following macros. (All the \...mark commands should be +% initialized to no-ops.) +% +% MARKING CONVENTIONS: +% LaTeX extends TeX's \mark facility by producing two kinds of marks +% a 'left' and a 'right' mark, using the following commands: +% \markboth{LEFT}{RIGHT} : Adds both marks. +% \markright{RIGHT} : Adds a 'right' mark. +% \leftmark : Used in the \@oddhead, \@oddfoot, \@evenhead or \@evenfoot +% macro, gets the current 'left' mark. Works like TeX's +% \botmark command. +% \rightmark : Used in the \@oddhead, \@oddfoot, \@evenhead or \@evenfoot +% macro, gets the current 'right' mark. Works like TeX's +% \firstmark command. +% The marking commands work reasonably well for right marks 'numbered +% within' left marks--e.g., the left mark is changed by a \chapter command and +% the right mark is changed by a \section command. However, it does +% produce somewhat anomalous results if two \bothmark's occur on the same page. +%============================================================================= +\mark{{}{}} % Initializes TeX's marks + +%============================================================================= +% Definition of 'headings' page style +% Note use of ##1 for parameter of \def\chaptermark inside \def\ps@headings. +%============================================================================= +\if@twoside % If two-sided + \def\ps@headings{ + \def\@oddfoot{}\def\@evenfoot{} % No feet. + \def\@evenhead{\rm \thepage\hfil \sl \leftmark} % Left heading. + \def\@oddhead{\hbox{}\sl \rightmark \hfil \rm\thepage} % Right heading. + \def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne + \@chapapp\ \thechapter. \ \fi ##1}}{}}% + \def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@ + \thesection. \ \fi ##1}}}} +\else % If one-sided + \def\ps@headings{ + \def\@oddfoot{}\def\@evenfoot{} % No feet. + \def\@oddhead{\hbox {}\sl \rightmark \hfil \rm\thepage} % Heading. + \def\chaptermark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\m@ne + \@chapapp\ \thechapter. \ \fi ##1}}}} +\fi + +%============================================================================= +% Definition of 'thesis' page style -- riedl +% -- no footer +% -- header is just page number, in upper right corner +% -- chaptermark and sectionmark are not needed +% Note use of ##1 for parameter of \def\chaptermark inside \def\ps@headings. +%============================================================================= +\if@twoside % If two-sided + \def\ps@thesis{ + \def\@oddfoot{}\def\@evenfoot{} % No feet. + \def\@evenhead{\rm \thepage\hfil} % Left heading. + \def\@oddhead{\hbox{}\hfil\rm\thepage} % Right heading. + \def\chaptermark##1{} + \def\sectionmark##1{}} +\else % If one-sided + \def\ps@thesis{ + \def\@oddfoot{}\def\@evenfoot{} % No feet. + \def\@oddhead{\hbox{}\hfil\rm\thepage} % Heading. + \def\chaptermark##1{}} +\fi + +%============================================================================= +% The following code sets \@currentipfile to current include file. +% taken from chapterbib.sty by +% Niel Kempson (JANET: rmcs-tex@uk.ac.cranfield.cdvc) + +\let\@debugoutput=\@gobble + +%------------------------------------------------------------------------- +% Keep track of files currently opened. +% 1. The counter @ipfilectr keeps track of the currently open I/P file, +% and @includefilectr keeps track of the \include files. +% 2. @ipfilectr is set to @includefilectr, except when processing the root +% file. An arbitrary large (number greater than the maximum number of +% include files) is used to denote the root file. +%------------------------------------------------------------------------- +\newcounter{@ipfilectr} % current I/P file, +\def\the@ipfilectr{\roman{@ipfilectr}} % displayed as roman numerals +\newcounter{@includefilectr} % current \include file +\def\@rootfilevalue{1988} % arbitrary value for root file +\def\savedjobname{\jobname} % save root file name as a macro + +% +%----------------------------------------------------------------------- +% The name of the current I/P file is stored in macro \@currentipfile +% and the global macro ipfile@the@ipfilectr is set to this name whenever +% \@currentipfile changes. +%----------------------------------------------------------------------- +\def\@currentipfile{\jobname} % initialize to root file +\setcounter{@ipfilectr}{\@rootfilevalue} % ditto +\global\@namedef{ipfile@\the@ipfilectr}{\@currentipfile} + +% +%----------------------------------------------------------------------- +% Redefine the \include macro (taken from LATEX.TEX of 25-JAN-1988) so +% that when a file is \include'd +% 1. \@currentipfile is updated and \includefilectr incremented +% 2. ipfilectr set to includefilectr +% 3. global macro ipfile@\the@ipfilectr set to \@currentfile +% +% When the \include'd file is finished with +% 1. reset \@currentipfile to the root file name (\jobname) +% 2. reset ipfilectr to \@rootfilevalue +% 3. global macro ipfile@\the@ipfilectr set to \@currentfile +%----------------------------------------------------------------------- +\def\include#1{\clearpage +\def\@currentipfile{#1} +\@debugoutput{\string\@currentipfile = `\@currentipfile'} +\addtocounter{@includefilectr}{1} +\setcounter{@ipfilectr}{\value{@includefilectr}} +\global\@namedef{ipfile@\the@ipfilectr}{\@currentipfile} +% +\if@filesw \immediate\write\@mainaux{\string\@input{#1.aux}}\fi +\@tempswatrue\if@partsw \@tempswafalse\def\@tempb{#1}\@for +\@tempa:=\@partlist\do{\ifx\@tempa\@tempb\@tempswatrue\fi}\fi +\if@tempswa \if@filesw \let\@auxout=\@partaux +\immediate\openout\@partaux #1.aux +\immediate\write\@partaux{\relax}\fi\@input{#1.tex}\clearpage +\@writeckpt{#1}\if@filesw\immediate\closeout\@partaux \fi +\let\@auxout=\@mainaux\else\@nameuse{cp@#1}\fi +% +\def\@currentipfile{\jobname} +\@debugoutput{\string\@currentipfile = `\@currentipfile'} +\setcounter{@ipfilectr}{\@rootfilevalue} +\global\@namedef{ipfile@\the@ipfilectr}{\@currentipfile}} +%============================================================================= + +%============================================================================= +% Definition of 'thesisdraft' page style -- riedl --dfk +% -- header is just page number, in upper right corner +% -- chaptermark and sectionmark are not needed +% -- footer is set to identify this as a draft version (timestamped) +% -- footer may be changed by changing \@draftfoot +% Note use of ##1 for parameter of \def\chaptermark inside \def\ps@headings. +%============================================================================= +\newcounter{currenthour} \newcounter{currentminute} +\newcommand{\now}{ + \setcounter{currenthour}{\time}\divide \c@currenthour by 60 + \setcounter{currentminute}{\time} + \multiply \c@currenthour by 60 + \addtocounter{currentminute}{-\c@currenthour} + \divide \c@currenthour by 60 + \ifnum \c@currenthour=0 0 \fi % force at least one digit in hour + \thecurrenthour:% + \ifnum \c@currentminute<10 0\fi % force two digits in minute + \thecurrentminute +} + +% changed by mccauley to print name of currently included file. +\def\@draftfooter{ + {\rm DRAFT: Do Not Distribute}\hfil{\now\ \today} + \hfil{\tt \@currentipfile.tex}} + +\if@twoside % If two-sided + \def\ps@thesisdraft{ + \def\@oddfoot {\@draftfooter} % Footer + \def\@evenfoot{\@draftfooter} + \def\@evenhead{\rm \thepage\hfil} % Left heading. + \def\@oddhead{\hbox{}\hfil\rm\thepage} % Right heading. + \def\chaptermark##1{} + \def\sectionmark##1{}} +\else % If one-sided + \def\ps@thesisdraft{ + \def\@oddfoot {\@draftfooter} % Footer + \def\@evenfoot{} + \def\@oddhead{\hbox{}\hfil\rm\thepage} % Heading. + \def\chaptermark##1{}} +\fi + +%============================================================================= +% Definition of 'myheadings' page style. +%============================================================================= +\def\ps@myheadings{ + \def\@oddhead{\hbox{}\sl\rightmark \hfil \rm\thepage} + \def\@oddfoot{} + \def\@evenhead{\rm \thepage\hfil\sl\leftmark\hbox {}} + \def\@evenfoot{} + \def\sectionmark##1{} + \def\subsectionmark##1{}} + +%============================================================================= +% MISCELLANEOUS +%============================================================================= +%\def\mybox{\fbox{\hbox to 429bp {\vbox to 630bp {\null}}}} + +%\def\pagebox{ \setlength{\unitlength}{1.0bp} +% \begin{picture}(0,0)(36,558) \put(0,0){\mybox} \end{picture} +% \begin{picture}(0,0)(18,523.25) \put(0,0){\mybox} \end{picture} +% \begin{picture}(0,0)(18,500.5) \put(0,0){\mybox} \end{picture} +% } + + +\def\draftmargins{ + \if@msmargin % Draw box for 1.25" left margins + \special{!userdict begin /eop-hook{ + gsave 0.5 setlinewidth newpath + 90 72 moveto 540 72 lineto 540 720 lineto 90 720 lineto + 90 72 lineto + stroke grestore +% Cross at 0.5" down and 1" from right edge +% gsave 0.5 setlinewidth newpath +% 522 756 moveto 558 756 lineto +% 540 738 moveto 540 774 lineto + stroke grestore + }def end + } + \else % Draw box for 1" margins + \special{!userdict begin /eop-hook{ + gsave 0.5 setlinewidth newpath + 72 72 moveto 540 72 lineto 540 720 lineto 72 720 lineto + 72 72 lineto + stroke grestore +% Cross at 0.5" down and 1" from right edge +% gsave 0.5 setlinewidth newpath +% 522 756 moveto 558 756 lineto +% 540 738 moveto 540 774 lineto + stroke grestore + }def end + } + + \fi +} + +\def\draftscreen{ + \special{!userdict begin /bop-hook{gsave + 260 185 translate + 65 rotate /Times-Roman findfont 144 scalefont setfont + 0 0 moveto 0.9 setgray (DRAFT) show grestore + }def end + } +} + + + +%============================================================================ +% VERBATIMFILE +%============================================================================ +% \verbatimfile{<filename>} for verbatim inclusion of a file +% - Note that the precise layout of line breaks in this file is important! +% - added the \singlespace - EB +%============================================================================ +\def\verbatimfile#1{\begingroup \singlespace + \@verbatim \frenchspacing \@vobeyspaces + \input#1 \endgroup +} + + +%============================================================================= +% SEPARATOR Pages +% Creates a blank page with a text centered horizontally and vertically. +% The page is neither counted nor numbered. +% These pages are required in the thesis format before sections such +% as appendices, vita, bibliography, etc. +%============================================================================= +\def\separatorpage#1{ + \newpage + \thispagestyle{empty} + \addtocounter{page}{-1} + \null + \vfil\vfil + \begin{center} + {\bface #1} + \end{center} + \vfil\vfil + \newpage} + +%============================================================================= +% \@chapapp is initially defined to be 'Chapter'. The \appendix +% command redefines it to be 'Appendix'. +%============================================================================= +\def\@chapapp{CHAPTER} + +%============================================================================= +% APPENDIX +%============================================================================= +% The \appendix command must do the following: +% -- reset the chapter counter to zero +% -- set \@chapapp to Appendix (for messages) +% -- redefine the chapter counter to produce appendix numbers +% -- reset the section counter to zero +% -- redefine the \chapter command if appendix titles and headings are +% to look different from chapter titles and headings. +% -- produce special toc, lot and lof entries +%============================================================================= +\def\appendix{ + \@appendix{Appendix} + \def\@chapstyle{appendix} + \def\@chapnumber{APPENDIX} + \let\@chapterhead\@appendixchapterhead + \let\@schapterhead\@appendixchapterhead} +\def\endappendix{ + \def\@chaptername##1{\uppercase {##1}} + \def\@chapstyle{chapter} + \def\@chapnumber{\thechapter.} + \let\@chapterhead\@makechapterhead + \let\@schapterhead\@makeschapterhead} + +\def\l@appendix#1#2{\pagebreak[3] + \vskip\@tocchapterskip % space above chapter line + \@dottedtocline{0}{0pt}{7.3em}{{\bface #1}}{#2}} + +\def\appendices{ + \addtocontents{toc}{ + \protect\addvspace{\@tocchapterskip} + \hbox to \hsize{\bface APPENDICES \hfil} + \protect\addvspace{\@tocchapterskip}} + \@appendix{Appendices} + \def\@chaptername##1{##1} + \def\@chapstyle{appendices} + \def\@chapnumber{Appendix\ \thechapter:} + \let\@chapterhead\@appendiceschapterhead + \let\@schapterhead\@appendiceschapterhead + \if@bibpresent\relax\else\separatorpage{DISCARD THIS PAGE}\fi % This + % is a dirty fix. For some reason, the TOC isn't + % properly written unless the simple chapter with + % sections is written. The bibliography fixes this + % problem when its present. If its not, then the + % seperator page is inserted to fix things. EB +} + +\let\endappendices\endappendix + +\def\l@appendices#1#2{\@dottedtocline{0}{1.5em}{6.5em}{#1}{#2}} + +\def\noappendixtables{\def\@lotheading{}} +\def\noappendixfigures{\def\@lofheading{}} +\def\@lotheading{ + \addtocontents{lot}{ + \protect\stepcounter{listofheading} + \protect\addvspace{\@tocchapterskip} + \hbox to \hsize{Appendix \hfil} + \hbox to \hsize{Table \hfil}}} +\def\@lofheading{ + \addtocontents{lof}{ + \protect\stepcounter{listofheading} + \protect\addvspace{\@tocchapterskip} + \hbox to \hsize{Appendix \hfil} + \hbox to \hsize{Figure \hfil}}} + +\def\@appendix#1{\par + \addtocontents{toc}{{\protect\setcounter{tocdepth}{0}}} + \setcounter{chapter}{0} + \setcounter{section}{0} + \def\@chapapp{APPENDIX} + \def\thechapter{\Alph{chapter}} + \@lotheading + \@lofheading + %\separatorpage{\uppercase{#1}} % UW doesn't require a seperator page - EB +} + +%============================================================================= +% COPYRIGHTPAGE +%============================================================================= +% The copyright must do the following: +% - start a new page with no number +% - place the copyright text centered at the bottom. +%============================================================================= +\def\copyrightpage{ + \newpage + \thispagestyle{empty} % No page number + \addtocounter{page}{-1} + \chapter*{} % Required for \vfill to work + \begin{center} + \vfill + \copyright\ Copyright by \@author\ \@date\\ + All Rights Reserved + \end{center}} + + +%============================================================================= +% GLOSSARY +%============================================================================= +% The glossary environment must do the following: +% - produce the table of contents entry for the glossary +% - start a new page with GLOSSARY centered two inches from the top +%============================================================================= +\def\glossary{ + \chapter*{GLOSSARY} + \addcontentsline{toc}{chapter}{GLOSSARY}} +\def\endglossary{\par\newpage} + +%============================================================================= +% NOMENCLATURE +%============================================================================= +% The nomenclature environment must do the following: +% - produce the table of contents entry for the nomenclature section +% - start a new page with NOMENCLATURE centered two inches from the top +%============================================================================= +\def\nomenclature{\separatorpage{DISCARD THIS PAGE} + \chapter*{NOMENCLATURE} + \addcontentsline{toc}{chapter}{NOMENCLATURE}} +\def\endnomenclature{\par\newpage} + +%============================================================================= +% LIST OF SYMBOLS +%============================================================================= +% The list of symbols environment must do the following: +% - produce the table of contents entry for the list of symbols section +% - start a new page with LIST OF SYMBOLS centered two inches from the top +%============================================================================= +\def\listofsymbols{\separatorpage{DISCARD THIS PAGE} + \chapter*{LIST OF SYMBOLS} + \addcontentsline{toc}{chapter}{LIST OF SYMBOLS}} +\def\endlistofsymbols{\par\newpage} + +%============================================================================= +% VITA +%============================================================================= +% The vita environment must do the following: +% - produce a separator page with the word vita centered +% - produce the table of contents entry for the vita +% - start a new page with VITA centered two inches from the top +%============================================================================= +\def\vita{ +% \separatorpage{VITA} % UW doesn't require this EB + \chapter*{VITA} + \addcontentsline{toc}{chapter}{VITA}} +\def\endvita{\par\newpage} + +%============================================================================= +% ACKNOWLEDGMENTS +%============================================================================= +% The acknowledgments environment must do the following: +% - start a new page with ACKNOWLEDGMENTS centered two inches from the top +%============================================================================= +\def\acknowledgments{ + \chapter*{ACKNOWLEDGMENTS} + \doublespace} +\def\endacknowledgments{\par\newpage} + +%============================================================================= +% DEDICATION +%============================================================================= +% The dedication environment must do the following: +% - start a new page +% - center the text vertically +% - include the text in a center environment +%============================================================================= +\def\dedication{ + \newpage + \null\vfil + \begin{center}} +\def\enddedication{\end{center}\par\vfil\newpage} + +%============================================================================= +% DATE +%============================================================================= +%\def\today{\ifcase\month\or + %January\or February\or March\or April\or May\or June\or + %July\or August\or September\or October\or November\or December\fi + %\space\number\day, \number\year} +\newcount\@testday +\def\today{\@testday=\day + \ifnum\@testday>30 \advance\@testday by -30 + \else\ifnum\@testday>20 \advance\@testday by -20 + \fi\fi + \number\day\ \ + \ifcase\month\or + January \or February \or March \or April \or May \or June \or + July \or August \or September \or October \or November \or December + \fi\ \number\year +} + + +% Single counter for theorems and theorem-like environments: +\newtheorem{theorem}{Theorem}[chapter] +\newtheorem{assertion}[theorem]{Assertion} +\newtheorem{claim}[theorem]{Claim} +\newtheorem{conjecture}[theorem]{Conjecture} +\newtheorem{corollary}[theorem]{Corollary} +\newtheorem{definition}[theorem]{Definition} +\newtheorem{example}[theorem]{Example} +\newtheorem{figger}[theorem]{Figure} +\newtheorem{lemma}[theorem]{Lemma} +\newtheorem{prop}[theorem]{Proposition} +\newtheorem{remark}[theorem]{Remark} + +%============================================================================= +% EQUATION and EQNARRAY -- put here because it must follow \chapter definition +% +% \newcounter{equation} +%============================================================================= +% \jot = 3pt % Extra space added between lines of an eqnarray environment +\@addtoreset{equation}{chapter} % Makes \chapter reset 'equation' counter. +\def\theequation{{\rm \thechapter}.\arabic{equation}} + +%============================================================================= +% The macro \@eqnnum defines how equation numbers are to appear in equations. +%============================================================================= +\def\@eqnnum{[\theequation]} + +%============================================================================= +% INITIALIZATION - Default initializations +%============================================================================= +\ps@thesis % 'plain' page style +\pagenumbering{arabic} % Arabic page numbers +\onecolumn % Single-column. +\raggedbottom % Ragged bottom +%\if@twoside\else\raggedbottom\fi % Ragged bottom unless twoside option. + +\global\newif\if@bibpresent % Flag for the appendicies fix. If bib present + % then the seperator page isn't needed... + +%----------------------------------------------------------------------------- +% Define \bface to be \bf so that all default boldface text can be +% disabled by redefining \bface to be \null. -dfk +%----------------------------------------------------------------------------- +\newcommand{\bface}{\bf} + +%----------------------------------------------------------------------------- +% The following penalties are for conforming with Purdue's +% requirements for the thesis format. +%----------------------------------------------------------------------------- +\brokenpenalty=10000 +\clubpenalty=10000 +\widowpenalty=10000 + +%============================================================================= +% END FILE +%============================================================================= |