Glossar: Sprungleiste, Abkürzungen ausschreiben, CLAUDE.md-Regel
Sprungleiste (A B C ... Z) im Glossar — wie im Stichwortverzeichnis:
ein Klick je Buchstabe springt zur '## <Buchstabe>'-Überschrift.
Eingebaut in erzeuge_glossar_04.py als {=html}-Rohblock (nur HTML,
im PDF bedeutungslos).
Abkürzungen beim ersten Mal ausschreiben: 'VaR' → 'VaR (Value at Risk)',
'EVPI' → 'EVPI (Expected Value of Perfect Information)' als Link-Text
bei der ersten Nennung je Datei; danach nur die Abkürzung. 19 Abkürzungen
erfasst (VaR, CVaR, KKT, NLP, MILP, EVPI, LP, QP, ...).
CLAUDE.md: Regel 'Glossar-Links: Fachbegriffe im Fließtext automatisch
verlinkt' dokumentiert — resolve_glossar(), LINK_TEXTE,
ABBREV_ERSTE_NENNUNG, _NICHT_AUTO_LINKEN, _ZU_KURZ_ABK, .glossar-link,
{gl:}-Marke, Sprungleiste, {#gloss:<slug>}-Anchor.
This commit is contained in:
parent
e8abb66d75
commit
0e2c011732
47 changed files with 545 additions and 561 deletions
21
CLAUDE.md
21
CLAUDE.md
|
|
@ -113,7 +113,7 @@ bewacht jede Familie. Konkret:
|
|||
einer bereits nummerierten Überschrift. Verwiesen wird auf
|
||||
`{ref:sec:<kapitel>-denkfehler}`.
|
||||
* Im Fließtext `{ref:<label>}`, nie eine Literalzahl.
|
||||
* **Das Glossar (Anhang E) wird erzeugt.** Die 234 Einträge stehen in
|
||||
* **Das Glossar (Anhang E) wird erzeugt.** Die 239 Einträge stehen in
|
||||
`glossar_eintraege_04.py` als Viertupel *(Anzeigename, Indexmarke, Definition,
|
||||
Verweisziel)*; `erzeuge_glossar_04.py` schreibt daraus `94_Anhang_Glossar.md`. Die `.md`
|
||||
**nicht** von Hand bearbeiten — `--check` bemerkt es und nennt die Quelle. Der Erzeuger
|
||||
|
|
@ -122,6 +122,25 @@ bewacht jede Familie. Konkret:
|
|||
existieren, und kein Verweis darf auf das Glossar selbst zeigen. Begriffe, die es nur im
|
||||
Glossar gibt, stehen ausdrücklich in `NUR_IM_GLOSSAR` — sonst ließe sich ein solcher Fall
|
||||
nicht von einem Tippfehler unterscheiden.
|
||||
* **Glossar-Links: Fachbegriffe im Fließtext werden automatisch verlinkt.**
|
||||
`resolve_glossar()` in `build_version_04.py` sucht beim Bau jeden Fließtext nach
|
||||
Glossar-Begriffen ab und ersetzt die **erste Nennung je Begriff je Datei** durch einen
|
||||
Link auf den Glossar-Eintrag (`#gloss:<slug>` im Gesamtdokument,
|
||||
`anhang-glossar.md#gloss:<slug>` in den Einzelseiten). Die `.md`-Quelldateien enthalten
|
||||
**keine** manuellen Link-Marken — der Build macht es automatisch, sodass Textänderungen
|
||||
nichts nachziehen. Ausgenommen vom Auto-Linking: Code-Blöcke, Inline-Code, Marken
|
||||
(`{idx:}`, `{ref:}`), Markdown-Links und Überschriften. Die Slug-Map `LINK_TEXTE` und
|
||||
die Erste-Nennung-Map `ABBREV_ERSTE_NENNUNG` werden in `glossar_eintraege_04.py`
|
||||
automatisch aus `EINTRAEGE` generiert. **Abkürzungen** (`VaR`, `CVaR`, `KKT` …) werden
|
||||
beim ersten Vorkommen ausgeschrieben: „VaR (Value at Risk)“ als Link-Text, danach nur
|
||||
„VaR“. **Mehrdeutige** Begriffe („Lösung“, „Matrix“, „Variable“ …), die im Glossar
|
||||
stehen aber nicht jedes Vorkommen verlinkt werden soll, stehen in `_NICHT_AUTO_LINKEN`;
|
||||
wer sie an einer Stelle trotzdem verlinken will, setzt `{gl:Begriff}`. **Zu kurze**
|
||||
Abkürzungen (`OR` — taucht als Teilstring in `OR-Tools` auf) stehen in `_ZU_KURZ_ABK`
|
||||
und werden nur mit `{gl:OR}` verlinkt. Die CSS-Klasse `.glossar-link` (dezente
|
||||
gestrichelte Unterstreichung, nicht blau) steht in `web_04/assets/site.css`.
|
||||
`erzeuge_glossar_04.py` gibt jedem Eintrag einen `{#gloss:<slug>}`-Anchor und eine
|
||||
alphabetische **Sprungleiste** (A B C …) wie das Stichwortverzeichnis.
|
||||
* **Der Titeltext steht in `Operations_Research_mit_Python_Version_04/NEUER_TITEL.md`** und
|
||||
nirgends sonst. `titeltexte_04.py` liest ihn; die PDF-Titelseite
|
||||
(`bilder_04/erzeuge_titelseite.py`) und der Hero-Block der Startseite
|
||||
|
|
|
|||
Loading…
Reference in a new issue