diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx | 178 |
1 files changed, 152 insertions, 26 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx index 61fd26aade6..d7472dcce29 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx @@ -1,8 +1,8 @@ -% \CheckSum{1326} +% \CheckSum{1493} % \iffalse meta-comment % ====================================================================== % scrkernel-floats.dtx -% Copyright (c) Markus Kohm, 2002-2015 +% Copyright (c) Markus Kohm, 2002-2016 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -20,7 +20,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrkernel-floats.dtx -% Copyright (c) Markus Kohm, 2002-2015 +% Copyright (c) Markus Kohm, 2002-2016 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,13 +55,13 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: $Id: scrkernel-floats.dtx 2002 2015-03-12 12:06:17Z kohm $ +%%% From File: $Id: scrkernel-floats.dtx 2429 2016-04-12 12:10:19Z kohm $ %<*driver> % \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2015-03-12 13:06:17 +0100 (Thu, 12 Mar 2015) $ + \filedate$Date: 2016-04-12 14:10:19 +0200 (Tue, 12 Apr 2016) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} \filerevision$Revision: 1962 $ \edef\reserved@a{% @@ -579,12 +579,20 @@ % % \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 % \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 @@ -603,21 +611,21 @@ % \begin{macrocode} \newcommand*{\@captionbeside}{} \long\def\@captionbeside[#1]#2{% - \@ifnextchar [%] + \kernel@ifnextchar [%] {\@@captionbeside[{#1}]{#2}} {\c@pti@nb@sid@[{#1}]{#2}}% } \newcommand*{\@@captionbeside}{} \long\def\@@captionbeside[#1]#2[#3]{% \def\scap@pos{#3}% - \@ifnextchar [%] + \kernel@ifnextchar [%] {\@@@captionbeside[{#1}]{#2}} {\c@pti@nb@sid@[{#1}]{#2}}% } \newcommand*{\@@@captionbeside}{} \long\def\@@@captionbeside[#1]#2[#3]{% \def\scap@width{#3}% - \@ifnextchar [%] + \kernel@ifnextchar [%] {\@@@@captionbeside[{#1}]{#2}} {\setlength{\@tempdima}{#3}% \addtolength{\@tempdima}{-\linewidth}% @@ -628,7 +636,7 @@ \newcommand*{\@@@@captionbeside}{} \long\def\@@@@captionbeside[#1]#2[#3]{% \def\scap@move{#3}% - \@ifstar + \kernel@ifstar {\scap@alttrue\c@pti@nb@sid@[{#1}]{#2}} {\scap@altfalse\c@pti@nb@sid@[{#1}]{#2}}% } @@ -818,11 +826,13 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\setcapindent} -% \changes{v2.8j}{2001/07/30}{\cs{if@capbreak} wird verwendet} +% \changes{v2.8j}{2001/07/30}{\cs{if@capbreak} wird verwendet}^^A % \changes{v2.8l}{2001/08/17}{\cs{edef}\cs{cap@indent} statt -% \cs{def}\cs{cap@indent}} +% \cs{def}\cs{cap@indent}}^^A % \changes{v2.8q}{2001/11/17}{wird nach dem Laden von -% \textsf{caption2} umdefiniert} +% \textsf{caption2} umdefiniert}^^A +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} +% ersetzt}^^A % 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 @@ -837,7 +847,7 @@ % Für die Implementierung der Sternform werden zwei interne Makros % benötigt. % \begin{macrocode} -\newcommand*{\setcapindent}{\@ifstar{\@@setcapindent}{\@setcapindent}} +\newcommand*{\setcapindent}{\kernel@ifstar{\@@setcapindent}{\@setcapindent}} \newcommand*{\@setcapindent}[1]{% \setlength{\@tempdima}{#1}% \ifdim\@tempdima>\hsize @@ -864,7 +874,7 @@ `\string\setcapindent'% }% \captionstyle{indent}% - \@ifstar{\setlength{\captionindent}}{\setlength{\captionindent}}% + \kernel@ifstar{\setlength{\captionindent}}{\setlength{\captionindent}}% }% } % \end{macrocode} @@ -1033,7 +1043,111 @@ }% }% % \end{macrocode} -% \end{macro} +% \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! +% \begin{macrocode} +\newcommand*{\setcapdynwidth}[2][]{% + \def\cap@width{#2}% + \begingroup + \edef\@tempa{#1}% + \def\@tempb{c}\ifx\@tempa\@tempb + \endgroup + \def\cap@margin{% + \ifdim \cap@width<\z@ + \ClassWarning{\KOMAClassName}{% + caption width less than 0pt not allowed.\MessageBreak + Setting caption width to 0pt% + }% + \let\cap@width\z@ + \fi + \let\cap@left=\hfill\let\cap@right=\hfill}% + \else + \def\@tempb{l}\ifx\@tempa\@tempb + \endgroup + \def\cap@margin{% + \ifdim \cap@width<\z@ + \ClassWarning{\KOMAClassName}{% + caption width less than 0pt not allowed.\MessageBreak + Setting caption width to 0pt% + }% + \let\cap@width\z@ + \fi + \let\cap@left=\relax\let\cap@right\hfill}% + \else + \def\@tempb{r}\ifx\@tempa\@tempb + \endgroup + \def\cap@margin{% + \ifdim \cap@width<\z@ + \ClassWarning{\KOMAClassName}{% + caption width less than 0pt not allowed.\MessageBreak + Setting caption width to 0pt% + }% + \let\cap@width\z@ + \fi + \let\cap@left=\hfill\let\cap@right=\relax}% + \else + \def\@tempb{i}\ifx\@tempa\@tempb + \endgroup + \def\cap@margin{% + \ifdim \cap@width<\z@ + \ClassWarning{\KOMAClassName}{% + caption width less than 0pt not allowed.\MessageBreak + Setting caption width to 0pt% + }% + \let\cap@width\z@ + \fi + \let\cap@left=\relax + \let\cap@right=\hfill + \if@twoside + \ifthispageodd{}{% + \let\cap@left=\hfill + \let\cap@right=\relax + }% + \fi + }% + \else + \def\@tempb{o}\ifx\@tempa\@tempb + \endgroup + \def\cap@margin{% + \ifdim \cap@width<\z@ + \ClassWarning{\KOMAClassName}{% + caption width less than 0pt not allowed.\MessageBreak + Setting caption width to 0pt% + }% + \let\cap@width\z@ + \fi + \let\cap@left=\hfill + \let\cap@right=\relax + \if@twoside + \ifthispageodd{}{% + \let\cap@left=\relax + \let\cap@right=\hfill + }% + \fi + }% + \else + \ifx \@tempa\@empty\else + \ClassError{\KOMAClassName}{% + unknown optional position argument% + }{% + You've used `#1' as position argument at + \string\setcaptionwidth,\MessageBreak + but only ONE of `c', `l', `r', `i`, `o` ist + allowed.\MessageBreak + Argument will be ignored, if you'll continue.% + }% + \fi + \endgroup + \fi\fi\fi\fi\fi +} +% \end{macrocode} +% \end{macro}^^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 @@ -1048,6 +1162,8 @@ % \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 % \begin{macro}{\@setcapmargin} % \changes{v2.8q}{2001/11/17}{neu (intern)}^^A % \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} statt @@ -1058,7 +1174,7 @@ % Ränder gesetzt werden. In der Sternvariante werden im zweiseitigen % Modus die Ränder auf linken Seiten vertauscht. % \begin{macrocode} -\newcommand*{\setcapmargin}{\@ifstar{\@setcapmargin}{\@@setcapmargin}} +\newcommand*{\setcapmargin}{\kernel@ifstar{\@setcapmargin}{\@@setcapmargin}} \newcommand*{\@setcapmargin}[2][\@tempdimb]{% \def\cap@margin{% \onelinecaptionsfalse @@ -1471,7 +1587,7 @@ % \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}} +% \cs{captionbelow}}^^A % Zunächst werden \texttt{figure}s, also Abbildungen behandelt. % \begin{Counter}{figure} % \begin{macro}{\thefigure} @@ -1532,18 +1648,23 @@ % Jetzt aber zurück zur Umgebung. Wie üblich gibt es eine Version mit % und eine Version ihne Stern. Zur unterschiedlichen Bedeutung bei % zweispaltigem Satz siehe \texttt{classes.dtx} und \texttt{source2e}. -% \changes{v3.11c}{2013/03/01}{fix: one \cs{caption} change removed} +% \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 % \begin{macrocode} \newenvironment{figure}{% - \if@figurecaptionabove\let\caption\captionabove - \else\let\caption\captionbelow\fi + \def\caption{% + \if@figurecaptionabove\expandafter\captionabove + \else\expandafter\captionbelow\fi + }% \@float{figure}% }{% \end@float } \newenvironment{figure*}{% - \if@figurecaptionabove\let\caption\captionabove - \else\let\caption\captionbelow\fi + \def\caption{% + \if@figurecaptionabove\expandafter\captionabove + \else\expandafter\captionbelow\fi + }% \@dblfloat{figure}% }{% \end@dblfloat @@ -1609,20 +1730,25 @@ \newcommand*{\fnum@table}{\tableformat} % \end{macrocode} % \end{macro} +% \changes{v3.20}{2016/04/07}{Interne Umdefinierung von \cs{caption}}^^A % Ob es \cs{caption} in der Voreinstellung eine Tabellenüberschrift % oder eine Tabellenunterschrift erzeugt, hängt hier von den Optionen % ab. % \begin{macrocode} \newenvironment{table}{% - \if@tablecaptionabove\let\caption\captionabove - \else\let\caption\captionbelow\fi + \def\caption{% + \if@tablecaptionabove\expandafter\captionabove + \else\expandafter\captionbelow\fi + }% \@float{table}% }{% \end@float } \newenvironment{table*}{% - \if@tablecaptionabove\let\caption\captionabove - \else\let\caption\captionbelow\fi + \def\caption{% + \if@tablecaptionabove\expandafter\captionabove + \else\expandafter\captionbelow\fi + }% \@dblfloat{table}% }{% \end@dblfloat |