% \CheckSum{108} % \iffalse meta-comment % ====================================================================== % scrkidx.dtx % Copyright (c) Markus Kohm, 2002-2007 % % 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.3b of the license. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3b 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. % ---------------------------------------------------------------------- % scrkidx.dtx % Copyright (c) Markus Kohm, 2002-2007 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3b, verteilt und/oder veraendert werden. % Die neuste Version dieser Lizenz ist % http://www.latex-project.org/lppl.txt % und Version 1.3b 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: scrkidx.dtx %<*driver> % \fi \ProvidesFile{scrkidx.dtx}[2006/03/28 v2.95 KOMA-Script (index)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges \GetFileInfo{scrkidx.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} % % \fi % % \selectlanguage{ngerman} % % \changes{v2.95}{2002/07/01}{% % erste Version aus der Aufteilung von \texttt{scrclass.dtx}} % % \section{Index} % % Der Index unterscheidet sich bei \KOMAScript{} scheinbar nicht % wesentlich von dem, was die Standardklassen zu bieten haben. In % Wirklichkeit sind die Unterschiede jedoch erheblich. % % Briefe haben keinen Index. % % \StopEventually{\PrintIndex\PrintChanges} % % \iffalse %<*!letter> % \fi % % \iffalse %<*option> % \fi % % \subsection{Optionen für den Index} % % \begin{option}{idxtotoc} % \changes{v2.3h}{1995/01/21}{neue Option} % Die Option sorgt dafür, dass der Index auch im Inhaltsverzeichnis % erscheint. % \begin{macro}{\idx@heading} % Dazu wird das interne Makro \cs{idx@heading} umdefiniert, über das % die Überschrift gesetzt und der Kolumnentitel angepasst wird. % \changes{v2.4c}{1996/04/04}{Kolumnentitel werden nun korrekt % behandelt} % \changes{v2.4g}{1996/11/04}{Index auch bei \textsf{scrartcl} % wieder zweispaltig} % \changes{v2.6c}{2000/06/10}{im Index kann nach der Überschrift % eine Präambel gesetzt werden} % \changes{v2.7a}{2001/01/04}{für \textsf{scrbook} und % \textsf{scrreprt} die Link-Erzeugung mit \texttt{hyperref} % verbessert} % \changes{v2.7j}{2001/05/27}{Setzen der Präambel in die % \texttt{theindex}-Umgebung verschoben} % \changes{v2.9l}{2003/01/19}{\cs{if@twoside} durch % \cs{if@openright} ersetzt} % An dieser Stelle muss dafür gesorgt werden, dass im Falle von % \textsf{scrbook} und \textsf{scrreprt} das Makro \cs{@schapter} % verwendet wird. Damit dies hier möglich ist mussten tiefreifendere % Änderungen am \LaTeX-Kernel bzw. am Gliederungsbefehl \cs{chapter} % vorgenommen werden. % % Die ursprüngliche Definition sah so aus: % \begin{verbatim} % \renewcommand*\idx@heading{% % \if@twoside\cleardoublepage\else\clearpage\fi% % \@mkboth{\indexname}{\indexname}% % % \addcontentsline{toc}{chapter}{\indexname}% % \twocolumn[% % %
\addsec % % \@makeschapterhead % {\indexname}\index@preamble]% % } % \end{verbatim}\vspace{-\baselineskip} % Die neue Definition wurde wie folgt geändert: % \begin{macrocode} \DeclareOption{idxtotoc}{% \AtEndOfClass{% \renewcommand*\idx@heading{% % \if@openright\cleardoublepage\else\clearpage\fi %
\twocolumn[\addsec{\indexname}]% % \twocolumn[\addchap{\indexname}]% \@mkboth{\indexname}{\indexname}% }% }% } % \end{macrocode} % \end{macro} % \end{option} % % % \iffalse % %<*body> % \fi % % \subsection{Definitionen für den Index} % % \begin{macro}{\index@preamble} % \changes{v2.6c}{2000/06/10}{neu (intern)} % \begin{macro}{\setindexpreamble} % \changes{v2.6c}{2000/06/10}{neu} % \changes{v2.6d}{2000/07/20}{Befehl funktioniert nachdem \cs{let} % 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)} % \changes{v2.4c}{1995/04/04}{Kolumnentitel werden nun korrekt % behandelt} % \changes{v2.4g}{1996/11/04}{Index auch bei \texttt{scrartcl} % wieder zweispaltig} % \changes{v2.6c}{2000/06/10}{Verwendung von \cs{index@preamble} % eingefügt} % \changes{v2.7j}{2001/05/27}{Setzen der Präambel in die % \texttt{theindex}-Umgebung verschoben} % \changes{v2.9l}{2003/01/19}{\cs{if@twoside} durch % \cs{if@openright} ersetzt} % 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. % \begin{macrocode} \newcommand*{\idx@heading}{% % \if@openright\cleardoublepage\else\clearpage\fi% %
\twocolumn[\section*{\indexname}]% % \twocolumn[\chapter*{\indexname}]% \@mkboth{\indexname}{\indexname}% } % \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} % 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 \thispagestyle{\indexpagestyle}\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 % % \fi % % % \Finale % \endinput % % end of file `scrkidx.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t %%% End: