diff options
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrkernel-floats.dtx')
-rw-r--r-- | macros/latex/contrib/koma-script/source/scrkernel-floats.dtx | 199 |
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{% |