From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/ucthesis/README | 237 +++++ macros/latex/contrib/ucthesis/uct10.clo | 439 ++++++++++ macros/latex/contrib/ucthesis/uct11.clo | 439 ++++++++++ macros/latex/contrib/ucthesis/uct12.clo | 439 ++++++++++ macros/latex/contrib/ucthesis/uctest.bib | 153 ++++ macros/latex/contrib/ucthesis/uctest.tex | 127 +++ macros/latex/contrib/ucthesis/ucthesis.cls | 1291 ++++++++++++++++++++++++++++ 7 files changed, 3125 insertions(+) create mode 100644 macros/latex/contrib/ucthesis/README create mode 100644 macros/latex/contrib/ucthesis/uct10.clo create mode 100644 macros/latex/contrib/ucthesis/uct11.clo create mode 100644 macros/latex/contrib/ucthesis/uct12.clo create mode 100644 macros/latex/contrib/ucthesis/uctest.bib create mode 100644 macros/latex/contrib/ucthesis/uctest.tex create mode 100644 macros/latex/contrib/ucthesis/ucthesis.cls (limited to 'macros/latex/contrib/ucthesis') diff --git a/macros/latex/contrib/ucthesis/README b/macros/latex/contrib/ucthesis/README new file mode 100644 index 0000000000..330fc20ea3 --- /dev/null +++ b/macros/latex/contrib/ucthesis/README @@ -0,0 +1,237 @@ +This is the README file for the UCTHESIS class for LaTeX. It +corresponds to version 3.2 of the UCTHESIS class (19 December 2004). +This README is public domain. + +The only change from 3.1 to 3.2 is to clarify the license as LPPL, per +Daniel Gildea. 3.2 was prepared by Karl Berry. +Version 3.1 was prepared by Daniel Gildea. + +NOTE: v3.0 is the first LaTeX2e version of UCTHESIS. It is now a +class that runs in native LaTeX2e mode. It is functionally identical +to UCTHESIS.STY v2.7 released on 30 October 1994 by Ethan V. Munson. +Other than changes for compatibility (mostly having to do with font +selection), and option selection, very little modification has been +done to the style. As a result, there are probably cleaner ways to +implement a number of features. That will have to wait for the next +release. (BBF 10/31/94) + +======================== +Using the UCTHESIS class +======================== + +Sample File +----------- + +There is a sample dissertation (by the fictitious, but very +irritating, Perry H Disdainful) in the file uctest.tex. It also uses +uctest.bib as its bibliography database (though the contents of the +database are not important). Mostly this is useful as an example of +how to produce the front matter. If you don't understand LaTeX at +all, this file might help you get started, but, since you're going to +be writing a 100+ page document, you should invest the $20 in a copy +of the LaTeX manual (by Leslie Lamport the original author of LaTeX). +This has recently been updated for LaTeX2e. + +The LaTeX Companion, by Goossens, Mittelbach, and Samarin (who have been +involved in developping and supporting the new version of LaTeX) is also quite +good. It gives a lot of useful information if you are going to be writing +or modifying classes, and gives a lot of additional information on commonly +available style packages. It's about $35. + +Choosing the UCTHESIS class +--------------------------- + +To use the UCTHESIS class, make sure that the ucthesis.cls file is on +your TEXINPUTS search path and use the following command at the start +of your input file: + +\documentclass{ucthesis} + +============================ +What the UCTHESIS class does +============================ + +The UCTHESIS class is a port of the UCTHESIS style version 2.7 (the +final 2.09 release) to LaTeX2e. The UCTHESIS style is a modified +version of the standard LaTeX REPORT style that is accepted for use +with University of California PhD dissertations and Masters theses. +The available commands are almost identical to those of the REPORT style, +so your best starting point for documentation is the LaTeX manual written +by Leslie Lamport. + +The key features of the class are: + +1) The primary modification to the REPORT style is the use of +pseudo-double-spacing, since the UC system's rules are still designed +for typewriters. This is achieved by increasing the \baselinestretch +parameter to 1.37. The \baselinestretch is returned to a +single-spaced value of 1.00 for elements like tables, captions, and +footnotes and for all displayed text (quote, quotation, and verse +environments). Unfortunately, this is done with a macro called \ssp +which resets the font size to \normalsize. In LaTeX 2.09 this seems +to be unavoidable, but it makes it very hard to create tables in +different font sizes. + +2) Margins are 1.5 inches on the left, 1.0 inches elsewhere. + +3) Uses 11 point by default; you can use the 10pt or 12pt options for +those sizes. + +4) Page numbers are in the top right corner for all pages. + +5) Complete, correct front matter for UC dissertations can be +generated. If you are not a UC student, you should make sure that the +front matter is OK with your school. + +Options +--------------- + +There are five primary options: + +The "draft" style uses single-spacing throughout the document. + +The "final" style uses the correct pseudo-double-spacing. This option +is the default and is redundant, but is included for symmetry. + +The "10pt", "11pt", and "12pt" styles set the default font size to the +obvious value. The "11pt" option is the default and thus is +redundant, but is safe to use anyway. + +The options are selected on the \documentclass line, e.g.: + +\documentclass[10pt,draft]{ucthesis} + +Page Headers +------------ + +If you want to use page headers or footers other than the default +ones, you should try using "headerfooter.sty" or "fancyheadings.sty". +The myheadings pagestyle doesn't work well and there is no workaround. +The headerfooter and fancyheadings styles are widely distributed, well +documented, and easy to use. + +============ +Front matter +============ + +The other key service provided by this class is that it generates +correct front matter (title page, approval page, abstract, etc.) with +a failrly simple set of commands. This facility could be a little +easier, but compared to an earlier state of affairs, it's pretty +slick. The format of the front matter is specified quite explicitly +in the document "Guidelines for Submitting a Doctoral Dissertation or +Master's Thesis" distributed by the UC Berkeley Graduate Division. +The current version of the class is based on the 2001 version of +this document. + +A complete example of the use of the front matter commands can be +found in the sample dissertation distributed with the class. + +Declarations +------------ + +To use the front matter macros and environments, you must first +declare a number of text strings: + +\title Dissertation title +\author Your name as registered with UC (usually w/ full + middle name) +\degreeyear Year your dissertation will be granted +\degreesemester Semester (or quarter) your dissertation will be granted +\degree The title of your degree (e.g. Doctor of Philosophy) +\chair Title and name of your committee chair + (e.g. "Professor Michael A. Harrison") +\othermembers The names of the other members of your committee + separated by linebreaks + (e.g. "Professor Susan L. Graham\\Professor Jim Pitman) +\numberofmembers The number of members on your committee. This defaults to + 3 (and thus is optional) and can be any value between + 3 and 6. It affects the number of lines on the approval + page and the space between them. +\prevdegrees Your previous degrees + "B.A. (University of California, San Diego) 1978\\ + B.A. (University of California, San Diego) 1986\\ + M.S. (University of California, Berkeley) 1989" +\field The official title of your field. This is usually + your department's name, but at Berkeley, most + Engineering degrees have a more complex name. + Be sure to check the guidelines for any special + twists on the name of your field. +\campus The name of your UC campus. This should be capitalized. + (e.g. Berkeley) + +Title, Approval, and Copyright pages +------------------------------------ + +The title, approval, and copyright pages have extremely rigid formats +that allow them to be generated automatically once the above +declarations have been made. To generate them, invoke the macros + + \maketitle + \approvalpage + \copyrightpage + +You should probably invoke them in that order, because that's the +order required by the guidelines. + +Abstract Environment +-------------------- + +Because you have to provide the text of the abstract, only the title +can be generated automatically. So, there is an abstract environment. +It generates the title and numbers the abstract in arabic numerals and +makes sure that it starts on new page. + +The UC system requires that your advisor sign the last page of your +abstract. Many students just let their advisor just sign at a random +location on the page, but you can use the \abstractsignature command +to generate a signature line with your advisor's name printed below +it. This command generates the signature line at the point it is +invoked, so it should be placed at the end of the abstract. + +Other Front Matter +------------------ + +The remaining front matter (dedication, table of contents, lists of +figures and tables, acknowledgements) MUST be put inside the +"frontmatter" environment, which ensures that page-numbering is +handled properly. Within this frontmatter environment, you put the +environments and commands for the rest of the front matter. There are +environments for "dedication" and "acknowledgements" and the standard +LaTeX commands for producing \tableofcontents, \listoffigures, and +\listoftables. + +The standard LaTeX commands are well documented in the LaTeX manual. +You will probably have to hand edit the .lof (list of figures) and +.lot (list of tables) files to make verbose captions more suitable for +this front matter. Once you do this, remember to use the \nofiles +macro to keep them from getting overwritten. + +The acknowledgements and dedication environments make their contents +start on a new page. The acknowledgements environment also put the +word "Acknowledgements" in large, bold, centered text at the top of +the page. For formatting the dedication page, you're on your own. +After all, the dedication is a kind of poetry and there's no +predicting the right way to format poetry. + +===================================================== +Other commands not found in the standard report style +===================================================== + +The "smalltabular" and "smalltabular*" environments are equivalent to +the "tabular" and "tabular*" environments, except that they use the +\small font. The "scriptsizetabular" and "scriptsizetabular*" use the +\scriptsize font. + +============================= +Installing the UCTHESIS class +============================= + +To install the UCTHESIS class, you need to install four files: + + ucthesis.cls + uct10.clo + uct11.clo + uct12.clo + +in your LaTeX class file repository. diff --git a/macros/latex/contrib/ucthesis/uct10.clo b/macros/latex/contrib/ucthesis/uct10.clo new file mode 100644 index 0000000000..44e4d60fec --- /dev/null +++ b/macros/latex/contrib/ucthesis/uct10.clo @@ -0,0 +1,439 @@ +%% uct10.clo 11/3/94 +%% Copyright (C) 1988-2004 Daniel Gildea, BBF, Ethan Munson. +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Daniel Gildea. + +% **************************************** +% * FONTS * +% **************************************** +% + +\lineskip 1pt % \lineskip is 1pt for all font sizes. +\normallineskip 1pt +\def\baselinestretch{1.37} + +% All of the font selection commands have been revised to conform with the +% LaTeX2e font selection commands (BBF 10/31/94). +% +% Each size-changing command \SIZE executes the command +% \fontsize\@FONTSIZE{BASELINESKIP}\selectfont +% where: +% \@FONTSIZE = Name of font-size command. The currently available +% (preloaded) font sizes are: \@vpt (5pt), \@vipt (6pt), +% \@viipt (etc.), \@viiipt, \@ixpt, \@xpt, \@xipt, \@xiipt, +% \@xivpt, \@xviipt, \@xxpt, \@xxvpt. These are defined +% in ltfss.dtx. +% +% BASELINESKIP = Normal value of \baselineskip for that size. (Actual +% value will be \baselinestretch * BASELINESKIP.) +% +% For reasons of efficiency that needn't concern the designer, the +% document style defines \@normalsize instead of \normalsize . This +% is done only for \normalsize, not for any other size-changing +% commands. + +\renewcommand{\normalsize}{\fontsize\@xpt{12}\selectfont% +\abovedisplayskip 10\p@ plus2\p@ minus5\p@ +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3\p@ +\belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ +\let\@listi\@listI} % Setting of \@listi added 9 Jun 87 + +\newcommand{\small}{\fontsize\@ixpt{11}\selectfont% +\abovedisplayskip 8.5\p@ plus3\p@ minus4\p@ +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus2\p@ +\belowdisplayshortskip 4\p@ plus2\p@ minus2\p@ +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep 4\p@ plus2\p@ minus2\p@\parsep 2\p@ plus\p@ minus\p@ +\itemsep \parsep}} + +\newcommand{\footnotesize}{\fontsize\@viiipt{9.5}\selectfont% +\abovedisplayskip 6\p@ plus2\p@ minus4\p@ +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus\p@ +\belowdisplayshortskip 3\p@ plus\p@ minus2\p@ +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep 3\p@ plus\p@ minus\p@\parsep 2\p@ plus\p@ minus\p@ +\itemsep \parsep}} + +\newcommand{\scriptsize}{\fontsize\@viipt{8pt}\selectfont} +\newcommand{\tiny}{\fontsize\@vpt{6pt}\selectfont} +\newcommand{\large}{\fontsize\@xiipt{14pt}\selectfont} +\newcommand{\Large}{\fontsize\@xivpt{18pt}\selectfont} +\newcommand{\LARGE}{\fontsize\@xviipt{22pt}\selectfont} +\newcommand{\huge}{\fontsize\@xxpt{25pt}\selectfont} +\newcommand{\Huge}{\fontsize\@xxvpt{30pt}\selectfont} + +% The shortform font selection commands are not defined in LaTeX2e. This +% defines them so that they do non-orthogonal font selection, which is +% useful if you are in the middle of converting a document from 2.09. +% These commands are no longer used internally in this class. (BBF 10/31/94) + +\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} +\newcommand{\sl}{\slshape} +\newcommand{\sc}{\scshape} + +\normalsize % Choose the normalsize font. + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% All margin dimensions measured from a point one inch from top and side +% of page. + +%% UCTHESIS style is not intended to be used two-sided because the +%% University of California style requirements explicitly specify +%% single-sided printing. So the two-sided settings are meaningless. + +% SIDE MARGINS: +\if@twoside % Values for two-sided printing: + \oddsidemargin 0.5in % Left margin on odd-numbered pages. + \evensidemargin 0.0in % Left margin on even-numbered pages. + \marginparwidth 0pt % Width of marginal notes. +\else % Values for one-sided printing: + \oddsidemargin 0.5in % Note that \oddsidemargin = \evensidemargin + \evensidemargin 0.5in + \marginparwidth 0pt +\fi +\marginparsep 11pt % Horizontal space between outer margin and + % marginal note + + +% VERTICAL SPACING: + % Top of page: +\topmargin 0.0in % Nominal distance from top of page to top + % of box containing running head. +\headheight 12pt % Height of box containing running head. +\headsep 25pt % Space between running head and text. +\topskip = 10pt % '\baselineskip' for first line of page. + % Bottom of page: +\footskip 30pt % Distance from baseline of box containing + % foot to baseline of last line of text. + + +% DIMENSION OF TEXT: +% 24 Jun 86: changed to explicitly compute \textheight to avoid +% roundoff. The value of the multiplier was calculated as the floor +% of the old \textheight minus \topskip, divided by \baselineskip for +% \normalsize. The old value of \textheight was 528pt. \textheight +% is the height of text (including footnotes and figures, excluding +% running head and foot). + +\textheight = 37\baselineskip +\advance\textheight by \topskip +\textwidth 6.0truein % Width of text line. + % For two-column mode: +\columnsep 10pt % Space between columns +\columnseprule 0pt % Width of rule between columns. + +% A \raggedbottom command causes 'ragged bottom' pages: pages set to +% natural height instead of being stretched to exactly \textheight. + +% FOOTNOTES: + +\footnotesep 6.65pt % Height of strut placed at the beginning of every + % footnote = height of normal \footnotesize strut, + % so no extra space between footnotes. + +\skip\footins 9pt plus 4pt minus 2pt % Space between last line of text + % and top of first footnote. + +% FLOATS: (a float is something like a figure or table) +% +% FOR FLOATS ON A TEXT PAGE: +% +% ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: +\floatsep 12pt plus 2pt minus 2pt % Space between adjacent floats + % moved to top or bottom of + % text page. +\textfloatsep 20pt plus 2pt minus 4pt % Space between main text and + % floats at top or bottom of + % page. +\intextsep 12pt plus 2pt minus 2pt % Space between in-text figures + % and text. +% TWO-COLUMN FLOATS IN TWO-COLUMN MODE: +\dblfloatsep 12pt plus 2pt minus 2pt % Same as \floatsep for + % double-column figures in + % two-column mode. +\dbltextfloatsep 20pt plus 2pt minus 4pt % \textfloatsep for + % double-column floats. + +% FOR FLOATS ON A SEPARATE FLOAT PAGE OR COLUMN: +% ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: +\@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must + % be 0pt plus ...) +\@fpsep 8pt plus 2fil % Space between floats on float page/column. +\@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must + % be 0pt plus ... ) + +% DOUBLE-COLUMN FLOATS IN TWO-COLUMN MODE. +\@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt + % plus ...) +\@dblfpsep 8pt plus 2fil % Space between floats on float page. +\@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be + % 0pt plus ... ) +% MARGINAL NOTES: +% +\marginparpush 5pt % Minimum vertical separation between two + % marginal notes. + + +% **************************************** +% * PARAGRAPHING * +% **************************************** +% +\parskip 0pt plus 1pt % Extra vertical space between + % paragraphs. +\parindent 4em % Width of paragraph indentation. +%\topsep 8pt plus 2pt minus 4pt % Extra vertical space, in addition + % to \parskip, added above and below + % list and paragraphing environments. +\partopsep 2pt plus 1pt minus 1pt % Extra vertical space, in addition + % to \parskip and \topsep, added when + % user leaves blank line before + % environment. +%\itemsep 4pt plus 2pt minus 1pt % Extra vertical space, in addition + % to \parskip, added between list + % items. +% See \@listI for values of \topsep and \itemsep +% (Change made 9 Jun 87) + +% The following page-breaking penalties are defined + +\@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] +\@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] +\@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] + +\@beginparpenalty -\@lowpenalty % Before a list or paragraph + % environment. +\@endparpenalty -\@lowpenalty % After a list or paragraph + % environment. +\@itempenalty -\@lowpenalty % Between list items. + +% \clubpenalty % 'Club line' at bottom of page. +% \widowpenalty % 'Widow line' at top of page. +% \displaywidowpenalty % Math display widow line. +% \predisplaypenalty % Breaking before a math display. +% \postdisplaypenalty % Breaking after a math display. +% \interlinepenalty % Breaking at a line within a paragraph. +% \brokenpenalty % Breaking after a hyphenated line. + + +% **************************************** +% * CHAPTERS AND SECTIONS * +% **************************************** +% +% + +% Definition of \part moved to report.doc on 19 Jan 88 + +% \@makechapterhead {TEXT} : Makes the heading for the \chapter command. +% + +\def\@makechapterhead#1{% % Heading for \chapter command + \vspace*{50\p@}% % Space at top of text page. + {\parindent \z@\raggedright + \ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1 THEN + \huge\bfseries \@chapapp{} \thechapter % Print '\chaptername' and number. + \par + \vskip 20\p@ \fi % Space between number and title. + \Huge \bfseries % Title. + #1\par + \nobreak % TeX penalty to prevent page break. + \vskip 40\p@ % Space between title and text. + }} + +% \@makeschapterhead {TEXT} : Makes the heading for the \chapter* +% command. +% + +\def\@makeschapterhead#1{% % Heading for \chapter* command + \vspace*{50\p@}% % Space at top of page. + {\parindent \z@ \raggedright + \Huge \bfseries % Title. + #1\par + \nobreak % TeX penalty to prevent page break. + \vskip 40\p@ % Space between title and text. + }} + +% \secdef{UNSTARCMDS}{STARCMDS} : +% When defining a \chapter or \section command without using +% \@startsection, you can use \secdef as follows: +% \def\chapter { ... \secdef \CMDA \CMDB } +% \def\CMDA [#1]#2{ ... } % Command to define +% % \chapter[...]{...} +% \def\CMDB #1{ ... } % Command to define +% % \chapter*{...} + +\def\chapter{\clearpage % Starts new page. + \thispagestyle{plain}% % Page style of chapter page is 'plain' + \global\@topnum\z@ % Prevents figures from going + % at top of page. + \@afterindenttrue % Suppresses indent in first paragraph. + \secdef\@chapter\@schapter} % Change to \@afterindentfase for no indent. + +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}{\protect + \numberline{\thechapter}#1}\else + \addcontentsline{toc}{chapter}{#1}\fi + \chaptermark{#1}% + \addtocontents{lof}% + {\protect\addvspace{10\p@}} % Adds between-chapter space + \addtocontents{lot}% + {\protect\addvspace{10\p@}} % to lists of figs & tables. + \if@twocolumn % Tests for two-column mode. + \@topnewpage[\@makechapterhead{#2}]% + \else \@makechapterhead{#2}% + \@afterheading % Routine called after chapter and + \fi} % section heading. + +\def\@schapter#1{\if@twocolumn \@topnewpage[\@makeschapterhead{#1}]% + \else \@makeschapterhead{#1}% + \@afterheading\fi} + +% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} +% optional * [ALTHEADING]{HEADING} +% Generic command to start a section. +% NAME : e.g., 'subsection' +% LEVEL : a number, denoting depth of section -- e.g., +% chapter=1, section = 2, etc. A section number will be +% printed if and only if LEVEL < or = the value of the +% secnumdepth counter. +% INDENT : Indentation of heading from left margin +% BEFORESKIP : Absolute value = skip to leave above the heading. +% If negative, then paragraph indent of text following +% heading is suppressed. +% AFTERSKIP : if positive, then skip to leave below heading, +% else - skip to leave to right of run-in heading. +% STYLE : commands to set style +% If '*' missing, then increments the counter. If it is present, then +% there should be no [ALTHEADING] argument. A sectioning command +% is normally defined to \@startsection + its first six arguments. + +\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus-1ex minus + -.2ex}{2.3ex plus.2ex}{\reset@font\Large\bfseries}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus-1ex + minus-.2ex}{1.5ex plus.2ex}{\reset@font\large\bfseries}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus + -1ex minus-.2ex}{1.5ex plus.2ex}{\reset@font\normalsize\bfseries}} +\def\paragraph{\@startsection + {paragraph}{4}{\z@}{3.25ex plus1ex minus.2ex}{-1em}{\reset@font + \normalsize \bfseries}} +\def\subparagraph{\@startsection + {subparagraph}{4}{\parindent}{3.25ex plus1ex minus + .2ex}{-1em}{\reset@font\normalsize\bfseries}} + + +% Default initializations of \...mark commands. (See below for their +% us in defining page styles. +% + +\def\chaptermark#1{} +% \def\sectionmark#1{} % Preloaded definitions +% \def\subsectionmark#1{} +% \def\subsubsectionmark#1{} +% \def\paragraphmark#1{} +% \def\subparagraphmark#1{} + +% The value of the counter secnumdepth gives the depth of the +% highest-level sectioning command that is to produce section numbers. +% + +\setcounter{secnumdepth}{2} + +% 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. + +\def\appendix{\par + \setcounter{chapter}{0}% + \setcounter{section}{0}% + \def\@chapapp{\appendixname}% + \def\thechapter{\Alph{chapter}}} + + +% **************************************** +% * LISTS * +% **************************************** +% + +% The following commands are used to set the default values for the list +% environment's parameters. See the LaTeX manual for an explanation of +% the meanings of the parameters. Defaults for the list environment are +% set as follows. First, \rightmargin, \listparindent and \itemindent +% are set to 0pt. Then, for a Kth level list, the command \@listK is +% called, where 'K' denotes 'i', 'ii', ... , 'vi'. (I.e., \@listiii is +% called for a third-level list.) By convention, \@listK should set +% \leftmargin to \leftmarginK. +% +% For efficiency, level-one list's values are defined at top level, and +% \@listi is defined to set only \leftmargin. + +\leftmargini 25pt +\leftmarginii 22pt % > \labelsep + width of '(m)' +\leftmarginiii 18.7pt % > \labelsep + width of 'vii.' +\leftmarginiv 17pt % > \labelsep + width of 'M.' +\leftmarginv 10pt +\leftmarginvi 10pt + +\leftmargin\leftmargini +\labelsep 5pt +\labelwidth\leftmargini\advance\labelwidth-\labelsep +%\parsep 4pt plus 2pt minus 1pt (Removed 9 Jun 87) + +% \@listI defines top level and \@listi values of +% \leftmargin, \topsep, \parsep, and \itemsep +% (Added 9 Jun 87) +\def\@listI{\leftmargin\leftmargini \parsep 4\p@ plus2\p@ minus\p@% +\topsep 8\p@ plus2\p@ minus4\p@ +\itemsep 4\p@ plus2\p@ minus\p@} + +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 4\p@ plus2\p@ minus\p@ + \parsep 2\p@ plus\p@ minus\p@ + \itemsep \parsep} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 2\p@ plus\p@ minus\p@ + \parsep \z@ \partopsep\p@ plus\z@ minus\p@ + \itemsep \topsep} + +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} + +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} + +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + +\endinput diff --git a/macros/latex/contrib/ucthesis/uct11.clo b/macros/latex/contrib/ucthesis/uct11.clo new file mode 100644 index 0000000000..23ec391286 --- /dev/null +++ b/macros/latex/contrib/ucthesis/uct11.clo @@ -0,0 +1,439 @@ +%% uct11.clo 11/3/94 +%% Copyright (C) 1988-2004 Daniel Gildea, BBF, Ethan Munson. +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Daniel Gildea. + +% **************************************** +% * FONTS * +% **************************************** +% + +\lineskip 1pt % \lineskip is 1pt for all font sizes. +\normallineskip 1pt +\def\baselinestretch{1.37} + +% All of the font selection commands have been revised to conform with the +% LaTeX2e font selection commands (BBF 10/31/94). +% +% Each size-changing command \SIZE executes the command +% \fontsize\@FONTSIZE{BASELINESKIP}\selectfont +% where: +% \@FONTSIZE = Name of font-size command. The currently available +% (preloaded) font sizes are: \@vpt (5pt), \@vipt (6pt), +% \@viipt (etc.), \@viiipt, \@ixpt, \@xpt, \@xipt, \@xiipt, +% \@xivpt, \@xviipt, \@xxpt, \@xxvpt. These are defined +% in ltfss.dtx. +% +% BASELINESKIP = Normal value of \baselineskip for that size. (Actual +% value will be \baselinestretch * BASELINESKIP.) +% +% For reasons of efficiency that needn't concern the designer, the +% document style defines \@normalsize instead of \normalsize . This +% is done only for \normalsize, not for any other size-changing +% commands. + +\renewcommand{\normalsize}{\fontsize\@xipt{13.6}\selectfont% +\abovedisplayskip 11\p@ plus3\p@ minus6\p@ +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3\p@ +\belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ +\let\@listi\@listI} % Setting of \@listi added 9 Jun 87 + +\newcommand{\small}{\fontsize\@xpt{12}\selectfont% +\abovedisplayskip 10\p@ plus2\p@ minus5\p@ +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3\p@ +\belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep 6\p@ plus2\p@ minus2\p@\parsep 3\p@ plus2\p@ minus\p@ +\itemsep \parsep}} + +\newcommand{\footnotesize}{\fontsize\@ixpt{11}\selectfont% +\abovedisplayskip 8\p@ plus2\p@ minus4\p@ +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus\p@ +\belowdisplayshortskip 4\p@ plus2\p@ minus2\p@ +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep 4\p@ plus2\p@ minus2\p@\parsep 2\p@ plus\p@ minus\p@ +\itemsep \parsep}} + +\newcommand{\scriptsize}{\fontsize\@viiipt{9.5pt}\selectfont} +\newcommand{\tiny}{\fontsize\@vipt{7pt}\selectfont} +\newcommand{\large}{\fontsize\@xiipt{14pt}\selectfont} +\newcommand{\Large}{\fontsize\@xivpt{18pt}\selectfont} +\newcommand{\LARGE}{\fontsize\@xviipt{22pt}\selectfont} +\newcommand{\huge}{\fontsize\@xxpt{25pt}\selectfont} +\newcommand{\Huge}{\fontsize\@xxvpt{30pt}\selectfont} + +% The shortform font selection commands are not defined in LaTeX2e. This +% defines them so that they do non-orthogonal font selection, which is +% useful if you are in the middle of converting a document from 2.09. +% These commands are no longer used internally in this class. (BBF 10/31/94) + +\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} +\newcommand{\sl}{\slshape} +\newcommand{\sc}{\scshape} + +\normalsize % Choose the normalsize font. + + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% All margin dimensions measured from a point one inch from top and side +% of page. + +%% UCTHESIS style is not intended to be used two-sided because the +%% University of California style requirements explicitly specify +%% single-sided printing. So the two-sided settings are meaningless. + +% SIDE MARGINS: +\if@twoside % Values for two-sided printing: + \oddsidemargin 0.5in % Left margin on odd-numbered pages. + \evensidemargin 0.0in % Left margin on even-numbered pages. + \marginparwidth 0pt % Width of marginal notes. +\else % Values for one-sided printing: + \oddsidemargin 0.5in % Note that \oddsidemargin = \evensidemargin + \evensidemargin 0.5in + \marginparwidth 0pt +\fi +\marginparsep 10pt % Horizontal space between outer margin and + % marginal note + + +% VERTICAL SPACING: + % Top of page: +\topmargin 0.0in % Nominal distance from top of page to top of + % box containing running head. +\headheight 12pt % Height of box containing running head. +\headsep 25pt % Space between running head and text. +\topskip = 11pt % '\baselineskip' for first line of page. + % Bottom of page: +\footskip 30pt % Distance from baseline of box containing + % foot to baseline of last line of text. + + +% DIMENSION OF TEXT: +% 24 Jun 86: changed to explicitly compute \textheight to avoid +% roundoff. The value of the multiplier was calculated as the floor +% of the old \textheight minus \topskip, divided by \baselineskip for +% \normalsize. The old value of \textheight was 530.4pt. \textheight +% is the height of text (including footnotes and figures, excluding +% running head and foot). + +\textheight = 32\baselineskip +\advance\textheight by \topskip +\textwidth 6.0truein % Width of text line. + % For two-column mode: +\columnsep 10pt % Space between columns +\columnseprule 0pt % Width of rule between columns. + +% A \raggedbottom command causes 'ragged bottom' pages: pages set to +% natural height instead of being stretched to exactly \textheight. + +% FOOTNOTES: + +\footnotesep 7.7pt % Height of strut placed at the beginning of every + % footnote = height of normal \footnotesize strut, + % so no extra space between footnotes. + +\skip\footins 10pt plus 4pt minus 2pt % Space between last line of text + % and top of first footnote. + +% FLOATS: (a float is something like a figure or table) +% +% FOR FLOATS ON A TEXT PAGE: +% +% ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: +\floatsep 12pt plus 2pt minus 2pt % Space between adjacent floats + % moved to top or bottom of + % text page. +\textfloatsep 20pt plus 2pt minus 4pt % Space between main text and + % floats at top or bottom of + % page. +\intextsep 12pt plus 2pt minus 2pt % Space between in-text figures + % and text. +% TWO-COLUMN FLOATS IN TWO-COLUMN MODE: +\dblfloatsep 12pt plus 2pt minus 2pt % Same as \floatsep for + % double-column figures in + % two-column mode. +\dbltextfloatsep 20pt plus 2pt minus 4pt % \textfloatsep for + % double-column floats. + +% FOR FLOATS ON A SEPARATE FLOAT PAGE OR COLUMN: +% ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: +\@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must + % be 0pt plus ...) +\@fpsep 8pt plus 2fil % Space between floats on float page/column. +\@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must + % be 0pt plus ... ) + +% DOUBLE-COLUMN FLOATS IN TWO-COLUMN MODE. +\@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt + % plus ...) +\@dblfpsep 8pt plus 2fil % Space between floats on float page. +\@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be + % 0pt plus ... ) +% MARGINAL NOTES: +% +\marginparpush 5pt % Minimum vertical separation between two + % marginal notes. + + +% **************************************** +% * PARAGRAPHING * +% **************************************** +% +\parskip 0pt plus 1pt % Extra vertical space between + % paragraphs. +\parindent 4em % Width of paragraph indentation. +%\topsep 9pt plus 3pt minus 5pt % Extra vertical space, in addition + % to \parskip, added above and below + % list and paragraphing environments. +\partopsep 3pt plus 1pt minus 2pt % Extra vertical space, in addition + % to \parskip and \topsep, added when + % user leaves blank line before + % environment. +%\itemsep 4.5pt plus 2pt minus 1pt % Extra vertical space, in addition + % to \parskip, added between list + % items. +% See \@listI for values of \topsep and \itemsep +% (Change made 9 Jun 87) + +% The following page-breaking penalties are defined + +\@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] +\@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] +\@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] + +\@beginparpenalty -\@lowpenalty % Before a list or paragraph + % environment. +\@endparpenalty -\@lowpenalty % After a list or paragraph + % environment. +\@itempenalty -\@lowpenalty % Between list items. + +% \clubpenalty % 'Club line' at bottom of page. +% \widowpenalty % 'Widow line' at top of page. +% \displaywidowpenalty % Math display widow line. +% \predisplaypenalty % Breaking before a math display. +% \postdisplaypenalty % Breaking after a math display. +% \interlinepenalty % Breaking at a line within a paragraph. +% \brokenpenalty % Breaking after a hyphenated line. + + +% **************************************** +% * CHAPTERS AND SECTIONS * +% **************************************** +% + +% Definition of \part moved to report.doc 19 Jan 88 + +% \@makechapterhead {TEXT} : Makes the heading for the \chapter +% command. +% + +\def\@makechapterhead#1{% % Heading for \chapter command + \vspace*{50\p@}% % Space at top of text page. + {\parindent \z@ \raggedright + \ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1 THEN + \huge\bfseries \@chapapp{} \thechapter %Print '\chaptername' and number. + \par + \vskip 20\p@ \fi % Space between number and title. + \Huge \bfseries % Title. + #1\par + \nobreak % TeX penalty to prevent page break. + \vskip 40\p@ % Space between title and text. + }} + +% \@makeschapterhead {TEXT} : Makes the heading for the \chapter* +% command. +% + +\def\@makeschapterhead#1{% % Heading for \chapter* command + \vspace*{50\p@}% % Space at top of page. + {\parindent \z@ \raggedright + \Huge \bfseries % Title. + #1\par + \nobreak % TeX penalty to prevent page break. + \vskip 40\p@ % Space between title and text. + }} + +% \secdef{UNSTARCMDS}{STARCMDS} : +% When defining a \chapter or \section command without using +% \@startsection, you can use \secdef as follows: +% \def\chapter { ... \secdef \CMDA \CMDB } +% \def\CMDA [#1]#2{ ... % Command to define +% % \chapter[...]{...} +% \def\CMDB #1{ ... % Command to define +% % \chapter*{...} + +\def\chapter{\clearpage % Starts new page. + \thispagestyle{plain}% % Page style of chapter page is 'plain' + \global\@topnum\z@ % Prevents figures from going + % at top of page. + \@afterindenttrue % Suppresses indent in first paragraph. + \secdef\@chapter\@schapter} % Change to \@afterindentfase for no indent. + +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}{\protect + \numberline{\thechapter}#1}\else + \addcontentsline{toc}{chapter}{#1}\fi + \chaptermark{#1}% + \addtocontents{lof}% + {\protect\addvspace{10\p@}} % Adds between-chapter space + \addtocontents{lot}% + {\protect\addvspace{10\p@}} % to lists of figs & tables. + \if@twocolumn % Tests for two-column mode. + \@topnewpage[\@makechapterhead{#2}]% + \else \@makechapterhead{#2}% + \@afterheading % Routine called after chapter and + \fi} % section heading. + +\def\@schapter#1{\if@twocolumn \@topnewpage[\@makeschapterhead{#1}]% + \else \@makeschapterhead{#1}% + \@afterheading\fi} + +% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} +% optional * [ALTHEADING]{HEADING} +% Generic command to start a section. +% NAME : e.g., 'subsection' +% LEVEL : a number, denoting depth of section -- e.g., +% chapter=1, section = 2, etc. A section number will be +% printed if and only if LEVEL < or = the value of the +% secnumdepth counter. +% INDENT : Indentation of heading from left margin +% BEFORESKIP : Absolute value = skip to leave above the heading. +% If negative, then paragraph indent of text following +% heading is suppressed. +% AFTERSKIP : if positive, then skip to leave below heading, +% else - skip to leave to right of run-in heading. +% STYLE : commands to set style +% If '*' missing, then increments the counter. If it is present, then +% there should be no [ALTHEADING] argument. A sectioning command +% is normally defined to \@startsection + its first six arguments. + +\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus-1ex minus + -.2ex}{2.3ex plus.2ex}{\reset@font\Large\bfseries}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus-1ex + minus-.2ex}{1.5ex plus.2ex}{\reset@font\large\bfseries}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus + -1ex minus-.2ex}{1.5ex plus.2ex}{\reset@font\normalsize\bfseries}} +\def\paragraph{\@startsection + {paragraph}{4}{\z@}{3.25ex plus1ex minus.2ex}{-1em}{\reset@font + \normalsize\bfseries}} +\def\subparagraph{\@startsection + {subparagraph}{4}{\parindent}{3.25ex plus1ex minus + .2ex}{-1em}{\reset@font\normalsize\bfseries}} + +% Default initializations of \...mark commands. (See below for their +% us in defining page styles. +% + +\def\chaptermark#1{} +% \def\sectionmark#1{} % Preloaded definitions +% \def\subsectionmark#1{} +% \def\subsubsectionmark#1{} +% \def\paragraphmark#1{} +% \def\subparagraphmark#1{} + +% The value of the counter secnumdepth gives the depth of the +% highest-level sectioning command that is to produce section numbers. +% + +\setcounter{secnumdepth}{2} + +% 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. + +\def\appendix{\par + \setcounter{chapter}{0}% + \setcounter{section}{0}% + \def\@chapapp{\appendixname}% + \def\thechapter{\Alph{chapter}}} + + +% **************************************** +% * LISTS * +% **************************************** +% + +% The following commands are used to set the default values for the list +% environment's parameters. See the LaTeX manual for an explanation of +% the meanings of the parameters. Defaults for the list environment are +% set as follows. First, \rightmargin, \listparindent and \itemindent +% are set to 0pt. Then, for a Kth level list, the command \@listK is +% called, where 'K' denotes 'i', 'ii', ... , 'vi'. (I.e., \@listiii is +% called for a third-level list.) By convention, \@listK should set +% \leftmargin to \leftmarginK. +% +% For efficiency, level-one list's values are defined at top level, and +% \@listi is defined to set only \leftmargin. + +\leftmargini 2.5em +\leftmarginii 2.2em % > \labelsep + width of '(m)' +\leftmarginiii 1.87em % > \labelsep + width of 'vii.' +\leftmarginiv 1.7em % > \labelsep + width of 'M.' +\leftmarginv 1em +\leftmarginvi 1em + +\leftmargin\leftmargini +\labelsep .5em +\labelwidth\leftmargini\advance\labelwidth-\labelsep +%\parsep 4.5pt plus 2pt minus 1pt %(Removed 9 Jun 87) + +% \@listI defines top level and \@listi values of +% \leftmargin, \topsep, \parsep, and \itemsep +% (Added 9 Jun 87) +\def\@listI{\leftmargin\leftmargini \parsep 4.5\p@ plus2\p@ minus\p@ +\topsep 9\p@ plus3\p@ minus5\p@ +\itemsep 4.5\p@ plus2\p@ minus\p@} + +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 4.5\p@ plus2\p@ minus\p@ + \parsep 2\p@ plus\p@ minus\p@ + \itemsep \parsep} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 2\p@ plus\p@ minus\p@ + \parsep \z@ \partopsep \p@ plus\z@ minus\p@ + \itemsep \topsep} + +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} + +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} + +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + +\endinput diff --git a/macros/latex/contrib/ucthesis/uct12.clo b/macros/latex/contrib/ucthesis/uct12.clo new file mode 100644 index 0000000000..abe9673fc2 --- /dev/null +++ b/macros/latex/contrib/ucthesis/uct12.clo @@ -0,0 +1,439 @@ +%% uct12.clo 11/3/94 +%% Copyright (C) 1988-2004 Daniel Gildea, BBF, Ethan Munson. +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Daniel Gildea. + +% **************************************** +% * FONTS * +% **************************************** +% + +\lineskip 1pt % \lineskip is 1pt for all font sizes. +\normallineskip 1pt +\def\baselinestretch{1.37} + +% All of the font selection commands have been revised to conform with the +% LaTeX2e font selection commands (BBF 10/31/94). +% +% Each size-changing command \SIZE executes the command +% \fontsize\@FONTSIZE{BASELINESKIP}\selectfont +% where: +% \@FONTSIZE = Name of font-size command. The currently available +% (preloaded) font sizes are: \@vpt (5pt), \@vipt (6pt), +% \@viipt (etc.), \@viiipt, \@ixpt, \@xpt, \@xipt, \@xiipt, +% \@xivpt, \@xviipt, \@xxpt, \@xxvpt. These are defined +% in ltfss.dtx. +% +% BASELINESKIP = Normal value of \baselineskip for that size. (Actual +% value will be \baselinestretch * BASELINESKIP.) +% +% For reasons of efficiency that needn't concern the designer, the +% document style defines \@normalsize instead of \normalsize . This +% is done only for \normalsize, not for any other size-changing +% commands. + +\renewcommand{\normalsize}{\fontsize\@xiipt{14.5}\selectfont% +\abovedisplayskip 12\p@ plus3\p@ minus7\p@ +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3\p@ +\belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ +\let\@listi\@listI} % Setting of \@listi added 9 Jun 87 + +\newcommand{\small}{\fontsize\@xipt{13.6}\selectfont% +\abovedisplayskip 11\p@ plus3\p@ minus6\p@ +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3\p@ +\belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\parsep 4.5\p@ plus2\p@ minus\p@ + \itemsep \parsep + \topsep 9\p@ plus3\p@ minus5\p@}} + +\newcommand{\footnotesize}{\fontsize\@xpt{12}\selectfont% +\abovedisplayskip 10\p@ plus2\p@ minus5\p@ +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3\p@ +\belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep 6\p@ plus2\p@ minus2\p@\parsep 3\p@ plus2\p@ minus\p@ +\itemsep \parsep}} + +\newcommand{\scriptsize}{\fontsize\@viiipt{9.5pt}\selectfont} +\newcommand{\tiny}{\fontsize\@vipt{7pt}\selectfont} +\newcommand{\large}{\fontsize\@xivpt{18pt}\selectfont} +\newcommand{\Large}{\fontsize\@xviipt{22pt}\selectfont} +\newcommand{\LARGE}{\fontsize\@xxpt{25pt}\selectfont} +\newcommand{\huge}{\fontsize\@xxvpt{30pt}\selectfont} +\newcommand{\Huge}{\fontsize\@xxvpt{30pt}\selectfont} + +% The shortform font selection commands are not defined in LaTeX2e. This +% defines them so that they do non-orthogonal font selection, which is +% useful if you are in the middle of converting a document from 2.09. +% These commands are no longer used internally in this class. (BBF 10/31/94) + +\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} +\newcommand{\sl}{\slshape} +\newcommand{\sc}{\scshape} + +\normalsize % Choose the normalsize font. + + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% All margin dimensions measured from a point one inch from top and side +% of page. + +%% UCTHESIS style is not intended to be used two-sided because the +%% University of California style requirements explicitly specify +%% single-sided printing. So the two-sided settings are meaningless. + +% SIDE MARGINS: +\if@twoside % Values for two-sided printing: + \oddsidemargin 0.5in % Left margin on odd-numbered pages. + \evensidemargin 0.0in % Left margin on even-numbered pages. + \marginparwidth 0pt % Width of marginal notes. +\else % Values for one-sided printing: + \oddsidemargin 0.5in % Note that \oddsidemargin = \evensidemargin + \evensidemargin 0.5in + \marginparwidth 0pt +\fi +\marginparsep 10pt % Horizontal space between outer margin and + % marginal note + + +% VERTICAL SPACING: + % Top of page: +\topmargin 0.0in % Nominal distance from top of page to top + % of box containing running head. +\headheight 12pt % Height of box containing running head. +\headsep 25pt % Space between running head and text. +\topskip = 12pt % '\baselineskip' for first line of page. + % Bottom of page: +\footskip 30pt % Distance from baseline of box containing + % foot to baseline of last line of text. + + +% DIMENSION OF TEXT: +% 24 Jun 86: changed to explicitly compute \textheight to avoid +% roundoff. The value of the multiplier was calculated as the floor +% of the old \textheight minus \topskip, divided by \baselineskip for +% \normalsize. The old value of \textheight was 536.5pt. \textheight +% is the height of text (including footnotes and figures, excluding +% running head and foot). + +\textheight = 30\baselineskip +\advance\textheight by \topskip +\textwidth 6.0truein % Width of text line. + % For two-column mode: +\columnsep 10pt % Space between columns +\columnseprule 0pt % Width of rule between columns. + +% A \raggedbottom command causes 'ragged bottom' pages: pages set to +% natural height instead of being stretched to exactly \textheight. + +% FOOTNOTES: + +\footnotesep 8.4pt % Height of strut placed at the beginning of every + % footnote = height of normal \footnotesize strut, + % so no extra space between footnotes. + +\skip\footins 10.8pt plus 4pt minus 2pt % Space between last line of + % text and top of first + % footnote. + +% FLOATS: (a float is something like a figure or table) +% +% FOR FLOATS ON A TEXT PAGE: +% +% ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: +\floatsep 14pt plus 2pt minus 4pt % Space between adjacent floats + % moved to top or bottom of + % text page. +\textfloatsep 20pt plus 2pt minus 4pt % Space between main text and + % floats at top or bottom of + % page. +\intextsep 14pt plus 4pt minus 4pt % Space between in-text figures + % and text. +% TWO-COLUMN FLOATS IN TWO-COLUMN MODE: +\dblfloatsep 14pt plus 2pt minus 4pt % Same as \floatsep for + % double-column figures in + % two-column mode. +\dbltextfloatsep 20pt plus 2pt minus 4pt % \textfloatsep for + % double-column floats. + +% FOR FLOATS ON A SEPARATE FLOAT PAGE OR COLUMN: +% ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: +\@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must + % be 0pt plus ...) +\@fpsep 10pt plus 2fil % Space between floats on float page/column. +\@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. + % (Must be 0pt plus ... ) + +% DOUBLE-COLUMN FLOATS IN TWO-COLUMN MODE. +\@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be + % 0pt plus ...) +\@dblfpsep 10pt plus 2fil% Space between floats on float page. +\@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be + % 0pt plus ... ) +% MARGINAL NOTES: +% +\marginparpush 7pt % Minimum vertical separation between two + % marginal notes. + + +% **************************************** +% * PARAGRAPHING * +% **************************************** +% +\parskip 0pt plus 1pt % Extra vertical space between + % paragraphs. +\parindent 1.5em % Width of paragraph indentation. +%\topsep 10pt plus 4pt minus 6pt % Extra vertical space, in addition + % to \parskip, added above and below + % list and paragraphing environments. +\partopsep 3pt plus 2pt minus 2pt % Extra vertical space, in addition + % to \parskip and \topsep, added when + % list leaves blank line before + % environment. +%\itemsep 5pt plus 2.5pt minus 1pt % Extra vertical space, in addition + % to \parskip, added between list + % items. +% See \@listI for values of \topsep and \itemsep +% (Change made 9 Jun 87) + +% The following page-breaking penalties are defined + +\@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] +\@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] +\@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] + +\@beginparpenalty -\@lowpenalty % Before a list or paragraph + % environment. +\@endparpenalty -\@lowpenalty % After a list or paragraph + % environment. +\@itempenalty -\@lowpenalty % Between list items. + +% \clubpenalty % 'Club line' at bottom of page. +% \widowpenalty % 'Widow line' at top of page. +% \displaywidowpenalty % Math display widow line. +% \predisplaypenalty % Breaking before a math display. +% \postdisplaypenalty % Breaking after a math display. +% \interlinepenalty % Breaking at a line within a paragraph. +% \brokenpenalty % Breaking after a hyphenated line. + + +% **************************************** +% * CHAPTERS AND SECTIONS * +% **************************************** +% +% Definition of \part moved to report.doc 19 Jan 88 + +% \@makechapterhead {TEXT} : Makes the heading for the \chapter +% command. +% + +\def\@makechapterhead#1{% % Heading for \chapter command + \vspace*{50\p@}% % Space at top of text page. + {\parindent \z@ \raggedright + \ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1 THEN + \huge\bfseries \@chapapp{} \thechapter %Print '\chaptername' and number. + \par + \vskip 20\p@ \fi % Space between number and title. + \Huge \bfseries % Title. + #1\par + \nobreak % TeX penalty to prevent page break. + \vskip 40\p@ % Space between title and text. + }} + +% \@makeschapterhead {TEXT} : Makes the heading for the \chapter* +% command. +% + +\def\@makeschapterhead#1{% % Heading for \chapter* command + \vspace*{50\p@}% % Space at top of page. + {\parindent \z@ \raggedright + \Huge \bfseries % Title. + #1\par + \nobreak % TeX penalty to prevent page break. + \vskip 40\p@ % Space between title and text. + }} + +% \secdef{UNSTARCMDS}{STARCMDS} : +% When defining a \chapter or \section command without using +% \@startsection, you can use \secdef as follows: +% \def\chapter { ... \secdef \CMDA \CMDB } +% \def\CMDA [#1]#2{ ... % Command to define +% % \chapter[...]{...} +% \def\CMDB #1{ ... % Command to define +% % \chapter*{...} + +\def\chapter{\clearpage % Starts new page. + \thispagestyle{plain}% % Page style of chapter page is 'plain' + \global\@topnum\z@ % Prevents figures from going at top of page. + \@afterindenttrue % Suppresses indent in first paragraph. + \secdef\@chapter\@schapter} % Change to \@afterindentfase for no indent. + +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}{\protect + \numberline{\thechapter}#1}\else + \addcontentsline{toc}{chapter}{#1}\fi + \chaptermark{#1}% + \addtocontents{lof}% + {\protect\addvspace{10\p@}}% Adds between-chapter space + \addtocontents{lot}% + {\protect\addvspace{10\p@}}% to lists of figs & tables. + \if@twocolumn % Tests for two-column mode. + \@topnewpage[\@makechapterhead{#2}]% + \else \@makechapterhead{#2}% + \@afterheading % Routine called after chapter and + \fi} % section heading. + +\def\@schapter#1{\if@twocolumn \@topnewpage[\@makeschapterhead{#1}]% + \else \@makeschapterhead{#1}% + \@afterheading\fi} + +% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} +% optional * [ALTHEADING]{HEADING} +% Generic command to start a section. +% NAME : e.g., 'subsection' +% LEVEL : a number, denoting depth of section -- e.g., +% chapter=1, section = 2, etc. A section number will be +% printed if and only if LEVEL < or = the value of the +% secnumdepth counter. +% INDENT : Indentation of heading from left margin +% BEFORESKIP : Absolute value = skip to leave above the heading. +% If negative, then paragraph indent of text following +% heading is suppressed. +% AFTERSKIP : if positive, then skip to leave below heading, +% else - skip to leave to right of run-in heading. +% STYLE : commands to set style +% If '*' missing, then increments the counter. If it is present, then +% there should be no [ALTHEADING] argument. A sectioning command +% is normally defined to \@startsection + its first six arguments. + +\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus-1ex minus + -.2ex}{2.3ex plus.2ex}{\reset@font\Large\bfseries}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus-1ex + minus-.2ex}{1.5ex plus.2ex}{\reset@font\large\bfseries}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus + -1ex minus-.2ex}{1.5ex plus.2ex}{\reset@font\normalsize\bfseries}} +\def\paragraph{\@startsection + {paragraph}{4}{\z@}{3.25ex plus1ex minus.2ex}{-1em}{\reset@font + \normalsize\bfseries}} +\def\subparagraph{\@startsection + {subparagraph}{4}{\parindent}{3.25ex plus1ex minus + .2ex}{-1em}{\reset@font\normalsize\bfseries}} + +% Default initializations of \...mark commands. (See below for their +% us in defining page styles. +% + +\def\chaptermark#1{} +% \def\sectionmark#1{} % Preloaded definitions +% \def\subsectionmark#1{} +% \def\subsubsectionmark#1{} +% \def\paragraphmark#1{} +% \def\subparagraphmark#1{} + +% The value of the counter secnumdepth gives the depth of the +% highest-level sectioning command that is to produce section numbers. +% + +\setcounter{secnumdepth}{2} + +% 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. + +\def\appendix{\par + \setcounter{chapter}{0}% + \setcounter{section}{0}% + \def\@chapapp{\appendixname}% + \def\thechapter{\Alph{chapter}}} + + +% **************************************** +% * LISTS * +% **************************************** +% + +% The following commands are used to set the default values for the list +% environment's parameters. See the LaTeX manual for an explanation of +% the meanings of the parameters. Defaults for the list environment are +% set as follows. First, \rightmargin, \listparindent and \itemindent +% are set to 0pt. Then, for a Kth level list, the command \@listK is +% called, where 'K' denotes 'i', 'ii', ... , 'vi'. (I.e., \@listiii is +% called for a third-level list.) By convention, \@listK should set +% \leftmargin to \leftmarginK. +% +% For efficiency, level-one list's values are defined at top level, and +% \@listi is defined to set only \leftmargin. + +\leftmargini 2.5em +\leftmarginii 2.2em % > \labelsep + width of '(m)' +\leftmarginiii 1.87em % > \labelsep + width of 'vii.' +\leftmarginiv 1.7em % > \labelsep + width of 'M.' +\leftmarginv 1em +\leftmarginvi 1em + +\leftmargin\leftmargini +\labelsep .5em +\labelwidth\leftmargini\advance\labelwidth-\labelsep +%\parsep 5pt plus 2.5pt minus 1pt %(Removed 9 Jun 87) + +% \@listI defines top level and \@listi values of +% \leftmargin, \topsep, \parsep, and \itemsep +% (Added 9 Jun 87) +\def\@listI{\leftmargin\leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ +\topsep 10\p@ plus4\p@ minus6\p@ +\itemsep 5\p@ plus2.5\p@ minus\p@} + +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 5\p@ plus2.5\p@ minus\p@ + \parsep 2.5\p@ plus\p@ minus\p@ + \itemsep \parsep} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 2.5\p@ plus\p@ minus\p@ + \parsep \z@ \partopsep \p@ plus\z@ minus\p@ + \itemsep \topsep} + +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} + +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} + +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + +\endinput diff --git a/macros/latex/contrib/ucthesis/uctest.bib b/macros/latex/contrib/ucthesis/uctest.bib new file mode 100644 index 0000000000..ac07311bce --- /dev/null +++ b/macros/latex/contrib/ucthesis/uctest.bib @@ -0,0 +1,153 @@ +%% uctest.bib 11/3/94 +%% Copyright (C) 1988-2004 Daniel Gildea, BBF, Ethan Munson. +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Daniel Gildea. + +@BOOK{knuth:tex, + AUTHOR = "Donald E. Knuth", + TITLE = "The {\TeX} Book", + PUBLISHER = {Addison-Wesley}, + YEAR = "1984", + ADDRESS = {Reading, Massachusetts}, + NOTE = {Reprinted as Vol. A of {\it Computers \& Typesetting\/}, 1986} +} + +@BOOK{knuth:pgm, + AUTHOR = "Donald E. Knuth", + TITLE = "{\TeX}: The Program", + PUBLISHER = {Addison-Wesley}, + YEAR = "1986", + VOLUME = {B}, + SERIES = {Computers \& Typesetting}, + ADDRESS = {Reading, Massachusetts} +} + +@TECHREPORT{knuth:web, + AUTHOR = {Donald E. Knuth}, + TITLE = {The {WEB} System for Structured Documentation, Version 2.3}, + INSTITUTION = {Computer Science Department, Stanford University}, + YEAR = {1983}, + NUMBER = {STAN-CS-83-980}, + ADDRESS = {Stanford, California}, + MONTH = Sep +} + +@ARTICLE{knuth:lp, + AUTHOR = {Donald E. Knuth}, + TITLE = {Literate Programming}, + JOURNAL = {The Computer Journal}, + YEAR = {1984}, + VOLUME = {27}, + NUMBER = {2}, + PAGES = {97--111}, + MONTH = May +} + +@TECHREPORT{knuth:tor, + AUTHOR = {Donald E. Knuth}, + TITLE = {A Torture Test for {\TeX}, Version 1.3}, + INSTITUTION = {Computer Science Department, Stanford University}, + YEAR = {1984}, + NUMBER = {STAN-CS-84-1027}, + ADDRESS = {Stanford, California}, + MONTH = Nov +} + +@ARTICLE{furuta:pctex, + AUTHOR = "Richard K. Furuta and Pierre A. MacKay", + TITLE = "Two {\TeX} Implementations for the {IBM PC}", + JOURNAL = "Dr. Dobb's Journal", + YEAR = "1985", + VOLUME = "10", + NUMBER = "9", + PAGES = "80--91", + MONTH = Sep +} + +@TECHREPORT{des:tex, + AUTHOR = {Jacques D{\'e}sarm{\'e}nien}, + TITLE = {How to Run {\TeX} in French}, + INSTITUTION = {Computer Science Department, Stanford University}, + YEAR = {1984}, + NUMBER = {SATN-CS-1013}, + ADDRESS = {Stanford, California}, + MONTH = Aug +} + +@TECHREPORT{samuel:tex, + AUTHOR = "Arthur L. Samuel", + TITLE = "First Grade {\TeX}: A Beginner's {\TeX} Manual", + INSTITUTION = {Computer Science Department, Stanford University}, + YEAR = "1983", + NUMBER = "SATN-CS-83-985", + ADDRESS = {Stanford, California}, + MONTH = Nov +} + +@BOOK{lamport:latex, + AUTHOR = {Leslie Lamport}, + TITLE = {{\LaTeX}: A Document Preparation System. User's Guide and + Reference Manual}, + PUBLISHER = {Addison-Wesley}, + YEAR = {1986}, + ADDRESS = {Reading, Massachusetts} +} + +@BOOK{spivak:ams, + AUTHOR = {Michael D. Spivak}, + TITLE = {The Joy of {\TeX}}, + PUBLISHER = {American Mathematical Society}, + YEAR = {1985} +} + +@MANUAL{patashnik:bibtex, + TITLE = "Bib{\TeX}ing", + AUTHOR = "Oren Patashnik", + ORGANIZATION = {Computer Science Department, Stanford University}, + ADDRESS = {Stanford, California}, + MONTH = jan, + YEAR = "1988", + NOTE = {Available in the Bib{\TeX} release} +} + +@MANUAL{patashnik:bibhax, + TITLE = {Designing Bib{\TeX} Styles}, + AUTHOR = {Oren Patashnik}, + ORGANIZATION = {Computer Science Department, Stanford University}, + MONTH = jan, + YEAR = {1988} +} + +@ARTICLE{fuchs:dvi0, + AUTHOR = "David Fuchs", + TITLE = "The Format of {\TeX}'s {DVI} Files Version 1", + JOURNAL = "TUGboat", + YEAR = "1981", + VOLUME = "2", + NUMBER = "2", + PAGES = "12--16", + MONTH = Jul +} + +@ARTICLE{fuchs:dvi, + AUTHOR = "David Fuchs", + TITLE = "Device Independent File Format", + JOURNAL = "TUGboat", + YEAR = "1982", + VOLUME = "3", + NUMBER = "2", + PAGES = "14--19", + MONTH = Oct +} + + diff --git a/macros/latex/contrib/ucthesis/uctest.tex b/macros/latex/contrib/ucthesis/uctest.tex new file mode 100644 index 0000000000..1fdf0b7866 --- /dev/null +++ b/macros/latex/contrib/ucthesis/uctest.tex @@ -0,0 +1,127 @@ +%% uctest.tex 11/3/94 +%% Copyright (C) 1988-2004 Daniel Gildea, BBF, Ethan Munson. +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Daniel Gildea. + +\documentclass[11pt]{ucthesis} +\def\dsp{\def\baselinestretch{2.0}\large\normalsize} +\dsp +\begin{document} + +% Declarations for Front Matter + +\title{The Elements of Theses} +\author{Perry H. Disdainful} +\degreeyear{1994} +\degreesemester{Spring} +\degree{Doctor of Philosophy} +\chair{Professor Ignatius Arrogant} +\othermembers{Professor Ivory Insular\\ +Professor General Reference} +\numberofmembers{3} +\prevdegrees{B.A. (University of Northern South Dakota at Hoople) 1978\\ +M.S. (Ed's School of Quantum Mechanics and Muffler Repair Shop) 1989} +\field{Aboriginal Basketry} +\campus{Berkeley} + +\maketitle +\approvalpage +\copyrightpage + +\begin{abstract} +Theses have elements. Isn't that nice? + +\abstractsignature +\end{abstract} + +\begin{frontmatter} + +\begin{dedication} +\null\vfil +{\large +\begin{center} +To myself,\\\vspace{12pt} +Perry H. Disdainful,\\\vspace{12pt} +the only person worthy of my company. +\end{center}} +\vfil\null +\end{dedication} + + +\tableofcontents +\listoffigures +\listoftables +\begin{acknowledgements} +I want to ``thank'' my committee, without whose ridiculous demands, I +would have graduated so, so, very much faster. +\end{acknowledgements} + +\end{frontmatter} + +\part{First Part} + +\chapter{Introduction} + +Every dissertation should have an introduction. You might not realize +it, but the introduction should introduce the concepts, backgrouand, +and goals of the dissertation. + +\begin{table} +\begin{tabular}{|l|r|} + \hline +Title & Author \\ +\hline +War And Peace & Leo Tolstoy \\ +The Great Gatsby & F. Scott Fitzgerald \\ \hline +\end{tabular} +\caption{A normalsize table. There has been a complaint that table +captions are not single-spaced. This is odd because the code +indicates that they should be.} +\end{table} + +\begin{table} +\caption{A small table.} +\begin{scriptsizetabular}{|l|r|} + \hline +Title & Author \\ +\hline +War And Peace & Leo Tolstoy \\ +The Great Gatsby & F. Scott Fitzgerald \\ \hline +\end{scriptsizetabular} +\end{table} + +\chapter{Previous Work} + +Some other research was once performed. + +\begin{figure} +\caption{A first figure.} +\end{figure} + +\begin{figure} +\caption{A second figure.} +\end{figure} + +\chapter{Conclusion} + +\nocite{*} +\bibliographystyle{plain} +\bibliography{uctest} + +\appendix +\chapter{Some Ancillary Stuff} + +Ancillary material should be put in appendices, which appear after the +bibliography. + +\end{document} diff --git a/macros/latex/contrib/ucthesis/ucthesis.cls b/macros/latex/contrib/ucthesis/ucthesis.cls new file mode 100644 index 0000000000..69ad4dee2a --- /dev/null +++ b/macros/latex/contrib/ucthesis/ucthesis.cls @@ -0,0 +1,1291 @@ +%% ucthesis.cls +%% Copyright (C) 1988-2004 Daniel Gildea, BBF, Ethan Munson. +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% This work has the LPPL maintenance status "unmaintained". +% +% This work consists of the files ucthesis.cls, uct10.clo, uct11.clo, +% uct12.clo, uctest.bib, and uctest.tex. + +%%% ==================================================================== +%%% @LaTeX-class-file{ +%%% filename = "ucthesis.cls", +%%% version = "3.2", +%%% date = "19 December 2004", +%%% license = "LPPL", +%%% codetable = "ISO/ASCII", +%%% keywords = "LaTeX, ucthesis", +%%% docstring = "This file is the main file for the ucthesis +%%% class, which is intended to meet the requirements +%%% for University of California Ph.D. dissertations. +%%% It is a direct port to LaTeX2e from UCTHESIS +%%% v2.7 by Ethan V. Munson, with no changes other +%%% than those for compatibility. The major modifictions +%%% are in the font selection commands in the option +%%% files uct1x.clo. +%%% +%%% UCTHESIS.STY v2.7 is based on the standard +%%% report.sty as modified by Mittelbach and Schopf in +%%% Jan 1992. The primary differences are (1) the use +%%% of pseudo-double-spacing, except in certain special +%%% environments; and (2) the use of a 6 inch line +%%% with 4em paragraph indentation. It is only +%%% intended for single-sided printing. Double-sided +%%% printing may be possible, but you're on +%%% your own. +%%% +%%% I know of no bugs in this implementation, +%%% but would be happy to hear of any problems +%%% that arise with it. +%%% +%%% Version 2.x fixes a bug in the previous +%%% version of 20 Jun 1988. The bug was that +%%% "draft" optional mode didn't work because of +%%% problems in handling optional arguments. +%%% This file does not seem to work with earlier +%%% versions of LaTeX (pre-Jan 1992). +%%% +%%% Version 2.3 includes a single-spaced +%%% tabular* environment. +%%% +%%% Version 2.4 sets \evensidemargin correctly +%%% for two-sided style. It also adds new +%%% environments (\smalltabular and +%%% \scriptsizetabular) which produce tables +%%% with smaller fonts. The obvious methods +%%% of producing small-font tables don't work +%%% in ucthesis style. +%%% +%%% Version 2.5 adds support for the \maketitle +%%% macro. +%%% +%%% Version 2.6 adds support for complete and +%%% correct front matter. Some dead code was +%%% removed, too. +%%% +%%% Version 2.7 adds front matter support for +%%% thesis committees of more than 3 people +%%% and for a labeled signature line on the +%%% abstract page. +%%% +%%% Version 3.0 is a direct port of version 2.7 +%%% to LaTeX2e. The major revisions in ucthesis.cls +%%% are converting option processing to LaTeX2e +%%% conventions. The uct1x files have been revised +%%% to use the new font selection commands. +%%% +%%% Version 3.1 makes the following changes: +%%% ``U of C at CAMPUS'' is now ``U of C, CAMPUS'' +%%% new degreesemester variable +%%% roman numeral frontmatter begins with page i, +%%% not iii +%%% ``acknowledgments'' not ``acknowledgements'' +%%% +%%% Version 3.2 explicitly states the license as LPPL. +%%% +%%% Some users have had problems with the +%%% margins ending up too small on one side. +%%% This appears to be a DVI-to-PostScript +%%% driver or printer-adjustment problem. +%%% If you have such trouble, make small adjustments +%%% to the \textwidth and \oddsidemargin +%%% settings in your document preamble. +%%% +%%% Another problem some people have had is +%%% that you can't use \pagestyle{headings} +%%% and \markboth if you use \part. The solution +%%% is to get the headerfooter style, which is +%%% nice and simple to use." +%%% } +%%% ==================================================================== + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{ucthesis}[2004/12/19 v3.2 University of California Thesis Class] + +% **************************************** +% * OPTIONS * +% **************************************** +% +% Option values are now declared first thing. Defaults are set to +% 11 point, onesided, final (ie not draft) mode (BBF 10/31/94) +\newcommand\@ptsize{} +\newcommand\@draftmark{} +\DeclareOption{10pt}{\renewcommand\@ptsize{0}} +\DeclareOption{11pt}{\renewcommand\@ptsize{1}} +\DeclareOption{12pt}{\renewcommand\@ptsize{2}} +\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} +\DeclareOption{draft}{\renewcommand\@draftmark{1}} +\DeclareOption{final}{\renewcommand\@draftmark{0}} +\ExecuteOptions{11pt,oneside,final} + + +% CHOOSING THE TYPE SIZE: +% +% The type size option is handled by reading a different file for each +% size, as follows, to define font size-specific commands: +% 10pt : UCT10, 11pt : UCT11, 12pt : UCT12 +% + +% Two-side or one-side printing. +% +% \@twosidefalse % Default is one-sided printing. +\def\ds@twoside{\@twosidetrue % Defines twoside option. + \@mparswitchtrue} % Marginpars go on outside of page. + +% This is a tricky solution to a tough bootstrapping problem. The +% "draft" option requires the definition of the \ssp macro. However, +% the \ssp macro requires that the uct1?.clo file has been loaded. This +% loading is done by the \@options command which also invokes the +% \ds@draft macro. This was a cyclic dependency in the previous +% version. To break this dependency, I have made \ds@draft set a marker +% which is later tested to determine whether to actually do the draft +% mode actions. +% +% Ethan Munson (October 16, 1992) + +% FMi 91/03/30: made twocolum.sty a file and twocolumn an option. + +% RmS 91/10/15: moved actual reading of twocolumn.sty +% to the end of this file. +\def\ds@twocolumn{\@twocolumntrue} + +% The \ProcessOptions command causes the execution of every option command +% FOO which is declared and for which the user typed the FOO option in his +% \documentclass. For every undeclared option BAR there will be a warning +% message. (BBF 10/31/94) + +\ProcessOptions + +\input uct1\@ptsize.clo\relax + +% For some environments we switch back to single-spacing, also +% provides \dsp in case you need double-spacing where single-spacing +% is otherwise used. +\def\ssp{\def\baselinestretch{1.0}\large\normalsize} +\def\dsp{\def\baselinestretch{1.37}\large\normalsize} + +% \smallssp is used to produce tabular environments in the small font. +% This is required because single-spacing requires a change in font size. +% \scriptsizessp is a still smaller version of the same thing. + +\def\smallssp{\def\baselinestretch{1.0}\large\small} +\def\scriptsizessp{\def\baselinestretch{1.0}\large\scriptsize} + +% draft option (this is where the draft option is actually implemented) +% +% \overfullrule = 0pt % Default is don't mark overfull hboxes. +\ifnum \@draftmark = 1 +\ssp % Single-spaces and +\overfullrule 5pt % causes overfull hboxes to be marked. +\fi + + +% PREPARING A FOREIGN LANGUAGE VERSION: +% +% This document style is for documents prepared in the English language. +% To prepare a version for another language, various English words must +% be replaced. Many of the English words that required replacement are +% indicated below, where we give the name of the command in which the +% words appear, and which must be redefined, with the actual words +% underlined. +% +% Other English words that need replacement can be found in the macros +% supporting the title and approval pages. +% +% \tableofcontents: +\def\contentsname{Contents} +% ~~~~~~~~ +% +% \listoffigures: +\def\listfigurename{List of Figures} +% ~~~~~~~~~~~~~~~ +% +% \listoftables: +\def\listtablename{List of Tables} +% ~~~~~~~~~~~~~~ +% +% \thebibliography: +\def\bibname{Bibliography} +% ~~~~~~~~~~~~ +% +% \theindex: +\def\indexname{Index} +% ~~~~~ +% +% figure environment: +\def\figurename{Figure} +% ~~~~~~ +% +% table environment: +\def\tablename{Table} +% ~~~~~ +% +% \chapter: +\def\chaptername{Chapter} +% ~~~~~~~ +% \appendix: +\def\appendixname{Appendix} +% ~~~~~~~~ +% \part +\def\partname{Part} +% ~~~~ +% abstract environment: +\def\abstractname{Abstract} +% ~~~~~~~~ +% +% acknowledge environment: +\def\acknowledgename{Acknowledgments} +% ~~~~~~~~~~~~~~~~ + +% **************************************** +% * FRONT MATTER * +% **************************************** +% + +% DECLARATIONS +% +% These macros are used to declare arguments needed for the +% construction of the front matter. + +% The year the degree will be officially conferred +\def\degreeyear#1{\gdef\@degreeyear{#1}} + +% The semester (Fall or Spring) the degree will be officially conferred +\def\degreesemester#1{\gdef\@degreesemester{#1}} + +% The full (unabbreviated) name of the degree +\def\degree#1{\gdef\@degree{#1}} + +% All previous degrees: one per line in chronological order +\def\prevdegrees#1{\gdef\@prevdegrees{#1}} + +% The name of your committee's chair +\def\chair#1{\gdef\@chair{#1}} + +% The names of your other committe members, one per line +\def\othermembers#1{\gdef\@othermembers{#1}} + +% The number of committee members, which affects both the +% number of lines and the amount of space between lines +% on the approval page. +\def\@numberofmembers{3} +\def\@approvalspace{.75in} +\def\numberofmembers#1{\gdef\@numberofmembers{#1} +\ifnum \@numberofmembers > 3 +\gdef\@approvalspace{.5in} +\fi} + +% The name of your degree's field (e.g. Psychology, Computer Science) +\def\field#1{\gdef\@field{#1}} + +% You have to define the campus name twice because I can't figure out +% how to get the TeX \uppercase macro to work for me (EVM, 9/21/94) + +% The name of your UC Campus CAPITALIZED (e.g. Berkeley, Los Angeles) +\def\campus#1{\gdef\@campus{#1}} + +% \alwayssingle and \endalwayssingle +% +% These macros define an environment for front matter that is always +% single column even in a double-column document. + +\def\alwayssingle{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \else \newpage \fi} + +\def\endalwayssingle{\if@restonecol\twocolumn \else \newpage \fi} + +% \maketitle outputs the complete titlepage. It requires all the +% above macros except \campuscap. It is probably not correct for +% joint (e.g. UCSD/SDSU) degrees. + +% Set the font that will be used in the front matter headings +\def\fmfont{\fontsize\@xiipt{14.5}\selectfont} +\def\fmsmallfont{\fontsize\@xiipt{14pt}\selectfont} + +\def\maketitle{ +{\ssp +\begin{alwayssingle} + \let\footnotesize\small + \let\footnoterule\relax + \thispagestyle{empty} + \setcounter{page}{1} + + \null\vfil + \begin{center} + \fmfont + {\bfseries {\@title} \par} + \bigskip \medskip + by \par + \bigskip \medskip + {\@author} \par +\vspace{6ex} + {\@prevdegrees} \par +\vspace{6ex} + A dissertation submitted in partial satisfaction of the \par +\smallskip + requirements for the degree of \par +\smallskip + {\@degree} \par + \bigskip \medskip + in \par + \bigskip \medskip + {\@field}\par + \bigskip \medskip + in the \par + \bigskip \medskip + GRADUATE DIVISION \par +\smallskip + of the \par +\smallskip + UNIVERSITY OF CALIFORNIA, {\expandafter\uppercase\expandafter{\@campus}} + \end{center} +{ +\vspace{6ex} +\begin{center} +\fmsmallfont + Committee in charge: \\ +{\@chair}, Chair \\ +{\@othermembers} \\ +\vspace{4ex} + {\@degreesemester \ \@degreeyear} +\end{center} +} + \vfil\null +\end{alwayssingle} + +\setcounter{footnote}{0} +}} + +% APPROVALPAGE +% +% The \approvalpage macro emits a UC-approved approval page ready for +% your committee's signature. It is not an automatic part of the +% output because there's really no point in printing it until you are +% ready to get signatures. It requires the the \year, \author, and +% \campus macros have been defined. It uses lots of tricky spacing +% that is probably better handled with tabular environment code, but +% I'm too lazy to fix it. (EVM, 9/19/94) + +\def\approvalpage{ +\begin{alwayssingle} +\thispagestyle{empty} +\null\vfill +\begin{center} +\fmfont The dissertation of {\@author} is approved: \\ +\vspace{.25in} +\vspace{\@approvalspace} +$\:\overline{~~~~ \mbox{\rule{0in}{0.16in}\small Chair% +\hspace{3.15in} Date }}\:$ \\ +\vspace{\@approvalspace} +$\:\overline{~~~~ \mbox{\rule{0in}{0.16in}\small ~\hspace{3.5in} Date }}\:$ \\ +\vspace{\@approvalspace} +$\:\overline{~~~~ \mbox{\rule{0in}{0.16in}\small ~\hspace{3.5in} Date }}\:$ \\ +\vspace{\@approvalspace} +\ifnum \@numberofmembers > 3 +$\:\overline{~~~~ \mbox{\rule{0in}{0.16in}\small ~\hspace{3.5in} Date }}\:$ \\ +\vspace{\@approvalspace} +\fi +\ifnum \@numberofmembers > 4 +$\:\overline{~~~~ \mbox{\rule{0in}{0.16in}\small ~\hspace{3.5in} Date }}\:$ \\ +\vspace{\@approvalspace} +\fi +\ifnum \@numberofmembers > 5 +$\:\overline{~~~~ \mbox{\rule{0in}{0.16in}\small ~\hspace{3.5in} Date }}\:$ \\ +\vspace{\@approvalspace} +\fi +{\fmfont University of California, {\@campus}} \\ +\vspace{-.25in} +\vspace{\@approvalspace} +{\fmfont \@degreesemester \ \@degreeyear} +\end{center} +\vfill\null +\end{alwayssingle} +} + +% COPYRIGHTPAGE +% +% While it's technically optional, you probably want a copyright page. +% This is a macro, not an environment, because it can be generated +% with the \title, \author, and \year macros. + +\def\copyrightpage{ +\begin{alwayssingle} +\thispagestyle{empty} +\begin{center} +{\fmfont +{\bfseries\@title}\par +\vspace{1in} +Copyright \@degreeyear\par +by\par +\@author} +\end{center} +\end{alwayssingle}} + +% ABSTRACT +% +% The ABSTRACT environment allows for multi-page abstracts which, +% in accordance with UC rules, is numbered separately from the rest +% of the rest of the dissertation in Arabic. It requires definition +% of the \title, \author, \degree, \field, \campus, and \chair macros. + + +\def\abstract{ +\begin{alwayssingle} +\pagestyle{plain} +\thispagestyle{plain} +\setcounter{page}{1} +\begin{center} +{\fmfont +{\bfseries \abstractname}\par +\vspace{.5in} +\@title\par +\vspace{.1in} +by\par +\vspace{.1in} +\@author\par +{\@degree} in \@field\par +\vspace{.1in} +University of California, {\@campus}\par +\vspace{.1in} +{\@chair}, Chair} +\vspace{.1in} +\end{center}} + +\def\endabstract{\par\vfil\null\end{alwayssingle} +} + +\def\abstractsignature{ +\hspace*{\fill} +\begin{minipage}[t]{3.25in} +\addtolength{\baselineskip}{-.5\baselineskip} +\vspace{1.7cm} +\rule{3.2in}{.5pt}\\ +\@chair\\ +Dissertation Committee Chair +\end{minipage}} + +% DEDICATION +% +% The dedication environment just makes sure the dedication gets its +% own page. + +\newenvironment{dedication} +{\begin{alwayssingle}} +{\end{alwayssingle}} + +% ACKNOWLEDGEMENTS +% +% The acknowledgements environment puts a large, bold, centered +% "Acknowledgements" label at the top of the page. + +\newenvironment{acknowledgements} +{\begin{alwayssingle} +\begin{center} +{\large \bfseries \acknowledgename} +\end{center} +} +{\end{alwayssingle}} + +% FRONTMATTER environment +% +% The FRONTMATTER environment makes sure that page numbering is set +% correctly (roman, lower-case, starting at 3) for the front matter +% that follows the abstract. It also resets page-numbering for +% the remainder of the dissertation (arabic, starting at 1). + +\newenvironment{frontmatter} +{\setcounter{page}{1}\renewcommand{\thepage}{\roman{page}}} +{\newpage\renewcommand{\thepage}{\arabic{page}}\setcounter{page}{1}} + + +% **************************************** +% * 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. +% +% 16 Mar 88 -- changed defs of \labelenum... to use \theenum... + +\def\labelenumi{\theenumi.} +\def\theenumi{\arabic{enumi}} + +\def\labelenumii{(\theenumii)} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi} + +\def\labelenumiii{\theenumiii.} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi(\theenumii)} + +\def\labelenumiv{\theenumiv.} +\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{$\m@th\bullet$} +\def\labelitemii{\bfseries --} +\def\labelitemiii{$\m@th\ast$} +\def\labelitemiv{$\m@th\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{\par\let\\=\@centercr + \list{}{\ssp\itemsep\z@ \itemindent -1.5em\listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} +\let\endverse\endlist + +% QUOTATION +% Fills lines +% Indents paragraph +% +\def\quotation{\par\list{}{\ssp\listparindent 1.5em + \itemindent\listparindent + \rightmargin\leftmargin\parsep \z@ plus\p@}\item[]} +\let\endquotation=\endlist + +% QUOTE -- same as quotation except no paragraph indentation, +% +\def\quote{\par\list{}{\ssp\rightmargin\leftmargin}\item[]} +\let\endquote=\endlist + +% DESCRIPTION +% +% To change the formatting of the label, you must redefine +% \descriptionlabel. + +\def\descriptionlabel#1{\hspace\labelsep \bfseries #1} +\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + +\let\enddescription\endlist + +\newdimen\descriptionmargin +\descriptionmargin=3em + + +% **************************************** +% * OTHER ENVIRONMENTS * +% **************************************** +% +% +% VERBATIM +% +% standard verbatim mode driver macro is modified to use +% single-spacing. There appears to be a small problem with extra +% vertical space (1 or 2 points worth) after this environment. +% Probably, this results from returning to double-spacing before +% issuing a \parskip, but I'm not enough of TeX hacker to figure out +% the source of the problem. (EVM, 9/25/94) +% 94/11/03 BBF converted \tt to \ttfamily + +\def\@verbatim{\trivlist\ssp \item[]\if@minipage\else\vskip\parskip\fi +\leftskip\@totalleftmargin\rightskip\z@ +\parindent\z@\parfillskip\@flushglue\parskip\z@ +%%RmS 91/08/26 Added \@@par to clear possible \parshape definition +%%from a surrounding list (the verbatim guru says) +\@@par +\@tempswafalse \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par +\penalty\interlinepenalty}% +\obeylines \ttfamily \catcode``=13 \@noligs \let\do\@makeother \dospecials} + +% 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 + % environment. + +% We have to redefine array here in order to make it single-spaced. +% (Not sure if this is really necessary.) +\def\array{\let\@acol\@arrayacol \let\@classz\@arrayclassz + \let\@classiv\@arrayclassiv \let\\\@arraycr\let\@halignto\@empty\@tabarray} + +% TABBING +% +\tabbingsep \labelsep % Space used by the \' command. + % (See LaTeX manual.) + +% We have to redefine tabular here in order to make it single-spaced. +\def\tabular{\par\ssp\let\@halignto\@empty\@tabular} +\expandafter \def\csname tabular*\endcsname #1% +{\par\ssp\def\@halignto{to#1}\@tabular} + +% \smalltabular and \smalltabular* are alternative tabular styles +% in the \small font. They are required because single-spacing implies a +% change of font to a particular size. +% EVM, 7/20/93 +\def\smalltabular{\par\smallssp\let\@halignto\@empty\@tabular} +\def\endsmalltabular{\endtabular} +\expandafter \def\csname smalltabular*\endcsname #1% +{\par\smallssp\def\@halignto{to#1}\@tabular} +\expandafter \let \csname endsmalltabular*\endcsname = \endtabular + +% \scriptsizetabular and \scriptsizetabular* are analogs of \smalltabular +\def\scriptsizetabular{\par\scriptsizessp\let\@halignto\@empty\@tabular} +\def\endscriptsizetabular{\endtabular} +\expandafter \def\csname scriptsizetabular*\endcsname #1% +{\par\scriptsizessp\def\@halignto{to#1}\@tabular} +\expandafter \let \csname endscriptsizetabular*\endcsname = \endtabular + +% 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. + +% Must redefine @startsection so that we always get indentation. +\def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi + \par \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \relax\fi + \if@nobreak \everypar{}\else + \addpenalty{\@secpenalty}\addvspace{\@tempskipa}\fi \@ifstar + {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} + +\newcounter {part} +\newcounter {chapter} +\newcounter {section}[chapter] +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] + +% 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}} + +% \@chapapp is initially defined to be '\chaptername'. The \appendix +% command redefines it to be '\appendixname'. +% +\def\@chapapp{\chaptername} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% PART % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\part{\cleardoublepage % Starts new page. + \thispagestyle{plain}% % Page style of part page is 'plain' + \if@twocolumn % IF two-column style + \onecolumn % THEN \onecolumn + \@tempswatrue % @tempswa := true + \else \@tempswafalse % ELSE @tempswa := false + \fi % FI + \hbox{}\vfil % Add fil glue to center title +%% \bgroup \centering % BEGIN centering %% Removed 19 Jan 88 + \secdef\@part\@spart} + +\def\@part[#1]#2{\ifnum \c@secnumdepth >-2\relax % IF secnumdepth > -2 + \refstepcounter{part}% % THEN step + % part counter + \addcontentsline{toc}{part}{\thepart % add toc line + \hspace{1em}#1}\else % ELSE add + % unnumb. line + \addcontentsline{toc}{part}{#1}\fi % FI + \markboth{}{}% + {\centering % %% added 19 Jan 88 + \interlinepenalty \@M %% RmS added 11 Nov 91 + \ifnum \c@secnumdepth >-2\relax % IF secnumdepth > -2 + \huge\bfseries \partname~\thepart % THEN Print '\partname' and + \par % number in \huge bold. + \vskip 20\p@\fi % Add space before title. + \Huge \bfseries % FI + #2\par}\@endpart} % Print Title in \Huge bold. + % Bug Fix 13 Nov 89: #1 -> #2 + + +% \@endpart finishes the part page +% +\def\@endpart{\vfil\newpage % End page with 1fil glue. + \if@twoside % IF twoside printing + \hbox{}% % THEN Produce totally blank page + \thispagestyle{empty}% + \newpage + \fi % FI + \if@tempswa % IF @tempswa = true + \twocolumn % THEN \twocolumn + \fi} % FI + +\def\@spart#1{{\centering % %% added 19 Jan 88 + \interlinepenalty \@M %% RmS added 11 Nov 91 + \Huge \bfseries % Print title in \Huge boldface + #1\par}\@endpart} + + + + + +% **************************************** +% * 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} + + +% TABLEOFCONTENTS +% In ucthesis style, \tableofcontents, \listoffigures, etc. are always +% set in single-column style. @restonecol + +\def\tableofcontents{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \chapter*{\contentsname + \@mkboth{\uppercase{\contentsname}}{\uppercase{\contentsname}}}% + {\ssp\@starttoc{toc}}\if@restonecol\twocolumn\fi} + +\def\l@part#1#2{\addpenalty{-\@highpenalty}% + \addvspace{2.25em plus\p@}% space above part line + \begingroup + \@tempdima 3em % width of box holding part number, used by + \parindent \z@ \rightskip \@pnumwidth %% \numberline + \parfillskip -\@pnumwidth + {\large \bfseries % 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 + \global\@nobreaktrue %% Added 24 May 89 as + \everypar{\global\@nobreakfalse\everypar{}}%% suggested by + %% Jerry Leichter + \endgroup} + +%% First line of l@chapter changed 24 May 89, as suggested +%% by Jerry Leichter. +%% +\def\l@chapter#1#2{\addpenalty{-\@highpenalty}% + \vskip 1.0em plus\p@ % space above chapter line + \@tempdima 1.5em % width of box holding chapter number + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \bfseries % Boldface. + \leavevmode % TeX command to enter horizontal mode. + \advance\leftskip\@tempdima %% added 5 Feb 88 to conform to + \hskip -\leftskip %% 25 Jan 88 change to \numberline + #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par + \penalty\@highpenalty %% added 24 May 89, suggested by J. Leichter + \endgroup} + +\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}} + +% LIST OF FIGURES +% +% Single-space list of figures, add it to the table of contents. +\def\listoffigures{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \chapter*{\listfigurename\@mkboth{\uppercase{\listfigurename}}% +{\uppercase{\listfigurename}}} + \addcontentsline{toc}{chapter}{\listfigurename} + {\ssp\@starttoc{lof}}\if@restonecol + \twocolumn\fi} + +\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} + +% LIST OF TABLES +% +\def\listoftables{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \chapter*{\listtablename\@mkboth{\uppercase{\listtablename}}% + {\uppercase{\listtablename}}}\@starttoc{lot}\if@restonecol + \twocolumn\fi} +\def\listoftables{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \chapter*{\listtablename\@mkboth{\uppercase{\listtablename}}% +{\uppercase{\listtablename}}} + \addcontentsline{toc}{chapter}{\listtablename} + {\ssp\@starttoc{lot}}\if@restonecol + \twocolumn\fi} + + +\let\l@table\l@figure + + + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** +% +% The thebibliography environment executes the following commands: +% +% \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 toproduce an end-of-sentence space. + +%% RmS 91/10/27 [ .. ] replaced by \@biblabel{ .. } +%% RmS 91/11/13: Changed counter enumi to enumiv, +%% as it says in the comment in latex.tex +%% RmS 92/01/14: Set \p@enumiv to {} and \theenumiv to \arabic{enumiv} +%% to get correct references +\def\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 + \usecounter{enumiv}% + \let\p@enumiv\@empty + \def\theenumiv{\arabic{enumiv}}}% + \def\newblock{\hskip .11em plus.33em minus.07em}% + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=\@m} + + +%% 91/08/26 FMI & RmS: introduced warning instead of error + +\def\endthebibliography{% + \def\@noitemerr{\@warning{Empty `thebibliography' environment}}% + \endlist} + + +% \def\@biblabel#1{[#1]\hfill} % Produces the label for a \bibitem[...] + % command. +% \def\@cite#1{[#1]} % Produces the output of the \cite + % command. + + + +% **************************************** +% * THE INDEX * +% **************************************** +% +% THE 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 35\p@\twocolumn[\@makeschapterhead{\indexname}]% + \@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ plus .3\p@\relax\let\item\@idxitem} + +\def\@idxitem{\par\hangindent 40\p@} + +\def\subitem{\par\hangindent 40\p@ \hspace*{20\p@}} + +\def\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}} + +\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} + +\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\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$\m@th^{\@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$\m@th^{\@thefnmark}$}#1} + +% \@makefnmark : A macro to generate the footnote marker that goes +% in the text. Default used. +% + + +% Single-space footnotes. +\long\def\@footnotetext#1{\insert\footins{\ssp\reset@font\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}}} + +% **************************************** +% * FIGURES AND TABLES * +% **************************************** +% +% Float placement parameters. See LaTeX manual for their definition. +% +\setcounter{topnumber}{2} +\def\topfraction{.7} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.2} +\def\floatpagefraction{.5} +\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. +% changed 25 Jun 86 to fix according to Howard Trickey: +% instead of \unhbox\@tempboxa\par we do #1: #2\par + +% 15 Nov 93: further changes to support captions BEFORE the figure +% or table. Changes suggested by Donald Arseneau, installed by Ethan +% Munson. Detailed reasons are: +% The \unhbox allows \vadjust material (\vspace) to get out; +% the \vbox to\topskip{} is for captions at the top of top-floats; +% the \ifdim is for captions above the figure or table; +% the strut is for tables below the caption. + +\long\def\@makecaption#1#2{% Add space only if something is ... + \par\ifdim\prevdepth>-\p@ \vskip 10\p@\relax \fi % above the caption + \setbox\@tempboxa\hbox{\vbox to\topskip{}#1: #2\unskip\strut}% + \ifdim \wd\@tempboxa >\hsize % IF longer than one line: + {\ssp#1: #2\unskip\strut\par} % THEN set as ordinary paragraph. + \else % ELSE center. + \hbox to\hsize{\hfil\unhbox\@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{\figurename~\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{\tablename~\thetable} +\def\table{\@float{table}} +\let\endtable\end@float +\@namedef{table*}{\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} + + +% **************************************** +% * 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. +% +% +% Commands like \tableofcontents that should set the marks in some +% page styles use a \@mkboth command, which is \let by the pagestyle +% command (\ps@...) to \markboth for setting the heading or +% \@gobbletwo to do nothing. + +\mark{{}{}} % Initializes TeX's marks + +% \ps@empty defined in LATEX.TEX + +% Definition of 'headings' page style +% Note the use of ##1 for parameter of \def\chaptermark inside the +% \def\ps@headings. +% +% 91/03/26 FMi: Added extra set of braces arround |\sl| in |\@oddhead| +% to support NFSS (|\sl| is a shape |\rm| a family). Also remove +% unnecessary |\hbox{}| commands. +% +% 94/11/3 BBF: Eliminated two letter font selection commands \rm and \sl +% in favor of \rmfamily and \slshape. +% + +\if@twoside % If two-sided printing. +\def\ps@headings{\let\@mkboth\markboth + \def\@oddfoot{}\def\@evenfoot{}% No feet. + \def\@evenhead{\rmfamily \thepage\hfil \slshape \leftmark}% Left heading. + \def\@oddhead{{\slshape \rightmark}\hfil \rmfamily\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 printing. +\def\ps@headings{\let\@mkboth\markboth +\def\@oddfoot{}\def\@evenfoot{}% No feet. +\def\@oddhead{{\slshape \rightmark}\hfil \rmfamily\thepage}% Heading. +\def\chaptermark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\m@ne + \@chapapp\ \thechapter. \ \fi ##1}}}} +\fi + +% Definition of 'myheadings' page style. +% +\def\ps@myheadings{\let\@mkboth\@gobbletwo + \def\@oddhead{{\slshape\rightmark}\hfil \rmfamily\thepage}% + \def\@oddfoot{}\def\@evenhead{\rmfamily \thepage\hfil\slshape\leftmark}% + \def\@evenfoot{}\def\chaptermark##1{}\def\sectionmark##1{}% + \def\subsectionmark##1{}} + +% Definition of 'plain' page style. +% +\def\ps@plain{\let\@mkboth\markboth +\def\@oddfoot{}\def\@evenfoot{} % no feet +\def\@oddhead{\hbox{}\hfil\rmfamily\thepage} % heading (right) +\def\@evenhead{\rmfamily\thepage\hfil\hbox{}}} % heading (left) + + + +% **************************************** +% * MISCELLANEOUS * +% **************************************** +% +% 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} + +% EQUATION and EQNARRAY -- put here because it must follow \chapter +% definition +% +% \newcounter{equation} +% +\@addtoreset{equation}{chapter} % Makes \chapter reset 'equation' + % counter. + +\def\theequation{\thechapter.\arabic{equation}} + +% \jot = 3pt % Extra space added between lines of an eqnarray + % environment + +% The macro \@eqnnum defines how equation numbers are to appear in +% equations. +% +% \def\@eqnnum{(\theequation)} +% + + +% **************************************** +% * INITIALIZATION * +% **************************************** +% +% Default initializations + +\ps@plain % 'plain' page style +\pagenumbering{arabic} % Arabic page numbers +\if@twoside\else\raggedbottom\fi % Ragged bottom unless twoside + % option. +\if@twocolumn + \@@input twocolum.sty\relax +\else + \onecolumn % Single-column. +\fi + +\endinput -- cgit v1.2.3