Version 8.0 changes where glossary entries live. Acronyms, glossary terms and symbols moved from
.texfiles (\newacronym,\newglossaryentry, processed bymakeglossaries) to.bibfiles processed bybib2gls.
- Run
make glsbibto convert your entry files, then re-add anysortkeys — 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
\glsaddallif your document calls it.bib2glsneeds a Java runtime. Overleaf has one; check locally withbib2gls --version.A registered
.texentry 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
morewritespackage — a full pdfLaTeX build of the manual went from 109 s to 36 s.
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.
- 1. Overview
- 2. Key Features
- 3. Who Is This For?
- 4. Installation Options
- 5. Project Structure
- 6. Getting Help & Contributing
- 7. Supported Schools & Showcase
- 8. Disclaimer
- 9. Deprecated Word Templates
- 10. Related Packages
- 11. Please give this repository a ⭐️
- 12. Contributors
- 13. Say thank you! (and how to cite)
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.
- Browse sample covers in the showcase
- Minimal setup
- Clear configuration files
- Works with any major LaTeX distribution
- Uses the powerful
memoirclass - Supports extensive customization
- Well‑organized and modular
- 25+ schools supported
- Automatic generation of covers, spine, and formatting rules
latexmksupportbiberfor bibliographiesbib2glsfor glossaries, acronyms and symbols — ships with TeX Live, but needs a Java runtime (JRE) on your machine. Overleaf provides one; check a local install withbib2gls --version.- Overleaf‑ready
- MSc and PhD students
- Supervisors preparing guidelines or templates
- Institutions wanting a high‑quality standard
- Anyone writing a large LaTeX document that needs structure
This is the preferred option, especially for large projects.
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).
If you have make installed in your computer, simply run
makeotherwise 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 bybib2gls, whichlatexmkruns 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.texfiles, 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.
The Makefile is a thin wrapper around latexmk and provides several targets to simplify your workflow:
- Compilation Engines:
makeormake lua: Build usinglualatex(recommended default).make pdf: Build usingpdflatex.make xe: Build usingxelatex.
- Viewing & Logs:
make vormake 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 andAUXDIR/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 MBSIZE=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.
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;
- …
novathesis is available as an official Overleaf template. Despite the regular updates, the version in Overleaf, although fully operational, may be slightly outdated.
- Find your school on novathesis.org and click 📦 to open its starter repository directly in Overleaf (this uploads the ZIP archive and sets
template.texas the root document automatically); - Compile;
- 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.
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.
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:
- Usage questions → GitHub Discussions
- Bug reports & feature requests → GitHub Issues
Please don’t contact the author directly. Support is community‑based.
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
This is not an official template from any school.
Compliance has been ensured to the best extent possible using public documentation.
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
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) |
Made with contrib.rocks.
|
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.
