This repository contains modular and reusable teaching materials used to build the slides for the Distributed Systems course at Nantes University. See the main organization for more information on the course and additional resources.
├── LICENSE.md # License CC-BY-SA 4.0
├── Makefile # Automatic compilation
├── README.md # This file
├── build/ # Temporary files used during compilation
├── latex-libs/ # Dependency from latex-libs
├── docs/ # Final PDF files (i.e. compiled course)
├── src/ # LaTeX source files
│ ├── main/ # Main document files for the course
│ ├── frame/ # Individual slides organized by topic (one file per slide)
│ ├── img/ # Images used in the slides
│ └── sty/ # Style files
To build the course PDF:
makeThis creates docs/SCSD.pdf and docs/SCSD-handout.pdf.
Build individually:
make slides # Builds docs/SCSD.pdf
make handout # Builds docs/SCSD-handout.pdf
make clean # Remove temporary files in build/
make cleanall # Also remove PDFs in docs/You can create your own course variant while reusing the provided slides.
- Create a new main file in
src/main/, for example:cp src/main/SCSD.tex src/main/mycourse.tex
- Edit
src/main/mycourse.texto change the course metadata and the slides you want to include. - Then configure the Makefile to compile your own course
docs/mycourse.pdfanddocs/mycourse-handout.pdfmake configure COURSE=mycourse
These slides rely on styles from the latex-libs project.
- On the first build, the Makefile automatically clones the library into
./latex-libs(internet required). - Subsequent builds work offline.
- Update both this repo and the library with:
make updateContent is available under the Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0).
This means:
- You are free to reuse, modify, and redistribute the material.
- You must give appropriate credit.
- You must distribute derivatives under the same license.
See LICENSE.md for full terms.
Contributions are welcome!
Each slide is in a separate file, making it easy to reuse or improve specific parts. You can:
- Propose new slides
- Improve existing content or visuals
- Translate to other languages
Use pull requests to suggest changes. For major changes, please open an issue first to discuss your ideas.