Initial commit: Brevet card LaTeX sources

Add LaTeX templates for 200km brevet cards with front and back
sides. Includes Docker-based build system and documentation.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Peter Adam
2026-02-03 13:46:49 +01:00
commit 3060d61279
7 changed files with 605 additions and 0 deletions

124
README.md Normal file
View File

@@ -0,0 +1,124 @@
# Brevet Card PDF Generator
LaTeX-based generator for Audax Randonneurs Deutschland brevet cards with front and back sides for duplex printing.
## Quick Start
```bash
# Build everything and generate both PDFs
make build
# The PDFs will be created as:
# - brevetkarte.pdf (front side with participant info)
# - brevetkarte-rueckseite.pdf (back side with control points)
```
## Prerequisites
- Docker
- Make
## Usage
### Build Both PDFs
```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)
### Build Individual Sides
```bash
# Just build front side
make build-front
# Just build back side
make build-back
# Build both sides (without rebuilding Docker image)
make build-pdf
```
### Other Commands
```bash
# Just build the Docker image
make build-image
# Open interactive shell in container
make shell
# Clean generated files (.aux, .log, .pdf)
make clean
# Clean everything including Docker image
make clean-all
# Rebuild from scratch
make rebuild
# Show help
make help
```
## Files
- `brevetkarte.tex` - LaTeX source for the front side (participant info)
- `brevetkarte-rueckseite.tex` - LaTeX source for the back side (control points)
- `cyclist-logo.png` - Audax Randonneurs logo (extracted from original)
- `Dockerfile` - Docker image definition with TeXLive
- `Makefile` - Build automation
- `Brevet200km_2025_09_20_Namensseite_blanko.pdf` - Original front side template
- `Brevet200km_2025_09_20_Kontrollseite.pdf` - Original back side template
## Output
### 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
### 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
## Duplex Printing
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
## Customization
Edit `brevetkarte.tex` to modify front side:
- Event name, date, and location
- Distance (200km)
- Start time
- Club information
- Brevet number format
Edit `brevetkarte-rueckseite.tex` to modify back side:
- Control point locations
- Control times (von/bis)
- Distances
- Control questions