diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkfloa.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrkfloa.dtx | 340 |
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 % |