Skip to content

Repository files navigation

novathesis LaTeX Template


⚠️ Upgrading from 7.10.x or earlier? Read this first.

Version 8.0 changes where glossary entries live. Acronyms, glossary terms and symbols moved from .tex files (\newacronym, \newglossaryentry, processed by makeglossaries) to .bib files processed by bib2gls.

  • Run make glsbib to convert your entry files, then re-add any sort keys — the converter drops them, which silently reorders symbols and any entry whose name is a command. The build still succeeds, so nothing warns you.
  • Delete \glsaddall if your document calls it.
  • bib2gls needs a Java runtime. Overleaf has one; check locally with bib2gls --version.

A registered .tex entry file now stops the build with an explanatory error, so you cannot miss the migration. Full procedure: the Migrating from 7.10.x appendix of the manual (template.pdf).

Why: glossaries no longer consume any of pdfTeX's 16 write registers, so most documents no longer need the morewrites package — a full pdfLaTeX build of the manual went from 109 s to 36 s.

novathesis insignia
novathesis

A LaTeX template for MSc dissertations and PhD theses
Compliant covers, spines and formatting for 20+ Portuguese institutions.

novathesis.org · Find your school · Get started · Showcase

This README covers the essentials for working directly in this repository. For everything else — picking a pre-configured starter for your institution, a guided setup walkthrough, sample covers, and full documentation — see the website.

GitHub forks GitHub stars GitHub watchers GitHub followers

Maintenance made-with-latex GitHub license

GitHub release GitHub Workflow Status (with branch) GitHub commits Last commit

DOI GitHub license


Table of Contents


1. Overview

novathesis is a complete LaTeX template for academic theses and dissertations. It provides:

  • Ready‑to‑use cover pages compliant with each institution's rules
  • A structured, extensible LaTeX codebase
  • Automated bibliography management via biblatex + biber
  • Professional typographic standards

The template is open‑source and actively maintained.


2. Key Features

✔ Beginner‑Friendly

  • Minimal setup
  • Clear configuration files
  • Works with any major LaTeX distribution

✔ Expert‑Ready

  • Uses the powerful memoir class
  • Supports extensive customization
  • Well‑organized and modular

✔ School‑Compliant

  • 25+ schools supported
  • Automatic generation of covers, spine, and formatting rules

✔ Modern Tooling

  • latexmk support
  • biber for bibliographies
  • bib2gls for glossaries, acronyms and symbols — ships with TeX Live, but needs a Java runtime (JRE) on your machine. Overleaf provides one; check a local install with bib2gls --version.
  • Overleaf‑ready

3. Who Is This For?

  • MSc and PhD students
  • Supervisors preparing guidelines or templates
  • Institutions wanting a high‑quality standard
  • Anyone writing a large LaTeX document that needs structure

4. Installation Options

4.1. Local LaTeX Installation

This is the preferred option, especially for large projects.

4.1.1. Install LaTeX

4.1.2. Download novathesis

Most institutions have a pre-configured starter repository — already set up with the right cover, spine, and formatting rules for that school — kept automatically in sync with this main repository.

➡️ Find your school on novathesis.org for the full, up-to-date list (ZIP download, git clone, and Overleaf import links for each one).

If your institution isn't listed, clone this main repository instead and configure your institution manually (see §4.1.5).

4.1.3. Compile

If you have make installed in your computer, simply run

make

otherwise run

latexmk -pdflua -shell-escape -file-line-error template

(the settings in the latexmkrc file at the project root are loaded automatically by latexmk).

⚠️ Security note — -shell-escape. The template compiles with shell‑escape enabled, because some features run external programs during the build: minted (source‑code highlighting) calls Pygments, and selecting a bundled proprietary font (e.g. Calibri, Arial) downloads it over the network. (Glossaries no longer require shell‑escape: since 8.0 they are built by bib2gls, which latexmk runs directly.) Shell‑escape means that compiling a document can run commands on your computer with your user account's privileges — there is no sandbox. In practice this is safe when you build the official template and your own content, but you should only compile .tex files, school configurations, and font styles that you trust. Treat a thesis project you received from someone else the same way you would treat any script before running it.

Important: The template uses biber by default, not bibtex. However, bibtex can be also be used.

4.1.4. Makefile Targets

The Makefile is a thin wrapper around latexmk and provides several targets to simplify your workflow:

  • Compilation Engines:
    • make or make lua: Build using lualatex (recommended default).
    • make pdf: Build using pdflatex.
    • make xe: Build using xelatex.
  • Viewing & Logs:
    • make v or make view: Build the PDF and open it in your default viewer.
    • make watch: Rebuild automatically every time a file is saved (LuaLaTeX).
    • make watch-pdf / make watch-xe: Same, with pdfLaTeX / XeLaTeX.
    • make log: Show the LaTeX log file.
  • Cleaning:
    • make clean: Remove build artifacts (keeps the PDF and AUXDIR/matrix/).
    • make distclean: Also remove the PDF and SyncTeX files.
  • Help:
    • make help: Display a help message with all targets and variables.
    • make help-dev: Maintainer-only targets (school, matrix, zip, version bumps, …) — not shipped in releases, only available from a git checkout.

The behavior can be adjusted with variables, e.g.:

make V=1                                  # verbose (raw LaTeX output)
make NT="doctype=msc,lang=pt"             # override any \ntsetup option
make view VIEWER="open -a Skim"           # choose the PDF viewer
make BATCH=1                              # never stop at errors (good for CI)
make TL=2024                              # build against a specific TeX Live release
make SIZE=10                              # cap the final PDF at ~10 MB

