diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx | 961 |
1 files changed, 961 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx new file mode 100644 index 00000000000..f5433c50b07 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx @@ -0,0 +1,961 @@ +% \CheckSum{457} +% \iffalse meta-comment +% ====================================================================== +% scrkernel-listsof.dtx +% Copyright (c) Markus Kohm, 2002-2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrkernel-listsof.dtx +% Copyright (c) Markus Kohm, 2002-2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% \fi +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \iffalse +%%% From File: $Id: scrkernel-listsof.dtx 1522 2013-11-22 08:11:42Z mjk $ +%<*driver> +% \fi +\ProvidesFile{scrkernel-listsof.dtx}[2013/11/22 v3.12 KOMA-Script + (lists of)] +% \iffalse +\documentclass[halfparskip-]{scrdoc} +\usepackage[english,ngerman]{babel} +\usepackage[latin1]{inputenc} +\CodelineIndex +\RecordChanges +\GetFileInfo{scrkernel-listsof.dtx} +\title{\KOMAScript{} \partname\ \texttt{\filename}% + \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} +\date{\filedate} +\author{Markus Kohm} + +\begin{document} + \maketitle + \tableofcontents + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.95}{2002/06/28}{% +% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} +% +% \section{Verzeichnisse} +% +% \LaTeX{} Klassen bieten eine ganze Reihe von Verzeichnissen. Thema +% dieses Abschnitts sind die Verzeichnisse der +% Gleitumgebungen und das Inhaltsverzeichnis. \KOMAScript{} bietet +% selbst das Verzeichnis der Gleittabellen und der Abbildungen. Es +% unterstützt außerdem die Verzeichnisse der mit dem \textsf{float} +% Paket angelegten Gleitumgebungen. +% +% Briefe verfügen über keine Verzeichnisse. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*!letter> +% \fi +% +% \iffalse +%<*option> +% \fi +% +% +% \subsection{Optionen für das Inhaltsverzeichnis} +% +% Einige Anweisungen und Einstellungen werden bereits für die Optionen +% benötigt und deshalb vorab definiert. +% +% \begin{macro}{\if@tocleft} +% \changes{v2.8q}{2001/11/14}{neuer Schalter} +% \changes{v2.98c}{2008/03/05}{wird früher definiert} +% \begin{macro}{\@toclefttrue} +% \begin{macro}{\@tocleftfalse} +% Die Wahl der Darstellungsart für das Inhaltsverzeichnis wird in einem +% Schalter gespeichert. +% \begin{macrocode} +\newif\if@tocleft +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{option}{toc} +% \changes{v2.98c}{2008/03/04}{Neue Option}^^A +% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit +% \cs{FamilyKeyStateProcessed}}^^A +% \changes{v3.12}{2013/08/26}{\cs{KOMA@options} durch +% \cs{KOMAExecuteOptions} ersetzt}^^A +% Dies ist die zentrale Option für Einstellungen des Inhaltsverzeichnisses. +% \begin{macrocode} +\KOMA@key{toc}{% + \KOMA@set@ncmdkey{toc}{@tempa}{% +% \end{macrocode} +% Es gibt Werte, um zu bestimmen, welche Verzeichnisse ins Inhaltsverzeichis +% aufgenommen werden. Eigentlich sind das Optionen der jeweiligen +% Verzeichnisses, aber das muss sich der Anwender ja nicht unbedingt merken. +% \begin{macrocode} + {noindex}{0},{noidx}{0},% + {index}{1},{idx}{1},% + {nolistof}{2},% + {listof}{3},% + {listofnumbered}{4},{numberedlistof}{4},% + {nobibliography}{5},{nobib}{5},% + {bibliography}{6},{bib}{6},% + {bibliographynumbered}{7},{bibnumbered}{7},{numberedbibliography}{7},% + {numberedbib}{7},% +% \end{macrocode} +% Dann gibt es Optionen für die Darstellungsarten des +% Inhaltsverzeichnisses. Die Variante \texttt{graduated} ist die altbekannte +% Variante. Bei \texttt{flat} hingegen wird eine tabellenartige Form +% verwendet, bei der die Nummern, Texte und Seitenzahlen jeweils untereinander +% stehen. Der für die Nummern benötigte Platz wird dabei automatisch +% ermittelt. +% \begin{macrocode} + {flat}{8},{left}{8},% + {graduated}{9},{indent}{9},{indented}{9},% +% \end{macrocode} +% \changes{v3.12}{2014/09/24}{neue Werte \texttt{numberline} und +% \texttt{nonumberline}}%^^A +% Außerdem können die nicht nummerierten Einträge ggf. ebenfalls mit +% \cs{numberline} eingerückt werden. Das geht über ein Feature von +% \textsf{tocbasic}. +% \begin{macrocode} + {indenttextentries}{10},{indentunnumbered}{10},{numberline}{10},% + {leftaligntextentries}{11},{leftalignunnumbered}{11},{nonumberline}{11}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \KOMAExecuteOptions{index=notoc}% + \or + \KOMAExecuteOptions{index=totoc}% + \or + \KOMAExecuteOptions{listof=notoc}% + \or + \KOMAExecuteOptions{listof=totoc}% + \or + \KOMAExecuteOptions{listof=numbered}% + \or + \KOMAExecuteOptions{bibliography=nottotoc}% + \or + \KOMAExecuteOptions{bibliography=totoc}% + \or + \KOMAExecuteOptions{bibliography=totocnumbered}% + \or + \@toclefttrue + \or + \@tocleftfalse + \or + \setuptoc{toc}{numberline}% + \or + \unsettoc{toc}{numberline}% + \fi + \fi +} +% \end{macrocode} +% \end{option} +% +% \begin{option}{tocleft} +% \changes{v2.8q}{2001/11/14}{neue Option} +% \changes{v2.98c}{2008/03/05}{obsolet} +% \changes{v3.01a}{2008/11/20}{deprecated} +% \begin{option}{tocindent} +% \changes{v2.8q}{2001/11/14}{neue Option} +% \changes{v2.98c}{2008/03/05}{obsolet} +% \changes{v3.01a}{2008/11/20}{deprecated} +% \begin{macrocode} +\KOMA@DeclareDeprecatedOption{tocleft}{toc=flat} +\KOMA@DeclareDeprecatedOption{tocindent}{toc=graduated} +% \end{macrocode} +% \end{option} +% \end{option} +% +% +% \subsection{Optionen für die Gleitumgebungen} +% +% Einige Anweisungen und Einstellungen werden bereits für die Optionen +% benötigt und deshalb vorab definiert. +% +% \begin{macro}{\float@@listhead} +% \changes{v2.98c}{2008/03/05}{neu (intern)} +% Setzt nur die Überschrift und sonst nichts. Dabei wird die Überschrift als +% einziges Argument übergeben. +% \begin{macrocode} +\newcommand*{\float@@listhead}{% +%<article> \section* +%<report|book> \chapter* +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\if@dynlist} +% \changes{v2.8q}{2001/11/14}{neuer Schalter} +% \begin{macro}{\@dynlisttrue} +% \begin{macro}{\@dynlistfalse} +% Die Wahl der Darstellungsart wird in einem Schalter gespeichert. +% \begin{macrocode} +\newif\if@dynlist +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{option}{listof} +% \changes{v2.98c}{2008/03/05}{Neue Option}^^A +% \changes{v3.06}{2010/06/02}{Alle über \textsf{tocbasic} realisierten +% Einstellungen wirken sich auch auf Verzeichnisse des Besitzers +% \texttt{float} aus, die erst später unter Kontrolle von +% \textsf{tocbasic} gestellt werden.}^^A +% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit +% \cs{FamilyKeyStateProcessed}}^^A +% \changes{v3.12}{2013/06/26}{\cs{KOMA@options} durch +% \cs{KOMAExecuteOptions} ersetzt}^^A +% Dies ist die zentrale Option für die Gleitumgebungsverzeichnisse. +% \begin{macrocode} +\KOMA@key{listof}{% + \KOMA@set@ncmdkey{listof}{@tempa}{% +% \end{macrocode} +% Es gibt Werte, die dafür sorgen, dass die Verzeichnisse der Gleitumgebungen +% im Inhalsverzeichnis aufgeführt werden. Dazu muss nur \cs{float@@listhead} +% umdefiniert werden. +% \begin{macrocode} + {notoc}{0},{nottotoc}{0},{plainheading}{0},% + {totoc}{1},{toc}{1},{notnumbered}{1},% + {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% + {numberedtoc}{2},% +% \end{macrocode} +% Dann gibt es Optionen für die Darstellungsarten des +% Inhaltsverzeichnisses. Die Variante \texttt{graduated} ist die altbekannte +% Variante. Bei \texttt{flat} hingegen wird eine tabellenartige Form +% verwendet, bei der die Nummern, Texte und Seitenzahlen jeweils untereinander +% stehen. Der für die Nummern benötigte Platz wird dabei automatisch +% ermittelt. +% \begin{macrocode} + {flat}{3},{left}{3},% + {graduated}{4},{indent}{4},{indented}{4},% +% \end{macrocode} +% Dann gibt es eine Option, mit der die Gliederungsebene der Verzeichnisse +% verändert werden kann. +% \begin{macrocode} + {leveldown}{5}, +% \end{macrocode} +% \changes{v3.06}{2010/05/18}{neuer Wert \texttt{entryprefix}} +% Dann gibt es eine Option, mit der die Einträge in die Verzeichnisse mit +% einem Prefix versehen werden können, soweit ein solcher Prefix +% existiert. Dieser Wert beinhaltet gleichzeitig auch den Wert \texttt{flat}. +% \begin{macrocode} + {entryprefix}{6}, +% \end{macrocode} +% \changes{v3.12}{2014/09/24}{neue Werte \texttt{numberline} und +% \texttt{nonumberline}}%^^A +% Außerdem können die nicht nummerierten Einträge ggf. ebenfalls mit +% \cs{numberline} eingerückt werden. Das geht über ein Feature von +% \textsf{tocbasic}. +% \begin{macrocode} + {indenttextentries}{7},{indentunnumbered}{7},{numberline}{7},% + {leftaligntextentries}{8},{leftalignunnumbered}{8},{nonumberline}{8},% +% \end{macrocode} +% Dann gibt es Optionen, für die Unterteilung auf Kapitelebene. Allerdings nur +% für \textsf{scrbook} und \textsf{scrreprt}. +% \begin{macrocode} +%<*book|report> + {chapterentry}{9},{withchapterentry}{9},% + {nochaptergap}{10},{ignorechapter}{10},% + {chaptergapsmall}{11},{smallchaptergap}{11},% + {chaptergapline}{12},{onelinechaptergap}{12}% +%</book|report> + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \ifcase \@tempa\relax + \renewcommand*{\float@@listhead}{% +%<article> \section* +%<report|book> \chapter* + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \unsettoc{\@currext}{totoc}% + }% + \AtAddToTocList[float]{% + \unsettoc{\@currext}{numbered}% + \unsettoc{\@currext}{totoc}% + }% + \or% totoc + \renewcommand*{\float@@listhead}{% +%<article> \addsec +%<report|book> \addchap + }% + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \AtAddToTocList[float]{% + \unsettoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% numbered + \renewcommand*{\float@@listhead}{% +%<article> \section +%<report|book> \chapter + }% + \doforeachtocfile[float]{% + \setuptoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \AtAddToTocList[float]{% + \setuptoc{\@currext}{numbered}% + \setuptoc{\@currext}{totoc}% + }% + \or% flat + \@dynlisttrue + \or% graduated + \@dynlistfalse + \or% leveldown + \doforeachtocfile[float]{% + \setuptoc{\@currext}{leveldown}% + }% + \AtAddToTocList[float]{% + \setuptoc{\@currext}{leveldown}% + }% + \or% entryprefix + \@dynlisttrue + \doforeachtocfile[float]{% + \BeforeStartingTOC[\@currext]{% + \scr@ifundefinedorrelax{listof\@currext entryname}{}{% + \expandafter\def\expandafter\numberline@prefix + \expandafter{\csname listof\@currext entryname\endcsname + \nobreakspace}% + }% + }% + }% + \AtAddToTocList[float]{% + \BeforeStartingTOC[\@currext]{% + \scr@ifundefinedorrelax{listof\@currext entryname}{}{% + \expandafter\def\expandafter\numberline@prefix + \expandafter{\csname listof\@currext entryname\endcsname + \nobreakspace}% + }% + }% + }% + \or% numberline + \doforeachtocfile[float]{% + \setuptoc{\@currext}{numberline}% + }% + \AtAddToTocList[float]{% + \setuptoc{\@currext}{numberline}% + } + \or% nonumberline + \doforeachtocfile[float]{% + \unsettoc{\@currext}{numberline}% + }% + \AtAddToTocList[float]{% + \unsettoc{\@currext}{numberline}% + } +%<*book|report> + \or% chapterentry + \KOMAExecuteOptions{chapteratlists=entry}% + \or% chaptergap + \KOMAExecuteOptions{chapteratlists=\z@}% + \or% chaptergapsmall + \KOMAExecuteOptions{chapteratlists=10\p@}% + \or% chaptergapline + \KOMAExecuteOptions{chapteratlists=\baselineskip}% +%</book|report> + \fi + \fi +} +% \end{macrocode} +% \end{option} +% +% \begin{option}{liststotoc} +% \changes{v2.3h}{1995/01/21}{neue Option} +% \changes{v2.8b}{2001/06/26}{Verwendung von \cs{float@headings}} +% \changes{v2.4a}{1996/03/13}{\cs{listtabelname} durch +% \cs{listtablename} ersetzt} +% \changes{v2.8g}{2001/07/18}{\cs{float@headings} umbenannt in +% \cs{float@listhead}} +% \changes{v2.98c}{2008/03/05}{obsolet} +% \changes{v3.01a}{2008/11/20}{deprecated} +% \begin{macrocode} +\KOMA@DeclareDeprecatedOption{liststotoc}{listof=totoc} +% \end{macrocode} +% \end{option} +% +% \begin{option}{liststotocnumbered} +% \changes{v2.8q}{2002/04/08}{dem langjährigen Druck nachgegeben} +% \changes{v2.9p}{2003/07/07}{Nummerierung im Kolumnentitel} +% \changes{v2.98c}{2008/03/05}{obsolet} +% \changes{v3.01a}{2008/11/20}{deprecated} +% \begin{macrocode} +\KOMA@DeclareDeprecatedOption{liststotocnumbered}{listof=numbered} +% \end{macrocode} +% \end{option} +% +% +% \begin{option}{listsleft} +% \changes{v2.8q}{2001/11/14}{neue Option} +% \changes{v2.98c}{2008/03/05}{obsolet} +% \changes{v3.01a}{2008/11/20}{deprecated} +% \begin{option}{listsindent} +% \changes{v2.8q}{2001/11/14}{neue Option} +% \changes{v2.98c}{2008/03/05}{obsolet} +% \changes{v3.01a}{2008/11/20}{deprecated} +% \begin{macrocode} +\KOMA@DeclareDeprecatedOption{listsleft}{listof=flat} +\KOMA@DeclareDeprecatedOption{listsindent}{listof=graduated} +% \end{macrocode} +% \end{option} +% \end{option} +% +% \begin{option}{chapteratlists} +% \changes{v2.96a}{2006/12/03}{neue Option}%^^A +% \changes{v2.98c}{2008/03/05}{nicht mehr bei \textsf{scrartcl}}%^^A +% \begin{macro}{\if@chaptertolists} +% \changes{v2.96a}{2006/12/03}{neuer Schalter}%^^A +% \changes{v3.12}{2013/09/24}{Verzeichnisse werden nicht in Verzeichnisse +% eingetragen}%^^A +% \begin{macro}{\@chapterlistsgap} +% \changes{v2.96a}{2006/12/03}{neues Macro (intern)}%^^A +% Option, um einzugstellen, ob Kapitel in den Verzeichnissen der +% Gleitumgebungen Spuren hinterlassen. Man kann wahlweise Lücken einstellen +% (Voreinstellung mit 10\,pt) oder die Kapitelüberschrift eintragen lassen. +% Der Schalter gibt dabei an, ob die Kapitelüberschrift eingetragen werden +% soll. Das interne Hilfsmakro \cs{@chapterlistsgap} enthält den gewünschten +% Abstand. +% \begin{macrocode} +%<*book|report> +\newcommand*{\@chapterlistsgap}{10\p@} +\newif\if@chaptertolists\@chaptertolistsfalse +\KOMA@key{chapteratlists}[entry]{% + \ifstr{#1}{entry}{% + \@chaptertoliststrue\renewcommand*{\@chapterlistsgap}{\z@}% + }{% + \@chaptertolistsfalse\renewcommand*{\@chapterlistsgap}{#1}% + }% +} +\BeforeTOCHead{\@chaptertolistsfalse} +%</book|report> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{option} +% +% \iffalse +%</option> +%<*body> +% \fi +% +% \subsection{Definitionen für alle Verzeichnisse} +% +% Einige Definitionen werden von unterschiedlichen Verzeichnissen +% verwendet. Diese sind hier zu finden. +% +% \changes{v3.06}{2010/06/02}{einschalten des \texttt{tocbasic}-Features +% \texttt{chapteratlist} in die Datei \texttt{scrkernel-listsof.dtx} verschoben} +% Bei Büchern wird für jedes Verzeichnis des Besitzers \texttt{float} das +% Feature \texttt{chapteratlist} gesetzt. Das gilt auch für solche +% Verzeichnisse, die noch gar nicht definiert sind. +% \begin{macrocode} +%<*book|report> +\doforeachtocfile[float]{% + \setuptoc{\@currext}{chapteratlist}% +} +\AtAddToTocList[float]{% + \setuptoc{\@currext}{chapteratlist}% +} +%</book|report> +% \end{macrocode} +% \begin{macro}{\numberline} +% \changes{v2.3c}{1995/08/06}{\cs{numberline} umdefiniert}^^A +% \changes{v3.06}{2010/05/18}{Verwendung von \cs{numberline@prefix} und +% \cs{numberline@postfix}}^^A +% \changes{v3.12}{2013/11/22}{use \cs{numberline@numberformat} only, if the +% argument expands to a non-empty string}^^A +% Dieses Makro wird indirekt im Inhaltsverzeichnis verwendet und muss +% umdefiniert werden, um Duden, 20.~Auflage, Regel~5 und Regel~6 zu +% implementieren. +% \begin{macrocode} +\renewcommand*{\numberline}[1]{% + \numberline@box{% + \numberline@prefix + \ifstr{#1}{}{#1}{\numberline@numberformat{#1}}% + \numberline@postfix + }% +} +% \end{macrocode} +% \begin{macro}{\numberline@prefix} +% \changes{v3.06}{2010/05/18}{neu (intern)} +% Das ist in der Voreinstellung einfach leer. Es könnte verwendet werden, um +% etwas vor die Nummer zu setzen oder die Nummer rechtsbündig zu setzen. +% \begin{macrocode} +\newcommand*{\numberline@prefix}{} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\numberline@postfix} +% \changes{v3.06}{2010/05/18}{neu (intern)} +% Das ist in der Voreinstellung einfach \cs{hfil} und dient dazu die Nummer +% linksbündig zu platzieren. +% \begin{macrocode} +\newcommand*{\numberline@postfix}{\hfil} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\numberline@numberformat} +% \changes{v3.06}{2010/05/18}{neu (intern)}^^A +% \changes{v3.12}{2013/11/22}{don't output anything, if argument expands to +% an empty string}^^A +% Das dient in der Voreinstellung dazu, Regel~5 und 6 aus der 20.~Auflage des +% DUDENs umzusetzen. +% \begin{macrocode} +\newcommand*{\numberline@numberformat}[1]{\ifstr{#1}{}{}{#1\autodot}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\numberline@box} +% \changes{v3.06}{2010/05/18}{neu (intern)} +% Das dient in der Voreinstellung dazu, die Gliederungsnummer in eine Box zu +% setzen. +% \begin{macrocode} +\newcommand*{\numberline@box}[1]{\hb@xt@\@tempdima{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@pnumwidth} +% \begin{macro}{\@tocrmarg} +% \begin{macro}{\@dotsep} +% Einige Makros für die Formatierung der Verzeichniseinträge: +% \begin{description} +% \item[\cs{@pnumwidth}] ist der Platz für die Seitenzahl. +% \item[\cs{@tocrmarg}] ist der rechte Rand bei mehrzeiligen +% Verzeichniseinträgen. Dieser wird hier größer als \cs{@pnumwidth} +% gewählt. +% \item[\cs{\@dotsep}] ist der Abstand zwischen den einzelnen +% Punkten. +% \end{description} +% \begin{macrocode} +\newcommand*\@pnumwidth{1.55em} +\newcommand*\@tocrmarg {2.55em} +\newcommand*\@dotsep{4.5} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\before@starttoc} +% \changes{v2.8q}{2001/11/14}{neu (intern)} +% Dieses Makro führt im Falle von \texttt{tocleft} oder +% \texttt{listsleft} am Anfang eines Verzeichnisses alle notwendigen +% Änderungen durch, um das Verzeichnis entsprechend zu handhaben. +% \begin{macro}{\scr@dottedtocline} +% \changes{v2.9k}{2003/01/03}{auch das dritte Argument wird ge"andert} +% \begin{macro}{\scr@numberline} +% \changes{v3.06}{2010/05/18}{nicht länger benötigt} +% \begin{macro}{\last@l@number} +% Dafür werden ein paar Hilfsmakros benötigt, die vorsichtshalber +% global vordefiniert werden. +% \begin{macrocode} +\newcommand*{\scr@dottedtocline}{} +\newcommand*{\last@l@number}{} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{\@l@number} +% \changes{v2.8q}{2001/11/14}{neu (intern)} +% In diesem Makro wird während der Erstellung eines Verzeichnisses +% Inhaltsverzeichnisses die aktuelle Breite der Nummer gespeichert. +% \begin{macro}{\set@l@number} +% \changes{v2.8q}{2001/11/14}{neu (intern)} +% Dieses Makro ist dafür verantwortlich, dass zum einen \cs{@tempdima} +% für den Aufruf von \cs{numberline@box} auf den richtigen Wert gesetzt +% wird, zum anderen wird die aktuelle größte Breite der Nummer hier +% angepasst. +% \begin{macrocode} +\newcommand*{\@l@number}{} +\newcommand*{\set@l@number}[1]{% + \settowidth{\@tempdima}{#1\enskip}% + \ifdim\@tempdima >\@l@number + \xdef\@l@number{\the\@tempdima}% + \fi% + \ifdim\@tempdima >\last@l@number \else + \setlength{\@tempdima}{\last@l@number}% + \fi% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% Kommen wir endlich zu \cs{before@starttoc}: +% \changes{v2.95a}{2006/07/12}{Initialisierung im \cs{@empty}-Fall} +% \changes{v3.06}{2010/05/18}{statt \cs{numberline} wird \cs{numberline@box} +% umdefiniert} +% \begin{macrocode} +\newcommand*{\before@starttoc}[1]{ + \let\scr@dottedtocline=\@dottedtocline + \renewcommand*{\@dottedtocline}[3]{% + \scr@dottedtocline{##1}{\z@}{\last@l@number}}% + \renewcommand*{\numberline@box}[1]{% + \set@l@number{##1}\hb@xt@\@tempdima{##1}}% + \gdef\@l@number{\z@}% + \@ifundefined{#1@l@number}{% + \def\last@l@number{2em}% + }{% + \expandafter\ifx\csname #1@l@number\endcsname\@empty + \let\last@l@number\z@ + \else + \expandafter\let\expandafter\last@l@number + \expandafter=\csname#1@l@number\endcsname + \fi + }% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\after@starttoc} +% \changes{v2.8q}{2001/11/14}{neu (intern)} +% Dieses Makro schreibt am Ende den entsprechenden Eintrag in die +% \texttt{aux}-Datei. +% \begin{macrocode} +\newcommand*{\after@starttoc}[1]{% + \protected@write\@auxout{}{% + \string\gdef\expandafter\string\csname#1@l@number\endcsname{% + \@l@number}}% + } +% \end{macrocode} +% \end{macro} +% +% Dafür sorgen, dass die Verzeichnisse von \textsf{tocbasic} so gesetzt +% werden, wie wir das gerne hätten (wird über einen Trick auch für das +% Inhaltsverzeichnis verwendet): +% \begin{macrocode} +\g@addto@macro\tocbasic@@before@hook{% + \if@dynlist\expandafter\before@starttoc\expandafter{\@currext}\fi +} +\g@addto@macro\tocbasic@@after@hook{% + \if@dynlist\expandafter\after@starttoc\expandafter{\@currext}\fi +} +% \end{macrocode} +% +% +% \subsection{Definitionen für das Inhaltsverzeichnis} +% +% \begin{macro}{\contentsname} +% \begin{macro}{\listoftocname} +% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}} +% Der Name des Verzeichnisses. +% \begin{macrocode} +\newcommand*\contentsname{Contents} +\newcommand*\listoftocname{\contentsname} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{Counter}{tocdepth} +% Der Zähler gibt an, bis zu welcher Gliederungebene Einträge in das +% Inhaltsverzeichnis aufgenommen werden. Da \textsf{scrartcl} eine +% Ebene tiefer beginnt, wird auch eine Ebene tiefer eingetragen. Damit +% finden sich -- abgesehen von \cs{part} -- immer drei Ebenen im +% Inhaltsverzeichnis. +% \begin{macrocode} +%<book|report>\setcounter{tocdepth}{2} +%<article>\setcounter{tocdepth}{3} +% \end{macrocode} +% \end{Counter} +% +% \begin{macro}{\toc@heading} +% \changes{v2.3h}{1995/01/21}{neu (intern)} +% \changes{v2.95}{2002/06/28}{auch für \textsf{scrreprt} und +% \textsf{scrbook}} +% \changes{v3.00}{2008/07/04}{Verwendung von \cs{toc@heading} ist nicht +% länger empfohlen} +% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}% +% Befehl, zum Setzen der Überschrift des Inhaltsverzeichnisses. Eigentlich +% ist das überflüssig, weil es nur einmal verwendet wird. Aus Gründen der +% Konsistenz mit den anderen Verzeichnissen machen wir das hier aber +% genauso. +% \begin{macrocode} +\newcommand*\toc@heading{% + \ClassWarning{\KOMAClassName}{% + usage of deprecated \string\toc@heading!\MessageBreak + You should use the features of package `tocbasic'\MessageBreak + instead of \string\toc@heading.\MessageBreak + Definition of \string\toc@heading\space my be removed from\MessageBreak + KOMA-Script soon, so it should not be used + }% +%<article> \section*{\contentsname}% +%<book|report> \chapter*{\contentsname}% + \@mkboth{\MakeMarkcase{\contentsname}}{\MakeMarkcase{\contentsname}}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\toc@l@number} +% \changes{v2.8q}{2001/11/14}{neu} +% Dieses Makro wird innerhalb von \cs{tableofcontents} über +% \cs{before@starttoc} und \cs{after@starttoc} in der +% \texttt{aux}-Datei global definiert. Aus Sicherheitsgründen wird es +% hier global vordefiniert. +% \begin{macrocode} +\newcommand*{\toc@l@number}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\tableofcontents} +% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{toc@heading}} +% \changes{v2.8l}{2001/08/16}{Gruppe eingefügt und \cs{parskip} auf +% 0 gesetzt} +% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}% +% \cs{@parskip@indent}} +% \changes{v2.8q}{2001/11/14}{\cs{if@tocleft} bearbeiten} +% \changes{v2.95}{2002/06/28}{\textsf{article} beachtet ebenfalls +% \texttt{tocleft}} +% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent} +% ersetzt} +% \changes{v3.00}{2008/07/04}{auf \textsf{tocbasic} umgestellt} +% Die Ausgabe des Inhaltsverzeichnisses. +% \begin{macrocode} +\newcommand*{\tableofcontents}{% + \begingroup\let\if@dynlist\if@tocleft\listoftoc{toc}\endgroup +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\addtocentrydefault} +% \changes{v3.08}{2010/11/01}{Neu} +% \changes{v3.12}{2013/09/24}{Verwendung der neuen +% \texttt{tocbasic}-Anweisung \cs{tocbasic@addxcontentsline}} +% Seit Version~3.08 werden Einträge ins Inhaltsverzeichnis in der +% Voreinstellung über diese Anweisung vorgenommen. Das erste Argument ist +% dabei die Gliederungsebene. Das zweite Argument ist die (formatierte) +% Gliederungsnummer oder leer, falls die Überschrift nicht nummeriert +% wird. Das dritte Argument ist der Überschriftentext, der in das +% Inhaltsverzeichnis soll. +% \begin{macrocode} +\newcommand{\addtocentrydefault}[3]{% + \tocbasic@addxcontentsline{toc}{#1}{#2}{#3}% +} +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Definitionen für die Verzeichnisse der +% Gleitumgebungen} +% +% \begin{macro}{\float@listhead} +% \changes{v2.8b}{2001/06/26}{neu (für alle Paketautoren)}% +% \changes{v2.8g}{2001/07/18}{\cs{float@headings} umbenannt in +% \cs{float@listhead}}% +% \changes{v2.98c}{2008/03/05}{\cs{float@@listhead} wird verwendet}% +% \changes{v3.00}{2008/07/04}{Verwendung von \cs{float@listhead} ist nicht +% länger empfohlen}% +% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}% +% In Absprache mit Anselm Lingnau, dem Autor des Pakets \textsf{float}, wird +% ab Version 2.8b \cs{float@headings} zum Setzen des Kolumnentitels bei den +% Verzeichnissen verwendet, die \textsf{float} für neu definierte floats zur +% Verfügung stellt. Dabei definiert \textsf{float} die Anweisung nur, wenn +% sie nicht bereits existiert. Die Zusammenarbeit wird dadurch +% verbessert. Da Anselm sich in letzter Minute entschlossen hat, das Makro +% \cs{float@listhead} zu nennen, wurde dies in Version 2.8g angepasst. +% \begin{macrocode} +\newcommand*{\float@listhead}[1]{% + \scr@float@listhead@warning + \float@@listhead{#1}% + \@mkboth{\MakeMarkcase{#1}}{\MakeMarkcase{#1}}% +% \end{macrocode} +% \changes{v2.8q}{2001/11/14}{dynamische Anpassung an die Nummer} +% Dies ist der passende Ort, um die Breite, die für die Nummer des +% Gleitobjekts benötigt wird zu ermitteln und anzupassen, falls dies +% geünscht wird. Dazu findet eine lokale Umdefinierung von +% \cs{@starttoc} statt. Die Umdefinierung ist deshalb lokal, weil alle +% mir bekannten Verzeichnisse von Gleitobjekten innerhalb einer Gruppe +% ausgegeben werden. +% \begin{macrocode} + \if@dynlist% + \newcommand*{\scr@starttoc}{}% + \let\scr@starttoc=\@starttoc + \renewcommand*{\@starttoc}[1]{% + \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}% + }% + \fi +} +% \end{macrocode} +% \begin{macro}{\scr@float@listhead@warning} +% \changes{v3.01}{2008/11/13}{Neu (intern)} +% \changes{v3.12}{2013/09/25}{Text geändert} +% Die Warnung für die Verwendung von \cs{float@listhead}, dessen Definition +% irgendwann aus den Klassen verschwinden wird. +% \begin{macrocode} +\newcommand*{\scr@float@listhead@warning}{% + \ClassWarning{\KOMAClassName}{% + \string\float@listhead\space detected!\MessageBreak + Implementation of \string\float@listhead\space became\MessageBreak + deprecated in KOMA-Script v3.01 2008/11/14 and\MessageBreak + has been replaced by more several more flexible\MessageBreak + features of package `tocbasic`.\MessageBreak + Maybe implementation of \string\float@listhead\space will\MessageBreak + be removed from KOMA-Script soon.\MessageBreak + Loading of package `scrhack' may help to\MessageBreak + avoid this warning, if you are using a\MessageBreak + a package that still implements the\MessageBreak + deprecated \string\float@listhead\space interface + }% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\scr@float@addtolists@warning} +% \changes{v3.01}{2008/11/13}{Neu (intern)} +% \changes{v3.12}{2013/09/25}{Text geändert} +% Die Warnung für die Verwendung von \cs{float@addtolists}, dessen +% Unterstützung irgendwann aus den Klassen verschwinden wird. +% \begin{macrocode} +\newcommand*{\scr@float@addtolists@warning}{% + \ClassWarningNoLine{\KOMAClassName}{% + \string\float@addtolists\space detected!\MessageBreak + Implementation of \string\float@addtolist\space became\MessageBreak + deprecated in KOMA-Script v3.01 2008/11/14 and\MessageBreak + has been replaced by more several more flexible\MessageBreak + features of package `tocbasic`.\MessageBreak + Since Version 3.12 support for deprecated\MessageBreak + \string\float@addtolist\space interface has been\MessageBreak + restricted to only some of the KOMA-Script\MessageBreak + features and been removed from others.\MessageBreak + Loading of package `scrhack' may help to\MessageBreak + avoid this warning, if you are using a\MessageBreak + a package that still implements the\MessageBreak + deprecated \string\float@addtolist\space interface + }% + \global\let\scr@float@addtolists@warning\relax +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\listfigurename} +% \begin{macro}{\listtablename} +% \begin{macro}{\listoflofname} +% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}} +% \begin{macro}{\listotlofname} +% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}} +% Die Namen der Verzeichnisse auch für das Paket \textsf{tocbasic}. +% \begin{macrocode} +\newcommand*\listfigurename{List of Figures} +\newcommand*\listoflofname{\listfigurename} +\newcommand*\listoflofentryname{\figurename} +\newcommand*\listtablename{List of Tables} +\newcommand*\listoflotname{\listtablename} +\newcommand*\listoflotentryname{\tablename} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\listoffigures} +% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{lof@heading}} +% \changes{v2.4k}{1996/12/13}{\cs{lof@heading} nicht nur bei +% \textsf{scrartcl}} +% \changes{v2.8l}{2001/08/16}{Gruppe eingefügt und \cs{parskip} auf +% 0 gesetzt} +% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}% +% \cs{@parskip@indent}} +% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent} +% ersetzt} +% \changes{v3.00}{2008/07/04}{Verwendung von \textsf{tocbasic}} +% Die Ausgabe des Abbildungsverzeichnisses. +% \begin{macrocode} +\newcommand*\listoffigures{\listoftoc{lof}} +% \end{macrocode} +% +% \begin{macro}{\l@figure} +% Befehl zur Formatierung eines Verzeichniseintrags. +% \begin{macrocode} +\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\listoftables} +% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{lot@heading}} +% \changes{v2.4k}{1996/12/13}{\cs{lot@heading} nicht nur bei +% \textsf{scrartcl}} +% \changes{v2.8l}{2001/08/16}{Gruppe eingefügt und \cs{parskip} auf +% 0 gesetzt} +% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}% +% \cs{@parskip@indent}} +% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent} +% ersetzt} +% \changes{v3.00}{2008/07/04}{Verwendung von \textsf{tocbasic}} +% Die Ausgabe des Tabellenverzeichnisses. +% \begin{macrocode} +\newcommand*\listoftables{\listoftoc{lot}} +% \end{macrocode} +% +% \begin{macro}{\l@table} +% Befehl zur Formatierung eines Verzeichniseintrags. +% \begin{macrocode} +\let\l@table\l@figure +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% \iffalse +%</body> +% \fi +% +% \iffalse +%</!letter> +% \fi +% +% +% \Finale +% +\endinput +% +% end of file `scrkernel-listsof.dtx' +%%% Local Variables: +%%% mode: doctex +%%% TeX-master: t +%%% End: |