summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx')
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx514
1 files changed, 209 insertions, 305 deletions
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx b/macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx
index da04fa553c..646532522f 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-listsandtabulars.dtx
-% Copyright (c) Markus Kohm, 2002-2021
+% Copyright (c) Markus Kohm, 2002-2022
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -17,54 +17,17 @@
% 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-2021
-%
-% 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 3563 2021-02-15 18:40:44Z kohm $
+%%% From File: $Id: scrkernel-listsandtabulars.dtx 3708 2022-02-15 15:24:12Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
-% \fi
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2021-02-15 19:40:44 +0100 (Mon, 15 Feb 2021) $
+ \filedate$Date: 2022-02-15 16:24:12 +0100 (Di, 15. Feb 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 1872 $
+ \filerevision$Revision: 3708 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-listsandtabulars.dtx}%
@@ -73,71 +36,60 @@
(lists and tabulars)]
}%
\reserved@a
-% \iffalse
-\documentclass[parskip=half-]{scrdoc}
-\usepackage[english,ngerman]{babel}
-\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}
-
+\documentclass[USenglish]{koma-script-source-doc}
+\usepackage{babel}
+\usepackage{hvlogos}
+\setcounter{StandardModuleDepth}{2}
\begin{document}
- \maketitle
- \tableofcontents
- \DocInput{\filename}
+\DocInput{scrkernel-listsandtabulars.dtx}
\end{document}
%</dtx>
% \fi
%
-% \selectlanguage{ngerman}
+% \changes{v2.95}{2002/07/01}{first version after splitting \file{scrclass.dtx}}
+% \changes{v3.36}{2022/02/15}{switch over from \cls*{scrdoc} to
+% \cls*{koma-script-source-doc}}
+% \changes{v3.36}{2022/02/15}{whole implementation documentation in English}
%
-% \changes{v2.95}{2002/07/01}{%
-% erste Version aus der Aufteilung von \texttt{scrclass.dtx}}
+% \GetFileInfo{scrkernel-listsandtabulars.dtx}
+% \title{Code of Lists, Tabulars and Similar Objects of the
+% \href{https://komascript.de}{\KOMAScript} Classes}
+% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}}
+% \date{Revision \fileversion{} of \filedate}
+% \maketitle
+% \begin{abstract}
+% \file{scrkernel-listandtabulars.dtx} provides mainly code for all kind of
+% lists namely \env{itemize}, \env{enumerate}, \env{description},
+% \env{labeling}, \env{quote}, \env{quotation} and \env{addmargin} for all
+% \KOMAScript{} classes. And because the code for \env{tabbing} and
+% \env{tabular} is only some lines, it is added here too.
+% \end{abstract}
+% \tableofcontents
%
-% \section{Listen und Tabellen}
+% \section{User Manual}
%
-% \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.
+% You can find the user documentation the commands implemented here in the
+% \KOMAScript{} manual, either the German \file{scrguide} or the English
+% \file{scrguien}.
%
-% \StopEventually{\PrintIndex\PrintChanges}
-%
-% \iffalse
-%<*option>
-% \fi
+% \MaybeStop{\PrintIndex}
%
-% \subsection{Optionen}
-% Diese Umgebungen werden nicht durch Optionen beeinflusst.
+% \section{Implementation of Lists}
%
+% \subsection{Options}
%
-% \iffalse
-%</option>
-%<*body>
-%<*class>
-% \fi
+% The environments do not depend on options.
%
+% \subsection{List margins}
%
-% \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{length}{\leftmargini,\leftmarginii,\leftmarginiii,\leftmarginiv,
+% \leftmarginv,\leftmarginvi,\leftmargin}
+% Usually lists can be nested at most six levels (but usually only four are
+% used). So we have to define six different margins depending on the level
+% (roman number added to \cs{leftmargin}):
% \begin{macrocode}
+%<*body>
+%<*class>
%<*!letter>
\if@twocolumn
\setlength{\leftmargini}{2em}
@@ -158,132 +110,98 @@
\setlength{\leftmarginvi}{1em}
%<!letter>\fi
\setlength{\leftmargin}{\leftmargini}
+% \end{macrocode}
+% \end{length}^^A \leftmargini … \leftmarginvi,\leftmargin
+%
+%
+% \subsection{List labels}
+%
+% \begin{length}{\labelsep,\labelwidth}
+% If a list has a label we need a label width and a horizontal distance after
+% the label.
+% \begin{macrocode}
\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).
+% \end{length}^^A \labelsep,\labewidth
+%
+%
+% \subsection{List penalties}
+%
+% \begin{macro}{\@beginparpenalty,\@endparpenalty,\@itempenatly}
+% Page breaks at the begin an end of lists or items are better than somewhere
+% else but not much.
% \begin{macrocode}
\@beginparpenalty=-\@lowpenalty
\@endparpenalty =-\@lowpenalty
\@itempenalty =-\@lowpenalty
% \end{macrocode}
+% \end{macro}
%
%
-% \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}%^^A
-% \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}
-% \changes{v3.33}{2021/02/15}{Usage of new font element
-% \texttt{labelitemi}}
-% \begin{macro}{\labelitemii}
-% \changes{v2.5g}{1999/10/09}{\cs{textendash} verwendet}
-% \changes{v3.33}{2021/02/15}{Usage of new font element
-% \texttt{labelitemii}}
-% \begin{macro}{\labelitemiii}
-% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert}
-% \changes{v3.33}{2021/02/15}{Usage of new font element
-% \texttt{labelitemiii}}
-% \begin{macro}{\labelitemiv}
-% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert}
-% \changes{v3.33}{2021/02/15}{Usage of new font element
-% \texttt{labelitemiv}}
-% 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.
+% \subsection{List items}
+%
+% \begin{command}{\theenumi,\theenumii,\theenumiii,\theenumiv}
+% There are four levels of \env{enumerate} items with their numbers in Arabic,
+% lower case letters, lowercase Roman numbers, uppercase letters.
% \begin{macrocode}
\renewcommand*\theenumi{\@arabic\c@enumi}
\renewcommand*\theenumii{\@alph\c@enumii}
\renewcommand*\theenumiii{\@roman\c@enumiii}
\renewcommand*\theenumiv{\@Alph\c@enumiv}
+% \end{macrocode}
+% \end{command}
+%
+% \begin{command}{\labelenumi}
+% \begin{command}{\labelenumii}
+% \changes{v2.4m}{1997/02/28}{opening brace removed}
+% \begin{command}{\labelenumiii,\labelenumiv}
+% The printed labels consist of the previously defined numbers followed by a
+% dot or brace.
+% \begin{macrocode}
\newcommand*\labelenumi{\theenumi.}
\newcommand*\labelenumii{\theenumii)}
\newcommand*\labelenumiii{\theenumiii.}
\newcommand*\labelenumiv{\theenumiv.}
+% \end{macrocode}
+% \end{command}
+% \end{command}
+% \end{command}
+%
+% \begin{macro}{\p@enumii,\p@enumiii,\p@enumiv}
+% References to \env{enumerate} items are prefixed by the parent number and
+% additional separation signs like braces.
+% \begin{macrocode}
\renewcommand*\p@enumii{\theenumi}
\renewcommand*\p@enumiii{\p@enumii(\theenumii)}
\renewcommand*\p@enumiv{\p@enumiii\theenumiii}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{command}{\labelitemi,\labelitemii,\labelitemiii,\labelitemiv}
+% \changes{v2.5g}{1999/10/09}{math mode eliminated}
+% \changes{v3.33}{2021/02/15}{Usage of new font element}
+% The characters used for \env{itemize} items. Again four levels are
+% supported. All of them use a own font element.
+% \begin{macrocode}
\newcommand*\labelitemi{\usekomafont{labelitemi}{\textbullet}}
\newcommand*\labelitemii{\usekomafont{labelitemii}{\textendash}}
\newcommand*\labelitemiii{\usekomafont{labelitemiii}{\textasteriskcentered}}
\newcommand*\labelitemiv{\usekomafont{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}
+% \end{command}^^A \labelitemi … \labelitemiv
%
%
-% \subsection{Definition der Umgebungen}
+% \subsection{Definition of the environments}
%
% \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{command}{\descriptionlabel}
+% \changes{v3.36}{2022/02/15}{using \cs{usekomafont\{descriptionlabel\}} instead
+% of \cs{descfont}}
+% This is used to describe a single term. The terms should be short, because
+% line breaks inside the terms are not supported. The term is the optional
+% argument of \cs{item}. It is printed with font of element \fnt{descriptionlabel}.
% \begin{macrocode}
\newenvironment{description}{%
\list{}{\labelwidth\z@ \itemindent-\leftmargin
@@ -292,26 +210,22 @@
\endlist
}
\newcommand*{\descriptionlabel}[1]{%
- \hspace{\labelsep}\descfont #1%
+ \hspace{\labelsep}\usekomafont{descriptionlabel}{#1}%
}
% \end{macrocode}
+% \end{command}
% \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}%^^A
-% 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{command}{\labelinglabel}
+% \changes{v3.02}{2009/01/01}{using font elements \fnt{labelinglabel} and
+% \fnt{labelingseparator}}
+% \changes{v3.02c}{2009/01/28}{using font elements \fnt{labelinglabel} and
+% \fnt{labelingseparator} also for the calculation of the width}
+% \changes{v3.03a}{2009/04/02}{fixed argument in the label width calculation}
+% The \env{labeling} environment is an extension of \env{description}. It has
+% an optional separation string (\texttt{\#1}) added behind every label. The
+% width of the labels are the width of the mandatory argument (\texttt{\#2}).
% \begin{macrocode}
%</class>
\newenvironment{labeling}[2][]{%
@@ -332,14 +246,12 @@
}
%<*class>
% \end{macrocode}
-% \end{macro}
+% \end{command}
% \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.
+% \changes{v2.3g}{1996/01/14}{\cs{item} does not wait for \texttt{[]}}
+% The environment for short poems.
% \begin{macrocode}
\newenvironment{verse}{%
\let\\=\@centercr
@@ -356,16 +268,11 @@
% \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{environment}{quotation,quote}
+% \changes{v2.3g}{1996/01/14}{\cs{item} does not wait for \texttt{[]}}
+% Two environments for left and right indented text. The difference of both
+% is: \env{quotation} works with paragraph indent (first line is indented),
+% \env{quote} works with paragraph distance.
% \begin{macrocode}
\newenvironment{quotation}{%
\list{}{\listparindent 1em%
@@ -385,46 +292,35 @@
}
% \end{macrocode}
% \end{environment}
-% \end{environment}
%
% \begin{environment}{addmargin}
-% \changes{v2.8q}{2001/11/29}{neue Umgebung}%^^A
-% \changes{v2.95a}{2006-07-20}{\cs{@listdepth} korrigiert}%^^A
+% \changes{v2.8q}{2001/11/29}{added}
+% \changes{v2.95a}{2006-07-20}{\cs{@listdepth} reset}
% \begin{environment}{addmargin*}
-% \changes{v2.8q}{2001/11/29}{neue Umgebung}%^^A
-% \changes{v2.95a}{2006-07-20}{\cs{@listdepth} korrigiert}%^^A
-% \changes{v3.17}{2015/03/23}{robuster gegen Umbrüche am Anfang}%^^A
-% \changes{v3.22}{2016/08/02}{Umbruchtest nur für doppelseitige
-% Dokumente}%^^A
-% 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.
+% \changes{v2.8q}{2001/11/29}{added}
+% \changes{v2.95a}{2006-07-20}{\cs{@listdepth} reset}
+% \changes{v3.17}{2015/03/23}{improved handling of page breaks at the beginning}
+% \changes{v3.22}{2016/08/02}{page break test for double-sided documents}
+% Both environments are similar to \env{quote} and \env{quotation}, but the
+% indent is not fix. If only the mandatory argument (\texttt{\#2}) is used, it
+% is the left and right indent. If the optional argument (\texttt{\#1}) is
+% also used, it is the left indent with \env{addmargin} resp. the inner indent
+% with \env{addmargin*}. Note, negative indents will extend to the
+% margins. Note, that page breaks inside \env{addmargin*} should be avoided,
+% because they result in wrong margins at the second, fourth, sixth etc. page.
% \begin{macro}{\@addmargin}
-% \changes{v2.8q}{2001/11/29}{neu (intern)}%^^A
-% \changes{v2.95}{2002/07/01}{\cs{item} muss keine "`[]"'-Klammern
-% mehr verarbeiten}%^^A
-% \changes{v2.9q}{2003/03/24}{\cs{labelsep} bleibt unverändert}%^^A
-% \changes{v2.95a}{2006/07/20}{\cs{@tmpcnta} bleibt unverändert}%^^A
-% \changes{v3.05b}{2010/04/29}{\cs{partopsep} muss auf 0 statt \cs{parskip}
-% gesetzt werden, weil es zu \cs{topsep} addiert wird}%^^A
-% \changes{v3.17}{2015/03/23}{robuster gegen Umbrüche am Anfang}%^^A
-% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} durch \cs{Ifthispageodd}
-% ersetzt}%^^A
-% Der Rest wird von diesem Makro erledigt.
+% \changes{v2.8q}{2001/11/29}{added}
+% \changes{v2.95}{2002/07/01}{\cs{item} does not wait for \texttt{[]}}
+% \changes{v2.9q}{2003/03/24}{unchanged \len{labelsep}}
+% \changes{v2.95a}{2006/07/20}{unchanged \cs{@tmpcnta}}
+% \changes{v3.05b}{2010/04/29}{\len{partopsep} has to be 0 instead of
+% \len{parskip} because of adding \len{topsep}}
+% \changes{v3.17}{2015/03/23}{improved handling of page breaks at the beginning}
+% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} replaced by \cs{Ifthispageodd}}
% \begin{macro}{\scr@addmargin@startpage}
-% \changes{v3.12}{2013/10/26}{neu (intern, lokal)}%^^A
-% \changes{v3.12}{2013/10/26}{Test auf Seitenumbruch in
-% \texttt{addmargin*}}%^^A
-% \changes{v3.22}{2016/10/21}{\cs{topsep} und \cs{partopsep} werden
-% erhalten}%^^A
+% \changes{v3.12}{2013/10/26}{added}
+% \changes{v3.12}{2013/10/26}{page break test for \env{addmargin*}}
+% \changes{v3.22}{2016/10/21}{unchanged \len{topsep} and \len{partopsep}}
% \begin{macrocode}
%</class>
\newenvironment{addmargin}{%
@@ -495,48 +391,40 @@
% \end{environment}
%
%
-% \subsection{Schriftarten für Listen}
+% \subsection{Font elements of lists}
%
+% \begin{fontelement}{descriptionlabel}
+% \changes{v2.8o}{2001/09/14}{added}
+% The font element is defined indirect by some macros to stay compatible with
+% \KOMAScript{} before the design of font elements.
% \begin{macro}{\descfont}
-% \changes{v3.20}{2016/01/29}{\cs{sffamily} durch \cs{@gr@gsffamily}
-% ersetzt}%^^A
-% 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.
+% \changes{v3.20}{2016/01/29}{\cs{sffamily} replaced by \cs{@gr@gsffamily}}
+% The font of the item labels of \env{description}. The command \cs{descfont}
+% should not be used by users. Think of it as an internal macro. The user
+% space name is because of compatibility to very old \KOMAScript{} versions.
% \begin{macrocode}
\newcommand*\descfont{\@gr@gsffamily\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:
+% The font element uses \cs{descfont}.
% \begin{macrocode}
\newcommand*{\scr@fnt@descriptionlabel}{\descfont}
% \end{macrocode}
% \end{macro}
+% \end{fontelement}
%
-% \selectlanguage{english}
-% \begin{KOMAfont}{itemizelabel}
-% \changes{v3.33}{2021/02/15}{new font element}
-% \begin{KOMAfont}{labelitemi}
-% \changes{v3.33}{2021/02/15}{new font element}
-% \begin{KOMAfont}{labelitemii}
-% \changes{v3.33}{2021/02/15}{new font element}
-% \begin{KOMAfont}{labelitemiii}
-% \changes{v3.33}{2021/02/15}{new font element}
-% \begin{KOMAfont}{labelitemiv}
-% \changes{v3.33}{2021/02/15}{new font element}
-% \begin{macro}{\labelitemfont}
-% \changes{v3.33}{2021/02/15}{new}
-% Due to a change in the LaTeX kernel 2020/02/02 the \texttt{itemize} items
+% \begin{fontelement}{labelitemi,labelitemii,labelitemiii,labelitemiv,itemizelabel}
+% \changes{v3.33}{2021/02/15}{added}
+% \begin{command}{\labelitemfont}
+% \changes{v3.33}{2021/02/15}{added}
+% Due to a change in the LaTeX kernel 2020/02/02 the \env{itemize} items
% react on font changes. For this the standard classes have been changed to
% set the item \emph{bullets} using \cs{labelitemfont} which is
% \cs{normalfont} by default. I've adapted this using also \cs{labelitemfont}
% for compatibility but only to store the font of font element
-% \texttt{itemizelabel} which is the default of the level depending font
-% elements. \texttt{itemlabelii} differs, because the default \cs{textendash}
+% \fnt{itemizelabel} which is the default of the level depending font
+% elements. \fnt{itemlabelii} differs, because the default \cs{textendash}
% should be bold.
% \begin{macrocode}
\newcommand*{\labelitemfont}{\normalfont}
@@ -545,43 +433,59 @@
\newkomafont{labelitemii}{\usekomafont{itemizelabel}\bfseries}
\newkomafont{labelitemiii}{\usekomafont{itemizelabel}}
\newkomafont{labelitemiv}{\usekomafont{itemizelabel}}
+%</class>
% \end{macrocode}
-% \end{macro}
-% \end{KOMAfont}
-% \end{KOMAfont}
-% \end{KOMAfont}
-% \end{KOMAfont}
-% \end{KOMAfont}
-% \selectlanguage{ngerman}
-%
-% \begin{KOMAfont}{labelinglabel}
-% \changes{v3.02}{2009/01/01}{neues Element}%^^A
-% \begin{KOMAfont}{labelingseparator}
-% \changes{v3.02}{2009/01/01}{neues Element}%^^A
-% 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.
+% \end{command}
+% \end{fontelement}
+%
+% \begin{fontelement}{labelinglabel,labelingseparator}
+% \changes{v3.02}{2009/01/01}{added}
+% The \env{labeling} environment has two font elements, one for the whole
+% label and one for the separator only. The default is no change.
% \begin{macrocode}
-%</class>
\newkomafont{labelinglabel}{}
\newkomafont{labelingseparator}{}
-%<*class>
% \end{macrocode}
-% \end{KOMAfont}
-% \end{KOMAfont}
+% \end{fontelement}
%
%
-% \iffalse
+% \section{Implementation of Tabulars, Array etc.}
+%
+% All these environments are implemented in the \LaTeX{} kernel already. We
+% only need some configuration parameters.
+%
+% \begin{length}{\arraycolsep,\tabcolsep,\arrayrulewidth,\doublerulewidth,
+% \tabbingsep}
+% These are the distances between columns in \env{array} and \env{tabular},
+% the width of lines/rules independent from \env{array} or \env{tabular} and
+% the distance of double lines/rules (two consecutive \cs{hline}). The last
+% one, \cs{tabbingsep}, is the \cs{'} distance in \env{tabbing} environments.
+% All values are same as in the standard classes.
+% \begin{macrocode}
+%<*class>
+\setlength\arraycolsep{5\p@}
+\setlength\tabcolsep{6\p@}
+\setlength\arrayrulewidth{.4\p@}
+\setlength\doublerulesep{2\p@}
+\setlength\tabbingsep{\labelsep}
%</class>
-%</body>
-% \fi
+% \end{macrocode}
+% \end{length}^^A \arraycolsep … \tabbingsep
%
-% \Finale
%
+% \begin{macrocode}
+%</body>
+% \end{macrocode}
+%
+% \Finale
+% \PrintChanges
+%
\endinput
-%
-% end of file `scrkernel-listsandtabulars.dtx'
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
+% Local Variables:
+% mode: doctex
+% ispell-local-dictionary: "en_US"
+% eval: (flyspell-mode 1)
+% TeX-master: t
+% TeX-engine: luatex-dev
+% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx"))
+% End: