This is a set of skeleton files that will help you create a University of California dissertation using LaTeX. It's built on the venerable "ucthesis.cls" file, but adds key improvements to track changes in the thesis formatting guidelines as well as many other improvements.
It's named "ucastrothesis" since the files and lore originate in the UC Berkeley Astronomy Department, but the setup will be applicable to anyone that uses LaTeX with small changes.
The key files that you need to look at are:
setup.tex
, where you enter boilerplate info like your thesis title.thesis.tex
, where you put toplevel LaTeX definitions, include packages, and write your abstract, dedication, and acknowledgments.intro/intro.tex
, a template thesis chapter.Makefile
, which defines the rules for how the thesis is compiled.
The intended file structure is for each chapter to have its own subdirectory where all of the necessary files are kept, and then to keep miscellaneous text and other thesis-wide resources in the toplevel directory (which is the one containing this file).
The Makefile is set up so that you can just type make
to compile
your thesis as a beautiful, rules-compliant PDF. Typing make all
will
also generate the signature page upon which your committee will put
their precious, precious marks.
The Makefile contains an example of using the powerful
dependency-tracking features of make
to generate auxiliary files as
you compile your thesis. Add a file to the "deps" variable if it
needs to be created before compiling your thesis; add it to "cleans"
if it can safely be deleted to force regeneration of all your thesis
files (via make clean
).
Things will go the most smoothly if you take the time to learn a bit about how
latex
, make
, and git
work. All three are very powerful tools that
are worth understanding.
This module includes support for several optional features that may be helpful
in unusual circumstances. This options are provided as branches in the git
repository that may be activated by merging them into your tree.
The options are:
option-co-chairs
makes it so your thesis has two co-chairsoption-microtype
turns on some subtle typographic improvements that are nice, but some LaTeX installs have trouble handling.option-xetex
compiles your PDF with the XeTeX engine rather than standard LaTeX.
To enable an option, use git
to merge it into your codebase; for example:
git merge option-co-chairs
You should be able to do this with multiple options, although if they touch
on overlapping matters, you may have to merge their changes manually using
git
's conflict resolution framework.
To learn a bit more about an option, read its commit messages:
git log master..option-microtype
Finally, if an option almost does something you need, but not quite, you can investigate how to implement it yourself by looking at the changes made when activating the option. This is done with:
git diff master..option-co-chairs
If you implement a new optional feature, please submit it with a GitHub pull request!
If you run into problems with these templates or would like to contribute an improvement, please use the GitHub issue tracker and/or file a pull request. If you're having LaTeX issues, the TeX StackExchange is an excellent resource.
These templates are formatted for other universities, but may provide some inspiration if you want to get down and dirty:
- Jordan Suchow's Dissertate.cls, which has some nice fonts (at the expense of requiring the xelatex engine).
- Andrew Leifer's template derived from the above.
Copyright 2012, 2013, 2014 Peter Williams
This file is free documentation; the copyright holder gives unlimited permission to copy, distribute, and modify it.