📖 A thesis LaTeX template that complies with the University of Aveiro's guidelines and provides a simple CLI workflow around make and compatibility with Overleaf.
A thesis LaTeX template that complies with the University of Aveiro's
guidelines and provides a simple CLI workflow around make
that was developed
and tested for cross-compatibility on Linux (Slackware, ArchLinux, Debian, Ubuntu) and macOS.
This template was developed by professors and students. We will try to keep up to date with thesis requirements but some discrepancies may exist. Feel free to open issues and pull requests with new options, packages and fixes.
Optional: In debian and ubuntu you can install all dependencies automatically:
make setup
Build a development version of the document:
make [build]
Continuously build the development version of the document:
make preview
This option is great when paired with a document viewer (such as Okular) which automatically reloads the document on file change. This means you can keep writing and on save the updated document is compiled and displayed!
Build versions of the document for publishing:
make print
make ebook
Run linters (for now only proselint) against a TeX file (e.g. chapter 1):
make lint [texfile=chapter1.tex]
If you do not specify the texfile
to lint, then all TeX files in chapters/
will be linted.
Clean the build directory:
make clean[all]
clean
will leave the output products (the PDFs) in place, while cleanall
will remove these too. If your document is not compiling for some reason and
you think you've already solved the problem in the LaTeX sources, maybe try a
cleanall
before insisting. Sometimes the underlying build programs (namely
latexmk
) get stuck in inconsistent temporary files.
This is all great, but how can this repository be used as a starting point for writing your own thesis?
In our opinion you have mostly three options:
git submodules
for this.git subtree
to pull this repository to your main thesis repository and
work directly there. Changes in your copy will be versioned by your main
thesis repo, while you will still be able to pull new updates from here
should they appear.The last of these options mas be the most adquate, as it seems to be the most flexible and easy-to-use alternative. Here follow the main commands you will need should you choose to go along with this too.
$ mkdir mythesis
$ git init .
$ git commit --allow-empty -n -m "Initial commit."
$ git subtree add --prefix document https://github.com/detiuaveiro/ua-thesis-template.git master --squash;
$ git subtree pull --prefix document https://github.com/detiuaveiro/ua-thesis-template.git master --squash;
document
The result should be a git repository for your thesis work. In the $DESTDIR
(e.g. document
)
you will have the document to edit. If you wish you can add a reference to another git repository
to track your own changes.
Please check the github instructions to create your own repository using this as a template.
It is possible to use this template in overleaf.
To enable it:
matter.tex
change \def\useoverleaf{0}
to 1fc-portuges.def
to the project the file be can found in here
matter.tex
make print
, make ebook
and simplify-colors.sh
)make lint
)simplify-colors.sh
)As for pygments and proselint, those can by installed with pip by issuing pip install -r requirements.txt
at the root of this repository.
On Ubuntu relatives the following dependencies, installable with apt
may
also be required
These endorsed dependencies which may or may not come with the TeX Live package distributed with your Linux distribution.
Usually TeX Live is split into a minimal package and a texlive-extra
which is
filled with the remainder of TeX Live, be it fonts, styles, language support,
and so on. So, if a LaTeX dependency is missing on your installation, do verify
that you are not missing one of these packages.
Tomás Oliveira e Silva created the original template which was later picked up by João Paulo Barraca who improved and maintained it for years.
This is a fork by Fábio Maia and Ricardo Jesus who wanted to further improve the template and setup a clean environment and workflow for writing their MSc thesis.