Commit graph operations_research/OR_HTML_04/anhang-glossar.html
Author SHA1 Message Date
dschlueter
99cb85907c Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker)
Neues Skript erzeuge_stichwortregister_04.py:
- Sucht alle Glossarbegriffe (Anzeigename) in den Kapiteldateien
  und markiert die erste Fundstelle je Datei mit {idx:Indexmarke}
- Termliste aus glossar_eintraege_04.py + vorhandenen {idx:...}-Markern
- Idempotent: erkennt vorhandene Marker und überspringt sie
- Überspringt Codeblöcke, Inline-Code und Math
- --check und --bericht Modi
- 605 Marker eingefügt (2 Durchläufe: 597 + 8)

Zusätzlich:
- titeltexte_04.py _saeubern(): entfernt {idx:...}-Marker vor
  Titeltext-Vergleich (pruefe_titeltexte schlug sonst fehl)
2026-09-10 00:07:01 +02:00
dschlueter
7835cf322d Glossar von 92 auf 234 Eintraege
Auftrag: alle Markdown-Dateien lesen, jeden Fachbegriff, jede Abkuerzung, jeden
Algorithmus- und Bibliotheksnamen extrahieren, das Glossar vollstaendig neu
aufsetzen.

Die Begriffsliste wurde geerntet, nicht erfunden. Grundlage sind die 219
{idx:}-Marken des Buchs - die bereits kuratierte Begriffsliste des Autors. 92
davon hatten einen Glossareintrag, 143 nicht. Dazu Abkuerzungen und
Bibliotheken aus dem Fliesstext ohne Indexmarke: GIL, GLOP, MIQP, MSE, MAPE,
DTO, Solver-Status, NumPy, SciPy, pandas, scikit-learn, yfinance, pydantic,
pymoo, Matplotlib, Plotly.

