140 lines
3.9 KiB
Markdown
140 lines
3.9 KiB
Markdown
# Brevetkarten-PDF-Generator
|
||
|
||
LaTeX-basierter Generator für Audax Randonneurs Allemagne Brevetkarten mit Vorder- und Rückseite für den Duplexdruck.
|
||
|
||
## Schnellstart
|
||
|
||
```bash
|
||
# 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
|
||
```bash
|
||
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
|
||
|
||
```bash
|
||
# Nur Vorderseite bauen
|
||
make build-front
|
||
|
||
# Nur Rückseite bauen
|
||
make build-back
|
||
|
||
# Beide Seiten bauen
|
||
make build-pdf
|
||
```
|
||
|
||
### Personalisierte Karten aus CSV
|
||
|
||
```bash
|
||
# 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
|
||
|
||
```bash
|
||
# 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 1–3**: 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 4–6**: 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 1–3) mit der oberen Vorderseitenkarte fluchtet
|
||
- Untere Karte (Zeilen 4–6) 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
|