A PhD thesis template with a simple one-column design. See an example.
Features:
- Draft mode with to-do notes, word count and other features to help with writing, see example.
- Support for single- or double-sided theses.
- PDF mode to format for on-screen reading, see example.
- The thesis builds automatically when you push to GitHub.
ℹ️ 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
- Download the
simple-thesis.zip
template from Releases. - Update the package options and PhD details section of
thesis.tex
. - Start writing! Keep each chapter in a directory named
chapterX
(do the same for any appendices). Figures and images should go infigures
orimages
sub-directories. - Add each chapter and appendix to
thesis.tex
using\input{}
commands. - Build the PDF by running
make
.
If you have issues building the PDF locally, try first running make purge
or see below.
Recommended!
- Run
git init
in your thesis directory to set up Git. - Commit your changes.
- Create an empty private repository on GitHub for your thesis.
- Follow the instructions to set up a remote and push your work to GitHub.
- Make and push regular commits to back up your work. The PDF will build each time you push to GitHub. Go to Actions, choose the most recent commit and click
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 note
When 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 Ubuntu2 and MacOS3. 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.
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
.
- Body text is 12pt.
- Captions and footnotes are smaller to distinguish them from body text4.
- 2cm margins with 3cm along the binding edge.
- Text is fully justified in a single column.
- One-and-a-half spacing between lines except for footnotes and quotes which are single spaced.
- Preliminary pages are numbered in lower case Roman numerals.
- Pages from Chapter 1 onwards are numbered in Arabic.
- Chapters begin on a new page.
- Chapter headings are 14pt bold in Title Case5 and center-aligned.
- Section headings are 12pt bold in Title Case5 and left-aligned.
- Sub-section headings are 12pt italic bold and left-aligned.
- Figures and tables are numbered within chapters.
- Current chapter and section are included in the header.
- Page numbers are centered in the footer.
- To-do notes only display correctly in double-sided mode i.e. without setting the
oneside
package option. - PDF rotation (for example landscape pages when using the
sidewaysfigure
orsidewaystable
environments) does not show correctly on Mac OS e.g. see the PDF example in Safari and Preview6. 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:
- Run
git clone --bare git@github.com:philipdarke/simple-thesis.git
to create a bare clone of the repository using SSH6. - Create an empty private repository on GitHub for your thesis.
- Mirror push the cloned repository to your private repository using
git push --mirror git@github.com:user/new-repository.git
. - Delete the cloned repository and clone your private repository. Use this to write your thesis.
- Add a remote to the public repository using
git remote add public git@github.com: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.
Made available under the MIT License.
Footnotes
-
Largely due to the use of Times New Roman ↩
-
Ubuntu 18.04, 20.04 and 22.04 with TexLive installed using
sudo apt install texlive-full
↩ -
MacOS 12 Monterey, 13 Ventura and 14 Sonoma with MacTeX installed using
brew install --cask mactex-no-gui
↩ -
This is a departure from Newcastle University requirements which state "All text should be 12-point except for headings" ↩
-
\thesischapter
and\thesissection
commands must be used to convert titles to Title Case ↩ ↩2 -
However the PDF renders correctly in the VS Code PDF viewer on Mac OS. ↩ ↩2