diff options
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.dtx | 342 |
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: |