# CLAUDE.md Kontext zum Repository *Optimierte Entscheidungsfindung mit Python*, Version 04. ## Vor jeder Arbeit zuerst lesen * **`PLAN.md`** — das Ziel und der Weg dorthin: alle sechs Phasen, die Zielstruktur, der Kapitel-Baukasten, die dreizehn verbindlichen Regeln, die Verifikationsschritte. Ändert sich nur bei einem Kurswechsel. * **`PROGRESS.md`** — der erreichte Stand: eine Checkliste zur Wiederaufnahme, die Referenzwerte zum Gegenprüfen, was erledigt ist, welche Funde es unterwegs gab und **was der konkret nächste Schritt ist**. Wird nach jedem Arbeitsschritt fortgeschrieben. Ohne diese beiden Dateien fehlt der Kontext, um sinnvoll weiterzuarbeiten — die Kapiteltexte allein verraten weder den Stand noch die Konventionen. Alle sechs Phasen sind abgeschlossen; `PROGRESS.md` Abschnitt 7 nennt, was bewusst offen geblieben ist und warum. --- ## Struktur Dieses Verzeichnis ist die Wurzel; alle Skripte leiten ihre Pfade daraus ab (`BASIS = dirname(dirname(__file__))` bzw. `dirname(HIER)`). ``` Operations_Research_mit_Python_Version_04/ Quelle: 31 Kapiteldateien + Build-Skripte bilder_04/ Quelle: Diagramme + erzeuge_*.py-Generatoren Operations_Research_mit_Python_Version_04.md generiert: Gesamtdokument Operations_Research_mit_Python_Version_04.pdf generiert: PDF (xelatex) OR_HTML_04/ generiert: Mehrseiten-Website Operations_Research_mit_Python_Version_04_Programme/ generiert: Beispielprogramme Notebooks_04/ generiert: ein .ipynb je Kapitel Kritik_und_Verbesserungsvorschlaege/ Quelle: Rezension, Verbesserungsvorschläge, NEUER_TITEL.md (Vorlage des Titelblatts) pyproject.toml Quelle: Abhängigkeiten in Gruppen pandoc-defaults-basis.yaml, pandoc/, pandoc-defaults-buch.yaml PDF-Konfiguration ``` Nur die als **Quelle** markierten Verzeichnisse werden von Hand bearbeitet. Dieses Verzeichnis ist seit dem 08.09.2026 ein **eigenes Git-Repository** (`main`). Das übergeordnete `OR_mit_Python/` ist nur noch das Archiv der Historie bis zur Trennung und verwaltet aktiv allein `Version_03`; es trägt `Version_04/` in seiner `.gitignore`. Commits gehören ab jetzt hierher. ## Build ```bash 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 ``` `--check` prüft mehr als die Struktur: fehlende Codezäune, Links auf nicht existierende Dateien und **harte Kapitel-/Abschnitts-/Aufgabennummern im Quelltext**. Es meldet Datei und Zeile. Der Suchausdruck erlaubt beliebigen Zwischenraum — der letzte gefundene Fall war ein `Handrechnung\n12.1` über zwei Zeilen, an dem jede zeilenweise Suche vorbeiläuft. `build_version_04.py` fasst nicht notwendige harte Zeilenumbrüche innerhalb von Absätzen zusammen (`reflow_markdown()`) — viele Markdown-Renderer stellen einen einzelnen Umbruch sonst fälschlich als sichtbaren Umbruch dar. --- ## Die wichtigsten Konventionen **Keine abgeleiteten Zahlen im Quelltext.** Das ist die Regel, an der dieses Projekt am häufigsten gescheitert ist — sie wurde vier Mal an verschiedenen Stellen verletzt gefunden (Anhang A, 66 Programm-Docstrings, die Übersichtstabellen der Anhänge, `CLAUDE.md` selbst). Konkret: * Überschriften: `# Kapitel: {#kap: