Refactor PDF generation workflow, integrate YAML-based event config, and simplify Makefile scripts.
- Replace `generate-personalized` with unified `generate` target in Makefile, supporting event config integration. - Add YAML parsing to `generate_cards.py` for event-level placeholders and back side generation. - Update templates to include `EVENT_*` placeholders and dynamic content rendering. - Simplify `build` and `build-personalized` targets; consolidate redundant logic. - Enhance `make help` documentation for updated workflow. - Adjust LaTeX formatting for back side templates, removing hardcoded spacing.
This commit is contained in:
@@ -12,15 +12,6 @@
|
||||
\setlength{\tabcolsep}{3pt}
|
||||
\pagestyle{empty}
|
||||
|
||||
% A4 landscape height: 21cm
|
||||
% Half height: 10.5cm from top of page
|
||||
% Top margin: 0.8cm
|
||||
% Row 4 should start at: 10.5 - 0.8 = 9.7cm from start of content
|
||||
%
|
||||
% Front side: each card is 8.5cm tall
|
||||
% So rows 1-3 should be: 8.5cm total (2.833cm each)
|
||||
% Gap after row 3: 9.7 - 8.5 = 1.2cm
|
||||
|
||||
\newcommand{\rowheight}{2.833cm}
|
||||
|
||||
\begin{document}
|
||||
@@ -29,91 +20,79 @@
|
||||
\noindent
|
||||
\begin{tabular}{|p{6.6cm}|p{6.6cm}|p{6.6cm}|p{6.6cm}|}
|
||||
\hline
|
||||
% Row 1 (Upper card) - height 2.833cm
|
||||
% Row 1
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
\vspace{2mm}
|
||||
\textbf{Nr. 1:} Km 0 - Unisport\\
|
||||
\textbf{Nr. 1:} Km 0 -- Unisport\\
|
||||
Nachtigallenweg 86, Bonn\\
|
||||
\\
|
||||
\textbf{Kontrollzeit}\\
|
||||
von: 7:30\\
|
||||
bis: 8:30
|
||||
}
|
||||
bis: 8:30}
|
||||
&
|
||||
\parbox[c][\rowheight][c]{6.5cm}{%
|
||||
% Empty for stamps
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
}
|
||||
&
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
\vspace{2mm}
|
||||
\textbf{Nr. 4:} Km 165 Mahlberg Ecke K50,\\
|
||||
\textbf{Nr. 4:} Km 165 -- Mahlberg Ecke K50,\\
|
||||
Breitestraße\\
|
||||
\textbf{Kontrollzeit}\\
|
||||
von: 13:21\\
|
||||
bis: 19:30
|
||||
}
|
||||
bis: 19:30}
|
||||
&
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
\vspace{2mm}
|
||||
\textbf{Kontrollfrage:}\\
|
||||
Wann wurde das Kriegerdenkmal\\
|
||||
eingerichtet?
|
||||
}
|
||||
eingerichtet?}
|
||||
\\
|
||||
\hline
|
||||
|
||||
% Row 2 (Upper card) - height 2.833cm
|
||||
% Row 2
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
\vspace{2mm}
|
||||
\textbf{Nr. 2:} Km 57 -- „Nationalpark-Tor" im\\
|
||||
\textbf{Nr. 2:} Km 57 -- ,,Nationalpark-Tor`` im\\
|
||||
alten Bahnhofsgebäude, Heimbach\\
|
||||
\\
|
||||
\textbf{Kontrollzeit}\\
|
||||
von: 9:11\\
|
||||
bis: 12:21
|
||||
}
|
||||
bis: 12:21}
|
||||
&
|
||||
\parbox[c][\rowheight][c]{6.5cm}{%
|
||||
% Empty for stamps
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
}
|
||||
&
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
\vspace{2mm}
|
||||
\textbf{Nr. 5:} Km 205 - Unisport\\
|
||||
\textbf{Nr. 5:} Km 205 -- Unisport\\
|
||||
Nachtigallenweg 86, Bonn\\
|
||||
\\
|
||||
\textbf{Kontrollzeit}\\
|
||||
von: 13:23\\
|
||||
bis: 21:00
|
||||
}
|
||||
bis: 21:00}
|
||||
&
|
||||
\parbox[c][\rowheight][c]{6.5cm}{%
|
||||
% Empty
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
}
|
||||
\\
|
||||
\hline
|
||||
|
||||
% Row 3 (Upper card) - height 2.833cm
|
||||
% Row 3
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
\vspace{2mm}
|
||||
\textbf{Nr. 3:} Km 100 - Friterie „Au Petit\\
|
||||
Creux" oder Total-Tankstelle, Ecke Rue\\
|
||||
\textbf{Nr. 3:} Km 100 -- Friterie ,,Au Petit\\
|
||||
Creux`` oder Total-Tankstelle, Ecke Rue\\
|
||||
de Botrange/Rue de Charmilles, Waimes\\
|
||||
\textbf{Kontrollzeit}\\
|
||||
von: 11:26\\
|
||||
bis: 15:10
|
||||
bis: 15:10}
|
||||
&
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
}
|
||||
&
|
||||
\parbox[c][\rowheight][c]{6.5cm}{%
|
||||
% Empty for stamps
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
}
|
||||
&
|
||||
\parbox[c][\rowheight][c]{6.5cm}{%
|
||||
% Empty
|
||||
}
|
||||
&
|
||||
\parbox[c][\rowheight][c]{6.5cm}{%
|
||||
% Empty
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
}
|
||||
\\
|
||||
\hline
|
||||
@@ -121,98 +100,86 @@ bis: 15:10
|
||||
|
||||
\vspace{1.8cm}
|
||||
|
||||
% Lower card table (rows 4-6)
|
||||
% Lower card table (rows 1-3, identical)
|
||||
\noindent
|
||||
\begin{tabular}{|p{6.6cm}|p{6.6cm}|p{6.6cm}|p{6.6cm}|}
|
||||
\hline
|
||||
% Row 1 (Lower card)
|
||||
% Row 1
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
\vspace{2mm}
|
||||
\textbf{Nr. 1:} Km 0 - Unisport\\
|
||||
\textbf{Nr. 1:} Km 0 -- Unisport\\
|
||||
Nachtigallenweg 86, Bonn\\
|
||||
\\
|
||||
\textbf{Kontrollzeit}\\
|
||||
von: 7:30\\
|
||||
bis: 8:30
|
||||
}
|
||||
bis: 8:30}
|
||||
&
|
||||
\parbox[c][\rowheight][c]{6.5cm}{%
|
||||
% Empty for stamps
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
}
|
||||
&
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
\vspace{2mm}
|
||||
\textbf{Nr. 4:} Km 165 Mahlberg Ecke K50,\\
|
||||
\textbf{Nr. 4:} Km 165 -- Mahlberg Ecke K50,\\
|
||||
Breitestraße\\
|
||||
\textbf{Kontrollzeit}\\
|
||||
von: 13:21\\
|
||||
bis: 19:30
|
||||
}
|
||||
bis: 19:30}
|
||||
&
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
\vspace{2mm}
|
||||
\textbf{Kontrollfrage:}\\
|
||||
Wann wurde das Kriegerdenkmal\\
|
||||
eingerichtet?
|
||||
}
|
||||
eingerichtet?}
|
||||
\\
|
||||
\hline
|
||||
|
||||
% Row 2 (Lower card) - height 2.833cm
|
||||
% Row 2
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
\vspace{2mm}
|
||||
\textbf{Nr. 2:} Km 57 -- „Nationalpark-Tor" im\\
|
||||
\textbf{Nr. 2:} Km 57 -- ,,Nationalpark-Tor`` im\\
|
||||
alten Bahnhofsgebäude, Heimbach\\
|
||||
\\
|
||||
\textbf{Kontrollzeit}\\
|
||||
von: 9:11\\
|
||||
bis: 12:21
|
||||
}
|
||||
bis: 12:21}
|
||||
&
|
||||
\parbox[c][\rowheight][c]{6.5cm}{%
|
||||
% Empty for stamps
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
}
|
||||
&
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
\vspace{2mm}
|
||||
\textbf{Nr. 5:} Km 214 - Unisport\\
|
||||
\textbf{Nr. 5:} Km 205 -- Unisport\\
|
||||
Nachtigallenweg 86, Bonn\\
|
||||
\\
|
||||
\textbf{Kontrollzeit}\\
|
||||
von: 13:23\\
|
||||
bis: 21:00
|
||||
}
|
||||
bis: 21:00}
|
||||
&
|
||||
\parbox[c][\rowheight][c]{6.5cm}{%
|
||||
% Empty
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
}
|
||||
\\
|
||||
\hline
|
||||
|
||||
% Row 3 (Lower card) - height 2.833cm
|
||||
% Row 3
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
\vspace{2mm}
|
||||
\textbf{Nr. 3:} Km 100 - Friterie „Au Petit\\
|
||||
Creux" oder Total-Tankstelle, Ecke Rue\\
|
||||
\textbf{Nr. 3:} Km 100 -- Friterie ,,Au Petit\\
|
||||
Creux`` oder Total-Tankstelle, Ecke Rue\\
|
||||
de Botrange/Rue de Charmilles, Waimes\\
|
||||
\textbf{Kontrollzeit}\\
|
||||
von: 11:26\\
|
||||
bis: 15:10
|
||||
bis: 15:10}
|
||||
&
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
}
|
||||
&
|
||||
\parbox[c][\rowheight][c]{6.5cm}{%
|
||||
% Empty for stamps
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
}
|
||||
&
|
||||
\parbox[c][\rowheight][c]{6.5cm}{%
|
||||
% Empty
|
||||
}
|
||||
&
|
||||
\parbox[c][\rowheight][c]{6.5cm}{%
|
||||
% Empty
|
||||
\parbox[c][\rowheight][t]{6.5cm}{%
|
||||
}
|
||||
\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
|
||||
\end{document}
|
||||
\end{document}
|
||||
Reference in New Issue
Block a user