Peter Adam 84d8cfc2dc Add example YAML event configuration and update .gitignore
- Introduce `event.yml.example` providing a template for event-level configuration.
- Extend `.gitignore` to include `event.yml` to prevent committing real event data.
2026-02-28 10:47:31 +01:00

Brevetkarten-PDF-Generator

LaTeX-basierter Generator für Audax Randonneurs Allemagne Brevetkarten mit Vorder- und Rückseite für den Duplexdruck.

Schnellstart

# Alles bauen und beide PDFs erzeugen
make build

# Die PDFs werden erstellt als:
# - brevetkarte.pdf (Vorderseite mit Teilnehmerinfos)
# - brevetkarte-rueckseite.pdf (Rückseite mit Kontrollen)

Voraussetzungen

  • Docker
  • Make

Verwendung

Beide PDFs bauen

make build

Dies führt folgende Schritte aus:

  1. Docker-Image mit TeX Live bauen
  2. brevetkarte.tex zu brevetkarte.pdf kompilieren (Vorderseite)
  3. brevetkarte-rueckseite.tex zu brevetkarte-rueckseite.pdf kompilieren (Rückseite)

Einzelne Seiten bauen

# Nur Vorderseite bauen
make build-front

# Nur Rückseite bauen
make build-back

# Beide Seiten bauen
make build-pdf

Personalisierte Karten aus CSV

# 1. Beispiel-CSV kopieren und Teilnehmerdaten eintragen
cp "Export Brevetkarte.csv.example" "Export Brevetkarte.csv"
# "Export Brevetkarte.csv" mit den Teilnehmern befüllen

# 2. Personalisierte Karten erzeugen und bauen
make build-personalized
# Ausgabe: brevetkarte-personalized.pdf

Die CSV-Datei Export Brevetkarte.csv wird nicht von git erfasst (sie kann personenbezogene Daten enthalten). Die Datei Export Brevetkarte.csv.example zeigt das erwartete Format.

Weitere Befehle

# Nur das Docker-Image bauen
make build-image

# Interaktive Shell im Container öffnen
make shell

# Erzeugte Dateien löschen (.aux, .log, .pdf)
make clean

# Alles löschen inkl. Docker-Image
make clean-all

# Von Grund auf neu bauen
make rebuild

# Hilfe anzeigen
make help

Dateien

  • brevetkarte.tex - LaTeX-Quelle für die Vorderseite (zwei identische Blanko-Karten)
  • brevetkarte-template.tex - Vorlage für personalisierte Karten (Platzhalter werden aus CSV ersetzt)
  • brevetkarte-rueckseite.tex - LaTeX-Quelle für die Rückseite (Kontrollen)
  • Export Brevetkarte.csv.example - Beispiel-CSV mit dem Teilnehmerdatenformat
  • generate_cards.py - Erzeugt brevetkarte-personalized.tex aus CSV und Vorlage
  • cyclist-logo.png - Audax Randonneurs Logo
  • Dockerfile - Docker-Image-Definition (debian:bookworm-slim + TeX-Live-Pakete)
  • Makefile - Build-Automatisierung

Ausgabe

Vorderseite (brevetkarte.pdf)

Enthält zwei identische Brevetkarten, die in der Mitte geschnitten werden können. Jede Karte enthält:

  • Teilnehmerinformationen (Name, Adresse usw.)
  • Veranstaltungsdetails (200 km „Auf eine Pommes nach Belgien")
  • Randonneur-Mondiaux-Regeln
  • Homologationsbereich
  • Startzeit: 8:30

Rückseite (brevetkarte-rueckseite.pdf)

Enthält die Kontrollentabelle (4 Spalten × 6 Zeilen):

  • Zeilen 13: Kontrollen für die obere Karte
    • Nr. 1: Start (Km 0 Unisport, Bonn)
    • Nr. 2: Km 57 Nationalpark-Tor, Heimbach
    • Nr. 3: Km 100 Friterie „Au Petit Creux", Waimes
    • Nr. 4: Km 165 Mahlberg
    • Nr. 5: Km 205 Ziel (Unisport, Bonn)
  • Zeilen 46: Kontrollen für die untere Karte (wie oben, aber Nr. 5: Km 214)
  • Leere Spalten für Stempel/Unterschriften
  • Kontrollfrage zur Verifikation

Duplexdruck

Die PDFs sind für den Duplexdruck (beidseitiger Druck) ausgelegt:

  1. brevetkarte.pdf auf einer Seite drucken
  2. brevetkarte-rueckseite.pdf auf der Rückseite drucken
  3. Spalten und Zeilen sind so ausgerichtet, dass:
    • Vorderseitenspalten mit Rückseitenspalten übereinstimmen
    • Obere Karte (Zeilen 13) mit der oberen Vorderseitenkarte fluchtet
    • Untere Karte (Zeilen 46) mit der unteren Vorderseitenkarte fluchtet
  4. Blatt horizontal in der Mitte schneiden, um zwei separate Brevetkarten zu erhalten

Anpassung

brevetkarte.tex bearbeiten für die Vorderseite:

  • Veranstaltungsname, Datum und Ort
  • Distanz (200 km)
  • Startzeit
  • Vereinsinformationen
  • Brevetformat

brevetkarte-rueckseite.tex bearbeiten für die Rückseite:

  • Kontrollpunkte
  • Kontrollzeiten (von/bis)
  • Distanzen
  • Kontrollfragen
Description
No description provided
Readme 512 KiB
Languages
TeX 41.3%
Python 37.1%
Makefile 19.9%
Dockerfile 1.7%