From 9b42f824f9592b05f93e4b80650c13a1622f9834 Mon Sep 17 00:00:00 2001
From: Peter Adam
Date: Sat, 28 Feb 2026 11:15:07 +0100
Subject: [PATCH] Remove static tex files, simplify Dockerfile and build
workflow
- Remove brevetkarte.tex (unused static demo, superseded by template)
- Dockerfile: remove unnecessary COPY, workspace is volume-mounted at runtime
- Makefile: remove build-front, default target is now build-personalized
- README: remove references to removed files and targets
Co-Authored-By: Claude Sonnet 4.6
---
Dockerfile | 10 +---
Makefile | 31 +++--------
README.md | 6 +--
brevetkarte.tex | 139 ------------------------------------------------
4 files changed, 10 insertions(+), 176 deletions(-)
delete mode 100644 brevetkarte.tex
diff --git a/Dockerfile b/Dockerfile
index 8bc2bc9..b06d836 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -7,12 +7,4 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
make \
&& rm -rf /var/lib/apt/lists/*
-# Set working directory
-WORKDIR /workspace
-
-# Copy project files
-COPY brevetkarte.tex .
-COPY cyclist-logo.png .
-
-# Default command
-CMD ["pdflatex", "-interaction=nonstopmode", "brevetkarte.tex"]
+WORKDIR /workspace
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 1de6b78..bbc763b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,37 +1,23 @@
# Makefile for building Brevet card PDF in Docker
IMAGE_NAME := brevetcard-builder
-TEX_FILE_FRONT := brevetkarte.tex
-TEX_FILE_BACK := brevetkarte-rueckseite.tex
TEX_FILE_PERSONALIZED := brevetkarte-personalized.tex
-PDF_FILE_FRONT := brevetkarte.pdf
-PDF_FILE_BACK := brevetkarte-rueckseite.pdf
+TEX_FILE_BACK := brevetkarte-rueckseite.tex
PDF_FILE_PERSONALIZED := brevetkarte-personalized.pdf
+PDF_FILE_BACK := brevetkarte-rueckseite.pdf
CSV_FILE := Export Brevetkarte.csv
-.PHONY: all build clean build-image build-front build-back generate build-personalized run shell help
+.PHONY: all build clean build-image build-back generate build-personalized run shell help
# Default target
-all: build
-
-# Build static demo front side (builds image if needed)
-build: build-image build-front
+all: build-personalized
# Build Docker image
build-image:
@echo "Building Docker image..."
docker build -t $(IMAGE_NAME) .
-# Compile static demo front side PDF
-build-front:
- @echo "Compiling front side LaTeX to PDF..."
- docker run --rm \
- -v $(PWD):/workspace \
- $(IMAGE_NAME) \
- pdflatex -interaction=nonstopmode $(TEX_FILE_FRONT)
- @echo "PDF generated: $(PDF_FILE_FRONT)"
-
-# Compile back side PDF (always generated from event.yml via generate)
+# Compile back side PDF (after generate)
build-back: build-image
@echo "Compiling back side LaTeX to PDF..."
docker run --rm \
@@ -89,19 +75,18 @@ clean-all: clean
docker rmi $(IMAGE_NAME) 2>/dev/null || true
# Rebuild from scratch
-rebuild: clean-all build
+rebuild: clean-all build-personalized
# Show help
help:
@echo "Brevet Card PDF Builder"
@echo ""
@echo "Available targets:"
- @echo " make build - Build Docker image and compile static front side (default)"
+ @echo " make - Generate and compile front + back side PDFs (default)"
@echo " make build-image - Build Docker image only"
- @echo " make build-front - Compile static demo front side PDF"
@echo " make generate - Generate tex files from CSV + event.yml"
@echo " make build-personalized - Generate and compile front + back side PDFs"
- @echo " make build-back - Compile back side PDF (after generate)"
+ @echo " make build-back - Compile back side PDF only (after generate)"
@echo " make shell - Open interactive shell in container"
@echo " make clean - Remove generated files (aux, log, pdf)"
@echo " make clean-all - Remove all files and Docker image"
diff --git a/README.md b/README.md
index dd36a45..5f2232c 100644
--- a/README.md
+++ b/README.md
@@ -76,9 +76,6 @@ 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
@@ -99,8 +96,7 @@ make help # Alle Befehle anzeigen
| `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 |
+| `generate_cards.py` | Generiert .tex-Dateien aus Templates + Konfiguration |
| `cyclist-logo.png` | Audax Randonneurs Logo |
| `Dockerfile` | Docker-Image-Definition (debian:bookworm-slim + TeX Live) |
| `Makefile` | Build-Automatisierung |
diff --git a/brevetkarte.tex b/brevetkarte.tex
deleted file mode 100644
index ebb8fc9..0000000
--- a/brevetkarte.tex
+++ /dev/null
@@ -1,139 +0,0 @@
-\documentclass[a4paper,10pt,landscape]{article}
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage[landscape,top=0.8cm,bottom=0.8cm,left=0.8cm,right=0.8cm]{geometry}
-\usepackage{graphicx}
-\usepackage{xcolor}
-\usepackage{tikz}
-\usepackage{helvet}
-\usepackage{hyperref}
-
-% Set sans-serif font as default
-\renewcommand{\familydefault}{\sfdefault}
-
-% Define colors
-\definecolor{headerblack}{RGB}{0,0,0}
-
-% Configure hyperlinks to be black
-\hypersetup{
- colorlinks=true,
- linkcolor=black,
- urlcolor=black,
- citecolor=black
-}
-
-\setlength{\parindent}{0pt}
-\pagestyle{empty}
-
-% Command to create one brevet card
-\newcommand{\brevetcard}{%
-\noindent
-\begin{tikzpicture}[x=1cm,y=1cm]
-
-% Black vertical separator lines (drawn first, extend through headers)
-\draw[black,line width=0.5pt] (6.9,-7.2) -- (6.9,1.3);
-\draw[black,line width=0.5pt] (13.8,-7.2) -- (13.8,1.3);
-\draw[black,line width=0.5pt] (20.7,-7.2) -- (20.7,1.3);
-
-% Black header boxes (drawn on top)
-\fill[headerblack] (0,0) rectangle (6.9,1.3);
-\node[white,align=center,font=\tiny,text width=6.6cm] at (3.45,0.65) {
- Jeder Teilnehmer muss diese Brevetkarte zu jeder Zeit\\
- mit sich führen und an den Kontrollen abstempeln lassen\\
- bzw. Fotos erstellen.\\
- \textbf{Ohne Kontrollzeiten und Zielzeit keine Wertung!}
-};
-
-\fill[headerblack] (6.9,0) rectangle (13.8,1.3);
-\node[white,font=\Large] at (10.35,0.65) {HOMOLOGATION};
-
-\fill[headerblack] (13.8,0) rectangle (20.7,1.3);
-\node[white,font=\Large] at (17.25,0.65) {TEILNEHMER/-IN};
-
-\fill[headerblack] (20.7,0) rectangle (27.6,1.3);
-\node[white,align=center,font=\normalsize] at (24.15,0.75) {BREVET DES RANDONNEURS};
-\node[white,font=\Large] at (24.15,0.35) {MONDIAUX};
-
-% Column 1 - Rules (left section)
-\node[anchor=north west,text width=6.6cm,font=\small,align=left] at (0.2,-0.3) {
- \textbf{Es gelten die Regeln von}\\
- \textbf{Randonneur Mondiaux}\\
- \textbf{insbesondere:}
- {\setlength{\leftmargini}{0.4cm}%
- \begin{itemize}%
- \setlength{\itemsep}{1pt}\setlength{\topsep}{2pt}\setlength{\parsep}{0pt}
- \item Einhaltung der StVO
- \item Beleuchtung und Sicherheitsweste/-Gurt
- \item keine Abkürzungen
- \item keine Begleitfahrzeuge
- \item Rücksicht auf Teilnehmer und Umwelt
- \item Rücksicht in den Kontrollen
- \end{itemize}}
- \hspace{0.3cm}$\Rightarrow$ \textbf{\underline{Bei Verstoß keine Wertung!}}\\[0.3cm]
- -
-};
-
-\node[anchor=south west,text width=6.6cm,font=\small,align=left] at (0.2,-7.0) {
- \textbf{AUDAX RANDONNEURS ALLEMAGNE E.V.}\\
- \href{http://www.audax-randonneure.de}{www.audax-randonneure.de}\\
- - gegründet 1992 in Hamburg -
-};
-
-% Column 2 - Homologation (middle-left section)
-\node[anchor=north,text width=6.6cm,font=\small,align=center] at (10.35,-0.5) {
- Der Randonnée wurde beendet in:\\[0.6cm]
- \makebox[2cm]{\dotfill}h\makebox[2cm]{\dotfill}min
-};
-
-\node[anchor=center,font=\Large] at (10.35,-4.0) {
- HOMOLOGATION
-};
-
-\node[anchor=south,text width=6.6cm,font=\small,align=center] at (10.35,-6.8) {
- Brevet N° \makebox[5cm]{\dotfill}
-};
-
-% Column 3 - Participant Info (middle-right section)
-\node[anchor=north west,text width=6.6cm,font=\small,align=left] at (14.0,-0.5) {
- Name:\\[0.4cm]
- Straße:\\[0.4cm]
- PLZ/Ort:\\[0.4cm]
- Land:\\[0.4cm]
- Medaille:\\[0.6cm]
- Startzeit: 8:30
-};
-
-% Column 4 - Event Info (right section)
-\node[anchor=north,text width=6.6cm,align=center] at (24.15,-0.4) {
- \includegraphics[width=5.5cm]{cyclist-logo.png}
-};
-
-\node[anchor=north,text width=6.6cm,font=\small,align=center] at (24.15,-2.2) {
- \textbf{Auf eine Pommes nach Belgien}\\
- Randonnée über \textbf{200} km\\
- am \textbf{20. September 2025}\\
- mit Start in \textbf{Bonn, Uni-Sportgelände}\\
- von \textbf{ARA Rheinland}\\
- N° ACP du Club \textbf{111011}
-};
-
-\node[anchor=south,text width=6.6cm,font=\scriptsize,align=center] at (24.15,-7.0) {
- CONTRÔLÉE ET HOMOLOGUÉE EXCLUSIVEMENT PAR\\
- \href{http://www.audax-club-parisien.com}{www.audax-club-parisien.com}\\
- - Société fondée en 1904 -
-};
-
-\end{tikzpicture}
-}
-
-\begin{document}
-
-% First brevet card
-\brevetcard
-
-\vspace{0.8cm}
-
-% Second brevet card (identical)
-\brevetcard
-
-\end{document}