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/utthesis/utthesis.sty |
Initial commit
Diffstat (limited to 'macros/latex/contrib/utthesis/utthesis.sty')
-rw-r--r-- | macros/latex/contrib/utthesis/utthesis.sty | 716 |
1 files changed, 716 insertions, 0 deletions
diff --git a/macros/latex/contrib/utthesis/utthesis.sty b/macros/latex/contrib/utthesis/utthesis.sty new file mode 100644 index 0000000000..9b04f9a19b --- /dev/null +++ b/macros/latex/contrib/utthesis/utthesis.sty @@ -0,0 +1,716 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% +%%% File: utthesis.sty, version 2.0, January 1995 +%%% ============================================= +%%% Copyright (c) 1995 by Dinesh Das. All rights reserved. +%%% This file is free and can be modified or distributed as long as +%%% you meet the following conditions: +%%% +%%% (1) This copyright notice is kept intact on all modified copies. +%%% (2) If you modify this file, you MUST NOT use the original file name. +%%% +%%% This file defines macros used for preparing theses for +%%% The University of Texas at Austin. It has been tested with LaTeX2e. +%%% I do NOT guarantee that it will meet all requirements of the +%%% Graduate School; however, if you find that something violates the +%%% specifications, please send me email at <ddas@cs.utexas.edu> and +%%% I will try to fix it. +%%% +%%% Usage: +%%% ====== +%%% +%%% To use this file with LaTeX2e, make sure your TEXINPUTS environment +%%% variable contains the directory in which this file is located. +%%% Include this file as a package in the preamble: +%%% +%%% \documentclass[...]{report} +%%% \usepackage{utthesis} +%%% +%%% On non-UNIX systems, there might be different environment variables +%%% that might need to be set. I know nothing about such machines, +%%% however; consult your local guru for details. +%%% +%%% A template for a thesis is provided in the file "utthesis.doc", available +%%% from the same place where you obtained this file. +%%% +%%% Command Names: +%%% ============== +%%% +%%% ALL command names used in this file that are used to format the +%%% thesis begin with "thesis" (e.g., \thesisauthor). All of these +%%% commands can be changed by the user using \renewcommand, e.g., +%%% +%%% \renewcommand{\thesisauthor}{First M. Last} +%%% +%%% after loading the package in LaTeX2e. +%%% +%%% The following is a list of all thesis-related variables used together +%%% with their default values: +%%% +%%% \thesisauthor %% Name of the author; defaults to "Ima Student". +%%% \thesismonth %% Month of graduation; defaults to "May". +%%% \thesisyear %% Year of graduation; defaults to "1994". +%%% \thesistitle %% Full title of dissertation; defaults to "Title". +%%% \thesistitletypesize +%%% %% Typesize used to typeset \thesistitle; defaults +%%% %% to \Large. +%%% \thesisauthorpreviousdegrees +%%% %% Previous degrees of author; defaults to "Degree" +%%% \thesissupervisor%% Name of thesis supervisor; defaults to "Supervisor" +%%% \thesisauthoraddress +%%% %% Permanent address of author; defaults to "USA" +%%% \thesisapprovedby%% Approval of dissertation committee; defaults to +%%% %% "Approved by". +%%% \thesisapprovedbytypesize +%%% %% Typesize used to typeset \thesisapprovedby; defaults +%%% %% to \large. +%%% \thesiscopyrightholder +%%% %% Name of copyright holder; defaults to \thesisauthor. +%%% \thesistypist %% Name of thesis typist; defaults to "the author". +%%% \thesistype %% Type of thesis; defaults to "Dissertation". +%%% \thesistypetypesize +%%% %% Typesize used to typeset \thesistype; defaults to +%%% %% \large. +%%% \thesisdegree %% Degree for which thesis is submitted; defaults to +%%% %% "Doctor of Philosophy". +%%% \thesisdegreetypesize +%%% %% Typesize used to typeset \thesisdegree; defaults to +%%% %% \large. +%%% \thesisdegreeabbreviation +%%% %% Abbreviation of \thesisdegree; defaults to "Ph.D.". +%%% \thesiscommitteesize +%%% %% Number of members in thesis committee; defaults to 5. +%%% \thesiscommittee %% Name of thesis committee; defaults to +%%% %% "Dissertation Committee:". +%%% \thesiscommitteetypesize +%%% %% Typesize used to typeset \thesiscommittee; defaults +%%% %% to \large. +%%% \thesisvitahead %% Title of the vita page; defaults to "Vita". +%%% \thesisvitaheadtypesize +%%% %% Typesize used to typeset \thesisvitahead; unused. +%%% \thesisacknowledgmenthead +%%% %% Title of the acknowledgments page; defaults to +%%% %% "Acknowledgments". +%%% \thesisacknowledgmentheadtypesize +%%% %% Typesize used to typeset \thesisacknowledgmenthead; +%%% %% unused. +%%% \thesisacknowledgmentsigname +%%% %% Signature on the acknowledgments page; defaults to +%%% %% \thesisauthor. +%%% \thesisacknowledgmentsignametypesize +%%% %% Typesize used to typeset \thesisacknowledgmentsigname; +%%% %% defaults to \large. +%%% \thesisacknowledgmentsigplace +%%% %% Address used on the acknowledgments page; defaults +%%% %% to "The University of Texas at Austin \\ \thesismonth +%%% %% \thesisyear". +%%% \thesisstudent %% Name of author with previous degrees; defaults to +%%% %% "\thesisauthor, \thesisauthorpreviousdegrees". +%%% \thesisstudenttypesize +%%% %% Typesize used to typeset \thesisstudent; defaults +%%% %% to \large. +%%% \thesisdedication%% Person or thing dedicated to; defaults to +%%% %% "To myself". :-) +%%% +%%% Most of the default values will satisfy the Graduate School's +%%% requirements; however, at a minimum, the user SHOULD redefine the +%%% following commands: +%%% +%%% \thesisauthor +%%% \thesismonth +%%% \thesisyear +%%% \thesistitle +%%% \thesisauthorpreviousdegrees +%%% \thesissupervisor +%%% \thesisauthoraddress +%%% +%%% In addition to the above variables, the following commands are +%%% provided to generate the optional sections of the thesis: +%%% +%%% \thesiscopyrightpage +%%% %% Generates the copyright page. +%%% \thesistitlepage %% Generates the title page. +%%% \thesissignaturepage +%%% %% Generates the signature page. +%%% \thesisdedicationpage +%%% %% Generates the dedication page. +%%% +%%% There are also a few environments to generate paragraph-like text: +%%% +%%% thesisacknowledgments +%%% %% Text of acknowledgments. +%%% thesisabstract %% Text of abstract. +%%% thesisauthorvita %% Text of author's vita. +%%% +%%% Bells and Whistles: +%%% =================== +%%% +%%% The following commands are provided purely for playing around with. +%%% They should be used in the document preamble (before \begin{document}). +%%% +%%% \thesisdraft %% Prints a timestamp at the top of each page. This +%%% %% must be invoked in the document preamble (before +%%% %% \begin{document}). +%%% \leftchapter, \centerchapter, \rightchapter +%%% %% These commands generate left-justified, centered, +%%% %% and right-justified chapter headings, respectively. +%%% \singlespace, \oneandhalfspace, \doublespace +%%% %% These define the line spacing to single-space, +%%% %% one-and-one-half space, and double-space +%%% %% respectively. Note that the minimum spacing +%%% %% required by the Graduate School is \oneandhalfspace, +%%% %% but \singlespace is useful, e.g., when using +%%% %% \thesisdraft. +%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\typeout{*************************************************************} +\typeout{** UT Austin Thesis Style File, version 2.0, January 1995 } +\typeout{** Written by Dinesh Das } +\typeout{** Dept. of Computer Sciences } +\typeout{** The University of Texas at Austin } +\typeout{*************************************************************} + +%%% +%%% Set up page layout parameters. +%%% +\setlength{\textheight}{8in} +\setlength{\oddsidemargin}{0.5in} +\setlength{\evensidemargin}{0.5in} +\setlength{\textwidth}{5.50in} +\setlength{\topmargin}{0.5in} +\setlength{\headheight}{0in} +\setlength{\headsep}{0in} +\setlength{\parindent}{12mm} + +%%% +%%% Set up default values. +%%% +\newcommand{\@universityname}{The University of Texas at Austin} +\newcommand{\@publicationno}{Publication No.\ \line(1,0){40} \\[10mm]} +\newcommand{\thesisauthor}{Ima Student} +\newcommand{\thesismonth}{May} +\newcommand{\thesisyear}{1994} +\newcommand{\thesistitle}{Title} +\newcommand{\thesistitletypesize}{\Large} +\newcommand{\thesisauthorpreviousdegrees}{Degree} +\newcommand{\thesissupervisor}{Supervisor} +\newcommand{\thesisauthoraddress}{USA} +\newcommand{\thesisapprovedby}{Approved by} +\newcommand{\thesisapprovedbytypesize}{\large} +\newcommand{\thesiscopyrightholder}{\thesisauthor} +\newcommand{\thesistypist}{the author} +\newcommand{\thesistype}{Dissertation} +\newcommand{\thesistypetypesize}{\large} +\newcommand{\thesistypesize}{\large} +\newcommand{\thesisdegree}{Doctor of Philosophy} +\newcommand{\thesisdegreetypesize}{\large} +\newcommand{\thesisdegreeabbreviation}{Ph.D.} +\newcommand{\thesiscommitteesize}{5} +\newcommand{\thesiscommittee}{Dissertation Committee:} +\newcommand{\thesiscommitteetypesize}{\large} +\newcommand{\thesisvitahead}{Vita} +\newcommand{\thesisvitaheadtypesize}{\Large} +\newcommand{\thesisacknowledgmenthead}{Acknowledgments} +\newcommand{\thesisacknowledgmentheadtypesize}{\Large} +\newcommand{\thesisacknowledgmentsigname}{\thesisauthor} +\newcommand{\thesisacknowledgmentsignametypesize}{\large} +\newcommand{\thesisacknowledgmentsigplace}% + {{\slshape + \renewcommand{\arraystretch}{1.0} + \begin{tabular}{l} + \@universityname \\ + \thesismonth\ \thesisyear + \end{tabular}}} +\newcommand{\thesisstudent}{\thesisauthor, \thesisauthorpreviousdegrees} +\newcommand{\thesisstudenttypesize}{\large} +\newcommand{\thesisdedication}{To myself} + +%%% +%%% Command for masters theses. \phdthesis is provided for symmetry. +%%% +\newcommand{\mastersthesis}{ + \renewcommand{\thesistype}{Thesis} + \renewcommand{\@publicationno}{} + \renewcommand{\thesisdegree}{Master of Arts} + \renewcommand{\thesisdegreeabbreviation}{M.A.} + \renewcommand{\thesiscommitteesize}{2} + \renewcommand{\thesiscommittee}{Supervising Committee:}} +\newcommand{\phdthesis}{} + +%%% +%%% Set up other commands. +%%% +\newcommand{\@defaultbaselinestretch}{1.5} +\newcommand{\@base}[1]{\renewcommand{\baselinestretch}{#1}} +\newcommand{\singlespace}{\renewcommand{\@defaultbaselinestretch}{1.1}} +\newcommand{\oneandhalfspace}{\renewcommand{\@defaultbaselinestretch}{1.5}} +\newcommand{\doublespace}{\renewcommand{\@defaultbaselinestretch}{1.7}} +\newcommand{\@thesistitle}{\textbf{\thesistitletypesize \thesistitle}} +\newcommand{\@thesisapprovedby}% + {\textbf{\thesisapprovedbytypesize \thesisapprovedby}} +\newcommand{\@thesistype}{\textbf{\thesistypetypesize \thesistype}} +\newcommand{\@thesisdegree}{\textbf{\thesisdegreetypesize \thesisdegree}} +\newcommand{\@thesisdegreeabbreviation}{\thesisdegreeabbreviation} +\newcommand{\@thesiscommittee}% + {\textbf{\thesiscommitteetypesize \thesiscommittee}} +\newcommand{\@thesisvitahead}{\thesisvitahead} +\newcommand{\@thesisacknowledgmenthead}% + {\thesisacknowledgmenthead} +\newcommand{\@thesisacknowledgmentsigname}% + {\textsc{\thesisacknowledgmentsignametypesize \thesisacknowledgmentsigname}} +\newcommand{\@thesisacknowledgmentsigplace}{\thesisacknowledgmentsigplace} +\newcommand{\@thesisstudent}{\textbf{\thesisstudenttypesize \thesisstudent}} + +%%% +%%% Indent the first paragraph after a sectioning command. +%%% +%%% \let\@afterindentfalse\@afterindenttrue +%%% \@afterindenttrue + +%%% +%%% Set up default page numbering and line spacing. +%%% +\newcommand{\@textpagenumbering}{arabic} +\newcommand{\@preamblepagenumbering}{roman} +\newcommand{\@textpagestyle}{plain} +\newcommand{\@preamblepagestyle}{plain} +\pagenumbering{\@preamblepagenumbering} +\@base{\@defaultbaselinestretch} + +\newcommand{\@chaptertype}{\chaptername} +\newcommand{\@appendix}{0} + +%%% +%%% Command to generate copyright page. +%%% +\newcommand{\thesiscopyrightpage}{ + \thispagestyle{empty} + \strut \vfill + \begin{center} + \begin{spacing}{2} + Copyright \\ by \\ \thesiscopyrightholder \\ \thesisyear + \end{spacing} + \end{center} + \vfill \strut + \newpage} + +%%% +%%% Command to generate title page. +%%% +\newcommand{\thesistitlepage}{ + \thispagestyle{empty} + \begin{spacing}{2} + \begin{center} + \@thesistitle \\[8mm] + by \\[4mm] + \@thesisstudent \\ + \vspace{26mm} + \textbf{\thesistypetypesize \thesistype} \\ + Presented to the Faculty of the Graduate School of \\ + \@universityname \\ + in Partial Fulfillment \\ + of the Requirements \\ + for the Degree of \\[4mm] + \textbf{\thesisdegreetypesize \thesisdegree} \\ + \vspace{26mm} + \textbf{\Large \@universityname} \\[4mm] + \thesismonth \ \thesisyear + \end{center} + \end{spacing} + \newpage} + +%%% +%%% Command to generate signature page. +%%% +\newcommand{\thesissignaturepage}{ + \thispagestyle{empty} + \begin{spacing}{2} + \strut \vfill + \begin{center} + \@thesistitle + \end{center} + \vspace{50mm} + \mbox{} \hfill \begin{minipage}{67mm} + \begin{spacing}{1} + \@thesisapprovedby\hfill\mbox{} \\ + \@thesiscommittee \\[15mm] + \end{spacing} + \setlength{\unitlength}{1mm} + \begin{picture}(67,70)(0,0) + \multiput(0,70)(0,-10) + {\thesiscommitteesize}{\line(1,0){67}} + \end{picture} + \end{minipage} + \vfill \strut + \end{spacing} + \newpage} + +%%% +%%% Environment to generate abstract page. +%%% +\newenvironment{thesisabstract} + {\addcontentsline{toc}{chapter}{Abstract} + \vspace*{0mm} + \begin{center} + \setlength{\unitlength}{1mm} + \begin{spacing}{2} + \@thesistitle \\[10mm] + \end{spacing} + \begin{spacing}{\@defaultbaselinestretch} + \@publicationno + \thesisauthor, \thesisdegreeabbreviation \\ + \@universityname, \thesisyear \\[10mm] + \end{spacing} + Supervisor: \thesissupervisor \\ + \end{center} + \vspace{5mm} + \begin{spacing}{\@defaultbaselinestretch} \noindent} + {\end{spacing} \newpage} + +%%% +%%% Command to generate dedication page. +%%% +\newcommand{\thesisdedicationpage}{ + \thispagestyle{empty} + \strut \vfill + \begin{spacing}{\@defaultbaselinestretch} + \begin{center} + \thesisdedication + \end{center} + \end{spacing} + \vfill \strut + \newpage} + +%%% +%%% Environment to generate acknowledgments page. +%%% +\newenvironment{thesisacknowledgments} + {%\doublespace\small\normalsize + \chapter*{\@thesisacknowledgmenthead + \@mkboth{\uppercase{\@thesisacknowledgmenthead}} + {\uppercase{\@thesisacknowledgmenthead}}} + \addcontentsline{toc}{chapter}{\@thesisacknowledgmenthead} + \begin{spacing}{\@defaultbaselinestretch}} + {\end{spacing} \par \vspace{20mm} + \raggedleft \@thesisacknowledgmentsigname \\[10mm] + \raggedright \@thesisacknowledgmentsigplace \newpage} + +%%% +%%% Environment to generate vita page. +%%% +\newenvironment{thesisauthorvita} + {\clearpage + \chapter*{\@thesisvitahead + \@mkboth{\uppercase{\@thesisvitahead}} + {\uppercase{\@thesisvitahead}}} + \addcontentsline{toc}{chapter}{\@thesisvitahead} + \begin{spacing}{\@defaultbaselinestretch}} + {\end{spacing} \par \vspace{20mm} + \noindent Permanent Address: + \begin{minipage}[t]{90mm} + \thesisauthoraddress + \end{minipage} + \par \vspace{15mm} + \noindent This \lowercase\expandafter{\thesistype} was + typeset with \LaTeXe\footnote{\LaTeXe{} is an extension of \LaTeX. + \LaTeX{} is a collection of macros for \TeX. \TeX{} is a + trademark of the American Mathematical Society. The macros used in + formatting this \lowercase\expandafter{\thesistype} were written + by Dinesh Das, Department of Computer Sciences, The University + of Texas at Austin. + } by \thesistypist.} + +\newcommand{\@chapteralignment}{\centering} +\renewcommand{\chapter}{\clearpage + \ifnum\@appendix=1 + \renewcommand{\@chaptertype}{\appendixname} + \else + \renewcommand{\@chaptertype}{\chaptername} + \fi + \thispagestyle{plain}% + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter + } +\renewcommand\appendix{\par + \setcounter{chapter}{0}% + \setcounter{section}{0}% + \renewcommand{\@chapapp}{\appendixname}% + \renewcommand{\thechapter}{\Alph{chapter}} + \renewcommand{\@appendix}{1}} + +%%% +%%% Define chapter heading placement commands. +%%% +\newcommand{\leftchapter}{ + \renewcommand{\@chapteralignment}{\raggedright}} +\newcommand{\centerchapter}{ + \renewcommand{\@chapteralignment}{\centering}} +\newcommand{\rightchapter}{ + \renewcommand{\@chapteralignment}{\raggedleft}} + +%%% +%%% Command from report.cls, (c) LaTeX3 Project. +%%% +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}% + {\@chaptertype{} \protect\numberline{\thechapter}#1}% + \else + \addcontentsline{toc}{chapter}{\@chaptertype{} #1} + \fi + \ifnum\value{chapter}=1 + \ifnum\@appendix=0 + \pagestyle{\@textpagestyle} + \pagenumbering{\@textpagenumbering} + \fi + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi + } + +%%% +%%% Command from report.cls, (c) LaTeX3 Project. +%%% +\def\@makechapterhead#1{% + \vspace*{50\p@}% + {\parindent \z@ \@chapteralignment \reset@font + \ifnum \c@secnumdepth >\m@ne + \huge\bfseries \@chapapp{} \thechapter + \par + \vskip 20\p@ + \fi + \Huge \bfseries #1\par + \nobreak + \vskip 40\p@ + }} +\def\@makeschapterhead#1{% + \vspace*{50\p@}% + {\parindent \z@ \@chapteralignment + \reset@font + \Huge \bfseries #1\par + \nobreak + \vskip 40\p@ + }} + +%%% +%%% Command from report.cls, (c) LaTeX3 Project. +%%% +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname + \@mkboth{\uppercase{\bibname}}{\uppercase{\bibname}}}% + \addcontentsline{toc}{chapter}{\bibname} + \list{\@biblabel{\arabic{enumiv}}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \if@openbib + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ + \fi + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\arabic{enumiv}}}% + \if@openbib + \renewcommand\newblock{\par} + \else + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% + \fi + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=\@m} + {\def\@noitemerr{\@warning{Empty `thebibliography' environment}}% + \endlist} + +%%% +%%% Command from report.cls, (c) LaTeX3 Project. +%%% +\renewcommand\listoftables{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\listtablename + \@mkboth{\uppercase{\listtablename}}{\uppercase{\listtablename}}}% + \addcontentsline{toc}{chapter}{\listtablename} + \@starttoc{lot}% + \if@restonecol\twocolumn\fi + } +\renewcommand\listoffigures{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\listfigurename + \@mkboth{\uppercase{\listfigurename}}% + {\uppercase{\listfigurename}}}% + \addcontentsline{toc}{chapter}{\listfigurename} + \@starttoc{lof}% + \if@restonecol\twocolumn\fi + } +\renewcommand\tableofcontents{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\contentsname + \@mkboth{\uppercase{\contentsname}}{\uppercase{\contentsname}}}% + \@starttoc{toc}% + \if@restonecol\twocolumn\fi + } + +%%% +%%% Command to print draft version of the thesis. +%%% +\newcommand{\thesisdraft}{ + \setlength{\topmargin}{0in} + \setlength{\headheight}{0.2in} + \setlength{\headsep}{0.25in} + \renewcommand{\@textpagestyle}{myheadings} + \def\ps@myheadings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@oddhead{\textsl{Draft of \timestamp}\hfil\thepage}% + \let\@mkboth\@gobbletwo + \let\chaptermark\@gobble + \let\sectionmark\@gobble} + } + +%%% +%%% Code to compute current timestamp. Some parts by Martin Minow. +%%% +\newcount\hour \newcount\minute +\hour=\time \divide \hour by 60 +\minute=\time +\loop \ifnum \minute > 59 \advance \minute by -60 \repeat +\def\thesistime{\ifnum \hour<13 \number\hour:% + \ifnum \minute<10 0\fi + \number\minute + \ifnum \hour<12 \ am\else \ pm\fi + \else \advance \hour by -12 \number\hour:% + \ifnum \minute<10 0\fi + \number\minute \ pm\fi} + +\def\thesisdate{\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\dow +\newcount\leap +\newcount\x +\newcount\y + +%leap = year + (month - 14)/12 +\leap=\month \advance\leap by -14 \divide\leap by 12 + \advance\leap by \year + +%dow = (13 * (month + 10 - (month + 10)/13*12) - 1)/5 +\dow=\month \advance\dow by 10 + \y=\dow \divide\y by 13 \multiply\y by 12 + \advance\dow by -\y \multiply\dow by 13 \advance\dow by -1 \divide\dow by 5 + +%dow += day + 77 + 5 * (leap % 100)/4 +\advance\dow by \day \advance\dow by 77 + \x=\leap \y=\x \divide\y by 100 \multiply\y by 100 \advance\x by -\y + \multiply\x by 5 \divide\x by 4 \advance\dow by \x + +%dow += leap / 400 +\x=\leap \divide\x by 400 \advance\dow by \x + +%dow -= leap / 100 * 2; +%dow = (dow % 7) +\x=\leap \divide\x by 100 \multiply\x by 2 \advance\dow by -\x + \x=\dow \divide\x by 7 \multiply\x by 7 \advance\dow by -\x + +\def\thesisdayofweek{\ifcase\dow +Sunday\or Monday\or Tuesday\or +Wednesday\or Thursday\or Friday\or Saturday\fi} + +\def\timestamp{\thesistime, \thesisdayofweek, \thesisdate} + +%%% +%%% Commands for spacing. Some parts from spacing.sty by Stephen Page. +%%% +\ifx\undefined\selectfont +\def\@setsize#1#2#3#4{\@nomath#1 + \let\@currsize#1\baselineskip + #2\baselineskip\baselinestretch\baselineskip + \parskip\baselinestretch\parskip + \setbox\strutbox\hbox{\vrule height.7\baselineskip + depth.3\baselineskip width\z@} + \normalbaselineskip\baselineskip#3#4} +\else +\def\@newbaseline{% + \ifx\undefined\setnew@baselineskip + \baselineskip\f@baselineskip\relax + \else + \setnew@baselineskip + \fi + \baselineskip\baselinestretch\baselineskip + \setbox\strutbox\hbox{\vrule\@height.7\baselineskip + \@depth.3\baselineskip \@width\z@}% + \normalbaselineskip\baselineskip} +\fi +%%% +%%% Reset baselinestretch within footnotes and floats. Originally stolen +%%% from Stanford thesis style. +%%% +\def\@xfloat#1[#2]{\ifhmode \@bsphack\@floatpenalty -\@Mii\else + \@floatpenalty-\@Miii\fi\def\@captype{#1}\ifinner + \@parmoderr\@floatpenalty\z@ + \else\@next\@currbox\@freelist{\@tempcnta\csname ftype@#1\endcsname + \multiply\@tempcnta\@xxxii\advance\@tempcnta\sixt@@n + \@tfor \@tempa :=#2\do + {\if\@tempa h\advance\@tempcnta \@ne\fi + \if\@tempa t\advance\@tempcnta \tw@\fi + \if\@tempa b\advance\@tempcnta 4\relax\fi + \if\@tempa p\advance\@tempcnta 8\relax\fi + }\global\count\@currbox\@tempcnta}\@fltovf\fi + \global\setbox\@currbox\vbox\bgroup + \def\baselinestretch{1} + \ifx\undefined\selectfont + \small\normalsize + \else + \@newbaseline + \fi + \boxmaxdepth\z@ + \hsize\columnwidth \@parboxrestore} +\long\def\@footnotetext#1{\insert\footins{\def\baselinestretch{1}\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext + {\rule{\z@}{\footnotesep}\ignorespaces + #1\strut}}} +%%% +%%% Stolen from MIT. +%%% +\def\spacing#1{\par% + \begingroup + \def\baselinestretch{#1} + \ifx\undefined\selectfont + \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi + \else + \@newbaseline + \fi} +\def\endspacing{\par + \vskip \parskip + \vskip \baselineskip + \endgroup + \vskip -\parskip + \vskip -\baselineskip} + |