LaTex style file
%---------------------------------------------------------------------------=
-- % CIT_THESIS.STY Primary style for Caltech Ph.D. Thesis % % USAGE: (LaTeX 2.09) \documentstyle[draftfoot,preprint]{cit_thesis} % (LaTeX2e) \documentclass[draftfoot,preprint]{cit_thesis} % % Modifies the {report} style, so that the title page and chapters % are handled according to the Caltech Regulations for Format and % Presentation of Theses (Office of Graduate Studies), and K. Turabian, % _A Manual for Writers_ (U. Chicago Press, Chicago,= 1987). %---------------------------------------------------------------------------= -- % The secondary style of [preprint] sets the conditional= ``\ifpreprintstyle'' % TRUE. The command ``\preprint'', at the beginning of the document, has % the same effect. This causes a local publication number (see= ``\pubnum'' % below) to be typeset in the upper right corner of the title page. The= author % may also write conditional macros using the ``\ifpreprintstyle'' % construction. % % For preliminary or working copies of the thesis, the secondary style of % [draftfoot] may be used, or the command ``\draftfoot'' may be specified= at % the beginning of the document. This produces a line at the bottom of= every % page, with ``DRAFT'' in the lower left corner, and the date and time= when % LaTeX was executed in the lower right. % % A number of useful macros are defined for use in this style. The % title page of a thesis contains several standard phrases with possibly % ``variable'' information, such as the degree to be awarded, the name % and address of the institution, and copyright information. The macros % below are used to specify these data; the macro arguments indicate % the default values as defined in this style file. % % \degreeaward{Doctor of Philosophy} Degree to be awarded % \university{California Institute of Technology} Institution name % \address{Pasadena, California} Institution address % \copyyear{\the\year} Year of diploma award % % \pubnum{} Publication/preprint number % % The usual LaTeX macros ``\author,'' ``\title,'' and ``\date'' work as % defined in the LaTeX manual. The argument to \date should be the date % on which the candidate's final examination (defense) is scheduled. % % The publication/preprint number will be typeset in the upper right= corner % of the title page if and only if the [preprint] style is selected, or if % the ``\preprint'' command was executed before \maketitle. % % The command ``\maketitle'' will generate a title page formatted= according % to the Caltech instructions, and including all of the information= defined % by the macros above. Unlike the standard version, ``\maketitle'' may be % repeated several times in a document: the terms defined for it are= _not_ % reset after the page is formatted. % % The command ``\extrachapter'' will generate an unnumbered chapter= heading, % similar to the LaTeX ``\chapter*'' command. In addition,= ``\extrachapter'' % will produce an entry in the Table of Contents. This command is used in % the {abstract} and {acknowledgements} environments, listed below. % % The initial portion of the thesis document, typically the copyright= page, % abstract, and tables of contents, figures, and tables, are numbered in % roman numerals, while the body of the thesis is numbered in arabic. The % {frontmatter} environment handles these page numbering conventions. The % author should place % % \begin{frontmatter} % ...(abstract, contents, etc.) % \end{frontmatter} % % immediately following the \maketitle command. The first entry in the % {frontmatter} environment should generally be ``\makecopyright.'' This % command generates a spearate copyright page, with the text % % (C) \copyyear % \author % All Rights Reserved % % centered at the bottom of the page. Obviously, the items indicated with % macro commands above are filled in with the actual arguments to those % commands. % % The abstract is produced with the {abstract} environment, which= generates % an unnumbered chapter with an entry in the table of contents. The= author % should use % % \begin{abstract} % ...(body of abstract goes here) % \end{abstract} % % within the {frontmatter} environment. % % An acknowledgements page is produced in the same way as the abstract,= with % the {acknowledgements} environment. % % % 950201 Michael H. Kelsey Adapted from original of unknown source. % 950208 -- Merged with "citthesis.cls" from Blair Zajac. % Change [draft] and \draft to= ``draftfoot''. %---------------------------------------------------------------------------= -- %%% %%% Pre-define commands required for option-processing %%% % % \draftfoot will put "DRAFT" and the current date and time in the= footer % \newif\ifthesisdraft \def\draftfoot{\thesisdrafttrue\thesisfooter{Draft Copy\hss\thesistime}} % % \preprint will set the conditional \ifpreprintstyle to be= TRUE % \newif\ifpreprintstyle \def\preprint{\preprintstyletrue} %%% %%% Select between LaTeX 2.09 and LaTeX2e, based on \documentclass= command %%% % \ifx\undefined\documentclass %%% LaTeX 2.09 configuration %%% % \typeout{Document style `cit_thesis'. 8 February 1995, M. Kelsey} % % Define actions for style options % \@namedef{ds@draftfoot}{\thesisdrafttrue} \@namedef{ds@preprint}{\preprintstyletrue} % \input report.sty\relax %% Standard REPORT format \input setspace.sty\relax %% Load package for= double-spacing % \else %%% LaTeX2e configuration %%% \NeedsTeXFormat{LaTeX2e}[1994/06/01] \ProvidesClass{cit_thesis}[1995/02/08 Caltech Thesis class] % % Define actions for style options % \DeclareOption{draftfoot}{\thesisdrafttrue} \DeclareOption{preprint}{\preprintstyletrue} % \DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}} \ProcessOptions* %% Process remaining options locally \LoadClass{report} %% Standard REPORT format \RequirePackage{setspace} %% Load package for= double-spacing \fi % %%% %%% Override standard REPORT format for thesis layout requirements %%% % % Define \thispagestyle to null so that \chapter doesn't change page= style. % \let\thesis@document\document \def\document{\thesis@document\thispagestyle{empty}\def\thispagestyle##1{}} % % Define commands to generate draft-mode= footers % \def\thesisfooter#1{\def\@oddfoot{#1} \def\@evenfoot{#1}} % % Construct timestamp information for draft-mode= footer % \newcount\timehh\newcount\timemm \def\thesistime{% \timehh=3D\time\divide\timehh by 60% \timemm=3D\timehh\multiply\timemm by -60% \advance\timemm by \time% \ifnum\timehh<10 0\fi\number\timehh\,:\,% \ifnum\timemm<10 0\fi\number\timemm% \ \ \today% } %% End of \thesistime % % Set the headers and footers. Centered page number at top, empty footer. % Top, bottom and right margins 1 inch, Left marging 1-1/2= inches. % \def\@oddhead{\hss\thepage\hss}= \def\@evenhead{\hss\thepage\hss} \let\@oddfoot\@empty \let\@evenfoot\@empty \ifthesisdraft\draftfoot\fi %% Redefine footers for draft= thesis % \@twosidefalse\@mparswitchfalse %% Turn off= double-sided \setstretch{1.5} %% ``Double-spaced''= text % \setlength{\oddsidemargin}{.5in} %% Left margin =3D 1-1/2= inches \setlength{\evensidemargin}{.5in} %% Not really needed, as single= sided \setlength{\textwidth}{6in} %% Makes right margin =3D 1= inch \setlength{\topmargin}{-.3in} %% Top margin =3D 3/4'' inch (incl= pg#) \setlength{\headsep}{.15in} %% Space between page # and= text \setlength{\textheight}{8.95in} %% Makes bottom margin =3D 1= inch \setlength{\footskip}{.4in} %% Space from bottom of text to foot % % Define spacing for use on titlepage % \def\titleskip{\vskip 4\bigskipamount} %% Whitespace after= title \def\authorskip{\vskip 2\bigskipamount} %% Whitespace after author % % Create a command for unnumbered chapters, with a Table of Contents %= entry. % \def\extrachapter{\@ifnextchar[{\@lextrachapter}{\@extrachapter}} \def\@lextrachapter[#1]#2{% User specified optional contents entry = \chapter*{#2}\addcontentsline{toc}{chapter}{#1}% } \def\@extrachapter#1{% Chapter heading used as contents entry \chapter*{#1}\addcontentsline{toc}{chapter}{#1}% } % % Chapter headings should be at top of page, single line format % with single font size of \Large. % \def\@makechapterhead#1{\vspace*{10pt} {\parindent 0pt \raggedright \Large\bf% \ifnum \c@secnumdepth>\m@ne% \@chapapp{} \thechapter \hskip 2.3ex plus .2ex \fi #1\par \nobreak \vskip 20pt} } %% End of \@makechapterhead \def\@makeschapterhead#1{\vspace*{10pt} {\parindent 0pt \raggedright \Large\bf% #1\par \nobreak \vskip 20pt} } %% End of \@makeschapterhead % % We want roman page numbers in the frontmatter, and arabic afterward. % use \begin{frontmatter} ... \end{frontmatter} to do= this. % \newenvironment{frontmatter}% {\pagenumbering{roman}}{\clearpage\pagenumbering{arabic}} % % Additional titlepage= definitions % \def\degreeaward{\gdef\@degreeaward} \degreeaward{Doctor of Philosophy} % Default is= Ph.D. \def\university{\gdef\@university} \university{California Institute of Technology} % Default is= Caltech \def\address{\gdef\@address} \address{Pasadena, California} % Default is= Caltech \def\copyyear{\gdef\@copyyear} \copyyear{\the\year} % Default is= today \def\pubnum{\gdef\@pubnum} \pubnum{} % No publication number % % The titlepage must conform to CIT requirements % \def\maketitle{% {\parindent=3D0pt \begin{titlepage} \let\footnotesize\small \let\footnoterule\relax \setcounter{page}{1} \vskip-\headsep \ifpreprintstyle\ifx\empty\@pubnum\else {\singlespace\hfill\hbox{\begin{tabular}{l}\@pubnum\end{tabular}}} \titleskip \fi\fi \begin{center} {\Large\bf \@title\par} \titleskip Thesis by\\ {\large \@author\par} \authorskip In Partial Fulfillment of the Requirements\\ for the Degree of\\ \@degreeaward\par \vfill \@university\\ \@address\par \authorskip \@copyyear\par {\normalsize (Submitted \@date)\par} \end{center} \vspace*{.5in} \end{titlepage}} } %% End of \maketitle % % The copyright page is new, must conform to CIT= requirements % \def\makecopyright{% \setcounter{page}{2} {\parindent=3D0pt \null % Forces rest to bottom of page \vfill \begin{center} \copyright\quad \@copyyear\\ \@author\\ All Rights Reserved \end{center}} \newpage } %% End of \makecopyright % % The abstract and acknowledgements are treated as unnumbered chapters % with Table of Contents= entries. % \def\abstract{\extrachapter{Abstract}} %= \begin{abstract} \def\endabstract{\clearpage} %= \end{abstract} \def\acknowledgements{\extrachapter{Acknowledgments}} \def\endacknowledgements{\clearpage} % % The {thebibliography} environment should put an entry into the Table % of Contents, just as the {abstract} and {acknowledgements} environments %= do. % \let\thesis@thebibliography=3D\thebibliography \def\thebibliography#1{\thesis@thebibliography{#1}% \addcontentsline{toc}{chapter}{Bibliography}} % \endinput %%%= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D %%% @LaTeX-style-file{ %%% filename =3D "setspace.sty", %%% version =3D "3.1", %%% date =3D "25 May 1994", %%% time =3D "10:21:09.67 CDT", %%% author =3D "George D. Greenwade", %%% address =3D "Department of Economics and Business= Analysis %%% College of Business Administration %%% P. O. Box 2118 %%% Sam Houston State University %%% Huntsville, Texas, USA 77341-2118", %%% email =3D "[email protected] (Internet) %%% BED_GDG@SHSU (BITNET) %%% SHSU::BED_GDG (THENET)", %%% telephone =3D "(409) 294-1266", %%% FAX =3D "(409) 294-3712", %%% supported =3D "yes", %%% archived =3D "SHSU*", %%% keywords =3D "LaTeX style, spacing, doublespace, half= spacing, %%% modifications to original", %%% codetable =3D "ISO/ASCII", %%% checksum =3D "14962 309 1381 13018", %%% docstring =3D "This is a very quick hack to get= setspace.sty %%% to work with LaTeX2e as well as 2.09 with and %%% without NFSS -- but it does work on the small= %%% test I've run. Comments welcome! %%% %%% The primitive logic is that we can test for %%% the existence the definition of %%% \selectfont -- not in LaTeX 2.09 without NFSS %%% (prior toggle -- version 2.x) %%% \@newbaseline -- defined in NFSS but not in %%% LaTeX 2e (current toggle -- version 3.0) %%% %%% This is a modification to Erica Harris' %%% setspace.sty. The main aspects of this %%% modification deal with the definitions of %%% \doublespacing, \onehalfspacing, and %%% \singlespacing (these are near the beginning= of %%% the file). Primarily, these deal with adding %%% fontsize changes to guarantee that the new %%% baseline is properly defined and placed into %%% action. The extra \vskip in the definition= of %%% \singlespacing seems to make for a cleaner %%% transition from multiple spacing back to= single %%% spacing. These did not appear warrranted for %%% other size changes. %%% %%% Modified by GDG on November 1, 1992, to allow %%% for use of New Font Selection Scheme. %%% %%% Modified by GDG on June 4, 1993, to correct %%% for spacing tokens in defintion of \@setsize %%% Thanks to Kaja P. Christiansen= <[email protected]> %%% for the fix!! %%% %%% Modified by GDG on May 24, 1994, to change= toggle %%% definition from \selectfont to= \@newbaseline. %%% %%% Modified by GDG on May 25, 1994, to add %%% definition of \everydisplay -- this part of %%% the code was apparently written by Geoffrey %%% Tobin on Thu 23 Jan 1992 and was provided by %%% [email protected] (Richard Stanton). %%% This should help with some of the awkward= math %%% placements in changing spacings. %%% %%% The original headers of the main file cover= the %%% major aspects of this file and its use. %%% %%% The checksum field above contains a CRC-16 %%% checksum as the first value, followed by the %%% equivalent of the standard UNIX wc (word %%% count) utility output of lines, words, and %%% characters. This is produced by Robert %%% Solovay's checksum utility." %%% } %%%= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D %% FILE: setspace.sty in SYS2.TEX.PUB.ISULATEX.STYLES %% AUTHOR: Erica M. S. Harris %% DATE: April 1990 %% MOD: March 1991 %% DESCR: LaTeX Document style option "setspace" %% Usage: \documentstyle[...,setspace,...]{...} %% Based on the doublespace option created by Stephen Page. %% %% This style option provides commands and environments for doing %% double and one-and-a-half spacing based on pt size. %% %% Single spacing is the default. %% %% Three commands, \doublespacing, \onehalfspacing, and %% \singlespacing, are for use in the preamble to set the overall %% spacing for the document. If a different spacing is required= then %% the \setstretch{baselinestretch} command can be used in the %% preamble to set the baselinestretch appropriately. The= default %% spacing with this style option is single spacing. %% %% Three environments, singlespace, onehalfspace, and= doublespace, %% allow the spacing to be changed within the document. Both the %% onehalfspace and doublespace environments are intended to= increase %% the spacing, so the onehalfspace environment should not be used= in %% a double spaced document. If an increased spacing different= from %% one-and-a-half or double spacing is required then the spacing %% environment can be used. The spacing environment takes one %% argument which is the larger baselinestretch to use, %% e.g., \begin{spacing}{2.5}. %% %% \footins is adjusted the same as \parskip - appears to work.= Lose %% stretch parts but don't consider that to be crucial %% %% Removed code for altering spacing before and after displayed %% equations - just looked too much. %% %% MODS: %% Redefinition of \spacing and \endspacing for consistency with %% TeX 3.x inserted by George Greenwade. Modification provided= by %% Philip Ross ([email protected]) and John Byrne via= INFO-TeX. %% %% PLEASE REPORT ANY BUGS %% %% Old Documentation follows: %% 1. A new environment "singlespace" is provided, within which= single %% spacing will apply. %% JFL - changed so that it works in regular text and so that %% vertical space before and after is correctly computed %% 2. Double spacing is turned off within footnotes and floats= (figures %% and tables). %% 3. Proper double spacing happens below tabular environments and= in %% other places where LaTeX uses a strut. %% 4. Slightly more space is inserted before footnotes. %% 5. JFL - fixes spacing before and after displayed math %% %% %% mods: Jean-Francois Lamy %% [email protected] %% [email protected] %% %% POSSIBLE BUGS: %% . Increasing struts may possibly cause some other obscure part of %% formatting to fall over. %% . \begin{singlespace}\begin{quote} produces the wrong spacing= before %% the quote (extra glue is= inserted). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%= % \def\doublespacing{\ifcase \@ptsize \relax % 10pt \def\baselinestretch{1.667} \or % 11pt \def\baselinestretch{1.618} \or % 12pt \def\baselinestretch{1.655} \fi \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi% \else% NFSS (2.09) present \@newbaseline% \fi% } \def\onehalfspacing{\ifcase \@ptsize \relax % 10pt \def\baselinestretch{1.25} \or % 11pt \def\baselinestretch{1.213} \or % 12pt \def\baselinestretch{1.241} \fi \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi% \else% NFSS (2.09) present \@newbaseline% \fi% } \def\singlespacing{\def\baselinestretch{1} \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi% \else% NFSS (2.09) present \@newbaseline% \fi% \vskip\baselineskip% Correction for coming into= singlespace } \def\setstretch#1{\renewcommand{\baselinestretch}{#1}} %---Stretch the baseline BEFORE calculating the strut size. This improves % spacing below tabular environments etc., probably... % Comments are welcomed. \ifx\undefined\@newbaseline% NFSS not present; 2.09 or= 2e \def\@setsize#1#2#3#4{\@nomath#1%--modified 1993.04.07--GDG per KPC \let\@currsize#1\baselineskip =20 #2\baselineskip\baselinestretch\baselineskip \parskip\baselinestretch\parskip \setbox\strutbox\hbox{\vrule height.7\baselineskip depth.3\baselineskip width\z@}% \skip\footins \baselinestretch\skip\footins \normalbaselineskip\baselineskip#3#4} \else% NFSS (2.09) present \def\@newbaseline{\setnew@baselineskip \baselineskip\baselinestretch\baselineskip \setbox\strutbox\hbox{\vrule\@height.7\baselineskip \@depth.3\baselineskip \@width\z@}% \normalbaselineskip\baselineskip}% \fi% %---Increase the space between last line of text and footnote= rule. %\skip\footins 20pt plus4pt minus4pt %---Reset baselinestretch within footnotes and= floats. \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 :=3D#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}\@normalsize \boxmaxdepth\z@ \hsize\columnwidth= \@parboxrestore} \long\def\@footnotetext#1{\insert\footins{\def\baselinestretch{1}\footnotesi= ze \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}}} % A single spaced quote (say) is done by surrounding singlespace with= quote. % \def\singlespace{% \vskip\baselineskip% \def\baselinestretch{1}% \ifx\undefined\@newbaseline% NFSS not present; 2.09 or= 2e \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi% \else% NFSS (2.09) present \@newbaseline% \fi% \vskip-\baselineskip} \def\endsinglespace{\par} % spacing, doublespace and onehalfspace all are meant to INCREASE the % spacing (i.e. calling onehalfspace from within doublespace will not % produce a graceful transition between spacings) % % Next two definitions fixed for consistency with TeX= 3.x \def\spacing#1{\par% \begingroup % moved from \endspacing by PGBR 29-1-91 \def\baselinestretch{#1}% \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi% \else% NFSS (2.09) present \@newbaseline% \fi% } \def\endspacing{\par% \vskip \parskip% \vskip \baselineskip% \endgroup% \vskip -\parskip% \vskip -\baselineskip} % one and a half spacing is 1.5 x pt size \def\onehalfspace{\ifcase \@ptsize \relax % 10pt \spacing{1.25} \or % 11pt \spacing{1.213} \or % 12pt \spacing{1.241} \fi} \let\endonehalfspace=3D\endspacing % double spacing is 2 x pt size \def\doublespace{\ifcase \@ptsize \relax % 10pt \spacing{1.667} \or % 11pt \spacing{1.618} \or % 12pt \spacing{1.655} \fi} \let\enddoublespace=3D\endspacing % gt - EMSH chose to omit display math part that follows. % She wrote (see above) that the "altered spacing before and after= displayed % equations ... just looked too much". % % Fix up spacing before and after displayed math % (arraystretch seems to do a fine job for inside LaTeX displayed math, % since array and eqnarray seem to be affected as expected). % Changing \baselinestretch and doing a font change also works if done= here, % but then you have to change @setsize to remove the call to= @nomath) % \everydisplay{ \abovedisplayskip \baselinestretch\abovedisplayskip% \belowdisplayskip \abovedisplayskip% \abovedisplayshortskip \baselinestretch\abovedisplayshortskip% \belowdisplayshortskip \baselinestretch\belowdisplayshortskip} \endinput