Sie sind hier

Einträge in Verzeichnisse in Folge von Kapitelüberschriften

Bild von Markus Kohm

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.

Comments for "Einträge in Verzeichnisse in Folge von Kapitelüberschriften" abonnieren