Auch die Querverweise sind gemessen: Fuer jeden Indexbegriff wurde die erste
Fundstelle bestimmt und daraus der umgebende {#sec:}-Abschnitt abgeleitet.
Damit steht am Ende jedes Eintrags ein {ref:}, das der Build zur richtigen
Nummer aufloest - eine harte "siehe Kapitel 5" haette gegen die Grundregel des
Projekts verstossen.

Zwei Funde beim Gegenpruefen:

* 23 Eintraege haetten auf sich selbst verwiesen. Ihr Begriff ist im ganzen
  Buch nur im Glossar mit {idx:} markiert - die "erste Fundstelle" war also
  diese Datei. Im PDF stand dann "-> Anhang E" mitten in Anhang E.
* Die erste Fundstelle ist nicht immer die erklaerende. "Schattenpreis"
  landete beim LP-Schnellstart statt beim Abschnitt ueber Dualitaet. Fuer alle
  92 Altbestandseintraege gelten jetzt die von Hand gesetzten Ziele der
  Vorgaengerfassung; der Erzeuger bricht ab, wenn ein Verweis ins Glossar
  selbst zeigt.

Zwei Formatfragen entschied die Probe am echten Build:

* "## A" als Buchstabengruppe funktioniert und wird NICHT nummeriert -
  ABSCHNITT_RE verlangt ein {#sec:}-Label, das hier fehlt.
* Pandoc-Definitionslisten ueberleben den Bau nicht: reflow_markdown() zieht
  die ":"-Fortsetzungszeile in den Begriffsabsatz, der Doppelpunkt bleibt
  sichtbar stehen. Die Absatzform rendert sauber in HTML und PDF.

Der Beleg, dass die Schreibweisen stimmen: Das Stichwortregister waechst von
219 auf 220 Hauptbegriffe - genau ein neuer Begriff (Solver-Status). Alle
uebrigen 218 Indexmarken trafen buchstabengetreu auf bestehende Eintraege.

Nebenbei: Die 25 Buchstabenueberschriften waeren als 25 Treffer in den
Suchindex geraten und bei jedem eingetippten Buchstaben oben gestanden.
_erfasse_suchindex() ueberspringt jetzt einbuchstabige Ueberschriften; der
Index bleibt bei 631 Eintraegen.

PDF von 759 auf 772 Seiten. Veroeffentlicht: 4 Dateien uebertragen, alle
dreizehn HTTP-Proben richtig, 234 Eintraege auf dem Server gegengeprueft.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 21:17:20 +02:00
dschlueter
47d63dfe9c Menue: ZIP-Punkt nicht mehr eingerueckt, "(eine HTML-Seite)"
Zwei Beschriftungsaenderungen in baue_sidebar_html():

* "Download Notebooks als ZIP" steht jetzt auf gleicher Hoehe wie die
  uebrigen Punkte statt eingerueckt unter "Notebooks".
* "Gesamtdokument (eine Seite)" -> "(eine HTML-Seite)". Direkt darunter steht
  "Download Buch als PDF"; ohne das Wort HTML liess sich nicht erkennen, dass
  es zwei verschiedene Formate sind.

Mit der Einrueckung faellt ihre Ursache weg: Die CSS-Klasse
.sidebar-unterpunkt in web_04/assets/site.css war eigens dafuer angelegt
worden und wird von nichts mehr benutzt - entfernt, statt als tote Regel
stehen zu bleiben.

Veroeffentlicht: 42 Dateien uebertragen (die Seiten, nichts sonst - dank
--checksum), 0 geloescht, alle vierzehn HTTP-Proben richtig. Gegenprobe vom
Server: kein sidebar-unterpunkt mehr im ausgelieferten HTML.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 19:24:54 +02:00
dschlueter
e3ff5846f6 Menuepunkt praeziser: "Download Buch als PDF"
Der Eintrag stand direkt unter "Download Notebooks als ZIP"; ohne das Wort
"Buch" liess sich nicht auf einen Blick sehen, was da heruntergeladen wird.

Geaendert an der einen Stelle in baue_sidebar_html(), von dort auf alle 41
Seiten. Veroeffentlicht: 151 Dateien uebertragen, 0 geloescht, alle vierzehn
HTTP-Proben richtig.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 16:54:24 +02:00
dschlueter
b6de2802fc Glossar und Literatur trennen, Menue um Glossar und ZIP-Download ergaenzen
94_Anhang_Glossar_und_Literatur.md enthielt zwei verschiedene Nachschlagewerke
in einer Datei. Jetzt sind es zwei Anhaenge: E = Glossar (92 Eintraege),
F = Literaturverzeichnis (6 Kategorien). Aus 5 Anhaengen werden 6, aus 36
Kapiteldateien 37.

Die Teilung war billig: Die Datei trug bereits zwei eigenstaendige
Ueberschriften mit nichts als einem --- dazwischen, und im ganzen Buch gab es
genau einen {ref:anhang:glossar-literatur} - die Weiter-mit-Zeile im
Spickzettel. Geprueft: keine Inhaltszeile verloren, alle 92 Glossareintraege
auf der neuen Seite, Indexmarken unveraendert bei 328.

Das Seitenleisten-Menue bekommt zwei Eintraege:

  Beispielprogramme
  Notebooks
    Download Notebooks als ZIP     <- neu, eingerueckt
  Glossar                          <- neu
  Stichwortverzeichnis
  Gesamtdokument (eine Seite)
  Download als PDF

Der ZIP-Link benutzt dieselbe Konstante wie baue_notebooks_seite() beim
Schreiben des Archivs, damit Link und Datei nicht auseinanderlaufen. Das
Glossar erscheint absichtlich doppelt: hier als Abkuerzung neben dem
Stichwortverzeichnis, und unten in der Gruppe "Anhaenge", weil es ein Anhang
ist.

Die verwaiste anhang-glossar-literatur.html von Hand entfernt - der Build
raeumt alte Seiten nicht ab.

Nebenbefund, in PROGRESS.md festgehalten: OR_HTML_04/assets/site.css ist eine
von Hand gepflegte Quelle, die im als "generiert" beschriebenen Verzeichnis
liegt. Der Build schreibt sie nie. Dasselbe gilt fuer site.js, icons.svg,
highlight.css und plotly.min.js.

--check: 5 Teile, 23 Kapitel, 6 Anhaenge, 296 Abschnitte, 825 Querverweise,
328 Indexmarken, 37 Dateien, 28.544 Zeilen, 305 Hauptueberschriften, keine
Warnung. PDF unveraendert 759 Seiten.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 15:48:57 +02:00
Renamed from OR_HTML_04/anhang-glossar-literatur.html (Browse further)