% \CheckSum{242}
% \iffalse meta-comment
% ======================================================================
% scrkernel-index.dtx
% Copyright (c) Markus Kohm, 2002-2019
%
% 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-index.dtx
% Copyright (c) Markus Kohm, 2002-2019
%
% 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-index.dtx 3262 2019-10-10 08:25:29Z kohm $
%
%<*body>
% \fi
%
% \subsection{Definitionen für den Index}
%
% \begin{macro}{\index@preamble}
% \changes{v2.6c}{2000/06/10}{neu (intern)}%^^A
% \begin{macro}{\setindexpreamble}
% \changes{v2.6c}{2000/06/10}{neu}%^^A
% \changes{v2.6d}{2000/07/20}{Befehl funktioniert nachdem \cs{let}%^^A
% durch \cs{newcommand*} ersetzt wurde}
% \changes{v2.95}{2002/07/01}{\cs{let} und \cs{def}}
% Analog zu \cs{bibpreamble} kann \cs{index@preamble} vom Benutzer mit
% \cs{setindexpreamble} auf einen Text gesetzt werden, der nach der
% Indexüberschrift eingefügt wird. Hier wird ein echtes internes Makro
% verwendet, da nicht auf Kompatibilität geachtet werden muss.
% \begin{macrocode}
\newcommand*{\index@preamble}{}
\let\index@preamble=\relax
\newcommand{\setindexpreamble}[1]{\def\index@preamble{#1}}
% \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\idx@heading}
% \changes{v2.3h}{1995/01/21}{neu (intern)}%^^A
% \changes{v2.4c}{1995/04/04}{Kolumnentitel werden nun korrekt behandelt}%^^A
% \changes{v2.4g}{1996/11/04}{Index auch bei \texttt{scrartcl} wieder
% zweispaltig}%^^A
% \changes{v2.6c}{2000/06/10}{Verwendung von \cs{index@preamble} eingefügt}%^^A
% \changes{v2.7j}{2001/05/27}{Setzen der Präambel in die
% \texttt{theindex}-Umgebung verschoben}%^^A
% \changes{v2.9l}{2003/01/19}{\cs{if@twoside} durch \cs{if@openright}
% ersetzt}%^^A
% \changes{v2.98c}{2008/03/04}{Verwendung von \cs{idx@@heading}}%^^A
% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%^^A
% \changes{v3.10a}{2012/03/08}{Falsche Klammerung der letzten Änderung
% behoben}%^^A
% \changes{v3.12}{2013/09/24}{Index wird nie in andere Verzeichnisse
% eingetragen (außer Inhaltsverzeichnis)}%^^A
% \changes{v3.25}{2017/10/13}{\cs{@mkright} und \cs{@mkdouble} verwenden}%^^A
% Befehl zum Setzen der Überschrift des Indexes. Bis Version 2.7a sah diese
% Definition so aus:
% \begin{verbatim}
% \newcommand*{\idx@heading}{%
% \if@twoside\cleardoublepage\else\clearpage\fi%
% \@mkboth{\indexname}{\indexname}%
% \twocolumn[%
% % \section*%
% % \@makeschapterhead%
% {\indexname}\index@preamble]
% }
% \end{verbatim}\vspace{-\baselineskip}
% Dagegen ist grundsätzlich nichts zu sagen. Allerdings gibt es seit
% Version 2.7b die neue Methode der Kapitel-Präambel, die extra
% eingeführt wurde, um die \textsf{hyperref}-Links -- insbesondere
% den des Index -- zumindest bei Verwendung von \texttt{hpdftex.def}
% zu verbessern. Deshalb wurde die Implementierung entsprechend
% abgeändert. Außerdem wurde das Setzen der Präambel aus
% Konsistenzgründen in Version 2.7j übereinstimmten mit der
% \texttt{thebibliography}-Umgebung in die \texttt{theindex}-Umgebung
% verschoben.
% \changes{v3.26}{2018/09/03}{usage of \cs{addsecmark} or \cs{subsectionmark}
% instead of \cs{@mkright}}%^^A
% \begin{macrocode}
\newcommand*{\idx@heading}{%
% \if@openright\cleardoublepage\else\clearpage\fi%
\twocolumn[%
% \@chaptertolistsfalse
\idx@@heading{\indexname}]%
\ifidx@leveldown
% \addsecmark{\indexname}%
%<*article>
\begingroup
\c@secnumdepth=-\maxdimen
\subsectionmark{\indexname}%
\endgroup
%
\else
\@mkdouble{\MakeMarkcase{\indexname}}%
\fi
}
% \end{macrocode}
% \end{macro}
%
% \begin{environment}{theindex}
% \changes{v2.8d}{2001/07/05}{\cs{indexpagestyle} statt
% \texttt{plain}}
% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{idx@heading}}
% \changes{v2.7j}{2001/05/27}{Setzen der Präambel in die
% \texttt{theindex}-Umgebung verschoben}
% \changes{v3.19}{2015/08/25}{Seitenstil nur ändern wenn nicht leer}%^^A
% Der Index ist wie üblich definiert.
% \begin{macrocode}
\newenvironment{theindex}{%
\if@twocolumn
\@restonecolfalse
\else
\@restonecoltrue
\fi
\columnseprule \z@
\columnsep 35\p@
% \setchapterpreamble{\index@preamble}%
\idx@heading%
% \index@preamble\par\nobreak
\ifx\indexpagestyle\@empty\else\thispagestyle{\indexpagestyle}\fi
\parindent\z@
\setlength{\parskip}{\z@ \@plus .3\p@}%
\setlength{\parfillskip}{\z@ \@plus 1fil}%
\let\item\@idxitem
}{%
\if@restonecol\onecolumn\else\clearpage\fi
}
% \end{macrocode}
% \begin{macro}{\@idxitem}
% Hier haben wird den Anfang eines Eintrags in den Index
% \begin{macro}{\subitem}
% \changes{v2.3g}{1996/01/14}{Verwendung von \cs{@idxitem} spart
% Speicher}
% \begin{macro}{\subsubitem}
% \changes{v2.3g}{1996/01/14}{Verwendung von \cs{@idxitem} spart
% Speicher}
% \begin{macro}{\indexspace}
% und ebenso Unter- und Unteruntereinträge sowie ein vertikaler
% Abstand.
% \begin{macrocode}
\newcommand*\@idxitem{\par\hangindent 40\p@}
% \begin{macrocode}
\newcommand*\subitem{\@idxitem \hspace*{20\p@}}
\newcommand*\subsubitem{\@idxitem \hspace*{30\p@}}
\newcommand*\indexspace{%
\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax
}
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{environment}
%
%
% \subsection{Standardbezeichner}
%
% \begin{macro}{\indexname}
% Names des Index:
% \begin{macrocode}
\newcommand*\indexname{Index}
% \end{macrocode}
% \end{macro}
%
%
% \iffalse
%
% \fi
%
% \iffalse
%!letter>
% \fi
%
%
% \Finale
%
\endinput
%
% end of file `scrkernel-index.dtx'
%%% Local Variables:
%%% mode: doctex
%%% TeX-master: t
%%% End: