summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkernel-listsandtabulars.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-listsandtabulars.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-listsandtabulars.dtx511
1 files changed, 511 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-listsandtabulars.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-listsandtabulars.dtx
new file mode 100644
index 00000000000..16b7298b229
--- /dev/null
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-listsandtabulars.dtx
@@ -0,0 +1,511 @@
+% \CheckSum{293}
+% \iffalse meta-comment
+% ======================================================================
+% scrkernel-listsandtabulars.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-listsandtabulars.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-listsandtabulars.dtx 1502 2013-11-06 11:00:12Z mjk $
+%<*driver>
+% \fi
+\ProvidesFile{scrkernel-listsandtabulars.dtx}[2013/10/26 v3.12 KOMA-Script
+ (lists and tabulars)]
+% \iffalse
+\documentclass[halfparskip-]{scrdoc}
+\usepackage[english,ngerman]{babel}
+\usepackage[latin1]{inputenc}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{scrkernel-listsandtabulars.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{Listen und Tabellen}
+%
+% \KOMAScript{} verfügt über einige zusätzliche Listenumgebungen. Ein
+% Teil dieser Listenumgebungen ist nicht sofort auf den ersten Blick
+% als solche zu erkennen, so wie dies schon bei den Standardklassen
+% beispielsweise mit \texttt{quote} und \texttt{quotation} der Fall
+% ist.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \iffalse
+%<*option>
+% \fi
+%
+% \subsection{Optionen}
+% Diese Umgebungen werden nicht durch Optionen beeinflusst.
+%
+%
+% \iffalse
+%</option>
+%<*body>
+%<*class>
+% \fi
+%
+%
+% \subsection{Ränder in Listen}
+%
+% \begin{Length}{leftmargini}
+% \begin{Length}{leftmarginii}
+% \begin{Length}{leftmarginiii}
+% \begin{Length}{leftmarginiv}
+% \begin{Length}{leftmarginv}
+% \begin{Length}{leftmarginvi}
+% \begin{Length}{leftmargin}
+% \begin{Length}{labelsep}
+% \begin{Length}{labelwidth}
+% Für die Listenumgebungen in verschiedenen Stufen müssen Ränder
+% definiert werden. Hinzu kommen noch die Breite eines Labels und der
+% Abstand nach einem Label.
+% \begin{macrocode}
+%<*!letter>
+\if@twocolumn
+ \setlength{\leftmargini}{2em}
+\else
+%</!letter>
+ \setlength{\leftmargini}{2.5em}
+%<!letter>\fi
+\setlength{\leftmarginii}{2.2em}
+\setlength{\leftmarginiii}{1.87em}
+\setlength{\leftmarginiv}{1.7em}
+%<*!letter>
+\if@twocolumn
+ \setlength{\leftmarginv}{.5em}
+ \setlength{\leftmarginvi}{.5em}
+\else
+%</!letter>
+ \setlength{\leftmarginv}{1em}
+ \setlength{\leftmarginvi}{1em}
+%<!letter>\fi
+\setlength{\leftmargin}{\leftmargini}
+\setlength{\labelsep}{.5em}
+\setlength{\labelwidth}{\leftmargini}
+\addtolength{\labelwidth}{-\labelsep}
+% \end{macrocode}
+% \end{Length}
+% \end{Length}
+% \end{Length}
+% \end{Length}
+% \end{Length}
+% \end{Length}
+% \end{Length}
+% \end{Length}
+% \end{Length}
+%
+% Weil die Gelegenheit so günstig ist, setzen wir hier auch gleich
+% noch ein paar \emph{penalties} (Erlaubsnispunkte).
+% \begin{macrocode}
+\@beginparpenalty=-\@lowpenalty
+\@endparpenalty =-\@lowpenalty
+\@itempenalty =-\@lowpenalty
+% \end{macrocode}
+%
+%
+% \subsection{Verschiedene Längen für Tabellen, Arrays und Tabulatoren}
+%
+% Vorbemerkung: Arrays sind im Prinzip Tabellen zur Verwendung im
+% mathemathischen Modus.
+%
+% \begin{Length}{arraycolsep}
+% \begin{Length}{tabcolsep}
+% \begin{Length}{arrayrulewidth}
+% \begin{Length}{doublerulewidth}
+% \begin{Length}{tabbingsep}
+% Bei diesen Längen handelt es sich um die Abstände der Spalten in
+% \texttt{array}- und \texttt{tabular}-Umgebungen, sowie um die Breite
+% und den Abstand der Trennlinien. Hinzu kommt noch der \cs{'} Abstand
+% in \texttt{tabbing}-Umgebungen.
+% \begin{macrocode}
+\setlength\arraycolsep{5\p@}
+\setlength\tabcolsep{6\p@}
+\setlength\arrayrulewidth{.4\p@}
+\setlength\doublerulesep{2\p@}
+\setlength\tabbingsep{\labelsep}
+% \end{macrocode}
+% \end{Length}
+% \end{Length}
+% \end{Length}
+% \end{Length}
+% \end{Length}
+%
+%
+% \subsection{Marken in Listen}
+%
+% \begin{macro}{\theenumi}
+% \begin{macro}{\theenumii}
+% \begin{macro}{\theenumiii}
+% \begin{macro}{\theenumiv}
+% \begin{macro}{\labelenumi}
+% \begin{macro}{\labelenumii}
+% \changes{v2.4m}{1997/02/28}{öffnende Klammer entsprechend Doku
+% entfernt}
+% \begin{macro}{\labelenumiii}
+% \begin{macro}{\labelenumiv}
+% \begin{macro}{\p@enumii}
+% \begin{macro}{\p@enumiii}
+% \begin{macro}{\p@enumiv}
+% \begin{macro}{\labelitemi}
+% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert}
+% \begin{macro}{\labelitemii}
+% \changes{v2.5g}{1999/10/09}{\cs{textendash} verwendet}
+% \begin{macro}{\labelitemiii}
+% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert}
+% \begin{macro}{\labelitemiv}
+% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert}
+% Für die numerierten Listenumgebungen müssen Marken bzw. Numerierungen
+% festgelegt werden. Dazu wird eine Darstellung der Zähler, ihr Prefix
+% und ihre Labeldarstellung neu definiert.
+% \begin{macrocode}
+\renewcommand*\theenumi{\@arabic\c@enumi}
+\renewcommand*\theenumii{\@alph\c@enumii}
+\renewcommand*\theenumiii{\@roman\c@enumiii}
+\renewcommand*\theenumiv{\@Alph\c@enumiv}
+\newcommand*\labelenumi{\theenumi.}
+\newcommand*\labelenumii{\theenumii)}
+\newcommand*\labelenumiii{\theenumiii.}
+\newcommand*\labelenumiv{\theenumiv.}
+\renewcommand*\p@enumii{\theenumi}
+\renewcommand*\p@enumiii{\p@enumii(\theenumii)}
+\renewcommand*\p@enumiv{\p@enumiii\theenumiii}
+\newcommand*\labelitemi{\textbullet}
+\newcommand*\labelitemii{\normalfont\bfseries\textendash}
+\newcommand*\labelitemiii{\textasteriskcentered}
+\newcommand*\labelitemiv{\textperiodcentered}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsection{Definition der Umgebungen}
+%
+% \begin{environment}{description}
+% Die \texttt{description}-Umgebung dient der Beschreibung von
+% einzelnen Begriffen. Der Begriff aus dem optionalen Argument des
+% \cs{item}-Befehls wird in einem speziellen Font, dem \cs{descfont},
+% gesetzte.
+% \begin{macrocode}
+\newenvironment{description}{%
+ \list{}{\labelwidth\z@ \itemindent-\leftmargin
+ \let\makelabel\descriptionlabel}%
+}{%
+ \endlist
+}
+\newcommand*{\descriptionlabel}[1]{%
+ \hspace{\labelsep}\descfont #1%
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{labeling}
+% \begin{macro}{\labelinglabel}
+% \changes{v3.02}{2009/01/01}{Neue Elemente \texttt{labelinglabel} und
+% \texttt{labelingseparator} werden verwendet}
+% \changes{v3.02c}{2009/01/28}{\texttt{labelinglabel} und
+% \texttt{labelingseparator} werden nun auch zur Berechnung der Breite
+% verwendet}
+% \changes{v3.03a}{2009/04/02}{Argumente in der Berechnung der Label-Breite
+% korrigiert}
+% Die \cs{labeling}-Umgebung ist eine Erweiterung des \textsf{Script}
+% Pakets. Sie erwartet ein optionales und ein normales Argument. Das
+% optionale Argument beschreibt einen speziellen Trenntext zwischen
+% \cs{item}-Marke und \cs{item}-Beschreibung. Das eigentliche Argument
+% wird für die Ermittlung der Einrückung des Beschreibungstextes
+% bzw. des Trenntextes benötigt.
+% \begin{macrocode}
+%</class>
+\newenvironment{labeling}[2][]{%
+ \def\sc@septext{#1}%
+ \list{}{\settowidth{\labelwidth}{{%
+ \usekomafont{labelinglabel}{#2%
+ \usekomafont{labelingseparator}{\sc@septext}}%
+ }}%
+ \leftmargin\labelwidth \advance\leftmargin by \labelsep
+ \let\makelabel\labelinglabel
+ }%
+}{%
+ \endlist
+}
+\newcommand\labelinglabel[1]{%
+ \usekomafont{labelinglabel}{#1\hfil
+ \usekomafont{labelingseparator}{\sc@septext}}%
+}
+%<*class>
+% \end{macrocode}
+% \end{macro}
+% \end{environment}
+%
+% \begin{environment}{verse}
+% \changes{v2.3g}{1996/01/14}{\cs{item} muss keine "`[]"'-Klammern
+% mehr verarbeiten}
+% Die Verse-Umgebung ist für Zitate in Gedichtform und ähnliches
+% gedacht.
+% \begin{macrocode}
+\newenvironment{verse}{%
+ \let\\=\@centercr
+ \list{}{\itemsep=\z@
+ \itemindent=-1.5em
+ \listparindent=\itemindent
+ \rightmargin=\leftmargin
+ \advance\leftmargin by1.5em
+ }%
+ \item\relax
+}{%
+ \endlist
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{quotation}
+% \changes{v2.3g}{1996/01/14}{\cs{item} muss keine "`[]"'-Klammern
+% mehr verarbeiten}
+% \begin{environment}{quote}
+% \changes{v2.3g}{1996/01/14}{\cs{item} muss keine "`[]"'-Klammern
+% mehr verarbeiten}
+% Die \texttt{quotation}- und die \texttt{quote}-Umgebung erlauben
+% rechts und links eingerückte Passagen. Absätze werden entweder in
+% der ersten Zeile zusätzlich eingerückt oder durch vertikalen Abstand
+% markiert.
+% \begin{macrocode}
+\newenvironment{quotation}{%
+ \list{}{\listparindent 1em%
+ \itemindent \listparindent
+ \rightmargin \leftmargin
+ \parsep \z@ \@plus\p@
+ }%
+ \item\relax
+}{%
+ \endlist
+}
+\newenvironment{quote}{%
+ \list{}{\rightmargin\leftmargin}%
+ \item\relax
+}{%
+ \endlist
+}
+% \end{macrocode}
+% \end{environment}
+% \end{environment}
+%
+% \begin{environment}{addmargin}
+% \changes{v2.8q}{2001/11/29}{neue Umgebung}
+% \changes{v2.95a}{2006-07-20}{\cs{@listdepth} korrigiert}
+% \begin{environment}{addmargin*}
+% \changes{v2.8q}{2001/11/29}{neue Umgebung}
+% \changes{v2.95a}{2006-07-20}{\cs{@listdepth} korrigiert}
+% Diese beiden Umgebungen ähneln \texttt{quote} und
+% \texttt{quotation}. Dabei werden Absatzeinzug und Absatzabstand
+% nicht verändert. Die einzige Veränderung besteht in den Rändern. Wie
+% stark die Ränder verändert werden, hängt dabei von den Parametern
+% ab. Ist nur der obligatorische Parameter angegeben, werden die
+% Ränder auf beiden Seiten um diesen Wert vergrößert. Ist ein
+% optionaler Parameter angegeben, so ist dies bei \texttt{addmargin}
+% der linke und bei \texttt{addmargin*} der innere Rand. Der
+% obligatorische Parameter ist dann der andere Rand. Diese
+% Entscheidung ist das einzige, was die Umgebungen selbst erledigen
+% müssen.
+% \begin{macro}{\@addmargin}
+% \changes{v2.8q}{2001/11/29}{neu (intern)}
+% \changes{v2.95}{2002/07/01}{\cs{item} muss keine "`[]"'-Klammern
+% mehr verarbeiten}
+% \changes{v2.9q}{2003/03/24}{\cs{labelsep} bleibt unverändert}
+% \changes{v2.95a}{2006/07/20}{\cs{@tmpcnta} bleibt unverändert}
+% \changes{v3.05b}{2010/04/29}{\cs{partopsep} muss auf 0 statt \cs{parskip}
+% gesetzt werden, weil es zu \cs{topsep} addiert wird}
+% Der Rest wird von diesem Makro erledigt.
+% \begin{macro}{\scr@addmargin@startpage}
+% \changes{v3.12}{2013/10/26}{neu (intern, lokal)}
+% \changes{v3.12}{2013/10/26}{Test auf Seitenumbruch in \texttt{addmargin*}}
+% \begin{macrocode}
+%</class>
+\newenvironment{addmargin}{%
+ \@tempswafalse\@addmargin
+}{%
+ \advance\@listdepth\@ne
+ \endlist
+}
+\newenvironment{addmargin*}{%
+ \@tempswafalse
+ \if@twoside\ifthispageodd{}{\@tempswatrue}\fi
+ \edef\scr@addmargin@startpage{\csname tpo@\scr@tpo\endcsname}%
+ \@addmargin
+}{%
+ \unskip\nobreak\ifthispageodd{}{}%
+ \expandafter\ifx\csname tpo@\scr@tpo\endcsname\scr@addmargin@startpage\else
+%<class> \ClassWarning{\KOMAClassName}{%
+%<package> \PackageWarning{scrextend}{%
+ page break inside `addmargin*' environment.\MessageBreak
+ A `addmargin*' environment starting on page
+ \scr@addmargin@startpage\MessageBreak
+ ends on page \csname tpo@\scr@tpo\endcsname.\MessageBreak
+ This will result in potential wrong margins on\MessageBreak
+ every other page.\MessageBreak
+ So maybe you should change the `addmargin*'\MessageBreak
+ environment, that ends%
+ }%
+ \fi
+ \advance\@listdepth\@ne
+ \endlist
+}
+\newcommand*{\@addmargin}[2][\@tempa]{%
+ \list{}{%
+ \if@tempswa
+ \def\@tempa{\leftmargin}%
+ \setlength{\leftmargin}{#2}%
+ \setlength{\rightmargin}{#1}%
+ \else
+ \def\@tempa{\rightmargin}%
+ \setlength{\rightmargin}{#2}%
+ \setlength{\leftmargin}{#1}%
+ \fi
+ \setlength{\listparindent}{\parindent}%
+ \setlength{\itemsep}{\parskip}%
+ \setlength{\itemindent}{\z@}%
+ \setlength{\topsep}{\z@}%
+ \setlength{\parsep}{\parskip}%
+ \setlength{\partopsep}{\z@}%
+ \let\makelabel\@gobble
+ \setlength{\labelwidth}{\z@}%
+ \advance\@listdepth\m@ne
+ }%
+ \item\relax%
+}
+%<*class>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{environment}
+% \end{environment}
+%
+%
+% \subsection{Schriftarten für Listen}
+%
+% \begin{macro}{\descfont}
+% Dies ist die Schriftart, in der das Label der Einträge in eine
+% \texttt{description}-Umgebung gesetzt wird. Das Makro ist als intern
+% zu betrachten. Anwender habe stattdessen das entsprechende Element
+% zu verwenden.
+% \begin{macrocode}
+\newcommand*\descfont{\sffamily\bfseries}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\scr@fnt@descriptionlabel}
+% \changes{v2.8o}{2001/09/14}{neues Element \texttt{descriptionlabel}}
+% Das Element auf das \cs{descfont} angewandt wird:
+% \begin{macrocode}
+\newcommand*{\scr@fnt@descriptionlabel}{\descfont}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{KOMAfont}{labelinglabel}
+% \changes{v3.02}{2009/01/01}{neues Element}
+% \begin{KOMAfont}{labelingseparator}
+% \changes{v3.02}{2009/01/01}{neues Element}
+% Das Label einer \texttt{labeling}-Umgebung wird in eigener Schrift
+% gesetzt. Innerhalb des Labels wird dann das Trennzeichen ebenfalls mit
+% eigener Schrift gesetzt. Voreingestellt ist in beiden Fällen keine Änderung.
+% \begin{macrocode}
+%</class>
+\newkomafont{labelinglabel}{}
+\newkomafont{labelingseparator}{}
+%<*class>
+% \end{macrocode}
+% \end{KOMAfont}
+% \end{KOMAfont}
+%
+%
+% \iffalse
+%</class>
+%</body>
+% \fi
+%
+% \Finale
+%
+\endinput
+%
+% end of file `scrkernel-listsandtabulars.dtx'
+%%% Local Variables:
+%%% mode: doctex
+%%% TeX-master: t
+%%% End: