Most universities set their own thesis rules and many supply a class file. This template is for when they do not, or when you want a clean project to begin with and move to the university's class later. It uses the standard LaTeX book class and widely available packages, so it compiles on any current TeX install. It does not claim to match any one university's rules. Check your graduate school's formatting guide before you submit.
Download the template (.zip) A multi-file project with a README. Compiles as is, to 15 pages.
What is included
main.tex: the settings in one place (page size, margins, spacing, fonts, packages, your name and degree) and the order of every file.frontmatter/: a title page, abstract and acknowledgements. The table of contents, list of figures and list of tables are generated inmain.tex. Front matter is numbered in roman numerals and the chapters start at 1.chapters/: introduction, literature review, method, results and conclusion. Each is a short placeholder that shows a cross reference to a chapter, a section, a figure, a table and an equation, plus citations.appendices/: two appendices, lettered A and B, with an appendix table.figures/placeholder.pdf: a placeholder figure drawn for this template. Replace it with your own PDF or PNG.references.bib: sample entries, cited with natbib and BibTeX in author-year style.README.txt: how to set margins and spacing and where to plug in your university's class.
Packages: geometry, setspace, hyperref, graphicx, booktabs, amsmath, caption, microtype, lmodern and natbib. There is no custom class, no .latexmkrc and no custom search path. Every file is in the project folder or a plain subfolder, loaded by a relative \input path.
Chapters use \input rather than \include. \include writes a separate .aux file per chapter into the chapter's subfolder, and that can fail in editors that build into a separate output folder. The cost is that \includeonly is not available. To leave a chapter out while you work, put a % in front of its line.
The bibliography uses BibTeX, not Biber. That keeps the build to packages that ship in every TeX install. If your university requires biblatex, replace the natbib line and the two bibliography lines with biblatex and \printbibliography, and set the build to Biber.
Set margins, spacing and font size
The first section of main.tex holds the page layout. The template ships with one-inch margins, one-and-a-half line spacing, 12pt type and US letter paper.
\documentclass[12pt,oneside,letterpaper]{book} % a4paper for A4
\usepackage[margin=1in]{geometry}
\usepackage{setspace}
\onehalfspacing % or \doublespacing
For a wider binding margin, use \usepackage[left=1.5in,right=1in,top=1in,bottom=1in]{geometry}. For double spacing, replace \onehalfspacing with \doublespacing. Footnotes, captions and block quotes stay single-spaced by default. The bibliography follows the body spacing. To tighten it, wrap the bibliography lines in \begin{singlespace} and \end{singlespace}. Two-sided printing is a one-word change: replace oneside with twoside.
Plug in your university's own class or rules
- Copy the class file, for example
myuniv.cls, next tomain.tex. - Change the first line to
\documentclass{myuniv}, with the options the university lists. - Delete the packages the class already loads. geometry and setspace are the usual duplicates. If LaTeX reports an option clash, remove that package from
main.tex. - If the class builds its own title page with
\maketitle, remove the\input{frontmatter/titlepage}line and set the title, author and degree the way the class documents. - Keep the chapters, appendices and
references.bib. They use only\chapter,\section,\label,\ref,\citeand standard environments.
If the university gives only a PDF of rules, change the settings in main.tex and the title page file until the output matches. A class that is built on book or report is the easy case. A class with a different chapter model may need the chapter files adjusted.
How to use it
In ModernTex
Unzip the folder and open it in ModernTex. Chapters appear in the sidebar, and you build main.tex. This project uses BibTeX, so if the compile profile is set to biblatex with Biber, switch it to BibTeX. A university class file goes in the project folder, next to main.tex.
In TeXShop, TeXstudio or VS Code
TeXShop: open main.tex, choose the pdfLaTeX engine, and press Typeset. TeXShop runs BibTeX when you choose BibTeX from the Typeset menu, then Typeset again twice. Or set the engine to latexmk if you have it. TeXstudio: open main.tex and press Build and View. In Options, Configure TeXstudio, Build, check that the default bibliography tool is BibTeX, not Biber. VS Code with LaTeX Workshop: open the folder and build with the default latexmk recipe, which runs BibTeX for you. With a terminal, latexmk -pdf main.tex does the same in any of them.
In Overleaf
Choose New Project, then Upload Project, and select the .zip. Set the main document to main.tex. Overleaf compiles with pdfLaTeX by default and runs BibTeX on its own.
Packages a fresh TinyTeX needs
MacTeX and a full TeX Live already include everything. The thesis build reads files from 39 packages, most of them dependencies of hyperref and natbib. A small install such as BasicTeX or TinyTeX does not, and LaTeX stops at the first missing file. Install them in one command (leave out sudo on TinyTeX):
sudo tlmgr install latexmk natbib geometry setspace hyperref booktabs amsmath caption microtype lm ec cm amsfonts graphics etoolbox
I compiled the zip from a clean folder with latexmk -pdf -norc -synctex=1 using TinyTeX from TeX Live 2026 and listed every package that build read. That list is the command above. The build has no errors and no warnings, and every citation and cross reference resolves after the full run. I did not start from an empty TinyTeX, so if LaTeX still names a file, tlmgr search --global --file name.sty shows which package has it. How to install LaTeX on a Mac has the steps.
Check before you submit
- Check your thesis formatting before submission: margins, page numbers, front matter order, fonts in the PDF and the other things a graduate school bounces.
- Compile LaTeX to PDF online (free): upload the .zip and get a PDF from a clean machine.
- BibTeX validator (free): missing fields, duplicate keys and dead DOIs in your .bib file.
- Track thesis word count and readability.
Writing it on a Mac
Disclosure: I make ModernTex, a native LaTeX editor for the Mac, and this template is one of the free things on this site. You do not need ModernTex to use it. The project compiles the same way in any editor that runs pdfLaTeX and BibTeX. ModernTex compiles with the TeX install you already have, such as MacTeX, keeps the PDF preview in sync with the source, and has a 7-day free trial, then costs $19.99 once. If you would rather not pay, TeXShop, TeXstudio and VS Code with LaTeX Workshop are free, and the editors guide compares them with ModernTex.
License
CC0 1.0. The template and its sample text are public domain, so you can use, change and share them for any purpose without credit. The placeholder figure was made for this template. The three books in references.bib are real, and every other name and number in the sample is invented.