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.dtx199
1 files changed, 65 insertions, 134 deletions
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx b/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx
index b10ee811fc..93d6140d8a 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx
@@ -1,8 +1,7 @@
-% \CheckSum{1693}
% \iffalse meta-comment
% ======================================================================
% scrkernel-floats.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +19,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-floats.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% 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.
@@ -55,7 +54,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-floats.dtx 3394 2019-11-19 11:56:28Z kohm $
+%%% From File: $Id: scrkernel-floats.dtx 3590 2021-03-22 10:30:57Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
@@ -63,7 +62,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-11-19 12:56:28 +0100 (Tue, 19 Nov 2019) $
+ \filedate$Date: 2021-03-22 11:30:57 +0100 (Mon, 22 Mar 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1962 $
\edef\reserved@a{%
@@ -170,23 +169,22 @@
% \end{macro}
% \end{macro}
%
+% \selectlanguage{english}
% \begin{macro}{\ifonelinecaptions}
-% \changes{v2.8q}{2001/11/17}{neuer Schalter}%^^A
-% \changes{v2.98c}{2008/03/03}{Definition erfolgt etwas früher}%^^A
+% \changes{v2.8q}{2001/11/17}{new boolean}
+% \changes{v2.98c}{2008/03/03}{earlier definition}
% \begin{macro}{\onelinecaptionstrue}
% \begin{macro}{\onelinecaptionsfalse}
-% Die Entscheidung, ob die Sonderbehandlung für einzeilige caption-Texte
-% durchgeführt werden soll, wird in einem Schalter gespeichert. In der
-% Hoffnung, beim Laden von \textsf{caption2} Speicher zu sparen, wird
-% der gleiche Name verwendet, den auch \textsf{caption2}
-% verwendet. Trotzdem sollte man diesen Schalter als internen Schalter
-% betrachten.
+% 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}
%
% \begin{macro}{\scap@pos}
% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A
@@ -378,18 +376,16 @@
% \end{option}
% \end{option}
%
+% \selectlanguage{english}
% \begin{option}{origlongtable}
-% \changes{v2.8l}{2001/08/16}{neue Option}%^^A
-% Wenn das \textsf{longtable}-Paket geladen ist, werden die
-% Tabellentitel dafür normalerweise von den Klassen umdefiniert. Dies
-% geschieht automatisch nicht, wenn das \textsf{caption2}-Paket
-% geladen ist. Es geschieht ausserdem nicht, wenn diese Option gesetzt
-% ist.
+% \changes{v2.8l}{2001/08/16}{new option}
+% If package \textsf{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}{neue Option}%^^A
+% \changes{v2.8l}{2001/08/16}{new boolean}
% \begin{macro}{\@komalongtabletrue}
% \begin{macro}{\@komalongtablefalse}
-% Die Einstellung wird in einem Schalter gespeichert.
+% The wanted behaviour is stored in a boolean.
% \begin{macrocode}
\newif\if@komalongtable\@komalongtabletrue
\DeclareOption{origlongtable}{\@komalongtablefalse}
@@ -400,30 +396,22 @@
% \end{option}
%
% \begin{option}{onelinecaption}
-% \changes{v2.8q}{2001/11/17}{neue Option}%^^A
+% \changes{v2.8q}{2001/11/17}{new option}
% \changes{v2.98c}{2008/03/03}{obsolete}
-% \changes{v2.98c}{2008/03/03}{keine Sonderbehandlung für \textsf{caption2}%^^A
-% mehr}
-% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
+% \changes{v2.98c}{2008/03/03}{extra code for \textsf{caption2} removed}
+% \changes{v3.01a}{2008/11/20}{deprecated}
% \begin{option}{noonelinecaption}
-% \changes{v2.8q}{2001/11/17}{neue Option}%^^A
+% \changes{v2.8q}{2001/11/17}{new option}
% \changes{v2.98c}{2008/03/03}{obsolete}
-% \changes{v2.98c}{2008/03/03}{keine Sonderbehandlung für \textsf{caption2}%^^A
-% mehr}
+% \changes{v2.98c}{2008/03/03}{extra code for \textsf{caption2} removed}
% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
-% Da für diese Option nicht der gleiche Name verwendet wird, wie bei
-% \textsf{caption2}, wurde von den Optionen bis Version~2.98b nicht nur der
-% Schalter entsprechend gesetzt, sondern auch die korrespondierende Option an
-% \textsf{caption2} weitergeleitet. Der gleiche Name konnte schlecht
-% verwendet werden, weil er bei einer Klasse auch nicht ansatzweise
-% als selbsterklärend bezeichnet werden kann. Ab Version~2.98c entfällt die
-% Sonderbehandlung von \textsf{caption2}.
% \begin{macrocode}
\KOMA@DeclareDeprecatedOption{onelinecaption}{captions=oneline}
\KOMA@DeclareDeprecatedOption{noonelinecaption}{captions=nooneline}
% \end{macrocode}
% \end{option}
% \end{option}
+% \selectlanguage{ngerman}
%
%
% \iffalse
@@ -829,13 +817,13 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\setcapindent}
-% \changes{v2.8j}{2001/07/30}{\cs{if@capbreak} wird verwendet}%^^A
+% \changes{v2.8j}{2001/07/30}{\cs{if@capbreak} wird verwendet}
% \changes{v2.8l}{2001/08/17}{\cs{edef}\cs{cap@indent} statt
-% \cs{def}\cs{cap@indent}}%^^A
+% \cs{def}\cs{cap@indent}}
% \changes{v2.8q}{2001/11/17}{wird nach dem Laden von
-% \textsf{caption2} umdefiniert}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% \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
@@ -866,58 +854,34 @@
\edef\cap@indent{\the\@tempdima}%
\dofullc@pfalse\@capbreaktrue
}
-\AfterPackage{caption2}{%
- \renewcommand*{\setcapindent}{%
- \ClassWarning{\KOMAClassName}{%
- You're using package `caption2'.\MessageBreak
- Because of this you should also use `\string\captionstyle'
- and\MessageBreak
- set length '\string\captionindent' instead of
- using\MessageBreak
- `\string\setcapindent'%
- }%
- \captionstyle{indent}%
- \kernel@ifstar{\setlength{\captionindent}}{\setlength{\captionindent}}%
- }%
-}
% \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}
+% \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.
% \begin{macrocode}
\newcommand*{\setcaphanging}{\dofullc@ptrue\@capbreakfalse}
-\AfterPackage{caption2}{%
- \renewcommand*{\setcaphanging}{%
- \ClassWarning{\KOMAClassName}{%
- You're using package `caption2'.\MessageBreak
- Because of this you should also use
- `\string\captionstyle'\MessageBreak
- instead of `\string\setcaphang'%
- }
- \captionstyle{hang}%
- }%
-}
% \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}}
+% definiert statt mit \cs{long}\cs{def}}
% \changes{v2.8h}{2001/07/19}{Unterscheidung zwischen Über- und
-% Unterschriften}%^^A
+% Unterschriften}%^^A
% \changes{v2.8j}{2001/07/30}{\cs{@makecaption} verwendet
-% \cs{@@makecaption}}
+% \cs{@@makecaption}}
% \changes{v2.8q}{2001/11/17}{die Sonderbehandlung für einzeilige
-% \emph{caption}s ist abschaltbar}
+% \emph{caption}s ist abschaltbar}
% \changes{v2.8q}{2001/11/17}{Titel können in ihrer Breite
-% beschränkt werden}%^^A
+% beschränkt werden}%^^A
% \begin{macrocode}
\newcommand{\@makecaption}[2]{%
\if@captionabove
@@ -956,12 +920,12 @@
% \end{macro}
% \end{macro}
% \begin{macro}{\setcapwidth}
-% \changes{v2.8q}{2001/11/17}{neu}%^^A
-% \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}%^^A
+% \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}%^^A
+% 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.
% \begin{macrocode}
@@ -1032,22 +996,6 @@
\fi\fi\fi\fi\fi
}
% \end{macrocode}
-% Falls \textsf{caption2} geladen wird, ändert sich die Funktion. Das
-% optionale Argument wird dann ignorriert.
-% \begin{macrocode}
-\AfterPackage{caption2}{%
- \renewcommand*{\setcapwidth}[2][]{%
- \ClassWarning{\KOMAClassName}{%
- Ignorring optional argument of `\string\setcapwidth'!\MessageBreak
- You're using package `caption2'.\MessageBreak
- Because of this you should also use
- `\string\setcaptionwidth'\MessageBreak
- instead of `\string\setcapwidth'%
- }%
- \setcaptionwidth{#2}%
- }%
-}%
-% \end{macrocode}
% \end{macro}%^^A \setcapwidth
% \begin{macro}{\setcapdynwidth}
% \changes{v3.20}{2016/03/31}{neu}
@@ -1166,15 +1114,15 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\setcapmargin}
-% \changes{v2.8q}{2001/11/17}{neu}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% \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)}%^^A
+% \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}%^^A
+% 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
@@ -1227,26 +1175,6 @@
}%
}
% \end{macrocode}
-% Wenn \textsf{caption2} geladen ist, ändert sich die Bedeutung.
-% \begin{macrocode}
-\AfterPackage{caption2}{%
- \renewcommand*{\@setcapmargin}[2][\@tempdimb]{%
- \setlength{\@tempdimb}{#2}%
- \setlength{\@tempdima}{#1}%
- \ifdim\@tempdima\@tempdimb\else
- \ClassWarning{\KOMAClassName}{%
- Can set only centered caption!\MessageBreak
- You're using package `caption2'.\MessageBreak
- Because of this you should also use
- `\string\setcaptionmargin'\MessageBreak
- instead of `\string\setcapmargin'%
- }%
- \fi
- \addtolength{\@tempdimb}{\@tempdimb}%
- \setcaptionmargin{.5\@tempdimb}}%
- \let\@@setcapmargin=\@setcapmargin
-}
-% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
@@ -1315,7 +1243,16 @@
\unexpanded\expandafter{\@xcentercr}%
}%
\settowidth{\@tempdima}{\scr@@makesinglelinecaption{#1}{#2}{#3}}%
- \ifdim\@tempdima>\linewidth
+% \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
\else
\aftergroup\scr@makesinglelinecaption
@@ -1650,29 +1587,26 @@
% \end{macro}%^^A \caption
%
% \begin{macro}{\LT@makecaption}
-% \changes{v2.8j}{2001/07/30}{neu (intern)}%^^A
+% \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}
+% \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}%^^A
+% \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}
+% \cs{vskip} korrigiert}
% \begin{macro}{\LT@array}
-% \changes{v2.8q}{2001/11/18}{neu (intern)}%^^A
+% \changes{v2.8q}{2001/11/18}{neu (intern)}
% \begin{macro}{\LT@caption}
-% \changes{v2.8q}{2001/11/18}{neu (intern)}%^^A
+% \changes{v2.8q}{2001/11/18}{neu (intern)}
% \begin{macro}{\scr@caption@before@longtable@warning}
-% \changes{v2.98c}{2008/03/03}{neu (intern)}%^^A
+% \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. Wird das
-% \textsf{caption2}-Paket nach \textsf{longtable} geladen, so wird
-% automatisch die Definition von \textsf{caption2} verwendet. Wird
-% \textsf{caption2} vor \textsf{longtable} geladen, so liegt
-% voraussichtlich eine Fehlbedienung vor, auf die hingewiesen wird.
+% aktiviert werden. Die Definition entspricht der obigen.
% \begin{macrocode}
\newcommand*{\scr@caption@before@longtable@warning}[1]{%
\ClassWarning{\KOMAClassName}{%
@@ -1688,9 +1622,6 @@
}%
}
\AfterPackage{longtable}{%
- \@ifpackageloaded{caption2}{\@komalongtablefalse
- \scr@caption@before@longtable@warning{caption2}%
- }{}%
\if@komalongtable
\renewcommand{\LT@makecaption}[3]{%
\noalign{%