This project provides an example of structure to work with LaTeX documents.
I designed it for personnal use and I don't pretend it will be usefull for anybody. I nonetheless grant permission for anyone to freely use, modify, and distribute this template.
I personnaly use
TinyTex (a light-weight distribution of TeX Live),
so this project is organized assuming latexmk
will be used to build the document.
.
├── build
│ └── ...
├── src
│ ├── main.tex
│ ├── references.bib
│ └── ...
├── latexmkrc
├── Makefile
└── README.md
-
build/
: Output folder where the compiled PDF and other generated files will be placed. -
src/
: Folder where all the LaTeX source files should be placed, including main.tex and references. -
latexmkrc
: Configuration file to customize the behavior oflatexmk
when compiling the project. -
Makefile
: Provides a set of commands for building the LaTeX document. Currently only callslatexmk
, but could be expanded to handle other tasks like figure generation and integration.
This project integrates github action to allow for easier sharing of the content of the project:
After each successful build of the main branch, the resulting PDF is automatically deployed to a dedicated orphan branch (named pdf). This provides easy access to the compiled PDF for reviewers or readers.
Every push to a tagged version triggers the creation of a release. This release contains the PDF associated with that specific version, ensuring a clear and accessible versioning mechanism.