A LaTeX document class that conforms to the Computer Laboratory's PhD thesis formatting guidelines.
TeX Python Makefile
Switch branches/tags
Nothing to show
Latest commit d5dd150 Oct 1, 2017 @PetarV- PetarV- committed with urbas Added a secondyr class option (for second-year reports). (#54)
Added an secondyr class option (for convenience).

Updated README and added new test.




a LaTeX thesis template for Cambridge PhD students

Quick start

  1. Clone this repository.

  2. Start adding contents of your thesis into thesis.tex.

  3. Build the PDF by running the following in the command line:

  4. Open thesis.pdf.

Pro tip: if you can also one of the samples in the Samples directory.

How will the thesis look like?

Your thesis document will look something like this:

Plain (PDF)

If you use the clean sample, which can be found in ./Samples/clean, it will look like this:

Sample Clean (PDF)

The template also supports DVI and PS formats. All three formats can be generated with the provided Makefile.

Producing PDF, DVI and PS documents

Build your thesis

To build the PDF version of your thesis, run:


This build procedure uses pdflatex and will produce thesis.pdf.

To produce DVI and PS versions of your document, you should run:

make thesis.ps

This will use the latex and dvips commands to build the document and will produce thesis.dvi and thesis.ps documents.

Clean unwanted files

To clean unwanted clutter (all LaTeX auto-generated files), run:

make clean

Usage details

Class options

cam-thesis supports all the options of the standard report class (on which it is based).

It also supports some custom options.

  • techreport: formats the document as a technical report (here's a sample). Here is a list of formatting points in which the technical report differs from a normal thesis (see guidelines for more information):

    • different margins (left and right margins are 25mm, top and bottom margins are 20mm),
    • normal line spacing (instead of one-half spacing),
    • no custom title page,
    • no declaration,
    • page count starts with 3,
    • if the hyperref package is used, the option pdfpagelabels=false will be passed to it.
  • firstyr: formats the document as a first-year report (here's a sample). This option removes some unneeded elements and modifies the submission note. Here is a list of formatting points in which the first year report differs from a normal thesis:

    • an appropraite subtitle is added,
    • the submission note is changed appropriately,
    • no standalone abstract,
    • no declaration,
    • no acknowledgements.
  • secondyr: formats the document as a second-year report (here's a sample). Similarly to firstyr, this style modifies the submission note and removes unneeded elements. Specially, an abstract is retained (as for this report, research is often in a more "stable" state). Here is a list of formatting points in which the second year report differs from a normal thesis:

    • an appropraite subtitle is added,
    • the submission note is changed appropriately,
    • no declaration,
    • no acknowledgements.
  • times: tells the class to use the times font.

  • glossary: puts the glossary after the TOC. The glossary contains a list of abbreviations, their explanations etc. Describe your abbreviations and add them to the glossary immediately after you introduce them in the body of your thesis. You can use the following command for this:

      description={is a programmable machine that receives input,
                   stores and manipulates data, and provides
                   output in a useful format}

    After that, you can reference particular glossary entries like this:


    You can also change the glossary style. For example, try putting this on the very top of the preamble (even before you define the document class with \documentclass[glossary]{cam-thesis}):


    Further instructions can be found on LaTeX Wikibooks or the user manual at CTAN.

    Note: glossaries is the package used to create the glossary.

  • withindex: build the index, which you can put at the and of the thesis with the following command (it will create a new unnumbered chapter):


    Instructions on how to use the index can be found here.

    Note: the package makeidx is used to create the index.

  • backrefs: Add back references in the Bibliography section (here's a sample). In other words, for each reference, it adds the page(s) where it is cited.

    Note: the package backref is used to create the back references.


Q1: I found a bug in the template. Where do I report bugs?

You can report issues through our GitHub repository.

You can also mail the maintainers directly.

Q2: Where can I find the thesis formatting guidelines this class is based on?

The University of Cambridge guidelines:


The Computer Laboratory guidelines:


The Computer Laboratory guidelines for technical reports:


Q3: Can I use my own Makefile?

By all means. Previously we used the horrendously complex Makefile at


Q4: But what if I don't want the template files in my thesis directory?

Put the files and folders listed below into a directory where LaTeX can find them (for more info see [1]):


[1] You can put these files either into the standard LaTeX directory for classes [2], or a directory listed in your TEXINPUTS environment variable.

[2] The location of the standard LaTeX class directory depends on which LaTeX installation and operating system you use. For example, for TeX Live on Fedora 14 it is /usr/share/texmf/tex/latex/base.

In any case, after this, LaTeX will still not be able find your class. You will have to rebuild the package index. This procedure also depends on your installation specifics, but for TeX Live you have to run the texhash command.

For more comprehensive information refer to LaTeX Wikibooks.

Q5: Where can I find newer versions of the University of Cambridge logo?

The university updates its logo every now and then. You can find up-to-date logos on this page (subject to change without notice).

Download and exchange the new logos with CUni.eps and/or CUni.pdf.

Q6: My college's shield/coat of arms/crest is not a vector-based image. Why u no include it?

If you find a distributable vector-based image of your college's shield you can report it as an issue or mail it to contributors directly (refer to question Q1 above).

Q7: Where can I find extra fonts (like Adobe Sabon, Adobe Utopia etc.)?

The Computer Laboratory provides some here.

After you've installed the fonts, add somewhere in the preamble (before \begin{document}) the following command:


Q8: How should I count the number of words in my thesis?

There is a page on the Computer Lab's web site. They recommend using this command:

ps2ascii thesis.pdf | wc -w