Titeltext: eine Quelle fuer PDF-Titelseite und Startseite

Die Startseite zeigte einen anderen Titeltext als das PDF. Der Text stand
VIERMAL im Repository: NEUER_TITEL.md, die Konstanten in
bilder_04/erzeuge_titelseite.py, der Titelblock des Vorworts - und noch einmal
fest einprogrammiert im Hero-Block von baue_landingpage().

Die Ursache ist messbar: Die drei Commits, die den Titel ueberarbeitet haben
(ca5621f, 199dd3b, 1659fb9 im Ursprungs-Repository), fassten jedes Mal
dieselben drei Dateien an. build_version_04.py war in keinem davon, und
OR_HTML_04/index.html taucht in ihren Dateilisten gar nicht auf. Online stand
deshalb:

  Unterzeile  "Von den mathematischen Grundlagen zur quantitativen
              Portfolio-Optimierung an den Finanzmaerkten."
  Kompendium  "Ein vollstaendiges Kompendium mit Algorithmen ..."
  Anwendungen fehlte ganz

Behandlung wie bei den neun Nummern-Funden zuvor: nicht die Kopie korrigieren,
sondern die Kopie abschaffen. Das neue titeltexte_04.py zerlegt NEUER_TITEL.md
in Titel, Untertitel, Kompendium- und Anwendungen-Absatz; PDF-Titelseite und
Startseite lesen dieselbe Funktion. Der Autor bleibt bewusst Konstante im
Generator - die Vorlage beschreibt das Buch, nicht sein Impressum.

Der entscheidende Beleg: Die neu erzeugte titelseite.svg ist BYTE-IDENTISCH
(97fb40d7...) zur vorherigen - der Umbau hat am PDF nachweislich nichts
veraendert. Auch nicht am Umbruch: Die frueher handgesetzten drei Zeilen
entstehen jetzt automatisch aus _umbrechen(), und zwar exakt so. Ein
Textvergleich ueber das SVG war uebrigens nicht moeglich - es enthaelt kein
einziges <text>-Element, matplotlib zeichnet alle 726 Buchstaben als Kurven.

Das Vorwort bleibt von Hand gepflegter Buchtext, wird aber von
pruefe_titeltexte() bei jedem --check gegen die Quelle gestellt. Gleich beim
ersten Lauf fand es einen echten Unterschied: Das Vorwort setzte einen
Geviertstrich, die Vorlage einen Halbgeviertstrich. Im Deutschen ist der
Halbgeviertstrich der richtige - das Vorwort folgt jetzt der Quelle.

Veroeffentlicht: 5 Dateien uebertragen, alle vierzehn HTTP-Proben richtig.
Gegenprobe vom Server: alle drei Absaetze der Startseite sind zeichengenau
identisch mit NEUER_TITEL.md.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
dschlueter 2026-09-08 19:39:49 +02:00
commit 022bd4eaca
15 changed files with 250 additions and 37 deletions

View file

@ -2192,6 +2192,47 @@ Seiten bei jedem Lauf neu, auch wenn sich nichts geändert hat; nach Zeitstempel
hätte das jedes Mal rund 19 MB sinnlose Übertragung bedeutet. Gemessen nach einem Neubau
ohne inhaltliche Änderung: **0 statt 151 Dateien**.
### 🐛 Zehnter Fund: Startseite und PDF-Titelseite zeigten verschiedene Texte
Die Frage lautete, warum die Titelseite der Online-Fassung einen anderen Text trägt als die
des PDFs. Die Antwort war messbar. Der Titeltext stand **viermal** im Repository:
`NEUER_TITEL.md`, die Konstanten in `bilder_04/erzeuge_titelseite.py`, der Titelblock des
Vorworts — und noch einmal fest einprogrammiert im Hero-Block von `baue_landingpage()`.
Die drei Commits, die den Titel überarbeitet haben (`ca5621f`, `199dd3b`, `1659fb9` im
Ursprungs-Repository), fassten jedes Mal dieselben drei Dateien an. **`build_version_04.py`
war in keinem davon**, und `OR_HTML_04/index.html` taucht in ihren Dateilisten überhaupt
nicht auf. Die Startseite zeigte deshalb:
| | PDF | Online (vorher) |
| --- | --- | --- |
| Unterzeile | „Von der mathematischen Modellierung zu praktischen intelligenten Lösungen für Betrieb, Technik und Finanzmärkte" | „Von den mathematischen Grundlagen zur quantitativen Portfolio-Optimierung an den Finanzmärkten." |
| Kompendium | „Ein **praxisorientiertes** Kompendium **für Entscheider** …" | „Ein **vollständiges** Kompendium mit **Algorithmen** …" |
| Anwendungen | vorhanden | **fehlte ganz** |
**Die Behandlung ist die inzwischen eingeübte:** Nicht die Kopie korrigieren, sondern die
Kopie abschaffen. `titeltexte_04.py` zerlegt `NEUER_TITEL.md` in Titel, Untertitel,
Kompendium- und Anwendungen-Absatz; PDF-Titelseite und Startseite lesen dieselbe Funktion.
Der Autor steht bewusst weiter als Konstante im Generator — die Vorlage beschreibt das Buch,
nicht sein Impressum.
**Der entscheidende Beleg:** Die neu erzeugte `titelseite.svg` ist **byte-identisch**
(`97fb40d7…`) zur vorherigen. Der Umbau hat am PDF nachweislich nichts verändert — auch
nicht am Titelumbruch: Die früher handgesetzten drei Zeilen („Optimierte" /
„Entscheidungsfindung" / „mit Python") entstehen jetzt automatisch aus `_umbrechen()`, und
zwar exakt so. Der Textvergleich über das SVG scheiterte übrigens: Es enthält **kein einziges
`<text>`-Element**, matplotlib zeichnet alle 726 Buchstaben als Kurven. Die Prüfsumme ist
hier der bessere Zeuge.
**Das Vorwort** bleibt von Hand gepflegter Buchtext, wird aber von `pruefe_titeltexte()` bei
jedem `--check` gegen die Quelle gestellt. Gleich beim ersten Lauf fand es einen echten
Unterschied: Das Vorwort setzte einen Geviertstrich („—"), die Vorlage einen
Halbgeviertstrich („–"). Im Deutschen ist der Halbgeviertstrich der richtige — das Vorwort
folgt jetzt der Quelle.
Damit ist jede der vier Stellen abgesichert: eine ist die Quelle, zwei werden daraus erzeugt,
eine wird geprüft.
---
## 8. Commit-Historie des V04-Strangs