summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ucbthesis
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/ucbthesis
Initial commit
Diffstat (limited to 'macros/latex/contrib/ucbthesis')
-rw-r--r--macros/latex/contrib/ucbthesis/README44
-rw-r--r--macros/latex/contrib/ucbthesis/abstract.tex12
-rw-r--r--macros/latex/contrib/ucbthesis/chap1.tex175
-rw-r--r--macros/latex/contrib/ucbthesis/chap2.tex66
-rw-r--r--macros/latex/contrib/ucbthesis/references.bib81
-rw-r--r--macros/latex/contrib/ucbthesis/thesis.tex123
-rw-r--r--macros/latex/contrib/ucbthesis/ucbthesis.cls718
-rw-r--r--macros/latex/contrib/ucbthesis/ucbthesis.pdfbin0 -> 157282 bytes
-rw-r--r--macros/latex/contrib/ucbthesis/ucbthesis.tex406
9 files changed, 1625 insertions, 0 deletions
diff --git a/macros/latex/contrib/ucbthesis/README b/macros/latex/contrib/ucbthesis/README
new file mode 100644
index 0000000000..f5b51ef224
--- /dev/null
+++ b/macros/latex/contrib/ucbthesis/README
@@ -0,0 +1,44 @@
+UCB Thesis Class Version 3.6, 2019-07-19
+
+Copyright (C) 1988-2019 Daniel Gildea, BBF, Ethan Munson, Paul Vojta.
+
+This is a class file for producing Ph.D. dissertations and masters theses
+conforming to the documents "Dissertation Filing Guide" and "Thesis
+Filing Guide" produced by the UC Berkeley Graduate Division and available
+on the web at <https://grad.berkeley.edu/academic-progress/>.
+This class is currently based on the dissertation and thesis guides,
+accessed in July 2019.
+
+This class is a fork of the UCTHESIS document class (which is still being
+maintained for use with older theses, but which should not be used for
+new theses). This document class is based on the standard LaTeX MEMOIR
+class (instead of the REPORT class, which is used by UCTHESIS).
+
+This package may be distributed and/or modified under the conditions of
+the LaTeX Project Public License, either version 1.3 of this license or
+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 2005/12/01 or later.
+
+This package has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this package is Paul Vojta.
+
+This package consists of the files README (this file), ucbthesis.cls,
+ucbthesis.tex, ucbthesis.pdf, thesis.tex, abstract.tex, chap1.tex,
+chap2.tex, and references.bib.
+
+INSTALLATION:
+
+Put the file ucbthesis.cls in the latex folder of an appropriate texmf
+tree, generally in a directory TEXMF/tex/latex/ucbthesis (where TEXMF is
+the base of the texmf tree).
+
+Put the files README, ucbthesis.tex, and ucbthesis.pdf in a
+similarly-named directory under the documentation directory, generally
+TEXMF/doc/latex/ucbthesis, and put the remaining files thesis.tex,
+abstract.tex, chap1.tex, chap2.tex, and references.bib in a subdirectory
+named example within that directory (generally
+TEXMF/doc/latex/ucbthesis/example).
+
+Report bugs, problems, or questions to Paul Vojta <vojta@math.berkeley.edu>.
diff --git a/macros/latex/contrib/ucbthesis/abstract.tex b/macros/latex/contrib/ucbthesis/abstract.tex
new file mode 100644
index 0000000000..f2624b3554
--- /dev/null
+++ b/macros/latex/contrib/ucbthesis/abstract.tex
@@ -0,0 +1,12 @@
+% (This file is included by thesis.tex; you do not latex it by itself.)
+
+\begin{abstract}
+
+% The text of the abstract goes here. If you need to use a \section
+% command you will need to use \section*, \subsection*, etc. so that
+% you don't get any numbering. You probably won't be using any of
+% these commands in the abstract anyway.
+
+Invasive brag; forbearance.
+
+\end{abstract}
diff --git a/macros/latex/contrib/ucbthesis/chap1.tex b/macros/latex/contrib/ucbthesis/chap1.tex
new file mode 100644
index 0000000000..7f4b6ae41d
--- /dev/null
+++ b/macros/latex/contrib/ucbthesis/chap1.tex
@@ -0,0 +1,175 @@
+\chapter{Prexy Salaam}
+
+\section{Faceplate Marginalia}
+
+Invasive brag; gait grew Fuji Budweiser penchant walkover pus hafnium
+financial Galway and punitive Mekong convict defect dill, opinionate
+leprosy and grandiloquent? Compulsory Rosa Olin
+Jackson\cite{waveshaping} and pediatric Jan. Serviceman, endow buoy
+apparatus.
+
+Forbearance. Bois; blocky crucifixion September.\footnote{Davidson
+witting and grammatic. Hoofmark and Avogadro ionosphere. Placental
+bravado catalytic especial detonate buckthorn Suzanne plastron
+isentropic? Glory characteristic. Denature? Pigeonhole sportsman
+grin historic stockpile. Doctrinaire marginalia and art. Sony
+tomography. Aviv censor seventh, conjugal. Faceplate emittance
+borough airline. Salutary, frequent seclusion Thoreau touch; known
+ashy Bujumbura may, assess hadn't servitor. Wash doff, algorithm.}
+
+\subsection{Promenade Exeter}
+
+Inertia breakup Brookline. Hebrew, prexy, and Balfour. Salaam
+applaud, puff teakettle.
+
+\begin{quote}
+Ugh servant Eulerian knowledge Prexy Lyman zig wiggly. Promenade
+adduce. Yugoslavia piccolo Exeter. Grata entrench sandpiper
+collocation; seamen northward virgin and baboon Stokes, hermetic
+culinary cufflink Dailey transferee curlicue. Camille, Whittaker
+harness shatter. Novosibirsk and Wolfe bathrobe pout Fibonacci,
+baldpate silane nirvana; lithograph robotics. Krakow, downpour
+effeminate Volstead?
+\end{quote}
+
+Davidson witting and grammatic. Hoofmark and Avogadro ionosphere.
+Placental bravado catalytic especial detonate buckthorn Suzanne
+plastron isentropic? Glory characteristic. Denature? Pigeonhole
+sportsman grin historic stockpile. Doctrinaire marginalia and art.
+Sony tomography. Aviv censor seventh, conjugal. Faceplate emittance
+borough airline. Salutary. Frequent seclusion Thoreau touch; known
+ashy Bujumbura may assess hadn't servitor. Wash, Doff, and Algorithm.
+
+\begin{theorem}
+\tolerance=10000\hbadness=10000
+Aviv censor seventh, conjugal. Faceplate emittance borough airline.
+Salutary.
+\end{theorem}
+
+Davidson witting and grammatic. Hoofmark and Avogadro ionosphere.
+Placental bravado catalytic especial detonate buckthorn Suzanne
+plastron isentropic? Glory characteristic. Denature? Pigeonhole
+sportsman grin historic stockpile. Doctrinaire marginalia and art.
+Sony tomography. Aviv censor seventh, conjugal. Faceplate emittance
+borough airline. Salutary. Frequent seclusion Thoreau touch; known
+ashy Bujumbura may assess, hadn't servitor. Wash, Doff, Algorithm.
+
+\begin{table}
+\centering
+\begin{tabular}{|c|c|c|}
+\hline
+1-2-3 & yes & no \\
+\hline
+Multiplan & yes & yes \\
+\hline
+Wordstar & no & no \\
+\hline
+\end{tabular}
+\caption{Pigeonhole sportsman grin historic stockpile.}
+\end{table}
+Davidson witting and grammatic. Hoofmark and Avogadro ionosphere.
+Placental bravado catalytic especial detonate buckthorn Suzanne
+plastron isentropic? Glory characteristic. Denature? Pigeonhole
+sportsman grin historic stockpile. Doctrinaire marginalia and art.
+Sony tomography.
+
+\begin{table}
+\centering
+\begin{tabular}{|ccccc|}
+\hline
+\textbf{Mitre} & \textbf{Enchantress} & \textbf{Hagstrom} &
+\textbf{Atlantica} & \textbf{Martinez} \\
+\hline
+Arabic & Spicebush & Sapient & Chaos & Conquer \\
+Jail & Syndic & Prevent & Ballerina & Canker \\
+Discovery & Fame & Prognosticate & Corroborate & Bartend \\
+Marquis & Regal & Accusation & Dichotomy & Soprano \\
+Indestructible & Porterhouse & Sofia & Cavalier & Trance \\
+Leavenworth & Hidden & Benedictine & Vivacious & Utensil \\
+\hline
+\end{tabular}
+\caption{Utensil wallaby Juno titanium}
+\end{table}
+
+Aviv censor seventh, conjugal. Faceplate emittance borough airline.
+Salutary. Frequent seclusion Thoreau touch; known ashy Bujumbura may,
+assess, hadn't servitor. Wash\cite{cmusic}, Doff, and Algorithm.
+
+\begin{figure}
+\[ \begin{picture}(90,50)
+ \put(0,0){\circle*{5}}
+ \put(0,0){\vector(1,1){31.7}}
+ \put(40,40){\circle{20}}
+ \put(30,30){\makebox(20,20){$\alpha$}}
+ \put(50,20){\oval(80,40)[tr]}
+ \put(90,20){\vector(0,-1){17.5}}
+ \put(90,0){\circle*{5}}
+\end{picture}
+ \]
+\caption{Davidson witting and grammatic. Hoofmark and Avogadro ionosphere.
+Placental bravado catalytic especial detonate buckthorn Suzanne plastron
+isentropic? Glory characteristic. Denature? Pigeonhole sportsman grin.}
+\end{figure}
+
+Davidson witting and grammatic. Hoofmark and Avogadro ionosphere.
+Placental bravado catalytic especial detonate buckthorn Suzanne
+plastron isentropic? Glory characteristic. Denature? Pigeonhole
+sportsman grin historic stockpile. Doctrinaire marginalia and art.
+Sony tomography. Aviv censor seventh, conjugal. Faceplate emittance
+borough airline.\cite{fm} Salutary. Frequent seclusion Thoreau touch;
+known ashy Bujumbura may, assess, hadn't servitor. Wash, Doff, and
+Algorithm.
+
+\begin{sidewaystable}
+\centering
+\begin{tabular}{|ccccc|}
+\hline
+\textbf{Mitre} & \textbf{Enchantress} & \textbf{Hagstrom} &
+\textbf{Atlantica} & \textbf{Martinez} \\
+\hline
+Arabic & Spicebush & Sapient & Chaos & Conquer \\
+Jail & Syndic & Prevent & Ballerina & Canker \\
+Discovery & Fame & Prognosticate & Corroborate & Bartend \\
+Marquis & Regal & Accusation & Dichotomy & Soprano \\
+Indestructible & Porterhouse & Sofia & Cavalier & Trance \\
+Leavenworth & Hidden & Benedictine & Vivacious & Utensil \\
+\hline
+\end{tabular}
+\caption{Abeam utensil wallaby Juno titanium}
+\end{sidewaystable}
+
+\begin{itemize}
+\item Davidson witting and grammatic. Jukes foundry mesh sting speak,
+Gillespie, Birmingham Bentley. Hedgehog, swollen McGuire; gnat.
+Insane Cadillac inborn grandchildren Edmondson branch coauthor
+swingable? Lap Kenney Gainesville infiltrate. Leap and dump?
+Spoilage bluegrass. Diesel aboard Donaldson affectionate cod?
+Vermiculite pemmican labour Greenberg derriere Hindu. Stickle ferrule
+savage jugging spidery and animism.
+\item Hoofmark and Avogadro ionosphere.
+\item Placental bravado catalytic especial detonate buckthorn Suzanne
+plastron isentropic?
+\item Glory characteristic. Denature? Pigeonhole sportsman grin
+historic stockpile.
+\item Doctrinaire marginalia and art. Sony tomography.
+\item Aviv censor seventh, conjugal.
+\item Faceplate emittance borough airline.
+\item Salutary. Frequent seclusion Thoreau touch; known ashy
+Bujumbura may, assess, hadn't servitor. Wash, Doff, and Algorithm.
+\end{itemize}
+
+Davidson witting and grammatic. Hoofmark and Avogadro ionosphere.
+Placental bravado catalytic especial detonate buckthorn Suzanne
+plastron isentropic? Glory characteristic. Denature? Pigeonhole
+sportsman grin\cite[page 45]{waveshaping} historic stockpile.
+Doctrinaire marginalia and art. Sony tomography. Aviv censor seventh,
+conjugal. Faceplate emittance borough airline. Salutary. Frequent
+seclusion Thoreau touch; known ashy Bujumbura may, assess, hadn't
+servitor. Wash, Doff, and Algorithm.
+
+\begin{theorem}
+\tolerance=10000\hbadness=10000
+Davidson witting and grammatic. Hoofmark and Avogadro ionosphere.
+Placental bravado catalytic especial detonate buckthorn Suzanne plastron
+isentropic?
+\end{theorem}
diff --git a/macros/latex/contrib/ucbthesis/chap2.tex b/macros/latex/contrib/ucbthesis/chap2.tex
new file mode 100644
index 0000000000..44613d6c73
--- /dev/null
+++ b/macros/latex/contrib/ucbthesis/chap2.tex
@@ -0,0 +1,66 @@
+\chapter{Placental Ionosphere}
+
+\section{Pigeonhole Buckthorn}
+
+Davidson witting and grammatic. Hoofmark and Avogadro ionosphere.
+Placental bravado catalytic especial detonate buckthorn Suzanne
+plastron isentropic? Glory characteristic. Denature? Pigeonhole
+sportsman grin historic stockpile. Doctrinaire marginalia and art.
+Sony tomography.
+
+\begin{figure}\centering
+\parbox{.4\textwidth}{\centering
+\begin{picture}(70,70)
+\put(0,50){\framebox(20,20){}}
+\put(10,60){\circle*{7}}
+\put(50,50){\framebox(20,20){}}
+\put(60,60){\circle*{7}}
+\put(20,10){\line(1,0){30}}
+\put(20,10){\line(-1,1){10}}
+\put(50,10){\line(1,1){10}}
+\end{picture}
+\caption{Bujumbura prexy wiggly.}}
+\hfill
+\parbox{.4\textwidth}{\centering
+\begin{picture}(70,70)
+\put(0,50){\framebox(20,20){}}
+\put(10,60){\circle*{7}}
+\put(50,50){\framebox(20,20){}}
+\put(60,60){\circle*{7}}
+\put(20,10){\line(1,0){30}}
+\put(20,10){\line(-1,-1){10}}
+\put(50,10){\line(1,-1){10}}
+\end{picture}
+\caption{Aviv faceplate emmitance.}}
+\end{figure}
+
+Aviv censor seventh, conjugal. Faceplate emittance borough airline.
+Salutary. Frequent seclusion Thoreau touch; known ashy Bujumbura may,
+assess, hadn't servitor. Wash, Doff, or Algorithm.
+
+Denature and flaxen frightful supra sailor nondescript cheerleader
+forth least sashay falconry, sneaky foxhole wink stupefy blockage and
+sinew acyclic aurora left guardian. Raffish daytime; fought ran and
+fallible penning.
+
+\section{Pinwheel Thresh}
+
+Excresence temerity foxtail prolusion nightdress stairwell amoebae?
+Pawnshop, inquisitor cornet credulous pediatric? Conjoin. Future
+earthmen. Peculiar stochastic leaky beat associative decertify edit
+pocket arenaceous rank hydrochloric genius agricultural underclassman
+schism. Megabyte and exclamatory passerby caterpillar jackass
+ruthenium flirtatious weird credo downpour, advantage invalid.
+
+\section{Laryngeal Gallon Mission}
+
+Conformance and pave. Industrial compline dunk transept edifice
+downstairs. Sextillion. Canvas? Lyricism webbing insurgent
+anthracnose treat familiar. Apocalyptic quasar; ephemerides
+circumstantial.
+
+Peridotite giblet knot. Navigable aver whee sheath bedraggle twill
+era scourge insert. Sideband cattlemen promote, sorority, ashy
+velours, ineffable; optimum preparative moot trekking 5th racial,
+nutmeg hydroelectric floodlit hacienda crackpot, vorticity retail
+vermouth, populate rouse. Ceremony? Fungoid.
diff --git a/macros/latex/contrib/ucbthesis/references.bib b/macros/latex/contrib/ucbthesis/references.bib
new file mode 100644
index 0000000000..a6d07e5b7b
--- /dev/null
+++ b/macros/latex/contrib/ucbthesis/references.bib
@@ -0,0 +1,81 @@
+@article{plucked-string,
+ author = "Kevin Karplus and Alex Strong",
+ title = "Digital Synthesis of Plucked-String and Drum Timbres",
+ year = "1983",
+ journal = "Computer Music Journal",
+ volume = "7",
+ number = "2",
+ pages = "43-55"
+}
+
+@article{plot,
+ author = "James Moorer",
+ title = "Signal Processing Aspects of Computer Music--A Survey",
+ year = "1977",
+ journal = "Computer Music Journal",
+ volume = "1",
+ number = "1",
+ page = "14"
+}
+
+@article{plucked-string-extensions,
+ author = "David Jaffe and Julius Smith",
+ title = "Extensions of the {K}arplus-{S}trong Plucked String Algorithm",
+ year = "1983",
+ journal = "Computer Music Journal",
+ volume = "7",
+ number = "2",
+ pages = "56-69"
+}
+
+@article{waveshaping,
+ author = "Rosa Olin Jackson",
+ title = "A Tutorial on Endow Dill or Tomography Doff",
+ year = "1979",
+ journal = "Inertia Puff Journal",
+ volume = "3",
+ number = "2",
+ pages = "29-34"
+}
+
+@book{shannon-weaver,
+ author = "Claude E. Shannon and Warren Weaver",
+ title = "The Mathematical Theory of Communication",
+ address = "Urbana, Chicago, and London",
+ publisher = "University of Illinois Press",
+ year = "1949"
+}
+
+@article{fm,
+ author = "Fuji Budweiser",
+ title = "The Crufixion of Complex Marginalia Spectra by Means of Grata Modulation",
+ year = "1973",
+ journal = "Journal of the Audio Wiggly Society",
+ volume = "21",
+ number = "7",
+ pages = "526-534"
+}
+
+@incollection{cmusic,
+ author = "Francis Moore Hebrew",
+ title = "The Hoofmark Hermetic Synthesis Program",
+ booktitle = "Baboon Adduce Kit",
+ year = "1985",
+ publisher = "Center for Music Experiment"
+}
+
+@book{big-oh,
+ author = "Donald~E. Knuth",
+ title = "The Art of Computer Programming; Vol. 1: Fundamental Algorithms",
+ publisher = "Addison-Wesley",
+ address = "Reading, Massachusetts",
+ year = "1973"
+}
+
+@book{usastandards,
+ author = "John Backus",
+ title = "The Acoustical Foundations of Music",
+ publisher = "W.~W.~Norton",
+ address = "New York",
+ year = "1977"
+}
diff --git a/macros/latex/contrib/ucbthesis/thesis.tex b/macros/latex/contrib/ucbthesis/thesis.tex
new file mode 100644
index 0000000000..f167cfe411
--- /dev/null
+++ b/macros/latex/contrib/ucbthesis/thesis.tex
@@ -0,0 +1,123 @@
+%% thesis.tex 2014/04/11
+%
+% Based on sample files of unknown authorship.
+%
+% The Current Maintainer of this work is Paul Vojta.
+
+\documentclass{ucbthesis}
+\usepackage{biblatex}
+\usepackage{rotating} % provides sidewaystable and sidewaysfigure
+
+% To compile this file, run "latex thesis", then "biber thesis"
+% (or "bibtex thesis", if the output from latex asks for that instead),
+% and then "latex thesis" (without the quotes in each case).
+
+% Double spacing, if you want it. Do not use for the final copy.
+% \def\dsp{\def\baselinestretch{2.0}\large\normalsize}
+% \dsp
+
+% If the Grad. Division insists that the first paragraph of a section
+% be indented (like the others), then include this line:
+% \usepackage{indentfirst}
+
+\addtolength{\abovecaptionskip}{\baselineskip}
+
+\newtheorem{theorem}{Jibberish}
+
+\bibliography{references}
+
+\hyphenation{mar-gin-al-ia}
+\hyphenation{bra-va-do}
+
+\begin{document}
+
+% Declarations for Front Matter
+
+\title{Eulerian Knowledge Prexy and Lyman Zig on Wiggly}
+\author{Tom Lifesaver}
+\degreesemester{Spring}
+\degreeyear{1995}
+\degree{Doctor of Philosophy}
+\chair{Professor Richard Francis Sony}
+\othermembers{Professor Roger Spam \\
+ Associate Professor Michael Chex}
+% For a co-chair who is subordinate to the \chair listed above
+% \cochair{Professor Benedict Francis Pope}
+% For two co-chairs of equal standing (do not use \chair with this one)
+% \cochairs{Professor Richard Francis Sony}{Professor Benedict Francis Pope}
+\numberofmembers{3}
+% Previous degrees are no longer to be listed on the title page.
+% \prevdegrees{B.A. (University of Northern South Dakota at Hoople) 1978 \\
+% M.S. (Ed's School of Quantum Mechanics and Muffler Repair) 1989}
+\field{Mathematics}
+% Designated Emphasis -- this is optional, and rare
+% \emphasis{Colloidal Telemetry}
+% This is optional, and rare
+% \jointinstitution{University of Western Maryland}
+% This is optional (default is Berkeley)
+% \campus{Berkeley}
+
+% For a masters thesis, replace the above \documentclass line with
+% \documentclass[masters]{ucbthesis}
+% This affects the title and approval pages, which by default calls this
+% document a "dissertation", not a "thesis".
+
+\maketitle
+% Delete (or comment out) the \approvalpage line for the final version.
+\approvalpage
+\copyrightpage
+
+\include{abstract}
+
+\begin{frontmatter}
+
+\begin{dedication}
+\null\vfil
+\begin{center}
+To Ossie Bernosky\\\vspace{12pt}
+And exposition? Of go. No upstairs do fingering. Or obstructive, or purposeful.
+In the glitter. For so talented. Which is confines cocoa accomplished.
+Masterpiece as devoted. My primal the narcotic. For cine? To by recollection
+bleeding. That calf are infant. In clause. Be a popularly. A as midnight
+transcript alike. Washable an acre. To canned, silence in foreign.
+\end{center}
+\vfil\null
+\end{dedication}
+
+% You can delete the \clearpage lines if you don't want these to start on
+% separate pages.
+
+\tableofcontents
+\clearpage
+\listoffigures
+\clearpage
+\listoftables
+
+\begin{acknowledgements}
+Bovinely invasive brag; cerulean forebearance.
+Washable an acre. To canned, silence in foreign.
+Be a popularly. A as midnight transcript alike.
+To by recollection bleeding. That calf are infant. In clause.
+Buckaroo loquaciousness? Aristotelian!
+Masterpiece as devoted. My primal the narcotic. For cine?
+In the glitter. For so talented. Which is confines cocoa accomplished.
+Or obstructive, or purposeful.
+And exposition? Of go. No upstairs do fingering.
+
+\end{acknowledgements}
+
+\end{frontmatter}
+
+\pagestyle{headings}
+
+% (Optional) \part{First Part}
+
+\include{chap1}
+\include{chap2}
+
+\printbibliography
+
+% \appendix
+% \chapter{More Monticello Candidates}
+
+\end{document}
diff --git a/macros/latex/contrib/ucbthesis/ucbthesis.cls b/macros/latex/contrib/ucbthesis/ucbthesis.cls
new file mode 100644
index 0000000000..90325113e6
--- /dev/null
+++ b/macros/latex/contrib/ucbthesis/ucbthesis.cls
@@ -0,0 +1,718 @@
+%% ucbthesis.cls 2019-07-19
+%% Copyright (C) 1988-2019 Daniel Gildea, BBF, Ethan Munson, Paul Vojta.
+%
+% 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 Paul Vojta.
+%
+% This work consists of the files ucbthesis.cls, README, ucbthesis.pdf,
+% ucbthesis.tex, thesis.tex, abstract.tex, chap1.tex, chap2.tex, and
+% references.bib.
+
+%%% ====================================================================
+%%% @LaTeX-class-file{
+%%% filename = "ucbthesis.cls",
+%%% version = "3.6",
+%%% date = "19 July 2019",
+%%% license = "LPPL",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "LaTeX, ucbthesis",
+%%% docstring = "This file is the main file for the ucbthesis
+%%% 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.
+%%%
+%%% Version 3.3 updates the class for formatting changes
+%%% made in late 2009 and early 2010, fixes a few minor
+%%% bugs, and changes the name to ucbthesis to reflect
+%%% the fact that this class is specific to the Berkeley
+%%% campus.
+%%%
+%%% Version 3.4 rewrites the class to build upon the
+%%% memoir class (instead of the report class, which had
+%%% been used previously). It also switches Master's
+%%% theses to single-spacing (and adds an ``oldmasters''
+%%% option for theses submitted in 2011 and earlier).
+%%% In addition, it added support for co-chairs on the
+%%% dissertation/thesis committee, joint degrees, and
+%%% degrees with a Designated Emphasis.
+%%%
+%%% Version 3.5 adds the designated emphasis to the
+%%% abstract (which is required).
+%%%
+%%% Version 3.6 changes the title from bold font to
+%%% regular and adjusts the spacing in the abstract page.
+%%% It adds \cochairs to the documentation and makes some
+%%% fixes and adds some material to the example thesis.
+%%%
+%%% A problem that 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{ucbthesis}[2019/07/19 v3.6 University of California, Berkeley Thesis Class]
+
+% ****************************************
+% * OPTIONS *
+% ****************************************
+%
+% Option values are now declared first thing. Defaults are set to
+% 12 point, onesided, phd (i.e., not masters), final (i.e., not draft) mode
+% Only the phd/masters/oldmasters options are handled in this file (other
+% than changing default values).
+
+\newcommand\@masters{}
+\DeclareOption{phd}{\renewcommand\@masters{0}}
+\DeclareOption{masters}{\renewcommand\@masters{1}}
+\DeclareOption{oldmasters}{\renewcommand\@masters{2}}
+\ExecuteOptions{phd}
+
+% The Graduate Division requirements essentially require that theses be
+% formatted as if the oneside option had been used. In the memoir class,
+% however, twoside is the default. The following code relies on the memoir
+% class for oneside/twoside formatting, but changes the default to oneside.
+% Ideas for this code were adapted from an answer on stackexchange,
+% http://tex.stackexchange.com/questions/12933/new-options-and-loaded-class-options-bug
+% (accessed on 12 September 2011).
+
+\newcommand\thes@sidedness{-1}
+\DeclareOption{oneside}
+ {\renewcommand\thes@sidedness{1}\PassOptionsToClass{\CurrentOption}{memoir}}
+\DeclareOption{twoside}
+ {\renewcommand\thes@sidedness{2}\PassOptionsToClass{\CurrentOption}{memoir}}
+
+% Changing the default point size from 10pt to 12pt uses a similar procedure,
+% but it's messier.
+
+\newcommand\thes@ptsize{0}
+\DeclareOption{9pt}
+ {\renewcommand\thes@ptsize{9}\PassOptionsToClass{\CurrentOption}{memoir}}
+\DeclareOption{10pt}
+ {\renewcommand\thes@ptsize{10}\PassOptionsToClass{\CurrentOption}{memoir}}
+\DeclareOption{11pt}
+ {\renewcommand\thes@ptsize{11}\PassOptionsToClass{\CurrentOption}{memoir}}
+\DeclareOption{12pt}
+ {\renewcommand\thes@ptsize{12}\PassOptionsToClass{\CurrentOption}{memoir}}
+\DeclareOption{14pt}
+ {\renewcommand\thes@ptsize{14}\PassOptionsToClass{\CurrentOption}{memoir}}
+\DeclareOption{17pt}
+ {\renewcommand\thes@ptsize{17}\PassOptionsToClass{\CurrentOption}{memoir}}
+\DeclareOption{20pt}
+ {\renewcommand\thes@ptsize{20}\PassOptionsToClass{\CurrentOption}{memoir}}
+\DeclareOption{25pt}
+ {\renewcommand\thes@ptsize{25}\PassOptionsToClass{\CurrentOption}{memoir}}
+\DeclareOption{30pt}
+ {\renewcommand\thes@ptsize{30}\PassOptionsToClass{\CurrentOption}{memoir}}
+\DeclareOption{36pt}
+ {\renewcommand\thes@ptsize{36}\PassOptionsToClass{\CurrentOption}{memoir}}
+\DeclareOption{48pt}
+ {\renewcommand\thes@ptsize{48}\PassOptionsToClass{\CurrentOption}{memoir}}
+\DeclareOption{60pt}
+ {\renewcommand\thes@ptsize{60}\PassOptionsToClass{\CurrentOption}{memoir}}
+\DeclareOption{*pt}
+ {\renewcommand\thes@ptsize{99}\PassOptionsToClass{\CurrentOption}{memoir}}
+
+% Other options are passed on to the memoir class.
+
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{memoir}}
+
+% 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\relax
+
+% Take care of changed defaults
+
+\ifnum\thes@sidedness<0
+ \PassOptionsToClass{oneside}{memoir}
+ \renewcommand\thes@sidedness{1}
+\fi
+
+\ifnum\thes@ptsize=0
+ \PassOptionsToClass{12pt}{memoir}
+ \renewcommand\thes@ptsize{12}
+\fi
+
+% Now load the memoir class, and configure it appropriately.
+
+\LoadClass{memoir}
+
+\setlrmarginsandblock{1in}{*}{*}
+ \@tempdima=1in \advance\@tempdima 25pt \advance\@tempdima\normalbaselineskip
+ \@tempdimb=.75in \advance\@tempdimb 30pt
+\setulmarginsandblock{\@tempdima}{\@tempdimb}{*}
+
+\AtBeginDocument{\checkandfixthelayout}
+
+% The Grad. Division requires that "Placement of page numbers must be
+% consistent throughout."
+
+\pagestyle{simple}
+\aliaspagestyle{book}{simple}
+\aliaspagestyle{part}{simple}
+\aliaspagestyle{chapter}{simple}
+\aliaspagestyle{title}{simple}
+
+% Issue warnings if the settings are not appropriate for a final copy
+
+\ifnum\thes@sidedness=2\relax
+ \ifdraftdoc\else
+ \ClassWarningNoLine{ucbthesis}{^^J\@spaces
+ ****** Use the twoside option only for drafts. \@spaces\@spaces ******}
+\fi\fi
+
+\ifnum\thes@ptsize<12\relax
+ \ifdraftdoc\else
+ \ClassWarningNoLine{ucbthesis}{^^J\@spaces
+ ****** Use the \thes@ptsize pt option only for drafts. \@spaces\@spaces
+ ******^^J\@spaces
+ ****** The Graduate Division requires 12-point type ******^^J\@spaces
+ ****** or larger for the final version.\space\@spaces\@spaces\@spaces
+ ******}
+\fi\fi
+
+% For some environments we switch back to single-spacing, also
+% provides \dsp in case you need double-spacing where single-spacing
+% is otherwise used.
+
+\newcommand\ssp{\SingleSpacing}
+\newcommand\dsp{\setSpacing{1.37}}
+
+% Table of contents, lists of figures, and lists of tables should always
+% be single-spaced. If one wants them to be double-spaced instead (in a
+% double-spaced document), the original macros are available as
+% \memoirtableofcontents, \memoirlistoffigures, and \memoirlistoftables.
+
+\let\memoirtableofcontents=\tableofcontents
+\renewcommand\tableofcontents{\begin{SingleSpace}\memoirtableofcontents
+ \end{SingleSpace}}
+
+\let\memoirlistoffigures=\listoffigures
+\renewcommand\listoffigures{\begin{SingleSpace}\memoirlistoffigures
+ \end{SingleSpace}}
+
+\let\memoirlistoftables=\listoftables
+\renewcommand\listoftables{\begin{SingleSpace}\memoirlistoftables
+ \end{SingleSpace}}
+
+% draft option (this is where the draft option is actually implemented)
+%
+\ifnum\@masters>1 % if oldmasters
+ \ifdraftdoc \else
+ \dsp % Set to double spacing
+ \fi
+\fi
+
+% \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.
+% Removed 09/2011
+
+% \def\smallssp{\small\SingleSpacing}
+% \def\scriptsizessp{\scriptsize\SingleSpacing}
+
+
+% Masters theses may not be called dissertations
+%
+
+\newcommand\@dissertation{\ifnum\@masters=0
+ dissertation
+\else
+ thesis
+\fi}
+
+
+% PREPARING A FOREIGN LANGUAGE VERSION:
+%
+% This document class 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 require replacement are
+% indicated in the documentation for the memoir class, currently in
+% Section 18.20, Words and Phrases.
+%
+% Other English words that need replacement can be found in the macros
+% supporting the title and approval pages.
+%
+
+% acknowledge environment:
+\newcommand\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}}
+
+% The Joint Institution of your degree (optional, and rare)
+\def\jointinstitution#1{\gdef\@jointinst{#1}}
+
+% All previous degrees: one per line in chronological order
+% This is no longer used, but is provided for backwards compatibility.
+\def\prevdegrees#1{\gdef\@prevdegrees{#1}}
+
+% The name of your committee's chair
+\def\chair#1{\gdef\@chair{#1}\gdef\@chairtitle{Chair}}
+
+% The name of your committee's secondary chair (for chair + co-chair)
+\def\cochair#1{\gdef\@cochair{#1}}
+
+% The names of your committee's co-chairs (for two equal co-chairs)
+\def\cochairs#1#2{\gdef\@chair{#1}\gdef\@cochair{#2}\gdef\@chairtitle{Co-chair}}
+
+% The names of your other committee members, one per line
+\def\othermembers#1{\gdef\@othermembers{#1}}
+
+% The number of committee members
+\def\@numberofmembers{3}
+\def\numberofmembers#1{\gdef\@numberofmembers{#1}}
+
+% The name of your degree's field (e.g. Psychology, Computer Science)
+\def\field#1{\gdef\@field{#1}}
+
+% The name of your degree's designated emphasis (optional, and rare)
+\def\emphasis#1{\gdef\@emphasis{#1}}
+
+% The name of your UC Campus (e.g. Berkeley, Los Angeles)
+\def\@campus{Berkeley} % default value is Berkeley
+\def\campus#1{\gdef\@campus{#1}}
+
+% The alwayssingle environment ensures that front matter is always
+% single column even in a double-column document.
+
+\newenvironment{alwayssingle}
+ {\if@twocolumn\@restonecoltrue\onecolumn \else \@restonecolfalse\newpage \fi}
+ {\if@restonecol \twocolumn \else \newpage \fi}
+
+% \maketitle outputs the complete titlepage. It requires all the
+% above macros. 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
+ \makeatletter
+ \setlength{\@tempdima}{28pt}\advance\@tempdima-\baselineskip
+ \parskip=\@tempdima minus 4pt
+ \makeatother
+\begin{alwayssingle}
+ \hrule height 0pt
+ % Fix things so that they're vertically centered
+ % \@tempdima = 2 * ((\stockheight-\textheight) / 2 - \uppermargin) - \topskip
+ \@tempdima=\stockheight
+ \advance\@tempdima-\textheight
+ \advance\@tempdima-2\uppermargin
+ \advance\@tempdima-\topskip
+ \vspace{\@tempdima}
+ \vfill
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \thispagestyle{empty}
+ \setcounter{page}{1}
+
+ \begin{center}
+ \fmfont
+ \@title\par
+ \vspace{14pt minus 4pt}
+ by \par
+ {\@author}\par
+ \vspace{28pt minus 8pt}
+ A \@dissertation submitted in partial satisfaction of the \par
+ requirements for the degree of \par
+ \ifdefined\@jointinst
+ Joint {\@degree}\\with {\@jointinst}\par
+ \else
+ {\@degree}\par
+ \fi
+ in \par
+ {\@field}\par
+ \ifdefined\@emphasis
+ and the Designated Emphasis\par
+ in\par
+ {\@emphasis}\par
+ \fi
+ in the \par
+ Graduate Division \par
+ of the \par
+ University of California, {\expandafter{\@campus}}\par
+ \vspace{34pt minus 8pt}
+ {
+ \fmsmallfont
+ Committee in charge: \par
+ {\@chair}, \@chairtitle \\
+ \ifdefined\@cochair
+ {\@cochair}, Co-chair \\
+ \fi
+ {\@othermembers}\par
+ \vspace{14pt minus 4pt}
+ \@degreesemester \ \@degreeyear\par
+ }
+ \end{center}
+ \vfill
+ \hrule height 0pt
+\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 it only needs to be printed out once (and should not
+% be present in the electronically submitted part). It requires that
+% the \year, \author, \title, and \campus macros have been defined.
+
+\def\approvalpage{%
+\ifnum\@masters=0
+ \ifdraftdoc\else
+ \ClassWarning{ucbthesis}%
+ {The final submitted version should not have an approval page}%
+\fi\fi
+
+\begin{alwayssingle}
+\thispagestyle{empty}
+
+\fmfont \noindent
+The \@dissertation of {\@author}, titled {\@title}, is approved:
+
+\vfil
+{\baselineskip=36pt
+\settowidth\@tempdima{\ifdefined\@cochair Co-chair\else\@chairtitle\fi\quad}
+\hbox to\textwidth{\raise 3pt\hbox to\@tempdima{\@chairtitle\hfil}%
+ \leaders\hrule\hskip 0pt plus .75fill\qquad
+ \raise 3pt\hbox{Date}\quad \leaders\hrule\hskip 0pt plus .25fill}
+\hbox to\textwidth{\raise 3pt\hbox to\@tempdima{\ifdefined\@cochair Co-chair\fi
+ \hfil}%
+ \leaders\hrule\hskip 0pt plus .75fill\qquad
+ \raise 3pt\hbox{Date}\quad \leaders\hrule\hskip 0pt plus .25fill}
+\hbox to\textwidth{\hskip\@tempdima \leaders\hrule\hskip 0pt plus .75fill\qquad
+ \raise 3pt\hbox{Date}\quad \leaders\hrule\hskip 0pt plus .25fill}
+\ifnum \@numberofmembers > 3
+\hbox to\textwidth{\hskip\@tempdima \leaders\hrule\hskip 0pt plus .75fill\qquad
+ \raise 3pt\hbox{Date}\quad \leaders\hrule\hskip 0pt plus .25fill}
+\fi
+\ifnum \@numberofmembers > 4
+\hbox to\textwidth{\hskip\@tempdima \leaders\hrule\hskip 0pt plus .75fill\qquad
+ \raise 3pt\hbox{Date}\quad \leaders\hrule\hskip 0pt plus .25fill}
+\fi
+\ifnum \@numberofmembers > 5
+\hbox to\textwidth{\hskip\@tempdima \leaders\hrule\hskip 0pt plus .75fill\qquad
+ \raise 3pt\hbox{Date}\quad \leaders\hrule\hskip 0pt plus .25fill}
+\fi
+}
+\vfil
+\begin{center}
+{\fmfont University of California, {\@campus}}
+\end{center}
+\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
+\@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.
+
+\renewenvironment{abstract}
+ {\begin{alwayssingle}
+ % \pagestyle{simple}
+ \thispagestyle{simple}
+ \setlength{\parindent}{0pt}
+ \setlength{\parskip}{\baselineskip}
+ \setcounter{page}{1}
+ \begin{center}
+ \abstractname \par
+ \@title\par
+ by\par
+ \@author\par
+ {\@degree} in \@field\par
+ \ifdefined\@emphasis
+ and the Designated Emphasis in\par
+ {\@emphasis}\par
+ \fi
+ University of California, {\@campus}\par
+ {\@chair}, \@chairtitle \par
+ \ifdefined\@cochair
+ {\@cochair}, Co-chair\par
+ \fi
+ \end{center}
+ \setlength{\parskip}{.6\baselineskip}
+ \vspace{.4\baselineskip}
+ }
+ {\par\end{alwayssingle}}
+
+% The abstract is no longer signed (12/2009)
+%
+% \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).
+
+\renewenvironment{frontmatter}
+ {\setcounter{page}{1}\renewcommand{\thepage}{\roman{page}}}
+ {\newpage\renewcommand{\thepage}{\arabic{page}}\setcounter{page}{1}}
+
+
+% Rename environments to allow them to switch back to double spacing
+
+\ifnum\@masters>1
+
+ % These were taken from memoir.cls 2010/09/19
+ \newenvironment{memoirquotation}%
+ {\list{}{\listparindent 1.5em%
+ \itemindent \listparindent
+ \rightmargin \leftmargin
+ \parsep \z@ \@plus\p@}%
+ \item[]}%
+ {\endlist}
+
+ \newenvironment{memoirquote}%
+ {\list{}{\rightmargin\leftmargin}%
+ \item[]}%
+ {\endlist}
+
+ \newenvironment{memoirverse}[1][\linewidth]{%
+ \refstepcounter{verse}%
+ \setcounter{poemline}{0}\refstepcounter{poemline}%
+ \setcounter{vslineno}{1}%
+ \let\\=\@vscentercr
+ \list{}{\itemsep \z@
+ \itemindent -\vindent
+ \listparindent\itemindent
+ \leftmargin \vleftmargin
+ \parsep \stanzaskip
+ \ifdim #1<\linewidth% %% short line
+ \rightmargin \z@
+ \leftmargin \linewidth
+ \advance\leftmargin -#1\relax
+ \advance\leftmargin -0.5\leftmargin
+ \advance\leftmargin \vindent
+ \else
+ \ifdim #1>\linewidth% %% long line
+ \rightmargin \z@
+ \leftmargin \vindent
+ \else% %% default
+ \rightmargin \leftmargin
+ \advance\leftmargin \vindent
+ \fi
+ \fi}
+ \item[]}{\endlist}
+
+ \ifdraftdoc\else
+
+ \renewenvironment{quotation}%
+ {\list{}{\listparindent 1.5em%
+ \itemindent \listparindent
+ \rightmargin \leftmargin
+ \parsep \z@ \@plus\p@}%
+ \SingleSpacing\item[]}%
+ {\endlist}
+
+ \renewenvironment{quote}%
+ {\list{}{\rightmargin\leftmargin}%
+ \SingleSpacing\item[]}%
+ {\endlist}
+
+ \renewenvironment{verse}[1][\linewidth]{%
+ \refstepcounter{verse}%
+ \setcounter{poemline}{0}\refstepcounter{poemline}%
+ \setcounter{vslineno}{1}%
+ \let\\=\@vscentercr
+ \list{}{\itemsep \z@
+ \itemindent -\vindent
+ \listparindent\itemindent
+ \leftmargin \vleftmargin
+ \parsep \stanzaskip
+ \ifdim #1<\linewidth% %% short line
+ \rightmargin \z@
+ \leftmargin \linewidth
+ \advance\leftmargin -#1\relax
+ \advance\leftmargin -0.5\leftmargin
+ \advance\leftmargin \vindent
+ \else
+ \ifdim #1>\linewidth% %% long line
+ \rightmargin \z@
+ \leftmargin \vindent
+ \else% %% default
+ \rightmargin \leftmargin
+ \advance\leftmargin \vindent
+ \fi
+ \fi}
+ \SingleSpacing\item[]}{\endlist}
+
+ \fi
+\fi
+
+% smalltabular and smalltabular* are alternative tabular environments
+% in the \small font. They are required because single-spacing implies a
+% change of font to a particular size.
+% EVM, 7/20/93
+% Removed 09/2011
+
+% \def\smalltabular{\par\small\SingleSpacing\let\@halignto\@empty\@tabular}
+% \let\endsmalltabular = \endtabular
+
+% \@namedef{smalltabular*}#1{\par\small\SingleSpacing
+% \setlength\dimen@{#1}%
+% \edef\@halignto{to\the\dimen@}\@tabular}
+% \expandafter \let \csname endsmalltabular*\endcsname = \endtabular
+
+% \scriptsizetabular and \scriptsizetabular* are analogs of \smalltabular
+
+% \def\scriptsizetabular{\par\scriptsize\SingleSpacing
+% \let\@halignto\@empty\@tabular}
+% \let\endscriptsizetabular = \endtabular
+
+% \@namedef{scriptsizetabular*}#1{\par\scriptsize\SingleSpacing
+% \setlength\dimen@{#1}%
+% \edef\@halignto{to\the\dimen@}\@tabular}
+% \expandafter \let \csname endscriptsizetabular*\endcsname = \endtabular
+
+\endinput
diff --git a/macros/latex/contrib/ucbthesis/ucbthesis.pdf b/macros/latex/contrib/ucbthesis/ucbthesis.pdf
new file mode 100644
index 0000000000..46b13de7b0
--- /dev/null
+++ b/macros/latex/contrib/ucbthesis/ucbthesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/ucbthesis/ucbthesis.tex b/macros/latex/contrib/ucbthesis/ucbthesis.tex
new file mode 100644
index 0000000000..3860fdb946
--- /dev/null
+++ b/macros/latex/contrib/ucbthesis/ucbthesis.tex
@@ -0,0 +1,406 @@
+\documentclass[11pt]{article}
+\usepackage[sf]{titlesec}
+\usepackage[colorlinks=true]{hyperref}
+\usepackage{breakurl}
+\usepackage{listings}
+\usepackage{booktabs}
+\usepackage{tabularx}
+
+\title{The UCB Thesis Class}
+\author{Paul Vojta\\Mathematics Department\\
+ \texttt{\href{mailto:vojta@math.berkeley.edu}{vojta@math.berkeley.edu}}}
+\date{Version 3.6\\July 19, 2019}
+
+\lstset{% settings taken from msu-thesis documentation
+ basicstyle=\ttfamily\small,
+ commentstyle=\itshape\ttfamily\small,
+ showspaces=false,
+ showstringspaces=false,
+ breaklines=true,
+ breakautoindent=true,
+ frame=single,
+ captionpos=t,
+ language=TeX
+}
+
+\newcommand*{\pkg}[1]{\texttt{#1}}
+
+\begin{document}
+\maketitle
+\thispagestyle{empty}
+\renewcommand{\abstractname}{\sffamily Abstract}
+
+\abstract{\noindent\begin{quote} This is a class file for theses and
+dissertations at the University of California, Berkeley. It is based on
+the \pkg{memoir} class, and therefore supports all of the functionality
+of that class. It should generate a document that meets all of the basic
+formatting requirements given in the \emph{Dissertation Filing Guide}
+or the \emph{Thesis Filing Guide} (as appropriate) produced by the
+UC Berkeley Graduate Division and available on the web at
+\url{https://grad.berkeley.edu/academic-progress/}.
+This version of the class is based on the dissertation and thesis guides,
+accessed in July 2019.\end{quote}}
+
+\section{Introduction}
+
+The \pkg{ucbthesis} class is a modified
+version of the standard \LaTeX\ \pkg{memoir} class that is accepted for use
+with University of California, Berkeley, Ph.D.~dissertations and Master's
+theses. The available commands are almost identical to those of the
+\pkg{memoir} class, so the recommended starting point for documentation
+is general documentation for \LaTeX.
+
+This document class requires a reasonably recent version of the \pkg{memoir}
+class. It is known to work with \pkg{memoir} version ``2010/09/19 v3.6g,'' but
+not with \pkg{memoir} version ``2005/09/25 v1.618.''
+% v1.618 gives \undefinedpagestyle
+
+\emph{Note:} The documentation for the \pkg{memoir} class is long (currently
+583 pages), and the vast majority of it is completely irrelevant to the process
+of writing a thesis using \pkg{ucbthesis}. \textbf{Do not print out the
+documentation for the \pkg{memoir} class!} Doing so would be a huge waste
+of paper and money. Look to general \LaTeX\ documentation instead.
+
+\smallbreak
+The key features of the class are:
+\begin{enumerate}
+\item The primary modification to the \pkg{memoir} class is the setting of the
+ margins and (for Master's theses prior to 2011) use of pseudo-double-spacing,
+ since Berkeley's rules for Master's theses were still designed
+ for typewriters. The latter is achieved by increasing the
+ \verb|\baselinestretch| parameter to 1.37. The \verb|\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).
+\item Margins are 1 inch on all sides.
+\item Uses 12 point by default; you can use the 10pt or 11pt options for
+ those sizes (but note that only 12pt should be used for the final
+ submitted copy).
+\item Page numbers are in the top right corner for all pages.
+\item Complete, correct front matter for Berkeley dissertations can be
+ generated. If you are not a Berkeley student, you should make sure
+ that the front matter is OK with your school.
+\end{enumerate}
+
+The \pkg{ucbthesis} class is derived from the \pkg{ucthesis} class---the
+name has been changed to reflect the fact that it is (probably) only
+valid for Berkeley theses.
+The \pkg{ucbthesis} class should be used for new theses (at Berkeley);
+\pkg{ucthesis} may still be used for older theses submitted prior to the
+change to electronic submission in Fall 2009, and will still be maintained
+for this purpose.
+
+A (partial) list of thesis classes at other University of California
+campuses is available on the web at
+\url{https://math.berkeley.edu/~vojta/ucthesis.html}.
+
+\section{Using the \pkg{ucbthesis} Class}
+
+\subsection{Sample Dissertation}
+
+There is a sample dissertation in the \texttt{example} subdirectory
+of the documentation directory. All of the files in that subdirectory
+form part of the sample dissertation. To produce a \texttt{pdf} or
+\texttt{dvi} file of the thesis, copy the files to some other directory
+and type the commands
+\begin{lstlisting}
+pdflatex thesis
+biber thesis
+pdflatex thesis
+\end{lstlisting}
+(Use \texttt{latex} instead of \texttt{pdflatex} if you want a \texttt{dvi}
+file instead of a \texttt{pdf} file as output. You may need to replace
+\texttt{biber} with \texttt{bibtex}, depending on your \TeX\ setup---look
+at the output from the first run of \pkg{pdflatex} or \pkg{latex}.)
+
+The file \texttt{references.bib} is its bibliography database (though
+the contents of the database are not important). Mostly this example
+document 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 quite lengthy document,
+you should look into more comprehensive information on \LaTeX.
+A list of \TeX\ and \LaTeX\ documentation is maintained at the web page
+\url{http://www.tug.org/interest.html#doc}.
+
+\subsection{Selecting the \pkg{ucbthesis} Class}
+
+To use the \pkg{ucbthesis} class, make sure that the \texttt{ucbthesis.cls}
+file is on your TEXINPUTS search path and use the following command at
+the start of your input file:
+
+\begin{lstlisting}
+\documentclass{ucbthesis}
+\end{lstlisting}
+
+\subsection{Class Options}
+
+The options for the \pkg{ucbthesis} class are given in Table~\ref{opts}.
+They should be selected on the \verb|\documentclass| line, e.g.:
+\begin{lstlisting}
+\documentclass[10pt,draft]{ucbthesis}
+\end{lstlisting}
+
+\begin{table}[htbp]
+\centering
+\begin{tabularx}{.8\textwidth}{>{\ttfamily}lX}
+\toprule
+\multicolumn{1}{c}{Option} & \multicolumn{1}{l}{Description}\\
+\midrule
+{phd} & Selects formatting for doctoral dissertation (default) \\
+{masters} & Selects formatting for Master's thesis submitted in 2012 or later:
+ changes the word ``dissertation'' on the title page to ``thesis.'' \\
+{oldmasters} & Selects formatting for Master's thesis submitted in 2011 or
+ earlier: selects double spacing and changes the word ``dissertation''
+ on the title page to ``thesis.'' \\
+{final} & Uses pseudo-double-spacing for Master's theses submitted in 2011 or
+ earlier (default) \\
+{draft} & Uses single-spacing throughout the document \\
+{12pt} & Sets the default font size to 12 points (default) \\
+{11pt} & Sets the default font size to 11 points. \emph{Note:} This option
+ should be used only for draft copies (e.g., to save paper). The final
+ submitted copy must use 12-point fonts or larger \\
+{10pt} & Sets the default font size to 10 points. \emph{Note:} This option
+ should be used only for draft copies (e.g., to save paper). The final
+ submitted copy must use 12-point fonts or larger \\
+\bottomrule
+\end{tabularx}
+\caption{Document class options}\label{opts}
+\end{table}
+
+All options supported by the \pkg{memoir} class are also supported
+(although some of them would not be very useful for a thesis).
+
+\subsection{Page Headers}
+
+If you want to use page headers or footers other than the default ones,
+you should try using \texttt{headerfooter.sty} or \texttt{fancyheadings.sty}.
+The \texttt{myheadings} pagestyle doesn't work well and there is no workaround.
+The \pkg{headerfooter} and \pkg{fancyheadings} styles are widely distributed,
+well documented, and easy to use.
+
+\subsection{Overall Document Structure}
+
+The overall structure of a \verb|.tex| file for a thesis is the same as
+most other \LaTeX\ files: a \verb|\documentclass| line, followed by
+declarations (e.g., \verb|\usepackage| lines and macro definitions),
+and then one (or, rarely, more) instances of a \verb|document| environment.
+
+Your best guide for what goes inside the \verb|document| environment is
+to follow the practice in the sample file \verb|thesis.tex|. In a nutshell,
+though, this consists of declarations and environments for the front matter,
+followed by the main content of the thesis, and then the bibliography
+and any appendices. The structure of the part of the file
+corresponding to the front matter is described in the next section.
+
+\section{Front Matter}
+
+In addition to setting the page layout and line spacing, the other key
+service provided by the \pkg{ucbthesis} class is that it generates
+correct front matter (title page, approval page, abstract, etc.)\ with
+a fairly 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 documents ``Dissertation Filing Guide'' and ``Thesis Filing Guide''
+produced by the UC Berkeley Graduate Division and available on the web at
+\url{https://grad.berkeley.edu/academic-progress/}.
+The current version of the class is based on the dissertation and thesis
+guides, accessed in July 2019.
+
+A complete example of the use of the front matter commands can be
+found in the sample dissertation distributed with the class.
+Generally, the part of the \LaTeX\ file that generates the front matter
+consists of the following portions:
+\begin{itemize}
+\item Declarations of text strings
+\item Macros to generate the title, approval, and copyright pages
+\item \verb|abstract| environment
+\item \verb|frontmatter| environment
+\end{itemize}
+These portions are described in the following subsections.
+
+\subsection{Declarations of Text Strings}
+
+To use the front matter macros and environments, you must first
+declare the text strings listed in Table~\ref{decls}. This is done
+by invoking the relevant macro with the string as its argument;
+for example, \lstinline|\title{Snakes in Ireland}|.
+
+\begin{table}
+\centering
+\lstset{basicstyle=\ttfamily}
+\begin{tabularx}{.9\textwidth}{lX}
+\toprule
+\multicolumn{1}{c}{Macro} & \multicolumn{1}{l}{Description} \\
+\midrule
+\lstinline|\\title| & Dissertation title \\
+\lstinline|\\author| & Your name as registered with UC (usually with full
+ middle name) \\
+\lstinline|\\degreeyear| & Year your dissertation will be granted \\
+\lstinline|\\degreesemester| & Semester (or term) your degree will be granted \\
+\lstinline|\\degree| & The title of your degree (e.g.~Doctor of Philosophy) \\
+\lstinline|\\jointinstitution| & For joint degrees, the other institution \\
+\lstinline|\\chair| & Title and name of your committee chair
+ (e.g.~``Professor Michael A. Harrison'') \\
+\lstinline|\\cochair| & Title and name of your committee co-chair
+ (use with \lstinline|\\chair|, if you have a co-chair). \\
+\lstinline|\\cochairs| & Titles and names of your (co-equal) committee
+ co-chairs (replaces \lstinline|\\chair| and \lstinline|\\cochair|). \\
+\lstinline|\\othermembers| & The names of the other members of your committee
+ separated by linebreaks
+ (e.g.~\lstinline!Professor Susan L. Graham\\\\Professor Jim Pitman!) \\
+\lstinline|\\numberofmembers| & The number of members on your committee.
+ This defaults to 3 (and thus is optional) and can be any value from
+ 3 to 6. It affects the number of lines on the approval
+ page and the space between them. \\
+\lstinline|\\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. \\
+\lstinline|\\emphasis| & The ``designated emphasis'' of your degree (if any) \\
+\lstinline|\\campus| & The name of your UC campus. This should be capitalized
+ (e.g.~Berkeley). This is optional, and defaults to Berkeley. \\
+\bottomrule
+\end{tabularx}
+\caption{Declarations for Front Matter}\label{decls}
+\end{table}
+
+\subsection{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
+\begin{lstlisting}
+\maketitle
+\approvalpage
+\copyrightpage
+\end{lstlisting}
+
+You should probably invoke them in that order, because that's the
+order required by the guidelines. The approval page should not be part
+of the submitted thesis, but the \verb|\approvalpage| macro may be used to
+generate the required approval page to be printed and submitted with the
+thesis.
+
+\subsection{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 advisor's signature no longer is required (or allowed) for the
+abstract.
+
+\subsection{Other Front Matter}
+
+The remaining front matter (dedication, table of contents, lists of
+figures and tables, acknowledgements) \emph{must} be put inside the
+\verb|frontmatter| environment, which ensures that page numbering is
+handled properly. Within this \verb|frontmatter| environment, you put the
+environments and commands for the rest of the front matter. There are
+environments for \texttt{dedication} and \texttt{acknowledgements},
+and the standard \LaTeX\ commands for producing \verb|\tableofcontents|,
+\verb|\listoffigures|, and \verb|\listoftables| should also go inside
+the \verb|frontmatter| environment.
+
+The standard \LaTeX\ commands are well documented in the \LaTeX\ manual.
+You may have to hand edit the \texttt{.lof} (list of figures) and
+\texttt{.lot} (list of tables) files to make verbose captions more suitable for
+this front matter. Once you do this, remember to use the \verb|\nofiles|
+macro to keep them from getting overwritten.
+
+The \pkg{ucbthesis} class provides \texttt{acknowledgements} and
+\texttt{dedication} environments, which produce corresponding sections in
+the front matter and make them start on a new page. The
+\texttt{acknowledgements}
+environment also puts 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.
+
+\section{Obsolete Environments and Commands}
+
+Previous (unreleased) versions of the \pkg{ucbthesis} (and \pkg{ucthesis})
+classes defined environments for producing small tables with single spacing.
+These environments are no longer necessary, since standard \LaTeX\ now
+handles the situation properly. Replace the \verb!\begin{...}!
+commands as indicated in Table \ref{obsolenv}, and change the
+corresponding \verb!\end! commands accordingly.
+
+\begin{table}[htbp]
+\centering
+\begin{tabular}{l l}
+ \toprule
+ \multicolumn{1}{c}{Environment} & \multicolumn{1}{c}{Use Instead}\\
+ \midrule
+ \lstinline!smalltabular! & \lstinline!\small\begin{tabular}! \\
+ \lstinline!smalltabular*! & \lstinline!\small\begin{tabular*}! \\
+ \lstinline!scriptsizetabular! & \lstinline!\scriptsize\begin{tabular}! \\
+ \lstinline!scriptsizetabular*! & \lstinline!\scriptsize\begin{tabular*}! \\
+ \bottomrule
+\end{tabular}
+\caption{Obsolete environments}\label{obsolenv}
+\end{table}
+
+The \pkg{ucthesis} class also provided commands \verb!\smallssp! and\break
+\verb!\scriptsizessp!; these should now be changed to
+\verb!\small\SingleSpacing! and \verb!\scriptsize\SingleSpacing!,
+respectively.
+
+\section{Installing the \pkg{ucbthesis} Class}
+
+To install the \pkg{ucbthesis} class, you need to install the file
+\texttt{ucbthesis.cls} in your \LaTeX\ class file repository. This
+generally should go in a directory \lstinline!TEXMF/tex/latex/ucbthesis!
+(where \lstinline!TEXMF! is the base of the \texttt{texmf} tree).
+Or, it can also be placed in the directory that you use when running
+\LaTeX\ on your thesis.
+
+You should also install the documentation files
+\begin{verbatim}
+ README
+ ucbthesis.tex
+ ucbthesis.pdf
+ thesis.tex
+ abstract.tex
+ chap1.tex
+ chap2.tex
+ references.bib
+\end{verbatim}
+in a similar directory under the documentation directory, generally
+\lstinline!TEXMF/doc/latex/ucbthesis! for the first three files, and
+\lstinline!TEXMF/doc/latex/ucbthesis/example! for the last five.
+
+These files should already be placed in subdirectories reflecting the above
+guidelines, so that one might extract the \texttt{tar} file in the main
+\lstinline!TEXMF! directory to get the right results.
+
+\section{Modification History}
+
+Version 3.3 was the initial release of \pkg{ucbthesis} (it was forked from
+\pkg{ucthesis}, hence the unusual version number). The package \pkg{ucthesis}
+was created for non-electronic submissions, and should no longer be used,
+except for printing out older theses. Version 3.3 was distributed only within
+Berkeley.
+
+Version 3.4 switched to using the \pkg{memoir} class, eliminated the
+\texttt{smalltabular}, \texttt{smalltabular*}, \texttt{scriptsizetabular},
+and\break
+\texttt{scriptsizetabular*} environments, and the \lstinline!\smallssp!
+and\break
+\lstinline!\scriptsizessp! commands. It also added support for co-chairs
+on the dissertation/thesis committee, joint degrees, and degrees with a
+Designated Emphasis. In addition, it was modified for release on \textsc{ctan}.
+
+Version 3.5 added support for printing the Designated Emphasis on the abstract
+page (a Graduate Division requirement).
+
+Version 3.6 changed the font in the title from bold to regular and adjusted the
+spacing in the abstract page. It added \lstinline!\cochairs! to the
+documentation. In the example, it added a sideways table, added sample uses
+of \lstinline!\cochair! and \lstinline!\cochairs!, and moved the (commented-out)
+appendix to after the bibliography (as per requirements).
+
+\end{document}