Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


PhD Meta-Thesis, University of Wolverhampton.

Build Status PDF Status

This repository contains a meta-thesis, that is, a LaTeX template for typesetting PhD thesis at the University of Wolverhampton. It is largely based on a similar piece of work by Donald Craig at Memorial University, Newfoundland. You can find Donald's original work on his web site, here:

The latest version of this template can be found here:

Contents of this meta-thesis


  • README.markdown this file.
  • example.pdf example thesis, read this before you start.

Files you should edit

  • Makefile used to build the thesis. Edit this to include all of your LaTeX, BibTeX files and figures.
  • abstract.tex write your thesis abstract here.
  • ack.tex write your acknowledgements here.
  • bib.tex includes all of your BibTeX files. Edit this to list each file you want to use.
  • thesis.tex generates the thesis document. Edit this to change the title, author and year of the thesis and to include each of your chapters and appendices.
  • chapters/ directory containing LaTeX files for each of your chapters or appendices. Edit these as you wish. The file chapters/introduction.tex describes how the various facilities provided in this template can be used.
  • figures/ directory containing all figures used in the thesis. Edit these as you wish.
  • refs/ directory containing all BibTeX files containing references cited in the thesis. Edit these as you wish.
  • src/ directory containing all software quoted in the thesis. Edit these as you wish.

Files you should not edit

  • contents.tex automatically generates a table of contents. Do not edit this.
  • figures.tex automatically generates a table of figures included in the thesis. Do not edit this.
  • listings.tex automatically generates a table of software listings included in the thesis. Do not edit this.
  • tables.tex automatically generates a table of tables included in the thesis. Do not edit this.
  • tango.tex controls the syntax highlighting of software listings. Edit this if you want to change the way that listings are displayed.
  • thesis.sty controls the way that the thesis is typeset. Do not edit this.

All other files are automatically generated.

Requirements and installation

As a minimum, you will need a working LaTeX installation, pdfTeX (which should come with any working LaTeX installation), a version of make (such as GNU make), the LaTeX listings package, which is used for typesetting software listings, the hyperref package for creating links in PDF focuments, and BibTeX, for processing references and citations. To use the automatic word count facility you will also need detex and the shell command wc.

If you have an aversion to using non-WYSIWYG typesetting systems you may want to look at LyX: which is a cross-platform, graphical front-end to LaTeX.


On Ubuntu you can get all of these by typing the following at the command line:

$ sudo apt-get install build-essential
$ sudo apt-get install tetex*
$ sudo apt-get install chktex

In fact, this will also install all sorts of LaTeX packages that might be useful to you later on, which is nice.


The most common way to get a LaTeX distribution for Windows is to use the MikTeX packages: A guide to installing MikTeX can be found here:


On Linux (or any other UNIX), you can build you PhD thesis by typing this at the command line:

$ make

This will build the thesis and attempt to open acroread to view it. If you don't use acroread to view PDF documents then edit the Makefile and change the line: VIEWER=$(PREFIX)/acroread to whatever PDF viewer you prefer.

If something goes wrong with the build and LaTeX prints an error message and does not return directly to the shell, type x to interrupt the LaTeX process and drop back into BASH (or whatever shell you are using). Edit your document then do a make clean (see below) and start again. You can combine these last two stages in most shells like this:

$ make clean && make

which will only execute the make command if make clean exits successfully.


To check that your LaTeX is valid and conforms to common coding conventions, you can run make lint to run the chktex checker over your LaTeX files:

$ make lint

Cleaning up (removing generated files)

To "clean" your thesis directory by removing auto-generated files, use the following:

$ make clean

If you are using a revision control system, such as RCS, CVS, SVN, Hg, Git, Bazaar or similar, then you will want to run commands like:

$ git status

To tell you which files have been added, modified or deleted, which changes remain uncommitted and so on. It is a good idea to run make clean before doing this, so that you don't accidentally commit automatically generated files to your repository.

Accurate word counts

Before submitting your thesis you will need to generate an accurate word count of your document. This should exclude things like tables of contents and LaTeX directives. To generate such a word count automatically, use the following:

$ make wc

The output should look something like this:

$ make wc

  UoW metathesis, current word count: 24495


TAGS files

If you use Emacs, you will know that TAGS files contain information about variables and other names in your programs. TAGS files help you to quickly navigate around your code or documents -- you can read more about this on the Emacs wiki:

To create a TAGS file for use with the Emacs editor, use the following:

$ make tags

If you use VI or VIM and want to create a TAGS file with ctags, just edit the Makefile to use the ctags command.

Hints and tips

  • Want more LaTeX help? Try
  • For goodness sake archive your thesis with a version control system (CVS, SVN, Git, Mercurial, Bazaar, ...) or at the very least keep some sort of remote backup. Because you are using LaTeX, you will be able to diff different versions of your thesis (using UNIX diff or a graphical tool such as Meld:, roll-back erroneous changes, and so on. If nothing else use a service like or Ubuntu One to keep a backup somewhere.
  • If you are including code listings in your thesis, keep them in a separate directory on disk and include them with the listings package, as shown in the example chapter. This way, when you edit your programs (and execute and test them) you won't have to copy your changes back into your document. This will save you a tonne of time. If you already use LaTeX, you will think this is a stupid thing to include as a hint, but you would be amazed at how many word processor users are quite happy to waste their time in this way.
  • Use services like to find BibTeX versions of references and save generating them yourself.

© Sarah Mount, University of Wolverhampton, 2010.


Template for PhD theses at University of Wolverhampton



No releases published
You can’t perform that action at this time.