Die Abbildungs- und Tabellenverzeichnisse von KOMA-Script enthalten normalerweise für jedes neue Kapitel einen vertikalen Abstand. Dadurch werden die Einträge optisch kapitelweise gruppiert. Statt des Abstandes kann KOMA-Script auch etwas anderes eintragen – doch das ist ein anderes Thema. Legt man eigene Verzeichnisse an, die entsprechend der genannten Gleitumgebungsverzeichnisse funktionieren sollen, so ist es natürlich wünschenswert, dass auch hier die Einträge gruppiert werden können.
In Absprache mit dem Autor des float-Pakets wurde deshalb in KOMA-Script vor Jahren folgendes Verhalten implementiert: Wenn eine Anweisung float@addtolists
existiert, so wird diese von KOMA-Script mit einem Argument aufgerufen, das dem letzten Argument der Anweisung \addtocontents
entspricht.
Den Paketautoren wurde damals empfohlen, eigene Definitionen wie folgt vorzunehmen:
\AtBeginDocument{% leider wegen float.sty notwendig \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname float@addtolists\endcsname\relax \else \let\foo@float@addtolists\float@addtolists \fi \let\float@addtolists\float@foo@addtolists } \newcommand{\foo@float@addtolists}[1]{} \newcommand{\float@foo@addtolists}[1]{% \addtocontents{fooextend}{#1}% \foo@float@addtolists{#1}% }
Dabei ist foo
durch ein sinnvolles, eindeutiges Kürzel (beispielsweise den Paketnamen) und fooextend
durch das Anhängsel der Verzeichnisdatei (beim Abbildungsverzeichnis wäre das beispielsweise lof
) zu ersetzen.
Bei Verwendung obigen Verfahrens war sichergestellt, dass es auch dann noch funktioniert, wenn mehrere Pakete \float@addtolists
verwenden wollen. Da das Paket float.sty im Gegensatz zu obigem Verfahren \float@addtolists
nicht erweitert, sondern hart umdefiniert, ist die Verwendung von \AtBeginDocument
leider notwendig. Alternativ waren Lösungen unter Verwendung von \BeforePackage
und \AfterPackage
(siehe scrlfile) denkbar
Die Welt dreht sich jedoch weiter und daher sei darauf hingewiesen, dass dieses einst vom KOMA-Script-Autor initiierte Verfahren in KOMA-Script sowohl aufgrund der nicht korrekten Umsetzung in float.sty als auch aufgrund anderer Unzulänglichkeiten inzwischen durch tocbasic.sty ersetzt wurde. Daher wird Klassen- und Paketautoren die Verwendung dieses Pakets, das weit mehr als nur die oben erwähnten Möglichkeiten bietet, empfohlen. Die Schnittstelle ist in der KOMA-Script-Anleitung ausführlich dokumentiert.