SIZE=x is for submission systems with a file-size limit: after the build, Ghostscript binary-searches the highest raster-image resolution that still fits under x megabytes. Text, fonts and vector graphics are untouched, so a document with few raster images may not reach a very small target — it says so and keeps the smallest it managed. The pre-shrink build is kept alongside as <file>.pdf.orig. Requires Ghostscript (gs) on PATH.

The NT variable accepts any comma-separated list of \ntsetup options and takes precedence over 0-Config/1_novathesis.tex, without editing any file. This is handy for testing another school, language, or document type. Other variables (FILE, FASTWRITES, PAGER, FLAGS) are documented in the header comment of the Makefile itself.

4.1.5. Configure & Recompile

Carefully edit the files inside the 0-Config/ directory to set your document metadata, e.g.:

  • Document type;
  • School;
  • Language(s) used;
  • Cover metadata;
  • Bibliography settings;
  • …

4.2. Cloud Services (Overleaf)

novathesis is available as an official Overleaf template. Despite the regular updates, the version in Overleaf, although fully operational, may be slightly outdated.

  1. Find your school on novathesis.org and click 📦 to open its starter repository directly in Overleaf (this uploads the ZIP archive and sets template.tex as the root document automatically);
  2. Compile;
  3. Follow the steps above (4.1.5. Configure & Recompile) to customize your document.

Warning: You will need a paid Overleaf account. The template will not compile under Overleaf Free Plan, which has a 20‑second compilation limit.


5. Project Structure

template.tex            # Document main file (do not change this file)
0-Config/               # Document configuration and customization
  ├── 0_memoir.tex      #   low level customization (for advanced users only)
  ├── 1_novathesis.tex  #   main document customization file
  ├── 2_biblatex.tex    #   bibliography customization
  ├── 3_cover.tex       #   cover contents/metadata
  ├── 4_files.tex       #   files to include in the document
  ├── 5_packages.tex    #   user customization (packages and commands)
  ├── 6_list_of.tex     #   ordering for the lists (for advanced users only)
  ├── 7-aidisclose.tex  #   AI usage disclosure statement
  └── 9_*.tex           #   School‑specific configs
1-FrontMatter/          # Abstract, Dedicatory, …
2-MainMatter/           # Document main content (main chapters)
3-BackMatter/           # Appendices and Annexes
4-Bibliography/         # Bibliography database (your .bib files)
5-Figures/              # All the figures used in the document

Each configuration file has a single, well‑defined purpose to keep the project modular.


6. Getting Help & Contributing

Full documentation, along with support and contributing guides, now live on novathesis.org:

  • 📖 Docs — configuration options, school-specific notes
  • 🆘 Support — where to ask usage questions vs. report bugs
  • 🤝 Contributing — adding a school, fixing a formatting rule, improving the docs, translating

Quick links that stay on GitHub:

Please don’t contact the author directly. Support is community‑based.


7. Supported Schools & Showcase

novathesis.org hosts the up-to-date, browsable versions of both:

  • 🏫 Find your school — the full list of 25+ supported institutions, each with a ready-to-use starter repository
  • 🖼️ Showcase — sample covers, spines, and chapters for every supported school

8. Disclaimer

This is not an official template from any school.
Compliance has been ensured to the best extent possible using public documentation.


9. Deprecated Word Templates

The Word templates (unmaintained) can be found at https://github.com/joaomlourenco/novathesis_word

The Word template for NOVA FCT DI-ADC is available at https://github.com/joaomlourenco/novathesis_word/blob/adc


10. Related Packages

Other LaTeX packages by the same author, usable on their own outside novathesis:

Package Description
aidisclose Generative AI disclosure checklist and statements (bundled in novathesis; see 3-BackMatter/app-aidisclose.tex)
biblatex-cse biblatex support for the Council of Science Editors (CSE) citation style
biblatex-np405 biblatex citation and bibliography style implementing the Portuguese Standard NP 405
coloredtheorem A colourful boxed theorem environment
stocksize Changes the paper (stock) size independently of the text area (bundled in novathesis as stocksize.sty)

11. Please give this repository a ⭐️

Star History Chart

12. Contributors (thank you!)

Made with contrib.rocks.


13. Say thank you! (and how to cite)

  1. Star this repository by clicking the (⭐️) at the top right of the project's page.
  2. Make a small donation (pay me a beer!)
  3. Cite novathesis — see below.


GitHub license

How to cite

novathesis is archived on Zenodo with a DOI: 10.5281/zenodo.21938603. This is the concept DOI, so it is version-independent and always resolves to the latest release.

If you write your thesis with the template, you need do nothing: the reference is added to your bibliography automatically. Turn it off with \ntsetup{cite/template=false} if you prefer.

To cite it explicitly in the text, use \cite{novathesis-manual} — the bibliographic entry is supplied by the template, so there is no BibTeX to copy.

Anywhere else, use:

@manual{novathesis-manual:2026:jlourenco,
  title  = {{novathesis} — The Manual: A {LaTeX} template for theses and dissertations},
  author = {Lourenço, João M.},
  doi    = {10.5281/zenodo.21938603},
  year   = {2026},
}

J. M. Lourenço. novathesis — The Manual: A LaTeX template for theses and dissertations. 2026. doi: 10.5281/zenodo.21938603

GitHub's “Cite this repository” button (right-hand sidebar) generates the same reference in BibTeX or APA, from CITATION.cff.

About

A LaTeX template for academic monographs (e.g., dissertations and thesis). This template serves both beginners and proficient LaTeX users.

Topics

Resources

Stars

1.0k stars

Watchers

27 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages