From beff14094c468740c2ec3266b560f6053c7f4c51 Mon Sep 17 00:00:00 2001 From: dschlueter Date: Tue, 8 Sep 2026 21:28:53 +0200 Subject: [PATCH] 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 --- CLAUDE.md | 10 + .../build_version_04.py | 18 + .../erzeuge_glossar_04.py | 246 +++ .../glossar_eintraege_04.py | 1420 +++++++++++++++++ PROGRESS.md | 31 + README.md | 3 + 6 files changed, 1728 insertions(+) create mode 100755 Operations_Research_mit_Python_Version_04/erzeuge_glossar_04.py create mode 100644 Operations_Research_mit_Python_Version_04/glossar_eintraege_04.py diff --git a/CLAUDE.md b/CLAUDE.md index 465d639..7e29bbf 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -63,6 +63,7 @@ cd Version_04 python3 Operations_Research_mit_Python_Version_04/build_version_04.py --check # nur prüfen python3 Operations_Research_mit_Python_Version_04/build_version_04.py --pdf --html python3 Operations_Research_mit_Python_Version_04/extract_programme_04.py +python3 Operations_Research_mit_Python_Version_04/erzeuge_glossar_04.py # Anhang E python3 Operations_Research_mit_Python_Version_04/veroeffentliche_04.py # hochladen ``` @@ -109,6 +110,15 @@ bewacht jede Familie. Konkret: einer bereits nummerierten Überschrift. Verwiesen wird auf `{ref:sec:-denkfehler}`. * Im Fließtext `{ref: