LaTeX class for PhD theses
MIT License
A PhD thesis template with a simple one-column design. See an example.
Features:
ℹ️ The class complies with the May 2023 Newcastle University thesis requirements as set out below. Another option for Newcastle University theses is the NUTT template (based on the popular CUED template). This has extra formatting options but, in my view, doesn't look as good.[^1] [^1]: Largely due to the use of Times New Roman
simple-thesis.zip
template from Releases.thesis.tex
.chapterX
(do the same for any appendices). Figures and images should go in figures
or images
sub-directories.thesis.tex
using \input{}
commands.make
.If you have issues building the PDF locally, try first running make purge
or see below.
Recommended!
git init
in your thesis directory to set up Git.thesis-[TIMESTAMP]
under Artifacts to download the PDF.
Option | Description |
---|---|
oneside |
Double-sided is the default. Use the oneside option for a single-sided thesis. |
draft |
Use the draft option to add a word count, line numbers etc and enable to-do notes. Remove the draft option to create the final thesis for printing. |
pdf |
You may wish to also disseminate your thesis as a PDF. Use the pdf option to format the thesis for reading on screen. Hyperlinks are shown in blue, pages with landscape tables/figures are rotated and blank pages inserted in two-sided theses are marked This page is intentionally blank. Margins are equalised to remove the binding edge. |
The class includes a number of packages I find useful to typeset documents. See chapter one in the example thesis for more information.
To-do notes can be added using:
\todonote{}
to create a to-do\reference{}
to note a missing reference\issue{}
to highlight a problem\misc{}
for a miscellaneous noteWhen the draft
package option is used, to-do notes are summarised on the first page, see example thesis. All to-do notes are disabled when producing the final thesis.
The Makefile
has been tested on Ubuntu[^2] and MacOS[^3]. It uses latexmk
to automate the build with the pdflatex
engine and biber
for references. If you are unable to use make
or latexmk
, or prefer to use a recipe in Visual Studio Code or TeXStudio, follow the instructions below.
[^2]: Ubuntu 18.04, 20.04 and 22.04 with TexLive installed using sudo apt install texlive-full
[^3]: MacOS 12 Monterey, 13 Ventura and 14 Sonoma with MacTeX installed using brew install --cask mactex-no-gui
Run the following to generate the word count files:
texcount abstract/* *.tex -sum=1,0,1 -inc -out=wordcount.txt
texcount abstract/* -sum=1,0,1 -1 -out=wordcount.abstract
texcount introduction/* chapter*/* conclusion/* -sum=1,0,1 -brief -out=wordcount.summary
texcount introduction/* chapter*/* conclusion/* -sum=1,0,1 -1 -out=wordcount.total
To generate the bibliography, acronyms and index sections run:
pdflatex thesis.tex
biber thesis
makeglossaries thesis
makeindex thesis
To build the final thesis, you will need to run pdflatex thesis.tex
at least another two times to add all the sections and update the table of contents.
To build a standalone chapter (for example to share with your supervisors) place a stub file chapterX-standalone.tex
in the chapter directory. See chapter1/chapter1-standalone.tex
for an example. Run make standalone
to build a PDF for each stub file.
All formatting can be updated in simple-thesis.cls
.
\thesischapter
and \thesissection
commands must be used to convert titles to Title Caseoneside
package option.sidewaysfigure
or sidewaystable
environments) does not show correctly on Mac OS e.g. see the PDF example in Safari and Preview[^6]. The same PDF renders correctly on Ubuntu and Windows.It is not possible to directly clone a public GitHub repository to a private one. To use a private repository for your thesis whilst retaining the ability to pull future changes made to the template:
git clone --bare [email protected]:philipdarke/simple-thesis.git
to create a bare clone of the repository using SSH[^6].git push --mirror [email protected]:user/new-repository.git
.git remote add public [email protected]:philipdarke/simple-thesis.git
.To pull any changes made to the template run git fetch public main
and git rebase public/main
. You will need to handle conflicts. To push changes to your private repository run git push [origin remote]
as normal.
⚠️ I wouldn't recommend this approach unless you are confident it's right for you.
Made available under the MIT License.