Sie sind hier

Warum gibt es \RedeclareTOCStyleEntry nicht?

In der aktuellen (2018-03-27) deutschen Dokumentation findet sich auf S. 406 der Befehl \RedeclareTOCStyleEntry, der mir beim kompilieren aber als undefiniert angezeigt wird. Ist das ein Tippfehler oder mache ich was falsch?

Das muss durch \DeclareTOCStyleEntry ersetzt werden.

Hat es denn einen Grund, dass es den Befehl – im Gegensatz zu \RedeclareSectionCommand nicht gibt?

Tobi W_
Grafikdesign und TeX-Beratung

tobiw.de
mail@tobiw.de

Mein Blog: TeX-Beispiel des Monats

Bild von Markus Kohm

In erster Linie, weil ich es für die KOMA-Script-Klassen nicht brauche und es von den wenigen Paketautoren, die tocbasic verwenden (AFAIK derzeit nur Clemens in chemmacros und das auch nur unter gewissen Umständen), offenbar ebenfalls nicht benötigt wird. Wozu soll ich in einem nur wenig genutzten Helferpaket noch mehr ungenutzte Leistungsfähigkeit implementieren als ohnehin schon vorhanden ist?

Was genau soll \RedeclareTOCStyleEntry denn anderes machen als \DeclareTOCStyleEntry? Natürlich kann ich testen, ob es einen Befehl \l@Ebenenname bereits gibt. Aber würde das genügen? Abhängig vom Stil existieren weit mehr Befehle zu einer Ebene. Soll ich die alle ebenfalls testen (geht gar nicht, weil der Anwender eigene Stile definieren kann).

Außerdem liegt diese Schnittstelle im Gegensatz zu der für Befehle noch eine Ebene tiefer. Deshalb ist die Angabe eines Stils hier auch obligatorisch und man kann zwar über \DeclareSectionCommand etc. auch Optionen für den Verzeichnisbefehl setzen aber nicht umgekehrt über \DeclareTOCStyleEntry Befehle für Gliederungsebenen erzeugen. Und auf der Ebene sollte es ein leichtes sein, per Bedarf mit \ifdefinedorrelax zu prüfen, ob bestimmte Befehle bereits existieren oder nicht.

tocbasic bietet übrigens auch nur ein \DeclareNewTOC aber kein \DeclareTOC oder \RedeclareTOC oder gar \ModifyTOC. Letzteres habe ich selbst sogar schon vermisst (weiß mir dann aber natürlich zu helfen ;-) ). Irgendwann habe ich auch mal angefangen an der Stelle mehr zu implementieren. Der Aufwand wurde aber so groß, dass ich letztlich jeden dieser Befehle komplett neu und unabhängig von den anderen hätte implementieren müssen. Bei dem Monster, das \DeclareNewTOC ist, war mir dann das Risiko zu groß, dass bei Änderung an einem der Befehle bei einem der anderen etwas übersehen wird, und so am Ende mehr Probleme als Nutzen entstehen.

Das Paket ist in dieser Beziehung insgesamt deutlich minimalistischer als die Klassen.

BTW: Es gab (und gibt noch immer) Überlegungen, die Erklärungen zu \DeclareSectionCommand etc. in Teil I der Anleitung zu verschieben. Für tocbasic gibt es solche Überlegungen jedoch nicht.

Alles klar. Danke für die ausführliche Antwort :-)

Tobi W_
Grafikdesign und TeX-Beratung

tobiw.de
mail@tobiw.de

Mein Blog: TeX-Beispiel des Monats

Comments for "Warum gibt es \RedeclareTOCStyleEntry nicht?" abonnieren