Build-Kommando fuer das Glossar: erzeuge_glossar_04.py

Der Erzeuger lag als Wegwerfskript ausserhalb des Repositorys - genau die
Falle, die in diesem Projekt schon zweimal zugeschnappt ist (web_04/,
titeltexte_04.py): eine Quelle, die nicht dort liegt, wo gearbeitet wird.

    python3 Operations_Research_mit_Python_Version_04/erzeuge_glossar_04.py
    python3 .../erzeuge_glossar_04.py --check     # nur pruefen

Die 234 Eintraege stehen in glossar_eintraege_04.py als Viertupel
(Anzeigename, Indexmarke, Definition, Verweisziel). Das Verweisziel ist
eingefroren, nicht berechnet: Die erste Fundstelle eines Begriffs ist oft
nicht die erklaerende - "Schattenpreis" faellt erstmals im LP-Schnellstart,
erklaert wird er im Abschnitt ueber Dualitaet. Ein Automatismus haette diese
Entscheidung jedes Mal neu und jedes Mal gleich falsch getroffen.

Drei Pruefungen, alle gegen das Buch statt gegen eine Annahme:

* Jede Indexmarke muss im Buchtext buchstabengetreu vorkommen - sonst
  entstuende ein zweiter Registereintrag fuer dasselbe Konzept.
* Jedes {ref:}-Ziel muss existieren.
* Kein Verweis darf auf das Glossar selbst zeigen.

Dazu die Handaenderungs-Erkennung nach dem Muster von
spiegle_statische_assets(): Ist 94_Anhang_Glossar.md neuer als ihre Quelle und
weicht ab, bricht der Lauf ab und nennt die Quelle, statt die Arbeit still zu
ueberschreiben. build_version_04.py --check ruft den Erzeuger mit auf, damit
eine veraltete Fassung nicht erst auffaellt, wenn ihn jemand zufaellig startet.

Ein Zwischenfall beim Einbau hat die Pruefung verbessert: Die erste Fassung
meldete 24 angebliche Tippfehler. Es waren keine - es sind die Begriffe, die
im ganzen Buch NUR im Glossar indexiert sind (Rebalancing, Volatilitaet,
Solver-Status ...). Automatisch ist das von einem Tippfehler nicht zu
unterscheiden, also stehen sie jetzt ausdruecklich in NUR_IM_GLOSSAR.

Der Beleg, dass der Erzeuger die Handarbeit exakt trifft: Er schreibt die
vorhandene Datei byte-identisch neu. Beide Waechter gegengeprueft - mit einer
Handaenderung an der .md und mit einem Tippfehler in einer Indexmarke.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
dschlueter 2026-09-08 21:28:53 +02:00
commit beff14094c
6 changed files with 1728 additions and 0 deletions

View file

@ -2349,6 +2349,37 @@ einbuchstabige Überschriften; der Index bleibt bei 631 Einträgen.
Kosten: PDF von 759 auf **772 Seiten**. Jede Definition hat zwei bis drei Sätze, alphabetisch
nach deutschem Alphabet mit Umlauten als Grundbuchstabe.
**Nachgereicht: ein Build-Kommando.** Der Erzeuger lag zunächst als Wegwerfskript außerhalb
des Repositorys — genau die Falle, die in diesem Projekt schon zweimal zugeschnappt ist
(`web_04/`, `titeltexte_04.py`). Jetzt gilt:
```bash
python3 Operations_Research_mit_Python_Version_04/erzeuge_glossar_04.py
python3 .../erzeuge_glossar_04.py --check # nur pruefen
```
Die Einträge stehen in `glossar_eintraege_04.py` als Viertupel *(Anzeigename, Indexmarke,
Definition, Verweisziel)*. Das **Verweisziel ist eingefroren, nicht berechnet**: Die erste
Fundstelle eines Begriffs ist oft nicht die erklärende, und ein Automatismus hätte diese
Entscheidung jedes Mal neu und jedes Mal gleich falsch getroffen.
Drei Prüfungen, alle gegen das Buch statt gegen eine Annahme: Jede Indexmarke muss dort
buchstabengetreu vorkommen, jedes `{ref:}`-Ziel muss existieren, kein Verweis darf auf das
Glossar selbst zeigen. Dazu die Handänderungs-Erkennung nach dem Muster von
`spiegle_statische_assets()`: Ist die `.md` neuer als ihre Quelle und weicht ab, bricht der
Lauf ab und nennt die Quelle, statt die Arbeit still zu überschreiben.
**Ein Zwischenfall beim Einbau, der die Prüfung verbessert hat:** Die erste Fassung meldete 24
angebliche Tippfehler. Es waren keine — es sind die Begriffe, die im ganzen Buch *nur* im
Glossar indexiert sind (`Rebalancing`, `Volatilität`, `Solver-Status` …). Automatisch ist das
von einem Tippfehler nicht zu unterscheiden, also stehen sie jetzt ausdrücklich in
`NUR_IM_GLOSSAR`. Wer künftig einen Begriff mit unbekannter Marke aufnimmt, muss sich
entscheiden — Schreibweise korrigieren oder bewusst eintragen.
Der Beleg, dass der Erzeuger die Handarbeit exakt trifft: Er schreibt die vorhandene Datei
**byte-identisch** neu. `build_version_04.py --check` ruft ihn mit auf, damit eine veraltete
Fassung nicht erst auffällt, wenn jemand den Erzeuger zufällig startet.
---
## 8. Commit-Historie des V04-Strangs