Translate README content to German

This commit is contained in:
Peter Adam
2026-02-28 10:17:16 +01:00
parent fbd55f841a
commit b3e7d99ec6

160
README.md
View File

@@ -1,139 +1,139 @@
# Brevet Card PDF Generator
# Brevetkarten-PDF-Generator
LaTeX-based generator for Audax Randonneurs Deutschland brevet cards with front and back sides for duplex printing.
LaTeX-basierter Generator für Audax Randonneurs Allemagne Brevetkarten mit Vorder- und Rückseite für den Duplexdruck.
## Quick Start
## Schnellstart
```bash
# Build everything and generate both PDFs
# Alles bauen und beide PDFs erzeugen
make build
# The PDFs will be created as:
# - brevetkarte.pdf (front side with participant info)
# - brevetkarte-rueckseite.pdf (back side with control points)
# Die PDFs werden erstellt als:
# - brevetkarte.pdf (Vorderseite mit Teilnehmerinfos)
# - brevetkarte-rueckseite.pdf (Rückseite mit Kontrollen)
```
## Prerequisites
## Voraussetzungen
- Docker
- Make
## Usage
## Verwendung
### Build Both PDFs
### Beide PDFs bauen
```bash
make build
```
This will:
1. Build the Docker image with TeXLive
2. Compile `brevetkarte.tex` to `brevetkarte.pdf` (front side)
3. Compile `brevetkarte-rueckseite.tex` to `brevetkarte-rueckseite.pdf` (back side)
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)
### Build Individual Sides
### Einzelne Seiten bauen
```bash
# Just build front side
# Nur Vorderseite bauen
make build-front
# Just build back side
# Nur Rückseite bauen
make build-back
# Build both sides (without rebuilding Docker image)
# Beide Seiten bauen (ohne Docker-Image neu zu bauen)
make build-pdf
```
### Personalized Cards from CSV
### Personalisierte Karten aus CSV
```bash
# 1. Copy the example CSV and fill in participant data
# 1. Beispiel-CSV kopieren und Teilnehmerdaten eintragen
cp "Export Brevetkarte.csv.example" "Export Brevetkarte.csv"
# Edit "Export Brevetkarte.csv" with your participants
# "Export Brevetkarte.csv" mit den Teilnehmern befüllen
# 2. Generate and build personalized cards
# 2. Personalisierte Karten erzeugen und bauen
make build-personalized
# Output: brevetkarte-personalized.pdf
# Ausgabe: brevetkarte-personalized.pdf
```
The CSV file `Export Brevetkarte.csv` is not tracked by git (it may contain personal data). The file `Export Brevetkarte.csv.example` shows the expected format.
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.
### Other Commands
### Weitere Befehle
```bash
# Just build the Docker image
# Nur das Docker-Image bauen
make build-image
# Open interactive shell in container
# Interaktive Shell im Container öffnen
make shell
# Clean generated files (.aux, .log, .pdf)
# Erzeugte Dateien löschen (.aux, .log, .pdf)
make clean
# Clean everything including Docker image
# Alles löschen inkl. Docker-Image
make clean-all
# Rebuild from scratch
# Von Grund auf neu bauen
make rebuild
# Show help
# Hilfe anzeigen
make help
```
## Files
## Dateien
- `brevetkarte.tex` - LaTeX source for the front side (two identical blank cards)
- `brevetkarte-template.tex` - Template for personalized cards (placeholders replaced from CSV)
- `brevetkarte-rueckseite.tex` - LaTeX source for the back side (control points)
- `Export Brevetkarte.csv.example` - Example CSV with participant data format
- `generate_cards.py` - Generates `brevetkarte-personalized.tex` from CSV and template
- `cyclist-logo.png` - Audax Randonneurs logo
- `Dockerfile` - Docker image definition (debian:bookworm-slim + TeX Live packages)
- `Makefile` - Build automation
- `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
## Output
## Ausgabe
### Front Side (brevetkarte.pdf)
Contains two identical brevet cards that can be cut in half. Each card includes:
- Participant information fields (Name, Address, etc.)
- Event details (200km "Auf eine Pommes nach Belgien")
- Randonneur Mondiaux rules
- Homologation section
- Start time: 8:30
### 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
### Back Side (brevetkarte-rueckseite.pdf)
Contains control points table (4 columns × 6 rows):
- **Rows 1-3**: Control points for upper card
- 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 - Finish (Unisport, Bonn)
- **Rows 4-6**: Control points for lower card (same as above, but Nr. 5: Km 214)
- Empty columns for stamps/signatures
- Control question for verification
### 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
## Duplex Printing
## Duplexdruck
The PDFs are designed for duplex (double-sided) printing:
1. Print `brevetkarte.pdf` on one side
2. Print `brevetkarte-rueckseite.pdf` on the reverse side
3. The columns and rows are aligned so that:
- Front side columns match back side columns
- Upper card (rows 1-3) aligns with front side upper card
- Lower card (rows 4-6) aligns with front side lower card
4. Cut the sheet in half horizontally to create two separate brevet cards
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
## Customization
## Anpassung
Edit `brevetkarte.tex` to modify front side:
- Event name, date, and location
- Distance (200km)
- Start time
- Club information
- Brevet number format
`brevetkarte.tex` bearbeiten für die Vorderseite:
- Veranstaltungsname, Datum und Ort
- Distanz (200 km)
- Startzeit
- Vereinsinformationen
- Brevetformat
Edit `brevetkarte-rueckseite.tex` to modify back side:
- Control point locations
- Control times (von/bis)
- Distances
- Control questions
`brevetkarte-rueckseite.tex` bearbeiten für die Rückseite:
- Kontrollpunkte
- Kontrollzeiten (von/bis)
- Distanzen
- Kontrollfragen