summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkfloa.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkfloa.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkfloa.dtx340
1 files changed, 219 insertions, 121 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkfloa.dtx b/Master/texmf-dist/source/latex/koma-script/scrkfloa.dtx
index a4c1ec8e5cc..1b39c65cfa3 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkfloa.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkfloa.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{1082}
+% \CheckSum{1133}
% \iffalse meta-comment
% ======================================================================
% scrkfloa.dtx
-% Copyright (c) Markus Kohm, 2002-2007
+% Copyright (c) Markus Kohm, 2002-2008
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkfloa.dtx
-% Copyright (c) Markus Kohm, 2002-2007
+% Copyright (c) Markus Kohm, 2002-2008
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3b, verteilt und/oder veraendert werden.
@@ -58,7 +58,7 @@
%%% From File: scrkfloa.dtx
%<*driver>
% \fi
-\ProvidesFile{scrkfloa.dtx}[2007/11/23 v2.97e KOMA-Script (floats)]
+\ProvidesFile{scrkfloa.dtx}[2008/05/02 v3.00 KOMA-Script (floats)]
% \iffalse
\documentclass[halfparskip-]{scrdoc}
\usepackage[english,ngerman]{babel}
@@ -99,44 +99,157 @@
%
% \StopEventually{\PrintIndex\PrintChanges}
%
-% \subsection{Optionen für Titel von Gleitumgebungen}
-%
% \iffalse
%<*option>
% \fi
%
% \iffalse
+%<*class>
%<*!letter>
% \fi
%
-% \begin{option}{tablecaptionabove}
-% \changes{v2.8h}{2001/07/19}{neue Option}
-% \changes{v2.8k}{2001/08/15}{aus \texttt{typearea} in die Klassen
-% verschoben}
-% \begin{option}{tablecaptionbelow}
-% \changes{v2.8h}{2001/07/19}{neue Option}
-% \changes{v2.8k}{2001/08/15}{aus \texttt{typearea} in die Klassen
-% verschoben}
+% \subsection{Einige Anweisungen und Einstellungen für die Optionen}
+%
+% Einige Anweisungen und Einstellungen werden bereits benötigt, bevor die
+% Optionen abgearbeitet werden.
+%
+% \begin{macro}{\if@tablecaptionabove}
+% \changes{v2.8h}{2001/07/19}{neu Option}
+% \changes{v2.8k}{2001/08/15}{aus \texttt{typearea} in die Klassen
+% verschoben}
+% \changes{v2.98c}{2008/02/18}{Definition erfolgt etwas früher}
+% \begin{macro}{\@tablecaptionabovetrue}
+% \begin{macro}{\@tablecaptionabovefalse}
+% Die Einstellung, ob es Tabellenüber- oder -unterschriften sind, wird in
+% einem Schalter gespeichert.
+% \begin{macrocode}
+\newif\if@tablecaptionabove\@tablecaptionabovefalse
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\ifonelinecaptions}
+% \changes{v2.8q}{2001/11/17}{neuer Schalter}
+% \changes{v2.98c}{2008/03/03}{Definition erfolgt etwas früher}
+% \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.
+% \begin{macrocode}
+\newif\ifonelinecaptions\onelinecaptionstrue
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\scap@pos}
+% \changes{v2.8q}{2001/11/22}{neu (intern)}
+% \changes{v2.98c}{2008/03/03}{Definition erfolgt etwas früher}
+% 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}.
+% \begin{macrocode}
+\newcommand*{\scap@pos}{r}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\scap@valign}
+% \changes{v2.8q}{2001/11/22}{neu (intern)}
+% \changes{v2.98c}{2008/03/03}{Definition erfolgt etwas früher}
+% 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}.
+% \begin{macrocode}
+\newcommand*{\scap@valign}{b}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Optionen für Titel von Gleitumgebungen}
+%
+% \begin{option}{captions}
+% \changes{v2.98c}{2008/02/18}{Neuer Zentralschalter für caption}
+% 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.
+% \begin{macrocode}
+\KOMA@key{captions}{%
+ \KOMA@set@ncmdkey{captions}{@tempa}{%
+ {tableheading}{0},%
+ {tableabove}{0},{abovetable}{0},{abovetabular}{0},{topattable}{0},%
+ {tablesignature}{1},%
+ {tablebelow}{1},{belowtable}{1},{belowtabular}{1},{bottomattable}{1},%
+ {oneline}{2},%
+ {nooneline}{3},%
+ {rightbeside}{4},{besideright}{4},%
+ {leftbeside}{5},{besideleft}{5},%
+ {innerbeside}{6},{besideinner}{6},%
+ {outerbeside}{7},{besideouter}{7},%
+ {topbeside}{8},{besidetop}{8},%
+ {centeredbeside}{9},{besidecentered}{9},%
+ {middlebeside}{9},{besidemiddle}{9},%
+ {bottombeside}{10},{besidebottom}{10}%
+ }{#1}%
+ \ifcase \@tempa\relax
+ \@tablecaptionabovetrue
+ \or
+ \@tablecaptionabovefalse
+ \or
+ \onelinecaptionstrue
+ \or
+ \onelinecaptionsfalse
+ \or
+ \renewcommand*{\scap@pos}{r}%
+ \or
+ \renewcommand*{\scap@pos}{l}%
+ \or
+ \renewcommand*{\scap@pos}{i}%
+ \or
+ \renewcommand*{\scap@pos}{o}%
+ \or
+ \renewcommand*{\scap@valign}{t}%
+ \or
+ \renewcommand*{\scap@valign}{c}%
+ \or
+ \renewcommand*{\scap@valign}{b}%
+ \fi
+}
+% \end{macrocode}
+% \end{option}
+%
+% \begin{option}{tablecaptionabove}
+% \changes{v2.8h}{2001/07/19}{neue Option}
+% \changes{v2.8k}{2001/08/15}{aus \texttt{typearea} in die Klassen
+% verschoben}
+% \changes{v2.98c}{2008/02/18}{obsolete}
+% \begin{option}{tablecaptionbelow}
+% \changes{v2.8h}{2001/07/19}{neue Option}
+% \changes{v2.8k}{2001/08/15}{aus \texttt{typearea} in die Klassen
+% verschoben}
+% \changes{v2.98c}{2008/02/18}{obsolete}
% 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.
-% \begin{macro}{\if@tablecaptionabove}
-% \changes{v2.8h}{2001/07/19}{neu Option}
-% \changes{v2.8k}{2001/08/15}{aus \texttt{typearea} in die Klassen
-% verschoben}
-% \begin{macro}{\@tablecaptionabovetrue}
-% \begin{macro}{\@tablecaptionabovefalse}
-% Die Einstellung wird in einem Schalter gespeichert.
% \begin{macrocode}
-\newif\if@tablecaptionabove\@tablecaptionabovefalse
-\DeclareOption{tablecaptionabove}{\@tablecaptionabovetrue}
-\DeclareOption{tablecaptionbelow}{\@tablecaptionabovefalse}
+\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{tablecaptionabove}%
+ {captions=tableheading}
+\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{tablecaptionbelow}%
+ {captions=tablesignature}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{option}
-% \end{option}
+% \end{option}
+% \end{option}
%
% \begin{option}{origlongtable}
% \changes{v2.8l}{2001/08/16}{neue Option}
@@ -159,41 +272,28 @@
% \end{macro}
% \end{option}
%
-% \begin{option}{onelinecaption}
-% \changes{v2.8q}{2001/11/17}{neue Option}
-% \begin{option}{noonelinecaption}
-% \changes{v2.8q}{2001/11/17}{neue Option}
-% Genau wie beim \textsf{caption2}-Paket gibt es Optionen, mit denen
-% die Sonderbehandlung für einzeilige Tabellen- und Abbildungstitel
-% ein- und ausgeschaltet werden werden können.
-% \begin{macro}{\ifonelinecaptions}
-% \changes{v2.8q}{2001/11/17}{neuer Schalter}
-% \begin{macro}{\onelinecaptionstrue}
-% \begin{macro}{\onelinecaptionsfalse}
-% Die Entscheidung 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.
-% \begin{macrocode}
-\newif\ifonelinecaptions\onelinecaptionstrue
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \begin{option}{onelinecaption}
+% \changes{v2.8q}{2001/11/17}{neue Option}
+% \changes{v2.98c}{2008/03/03}{obsolete}
+% \changes{v2.98c}{2008/03/03}{keine Sonderbehandlung für \textsf{caption2}
+% mehr}
+% \begin{option}{noonelinecaption}
+% \changes{v2.8q}{2001/11/17}{neue Option}
+% \changes{v2.98c}{2008/03/03}{obsolete}
+% \changes{v2.98c}{2008/03/03}{keine Sonderbehandlung für \textsf{caption2}
+% mehr}
% Da für diese Option nicht der gleiche Name verwendet wird, wie bei
-% \textsf{caption2}, wird von den Optionen nicht nur der Schalter
-% entsprechend gesetzt, sondern auch die korrespondierende Option an
+% \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.
+% als selbsterklärend bezeichnet werden kann. Ab Version~2.98c entfällt die
+% Sonderbehandlung von \textsf{caption2}.
% \begin{macrocode}
-\DeclareOption{onelinecaption}{\onelinecaptionstrue
- \PassOptionsToPackage{oneline}{caption2}%
-}
-\DeclareOption{noonelinecaption}{\onelinecaptionsfalse
- \PassOptionsToPackage{nooneline}{caption2}%
-}
+\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{onelinecaption}
+ {captions=oneline}
+\KOMA@DeclareObsoleteOption[\PackageWarningNoLine]{noonelinecaption}
+ {captions=nooneline}
% \end{macrocode}
% \end{option}
% \end{option}
@@ -201,6 +301,7 @@
%
% \iffalse
%</!letter>
+%</class>
%</option>
%<*body>
% \fi
@@ -224,6 +325,7 @@
% \end{macro}
%
% \iffalse
+%<*class>
%<*!letter>
% \fi
%
@@ -294,26 +396,6 @@
% setzen. Dies funktioniert frundsätzlich auch nicht mit
% \texttt{longtable}-Tabellen.
%
-% \begin{macro}{\scap@pos}
-% \changes{v2.8q}{2001/11/22}{neu (intern)}
-% Hier wird gespeichert, ob die Beschreibung links oder rechts vom
-% Rest stehen soll. Voreingestellt ist rechts davon.
-% \begin{macrocode}
-\newcommand*{\scap@pos}{r}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\scap@valign}
-% \changes{v2.8q}{2001/11/22}{neu (intern)}
-% Hier wird gespeichert, ob 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}.
-% \begin{macrocode}
-\newcommand*{\scap@valign}{b}
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\scap@caption}
% \changes{v2.8q}{2001/11/22}{neu (intern)}
% Die Beschreibung, die der Umgebung als Parameter übergeben wird,
@@ -450,12 +532,22 @@
%
% \begin{macro}{\c@pti@nb@sid@}
% \changes{v2.8q}{2001/11/22}{neu (intern)}
+% \changes{v2.98c}{2008/03/11}{vertikale Ausrichtung korrigiert}
% Hier wird nun die Umgebung eigentlich geöffnet, während zuvor nur
% die Parameter ausgewertet wurden.
% \begin{macrocode}
\newcommand{\c@pti@nb@sid@}{}
\long\def\c@pti@nb@sid@[#1]#2{%
- \def\scap@caption{\captionbelow[{#1}]{#2}}%
+ \def\scap@caption{%
+ \if c\scap@valign
+ \setlength{\abovecaptionskip}{\z@}%
+ \setlength{\belowcaptionskip}{\z@}%
+ \else
+ \setlength{\abovecaptionskip}{-\ht\strutbox}%
+ \setlength{\belowcaptionskip}{-\dp\strutbox}%
+ \fi
+ \captionbelow[{#1}]{#2}%
+ }%
\begin{lrbox}{\c@pti@nb@sid@b@x}%
}
% \end{macrocode}
@@ -643,12 +735,12 @@
\AfterPackage{caption2}{%
\renewcommand*{\setcapindent}{%
\ClassWarning{\KOMAClassName}{%
- You're using package caption2.\MessageBreak
- Because of this you should also use \string\captionstyle\space
+ You're using package `caption2'.\MessageBreak
+ Because of this you should also use `\string\captionstyle'
and\MessageBreak
- set length \string\captionindent\space instead if
+ set length '\string\captionindent' instead of
using\MessageBreak
- \string\setcapindent
+ `\string\setcapindent'%
}%
\captionstyle{indent}%
\@ifstar{\setlength{\captionindent}}{\setlength{\captionindent}}%
@@ -669,10 +761,10 @@
\AfterPackage{caption2}{%
\renewcommand*{\setcaphanging}{%
\ClassWarning{\KOMAClassName}{%
- You're using package caption2.\MessageBreak
+ You're using package `caption2'.\MessageBreak
Because of this you should also use
- \string\captionstyle\MessageBreak
- instead of \string\setcaphang
+ `\string\captionstyle'\MessageBreak
+ instead of `\string\setcaphang'%
}
\captionstyle{hang}%
}%
@@ -810,11 +902,11 @@
\AfterPackage{caption2}{%
\renewcommand*{\setcapwidth}[2][]{%
\ClassWarning{\KOMAClassName}{%
- Ignorring optional argument of \string\setcapwidth!\MessageBreak
- You're using package caption2.\MessageBreak
+ 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\MessageBreak
+ `\string\setcaptionwidth'\MessageBreak
+ instead of `\string\setcapwidth'%
}%
\setcaptionwidth{#2}%
}%
@@ -900,10 +992,10 @@
\ifdim\@tempdima\@tempdimb\else
\ClassWarning{\KOMAClassName}{%
Can set only centered caption!\MessageBreak
- You're using package caption2.\MessageBreak
+ You're using package `caption2'.\MessageBreak
Because of this you should also use
- \string\setcaptionmargin\MessageBreak
- instead of \string\setcapmargin
+ `\string\setcaptionmargin'\MessageBreak
+ instead of `\string\setcapmargin'%
}%
\fi
\addtolength{\@tempdimb}{\@tempdimb}%
@@ -1016,20 +1108,22 @@
% \end{macro}
% \end{macro}
%
-% \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)}
+% \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)}
+% \begin{macro}{\scr@caption@before@longtable@warning}
+% \changes{v2.98c}{2008/03/03}{neu (intern)}
% 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
@@ -1039,20 +1133,22 @@
% \textsf{caption2} vor \textsf{longtable} geladen, so liegt
% voraussichtlich eine Fehlbedienung vor, auf die hingewiesen wird.
% \begin{macrocode}
+\newcommand*{\scr@caption@before@longtable@warning}[1]{%
+ \ClassWarning{\KOMAClassName}{%
+ you've loaded package `#1' before package\MessageBreak
+ `longtable'!\MessageBreak
+ Because of this package `#1' isn't able to\MessageBreak
+ control `\string\caption' at longtables. \space After loading
+ \MessageBreak
+ package `#1' KOMA-Script also doesn't control\MessageBreak
+ `\string\caption'.\MessageBreak
+ I think, you should load package `caption' after\MessageBreak
+ package `longtable'%
+ }%
+}
\AfterPackage{longtable}{%
\@ifpackageloaded{caption2}{\@komalongtablefalse
- \ClassWarning{\KOMAClassName}{%
- you've loaded package caption2 before package\MessageBreak
- longtable!\MessageBreak
- Because of this package caption2 isn't able to
- control\MessageBreak
- \string\caption\space at longtables. After loading package
- caption2\MessageBreak
- KOMA-Script also doesn't control \string\caption.\MessageBreak
- I think, you should load package caption after
- package\MessageBreak
- longtable and use the new interface%
- }%
+ \scr@caption@before@longtable@warning{caption2}%
}{}%
\if@komalongtable
\renewcommand{\LT@makecaption}[3]{%
@@ -1101,6 +1197,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\fs@komaabove}
% \changes{v2.8j}{2001/07/30}{neu (intern)}
@@ -1347,6 +1444,7 @@
%
% \iffalse
%</!letter>
+%</class>
%</body>
% \fi
%