A template repository for dissertations.
If your dissertation is already reaching the compilation limits of Overleaf, you are overly paranoid about you data safety/security, you want to use git for version management or you simply want to have a local copy of your dissertation, ready to use with your favourite editor and tools, this template is for you.
- DevContainers Open-Source specification / VSCode docs environment for LaTeX development with VSCode and the LaTeX Workshop extension.
- GitHub Actions to build the document and publish it as an artifacts or release.
dissertation-template/
├─ .devcontainer/ # DevContainer configuration
│ ├─ devcontainer.json # DevContainer configuration file
├─ .github/ # GitHub Actions configuration
│ ├─ workflows/ # GitHub Actions workflows
│ │ ├─ build-and-publish-document.yml
├─ document/ # Document and bibliography
├─ logbook/ # Logs of meetings and progresss
├─ research/ # Research papersFurther explanation of the directory structure can be found inside the README.md files in each directory.s
The first time you open the project in VSCode, you will be prompted to reopen the project in a container. If you miss this prompt, you can always reopen the project in a container by clicking the green icon in the bottom left corner of the VSCode window.
This configuration uses prulloac's DevContainer feature in a Debian container. The feature installs TeXLive small scheme and the LaTeX Workshop extension. Some other packages are added to the container to make the development experience more pleasant:
texdoccollection-latexrecommendedcollection-fontsrecommendedcourier-scalednextpageenumitemepigraphcleveref
Other latex packages can be installed by adding them to the packages array in the devcontainer.json file or by running tlmgr install <package> in the container.
- Triggers if a push is made modifying the
document/directory - Builds the document and stores it as an artifact (inside a zip file 😔)
- If the push is in the main branch it replaces the tag
latestand its release with the updated document and commit. The document pdf is one of the assets of the release.