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 papers
Further 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:
texdoc
collection-latexrecommended
collection-fontsrecommended
courier-scaled
nextpage
enumitem
epigraph
cleveref
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
latest
and its release with the updated document and commit. The document pdf is one of the assets of the release.