# Brevetkarten-PDF-Generator LaTeX-basierter Generator für Audax Randonneurs Allemagne Brevetkarten mit Vorder- und Rückseite für den Duplexdruck. ## Voraussetzungen - Docker - Make - Python 3 + PyYAML (`pip install pyyaml`) ## Konfigurationsdateien Vor dem ersten Build zwei Dateien aus den Beispielen anlegen und befüllen: ```bash cp "Export Brevetkarte.csv.example" "Export Brevetkarte.csv" cp event.yml.example event.yml ``` Beide Dateien sind in `.gitignore` eingetragen und werden nicht ins Repository übernommen. ### event.yml Enthält alle veranstaltungsspezifischen Daten: ```yaml event: title: "Name der Veranstaltung" km: "200" date: "1. Januar 2025" start_location: "Stadt, Ort" club: "Clubname" club_nr: "000000" startzeit: "8:00" backside: "1_1": | \vspace{2mm} \textbf{Nr. 1:} Km 0 -- Startort\\ ... "1_2": "" # leer = Stempelfeld ... ``` Die `backside`-Sektion belegt die 12 Zellen der Rückseite (3 Zeilen × 4 Spalten, Schlüssel `"Zeile_Spalte"`). Der Inhalt ist freies LaTeX. Leere Zellen (`""`) dienen als Stempelfelder. ### Export Brevetkarte.csv Teilnehmerdaten im Format: ``` Startnr, Nachname, Vorname, Straße, PLZ, Ort, Land, Medaille ``` Siehe `Export Brevetkarte.csv.example` für das vollständige Format. ## Verwendung ### Personalisierte Karten erzeugen und bauen ```bash make build-personalized ``` Führt folgende Schritte aus: 1. `generate_cards.py` liest `Export Brevetkarte.csv` + `event.yml` 2. Erzeugt `brevetkarte-personalized.tex` (Vorderseite, eine Karte pro Teilnehmer) 3. Erzeugt `brevetkarte-rueckseite.tex` (Rückseite mit Kontrollpunkten aus event.yml) 4. Kompiliert beide .tex-Dateien zu PDFs ### Einzelne Schritte ```bash # Nur tex-Dateien generieren (ohne Docker) make generate # Nur Rückseite kompilieren (nach generate) make build-back # Statische Demo-Vorderseite bauen (ohne CSV, für Tests) make build-front ``` ### Weitere Befehle ```bash make build-image # Docker-Image bauen make shell # Interaktive Shell im Container make clean # Erzeugte Dateien löschen (.aux, .log, .pdf) make clean-all # Alles löschen inkl. Docker-Image make help # Alle Befehle anzeigen ``` ## Dateien | Datei | Beschreibung | |---|---| | `event.yml.example` | Vorlage für Veranstaltungsdaten (→ als `event.yml` kopieren) | | `Export Brevetkarte.csv.example` | Vorlage für Teilnehmerdaten (→ als `Export Brevetkarte.csv` kopieren) | | `brevetkarte-template.tex` | Vorlage Vorderseite (Platzhalter aus CSV + event.yml) | | `brevetkarte-rueckseite-template.tex` | Vorlage Rückseite (Zellplatzhalter aus event.yml) | | `brevetkarte.tex` | Statische Demo-Vorderseite (ohne Personalisierung) | | `generate_cards.py` | Generiert personalisierte .tex-Dateien | | `cyclist-logo.png` | Audax Randonneurs Logo | | `Dockerfile` | Docker-Image-Definition (debian:bookworm-slim + TeX Live) | | `Makefile` | Build-Automatisierung | ## Duplexdruck 1. `brevetkarte-personalized.pdf` auf einer Seite drucken 2. `brevetkarte-rueckseite.pdf` auf der Rückseite drucken 3. Blatt horizontal in der Mitte schneiden → zwei separate Brevetkarten