Vorwort-Signatur (Köln, Datum + Dieter Schlüter) und Versionsnummer v<Std>.<Min> im Stand-Datum

- Vorwort endet mit „Köln, im <aktueller Monat> <Jahr>“ und rechtsbuendigem
  Autornamen (LaTeX flushright + HTML text-align:right)
- Stand-Datum auf Titelseite und Website um Versionsnummer erweitert:
  „Stand: 10. September 2026  v16.09“ — v<Stunde>.<Minute> macht jeden
  Uebersetzungslauf unterscheidbar
- erzeuge_titelseite.py: datum_string() um Versionsnummer erweitert
- build_version_04.py: aktuelles_datum() um Versionsnummer erweitert,
  README_RE-Regex fuer Versionsnummer angepasst
- neues Platzhalter-System {vorwort_datum} analog zu {datum}
This commit is contained in:
dschlueter 2026-09-10 16:12:42 +02:00
commit 81ddb02d5c
12 changed files with 139 additions and 16 deletions

View file

@ -650,6 +650,18 @@ die Intuition auf, die man später beim Modellieren braucht.
Und drittens: **Nehmen Sie die Übungen ernst.** Sie sind nicht Beiwerk, sondern der Ort, an
dem aus Kenntnis Können wird.
Köln, im {vorwort_datum}
```{=latex}
\begin{flushright}
\textit{Dieter Schlüter}
\end{flushright}
```
```{=html}
<p style="text-align: right;"><em>Dieter Schlüter</em></p>
```
---
*Weiter mit:* [dem Verzeichnis Notation und Abkürzungen](01_Notation_und_Abkuerzungen.md) — oder direkt zu [{ref:kap:einfuehrung}](10_Einfuehrung_OR.md), wenn Sie die Notation lieber nachschlagen, sobald sie auftaucht.

View file

@ -157,4 +157,4 @@ Details zu den Lernpfaden stehen in [`00_Vorwort_und_Lesehilfe.md`](00_Vorwort_u
---
*Autor / Herausgeber: Dieter Schlüter · Stand: 10. September 2026*
*Autor / Herausgeber: Dieter Schlüter · Stand: 10. September 2026 v16.09*

View file

@ -191,9 +191,22 @@ MONATE = ["Januar", "Februar", "März", "April", "Mai", "Juni",
def aktuelles_datum() -> str:
"""Heutiges Datum als '5. September 2026' (locale-unabhaengig)."""
"""Heutiges Datum+Version als '5. September 2026 v11.55' (locale-unabhaengig).
Die Versionsnummer v<Std>.<Min> (24er Format, zweistellig) macht jeden
Uebersetzungslauf unterscheidbar - nicht nur einen pro Tag.
"""
n = datetime.datetime.now()
return f"{n.day}. {MONATE[n.month - 1]} {n.year} v{n.hour:02d}.{n.minute:02d}"
def aktuelles_monat_jahr() -> str:
"""Heutiges Datum als 'September 2026' (locale-unabhaengig).
Fuer die Vorwort-Signatur 'Köln, im {vorwort_datum}'.
"""
n = datetime.date.today()
return f"{n.day}. {MONATE[n.month - 1]} {n.year}"
return f"{MONATE[n.month - 1]} {n.year}"
def pruefe_dateien() -> list[str]:
@ -1100,7 +1113,7 @@ def erzeuge_titelseite() -> None:
# README.md wird direkt auf GitHub gerendert, deshalb steht dort kein
# Platzhalter '{datum}' (waere dort unpassend sichtbar), sondern ein lesbares
# Datum, das der Build bei jedem Lauf auf den aktuellen Stand bringt.
README_RE = re.compile(r"Stand: \d+\. \w+ \d{4}")
README_RE = re.compile(r"Stand: \d+\. \w+ \d{4}(?: v\d{2}\.\d{2})?")
def aktualisiere_readme_datum(datum: str) -> None:
@ -1135,6 +1148,8 @@ def baue_markdown() -> str:
# Datum-Platzhalter 'Stand: {datum}' durch das heutige Datum ersetzen
# (nur in Dateien, die den Platzhalter enthalten - z. B. Vorwort).
inhalt = inhalt.replace("Stand: {datum}", f"Stand: {datum}")
# Vorwort-Signatur 'Köln, im {vorwort_datum}' dynamisch setzen.
inhalt = inhalt.replace("{vorwort_datum}", aktuelles_monat_jahr())
# Inhaltsverzeichnis vor dem Vorwort einfuegen (LaTeX-Rohblock)
if TOC_MARKE in inhalt and i == 0:
@ -2275,6 +2290,7 @@ def baue_kapitel_seiten(html_verz: str, datei_seite: dict, labels: dict,
text = wandle_querverweise_seite(text, datei_seite, eintrag["seite"])
datum = aktuelles_datum()
text = text.replace("Stand: {datum}", f"Stand: {datum}")
text = text.replace("{vorwort_datum}", aktuelles_monat_jahr())
text = reflow_markdown(text)
text = resolve_numbering_seite(text, eintrag["seite"], labels, label_seite)
text = resolve_index(text)