No description
  • TeX 99.7%
  • Python 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Sven 48e8402ddd Include the character sheet in the rulebook
Add a "Character Sheet" section with an index entry at the end of the
Character chapter and embed the matching sheet PDF
(output/charactersheet_{id}_{lang}_{media}.pdf) as full pages via the
new \charactersheetpages macro.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 22:43:13 +02:00
appendix Revamped character sheet 2026-09-24 18:59:42 +02:00
chapters Include the character sheet in the rulebook 2026-09-24 22:43:13 +02:00
fonts Replaced the markdon rulebook with the LaTeX rulebook. 2025-11-08 20:05:07 +01:00
images Added brewing 2026-06-21 19:26:31 +02:00
sheets Revamped character sheet 2026-09-24 18:59:42 +02:00
utils Include the character sheet in the rulebook 2026-09-24 22:43:13 +02:00
.env.example Replaced the markdon rulebook with the LaTeX rulebook. 2025-11-08 20:05:07 +01:00
.gitignore Streamlined the build process. 2026-07-24 20:49:56 +02:00
.python-version Replaced the markdon rulebook with the LaTeX rulebook. 2025-11-08 20:05:07 +01:00
build Upload rulebook parallel 2026-07-25 06:35:41 +02:00
CLAUDE.md Include the character sheet in the rulebook 2026-09-24 22:43:13 +02:00
Dockerfile Replaced the markdon rulebook with the LaTeX rulebook. 2025-11-08 20:05:07 +01:00
document-body.tex Include the character sheet in the rulebook 2026-09-24 22:43:13 +02:00
LICENSE.txt Added CC License 2023-06-20 23:11:58 +02:00
main-online.tex Replaced the markdon rulebook with the LaTeX rulebook. 2025-11-08 20:05:07 +01:00
main-print.tex Replaced the markdon rulebook with the LaTeX rulebook. 2025-11-08 20:05:07 +01:00
phasesix-rulebook-log.md Replaced the markdon rulebook with the LaTeX rulebook. 2025-11-08 20:05:07 +01:00
pyproject.toml Replaced the markdon rulebook with the LaTeX rulebook. 2025-11-08 20:05:07 +01:00
README.md Streamlined the build process. 2026-07-24 20:49:56 +02:00
todo.md Replaced the markdon rulebook with the LaTeX rulebook. 2025-11-08 20:05:07 +01:00
uv.lock Streamlined the build process. 2026-07-24 20:49:56 +02:00

PhaseSix and Tirakans Reiche Rulebook

These documents are the source for the role-playing games PhaseSix, NEXUS and Tirakans Reiche.

The documents are divided into three parts:

  • The rules
  • The character sheet
  • The appendix documents

The rules are static LaTeX documents in the chapters directory. The character sheet is a separate LaTeX document in the character-sheet directory. The appendix documents are rendered with python jinja2 from the game data from the website phasesix.org.

The rulebook documents are built with the build script in the root directory. To run the script and install the dependencies, uv is used.

Project structure

  • build: Build script
  • document-body.tex: The main LaTeX document body
  • main-online.tex: Entrypoint script for online build
  • main-print.tex: Entrypoint script for print build
  • utils: LaTeX utilities for internationalization and the management of different world books
  • chapters: The LaTeX source for the chapter rules
  • sheets: The LaTeX source for the character sheet
  • appendix/templates: Jinja2 templates for the appendix documents
  • appendix/json: JSON files with the game data from the website, fetched with the build script
  • appendix/latex: The rendered appendix documents

Building the documents

Requirements

To build the documents, you need to install the following:

  • Python 3
  • uv

Installing dependencies

To install the project dependencies, run uv sync in the project root directory.

Running ./build

To build the documents, the build script is invoked.

usage: build [-h] [-i IDS] [-d] [-o] [-l LANGUAGES] [-m MEDIA] [-u] [-a] [-c] [-p]

Build the project

options:
  -h, --help            show this help message and exit
  -i IDS, --ids IDS     IDs to build (['phasesix nexus tirakan'])
  -d, --debug           Debug mode
  -o, --publish         Upload existing PDFs from output without building
  -l LANGUAGES, --languages LANGUAGES
                        Languages to build (['de en'])
  -m MEDIA, --media MEDIA
                        Media to build (['online print'])
  -u, --update-appendix
                        Update appendix data
  -a, --appendix        Rebuild appendix files
  -c, --character-sheets-only
                        Only build character sheets
  -p, --preview         Open generated files in firefox

Variants, Languages and WorldBooks

The documents are organized in media variants, languages and world books. Variants are print and online. The online PDF lacks varying page numbers (left and right pages), chapters do not always start on the right page (this would lead to blank pages in the PDF) and pages do not have altering page margins.

The media variant is selected with the -m option.

$ uv run ./build -m print

The books support the languages de and en. The language is selected with the -l option.

$ uv run ./build -l de

The world books are phasesix, nexus and tirakan. Each book has its own wording, images and examples.

The world book is selected with the -i option.

$ uv run ./build -i nexus

The data for the appendix documents is fetched from the website phasesix.org. The data is updated with the -u option. To update the data, a phasesix API key is required. The build parameter -a determines whether the appendix files are rebuilt.

Both options are not required to build the documents, there are ready-to-use appendix files in the appendix/latex directory.

$ echo "API_KEY=my_api_key" > .env
$ uv run ./build -u

Uploading existing PDFs

The publish option uploads existing PDFs from the output directory. It does not run LaTeX or create new PDFs.

$ uv run ./build --publish -i phasesix -l de -m online