summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkernel-index.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-index.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-index.dtx342
1 files changed, 342 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-index.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-index.dtx
new file mode 100644
index 00000000000..2a6ee50c551
--- /dev/null
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-index.dtx
@@ -0,0 +1,342 @@
+% \CheckSum{114}
+% \iffalse meta-comment
+% ======================================================================
+% scrkernel-index.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-index.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-index.dtx 1380 2013-10-01 15:31:55Z mjk $
+%<*driver>
+% \fi
+\ProvidesFile{scrkernel-index.dtx}[2013/09/24 v3.12 KOMA-Script
+ (index)]
+% \iffalse
+\documentclass[halfparskip-]{scrdoc}
+\usepackage[english,ngerman]{babel}
+\usepackage[latin1]{inputenc}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{scrkernel-index.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/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{Anweisungen und Einstellungen für die Optionen}
+%
+% Einige Anweisungen und Einstellungen werden bereits benötigt, bevor die
+% Optionen abgearbeitet werden.
+%
+% \begin{macro}{\idx@@heading}
+% \changes{v2.98c}{2008/03/04}{neu (intern)}
+% Diese Anweisung wird verwendet, um nur die Überschrift zu setzen (nichts
+% weiter!). Sie hat genau ein Argument, nämlich den Text der Überschrift und
+% wird innerhalb von |\idx@heading| verwendet.
+% \begin{macrocode}
+\newcommand*{\idx@@heading}{%
+%<article> \section*
+%<book|report> \chapter*
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Optionen für den Index}
+%
+% \begin{option}{index}
+% \changes{v2.98c}{2008/03/04}{Neue Option}
+% \begin{macro}{\idx@@heading}
+% Die Option sorgt dafür, dass der Index auch im Inhaltsverzeichnis
+% erscheint. 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}
+% \changes{v2.98c}{2008/03/04}{statt \cs{idx@heading} wird nun
+% \cs{idx@@heading} umdefiniert}
+% 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.
+% \begin{macrocode}
+\KOMA@key{index}{%
+ \KOMA@set@ncmdkey{index}{@tempa}{%
+ {notoc}{0},{nottotoc}{0},{default}{0},{plainheading}{0},%
+ {totoc}{1},{toc}{1},{notnumbered}{1}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \ifcase \@tempa\relax
+ \renewcommand*{\idx@@heading}{%
+%<article> \section*
+%<book|report> \chapter*
+ }%
+ \or
+ \renewcommand*{\idx@@heading}{%
+%<article> \addsec
+%<book|report> \addchap
+ }%
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \end{option}
+%
+% \begin{option}{idxtotoc}
+% \changes{v2.3h}{1995/01/21}{neue Option}
+% \changes{v2.98c}{2008/03/04}{obsolete}
+% \changes{v3.01a}{2008/11/20}{deprecated}
+% \begin{macrocode}
+\KOMA@DeclareDeprecatedOption{idxtotoc}{index=totoc}
+% \end{macrocode}
+% \end{option}
+%
+%
+% \iffalse
+%</option>
+%<*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}%
+% \changes{v2.98c}{2008/03/04}{Verwendung von \cs{idx@@heading}}%
+% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%
+% \changes{v3.10a}{2012/03/08}{Falsche Klammerung der letzten Änderung
+% behoben}%
+% \changes{v3.12}{2013/09/24}{Index wird nie in andere Verzeichnisse
+% eingetragen (außer Inhaltsverzeichnis)}
+% 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[%
+% %<article> \section*%
+% %<report|book> \@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}{%
+%<report|book> \if@openright\cleardoublepage\else\clearpage\fi%
+ \twocolumn[%
+%<report|book> \@chaptertolistsfalse
+ \idx@@heading{\indexname}]%
+ \@mkboth{\MakeMarkcase{\indexname}}{\MakeMarkcase{\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@
+%<book|report> \setchapterpreamble{\index@preamble}%
+ \idx@heading%
+%<article> \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
+%</body>
+% \fi
+%
+% \iffalse
+%</!letter>
+% \fi
+%
+%
+% \Finale
+%
+\endinput
+%
+% end of file `scrkernel-index.dtx'
+%%% Local Variables:
+%%% mode: doctex
+%%% TeX-master: t
+%%% End: