aboutsummaryrefslogtreecommitdiff

crêpe docs

systems programming in c++ minor project documentation

Please see style.md for writing style and contributing.md for coding and git standards. There is also an example document which may be used to copy/paste LaTeX snippets for specific formatting.

Compilation

Prerequisites:

  • A LaTeX distribution that includes XeLaTeX and latexmk
  • PlantUML (1.2024.7 or later!)
  • Python 3
  • Fonts (see see style.md for download links)

All documents are compiled using latexmk, and this repository contains additional configuration files for the following editors:

Special files

  • time.txt contains tracked time for each team member. This file is automatically converted using time2tex when compiling timerep.tex.
  • reqs.toml contains the project requirements. This file is converted using reqs2tex for requirements.tex and also generates an .aux file for cross-referencing the requirements from other documents.
  • sources.bib contains all bibliography entries / references
  • glossary.bib contains all glossary entries

PlantUML

To check if your PlantUML version is recent enough, run:

$ plantuml -version

To upgrade PlantUML manually, download the latest (GPL) .jar from here, and overwrite the .jar file installed by your package manager:

$ curl -sLo- https://github.com/plantuml/plantuml/releases/download/v1.2024.7/plantuml-1.2024.7.jar > plantuml.jar
# mv plantuml.jar /usr/share/plantuml/plantuml.jar

[!NOTE] Ubuntu, Debian and Mint all place PlantUML's .jar file under /usr/share/plantuml/plantuml.jar, while it's under /usr/share/java/plantuml/plantuml.jar on Arch. Check the contents of the file returned by command -v plantuml to confirm this.