summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx
diff options
context:
space:
mode:
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.dtx178
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