summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrkernel-floats.dtx')
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-floats.dtx1480
1 files changed, 665 insertions, 815 deletions
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx b/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx
index 3a4e59b211..eccacb2b25 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-floats.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-floats.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-floats.dtx 3620 2021-10-12 10:27:43Z kohm $
+%%% From File: $Id: scrkernel-floats.dtx 3773 2022-03-29 06:27:55Z 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-10-12 12:27:43 +0200 (Tue, 12 Oct 2021) $
+ \filedate$Date: 2022-03-29 08:27:55 +0200 (Tue, 29 Mar 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3620 $
+ \filerevision$Revision: 3773 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-floats.dtx}%
@@ -73,182 +36,261 @@
(floats)]
}%
\reserved@a
-% \iffalse
-\documentclass[parskip=half-]{scrdoc}
-\usepackage[english,ngerman]{babel}
-\CodelineIndex
-\RecordChanges
-\GetFileInfo{scrkernel-floats.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}
+\setcounter{StandardModuleDepth}{2}
\begin{document}
- \maketitle
- \tableofcontents
- \DocInput{\filename}
+\DocInput{scrkernel-floats.dtx}
\end{document}
%</dtx>
% \fi
%
-% \selectlanguage{ngerman}
+% \changes{v2.95}{2002/07/01}{new by splitting \file{scrclass.dtx}}
+% \changes{v3.36}{2022/02/22}{switch over from \cls*{scrdoc} to
+% \cls*{koma-script-source-doc}}
+% \changes{v3.36}{2022/02/22}{implementation documentation in English}
%
-% \changes{v2.95}{2002/06/25}{%
-% erste Version aus der Aufteilung von \texttt{scrclass.dtx}}
+% \GetFileInfo{scrkernel-floats.dtx}
+% \title{Code for the Foats of the
+% \href{https://komascript.de}{\KOMAScript} Classes}
+% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}}
+% \date{Revision \fileversion{} of \filedate}
+% \maketitle
+% \begin{abstract}
+% The code for floats in \file{scrkernel-floats.dtx} is older than the
+% generic hook mechanism in the \LaTeX{} kernel. Because of this, it
+% currently does not use the kernel hook mechanism. Mostly it is also older
+% then the \KOMAScript{} package \pkg*{tocbasic} to implement and manage
+% floats. So several code has been adapted several times and maybe a general
+% re-implementation would be a good idea.
+% \end{abstract}
+% \tableofcontents
%
-% \section{Gleitumgebungen}
+% \section{User Manual}
%
-% \KOMAScript{} verfügt bezüglich der Gleitumgebungen über einige
-% Features, die über das, was die Standardklassen bieten, hinaus
-% geht. \marginline{Geplant!} Allerdings ist das hier verwendete Interface
-% gnadenlos veraltet und wird deshalb irgendwann ersetzt. Dabei wird
-% höchstwahrscheinlich grundsätzlich auf das \textsf{caption}-Paket aufgebaut
-% werden. Man betrachte dieses Modul daher als grundsätzlich zur Disposition
-% stehend.
+% You can find the user documentation the commands implemented here in the
+% \KOMAScript{} manual, either the German \file{scrguide} or the English
+% \file{scrguien}.
%
-% Die einzige Gleitumgebung, über die Briefe derzeit verfügen sind
-% Randnotizen.
%
-% \StopEventually{\PrintIndex\PrintChanges}
+% \MaybeStop{\PrintIndex}
%
-% \iffalse
-%<*option>
-% \fi
%
-% \iffalse
-%<*class>
-%<*!letter>
-% \fi
+% \section{Implementation of Floats}
+%
+% All this code is for the classes only and not for the \KOMAScript{} letter
+% class, because letter classes usually do not provide floats. If you need
+% letters with floats, just use \KOMAScript{} class \cls*{scrartcl} with
+% \KOMAScript{} package \pkg*{scrletter}.
%
-% \subsection{Einige Anweisungen und Einstellungen für die Optionen}
+% \begin{macrocode}
+%<*class&!letter>
+% \end{macrocode}
+%
+% \subsection{Some macros and configurations for the options}
%
-% Einige Anweisungen und Einstellungen werden bereits benötigt, bevor die
-% Optionen abgearbeitet werden.
+% We need some of the macros an settings already when processing the options.
%
-% \begin{macro}{\if@captionabove}
-% \changes{v2.8h}{2001/07/19}{neu}%^^A
-% \changes{v3.09}{2011/03/23}{Initialisierung vor den Optionen}%^^A
-% Ob es sich bei \cs{caption} um eine Unter- oder Überschrift handelt und also
-% \cs{abovecaptionskip} davor und \cs{belowcaptionskip} danach steht
-% oder umgekehrt, wird über diesen Schalter gesteuert. Voreingestellt
-% sind Unterschriften.
+% \begin{macro}{\@captionabovefalse,\@captionabovetrue,\if@captionabove}
+% \changes{v2.8h}{2001/07/19}{added}
+% \changes{v3.09}{2011/03/23}{moved before definition of options}
+% Boolean switch to decide whether a \cs{caption} has to behave like
+% \cs{captionabove} or \cs{captionbelow}. The default is \cs{captionbelow}.
% \begin{macrocode}
+%<*option>
\newif\if@captionabove\@captionabovefalse
% \end{macrocode}
-% \end{macro}
+% \end{macro}^^A \if@captionabove
%
-% \begin{macro}{\if@tablecaptionabove}
-% \changes{v2.8h}{2001/07/19}{neu Option}%^^A
-% \changes{v2.8k}{2001/08/15}{aus \texttt{typearea} in die Klassen
-% verschoben}
-% \changes{v2.98c}{2008/02/18}{Definition erfolgt etwas früher}%^^A
-% \begin{macro}{\@tablecaptionabovetrue}
-% \begin{macro}{\@tablecaptionabovefalse}
-% Die Einstellung, ob es Tabellenüber- oder -unterschriften sind, wird in
-% einem Schalter gespeichert.
+% \begin{macro}{\@tablecaptionabovefalse,\@tablecaptionabovetrue,\if@tablecaptionabove}
+% \changes{v2.8h}{2001/07/19}{added}
+% \changes{v2.8k}{2001/08/15}{moved from \pkg*{typearea} into the classes}
+% \changes{v2.98c}{2008/02/18}{moved before definition of options}
+% Boolean switch to decide whether a \cs{caption} inside a \env{table}
+% environment has to behave like \cs{captionabove} or \cs{captionbelow}. The
+% default is \cs{captionbelow}.
% \begin{macrocode}
\newif\if@tablecaptionabove\@tablecaptionabovefalse
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{macro}^^A \if@tablecaptionabove
%
-% \begin{macro}{\if@figurecaptionabove}
-% \changes{v3.09}{2011/03/23}{neu Option}%^^A
-% \begin{macro}{\@figurecaptionabovetrue}
-% \changes{v3.09}{2011/03/23}{neu (intern)}%^^A
-% \begin{macro}{\@figurecaptionabovefalse}
-% \changes{v3.09}{2011/03/23}{neu (intern)}%^^A
-% Die Einstellung, ob es Abbildungsüber- oder -unterschriften sind, wird in
-% einem Schalter gespeichert.
+% \begin{macro}{\@figurecaptionabovefalse,\@figurecaptionabovetrue,\if@figurecaptionabove}
+% \changes{v3.09}{2011/03/23}{added}
+% Boolean switch to decide whether a \cs{caption} inside a \env{figure}
+% environment has to behave like \cs{captionabove} or \cs{captionbelow}. The
+% default is \cs{captionbelow}.
% \begin{macrocode}
\newif\if@figurecaptionabove\@figurecaptionabovefalse
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{macro}^^A \if@figurecaptionabove
%
-% \selectlanguage{english}
-% \begin{macro}{\ifonelinecaptions}
-% \changes{v2.8q}{2001/11/17}{new boolean}
+% \begin{macro}{\onelinecaptionsfalse,\onelinecaptionstrue,\ifonelinecaptions}
+% \changes{v2.8q}{2001/11/17}{added}
% \changes{v2.98c}{2008/03/03}{earlier definition}
-% \begin{macro}{\onelinecaptionstrue}
-% \begin{macro}{\onelinecaptionsfalse}
% The boolean is used to distinguish whether or not use a special handling of
% captions with one text line only. The name of the boolean is traditionally
% but nevertheless should seen as internal.
% \begin{macrocode}
\newif\ifonelinecaptions\onelinecaptionstrue
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \selectlanguage{ngerman}
+% \end{macro}^^A \ifonelinecaptions
%
% \begin{macro}{\scap@pos}
-% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A
-% \changes{v2.98c}{2008/03/03}{Definition erfolgt etwas früher}%^^A
-% Hier wird gespeichert, ob die Beschreibung bei |captionbeside| links oder
-% rechts vom Rest stehen soll. Voreingestellt ist rechts davon
-% (\emph{\textbf{r}ight}). Andere Möglichkeiten sind \emph{\textbf{l}eft},
-% \emph{\textbf{o}uter}, \emph{\textbf{i}nner}.
+% \changes{v2.8q}{2001/11/22}{added}
+% \changes{v2.98c}{2008/03/03}{earlier definition}
+% Environment \env{captionbeside} supports several horizontal placements for
+% the caption beside the object:
+% \begin{description}
+% \item[\texttt{i}:] caption inner beside the object, which means left beside
+% on odd pages and right beside on even pages (note: single-sided documents
+% have only odd pages),
+% \item[\texttt{l}:] caption left beside the object,
+% \item[\texttt{o}:] caption outer beside the object, which means right beside
+% on odd pages and left beside on even pages (note: single-sided documents
+% have only odd pages),
+% \item[\texttt{r}:] caption right beside the object.
+% \end{description}
+% The default is right beside.
% \begin{macrocode}
\newcommand*{\scap@pos}{r}
% \end{macrocode}
-% \end{macro}
+% \end{macro}^^A \scap@pos
%
% \begin{macro}{\scap@valign}
-% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A
-% \changes{v2.98c}{2008/03/03}{Definition erfolgt etwas früher}%^^A
-% Hier wird gespeichert, ob bei |captionbeside| die beiden Boxen (siehe
-% Definition der Umgebung) \emph{\textbf{t}op}, \emph{\textbf{b}ottem} oder
-% \emph{\textbf{c}enter} ausgerichtet werden sollen. Andere Buchstaben
-% sind nicht erlaubt. Voreingestellt ist \emph{\textbf{b}ottem}.
+% \changes{v2.8q}{2001/11/22}{added}
+% \changes{v2.98c}{2008/03/03}{earlier definition}
+% Environment \env{captionbeside} support different vertical alignments
+% for the object box:
+% \begin{description}
+% \item[\texttt{c}:] centered,
+% \item[\texttt{b}:] bottom,
+% \item[\texttt{t}:] top.
+% \end{description}
+% The default is bottom.
% \begin{macrocode}
\newcommand*{\scap@valign}{b}
% \end{macrocode}
-% \end{macro}
+% \end{macro}^^A \scap@valign
%
-% \subsection{Optionen für Titel von Gleitumgebungen}
+% \subsection{Options for the captions}
%
% \begin{option}{captions}
-% \changes{v2.98c}{2008/02/18}{Neuer Zentralschalter für caption}%^^A
-% \changes{v3.09}{2011/04/02}{Neue Werte (\texttt{heading},
-% \texttt{signature}, \texttt{figureheading},
-% \texttt{figuresignature})}%^^A
-% \changes{v3.17}{2015/03/11}{Beachtung der Signalisierung mit
-% \cs{FamilyKeyState}}%^^A
-% \changes{v3.17}{2015/03/11}{Verwendung der internen Werteliste}%^^A
-% Dies ist nun die zentrale Option für Einstellungen zu \cs{caption}. Als
-% besondere Schwierigkeit ergibt sich dabei jedoch, dass das Paket
-% \textsf{caption} einige Sonderbehandlungen für \KOMAScript{} enthält, die
-% darauf angewiesen sind, dass die alte Optionenschnittstelle verwendet
-% wird. Erfreulicherweise funktioniert das aber ab Version~3.1g über eine
-% Erweiterung der Schalter-Umschaltbefehle (|\@tablecaptionabovetrue|,
-% |\@tablecaptionabovefalse|, |\onelinecaptionstrue|,
-% |\onelinecaptionsfalse|), so dass lediglich dafür georgt werden muss,
-% dass diese weiterhin verwendet werden.
+% \changes{v2.98c}{2008/02/18}{new \pkg*{keyval} option}
+% \changes{v3.09}{2011/04/02}{new values \opt{heading}, \opt{signature},
+% \opt{figureheading}, \opt{figuresignature}}
+% \changes{v3.17}{2015/03/11}{using \cs{FamilyKeyState}}
+% \changes{v3.17}{2015/03/11}{using internal value storage}
+% This is the general option for the settings of captions. Because of
+% compatibility with package \pkg{caption}, several of the macros, that are
+% used to handle the values to the option, cannot be renamed and have to be
+% used. This makes it difficult to change anything here. However, the
+% currently provides values are:
% \begin{macrocode}
\KOMA@key{captions}{%
\KOMA@set@ncmdkey{captions}{@tempa}{%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=heading}:] change the \cs{caption} default to \cs{captionabove}.
+% \end{description}
+% \begin{macrocode}
{heading}{0},{above}{0},{top}{0},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=signature}:] change the \cs{caption} default to \cs{captionbelow}.
+% \end{description}
+% \begin{macrocode}
{signature}{1},{below}{1},{bot}{1},{bottom}{1},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=tableheading}:] change the \cs{caption} default inside
+% \env{table} environments to \cs{captionabove}.
+% \end{description}
+% \begin{macrocode}
{tableheading}{2},%
{tableabove}{2},{abovetable}{2},{abovetabular}{2},{topattable}{2},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=tablesignature}:] change the \cs{caption} default inside
+% \env{table} environment to \cs{captionbelow}.
+% \end{description}
+% \begin{macrocode}
{tablesignature}{3},%
{tablebelow}{3},{belowtable}{3},{belowtabular}{3},{bottomattable}{3},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=figureheading}:] change the \cs{caption} default inside
+% \env{figure} environments to \cs{captionabove}.
+% \end{description}
+% \begin{macrocode}
{figureheading}{4},{figureabove}{4},{abovefigure}{4},{topatfigure}{4},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=figuresignature}:] change the \cs{caption} default inside
+% \env{figure} environment to \cs{captionbelow}.
+% \end{description}
+% \begin{macrocode}
{figuresignature}{5},{figurebelow}{5},{belowfigure}{5},{bottomatfigure}{5},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=oneline}:] special treatment for one line captions.
+% \end{description}
+% \begin{macrocode}
{oneline}{6},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=oneline}:] no special treatment for one line captions.
+% \end{description}
+% \begin{macrocode}
{nooneline}{7},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=rightbeside}:] change horizontal \env{captionbeside} placement
+% to right beside (see \cs{scap@pos} above).
+% \end{description}
+% \begin{macrocode}
{rightbeside}{8},{besideright}{8},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=leftbeside}:] change horizontal \env{captionbeside} placement
+% to left beside (see \cs{scap@pos} above).
+% \end{description}
+% \begin{macrocode}
{leftbeside}{9},{besideleft}{9},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=innerbeside}:] change horizontal \env{captionbeside} placement
+% to inner beside (see \cs{scap@pos} above).
+% \end{description}
+% \begin{macrocode}
{innerbeside}{10},{besideinner}{10},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=outerbeside}:] change horizontal \env{captionbeside} placement
+% to outer beside (see \cs{scap@pos} above).
+% \end{description}
+% \begin{macrocode}
{outerbeside}{11},{besideouter}{11},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=topbeside}:] change vertical \env{captionbeside} alignment
+% to top (see \cs{scap@valign} above).
+% \end{description}
+% \begin{macrocode}
{topbeside}{12},{besidetop}{12},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=centeredbeside}:] change vertical \env{captionbeside} alignment
+% to centered (see \cs{scap@valign} above).
+% \end{description}
+% \begin{macrocode}
{centeredbeside}{13},{besidecentered}{13},%
{middlebeside}{13},{besidemiddle}{13},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=bottombeside}:] change vertical \env{captionbeside} alignment
+% to bottom (see \cs{scap@valign} above).
+% \end{description}
+% \begin{macrocode}
{bottombeside}{14},{besidebottom}{14}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
@@ -352,251 +394,174 @@
\KOMA@kav@add{.\KOMAClassFileName}{captions}{rightbeside}
\KOMA@kav@add{.\KOMAClassFileName}{captions}{bottombeside}
% \end{macrocode}
-% \end{option}
+% \end{option}^^A captions
%
-% \begin{option}{tablecaptionabove}
-% \changes{v2.8h}{2001/07/19}{neue Option}%^^A
-% \changes{v2.8k}{2001/08/15}{aus \texttt{typearea} in die Klassen
-% verschoben}
+% \begin{option}{tablecaptionabove,tablecaptionbelow}
+% \changes{v2.8h}{2001/07/19}{added}
+% \changes{v2.8k}{2001/08/15}{moved from \pkg*{typearea} into the classes}
% \changes{v2.98c}{2008/02/18}{obsolete}
-% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
-% \begin{option}{tablecaptionbelow}
-% \changes{v2.8h}{2001/07/19}{neue Option}%^^A
-% \changes{v2.8k}{2001/08/15}{aus \texttt{typearea} in die Klassen
-% verschoben}
-% \changes{v2.98c}{2008/02/18}{obsolete}
-% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
-% Es besteht nun die Wahl, ob \cs{caption} bei Tabellen für Unter-
-% oder Überschriften voreingestellt ist. Die Defaulteinstellung ist
-% aus Kompatibilitätsgründen die Tabellenunterschrift.
+% \changes{v3.01a}{2008/11/20}{deprecated}
+% Implementation of deprecated options by mapping them to corresponding
+% \pkg*{keyval} options.
% \begin{macrocode}
\KOMA@DeclareDeprecatedOption{tablecaptionabove}{captions=tableheading}
\KOMA@DeclareDeprecatedOption{tablecaptionbelow}{captions=tablesignature}
% \end{macrocode}
-% \end{option}
-% \end{option}
+% \end{option}^^A tablecaptionabove,tablecaptionbelow
%
-% \selectlanguage{english}
% \begin{option}{origlongtable}
-% \changes{v2.8l}{2001/08/16}{new option}
-% If package \textsf{longtable} is loaded, the classes redefine table titles
+% \changes{v2.8l}{2001/08/16}{added}
+% If package \pkg{longtable} is loaded, the classes redefine table titles
% of that package. However, if the option has been set, this is prevented.
-% \begin{macro}{\if@komalongtable}
-% \changes{v2.8l}{2001/08/16}{new boolean}
-% \begin{macro}{\@komalongtabletrue}
-% \begin{macro}{\@komalongtablefalse}
+% \begin{macro}{\@komalongtablefalse,\@komalongtabletrue,\if@komalongtable}
+% \changes{v2.8l}{2001/08/16}{added}
% The wanted behaviour is stored in a boolean.
% \begin{macrocode}
\newif\if@komalongtable\@komalongtabletrue
\DeclareOption{origlongtable}{\@komalongtablefalse}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
+% \end{macro}^^A \if@komalongtable
+% \end{option}^^A origlongtable
%
-% \begin{option}{onelinecaption}
+% \begin{option}{onelinecaption,noonelinecaption}
% \changes{v2.8q}{2001/11/17}{new option}
% \changes{v2.98c}{2008/03/03}{obsolete}
-% \changes{v2.98c}{2008/03/03}{extra code for \textsf{caption2} removed}
+% \changes{v2.98c}{2008/03/03}{extra code for \pkg{caption2} removed}
% \changes{v3.01a}{2008/11/20}{deprecated}
-% \begin{option}{noonelinecaption}
-% \changes{v2.8q}{2001/11/17}{new option}
-% \changes{v2.98c}{2008/03/03}{obsolete}
-% \changes{v2.98c}{2008/03/03}{extra code for \textsf{caption2} removed}
-% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
+% Implementation of deprecated options by mapping them to corresponding
+% \pkg*{keyval} options.
% \begin{macrocode}
\KOMA@DeclareDeprecatedOption{onelinecaption}{captions=oneline}
\KOMA@DeclareDeprecatedOption{noonelinecaption}{captions=nooneline}
-% \end{macrocode}
-% \end{option}
-% \end{option}
-% \selectlanguage{ngerman}
-%
-%
-% \iffalse
-%</!letter>
-%</class>
%</option>
-%<*body>
-% \fi
-%
-% \subsection{Randnotizen}
-%
-% Randnotizen sind ebenfalls eine Art von Gleitumgebung.
-%
-% \begin{macro}{\marginline}
-% \KOMAScript{} stellt zusätzlich ein Randzeilenmakro zur Verfügung,
-% das je nach gerader oder ungerader Seite in doppelseitigen Layout
-% rechts- oder linksbündig gesetzt werden muss.
-% \changes{v2.4l}{1997/02/06}{Definition mit Hilfe des optionalen
-% Parameters von \cs{marginpar} deutlich vereinfacht}
-% \changes{v2.8q}{2001/11/27}{fehlende Klammern ergänzt}%^^A
-% \begin{macrocode}
-\newcommand\marginline[1]{%
- \marginpar[\raggedleft{#1}]{\raggedright #1}%
-}
% \end{macrocode}
-% \end{macro}
+% \end{option}^^A onelinecaption,noonelinecaption
%
-% \iffalse
-%<*class>
-%<*!letter>
-% \fi
%
-% \subsection{Definitionen für Titel von Gleitumgebungen}
+% \subsection{Macros and commands for the captions}
%
-% \begin{macro}{\caption}
-% \changes{v2.2c}{1995/05/25}{Fließtitel auf CJK umgestellt}%^^A
-% Es ist möglich, die Fließumgebungen mit einem Titel und einer
-% Beschreibung zu versehen. Diese wird vom ggf. etwas abgesetzt.
-% \begin{Length}{abovecaptionskip}
-% \begin{Length}{belowcaptionskip}
-% Um wieviel ist in zwei Längenregistern gespeichert:
+% \changes{v2.2c}{1995/05/25}{support for CJK added}
+% The initial feature for defining captions somehow different from the
+% standard classes was a request of Werner Lember to add support for CJK
+% languages. However not everything is changed. For example the usual lengths
+% of the standard classes are still defined, but interpreted somehow different.
+%
+% \begin{length}{\abovecaptionskip,\belowcaptionskip}
+% The distance above and below a caption. The default for captions below the
+% object is 10\,pt above the caption and 0 below. Note: For captions above
+% the object the lengths are switched: \len{abovecaptionskip} is used
+% \emph{below} the caption and \len{belowcaptionskip} is used \emph{above}
+% the caption then.
% \begin{macrocode}
+%<*body>
\newlength{\abovecaptionskip}
\newlength{\belowcaptionskip}
\setlength{\abovecaptionskip}{10\p@}
\setlength{\belowcaptionskip}{0\p@}
% \end{macrocode}
-% \end{Length}
-% \end{Length}
-% \begin{macro}{\captionformat}
-% \changes{v2.3c}{1995/08/06}{neu}%^^A
-% Trennung von Label und Text:
+% \end{length}^^A \abovecaptionskip,\belowcaptionskip
+% \begin{command}{\captionformat}
+% \changes{v2.3c}{1995/08/06}{added}
+% Separator between label (with number) an text only.
% \begin{macrocode}
\newcommand*{\captionformat}{:\ }
% \end{macrocode}
-% \end{macro}
+% \end{command}^^A \captionformat
+% \begin{command}{\captionabove,\captionbelow}
+% \changes{v2.8h}{2001/07/19}{added}
% \begin{macro}{\scr@caption}
-% \changes{v2.8h}{2001/07/19}{neu (intern)}%^^A
-% \begin{macro}{\captionabove}
-% \changes{v2.8h}{2001/07/19}{neu}%^^A
-% \begin{macro}{\captionbelow}
-% \changes{v2.8h}{2001/07/19}{neu}%^^A
-% Damit überhaupt zwischen Unter- und Überschriften unterschieden
-% werden kann, muss zunächst das Originalmakro gesichert werden. Dies
-% geschieht erst zu Beginn des Dokuments, damit Pakete ggf. noch ihre
-% eigenen Definitionen von \cs{caption} vornehmen können. Das
-% \textsf{hyperref}-Paket ist so ein Kandidat.
+% \changes{v2.8h}{2001/07/19}{added}
+% We have two different commands \cs{captionabove} and \cs{captionbelow} to
+% distinguish captions above or below the object. Internally both use
+% \cs{scr@caption}, but set either \cs{@captionabovetrue} or
+% \cs{@captionabovefalse}. To allow other packages (e.g. \pkg{hyperref} to
+% redefine \cs{caption} the final definition of \cs{scr@caption} is done in
+% |\begin{document}|. We cannot use \cs{caption} inside \cs{captionabove} or
+% \cs{captionbelow}, because we do use a redefinition of \cs{capion} to use
+% \cs{captionabove} or \cs{captionbelow} via \opt{atbegin} at \cs{DeclareNewTOC}.
% \begin{macrocode}
\newcommand{\scr@caption}{}
\AtBeginDocument{\let\scr@caption\caption}
% \end{macrocode}
-% \end{macro}
+% \end{macro}^^A \scr@caption
% Jetzt ist es möglich durch einfaches Umlegen des Schalters für die
% korrekte Darstellung zu sorgen:
% \begin{macrocode}
\newcommand{\captionabove}{\@captionabovetrue\scr@caption}
\newcommand{\captionbelow}{\@captionabovefalse\scr@caption}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{command}^^A \captionabove,\captionbelow
%
%
% \begin{environment}{captionbeside}
-% \changes{v2.8q}{2001/11/22}{neu}%^^A
-% Um einiges komplizierter als die Beschreibung unter oder über die
-% Tabelle oder Abbildung zu setzen, ist der Versuch, sie daneben zu
-% setzen. Dies funktioniert frundsätzlich auch nicht mit
-% \texttt{longtable}-Tabellen.
-%
+% \changes{v2.8q}{2001/11/22}{added}
+% Placing captions above or below the object inside a float is easy. But to
+% place it beside the object an additional environment is needed. This has to
+% collect the object (environment body) into a box and then print it side by
+% side with a second box with the caption. Note: This cannot work with
+% tables of package \pkg{longtable} or \pkg{supertabular} or similar packages.
+% \begin{quote}\raggedright
+% |\begin{captionbeside}|\oarg{list
+% entry}\marg{caption}\oarg{position}\oarg{with}\oarg{offset}|*|\\
+% \dots\\
+% |\end{captionbeside}|
+% \end{quote}
+% Note: The asterisk is optional and changes the meaning of \meta{offset}.
% \begin{macro}{\scap@caption}
-% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A
-% Die Beschreibung, die der Umgebung als Parameter übergeben wird,
-% muss zwischengespeichert werden. Hier wird lediglich das Makro
-% dafür reserviert.
+% \changes{v2.8q}{2001/11/22}{added}
+% The \meta{caption} is locally stored into helper macro \cs{scap@caption}.
% \begin{macrocode}
\newcommand*{\scap@caption}{}
% \end{macrocode}
-% \end{macro}
-%
+% \end{macro}^^A \scap@caption
% \begin{macro}{\scap@width}
-% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A
-% Die Breite, die Tabelle bzw. Abbildung einschließlich Beschreibung
-% und insgesamt haben dürften. Voreingestellt ist die gesamte
-% verfügbare Breite.
+% \changes{v2.8q}{2001/11/22}{added}
+% The optional \meta{width}, which is the width of the whole environment
+% inclusive caption, is locally stored into helper macro \cs{scap@width}. The
+% default is the while line width.
% \begin{macrocode}
\newcommand*{\scap@width}{\linewidth}
% \end{macrocode}
-% \end{macro}
-%
+% \end{macro}^^A \scap@width
% \begin{macro}{\scap@move}
-% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A
-% Der Wert, um den die Tabelle bzw. Abbildung einschließlich
-% Beschreibung nach rechts bzw. außen verschoben werden.
-% Voreingestellt ist keine Verschiebung.
+% \changes{v2.8q}{2001/11/22}{added}
+% If \cs{scap@width} is not the line width, the environment is horizontal
+% centered by default. But if \meta{offset} is used, this is used as a
+% distance from the left margin. This is locally stored into helper macro
+% \cs{scap@move}.
% \begin{macrocode}
\newcommand*{\scap@move}{\z@}
% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\scap@currentlabel}
-% \changes{v2.8q}{2001/11/24}{neu (intern)}%^^A
-% Da \cs{caption} innerhalb einer Umgebung (\cs{parbox} und
-% \texttt{captionbeside}) aufgerufen wird, würde ein \cs{label}, das
-% zwar innerhalb der Gleitumgebung aber nach der
-% \texttt{captionbeside}-Umgebung eingefügt wird, nicht die
-% Gleitumgebung, sondern die umgebende Referenzebene
-% referenzieren. Damit das nicht geschieht, wird in der
-% \texttt{captionbeside}-Umgebung in der \cs{parbox} die aktuelle
-% Referenz \cs{@currentlabel} in dem globalen Makro
-% \cs{scap@currentlabel} zwischengespeichert und am Ende der
-% \texttt{captionbeside}-Umgebung mit Hilfe von \cs{aftergroup} nach
-% dem Ende der Umgebung wiederhergestellt. Da die
-% \texttt{captionbeside}-Umgebung ohnehin nicht geschachtelt werden
-% kann, funktioniert das problemlos. Für diese Aktion wird hier ein
-% globales Makro reserviert.
+% \end{macro}^^A \scap@move
+% \begin{macro}{\scap@altfalse,\scap@alttrue,\ifscap@alt}
+% \changes{v2.8q}{2001/11/22}{added}
+% The boolean switch \cs{ifscap@alt} is used to decide if in twoside mode the
+% movement of \cs{scap@move} has to be done from the left or the right margin
+% and to left or to the right.
% \begin{macrocode}
-\newcommand*{\scap@currentlabel}{}
+\newif\ifscap@alt
% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ifscap@alt}
-% \changes{v2.8q}{2001/11/22}{neuer Schalter}%^^A
-% \begin{macro}{\scap@alttrue}
-% \begin{macro}{\scap@altfalse}
-% Der Schalter, der angibt, ob die Verschiebung \cs{scap@move} im
-% doppelseitigen Modus aus linken Seiten vom rechten Rand aus nach
-% links erfolgen soll.
+% \end{macro}^^A \ifscap@alt
+% \begin{macro}{\scap@currentlabel}
+% \changes{v2.8q}{2001/11/24}{added}
+% Because of using \cs{caption} inside a box and inside an environment, a
+% label after the \env{captionbeside} environment usually would not reference
+% the caption number. To preserve this after the end of the
+% \env{captionbeside} the current label is locally stored into global
+% \cs{scap@currentlabel} and restored after the end of the environment using
+% \cs{aftergroup}. Note: You can have only one \cs{label} inside!.
% \begin{macrocode}
-\newif\ifscap@alt
+\newcommand*{\scap@currentlabel}{}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@captionbeside}
-% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\@@captionbeside}
-% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% \begin{macro}{\@@@captionbeside}
-% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
+% \end{macro}^^A \scap@currentlabel
+% \begin{macro}{\@@@captionbeside,\@@captionbeside,\@captionbeside}
+% \changes{v2.8q}{2001/11/22}{added}
+% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}}
% \begin{macro}{\@@@@captionbeside}
-% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
-% Die Umgebung soll einmal folgende Parameter besitzen:
-% \begin{description}
-% \item[(optional)] Verzeichniseintrag
-% \item[(obligatorisch)] Beschreibung
-% \item[(optional)] lokaler Wert für \cs{scap@pos}
-% \item[(optional)] lokaler Wert für \cs{scap@width}
-% \item[(optional)] lokaler Wert für \cs{scap@move}
-% \item[(*)] lokaler Wert für \cs{ifscap@alt} (Stern gesetzt
-% entspricht \cs{scap@alttrue}
-% \end{description}
-% Wie man sieht, sollte man bei Angabe aller optionalen Parameter auch
-% bewusst den Stern setzen oder darauf verzichten.
-%
-% Damit alle Parameter ausgewertet werden können, werden einige
-% Hilfsmakros benötigt.
+% \changes{v2.8q}{2001/11/22}{added}
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
+% To handle all the optional arguments and the optional star at the end,
+% several helper macros are needed (because we currently do not use \pkg{xparse}).
% \begin{macrocode}
\newcommand*{\@captionbeside}{}
\long\def\@captionbeside[#1]#2{%
@@ -630,26 +595,21 @@
{\scap@altfalse\c@pti@nb@sid@[{#1}]{#2}}%
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
+% \end{macro}^^A \@@@@captionbeside
+% \end{macro}^^A \@@@captionbeside … \@captionbeside
% \begin{macro}{\c@pti@nb@sid@b@x}
-% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A
-% Es wird noch eines der kostbaren Boxregister benötigt.
+% \changes{v2.8q}{2001/11/22}{added}
+% We also use our own box register to collect the environment body.
% \begin{macrocode}
\newbox\c@pti@nb@sid@b@x
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}{\c@pti@nb@sid@}
-% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A
-% \changes{v2.98c}{2008/03/11}{vertikale Ausrichtung korrigiert}%^^A
-% \changes{v3.07a}{2010/11/04}{vertikale Ausrichtung im t- und b-Fall erneut
-% korrigiert}%^^A
-% Hier wird nun die Umgebung eigentlich geöffnet, während zuvor nur
-% die Parameter ausgewertet wurden.
+% \changes{v2.8q}{2001/11/22}{added}
+% \changes{v2.98c}{2008/03/11}{vertical alignment fixed}
+% \changes{v3.07a}{2010/11/04}{vertical alignment \texttt{t} and \texttt{b} fixed}
+% This is the real beginning of the environment. After collecting all the
+% arguments into local macros.
% \begin{macrocode}
\newcommand{\c@pti@nb@sid@}{}
\long\def\c@pti@nb@sid@[#1]#2{%
@@ -669,22 +629,19 @@
\begin{lrbox}{\c@pti@nb@sid@b@x}%
}
% \end{macrocode}
-% \end{macro}
-%
-% Jetzt endlich können wir uns auf die Umgebung stürzen. Die
-% Umgebung zu starten ist einfach. Es wird ein Doppelargumentmakro
-% ausgeführt.
+% \end{macro}^^A \c@pti@nb@sid@
+% Now we can use all of the helper macros to begin the environment. We use
+% \LaTeX{} kernel macro \cs{@dblarg} to define an argument with first
+% optional argument defaults to mandatory second argument.
% \begin{macrocode}
\newenvironment*{captionbeside}{%
- \@dblarg\@captionbeside%
+ \@dblarg\@captionbeside
}{%
% \end{macrocode}
-% Komplizierter ist die Beendigung der Umgebung. Hier fällt der
-% gesamte Satzaufwand an.
-% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} statt
-% \cs{if@thispageodd}}
-% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} durch \cs{Ifthispageodd}
-% ersetzt}%^^A
+% This was easy (because of using all the helper macros), but the end of the
+% environment isn't. Here we do all the calculations for printing.
+% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} replaced by \cs{if@thispageodd}}
+% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} replaced by \cs{Ifthispageodd}}
% \begin{macrocode}
\end{lrbox}%
\settowidth{\@tempdima}{\usebox\c@pti@nb@sid@b@x}%
@@ -718,7 +675,7 @@
\hspace*{\@tempdimc}%
% \end{macrocode}
% \changes{v2.9p}{2003/12/10}{\cs{@temdima} replaced by
-% \cs{wd}\cs{c@pti@nb@sid@b@x}, because \cs{@temdima} would be changed}
+% \cs{wd}\cs{c@pti@nb@sid@b@x}, because \cs{@temdima} would be changed}
% \begin{macrocode}
\if l\@tempa
\rlap{%
@@ -740,103 +697,72 @@
\aftergroup\scap@currentlabel
}
% \end{macrocode}
-% \end{environment}
+% \end{environment}^^A captionbeside
%
%
-% \begin{macro}{\capfont}
-% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} eingefügt}
-% Die Schriftart der Titel kann eingestellt werden. Dazu dient dieses
-% Makro, das als internes Makro zu verstehen ist,
-% \begin{macro}{\caplabelfont}
-% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} eingefügt}
-% Davon unabhängig kann auch die Schriftart der Titel-Titel
-% ("`Abbildung X:"') eingestellt werden. Auch dieses Makro ist als
-% internes Makro zu verstehen.
+% \begin{fontelement}{caption,captionlabel}
+% We need two font elements for the caption at whole and the label part only.
+% \begin{macro}{\capfont,\caplabelfont}
+% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} added}
+% Originally two user macros has been used to change the fonts. To stay
+% compatible with old \KOMAScript{} and also i.e. with package \pkg{caption},
+% we still define \cs{capfont} and \cs{caplabelfont} as internal storage of
+% the font elements. But already from \KOMAScript{} version 2.8c these should
+% be interpreted as internal macros.
% \begin{macrocode}
\newcommand*\capfont{\normalfont\normalcolor}
\newcommand*\caplabelfont{\normalfont\normalcolor}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\scr@fnt@caption}
-% \changes{v2.8o}{2001/09/14}{neues Element \texttt{caption}}
-% \begin{macro}{\scr@fnt@captionlabel}
-% \changes{v2.8o}{2001/09/14}{neues Element \texttt{captionlabel}}
-% Die eigentliche Änderung der Schriftart erfolgt über das Element
-% \texttt{caption} bzw. \texttt{captionlabel}.
+% \end{macro}^^A \capfont,\caplabelfont
+% \begin{macro}{\scr@fnt@caption,\scr@fnt@captionlabel}
+% \changes{v2.8o}{2001/09/14}{added}
+% Because of that non-default for the internal storage the font elements have
+% to be defined \emph{manually} instead of using \cs{newkomafont}.
% \begin{macrocode}
\newcommand*{\scr@fnt@caption}{\capfont}
\newcommand*{\scr@fnt@captionlabel}{\caplabelfont}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{macro}^^A \scr@fnt@caption,\scr@fnt@captionlabel
+% \end{fontelement}^^A caption,captionlabel
%
% \begin{macro}{\@makecaption}
-% \changes{v2.3a}{1995/07/08}{\cs{setbox}\cs{tempboxa}\cs{hbox}
-% durch \cs{sbox}\cs{@tempboxa} ersetzt}
-% \changes{v2.3a}{1995/07/08}{Minipage-Flag zurückgesetzt (ist das
-% ok?)}
-% \changes{v2.3f}{1995/12/09}{Fontumschaltung einheitlich für lange
-% und kurze Unter-/Überschriften}%^^A
-% \changes{v2.5g}{1999/10/09}{neben den komplett hängenden
-% Titeln sind nun auch nicht hängende oder teilweise hängende
-% möglich}%^^A
-% Bis Version 2.5f sah die Definition wie folgt aus.
-% \begin{verbatim}
-% \long\def\@makecaption#1#2{%
-% \vskip\abovecaptionskip
-% \sbox\@tempboxa{{\caplabelfont #1\captionformat}{\capfont #2}}%
-% \ifdim \wd\@tempboxa >\hsize
-% \@hangfrom{{\caplabelfont #1\captionformat}}{\capfont #2\par}
-% \else
-% \global \@minipagefalse
-% \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
-% \fi
-% \vskip\belowcaptionskip}
-% \end{verbatim}
-% \begin{macro}{\ifdofullc@p}
-% Nun jedoch wird das ganze etwas komplizierter. Als erstes wird ein
-% Schalter benötigt, der angibt, ob auf die volle Länge des "`Labels"'
-% eingezogen werden soll, oder nicht:
+% \changes{v2.3a}{1995/07/08}{using \cs{sbox} instead of \cs{setbox}}
+% \changes{v2.3a}{1995/07/08}{using \cs{@minipagefalse}}
+% \changes{v2.3f}{1995/12/09}{using same font switching for long and short captions}
+% \changes{v2.5g}{1999/10/09}{supporting partial hanging captions}
+% \begin{macro}{\dofullc@pfalse,\dofullc@ptrue,\ifdofullc@p}
+% The boolean switch \cs{ifdofullc@p} is true for caption texts, that should
+% be full hanging (behind the label part), which is the default.
% \begin{macrocode}
\newif\ifdofullc@p
-% \end{macrocode}
-% wobei die Standardeinstellung der volle Einzug ist, um zum bisherigen
-% Verhalten kompatibel zu bleiben.
-% \begin{macrocode}
\dofullc@ptrue
% \end{macrocode}
-% \end{macro}
+% \end{macro}^^A \ifdofullc@p
% \begin{macro}{\if@capbreak}
-% \changes{v2.8j}{2001/07/30}{neu}%^^A
-% Außerdem gibt es einen Schalter, der angibt, ob nach dem Label ein
-% Umbruch erfolgen soll. Dies ist normalerweise nicht der Fall.
-% \begin{macrocode}
-\newif\if@capbreak\@capbreakfalse
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\setcapindent}
-% \changes{v2.8j}{2001/07/30}{\cs{if@capbreak} wird verwendet}
-% \changes{v2.8l}{2001/08/17}{\cs{edef}\cs{cap@indent} statt
+% \changes{v2.8j}{2001/07/30}{added}
+% The boolean switch \cs{if@capbreak} is true, if the label should be followed
+% by a line break, which is not the case by default.
+% \begin{macrocode}
+\newif\if@capbreak
+\@capbreakfalse
+% \end{macrocode}
+% \end{macro}^^A \@capbreakfalse
+% \begin{command}{\setcapindent}
+% \begin{macro}{\@@setcaptindent,\@setcapindent}
+% \changes{v2.8j}{2001/07/30}{using \cs{if@capbreak}}
+% \changes{v2.8l}{2001/08/17}{using \cs{edef}\cs{cap@indent} instead of
% \cs{def}\cs{cap@indent}}
-% \changes{v2.8q}{2001/11/17}{wird nach dem Laden von
-% \textsf{caption2} umdefiniert}
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} ersetzt}
-% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt}
-% Dann wird weiter ein Befehl benötigt, mit dem der Benutzer die
-% Weite des Einzugs selbst einstellen kann. Da intern für die Weite
-% ein Makro verwendet werden soll, findet hier sicherheitshalber eine
-% Zuweisung an eine Dimension statt. So sollten Fehlermeldungen hier
-% und nicht erst bei Verwendung auftauchen. Natürlich muss hier auch
-% der automatische Einzug abgeschaltet werden. In der Sternform wird
-% außerdem dafür gesorgt, dass zwischen "`Label"' und Beschreibung
-% ein Umbruch erfolgt. In der normalen Version wird stattdessen für
-% Kompatibilität zu früheren Versionen gesorgt.
-% \begin{macro}{\@setcapindent}
-% \begin{macro}{\@@setcaptindent}
-% Für die Implementierung der Sternform werden zwei interne Makros
-% benötigt.
+% \changes{v2.8q}{2001/11/17}{redefined after loading \pkg{caption2}}
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
+% \changes{v3.34}{2021/03/22}{special treatment of \pkg{caption2} removed}
+% The user can configure the indent using:
+% \begin{quote}
+% \cs{setcapindent}*\marg{indent}
+% \end{quote}
+% The optional asterisk activates a line break between the label and the
+% text. The \meta{indent} is always an indent of the text from the left. A
+% local dimension assignment is done to report errors here and not at
+% usage of \cs{cap@indent}.
% \begin{macrocode}
\newcommand*{\setcapindent}{\kernel@ifstar{\@@setcapindent}{\@setcapindent}}
\newcommand*{\@setcapindent}[1]{%
@@ -855,33 +781,22 @@
\dofullc@pfalse\@capbreaktrue
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\setcaphanging}
-% \changes{v2.8q}{2001/11/17}{wird nach dem Laden von
-% \textsf{caption2} umdefiniert}
-% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt}
-% Andererseits soll es auch möglich sein, nachträglich wieder den
-% automatischen Einzug einzuschalten. Dafür gibt es ein weiteres
-% Makro.
+% \end{macro}^^A \@@setcaptindent,\@setcapindent
+% \end{command}^^A \setcapindent
+% \begin{command}{\setcaphanging}
+% \changes{v2.8q}{2001/11/17}{redefined after loading \pkg{caption2}}
+% \changes{v3.34}{2021/03/22}{special treatment of \pkg{caption2} removed}
+% Alternatively the user can select the full hanging printing.
% \begin{macrocode}
\newcommand*{\setcaphanging}{\dofullc@ptrue\@capbreakfalse}
% \end{macrocode}
-% \end{macro}
-%
-% Nun aber zur neuen Definition der Titel. Zunächst geht alles wie
-% gehabt.
-% \changes{v2.5g}{1999/10/09}{\cs{@makecaption} per \cs{newcommand}
-% definiert statt mit \cs{long}\cs{def}}
-% \changes{v2.8h}{2001/07/19}{Unterscheidung zwischen Über- und
-% Unterschriften}%^^A
-% \changes{v2.8j}{2001/07/30}{\cs{@makecaption} verwendet
-% \cs{@@makecaption}}
-% \changes{v2.8q}{2001/11/17}{die Sonderbehandlung für einzeilige
-% \emph{caption}s ist abschaltbar}
-% \changes{v2.8q}{2001/11/17}{Titel können in ihrer Breite
-% beschränkt werden}%^^A
+% \end{command}
+% Now, we have all to define \cs{@makecaption} as needed by the \LaTeX{} kernel.
+% \changes{v2.5g}{1999/10/09}{using \cs{newcommand}}
+% \changes{v2.8h}{2001/07/19}{support for headings and signatures}
+% \changes{v2.8j}{2001/07/30}{using \cs{@@makecaption}}
+% \changes{v2.8q}{2001/11/17}{special treatment of one line captions is optional}
+% \changes{v2.8q}{2001/11/17}{caption width can be limited}
% \begin{macrocode}
\newcommand{\@makecaption}[2]{%
\if@captionabove
@@ -897,37 +812,29 @@
\fi
}
% \end{macrocode}
-% \begin{macro}{\@@makecaption}
-% Tatsächlich gesetzt wird der Titel mit diesem Makro. Dabei muss der
-% erste Parameter entweder \cs{@gobble} oder \cs{@firstofone} sein.
-%
-% \begin{macro}{\cap@width}
-% \changes{v2.8q}{2001/11/17}{neu (intern)}%^^A
-% \begin{macro}{\cap@left}
-% \changes{v2.8q}{2001/11/17}{neu (intern)}%^^A
-% \begin{macro}{\cap@right}
-% \changes{v2.8q}{2001/11/17}{neu (intern)}%^^A
-% Die Breite der mehrzeiligen bzw. die maximale Breite der einzeiligen
-% \emph{caption}s sowie das Makro das links und rechts von der Box mit
-% der mehrzeiligen \emph{caption} aufgerufen wird. In der
-% Voreinstellung wird für Zentrierung gesorgt.
+% \begin{macro}{\cap@width,\cap@left,\cap@right}
+% \changes{v2.8q}{2001/11/17}{added}
+% Multi line captions can printed with a reduced with. If the width is reduced
+% the left an right margin can be changed. The defaults are centering.
% \begin{macrocode}
\newcommand*{\cap@width}{\hsize}
\newcommand*{\cap@left}{\hfill}
\newcommand*{\cap@right}{\hfill}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\setcapwidth}
-% \changes{v2.8q}{2001/11/17}{neu}
-% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} statt \cs{if@thispageodd}}
-% \changes{v2.97}{2007/02/27}{Mindestbreite für captions ist 0\,pt}
-% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} durch \cs{Ifthispageodd}
-% ersetzt}
-% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt}
-% Hier wird \cs{cap@width} gesetzt. Dabei werden optional auch
-% \cs{cap@left} und \cs{cap@right} angepasst.
+% \end{macro}^^A \cap@width,\cap@left,\cap@right
+% \begin{command}{\setcapwidth}
+% \changes{v2.8q}{2001/11/17}{added}
+% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} replaced by \cs{if@thispageodd}}
+% \changes{v2.97}{2007/02/27}{minimum width for captions is 0\,pt}
+% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} replaced by \cs{Ifthispageodd}}
+% \changes{v3.34}{2021/03/22}{special treatment of \pkg{caption2} removed}
+% The user command:
+% \begin{quote}
+% \cs{setcapwidth}\oarg{alignment}\marg{width}
+% \end{quote}
+% is one choice to set \cs{cap@width} to \meta{width}. The optional
+% \meta{alignment} (as usual |l|, |r|, |o|, or |i|) also changes \cs{cap@left}
+% and \cs{cap@right}.
% \begin{macrocode}
\newcommand*{\setcapwidth}[2][]{%
\begingroup%
@@ -996,14 +903,14 @@
\fi\fi\fi\fi\fi
}
% \end{macrocode}
-% \end{macro}%^^A \setcapwidth
-% \begin{macro}{\setcapdynwidth}
-% \changes{v3.20}{2016/03/31}{neu}
-% Ulrike findet es blöd, dass \cs{setcapwidth} wie \cs{setlength} arbeitet und
-% ist der Meinung, dass das Argument erst zur Laufzeit ausgewertet werden
-% sollte. Also ein neuer Befehl genau dafür. Es sei allerdings darauf
-% hingewiesen, dass Fehler im Argument dann ggf. erst bei jeder
-% \cs{caption}-Anweisung und nicht bereits hier ausgegeben werden!
+% \end{command}^^A \setcapwidth
+% \begin{command}{\setcapdynwidth}
+% \changes{v3.20}{2016/03/31}{added}
+% Ulrike Fischer requested for an alternative, that does not behave like
+% \cs{setlength} and therefore sets the length already at usage of
+% \cs{setcapwidth} but at usage of \cs{cap@width}. This is
+% \cs{setcapdynwidth}. But in this case mistakes can result in errors while
+% usage of \cs{cap@width} too.
% \begin{macrocode}
\newcommand*{\setcapdynwidth}[2][]{%
\def\cap@width{#2}%
@@ -1100,34 +1007,28 @@
\fi\fi\fi\fi\fi
}
% \end{macrocode}
-% \end{macro}%^^A \setcapdynwidth
+% \end{command}^^A \setcapdynwidth
% \begin{macro}{\cap@margin}
-% \changes{v2.8q}{2001/11/17}{neu (intern)}%^^A
-% Dieses Makro beinhaltet nicht den Wert der Ränder, sondern das
-% Makro, mit dem innerhalb von \cs{@@makecaption} die Makros
-% \cs{cap@left} und \cs{cap@right} neu definiert werden. Dies
-% geschieht nur, wenn die Ränder mit \cs{setcapmargin} gesetzt
-% werden. Vordefiniert ist also keinerlei Aktion.
+% \changes{v2.8q}{2001/11/17}{added}
+% \cs{cap@margin} is used to recalculate \cs{cap@left} and \cs{cap@right}
+% inside \cs{@@makecaption}, if the margins has been set using
+% \cs{setcapmargin}. Default is no such action.
% \begin{macrocode}
\newcommand*{\cap@margin}{}
\let\cap@margin=\relax%
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\setcapmargin}
+% \end{macro}^^A \cap@margin
+% \begin{command}{\setcapmargin}
% \changes{v2.8q}{2001/11/17}{neu}
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} ersetzt}
-% \begin{macro}{\@setcapmargin}
-% \changes{v2.8q}{2001/11/17}{neu (intern)}
-% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} statt
-% \cs{if@thispageodd}}
-% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} durch \cs{Ifthispageodd}
-% ersetzt}
-% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt}
-% \begin{macro}{\@@setcapmargin}
-% \changes{v2.8q}{2001/11/17}{neu (intern)}%^^A
-% Statt die Breite der \emph{caption} zu setzen, können auch die
-% Ränder gesetzt werden. In der Sternvariante werden im zweiseitigen
-% Modus die Ränder auf linken Seiten vertauscht.
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
+% \begin{macro}{\@@setcapmargin,\@setcapmargin}
+% \changes{v2.8q}{2001/11/17}{added}
+% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} replaced by \cs{if@thispageodd}}
+% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} replaced by \cs{Ifthispageodd}}
+% \changes{v3.34}{2021/03/22}{special treatment for \pkg{caption2} removed}
+% Instead of setting of the width of the caption, the left and right margin
+% can be set. The star variant switch left and right depending on odd or even
+% side in two side mode.
% \begin{macrocode}
\newcommand*{\setcapmargin}{\kernel@ifstar{\@setcapmargin}{\@@setcapmargin}}
\newcommand*{\@setcapmargin}[2][\@tempdimb]{%
@@ -1175,41 +1076,32 @@
}%
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% Jetzt aber zum Eigentlichen. Die Breite der \emph{caption} muss nur
-% bestimmte werden, wenn Option \texttt{onelinecaption} verwendet
-% wird. Das bedeutet auch, dass bei \texttt{noonelinecaption} das
-% Problem mit dem Hochzählen der Fußnoten nicht auftritt.
-% \changes{v2.8q}{2002/05/17}{Problem mit doppelten Fußnoten behoben}%
-% \changes{v2.95}{2004/01/30}{Korrekturen für vertikalen Abstand und
-% \textsl{float}-Paket}%
-% \changes{v2.95a}{2006/07/13}{diverse Korrekturen für den vertikalen
-% Abstand u.\,a. bei Verwendung des \textsl{color}-Pakets}%
-% \changes{v2.97c}{2007/06/06}{\cs{unskip}\cs{strut} eingefügt, um die
-% vertikale Ausrichtung im \emph{above}-Fall in eingen Fällen zu
-% verbessern}%
-% \changes{v3.02a}{2009/01/24}{diverse Gruppen- bzw. Argumentklammern ergänzt}%
-% \changes{v3.11c}{2013/06/12}{\cs{capfont} durch
-% \cs{usekomafont{caption}}ersetzt}%
-% \changes{v3.11c}{2013/06/12}{\cs{caplabelfont} durch
-% \cs{usekomafont{captionlabel}}ersetzt}%
-% \changes{v3.12}{2013/06/12}{ein \cs{usekomafont} durch
-% \cs{usesizeofkomafont} ersetzt}
-% \changes{v3.21}{2016/05/31}{Neuimplementierung}
+% \end{macro}^^A \@@setcapmargin,\@setcapmargin
+% \end{command}^^A \setcapmargin
+% \begin{macro}{\@@makecaption}
+% The main job is done by \cs{@@makecaption}. It has an additional first
+% argument, that has to be either \cs{@gobble} or \cs{@firstofone}. This is
+% used to either set a label or not. This is needed for captions of
+% \pkg{longtable}.
+% \changes{v2.8q}{2002/05/17}{avoid double increase of footnote number}
+% \changes{v2.95}{2004/01/30}{fixing vertical skips also with \pkg{float}}
+% \changes{v2.95a}{2006/07/13}{fixing vertical skips with \pkg{color}}
+% \changes{v2.97c}{2007/06/06}{\cs{unskip}\cs{strut} added to fix vertical
+% positions in some \emph{above} cases}
+% \changes{v3.02a}{2009/01/24}{braces fixed}
+% \changes{v3.11c}{2013/06/12}{using \cs{usekomafont}}
+% \changes{v3.12}{2013/06/12}{one \cs{usekomafont} replaced by \cs{usesizeofkomafont}}
+% \changes{v3.21}{2016/05/31}{re-implemented}
% \begin{macrocode}
\newcommand{\@@makecaption}[3]{%
% \end{macrocode}
-% Als erstes werden die Makros für den linken und rechten Rand generiert.
+% Recalculate the margins.
% \begin{macrocode}
\cap@margin
% \end{macrocode}
-% Danach wird der Test vorgenommen, ob der Text einzeilig oder
-% mehrzeilig zu setzen ist und entsprechend gehandelt:
-% \changes{v3.22}{2016/09/01}{Umdefinierung von \cs{stepcounter} und
-% \cs{refstepcounter} auf lokale Erhöhung des Zählers geändert, um Probleme
-% mit \textsf{isodate} zu umgehen}%^^A
+% Test for special treatment of one line captions.
+% \changes{v3.22}{2016/09/01}{local redefinition of \cs{stepcounter} and
+% \cs{refstepcounter} because of \pkg{isodate}}
% \begin{macrocode}
\begingroup
\ifonelinecaptions
@@ -1219,10 +1111,9 @@
\let\@footnotetext=\@gobble
\let\hypertarget\@gobbletwo
% \end{macrocode}
-% \changes{v3.22}{2016/09/01}{Sonderbehandlung für \string\\ u.\,ä. im Text}
-% Falls im Text ein \texttt{\string\\} oder \cs{newline} enthalten ist,
-% wird ein Infotext ausgegeben und dafür gesorgt, dass mehrzeilig gearbeitet
-% wird.
+% \changes{v3.22}{2016/09/01}{special treatment of hard coded line breaks}
+% If there are hard coded line breaks using |\\| or \cs{newline}, we inform
+% the user to use a multi-line caption.
% \begin{macrocode}
\edef\@xnewline{%
\unexpanded{\ClassInfo{\KOMAClassName}{%
@@ -1244,13 +1135,11 @@
}%
\settowidth{\@tempdima}{\scr@@makesinglelinecaption{#1}{#2}{#3}}%
% \end{macrocode}
-% \selectlanguage{english}
% \changes{v3.34}{2021/03/22}{fix of maximum line width of single line
% captions}
% Until \KOMAScript~3.34 the test here was wrong, because it used
% \cs{linewidth}, which is still the whole line width not the maximum caption
% width. From \KOMAScript~3.34 \cs{cap@width} is used.
-% \selectlanguage{ngerman}
% \begin{macrocode}
\ifdim\@tempdima>\cap@width
\aftergroup\scr@makemultilinecaption
@@ -1264,15 +1153,12 @@
{#1}{#2}{#3}%
}
% \end{macrocode}
-% \begin{macro}{\scr@makesinglelinecaption}
-% \changes{v3.21}{2016/05/31}{neu (intern)}
-% \begin{macro}{\scr@@makesinglelinecaption}
-% \changes{v3.21}{2016/05/31}{neu (intern)}
-% Diesen Anweisungen übernehmen die komplette Ausgabe von einzeiligen Texten.
-% Das erste Argumen hat \cs{@gobble} oder \cs{@firstofone} zu sein und
-% bestimmt darüber ob das Label ausgegeben wird oder nicht. Der Text wird
-% dagegen immer ausgegeben! Das vierte Argument im internen Makro ist entweder
-% \cs{par} oder leer.
+% \begin{macro}{\scr@@makesinglelinecaption,\scr@makesinglelinecaption}
+% \changes{v3.21}{2016/05/31}{added}
+% The output of single line captions. The first argument once again is
+% \cs{@gobble} (to not show a label) or \cs{@firstofone} (to show the
+% label). Argument two and three are the label (without separator, that is
+% added here) and the caption text.
% \begin{macrocode}
\newcommand{\scr@makesinglelinecaption}[3]{%
{%
@@ -1291,10 +1177,10 @@
\ignorespaces #3\unskip}%
}
% \end{macrocode}
-% \end{macro}%^^A \scr@@makesinglelinecaption
-% \end{macro}%^^A \scr@makesinglelinecaption
+% \end{macro}^^A \scr@@makesinglelinecaption,\scr@makesinglelinecaption
% \begin{macro}{\scr@makemultilinecaption}
-% \changes{v3.21}{2016/05/31}{neu (intern)}%^^A
+% \changes{v3.21}{2016/05/31}{added}
+% The output of multi line captions. The arguments are same as above.
% \begin{macrocode}
\newcommand{\scr@makemultilinecaption}[3]{%
{%
@@ -1303,11 +1189,10 @@
\cap@left
\vbox{\hsize\cap@width\linewidth\hsize
% \end{macrocode}
-% \changes{v3.25}{2017/11/15}{caption Ausrichtung hinzugefügt}%^^A
-% Bevor wir irgend etwas anderes machen, führen wir an der Stelle die
-% Ausrichtung für die gesamte \emph{caption} einschließlich Label aus. Dabei
-% hat eine vorhandene spezielle Ausrichtung für den Gleitungebungstyp Vorrang
-% vor der allgemeinen Ausrichtung für alle Gleitumgebungen:
+% \changes{v3.25}{2017/11/15}{caption alignment added}
+% First of all we have to use the ragged type depending in the float/caption
+% type. If the float/caption type is unknown we can use the general ragged
+% type only.
% \begin{macrocode}
\scr@ifundefinedorrelax{@captype}{%
\ClassWarning{\KOMAClassName}{%
@@ -1326,10 +1211,8 @@
\@nameuse{ragged\@captype caption}%
}%
% \end{macrocode}
-% Wenn der Schalter \cs{ifdofullc@p} gesetzt ist, wird der Text bezüglich des
-% Labels vollständig hängend gesetzt:
-% \changes{v3.25}{2017/11/15}{Verwendung von \cs{scr@endstrut} statt
-% \cs{unskip}\cs{strut}}%^^A
+% Maybe we have to us a full hanging caption.
+% \changes{v3.25}{2017/11/15}{Using \cs{scr@endstrut} instead of \cs{unskip}\cs{strut}}
% \begin{macrocode}
\ifdofullc@p
\@hangfrom{%
@@ -1344,8 +1227,7 @@
}%
{\usekomafont{caption}{#3\scr@endstrut\par}}%
% \end{macrocode}
-% Anderenfalls soll entweder nach dem Label direkt ein Umbruch erfolgen und
-% ein Einzug nur der ersten Zeile zu setzen:
+% Maybe a partial hanging caption with line break after the label.
% \begin{macrocode}
\else
\ifdim\cap@indent<\z@
@@ -1359,8 +1241,7 @@
\hspace*{-\cap@indent}#3\scr@endstrut\par
}}%
% \end{macrocode}
-% Oder es soll nach dem Label ein Umbruch erfolgen und danach alle Zeilen mit
-% dem entsprechenden Einzug gesetzt werden:
+% Or a line break after the label with full hanging.
% \begin{macrocode}
\else
\if@capbreak
@@ -1373,10 +1254,8 @@
\noindent\@hangfrom{\hspace*{\cap@indent}}%
{\usekomafont{caption}{#3\scr@endstrut\par}}%
% \end{macrocode}
-% \changes{v3.27a}{2019/10/21}{fehlende Verwendung von Element
-% \texttt{caption} ergänzt}%^^A
-% Oder es soll gar kein Umbruch erfolgen aber trotzdem alles mit einem
-% gewissen Einzug gesetzt werden:
+% \changes{v3.27a}{2019/10/21}{missing usage of \fnt{caption} added}
+% Or no line break but still with indent.
% \begin{macrocode}
\else
\@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}%
@@ -1394,7 +1273,7 @@
\fi
\fi
% \end{macrocode}
-% Eigentlich fehlt hier nur die einfachste, gar nicht hängende Form:
+% Here we could also add the not hanging version without line break:
% \begin{macrocode}
%<*neverusethis>
% #1{{\usekomafont{caption}{%
@@ -1402,7 +1281,7 @@
% {\usekomafont{capion}{\ignorespaces #3\scr@endstrut\par}%
%</neverusethis>
% \end{macrocode}
-% Die allerdings durch die Form mit Einzug 0 abgedeckt wird.
+% But this is not needed, because it is the same like indent of 0.
% \begin{macrocode}
}%
\cap@right
@@ -1411,16 +1290,20 @@
}\kern-\dp\strutbox
}
% \end{macrocode}
-% \begin{macro}{\setcaptionalignment}
-% \changes{v3.25}{2017/11/15}{neu}%^^A
-% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
-% Da es etwas lästig und fehleranfällig ist, die ganzen \cs{raggedcaption}
-% und \cs{ragged\dots caption} von Hand zu definieren, gibt es dafür einen
-% Befehl. Das erste, optionale Argument ist dabei die Gleitungebung für die
-% die Definition erfolgen soll. Ist das Argument nicht leer, wird bei
-% definiertem \cs{@captype} dieses als Gleitumgebung angenommen. Ist das
-% Argument leer wird stattdessen die allgemeine Ausrichtung festgelegt. Das
-% zweite Argument ist ein einzelner Buchstaben, der für die Ausrichtung steht.
+% \begin{command}{\setcaptionalignment}
+% \begin{macro}{\@setcaptionalignment}
+% \changes{v3.25}{2017/11/15}{added}
+% \changes{v3.28}{2019/11/18}{\cs{ifstr} replaced by \cs{Ifstr}}
+% It is better for users to not define the \cs{raggedcaption} and
+% \cs{ragged\dots caption} commands themselves to avoid mistakes. So we have
+% \begin{quote}
+% \cs{setcaptionalignment}\oarg{float}\marg{alignment}
+% \end{quote}
+% If \meta{float} is used, \cs{ragged\meta{float}caption} will be changed. If
+% \meta{float} is not used, but \cs{@captype} is defined (and not \cs{relax})
+% \cs{ragged\cs{@captype}caption} is defined. If \meta{float} is empty or
+% \cs{captype} is undefined (or \cs{relax}) and \meta{float} is not used,
+% \cs{raggedcaption} will be changed.
% \begin{macrocode}
\newcommand*\setcaptionalignment{%
\kernel@ifnextchar [%]
@@ -1433,9 +1316,9 @@
}%
\newcommand*\@setcaptionalignment[2][]{%
% \end{macrocode}
-% Wenn das optionale Argument nicht leer ist, sollte es eine bereits
-% definierte Gleitumgebung sein. Anderenfalls wird vorsichtshalber zumindest
-% eine Warnung ausgegeben. Die Ausrichtung wird aber trotzde, definiert.
+% If \meta{float} is not empty it should be the name of a already defined
+% floating environment. Otherwise we report a warning, but nevertheless define
+% the command.
% \begin{macrocode}
\IfArgIsEmpty{#1}{}{%
\expandafter\ifnum
@@ -1448,22 +1331,31 @@
\fi
}%
% \end{macrocode}
-% Danach gehen wir die Buchstaben durch. Erlaubt sind:
+% Depending on \meta{alignment} the command will be changed:
% \begin{description}
-% \item[\texttt{j}] -- Blocksatz (\cs{ragged\dots caption} wird \cs{relax}.
-% \item[\texttt{l}] -- Blocksatz (\cs{ragged\dots caption} wird
-% \cs{raggedright}.
-% \item[\texttt{r}] -- Blocksatz (\cs{ragged\dots caption} wird
-% \cs{raggedleft}.
-% \item[\texttt{c}] -- Blocksatz (\cs{ragged\dots caption} wird
+% \item[\texttt{j}] -- justified (\cs{ragged\dots caption} becomes \cs{relax}).
+% \item[\texttt{l}] -- left aligned (\cs{ragged\dots caption} becomes
+% \cs{raggedright}).
+% \item[\texttt{r}] -- right aligned (\cs{ragged\dots caption} becomes
+% \cs{raggedleft}).
+% \item[\texttt{c}] -- centered (\cs{ragged\dots caption} becomes
% \cs{centering}.
% \end{description}
-% Ist das Paket \textsf{ragged2e} geladen, werden stattdessen die Befehle
-% \cs{LaTeXraggedright}, \cs{LaTeXraggedleft} und \cs{LaTeXcentering}
-% verwendet. Außerdem führen dann die entsprechenden Großbuchstaben zu
-% \cs{justifying}, \cs{RaggedRight}, \cs{RaggedLeft} und
-% \cs{Centering}. Anderenfalls werden die Großbuchstaben wie die
-% Kleinbuchstaben behandelt und geben zusätzlich eine Warnung aus.
+% Note: If \pkg{ragged2e} has been loaded, \cs{LaTeXraggedright},
+% \cs{LaTeXraggedleft} and \cs{LaTeXcentering} are used and the following
+% additional \meta{alignment}s are supported:
+% \begin{description}
+% \item[\texttt{J}] -- justified (\cs{ragged\dots caption} becomes \cs{justifying}).
+% \item[\texttt{L}] -- left aligned (\cs{ragged\dots caption} becomes
+% \cs{RaggedRight}).
+% \item[\texttt{R}] -- right aligned (\cs{ragged\dots caption} becomes
+% \cs{RaggedLeft}).
+% \item[\texttt{C}] -- centered (\cs{ragged\dots caption} becomes
+% \cs{Centering}.
+% \end{description}
+% Without \pkg{ragged2e} the upper case letters are same like lower case
+% letters, but additionally warn. Note: The implementation does also work, if
+% \pkg*{scrlayer-scrpage} has defined \cs{LaTeXraggedright} etc.
% \begin{macrocode}
\def\reserved@a{#2}%
\Ifstr{\reserved@a}{j}{%
@@ -1556,8 +1448,8 @@
}
% \end{macrocode}
% \begin{macro}{\scr@caption@raggede@warning}
-% \changes{v3.25}{2017/11/15}{neu (intern)}%^^A
-% Das ist die oben erwähnte Warnung.
+% \changes{v3.25}{2017/11/15}{added}
+% The warning used above.
% \begin{macrocode}
\newcommand*{\scr@caption@raggede@warning}[2]{%
\begingroup
@@ -1571,42 +1463,35 @@
\endgroup
}
% \end{macrocode}
-% \begin{macro}{\raggedcaption}
-% \changes{v3.25}{2017/11/15}{neu}%^^A
-% Und natürlich wird eine Standardausrichtung benötigt. Ich bevorzuge hier die
-% leere Ausrichtung, weil \LaTeX{} \cs{relax} nicht als definiert erkennt.
+% \begin{command}{\raggedcaption}
+% \changes{v3.25}{2017/11/15}{added}
+% The default alignment is standard alignment (empty means no change).
% \begin{macrocode}
\newcommand*\raggedcaption{}
% \end{macrocode}
-% \end{macro}
-% \end{macro}%^^A \scr@caption@raggede@warning
-% \end{macro}%^^A \setcaptionalignment
-% \end{macro}%^^A \scr@makemultilinecaption
-% \end{macro}%^^A \@@makecaption
-% \end{macro}%^^A \@makecaption
-% \end{macro}%^^A \caption
+% \end{command}^^A \raggedcaption
+% \end{macro}^^A \scr@caption@raggede@warning
+% \end{macro}^^A \@setcaptionalignment
+% \end{command}^^A \setcaptionalignment
+% \end{macro}^^A \scr@makemultilinecaption
+% \end{macro}^^A \@@makecaption
+% \end{macro}^^A \@makecaption
+%
+% \subsection{Special treatment of \texorpdfstring{\pkg*{longtable}}{`longtable'} captions}
%
% \begin{macro}{\LT@makecaption}
-% \changes{v2.8j}{2001/07/30}{neu (intern)}
-% \changes{v2.8k}{2001/08/15}{keine Umdefinierung, wenn das
-% \textsf{caption2}-Paket erkannt oder die Option
-% \texttt{origlongtable} gesetzt wurde}
-% \changes{v2.8q}{2001/11/18}{Breite und Anordnung wird über
-% \KOMAScript-Makros bestimmt}
-% \changes{v2.8q}{2001/11/18}{Verwendung von \cs{AfterPackage}}
-% \changes{v2.9s}{2004/08/24}{vertikale Abstände durch verschieben von
-% \cs{vskip} korrigiert}
-% \begin{macro}{\LT@array}
-% \changes{v2.8q}{2001/11/18}{neu (intern)}
-% \begin{macro}{\LT@caption}
-% \changes{v2.8q}{2001/11/18}{neu (intern)}
+% \changes{v2.8j}{2001/07/30}{added}
+% \changes{v2.8k}{2001/08/15}{do nothing if \pkg{caption2} has been loaded or
+% option \opt{origlongtable} has been used}
+% \changes{v2.8q}{2001/11/18}{width and alignment by \KOMAScript{}}
+% \changes{v2.8q}{2001/11/18}{using \cs{AfterPackage}}
+% \changes{v2.9s}{2004/08/24}{vertical skips fixed by moving \cs{vskip}}
+% \changes{v3.34}{2021/03/22}{special treatment of \pkg{caption2} removed}
+% \begin{macro}{\LT@array,\LT@caption}
+% \changes{v2.8q}{2001/11/18}{added}
% \begin{macro}{\scr@caption@before@longtable@warning}
-% \changes{v2.98c}{2008/03/03}{neu (intern)}
-% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt}
-% Ab Version 2.8j wird auf vielfachen Wunsch das
-% \textsf{longtable}-Paket berücksichtigt. Da Pakete aber nach
-% Klassen geladen werden, kann dies erst nach dem Laden des Pakets
-% aktiviert werden. Die Definition entspricht der obigen.
+% \changes{v2.98c}{2008/03/03}{added}
+% The code for \pkg{longtable} has to be delayed until loading the package.
% \begin{macrocode}
\newcommand*{\scr@caption@before@longtable@warning}[1]{%
\ClassWarning{\KOMAClassName}{%
@@ -1634,9 +1519,8 @@
\LT@mcol\LT@cols c{%
\hbox to\z@{\hss\parbox[t]\linewidth{%
% \end{macrocode}
-% \changes{v3.25}{2017/11/15}{\cs{@captype} auf \texttt{table} gesetzt}%^^A
-% Damit \cs{raggedtablecaption} ggf. verwendet wird, wird hier \cs{@captype}
-% explizit auf \texttt{table} gesetzt.
+% \changes{v3.25}{2017/11/15}{\cs{@captype} set to \texttt{table}}
+% To make \cs{raggedtablecaption} available, \cs{@captype} has to be defined.
% \begin{macrocode}
\def\@captype{table}%
\@@makecaption{#1}{#2}{#3}%
@@ -1672,23 +1556,18 @@
\fi
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{macro}^^A \scr@caption@before@longtable@warning
+% \end{macro}^^A \LT@array,\LT@caption
+% \end{macro}^^A \LT@makecaption
%
-% \begin{macro}{\fs@komaabove}
-% \changes{v2.8j}{2001/07/30}{neu (intern)}%^^A
-% \begin{macro}{\fs@komabelow}
-% \changes{v2.8j}{2001/07/30}{neu (intern)}%^^A
-% \begin{macro}{\floatc@komascript}
-% \changes{v2.8j}{2001/07/30}{neu (intern)}%^^A
-% Ab Version 2.8j werden für das \textsf{float}-Paket zwei float-Stile
-% Namens \texttt{komaabove} und \texttt{komabelow} definiert. Da
-% möglicherweise auch andere Pakete darauf zurückgreifen, wird das
-% unabhängig von der Existenz von \textsf{float} getan. Verwendet wird
-% dies innerhalb von \KOMAScript{} jedoch nicht. Es werden außerdem
-% interne Makros von \textsf{float} verwendet!
+% \subsection{Special treatment of the \texorpdfstring{\pkg*{float}}{`float'} package}
+%
+% \begin{macro}{\fs@komaabove,\fs@komabelow,\floatc@komascript}
+% \changes{v2.8j}{2001/07/30}{added}
+% We define two float style for package \pkg{float}: \texttt{komaabove} and
+% \texttt{komabelow}. However this is done independent of loading \pkg{float},
+% because maybe someone else also uses those styles (but I don't think so).
+% Note: Internal macros of \pkg{float} has to be used for the definitions.
% \begin{macrocode}
\newcommand*{\fs@komaabove}{%
\let\@fs@capt\floatc@komascript
@@ -1704,26 +1583,23 @@
\let\@fs@iftopcapt\iffalse}
\newcommand{\floatc@komascript}{\@@makecaption\@firstofone}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{macro}^^A \fs@komabove,\fs@komabelow,\floatc@komascript
%
%
-% \subsection{Verteilung der Gleitumgebungen}
+% \subsection{Where to place floats}
%
-% \begin{Counter}{topnumber}
-% \begin{macro}{\topfraction}
-% \begin{Counter}{bottomnumber}
-% \begin{macro}{\bottomfraction}
-% \begin{Counter}{totalnumber}
-% \begin{macro}{\textfraction}
-% \begin{macro}{\floatpagefraction}
-% \begin{Counter}{dbltopnumber}
-% \begin{macro}{\dbltopfraction}
-% \begin{macro}{\dblfloatpagefraction}
-% Für die Fließumgebungen müssen verschiedene Konstanten definiert
-% werden, die Aufteilung zwischen Text und Fließumgebung und Ähnliches
-% regeln.
+% \begin{counter}{topnumber}
+% \begin{command}{\topfraction}
+% \begin{counter}{bottomnumber}
+% \begin{command}{\bottomfraction}
+% \begin{counter}{totalnumber}
+% \begin{command}{\textfraction}
+% \begin{command}{\floatpagefraction}
+% \begin{counter}{dbltopnumber}
+% \begin{command}{\dbltopfraction}
+% \begin{command}{\dblfloatpagefraction}
+% These are constants used by the \LaTeX{} kernel to decide where to place a
+% float. See the kernel documentation for more information.
% \begin{macrocode}
\setcounter{topnumber}{2}
\renewcommand*\topfraction{.7}
@@ -1736,38 +1612,32 @@
\renewcommand*\dbltopfraction{.7}
\renewcommand*\dblfloatpagefraction{.5}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{Counter}
-% \end{macro}
-% \end{macro}
-% \end{Counter}
-% \end{macro}
-% \end{Counter}
-% \end{macro}
-% \end{Counter}
-%
-%
-% \subsection{Titel ohne Gleitumgebung}
-%
-% \begin{macro}{\captionof}
-% \changes{v3.05}{2009/07/08}{Neue Anweisung}%^^A
-% \changes{v3.09}{2011/03/21}{Verwendung des internen \cs{scr@caption}}
-% \changes{v3.09a}{2011/04/13}{Berücksichtigung von
-% \texttt{captions=tableheading} und \texttt{captions=figureheading}}
-% \begin{macro}{\captionaboveof}
-% \changes{v3.09}{2011/03/21}{Neue Anweisung}%^^A
-% \begin{macro}{\captionbelowof}
-% \changes{v3.09}{2011/03/21}{Neue Anweisung}%^^A
-% Obwohl es inzwischen mehrere Pakete gibt, die diese Anweisung bereit
-% stellen, kommt es doch immer wieder zu Fehlern, weil einige Anwender diese
-% Pakete nicht nutzen. Also habe ich beschlossen, das selbst zu
-% implementieren. Um die Kompatibilität mit \textsf{capt-of} nicht zu stören,
-% wird die Definition vor dme Laden jenes Pakets zurück genommen. Mit dem
-% Paket \textsf{caption} gibt es solche Probleme nicht, da dieses
-% \cs{captionof} ohnehin per \cs{def} definiert. Allerdings berücksichtigt das
-% \cs{captionof} von \textsf{caption} und \textsf{capt-of} eventuell die
-% Einstellungen für darüber oder darunter nicht in gleicher Weise.
+% \end{command}
+% \end{command}
+% \end{counter}
+% \end{command}
+% \end{command}
+% \end{counter}
+% \end{command}
+% \end{counter}
+% \end{command}
+% \end{counter}
+%
+%
+% \subsection{Caption without float}
+%
+% \begin{command}{\captionof}
+% \changes{v3.05}{2009/07/08}{added}
+% \changes{v3.09}{2011/03/21}{using internal \cs{scr@caption}}
+% \changes{v3.09a}{2011/04/13}{handling of
+% \opt{captions\quotechar=tableheading} and \opt{captions\quotechar=figureheading}}
+% \begin{command}{\captionaboveof,\captionbelowof}
+% \changes{v3.09}{2011/03/21}{added}
+% We do not only provide a \cs{captionof} like \pkg{caption} or \pkg{capt-of}
+% but also \cs{captionaboveof} and \cs{captionbelowof}. Users should not
+% additionally use \pkg{capt-of}, but if they do, the definition of that
+% package will be used instead (which is usually not, what the user want, but
+% what they decided to do).
% \begin{macrocode}
\newcommand*{\captionof}[1]{\def\@captype{#1}%
\begingroup\expandafter\expandafter\expandafter\endgroup
@@ -1779,14 +1649,19 @@
\newcommand*{\captionbelowof}{\@captionabovefalse\captionof}
\BeforePackage{capt-of}{\let\captionof\relax}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{command}^^A \captionaboveof,\captionbelowof
+% \end{command}^^A \captionof
%
% \begin{environment}{captionofbeside}
-% \changes{v3.10}{2011/09/02}{Neue Umgebung}%^^A
-% Analog zu \texttt{captionbeside} hier eine Umgebung mit Angabe des
-% Gleitumgebungstyps als erstes Argument.
+% \changes{v3.10}{2011/09/02}{added}
+% The analogue environment to \cs{captionbeside} to be used outside
+% floats.
+% \begin{description}
+% \item[ToDo:] Wouldn't it be a good idea to test for already defined
+% \cs{@captype} inside \env{captionbeside} and then expect an additional first
+% argument \meta{float}? In this case user could simply us \env{captionbeside}
+% the same way as \env{captionofbeside}.
+% \end{description}
% \begin{macrocode}
\newenvironment{captionofbeside}[1]{%
\def\@captype{#1}%
@@ -1798,54 +1673,55 @@
% \end{environment}
%
%
-% \subsection{Standardbezeichner}
+% \subsection{Names}
%
-% \begin{macro}{\figurename}
-% \begin{macro}{\tablename}
-% So heißen die Dinger:
+% \begin{command}{\figurename,\tablename}
+% \changes{v3.36}{2022/02/15}{explicit definition for English languages}
+% The names to be used for the float labels.
% \begin{macrocode}
\newcommand*\figurename{Figure}
+\providecaptionname{american,australian,british,canadian,english,newzealand,%
+ UKenglish,ukenglish,USenglish,usenglish}\figurename{Figure}
\newcommand*\tablename{Table}
+\providecaptionname{american,australian,british,canadian,english,newzealand,%
+ UKenglish,ukenglish,USenglish,usenglish}\tablename{Table}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{command}^^A \figurename,\tablename
%
%
-% \subsection{Abbildungsumgebung}
+% \subsection{Defining the \env{figure} environment}
%
-% \begin{environment}{figure}
-% \changes{v2.2c}{1995/05/25}{Abbildungsausgabe auf CJK umgestellt}%^^A
-% \changes{v2.8h}{2001/07/19}{\cs{caption} wird explizit zu
-% \cs{captionbelow}}%^^A
-% \changes{v3.25}{2017/10/10}{Reimplementierung mit \textsf{tocbasic}}%^^A
-% Zunächst werden \texttt{figure}s, also Abbildungen behandelt.
-% \begin{Counter}{figure}
-% \changes{v3.25}{2017/10/10}{Der Zähler wird implizit von
-% \cs{DeclareNewTOC} definiert.}%^^A
-% \end{Counter}
-% Der ganze Rest kann mit \cs{DeclareNewTOC} erledigt werden.
+% \begin{environment}{figure*,figure-,figure}
+% \changes{v2.2c}{1995/05/25}{initial CJK support}
+% \changes{v2.8h}{2001/07/19}{\cs{caption} is \cs{captionbelow}}
+% \changes{v3.25}{2017/10/10}{re-implemented using \pkg*{tocbasic}}
+% \changes{v3.36}{2022/02/22}{define additional non-float}
+% \begin{counter}{figure}
+% \changes{v3.25}{2017/10/10}{implicit by \cs{DeclareNewTOC}}
+% \end{counter}
+% We do the main job using \cs{DeclareNewTOC}:
% \begin{macrocode}
\DeclareNewTOC[%
type=figure,
float,
+ nonfloat,
%<book|report> counterwithin=chapter,
% \end{macrocode}
% \begin{macro}{\fps@figure}
-% Die Standardplatzierung für Abbildungen ist \emph{t}op,
-% \emph{b}ottom, \emph{p}age.
+% Default placement (by \cs{DeclareNewTOC}) \textbf{t}op, \textbf{b}ottom,
+% \textbf{p}age.
% \begin{macrocode}
floatpos=tbp,
+% \end{macrocode}
% \end{macro}
% \begin{macro}{\ftype@figure}
-% Um die verschiedenen \emph{float}-Typen unterscheiden zu können,
-% benötigen sie eine Nummer. Abbildungen bekommen hier willkürlich
-% die Nummer 1.
+% Numerical float type 1 (by \cs{DeclareNewTOC}).
% \begin{macrocode}
floattype=1,
% \end{macrocode}
% \end{macro}
-% \changes{v3.11c}{2013/03/01}{fix: one \cs{caption} change removed}%^^A
-% \changes{v3.20}{2016/04/07}{Interne Umdefinierung von \cs{caption}}%^^A
+% \changes{v3.11c}{2013/03/01}{fix: one \cs{caption} change removed}
+% \changes{v3.20}{2016/04/07}{internal redefinition of \cs{caption}}
% \begin{macrocode}
tocentryindent=1.5em,
tocentrynumwidth=2.3em,
@@ -1855,13 +1731,13 @@
}
% \end{macrocode}
% \begin{macro}{\ext@figure}
-% Die Extension der Datei für das Abbildungsverzeichnis.
+% Extension to be used (by \cs{DeclareNewTOC})
% \begin{macrocode}
]{lof}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\thefigure}
-% \changes{v2.97e}{2007/11/23}{Kapitelnummer nur im Hauptteil}
+% \begin{command}{\thefigure}
+% \changes{v2.97e}{2007/11/23}{using chapter number in main-matter only}
% \changes{v3.27}{2019/06/26}{\cs{relax} replaced by percent}
% \changes{v3.35}{2021/10/12}{use chapter number only of greater than zero}
% \changes{v3.35}{2021/10/12}{redefine \cs{thefigure} only if compatibility is
@@ -1878,65 +1754,51 @@
\fi
%</article>
% \end{macrocode}
-% \end{macro}
+% \end{command}
% \begin{macro}{\fnum@figure}
-% \begin{macro}{\figureformat}
-% \changes{v2.3c}{1995/08/06}{neu}%^^A
-% Die Ausgabe der Abbildungsnummer wird implizit von \cs{DeclareNewTOC} als
-% \iffalse
-%<*ignore>
-% \fi
-% \begin{macrocode}
-\newcommand*{\fnum@figure}{\figureformat}
-\newcommand*{\figureformat}{%
- \figurename~\thefigure
- \csname autodot\endcsname
-}
-% \end{macrocode}
-% \iffalse
-%</ignore>
-% \fi
-% definiert.
-% \end{macro}
+% \begin{command}{\figureformat}
+% \changes{v2.3c}{1995/08/06}{added}
+% The print format of the number (by \cs{DeclareNewTOC}).
+% \end{command}
% \end{macro}
% \end{environment}
%
%
-% \subsection{Tabellengleitumgebung}
+% \subsection{Defining the \env{table} environment}
+%
+% Note: This is almost the same as defining the \env{figure} environment. So
+% read the previous section first.
%
-% \begin{environment}{table}
-% \changes{v2.2c}{1995/05/25}{Tabellenausgabe auf CJK umgestellt}%^^A
-% \changes{v2.8h}{2001/07/19}{bei Tabellen kann der Default für
-% \cs{caption} von Unter- auf Überschriften geändert werden}
-% \changes{v3.25}{2017/10/10}{Reimplementierung mit \textsf{tocbasic}}%^^A
-% Auch verschiebbare Tabellen sind möglich. Das Prinzip ist das
-% gleiche wie bei den Abbildungen.
-% \begin{Counter}{table}
-% \changes{v3.25}{2017/10/10}{Der Zähler wird implizit von
-% \cs{DeclareNewTOC} definiert.}%^^A
-% \end{Counter}
-% Der ganze Rest kann mit \cs{DeclareNewTOC} erledigt werden.
+% \begin{environment}{table*,table-,table}
+% \changes{v2.2c}{1995/05/25}{initial CJK support}
+% \changes{v2.8h}{2001/07/19}{\cs{caption} is \cs{captionbelow}}
+% \changes{v3.25}{2017/10/10}{re-implemented using \pkg*{tocbasic}}
+% \changes{v3.36}{2022/02/22}{define additional non-float}
+% \begin{counter}{table}
+% \changes{v3.25}{2017/10/10}{implicit by \cs{DeclareNewTOC}}
+% \end{counter}
+% We do the main job using \cs{DeclareNewTOC}:
% \begin{macrocode}
\DeclareNewTOC[%
type=table,
float,
+ nonfloat,
%<book|report> counterwithin=chapter,
% \end{macrocode}
% \begin{macro}{\fps@table}
-% Die Standardplatzierung für Tabellen ist \emph{t}op,
-% \emph{b}ottom, \emph{p}age.
+% Default placement (by \cs{DeclareNewTOC}) \textbf{t}op, \textbf{b}ottom,
+% \textbf{p}age.
% \begin{macrocode}
floatpos=tbp,
+% \end{macrocode}
% \end{macro}
% \begin{macro}{\ftype@table}
-% Um die verschiedenen \emph{float}-Typen unterscheiden zu können,
-% benötigen sie eine Nummer. Tabellen bekommen hier willkürlich
-% die Nummer 2.
+% Numerical float type 2 (by \cs{DeclareNewTOC}).
% \begin{macrocode}
floattype=2,
% \end{macrocode}
% \end{macro}
-% \changes{v3.20}{2016/04/07}{Interne Umdefinierung von \cs{caption}}%^^A
+% \changes{v3.20}{2016/04/07}{internal redefinition of \cs{caption}}
% \begin{macrocode}
tocentryindent=1.5em,
tocentrynumwidth=2.3em,
@@ -1946,14 +1808,14 @@
}
% \end{macrocode}
% \begin{macro}{\ext@table}
-% Die Extension der Datei für das Abbildungsverzeichnis.
+% Extension to be used (by \cs{DeclareNewTOC})
% \begin{macrocode}
]{lot}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\thetable}
-% \changes{v2.97e}{2007/11/23}{Kapitelnummer nur im Hauptteil}%^^A
-% \changes{v3.27}{2019/06/26}{\cs{relax} replaced by percent}%^^A
+% \begin{command}{\thetable}
+% \changes{v2.97e}{2007/11/23}{using chapter number in main-matter only}
+% \changes{v3.27}{2019/06/26}{\cs{relax} replaced by percent}
% \changes{v3.35}{2021/10/12}{use chapter number only of greater than zero}
% \changes{v3.35}{2021/10/12}{redefine \cs{thefigure} only if compatibility is
% less or equal 2.97d resp. less than 3.35}
@@ -1968,42 +1830,30 @@
\renewcommand*\thetable{\@arabic\c@table}
\fi
%</article>
+%</body>
% \end{macrocode}
-% \end{macro}
+% \end{command}
% \begin{macro}{\fnum@table}
-% \begin{macro}{\tableformat}
-% \changes{v2.3c}{1995/08/06}{neu}%^^A
-% Die Ausgabe der Abbildungsnummer wird implizit von \cs{DeclareNewTOC} als
-% \iffalse
-%<*ignore>
-% \fi
-% \begin{macrocode}
-\newcommand*{\fnum@table}{\tableformat}
-\newcommand*{\tableformat}{%
- \tablename~\thetable
- \csname autodot\endcsname
-}
-% \end{macrocode}
-% \iffalse
-%</ignore>
-% \fi
-% definiert.
-% \end{macro}
+% \begin{command}{\tableformat}
+% \changes{v2.3c}{1995/08/06}{added}
+% The print format of the number (by \cs{DeclareNewTOC}).
+% \end{command}
% \end{macro}
% \end{environment}
%
-% \iffalse
-%</!letter>
-%</class>
-%</body>
-% \fi
-%
+% \begin{macrocode}
+%</class&!letter>
+% \end{macrocode}
+%
% \Finale
-%
+% \PrintChanges
+%
\endinput
-%
-% end of file `scrkernel-floats.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: