diff options
author | Karl Berry <karl@freefriends.org> | 2008-03-23 22:11:42 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-03-23 22:11:42 +0000 |
commit | 6bdcc2a3cf4c64666a74e7a1cca098aa8e06e56d (patch) | |
tree | f3d950864cc2b6205b1f646a87c0ed407664b80d /Master/texmf-dist | |
parent | 71097ba92cdac0e8687db859f80278ab5559e2d2 (diff) |
caption 3.1g (23mar08)
git-svn-id: svn://tug.org/texlive/trunk@7101 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
20 files changed, 6413 insertions, 2780 deletions
diff --git a/Master/texmf-dist/doc/latex/caption/README b/Master/texmf-dist/doc/latex/caption/README index a2d9db5b84e..b9bf2a9e799 100644 --- a/Master/texmf-dist/doc/latex/caption/README +++ b/Master/texmf-dist/doc/latex/caption/README @@ -1,7 +1,7 @@ ========================================================================== The `caption' package bundle -Copyright (C) 1994-2007 Axel Sommerfeldt (caption@sommerfee.de) +Copyright (C) 1994-2008 Axel Sommerfeldt (caption@sommerfee.de) License: LPPL = LaTeX Project Public Licence Maintenance Status: maintained (by Axel Sommerfeldt) @@ -13,7 +13,7 @@ http://www.tex.ac.uk/cgi-bin/texfaq2html?label=privinst -------------------------------------------------------------------------- -The `caption' package v3.1 offers customization of captions in floating +The `caption' package v3.1 offers customization of captions of floating environments such `figure' and `table' and cooperates with the packages float, floatflt, fltpage, hyperref, hypcap, listings, longtable, @@ -21,16 +21,16 @@ environments such `figure' and `table' and cooperates with the packages threeparttable, and wrapfig. Furthermore the `floatrow' and the `subfig' package supports the -`caption' package and use its \captionsetup interface. +`caption' package and uses its \captionsetup interface. User Manual: caption-eng.pdf (English) caption-rus.pdf (Russian, outdated) - caption-deu.pdf (German) + caption-deu.pdf (German, not completely finished yet) -------------------------------------------------------------------------- The `ltcaption' package v1.1 fixes caption problems with -other-than-centered aligned longtables. (solving LaTeX PR `tools/3387') +other-than-center aligned longtables. (solving LaTeX PR `tools/3387') A bonus feature is the addition of the environment longtable* which does not increment the table counter. @@ -42,9 +42,11 @@ User Manual: ltcaption.pdf (English) -------------------------------------------------------------------------- -The `subcaption' package v0.3 is a tiny experimental package to -demonstrate the sub-caption feature of the `caption' package. +The `subcaption' package v0.3 is a tiny package to demonstrate the +sub-caption feature of the `caption' package. User Manual: subcaption.pdf (English) ========================================================================== +(The pictures cat.eps & elephant.eps were taken with permission from the + LaTeX Companion examples.) diff --git a/Master/texmf-dist/doc/latex/caption/caption-deu.pdf b/Master/texmf-dist/doc/latex/caption/caption-deu.pdf Binary files differindex 9c1f186b09e..784015d1fec 100644 --- a/Master/texmf-dist/doc/latex/caption/caption-deu.pdf +++ b/Master/texmf-dist/doc/latex/caption/caption-deu.pdf diff --git a/Master/texmf-dist/doc/latex/caption/caption-deu.tex b/Master/texmf-dist/doc/latex/caption/caption-deu.tex index a4cd8cedece..2d189a0e2b8 100644 --- a/Master/texmf-dist/doc/latex/caption/caption-deu.tex +++ b/Master/texmf-dist/doc/latex/caption/caption-deu.tex @@ -1,6 +1,6 @@ -% +% % This is file `caption-deu.tex'. -% +% % Copyright (C) 1994-2007 Axel Sommerfeldt (caption@sommerfee.de) % % -------------------------------------------------------------------------- @@ -23,32 +23,49 @@ % user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. % \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesFile{caption-deu.tex}[2007/10/02 v3.1c Das caption-Paket] +\ProvidesFile{caption-deu.tex}[2008/03/16 v3.1g Das caption-Paket] \hbadness=9999 \newcount\hbadness \hfuzz=20pt % Make TeX shut up. %\errorcontextlines=3 -\documentclass[a4paper]{ltxdoc} +\RequirePackage{fix-cm} +\documentclass[german]{ltxdoc} +\usepackage{fixltx2e} \setlength\parindent{0pt} -\setlength\parskip{\medskipamount} +\setlength\parskip{\smallskipamount} +\setlength\leftmargini{2em}% default = 2.5em +\makeatletter\g@addto@macro\MacroFont{\normalcolor}\makeatother -%%%\usepackage[T1]{fontenc} +\newcommand\LineBreak{\linebreak[3]} +\newcommand\PageBreak{\pagebreak[3]} \usepackage{ifpdf} \ifpdf \usepackage{mathptmx,courier} \usepackage[scaled=0.90]{helvet} \addtolength\marginparwidth{15pt} + \ifdim\paperheight=297mm % a4paper + \renewcommand\LineBreak{\\} + \renewcommand\PageBreak{\clearpage} + \fi \fi -\usepackage[german]{babel} +\usepackage[T1]{fontenc} +\usepackage{babel} +\selectlanguage{german} +\input dehyphtex.tex \IfFileExists{selinput.sty}% {\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}}}% {\usepackage[latin1]{inputenc}} -\usepackage{longtable,setspace} + +\usepackage[bottom]{footmisc} +\usepackage{graphicx,longtable,setspace} +\IfFileExists{test/tlc2/cat.eps}{\graphicspath{{test/tlc2/}}}{}% \usepackage{hypdoc} \ifpdf\usepackage{hypdestopt}\fi -\hypersetup{german,pdfkeywords={LaTeX, package, caption},pdfstartpage={},pdfstartview={}} -\usepackage[listof=0,hypcap=false]{caption}[2007/09/01] +\hypersetup{pdfkeywords={LaTeX, package, caption},pdfstartpage={},pdfstartview={}} +\hypersetup{breaklinks=true} + +\usepackage[listof=0,hypcap=false]{caption}[2008/01/12] \DeclareRobustCommand*\eTeX{\texorpdfstring {\leavevmode\hbox{$\varepsilon$}-\TeX}% @@ -62,49 +79,61 @@ \DeclareRobustCommand*\NTG{NTG} \DeclareRobustCommand*\SmF{SMF} -\newcommand\NEW[2]{\hskip 1sp \marginpar{\footnotesize\sffamily\raggedleft#1\\#2}} +\newcommand\NEW[2]{}%\hskip 1sp \marginpar{\footnotesize\sffamily\raggedleft#1\\#2}} \usepackage{marvosym} \makeatletter \newcommand*\INFO{\@ifstar{\@INFO{}}{\@INFO{\vbox to \ht\strutbox}}} -\newcommand*\@INFO[1]{\MARGINSYM{#1{\Huge\Info}}} +\newcommand*\@INFO[1]{\MARGINSYM{#1{\LARGE\Info}}} \makeatother \font\manual=manfnt \newcommand*\DANGER{\MARGINSYM{\manual\char127}} \newcommand*\MARGINSYM[1]{\hskip 1sp \marginpar{\raggedleft\textcolor{blue}{{#1}}}} +% \ContinuedFloat +\DeclareCaptionLabelFormat{continued}{#1~#2 (Fortsetzung)} +% \DeclareCaptionLabelFormat +\DeclareCaptionLabelFormat{bf-parens}{(\textbf{#2})} +% \DeclareCaptionStyle +\DeclareCaptionStyle{mystyle}[margin=5mm,justification=centering]% + {font=footnotesize,labelfont=sc,margin={10mm,0mm}} +% Example 1 \DeclareCaptionFormat{myformat1}{#1#2\\#3} \newlength\myindention \DeclareCaptionFormat{myformat2}{#1#2\\\hspace*\myindention#3} \DeclareCaptionOption{myindention}{\setlength\myindention{#1}} +% Example 2 \DeclareCaptionFormat{reverse}{#3#2#1} -\DeclareCaptionFormat{llap}{\llap{#1#2}#3\par} \DeclareCaptionLabelFormat{fullparens}{(\bothIfFirst{#1}{~}#2)} \DeclareCaptionLabelSeparator{fill}{\hfill} +% Example 3 +\DeclareCaptionFormat{llap}{\llap{#1#2}#3\par} +\DeclareCaptionFormat{llapx}{\llap{\makebox[2.5cm][l]{#1}}#3\par} +% Example 4 +\DeclareCaptionLabelFormat{andtable}{#1~#2 \& \tablename~\thetable} \newcommand*\purerm[1]{{\upshape\mdseries\rmfamily #1}} \newcommand*\puresf[1]{{\upshape\mdseries\sffamily #1}} \newcommand*\purett[1]{{\upshape\mdseries\ttfamily #1}} -\let\package\puresf -\let\env\purett \let\opt\purett +\let\class\puresf \let\package\puresf \newcommand*\csmarg[1]{\texttt{\char`\{#1\char`\}}} \newcommand*\csoarg[1]{\texttt{\char`\[#1\char`\]}} \newcommand*\version[2][]{$v#2$} -\newcommand*\x{\discretionary{-}{}{}} -\newcommand*\xx{\discretionary{}{}{}} +\newcommand*\x{\discretionary{}{}{}} -\newenvironment{Options}[1]% - {\list{}{\renewcommand{\makelabel}[1]{\texttt{##1}\hfil}% - \settowidth{\labelwidth}{\texttt{#1\space}}% - \setlength{\leftmargin}{\labelwidth}% - \addtolength{\leftmargin}{\labelsep}}}% - {\endlist} +\newenvironment{Annotation}% + {\ifvmode\else\unskip\par\fi\pagebreak[2]% + \smallskip + \small(\ignorespaces}{\unskip)\par} +\newenvironment{Annotation*}% + {\ifvmode\else\unskip\par\fi\pagebreak[2]% + \small(\ignorespaces}{\unskip)\par} \newenvironment{Example}% - {\ifvmode\else\unskip\par\fi + {\ifvmode\else\unskip\par\fi\pagebreak[2]% \minipage{\linewidth}\smallskip}% - {\smallskip\endminipage} + {\smallskip\endminipage\par} \makeatletter \newcommand\example{\@ifstar @@ -119,6 +148,37 @@ \endgroup} \makeatother +\newenvironment{Expert}% + {\ifvmode\else\unskip\par\fi\pagebreak[3]% + \smallskip + \footnotesize\ignorespaces}{\par} +\newenvironment{Expert*}% + {\ifvmode\else\unskip\par\fi\pagebreak[3]% + \footnotesize\ignorespaces}{\par} + +\newenvironment{Note}[1][\DefaultNoteText]% + {\ifvmode\else\unskip\par\fi + \smallskip + \small\emph{#1:}~\ignorespaces}{\par} +\newenvironment{Note*}[1][\DefaultNoteText]% + {\ifvmode\else\unskip\par\fi + \small\emph{#1:}~\ignorespaces}{\par} + +\newenvironment{Options}[1]% + {\list{}{\renewcommand\makelabel[1]{\texttt{##1}\hfil}% + \settowidth\labelwidth{\texttt{#1\space}}% + \setlength\leftmargin{10pt}% + \addtolength\leftmargin{\labelwidth}% + \addtolength\leftmargin{\labelsep}}}% + {\endlist} + +\makeatletter +\newcommand*\Ref{\@ifstar{\@Ref\ref}{\@Ref\autoref}} +\newcommand*\@Ref[2]{#1{#2}: \textit{\nameref{#2}}} +\newcommand*\SEE[3][]{\nopagebreak{#1(#2 #3)}} +\newcommand*\SeeUserDefined[1][]{\See{\Ref{declare}#1}} +\makeatother + \begin{document} \let\subsectionautorefname\sectionautorefname \let\subsubsectionautorefname\sectionautorefname @@ -126,17 +186,13 @@ \def\thispackage{das \package{caption}"=Paket} \def\Thispackage{Das \package{caption}"=Paket} -\newcommand\NEWfeature{\NEW{Neues Feature}} -\newcommand\NEWdescription{\NEW{Neue Beschreibung}} - +\newcommand*\DefaultNoteText{Hinweis} +\newcommand*\NEWfeature{\NEW{Neues Feature}} +\newcommand*\NEWdescription{\NEW{Neue Beschreibung}} \makeatletter -\newcommand*\Ref{\@ifstar{\@Ref\ref}{\@Ref\autoref}} -\newcommand*\@Ref[2]{#1{#2}: \textit{"`\nameref{#2}"'}} +\newcommand*\See{\@ifstar{\SEE{Siehe}}{\SEE[\small]{Siehe}}} +\newcommand*\see{\@ifstar{\SEE{siehe}}{\SEE[\small]{siehe}}} \makeatother -\newcommand*\See[1]{{\small (Siehe #1)}} -\newcommand*\SeeUserDefined[1][]{\See{\Ref{declare}#1}} - -\def\TODO{\emph{-- Hier fehlt noch 'was --}} % --------------------------------------------------------------------------- % @@ -144,8 +200,8 @@ \let\docdate\filedate \GetFileInfo{caption.sty} -\title{Setzen von Abbildungs- und Tabellenbeschriftungen mit dem - caption-Paket\texorpdfstring{\thanks{% +\title{Anpassen der Abbildungs- und Tabellenbeschriftungen + mit Hilfe des caption-Paketes\texorpdfstring{\thanks{% Dieses Paket hat die Versionsnummer \fileversion, zuletzt ge"andert am \filedate.}}{}} \author{Axel Sommerfeldt\\ @@ -156,13 +212,10 @@ % --------------------------------------------------------------------------- % \begin{abstract} -\Thispackage\ bietet einem Mittel und Wege das Erscheinungsbild der -Bildunterschriften und Tabellen"uberschriften den eigenen W"unschen -bzw.\ bestimmten Vorgaben anzupassen. -Hierbei wurde viel Wert auf die reibungslose Zusammenarbeit und in die -Integration anderer Dokumentenklassen und Pakete gelegt.\footnote{F"ur die -Version 3.0 dieses Paketes wurde die Benutzerschnittstelle zusammen -mit Steven D. Cochran und Frank Mittelbach komplett "uberarbeitet.} +\Thispackage\ bietet einem Mittel und Wege, das Erscheinungsbild der Bild- +und Tabellenbeschriftungen den eigenen Wünschen bzw.\ Vorgaben anzupassen. +Hierbei wurde Wert auf die reibungslose Zusammenarbeit mit zahlreichen +Dokumentenklassen und Paketen gelegt. \end{abstract} \newcommand\exampletext{% @@ -192,21 +245,49 @@ Mit Hilfe dieses Paketes können Sie dies leicht bewerkstelligen; es sind viele vorgegebene Parameter einstellbar, Sie können aber auch eigene Gestaltungsmerkmale einfließen lassen. -% --------------------------------------------------------------------------- % +\bigskip + +\INFO\begin{minipage}[t]{\textwidth} +\small +Bitte beachten Sie, daß \thispackage\ nur das Aussehen der Beschriftungen +kontrolliert. Es kontrolliert \emph{nicht} den Ort der Beschriftung; +dieser kann aber mit anderen Paketen wie etwa dem +\package{floatrow}"=Paket\cite{floatrow} variiert werden. +\end{minipage} \clearpage + +% --------------------------------------------------------------------------- % + \section*{Vorläufige Dokumentation} -Diese Anleitung ist (im Gegensatz zur englischensprachigen Anleitung) leider -noch an einigen Stellen inkonsistent und insbesondere noch nicht fertiggestellt. +\INFO +Diese Anleitung ist (im Gegensatz zur englischsprachigen Anleitung) leider +noch an einigen Stellen inkonsistent bzw.~unvollständig. Ich werde mich bemühen, sie in den nächsten Monaten zu vervollständigen; die aktuelle Interimsversion kann immer \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/caption/caption-deu.pdf}% {hier} bezogen werden.\par\bigskip +\def\beginTODO{% + \bigskip + \hrule + \smallskip + \centerline{\itshape Beginn des noch zu überarbeitenden Teils} + \smallskip + \hrule + \bigskip} +\def\endTODO{% + \bigskip + \hrule + \smallskip + \centerline{\itshape Ende des noch zu überarbeitenden Teils} + \smallskip + \hrule + \bigskip} + % --------------------------------------------------------------------------- % -%\clearpage \tableofcontents % --------------------------------------------------------------------------- % @@ -216,28 +297,28 @@ die aktuelle Interimsversion kann immer \label{usage} \DescribeMacro{\usepackage} -Mittels +Durch \begin{quote} |\usepackage|\oarg{Optionen}|{caption}[|\texttt{\filedate}|]| \end{quote} in dem Vorspann des Dokumentes wird das \thispackage\ Paket eingebunden, die -Optionen legen hierbei das Aussehen der "Uber- und Unterschriften fest. So -w"urde z.B. +Optionen legen hierbei das Aussehen der Über- und Unterschriften fest. So +würde z.B. \begin{quote} |\usepackage[margin=10pt,font=small,labelfont=bf,|\\ | labelsep=endash]{caption}|% %|[|\texttt{\filedate}|]| \end{quote} zu dem obrigen Ergebnis mit Rand, kleinerem Zeichensatz und fetter Bezeichnung -f"uhren. +führen. \DescribeMacro{\captionsetup} -Eine "Anderung der Parameter ist auch zu einem sp"ateren Zeitpunkt jederzeit -mittels des Befehls +Eine Änderung der Parameter ist auch zu einem späteren Zeitpunkt jederzeit +mit dem Befehl \begin{quote} |\captionsetup|\oarg{Typ}\marg{Optionen} \end{quote} -m"oglich. So sind z.B. die Befehlssequenzen +möglich. So sind z.B. die Befehlssequenzen \begin{quote} |\usepackage[margin=10pt,font=small,labelfont=bf]{caption}| \end{quote} @@ -248,11 +329,11 @@ und \end{quote} in ihrer Wirkung identisch. -Weiterhin gilt zu beachten, da"s sich die Verwendung von |\captionsetup| +Es ist zu beachten, daß sich die Verwendung von |\caption|\-|setup| innerhalb von Umgebungen nur auf die Umgebung selber auswirkt, nicht aber auf -den Rest des Dokumentes. M"ochte man also z.B. die automatische Zentrierung der -Abbildungsunterschrift nur in einem konkreten Falle ausschalten, so kann dies -mit +den Rest des Dokumentes. +Möchte man also z.B. die automatische Zentrierung der Abbildungsunterschrift +nur in einem konkreten Falle ausschalten, so kann dies mit \begin{quote} |\begin{figure}|\\ | |\ldots\\ @@ -260,14 +341,17 @@ mit | \caption{|\ldots|}|\\ |\end{figure}| \end{quote} -geschehen, ohne da"s die restlichen Abbildungsunterschriften hiervon -beeintr"achtigt werden. +geschehen, ohne daß die restlichen Abbildungsunterschriften hiervon +beeinträchtigt werden. -(Der optionale Parameter \meta{Typ} wird in \Ref{commands} behandelt.) +\begin{Annotation} +Der optionale Parameter \meta{Typ} von |\caption|\-|setup| wird in +\Ref{captionsetup} behandelt. +\end{Annotation} % --------------------------------------------------------------------------- % -\pagebreak[4] +\clearpage \section{Optionen} \label{options} @@ -281,29 +365,30 @@ beeintr"achtigt werden. \DescribeMacro{format=} Eine Abbildungs- oder Tabellenbeschriftung besteht im wesentlichen aus drei -Teilen: -Dem Bezeichner (etwa "`Abbildung 3"'), dem Trenner +Teilen: Dem Bezeichner (etwa "`Abbildung 3"'), dem Trenner (etwa "`:\textvisiblespace"') und dem eigentlichen Text. -Mittels der Option + +Mit der Option \begin{quote} |format=|\meta{Name} \end{quote} wird festgelegt, wie diese drei Teile zusammengesetzt werden. -F"ur \meta{Name} sind folgende M"oglichkeiten verf"ugbar:%\footnote{Es gibt -%hier wie auch bei vielen anderen Optionen die M"oglichkeit, auch eigene -%Formate, Zeichens"atze etc.\ zu definieren. Wie dies geht wird in Abschnitt -%\ref{declare}: \textit{"`Eigene Erweiterungen"'} dargelegt.} + +Für \meta{Name} sind folgende Möglichkeiten verfügbar:%~\footnote{Es gibt +%hier wie auch bei vielen anderen Optionen die Möglichkeit, auch eigene +%Formate, Zeichensätze etc.\ zu definieren. Wie dies geht wird in Abschnitt +%\Ref{declare} dargelegt.} \begin{Options}{\OptionLabel} \item[plain]%\NEWdescription{v3.0h} - Die Beschriftung wird als gew"ohnlicher Abschnitt gesetzt. + Die Beschriftung wird als gewöhnlicher Absatz gesetzt. \item[hang] - Der Text wird so gesetzt, da"s er an dem Bezeichner "`h"angt"', d.h.~der + Der Text wird so gesetzt, daß er an dem Bezeichner "`hängt"', d.h.~der Platz unter dem Bezeichner und dem Trenner bleibt leer. \item[\UserDefined] - Eigene Formate k"onnen mittels |\DeclareCaptionFormat| definiert werden. + Eigene Formate können mit |\Declare|\-|Caption|\-|Format| definiert werden. \SeeUserDefined \end{Options} @@ -312,17 +397,19 @@ F"ur \meta{Name} sind folgende M"oglichkeiten verf"ugbar:%\footnote{Es gibt \begin{quote} |format=hang| \end{quote} - f"uhrt zu Abbildungsunterschriften der Art + führt zu Abbildungsunterschriften der Art \example{format=hang}{\exampletext} \end{Example} +\pagebreak[3] \DescribeMacro{indention=} -Bei beiden Formaten (\texttt{plain} und \texttt{hang}) kann der Einzug der Beschriftung -ab der zweiten Textzeile angepasst werden, dies geschieht mit Hilfe der Option +Bei beiden Formaten (\texttt{plain} und \texttt{hang}) kann der Einzug der +Beschriftung ab der zweiten Textzeile angepasst werden, dies geschieht mit \begin{quote} |indention=|\meta{Einzug}\quad, \end{quote} -wobei anstelle von \meta{Einzug} jedes beliebige feste Ma"s angegeben werden kann. +wobei anstelle von \meta{Einzug} jedes beliebige feste Maß angegeben werden +kann. Zwei Beispiele: @@ -330,7 +417,7 @@ Zwei Beispiele: \begin{quote} |format=plain,indention=.5cm| \end{quote} - \captionsetup{aboveskip=0pt} + \captionsetup{skip=0pt} \example{format=plain,indention=.5cm}{\exampletext} \end{Example} @@ -338,13 +425,15 @@ Zwei Beispiele: \begin{quote} |format=hang,indention=-0.5cm| \end{quote} - \captionsetup{aboveskip=0pt} + \captionsetup{skip=0pt} \example{format=hang,indention=-0.5cm}{\exampletext} \end{Example} -%\pagebreak[3] +\bigskip + +\pagebreak[3] \DescribeMacro{labelformat=} -Mittels der Option +Mit der Option \nopagebreak[3] \begin{quote} |labelformat=|\meta{Name} @@ -352,51 +441,74 @@ Mittels der Option \nopagebreak[3] %\NEWdescription{v3.0e} wird die Zusammensetzung des Bezeichners festgelegt. -F"ur \meta{Name} sind folgende M"oglichkeiten verf"ugbar: +Für \meta{Name} sind folgende Möglichkeiten verfügbar: \begin{Options}{\OptionLabel} \item[default] Der Bezeichner wird wie von der verwendeten Dokumentenklasse vorgegeben gesetzt, - "ublicherweise ist dies der Name und die Nummer, getrennt durch ein Leerzeichen + üblicherweise ist dies der Name und die Nummer, getrennt durch ein Leerzeichen (wie \texttt{simple}). (Dies ist das Standardverhalten.) \item[empty] - Der Bezeichner ist leer. (Diese Option macht in der Regel nur in Verbindung mit - anderen Optionen -- wie etwa \texttt{labelsep=none} -- Sinn.) + Der Bezeichner ist leer. +\iffalse + (Diese Option macht in der Regel nur in Verbindung mit + anderen Optionen -- wie etwa \texttt{labelsep=none} -- Sinn.) +\fi \item[simple] Der Bezeichner ist aus dem Namen und der Nummer zusammengesetzt. + \item[brace]\NEWfeature{v3.1f} + Der Bezeichner wird mit einer einzelnen (rechten) Klammer abgeschlossen. + \item[parens] Die Nummer des Bezeichners wird in runde Klammern gesetzt. \item[\UserDefined] - Eigene Formate k"onnen mittels |\DeclareCaptionLabelFormat| definiert werden. + Eigene Formate können mit |\Declare|\-|Caption|\-|Label|\-|Format| + definiert werden. \SeeUserDefined \end{Options} \begin{Example} Ein Beispiel: Die Optionen \begin{quote} - |labelformat=parens,labelsep=quad| + |format=plain,labelformat=parens,labelsep=quad| \end{quote} - f"uhren zu Abbildungsunterschriften der Art - \example{labelformat=parens,labelsep=quad}{\exampletext} + führen zu Abbildungsunterschriften der Art + \example{format=plain,labelformat=parens,labelsep=quad}{\exampletext} \end{Example} +\medskip + +\begin{Note*} +Manche Umgebungen, wie z.B.~die vom \package{algorithm2e}"=Paket angebotende +|al|\-|go|\-|rithm|"=Umgebung, reagieren allergisch auf eine Änderung des +Bezeichnerformats. +\end{Note*} + +\bigskip + +\pagebreak[3] \DescribeMacro{labelsep=} -Mittels der Option +Mit der Option \begin{quote} |labelsep=|\meta{Name} \end{quote} -wird die Zusammensetzung des Trenners festgelegt. -F"ur \meta{Name} sind folgende M"oglichkeiten verf"ugbar: +wird die Zusammensetzung des Trenners festgelegt.\footnote{% + Wenn der Bezeichner oder der Text der Beschriftung leer ist, + wird kein Trenner verwendet.} +Für \meta{Name} sind folgende Möglichkeiten verfügbar: \begin{Options}{\OptionLabel} \item[none] - Der Trenner ist leer. (Diese Option macht in der Regel nur in Verbindung - mit anderen Optionen -- wie etwa \texttt{labelformat=empty} -- Sinn.) + Der Trenner ist leer. +\iffalse + (Diese Option macht in der Regel nur in Verbindung + mit anderen Optionen -- wie etwa \texttt{labelformat=empty} -- Sinn.) +\fi \item[colon] Der Trenner besteht aus einem Doppelpunkt und einem Leerzeichen. @@ -411,53 +523,84 @@ F"ur \meta{Name} sind folgende M"oglichkeiten verf"ugbar: Der Trenner besteht aus einem |\quad|. \item[newline] - Als Trenner wird ein Zeilenumbruch verwendet. + Als Trenner wird ein Zeilenumbruch (|\\|) verwendet. + Bitte beachten Sie, daß dieser Trenner nicht mit allen Formaten + (z.B.~|format=|\x|hang|) zusammenarbeitet; ggf. erhalten Sie + deswegen eine Fehlermeldung. - \item[endash]%\NEWfeature{v3.0h} - Als Trenner wird ein Gedankenstrich verwendet. + \item[endash]\NEWfeature{v3.0h} + Als Trenner wird ein Gedankenstrich (\verb*| -- |) verwendet. \item[\UserDefined] - Eigene Trenner k"onnen mittels |\DeclareCaptionLabelSeparator| definiert werden. + Eigene Trenner können mit |\Declare|\-|Caption|\-|Label|\-|Sep|\-|a|\-|ra|\-|tor| + definiert werden. \SeeUserDefined \end{Options} Drei Beispiele: \begin{Example} \begin{quote} - |labelsep=period| + |format=plain,labelsep=period| \end{quote} - \captionsetup{aboveskip=0pt} - \example{labelsep=period}{\exampletext} + \captionsetup{skip=0pt} + \example{format=plain,labelsep=period}{\exampletext} \end{Example} \begin{Example} \begin{quote} - |labelsep=newline,singlelinecheck=false| + |format=plain,labelsep=newline,singlelinecheck=false| \end{quote} - \captionsetup{aboveskip=0pt} - \example{labelsep=newline,singlelinecheck=false}{\exampletext} + \captionsetup{skip=0pt} + \example{format=plain,labelsep=newline,singlelinecheck=false}{\exampletext} \end{Example} \begin{Example} \begin{quote} - |labelsep=endash| + |format=plain,labelsep=endash| \end{quote} - \captionsetup{aboveskip=0pt} - \example{labelsep=endash}{\exampletext} + \captionsetup{skip=0pt} + \example{format=plain,labelsep=endash}{\exampletext} \end{Example} +\bigskip + +\pagebreak[3] +\DescribeMacro{textformat=}\NEWfeature{v3.0l} +Mit der Option +\nopagebreak[3] +\begin{quote} + |textformat=|\meta{Name} +\end{quote} +\nopagebreak[3] +wird das Format des eigentlichen Textes festgelegt. +Für \meta{Name} sind folgende Möglichkeiten verfügbar: + +\begin{Options}{\OptionLabel} + \item[simple] + Der Text wird nicht verändert. + + \item[period] + Dem Text wird ein Punkt angehängt. + + \item[\UserDefined] + Eigene Textformate können mit |\Declare|\-|Caption|\-|Text|\-|Format| + definiert werden. + \SeeUserDefined +\end{Options} + % --------------------------------------------------------------------------- % +\PageBreak \subsection{Textausrichtung} \label{justification} \DescribeMacro{justification=} -Mittels der Option +Mit der Option \begin{quote} |justification=|\meta{Name} \end{quote} wird die Ausrichtung des Textes festgelegt. -F"ur \meta{Name} sind folgende M"oglichkeiten verf"ugbar: +Für \meta{Name} sind folgende Möglichkeiten verfügbar: \begin{Options}{\OptionLabel} \item[justified] @@ -467,92 +610,94 @@ F"ur \meta{Name} sind folgende M"oglichkeiten verf"ugbar: Der Text wird zentriert gesetzt. % \item[Centering] -% Der Text wird zentriert gesetzt. Hierf"ur wird jedoch im Gegensatz +% Der Text wird zentriert gesetzt. Hierfür wird jedoch im Gegensatz % zu \texttt{centering} der Befehl |\Centering| des \package{ragged2e}-Paketes % verwendet, der \LaTeX\ das Trennen der Worte erlaubt. \item[centerlast] - Lediglich die letzte Zeile des Textes wird zentriert gesetzt. + Lediglich die letzte Zeile des Absatzes wird zentriert gesetzt. \item[centerfirst] Lediglich die erste Zeile des Textes wird zentriert gesetzt. \item[raggedright] - Der Text wird linksb"undig gesetzt. + Der Text wird linksbündig gesetzt. -% \item[RaggedRight] -% Der Text wird linksb"undig mit Hilfe des \package{ragged2e}-Paketes gesetzt. +\iffalse + \item[RaggedRight] + Der Text wird linksbündig mit Hilfe des \package{ragged2e}-Paketes gesetzt. +\else \item[RaggedRight] - Der Text wird ebenfalls linksb"undig gesetzt. Hierf"ur wird jedoch im Gegensatz - zu \texttt{raggedright} der Befehl |\RaggedRight| des \package{ragged2e}-Paketes - verwendet, der \LaTeX\ das Trennen der Worte erlaubt. + Der Text wird ebenfalls linksbündig gesetzt. + Hierfür wird jedoch im Gegensatz zur Option |raggedright| der Befehl + |\RaggedRight| des \package{ragged2e}-Paketes verwendet, + der \LaTeX\ das Trennen der Worte erlaubt.\footnote{% + Ob das \package{ragged2e}"=Paket benötigt wird oder nicht, + wird zur Laufzeit ermittelt, d.h.~ggf.~ist ein weiterer \LaTeX"=Lauf + erforderlich, wenn diese Option erstmalig eingesetzt wird.} +\fi \item[raggedleft] - Der Text wird rechtsb"undig gesetzt. + Der Text wird rechtsbündig gesetzt. % \item[RaggedLeft] -% Der Text wird rechtsb"undig mit Hilfe des \package{ragged2e}-Paketes gesetzt. +% Der Text wird rechtsbündig mit Hilfe des \package{ragged2e}-Paketes gesetzt. +%\showhyphens{justification} \item[\UserDefined] - Eigene Ausrichtungen k"onnen mittels |\DeclareCaptionJustification| definiert werden. + Eigene Ausrichtungen können mit |\Declare|\-|Caption|\-|Jus|\-|ti|\-|fi|\-|ca|\-|tion| + definiert werden. \SeeUserDefined \end{Options} -Einige Beispiele: +Drei Beispiele: \begin{Example} \begin{quote} - |justification=centerlast| + |format=plain,justification=centerlast| \end{quote} - \captionsetup{aboveskip=0pt} - \example{justification=centerlast}{\exampletext} + \captionsetup{skip=0pt} + \example{format=plain,justification=centerlast}{\exampletext} \end{Example} \begin{Example} \begin{quote} |format=hang,justification=raggedright| \end{quote} - \captionsetup{aboveskip=0pt} + \captionsetup{skip=0pt} \example{format=hang,justification=raggedright}{\exampletext} \end{Example} \begin{Example} \begin{quote} - |format=hang,justification=RaggedRight| + |format=plain,labelsep=newline,justification=centering| \end{quote} - \captionsetup{aboveskip=0pt} - \example{belowskip=\abovecaptionskip,format=hang,justification=RaggedRight}{\exampletext} + \captionsetup{skip=0pt} + \example*{format=plain,labelsep=newline,justification=centering}{\exampletext} \end{Example} -\begin{Example} - \begin{quote} - |labelsep=newline,justification=centering| - \end{quote} - \captionsetup{aboveskip=0pt} - \example{belowskip=\abovecaptionskip,labelsep=newline,justification=centering}{\exampletext} -\end{Example} +\smallskip +\pagebreak[3] \DescribeMacro{singlelinecheck=} -In den Standard"=Dokumentenclassen |article|, |report| und |book| sind die -Ab\-bildungs- und Tabellenbeschriftungen so realisiert, da"s sie automatisch -zentriert werden, wenn sie lediglich aus einer einzigen Textzeile bestehen: +In den Standard"=Dokumentenklassen von \LaTeX\ (\class{article}, +\class{report} und \class{book}) sind die Ab\-bildungs- und +Tabellenbeschriftungen so realisiert, daß sie automatisch zentriert werden, +wenn sie lediglich aus einer einzigen Textzeile bestehen: \example*{}{Eine kurze Beschriftung.} -%\example{belowskip=\abovecaptionskip}{% -% Eine lange Beschriftung, die gen"ugend Text enth"alt, um l"anger als -% eine einzelne Zeile zu sein.} - \INFO -Diesen Mechanismus "ubernimmt \thispackage\ und ignoriert damit -in der Regel bei solch kurzen Beschriftungen die mittels der Optionen +Diesen Mechanismus übernimmt \thispackage\ und ignoriert damit +in der Regel bei solch kurzen Beschriftungen die mit den Optionen |justification=| und |indention=| eingestellte Textausrichtung. Dieses Verhalten kann jedoch mit der Option \begin{quote} |singlelinecheck=|\meta{bool} \end{quote} -reguliert werden. Setzt man f"ur \meta{bool} entweder |false|, |no|, |off| -oder |0| ein, so wird der Zentrierungsmechnismus au"ser Kraft gesetzt. -Die obrige, kurze Abbildungsunterschrift w"urde z.B. nach Angabe der Option +reguliert werden. +Setzt man für \meta{bool} entweder |false|, |no|, |off| oder |0| ein, +so wird der automatische Zentrierungsmechnismus außer Kraft gesetzt. +Die obrige, kurze Abbildungsunterschrift würde z.B.~nach Angabe der Option \begin{quote} |singlelinecheck=false| \end{quote} @@ -564,22 +709,23 @@ so aussehen: \example*{singlelinecheck=false}{Eine kurze Beschriftung.} \endgroup -Setzt man f"ur \meta{bool} hingegen |true|, |yes|, |on| oder |1| ein, so -wird die automatische Zentrierung wieder eingeschaltet. (Standardm"a"sig +Setzt man für \meta{bool} hingegen |true|, |yes|, |on| oder |1| ein, so +wird die automatische Zentrierung wieder eingeschaltet. (Standardmäßig ist sie eingeschaltet.) % --------------------------------------------------------------------------- % -\subsection{Zeichens"atze} +\subsection{Zeichensätze} \label{fonts} \DescribeMacro{font=} \DescribeMacro{labelfont=} \DescribeMacro{textfont=} -Das \thispackage-Paket kennt 3 Zeichens"atze: Denjenigen f"ur die gesammte Beschriftung -(|font|), denjenigen, der lediglich auf den Bezeichner und den Trenner angewandt wird -(|labelfont|), sowie denjenigen, der lediglich auf den Text wirkt (|textfont|). -So lassen sich die unterschiedlichen Teile der Beschriftung individuell mittels +Das \thispackage\ kennt drei Zeichensätze: Denjenigen für die gesammte +Beschriftung (|font|), denjenigen, der lediglich auf den Bezeichner und den +Trenner angewandt wird (|label|\-|font|), sowie denjenigen, der lediglich auf +den Text wirkt (|text|\-|font|). +So lassen sich die unterschiedlichen Teile der Beschriftung individuell mit \begin{quote}\begin{tabular}{@{}r@{}ll} |font=| & \marg{Zeichensatzoptionen} & ,\\ |labelfont=| & \marg{Zeichensatzoptionen} & und\\ @@ -589,15 +735,20 @@ So lassen sich die unterschiedlichen Teile der Beschriftung individuell mittels anpassen. \pagebreak[3] -Als \meta{Zeichensatzoptionen} sind eine Kombination aus folgendem erlaubt: +Als \meta{Zeichensatzoptionen} sind Kombinationen aus folgenden (durch Komma +getrennte) Optionen möglich: -\begin{Options}{\OptionLabel} +\begin{Options}{stretch=\meta{amount}} \item[scriptsize] {\scriptsize Sehr kleine Schrift} - \item[footnotesize] {\footnotesize Fu"snotengr"o"se} + \item[footnotesize] {\footnotesize Fußnotengröße} \item[small] {\small Kleine Schrift} - \item[normalsize] {\normalsize Normalgro"se Schrift} - \item[large] {\large Gro"se Schrift} - \item[Large] {\Large Gr"o"sere Schrift} + \item[normalsize] {\normalsize Normalgroße Schrift} + \item[large] {\large Große Schrift} + \item[Large] {\Large Größere Schrift} +\end{Options} +\vspace{0pt}\pagebreak[3] +\begin{Options}{stretch=\meta{amount}} + \item[normalfont] {\normalfont Normale Schriftart \& -serie \& -familie} \item[up] {\upshape Upright Schriftart} \item[it] {\itshape Italic Schriftart} @@ -610,17 +761,33 @@ Als \meta{Zeichensatzoptionen} sind eine Kombination aus folgendem erlaubt: \item[rm] {\rmfamily Roman Schriftfamilie} \item[sf] {\sffamily Sans Serif Schriftfamilie} \item[tt] {\ttfamily Typewriter Schriftfamilie} - - \item[singlespacing] |\singlespacing| (siehe \package{setspace}-Paket) - \item[onehalfspacing] |\onehalfspacing| - \item[doublespacing] |\doublespacing| +\end{Options} +\vspace{0pt}\pagebreak[3] +\begin{Options}{stretch=\meta{amount}} + \item[singlespacing] Einfacher Zeilenabstand \See{\Ref{setspace}} + \item[onehalfspacing] Eineinhalbfacher Zeilenabstand \See{\Ref{setspace}} + \item[doublespacing] Doppelter Zeilenabstand \See{\Ref{setspace}} + \item[stretch=\meta{amount}] |\setstretch|\marg{amount} \See{\Ref{setspace}} +\end{Options} +\vspace{0pt}\pagebreak[3] +\begin{Options}{stretch=\meta{amount}} + \item[normalcolor] |\normalcolor| + \item[color=\meta{colour}] |\color|\marg{colour} + {\small(Sofern das \package{color}- oder das \package{xcolor}"=Paket + geladen ist; für ein Beispiel siehe \Ref{declare})} +\end{Options} +\vspace{0pt}\pagebreak[3] +\begin{Options}{stretch=\meta{amount}} + \item[normal] Die Kombination aus den Optionen |normal|\-|color|, + |normal|\-|font|, |normal|\-|size| und |single|\-|spacing| \item[\UserDefined] - Eigene Zeichensatzoptionen k"onnen mittels |\DeclareCaptionFont| definiert werden. + Eigene Zeichensatzoptionen können mit |\Declare|\-|Caption|\-|Font| + definiert werden. \SeeUserDefined \end{Options} -Wird lediglich eine einzelne Zeichensatzoption ausgew"ahlt, k"onnen die +Wird lediglich eine einzelne Zeichensatzoption ausgewählt, können die geschweiften Klammern entfallen, d.h.~die Optionen %\begin{quote} |font={small}| @@ -629,145 +796,238 @@ und %\begin{quote} |font=small| %\end{quote} -sind in ihrer Wirkung identisch. +sind identisch. -Beispiele: +Drei Beispiele: \begin{Example} \begin{quote} - |font={small,it},labelfont=bf| + |font=it,labelfont=bf| \end{quote} - \captionsetup{aboveskip=0pt} - \example{font={small,it},labelfont=bf}{\exampletext} + \captionsetup{skip=0pt} + \example{font=it,labelfont=bf}{\exampletext} \end{Example} \begin{Example} \begin{quote} - |font=small,labelfont=bf,textfont=it| + |labelfont=bf,textfont=it| \end{quote} - \captionsetup{aboveskip=0pt} - \example{font=small,labelfont=bf,textfont=it}{\exampletext} + \captionsetup{skip=0pt} + \example{labelfont=bf,textfont=it}{\exampletext} \end{Example} +\begin{Example} + \begin{quote} + |font={small,stretch=0.80}| + \end{quote} + \captionsetup{skip=0pt} + \example{font={small,stretch=0.80}}{\exampletext} +\end{Example} + +\medskip + +\pagebreak[3] +\DescribeMacro{font+=} +\DescribeMacro{labelfont+=} +\DescribeMacro{textfont+=} +\NEWfeature{v3.1f} +Es ist auch möglich, Zeichensatzoptionen zu den bisher ausgewählten +hinzuzufügen, so ist zum Beispiel +\begin{quote} + |\captionsetup{font=small}|\\ + |\captionsetup{font+=it}| +\end{quote} +mit +\begin{quote} + |\captionsetup{font={small,it}}| +\end{quote} +\nopagebreak[3] +identisch. +\pagebreak[3] + % --------------------------------------------------------------------------- % -\subsection{R"ander und Abs"atze} +\subsection{Ränder und Absätze} \label{margins} \DescribeMacro{margin=} \DescribeMacro{width=} -F"ur die Abbildungs- und Tabellenbeschriftungen kann \emph{entweder} ein extra Rand -\emph{oder} eine feste Breite festgelegt werden. Dies geschieht mit +Für die Abbildungs- und Tabellenbeschriftungen kann \emph{entweder} ein extra +Rand \emph{oder} eine feste Breite festgelegt werden:~\footnote{Nur feste Maße +sind hier gestattet. Suchen Sie nach einem Weg, die Breite automatisch auf die +Breite der Abbildung oder Tabelle zu begrenzen, schauen Sie sich bitte das +\package{floatrow}\cite{floatrow} oder +\package{threeparttable}"=Paket\cite{threeparttable} an.} \begin{quote}\begin{tabular}{@{}r@{}ll} - |margin=| & \meta{Rand} & \emph{oder}\\ + |margin=| & \meta{Rand} & \emph{-- oder --}\\ + |margin=| & |{|\meta{Linker Rand}|,|\meta{Rechter Rand}|}| & \emph{-- oder --}\\ |width=| & \meta{Breite} & \\ \end{tabular}\end{quote} -In beiden F"allen wird die Beschriftung zentriert, d.h.~der linke und rechte Rand -sind immer gleich gro"s. - -Zwei Beispiele hierzu: +\NEWfeature{v3.1} +Wird nur ein Wert für den Rand angegeben, so wird er für beide Ränder +(links und rechts) verwendet, so ist z.B.~|margin=|\x|10pt| identisch mit +|margin=|\x|{10pt,10pt}|. +In zweiseitigen Dokumenten wird der linke und rechte Rand auf geraden Seiten +vertauscht. +\DescribeMacro{oneside} +\DescribeMacro{twoside} +Dies kann jedoch mit der zusätzlichen Option |oneside| abgeschaltet werden, +z.B.~|\caption|\-|setup{margin=|\x|{0pt,10pt},|\x|oneside}|.\par +Wird hingegen eine \meta{Breite} angegeben, wird die Beschriftung zentriert, +d.h.~der linke und rechte Rand sind in diesem Falle immer gleich groß. + +Drei Beispiele illustrieren dies: \begin{Example} \begin{quote} |margin=10pt| \end{quote} - \captionsetup{aboveskip=0pt} + \captionsetup{skip=0pt} \example{margin=10pt}{\exampletext} \end{Example} \begin{Example} \begin{quote} + |margin={1cm,0cm}| + \end{quote} + \captionsetup{skip=0pt} + \example{margin={1cm,0cm}}{\exampletext} +\end{Example} + +\begin{Example} + \begin{quote} |width=.75\textwidth| \end{quote} - \captionsetup{aboveskip=0pt} + \captionsetup{skip=0pt} \example{width=.75\textwidth}{\exampletext} \end{Example} +\begin{Note} +Wird die Beschriftung neben der Abbildung bzw.~Tabelle angebracht (z.B.~mit +Hilfe der |SC|\-|figure|"=Umgebung des \package{sidecap}"=Paketes\cite{sidecap}), +oder wird die Abbildung bzw.~Tabelle innerhalb eines Absatzes gesetzt (z.B.~mit +Hilfe der |wrap|\-|figure|"=Umgebung des \package{wrapfig}"=Paketes\cite{wrapfig}), +dann wird der Rand am Anfang der Umgebung automatisch auf |0pt| zurückgesetzt. +Soll hier ebenfalls ein extra Rand gesetzt werden, so kann dieser Rand entweder +innerhalb der Umgebung neu gesetzt werden, oder aber global für bestimmte +Umgebungen, z.B.~mit |\caption|\-|setup[SC|\-|figure]{margin=|\x|10pt}|. +\end{Note} + +\begin{Expert} +\DescribeMacro{margin*=}\NEWfeature{v3.1} +Neben der Option |margin=| gibt es auch die Option |margin*=|, die nur dann +einen Rand neu setzt, wenn keine Breite mit |width=| gesetzt wurde. +\end{Expert} + +\begin{Expert} +\DescribeMacro{minmargin=} +\DescribeMacro{maxmargin=}\NEWfeature{v3.1} +Weiterhin kann auch ein minimaler bzw.~maximaler Rand gesetzt werden. +Dies kann z.B.~sinnvoll sein, um in schmaleren Umgebungen wie |minipage|s +den Rand prozentual zu begrenzen. +So begrenzen z.B.~die \SmF"=Dokumentenklassen den Rand auf +|maxmargin=|\x|0.1\linewidth|. (Siehe \Ref{SMF}) +\end{Expert} + +\medskip + +\pagebreak[3] \DescribeMacro{parskip=} Diese Option wirkt auf Abbildungs- oder Tabellenbeschriftungen, die aus mehr als einem Absatz bestehen; sie legt den Abstand zwischen den -Abs"atzen fest. +Absätzen fest: \begin{quote} - |parskip=|\meta{Abstand zwischen Abs"atzen} + |parskip=|\meta{Abstand zwischen Absätzen} \end{quote} -Ein Beispiel: +Ein Beispiel hierzu: \begin{Example} \begin{quote} |margin=10pt,parskip=5pt| \end{quote} - \captionsetup{aboveskip=0pt} + \captionsetup{skip=0pt} \example{margin=10pt,parskip=5pt}{% - Erster Absatz der Beschriftung; dieser enth"alt einigen Text, so da"s die + Erster Absatz der Beschriftung; dieser enthält einigen Text, so daß die Auswirkungen der Optionen deutlich werden.\par - Zweiter Absatz der Beschriftung; dieser enth"alt ebenfalls einigen Text, - so da"s die Auswirkungen der Optionen deutlich werden.} + Zweiter Absatz der Beschriftung; dieser enthält ebenfalls einigen Text, + so daß die Auswirkungen der Optionen deutlich werden.} \end{Example} +\pagebreak[3] \DescribeMacro{hangindent=} Die Option \begin{quote} |hangindent=|\meta{Einzug} \end{quote} -legt einen Einzug f"ur alle Zeilen au"ser der jeweils ersten des Absatzes fest. +legt einen Einzug für alle Zeilen außer der jeweils ersten des Absatzes fest. Besteht die Beschriftung lediglich aus einem einzelnen Absatz, so ist die Wirkung mit der Option |indention=|\meta{Einzug} identisch, bei mehreren -Abs"atzen zeigt sich jedoch der Unterschied: +Absätzen zeigt sich jedoch der Unterschied: \begin{Example} \begin{quote} |format=hang,indention=-.5cm| \end{quote} - \captionsetup{aboveskip=0pt} + \captionsetup{skip=0pt} \example{format=hang,indention=-.5cm}{% - Erster Absatz der Beschriftung; dieser enth"alt einigen Text, so da"s die + Erster Absatz der Beschriftung; dieser enthält einigen Text, so daß die Auswirkungen der Optionen deutlich werden.\par - Zweiter Absatz der Beschriftung; dieser enth"alt ebenfalls einigen Text, - so da"s die Auswirkungen der Optionen deutlich werden.} + Zweiter Absatz der Beschriftung; dieser enthält ebenfalls einigen Text, + so daß die Auswirkungen der Optionen deutlich werden.} \end{Example} \begin{Example} \begin{quote} |format=hang,hangindent=-.5cm| \end{quote} - \captionsetup{aboveskip=0pt} + \captionsetup{skip=0pt} \example{format=hang,hangindent=-.5cm}{% - Erster Absatz der Beschriftung; dieser enth"alt einigen Text, so da"s die + Erster Absatz der Beschriftung; dieser enthält einigen Text, so daß die Auswirkungen der Optionen deutlich werden.\par - Zweiter Absatz der Beschriftung; dieser enth"alt ebenfalls einigen Text, - so da"s die Auswirkungen der Optionen deutlich werden.} + Zweiter Absatz der Beschriftung; dieser enthält ebenfalls einigen Text, + so daß die Auswirkungen der Optionen deutlich werden.} \end{Example} +\begin{Note} +Enthält die Beschriftung mehr als einen Absatz, muß über das optionale +Argument von |\caption| bzw.~|\caption|\-|of| eine alternative Beschriftung +für das Abbildungs- bzw.~Tabellenverzeichnis angegeben werden; +ansonsten kommt es zu einer Fehlermeldung. +\end{Note} + % --------------------------------------------------------------------------- % +\pagebreak[3] \subsection{Stile} \label{style} \DescribeMacro{style=} -Eine geeignete Kombination aus den bisher vorgestellten Optionen wird \textit{Stil} -genannt; dies ist in etwa mit dem Seitenstil vergleichbar, den man bekannterma"sen -mit |\pagestyle| einstellen kann. +Eine geeignete Kombination aus den bisher vorgestellten Optionen wird +\textit{Stil} genannt; dies ist in etwa mit dem Seitenstil vergleichbar, +den man mit |\page|\-|style| einstellen kann. -Einen vordefinierten Abbildungs- und Tabellenbeschriftungsstil kann man mit der +Einen vordefinierten Abbildungs- bzw.~Tabellenbeschriftungsstil kann man mit der Option \begin{quote} |style=|\meta{Stil} \end{quote} -ausw"ahlen. \Thispackage\ definiert zwei Stile: |base| und |default|. +auswählen. \Thispackage\ vordefiniert zwei Stile: |base| und |default|. \NEWfeature{v3.1} Der Stil |base| setzt alle bisher vorgestellten Optionen auf die Belegung zurück, die das Aussehen der Beschriftungen der Standard"=\LaTeX"=Dokumentenklassen |article|, |report| und |book| repräsentiert. D.h.~die Angabe der Option \begin{quote} - |style=default| + |style=base| \end{quote} entspricht den Optionen \begin{quote} |format=plain,labelformat=default,labelsep=colon,|\\ - |justification=justified,font=,labelfont=,|\\ - |textfont=,margin=0pt,indention=0pt,parindent=0pt|\\ - |hangindent=0pt,singlelinecheck=true| + |justification=justified,font={},labelfont={},|\\ + |textfont={},margin=0pt,indention=0pt|\\ + |parindent=0pt,hangindent=0pt,singlelinecheck=true|\quad. \end{quote} -{\small(Aber |justification=centering,indention=0pt| wird automatisch - gewählt werden, wenn die Beschriftung in eine einzelne Zeile passt.)} +\begin{Annotation*} +Aber |justification=centering,indention=0pt| wird automatisch +gewählt werden, wenn die Beschriftung in eine einzelne Zeile passt. +\end{Annotation*} Der Stil |default| hingegen folgt den Standardwerten der verwendeten Dokumentenklasse. Dieser Stil wird vorausgewählt und entspricht den @@ -775,442 +1035,965 @@ Optionen \begin{quote} |format=default,labelformat=default,labelsep=default,|\\ |justification=default,font=default,labelfont=default,|\\ - |textfont=default,margin=0pt,indention=0pt,parindent=0pt|\\ - |hangindent=0pt,singlelinecheck=true|\quad. + |textfont=default,margin=0pt,indention=0pt|\\ + |parindent=0pt,hangindent=0pt,singlelinecheck=true|\quad. \end{quote} -{\small(Aber |justification=centering,indention=0pt| wird ebenso automatisch - gewählt werden, wenn die Beschriftung in eine einzelne Zeile passt.)} +\begin{Annotation*} +Auch hier wird |justification=centering,indention=0pt| automatisch +gewählt werden, wenn die Beschriftung in eine einzelne Zeile passt. +\end{Annotation*} Wenn also eine der drei Standard"=\LaTeX"=Dokumentenklassen verwendet wird, -zeigen |base| und |default| auf (fast) die gleichen Einstellungen. +repräsentieren die Stile |base| und |default| (fast) die gleichen Einstellungen. -{\small\emph{Hinweis:} Eigene Stile k"onnen mittels |\DeclareCaptionStyle| - definiert werden. \SeeUserDefined} +\begin{Note} +Eigene Stile können mit |\Declare|\-|Caption|\-|Style| definiert werden. +\SeeUserDefined +\end{Note} % --------------------------------------------------------------------------- % -\subsection{Abst"ande} +\subsection{Abstände} \label{skips} -\DescribeMacro{aboveskip=} -\DescribeMacro{belowskip=} -Die vertikalen Abstände vor und nach der Beschriftung werden von -|\abovecaptionskip| und |\belowcaptionskip| kontrolliert. -Die Standard"=\LaTeX"=Klassen |article|, |report| und |book| belegen den -Abstand |\abovecaptionskip| mit |10pt| und |\belowcaptionskip| mit |0pt|, -andere Dokumentenklassen ggf.~ mit anderen Werten. +\DescribeMacro{skip=}\NEWfeature{v3.0d} +Der vertikale Abstand zwischen der Beschriftung und der Abbildung +bzw.~Tabelle wird über die Option +\begin{quote} + |skip=|\meta{Abstand} +\end{quote} +gesteuert. +Die Standard"=\LaTeX"=Dokumentenklassen \class{article}, \class{report} +und \class{book} belegen diesen Abstand auf |skip=|\x|10pt| vor, +andere Dokumentenklassen ggf.~auf einen anderen Wert. + +\bigskip + +\pagebreak[3] +\DescribeMacro{position=} +Die von \LaTeX\ vorgegebene Implementierung von |\caption| birgt eine +Design\-schwäche: +Der |\caption| Befehl weiß dort nicht, ob er über oder unter der Abbildung +bzw.~Tabelle steht, folglich weiß er auch nicht, wo er den Abstand zur +Abbildung bzw.~Tabelle setzen soll. +Während die Standard"=Implementierung den Abstand immer über die +Beschriftung setzt (und inkonsequenterweise in |long|\-|table|"=Umgebungen +unter die Beschriftung), handhabt es dieses Paket etwas flexibler: +Nach Angabe der Option +\begin{quote} + |position=top|\quad oder\quad |position=above| +\end{quote} +wird angenommen, daß die Beschrifung am \emph{Anfang} der Umgebung +steht, der mit |skip=|\x\meta{Abstand} gesetzte Abstand also unter die +Beschriftung gesetzt wird. +(Bitte beachten Sie, daß |position=|\x|top| keineswegs bedeutet, daß +die Beschriftung an den Anfang der Gleitumgebung gesetzt wird. +Stattdessen wird die Beschriftung gewöhnlich dort gesetzt, wo der +|\caption|"=Befehl platziert wird.) +Hingegen nach +\begin{quote} + |position=bottom|\quad oder\quad |position=below| +\end{quote} +wird angenommen, daß die Beschriftung am \emph{Ende} der Umgebung +steht, der Abstand also über die Beschriftung gesetzt wird. +Und letztendlich nach +\begin{quote} + |position=auto|\quad {\small(welches die Vorbelegung ist)} +\end{quote} +versucht \thispackage\ sein bestes, um die tatsächliche Position der +Beschrifung selbst zu bestimmen. Bitte beachten Sie, daß dies zwar in +der Regel gelingt, unter seltenen Umständen aber falsche Resultate +liefern könnte. + +\medskip + +\pagebreak[3] +\DescribeMacro{figureposition=}%\NEWfeature{v3.0a} +\DescribeMacro{tableposition=}%\NEWfeature{v3.0a} +Die Option |position| ist insbesondere in Verbindung mit dem optionalen +Argument von |\caption|\-|setup| nützlich. +\See{auch \Ref{captionsetup}}\par +So führt zum Beispiel +\begin{quote} + |\captionsetup[table]{position=above}| +\end{quote} +dazu, daß alle Tabellenbeschriftungen als \emph{Überschriften} angesehen +werden (zumindest was den Abstand zur Tabelle angeht). +Weil dies eine übliche Einstellung ist, bietet einem \thispackage\ auch +die Optionen |figure|\-|position=|\x\meta{Position} und +|table|\-|position=|\x\meta{Position} als abkürzende Schreibweise. +So ist z.B. +\begin{quote} + |\usepackage[|\ldots|,tableposition=top]{caption}| +\end{quote} +identisch mit +\begin{quote} + |\usepackage[|\ldots|]{caption}|\\ + |\captionsetup[table]{position=top}|\quad. +\end{quote} + +\medskip + +\DANGER +Bitte beachten Sie, daß die Optionen |skip=|, |position=|, +|figure|\-|position=| und |table|\-|position=| nicht immer einen Effekt haben. +Da die Gleitumgebungen üblicherweise von den Dokumentenklassen bereitgestellt +werden, kann es durchaus sein, daß diese ihre eigenen Abstandsregeln +mitbringen. +So befolgen z.B.~die \KOMAScript"=Dokumentenklassen die |skip=| Einstellung; +Abbildungsbeschriftungen werden aber immer als Unterschriften behandelt, +während die Tabellenbeschriftungen von dem Gebrauch der globalen +Optionen |table|\-|captions|\-|above| bzw.\ |table|\-|captions|\-|below| +abhängen. +\See{\Ref{KOMA}} + +Weiterhin kontrollieren manche Pakete, wie etwa das \package{float}-, das +\package{floatrow}- und das \package{supertabular}"=Paket, die Position +ihrer Abstände selber. + +\bigskip + +\begin{Expert*} +Intern wird der Abstand zwischen Beschriftung und Inhalt durch die Länge +|\above|\-|caption|\-|skip| repräsentiert (welche die Implementation von +\LaTeX\ immer über die Beschriftung setzt). +Weiterhin gibt es eine zweite Länge, |\below|\-|caption|\-|skip|, die +üblicherweise auf |0pt| vorbelegt ist und den Abstand auf der anderen +Seite der Beschriftung regelt. +Technisch gesprochen vertauscht also \thispackage\ die Bedeutungen dieser +beiden Längen when |position=top| gesetzt ist. +Bitte beachten Sie, daß diverse andere Pakete (wie etwa das \package{ftcap}-, +das \package{nonfloat}- und das \package{topcap}"=Paket) den gleichen +Kniff anwenden, so daß die Benutzung solcher Pakete zusammen mit dem +\package{caption}"=Paket zu vermeiden ist. +\end{Expert*} + +% --------------------------------------------------------------------------- % + +\subsection{Listen} +\label{lists} + +\DescribeMacro{list=}\NEWfeature{v3.1} +Der Befehl |\caption| erzeugt normalerweise auch einen Eintrag in das +Abbildungs- bzw.~Tabellenverzeichnis. Dies kann durch Angabe eines leeren +optionalen Argumentes unterdrückt werden {\small(siehe \Ref{caption})}, +aber auch durch Angabe der Option +\begin{quote} + |list=no|\quad(oder |list=false| oder |list=off|)\quad.~\footnote{% + Bitte beachten Sie, daß das \package{subfig}"=Paket\cite{subfig} diese + Option nicht unterstützt, stattdessen sind dort ggf.~die Zähler + \texttt{lofdepth} \& \texttt{lotdepth} anzupassen.} +\end{quote} \pagebreak[3] -Beide Abst"ande lassen sich gew"ohnlich mit |\setlength| "andern, aber auch mit den -\thispackage-Optionen +\DescribeMacro{listformat=}\NEWfeature{v3.1} +Mit der Option \nopagebreak[3] -\begin{quote}\begin{tabular}{@{}r@{}ll} - |aboveskip=| & \meta{Abstand nach oben} & und\\ - |belowskip=| & \meta{Abstand nach unten} & .\\ +\begin{quote} + |listformat=|\meta{Listformat} +\end{quote} +\nopagebreak[3] +kann beeinflußt werden, wie die Abbildungs- bzw.~Tabellennummer im +Abbildungs- bzw.~Tabellenverzeichnis erscheint. +Es gibt fünf vordefinierte Listenformate: + +\begin{Options}{\OptionLabel} + \item[empty] + Es wird keine Nummer angegeben. + + \item[simple] + Die Nummer wird (mit Zähler"=Prefix) angegeben. + + \item[parens] + Die Nummer wird (mit Prefix) in Klammern angegeben. + + \item[subsimple] + Wie |simple|, aber ohne Prefix. (Standard) + + \item[subparens] + Wie |parens|, aber ohne Prefix. + + \item[\UserDefined] + Eigene Listenformate können mit |\Declare|\-|Caption|\-|List|\-|Format| + definiert werden. + \SeeUserDefined +\end{Options} + +Das Präfix ($=$|\p@figure| bzw.~|\p@table|), welches in Listen und bei +Referenzen der Nummer ($=$|\the|\-|figure| bzw.~|\the|\-|table|) vorangestellt +wird, ist normalerweise leer, so daß die Listenformate |simple| und |subsimple| +indentische Ergebnisse abliefern; ebenso |parens| und |subparens|. +Aber dies kann z.B. bei Unterabbildungen anders sein.\footnote{% + Unterabbildungen können z.B.~mit dem \package{subcaption}- oder + \package{subfig}"=Paket gestaltet werden.} + +% --------------------------------------------------------------------------- % + +\subsection{Namen \& Nummerierung} +\label{names}\label{numbering} + +\DescribeMacro{figurename=} +\DescribeMacro{tablename=}\NEWfeature{v3.0l} +Der Name der Abbildungen und Tabellen kann mit den Optionen +\begin{quote}\begin{tabular}{@{}r@{}l@{\quad}l@{}} + |figurename=| & \meta{Name} & und\\ + |tablename=| & \meta{Name} & \\ \end{tabular}\end{quote} +geändert werden, zum Beispiel: +\begin{quote} + |figurename=Abb.| +\end{quote} +Das Sprachpaket \package{babel} setzt die Namen üblicherweise auf +"`Abbildung"' und "`Tabelle"'. -\DescribeMacro{position=} -Die sture Anwendung von |\abovecaptionskip| und |\belowcaptionskip| bei -Beschriftungen birgt einen gro"sen Nachteil: Ist die Beschriftung \emph{"uber} -und nicht \emph{unter} der Abbildung oder Tabelle (wie bei Tabellen durchaus -"ublich), so ist die Vorbelegung dieser beiden Abst"ande nicht mehr sinnvoll, -da hier kein Abstand zwischen der Beschriftung und der Tabelle gesetzt wird. -(Wir erinnern uns: |\belowcaptionskip| ist auf |0pt|, also kein Abstand, -vorbelegt.) - -Man vergleiche: -\begin{Example} - \captionsetup{position=b} - \begin{minipage}[c]{.5\linewidth}% -% \captionsetup{aboveskip=0pt}% - \captionof{table}{Eine Tabelle}% - \centering\begin{tabular}{ll}% - A & B \\% - C & D \\% - \end{tabular}% - \end{minipage}% - \begin{minipage}[c]{.5\linewidth}% - \centering\begin{tabular}{ll}% - A & B \\% - C & D \\% - \end{tabular}% - \captionof{table}{Eine Tabelle}% - \end{minipage}% -\end{Example} +\smallskip\INFO +Wenn Sie das \package{babel}"=Sprachpaket verwenden, laden Sie bitte +\thispackage\ \emph{nach} dem \package{babel}"=Paket. + +\medskip -Mit Hilfe des Parameters |position| kann man jedoch festlegen, wie -\LaTeX\ die Beschriftung behandeln soll, ob als \mbox{\emph{"Uber}schrift} -oder als \mbox{\emph{Unter}schrift}: +\pagebreak[3] +\DescribeMacro{name=}\NEWfeature{v3.1f} +Im Gegensatz zu |figure|\-|name| und |table|\-|name| ändert \begin{quote} - |position=top|\quad(oder |position=above|) + |name=|\meta{name} \end{quote} -gibt an, da"s die Abst"ande so gew"ahlt werden, da"s sie f"ur \mbox{\emph{"Uber}schriften} -sinnvoll gew"ahlt sind und +den Namen der \emph{aktuellen} Umgebung. +Hiermit könnte man z.B.~den Bezeichner "`Abbildung"' in allen +|wrap|\-|figure|"=Umgebungen nach "`Abb."' ändern (während woanders +nach-wie-vor "`Abbildung"' stehen würde): \begin{quote} - |position=bottom|\quad(oder |position=below|) + |\captionsetup[wrapfigure]{name=Abb.}| \end{quote} -gibt an, da"s die Abst"ande so gew"ahlt werden, da"s sie f"ur \mbox{\emph{"Uber}schriften} -sinnvoll gew"ahlt sind. (Dies ist die Standardeinstellung, allerdings nicht f"ur |longtable|s.) -F"ugt man nun ein |\captionsetup{position=top}| in die linke Tabelle vor dem -|\caption| Befehl ein, so ergeben sich im Vergleich zwischen "Uberschrift und -Unterschrift stimmige Abst"ande: -\begin{Example} - \begin{minipage}[c]{.5\linewidth}% - \captionsetup{position=t}% - \captionof{table}{Eine Tabelle}% - \centering\begin{tabular}{ll}% - A & B \\% - C & D \\% - \end{tabular}% - \end{minipage}% - \begin{minipage}[c]{.5\linewidth}% - \centering\begin{tabular}{ll}% - A & B \\% - C & D \\% - \end{tabular}% - \captionsetup{position=b} - \captionof{table}{Eine Tabelle}% - \end{minipage}% -\end{Example} +\medskip + +\pagebreak[3] +\DescribeMacro{listfigurename=} +\DescribeMacro{listtablename=}\NEWfeature{v3.1g} +Analog zu den Optionen |figure|\-|name| und |table|\-|name| kann auch der +Titel der Listen geändert werden. So ändert z.B. +\begin{quote} + |listfigurename=Bilderverzeichnis| +\end{quote} +den Standardtitel "`Abbildungsverzeichnis"' zu "`Bilderverzeichnis"'. + +\bigskip -(Technisch ist dies so realisiert, da"s bei "Uberschriften die Ab\-st"an\-de -|\abovecaptionskip| und |\belowcaptionskip| vertauscht werden, so da"s -|\abovecaptionskip| immer derjenige Abstand ist, der zwischen Tabelle -und Beschriftung zur Anwendung kommt.) +\pagebreak[3] +\DescribeMacro{figurewithin=} +\DescribeMacro{tablewithin=}\NEWfeature{v3.1f} +Wird eine Dokumentenklasse verwendet, die den Gliederungsbefehl |\chapter| +bereitstellt (wie z.B.~\class{report} oder \class{book}), +so wird üblicherweise der Abbildungs- und Tabellenzähler in Abhängigkeit des +Kapitels geführt. +Ansonsten wird der Zähler gewöhnlich fortlaufend erhöht. + +Dies kann über die Optionen +\begin{quote}\begin{tabular}{rl} + |figurewithin=| & \texttt{chapter} \emph{oder} \texttt{section} \emph{oder} \texttt{none}\quad und\\ + |tablewithin=| & \texttt{chapter} \emph{oder} \texttt{section} \emph{oder} \texttt{none}\\ +\end{tabular}\end{quote} +geändert werden. Wird "`|none|"' als Wert angegeben, erfolgt die Zählung stur +fortlaufend, ansonsten wird sie in Abhängigkeit von der angegebenen +Gliederungsebene (also "`|chapter|"' oder "`|section|"') geführt; +so würde z.B.~|figure|\-|within=|\x|section| zur Folge haben, +daß der Abbildungszähler in Abhängigkeit von der |\section| Gliederung geführt +wird. -Sinnvoll l"a"st sich diese Option insbesondere zusammen mit dem optionalen -Parameter bei |\captionsetup| anwenden: \See{auch \Ref{commands}} +\bigskip + +\begin{Expert*} +Der Name und die Nummerierung werden intern durch die Kommandos +|\|\meta{type}|name| \& |\the|\meta{type} gesteuert, z.B.~bei Abbildungen +durch |\figure|\-|name| \& |\the|\-|figure|. +Während die obenstehenden Optionen in der Regel ausreichend sind, +kann es manchmal vonnöten sein, diese zwei Makros direkt umzudefinieren. +So liefert zum Beispiel \begin{quote} - |\captionsetup[table]{position=top}| + |\captionsetup{figurewithin=section}|\\ + |\renewcommand\thefigure{\arabic{section}\alph{figure}}| \end{quote} -bewirkt, da"s bei allen Tabellen die Beschriftung bzgl.~der Abst"ande als -"Uberschrift behandelt wird. -\DescribeMacro{tableposition=}%\NEWfeature{v3.0a} -Da dies eine sehr gebr"auchliche Einstellung ist, -stellt das \thispackage"=Paket diesen Befehl auch als abk"urzende Option f"ur -|\usepackage| zur Verf"ugung: +ein Nummernschema \meta{section}\meta{figure} mit einem numerischen +Abschnittszähler und einem alphanumerischen Abbildungszähler, +wie z.B.~"`|Figure 2b|"'. +\end{Expert*} + +% --------------------------------------------------------------------------- % + +\subsection{Typen} +\label{types} + +\DescribeMacro{type=}\NEWfeature{v3.0d} +Der |\caption| Befehl kann verschiedene Gleitumgebungstypen beschriften, +Abbildungen (|figure|) ebenso wie Tabellen (|table|). +Außerhalb dieser Umgebungen führt die Verwendung von |\caption| jedoch zu +einer Fehlermeldung, weil nicht klar ist, zu welchem Typ die Beschriftung +gehören soll. +In diesen Situationen kann man den Typ manuell mit \begin{quote} - |\usepackage[|\ldots|,tableposition=top]{caption}| + |type=|\meta{Typ} \end{quote} -entspricht +festlegen, so daß |\caption| (und andere Befehle wie |\Continued|\-|Float| +oder |\sub|\-|caption|\-|box| des \package{subcaption}"=Paketes, +oder |\sub|\-|float| des \package{subfig}"=Paketes\cite{subfig}) +das gewünschte Ergebnis liefern können; +z.B.~innerhalb einer nicht-gleitenden Umgebung wie |minipage|: \begin{quote} - |\usepackage[|\ldots|]{caption}|\\ - |\captionsetup[table]{position=top}| + |\noindent\begin{minipage}{\textwidth}|\\ + | \captionsetup{type=figure}|\\ + | \subfloat{|\ldots|}|\\ + | |\ldots\\ + | \caption{|\ldots|}|\\ + |\end{minipage}| \end{quote} +\begin{Expert} +Es existiert auch eine Stern"=Variante dieser Option, |type*=|\meta{Typ}, +die sich unterschiedlich verhält, wenn das +\package{hyperref}"=Paket\cite{hyperref} geladen ist: +Während |type=| einen Hyperlink"=Anker setzt (sofern |hypcap=|\x|true| +gesetzt ist), tut dies |type*=| nicht. +(Siehe auch \Ref{hyperref}\,) +\end{Expert} +\begin{Expert} +\emph{\DefaultNoteText:} Bitte definieren Sie das interne Makro |\@captype| +nicht, wie von manchen Dokumentationen vorgeschlagen wird, selber um, +sondern verwenden Sie stattdessen immer |\caption|\-|setup{type=|\x\ldots|}|. +\end{Expert} + +\medskip + +Eigene Typen können mit |\Declare|\-|Caption|\-|Type| (angeboten von diesem +Paket), |\new|\-|float| (angeboten vom \package{float}"=Paket\cite{float}) +oder |\Declare|\-|New|\-|Float|\-|Type| (angeboten vom +\package{floatrow}"=Paket\cite{floatrow}) definiert werden. + +\medskip + +\DANGER % \NEWdescription{v3.1} +Bitte verwenden Sie die Option |type=| nur \emph{innerhalb} von Boxen oder +Umgebungen (wie |\par|\x|box| oder |mini|\x|page|), am besten solcher, wo +kein Seitenumbruch innerhalb möglich ist, damit die Abbildung bzw.~Tabelle +und die Beschriftung nicht durch einen solchen getrennt werden kann. +Weiterhin können einige unschöne Nebeneffekte auftreten, wenn |type=| +außerhalb einer Box oder Umgebung verwendet wird; daher wird in solchen +Fällen eine Warnung ausgegeben.\footnote{% +Sie erhalten diese Warnung nur dann, wenn Sie \eTeX\ verwenden.} + % --------------------------------------------------------------------------- % -\pagebreak[3] +\clearpage \section{Befehle} -\label{commands} + +\subsection{Setzen von Beschriftungen} +\label{caption} +\label{captionlistentry} \DescribeMacro{\caption} Der Befehl -\nopagebreak[3] \begin{quote} |\caption|\oarg{Kurzform f"ur das Verzeichnis}\marg{Beschriftung} \end{quote} -\nopagebreak[3] -erzeugt eine "Uber- bzw.~Unterschrift innerhalb einer gleitenden Umgebung -wie |figure| oder |table|. Dies ist an sich nichts neues, neu ist allerdings, -da"s kein Eintrag ins Abbildungs- oder Tabellenverzeichnis vorgenommen -wird, wenn eine leere Kurzform angegeben wird, etwa so: +erzeugt eine Über- bzw.~Unterschrift innerhalb einer gleitenden Umgebung +wie |figure| oder |table|. Dies ist an sich nichts neues, +hinzugekommen ist allerdings, daß kein Eintrag ins Abbildungs- oder +Tabellenverzeichnis vorgenommen wird, +wenn eine leere Kurzform angegeben wird, wie etwa hier: \begin{quote} |\caption[]{Dies ist eine Abbildung, die nicht ins|\\ | Abbildungsverzeichnis aufgenommen wird}| \end{quote} +\begin{Expert} +Beachten Sie, daß die \meta{Beschriftung} ein \emph{wanderndes} Argument +ist, solange keine \meta{Kurzform} angegeben ist. Ist hingegen eine +\meta{Kurzform} angegeben, ist stattdessen diese wandernd. +"`\emph{Wanderndes} Argument"' bedeutet, daß dieses Argument auch in die +Datei geschrieben wird, die beim nächsten \LaTeX"=Lauf das Abbildungs- +bzw. Tabellenverzeichnis bereitstellt. +\emph{Wandernde} Argumente dürfen keine \emph{zerbrechliche} Befehle enthalten, +alles muß hier \emph{robust} sein, ansonsten kann das Argument \emph{zerbrechen} +und beim nächsten \LaTeX"=Lauf seltsame Fehlermeldungen hervorrufen. +Einige \emph{zerbrechliche} Befehle können mit |\protect| vor dem +\emph{Zerbrechen} geschützt werden; eigene Definitionen können mit +|\Declare|\-|Robust|\-|Command| anstelle von |\new|\-|command| definiert werden, +um sie \emph{robust} zu machen. + +Ein Beispiel: |\caption{${}^{137}_{\phantom{1}55}$Cs}| wird Fehlermeldungen +zur Folge haben, da |\phantom| \emph{zerbrechlich} ist. +Daher muß in so einem Fall entweder die \meta{Kurzform} bemüht werden +(z.B.~|\caption[${}^|\x|{137}_|\x|{55}$|\x|Cs]|\x|{${}^|\x|{137}_|\x|{\phantom{1}55}$|\x|Cs}|) +oder aber ein |\protect| ergänzt werden, um |\phantom| vor dem \emph{zerbrechen} zu schützen: +|\caption{${}^|\x|{137}_|\x|{|\textcolor{blue}{\cs{protect}}|\phantom{1}55}$|\x|Cs}|. + +Manchmal ist dies allerdings nicht ausreichend. Der Grund ist darin zu finden, +daß der Ein-Zeilen-Test die \meta{Beschriftung} in eine horizontale Box setzt, +um die Breite zu bestimmen. +Manche Umgebungen mögen dies nicht besonders und quittieren es mit einer +Fehlermeldung. +Ein Beispiel: +|\caption{Ein| |Schema.| |\[V_{C}| |\sim| |\left| |\{| |\begin{array}{cc}| +|E_{g}| |&| |\textrm{p-n}| |\\| |e\phi_{B}| |&| |\textrm{M-S}| |\end{array}| +|\right.| |\]}|. +Der Gebrauch des optionalen Argumentes \meta{Kurzform} mittels +|\caption[Ein| |Schema]{|\ldots|}| ist hier nicht ausreichend, es kommt immer +noch zu eine Fehlermeldung. (``\texttt{Missing \$ inserted.}'') +Hier schafft es daher Abhilfe, den Ein-Zeilen-Test mittels +|\caption|\-|setup{single|\-|line|\-|check=|\x|off}| direkt vor dem +Betroffenen |\caption| Befehl auszuschalten. + +Mehr Informationen über \emph{wanderende} Argumente und \emph{zerbrechliche} +\& \emph{robuste} Befehle finden sich in der gängigen \LaTeX"=Literatur, aber +auch hier: +\url{http://www.ctan.org/tex-archive/info/lshort/german/} +und (in englischer Sprache) hier: +\url{http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/fragile.html} +\end{Expert} + +\medskip + +\pagebreak[3] \DescribeMacro{\caption*} -Das \package{longtable}-Paket definiert zus"atzlich zum Befehl |\caption| auch -den Befehl |\caption*|, der eine Beschriftung ohne Bezeichner und ohne Eintrag -ins Tabellenverzeichnis erzeugt. So erzeugt z.B. der Code +Das \package{longtable}"=Paket definiert zusätzlich zum Befehl |\caption| auch +die Stern-Variante |\caption*|, die eine Beschriftung ohne Bezeichner und ohne +Eintrag ins Tabellenverzeichnis erzeugt. So erzeugt z.B. der Code \begin{quote} - |\begin{longtable}{cc}|\\ + |\begin{longtable}{|\ldots|}|\\ | \caption*{Eine Tabelle}\\|\\ - | A & B \\|\\ - | C & D \\|\\ + | |\ldots\\ |\end{longtable}| \end{quote} -diese Tabelle: -\begin{longtable}{cc} - \caption*{Eine Tabelle}\\ - A & B \\ - C & D \\ -\end{longtable} - -\Thispackage\ bietet diesen Mechanismus auch f"ur normale Abbildungs- -und Tabellenbeschriftungen an. Ein Beispiel: +diese Tabelle:\par +\DeleteShortVerb{\|} +\vskip\intextsep +\begin{minipage}{\linewidth} + \captionsetup{type=table,position=t} + \caption*{Eine Tabelle} + \centering + \begin{tabular}{r|rr} + & x & y \\\hline + a & 1 & 2 \\ + b & 3 & 4 \\ + \end{tabular} +\end{minipage} +\vskip\intextsep +\MakeShortVerb{\|} +\Thispackage\ bietet diesen Mechanismus auch für Abbildungs- und +Tabellenbeschriftungen in Gleitumgebungen wie z.B. |table| an: \begin{quote} |\begin{table}|\\ | \caption*{Eine Tabelle}|\\ - | \begin{tabular}{cc}|\\ - | A & B \\|\\ - | C & D \\|\\ - | \end{tabular}|\\ +% | \begin{tabular}{|\ldots|}|\\ +% | |\ldots\\ +% | \end{tabular}|\\ + | |\ldots\\ |\end{table}| \end{quote} +\pagebreak[3] \DescribeMacro{\captionof} \DescribeMacro{\captionof*} Der Befehl |\caption| funktioniert in der Regel nur innerhalb von gleitenden -Umgebungen, manchmal m"ochte man ihn jedoch auch anderweitig anwenden, -etwa um eine Abbildung in eine nicht-gleitende Umgebung wie |minipage| zu -setzen. - -\pagebreak[2] -Hierf"ur stellt \thispackage\ den Befehl +Umgebungen, manchmal möchte man ihn jedoch auch außerhalb anwenden, +etwa um eine Abbildung in eine nicht-gleitende Umgebung wie |mini|\-|page| zu +setzen.\par +Hierfür stellt \thispackage\ den Befehl \begin{quote} |\captionof|\marg{Umgebungstyp}\oarg{Kurzform}\marg{Langform} \end{quote} -zur Verf"ugung. Die Angabe des Umgebungstypen ist hierbei notwendig, damit der -gew"unschte Bezeichner gew"ahlt wird und der Eintrag in das richtige Verzeichnis -vorgenommen wird. Ein Beispiel: +zur Verfügung. Die Angabe des Umgebungstypen ist hierbei notwendig, damit der +gewünschte Bezeichner (wie z.B. "`Abbildung"' oder "`Tabelle"') gewählt wird +und der Eintrag in das richtige Verzeichnis vorgenommen wird. Ein Beispiel: \begin{quote} - |\captionof{figure}{Abbildung}|\\ - |\captionof{table}{Tabelle}| +% |\captionof{figure}{Eine Abbildung}|\\ + |\captionof{table}{Eine Tabelle}| \end{quote} -f"uhrt zu folgendem Ergebnis: +führt zu folgendem Ergebnis: \begin{Example} - \captionof{figure}{Abbildung} - \captionsetup{belowskip=\abovecaptionskip} - \captionof{table}{Tabelle} +% \begingroup +% \captionof{figure}{Eine Abbildung} +% \endgroup + \captionsetup{position=top} +% \begingroup + \captionof{table}{Eine Tabelle} +% \endgroup \end{Example} -Analog zu |\caption*| gibt es auch den Befehl |\captionof*| f"ur Beschriftungen +Analog zu |\caption*| gibt es auch den Befehl |\captionof*| für Beschriftungen ohne Bezeichner und ohne Verzeichniseintrag. \DANGER % \NEWdescription{v3.1} -Beide Befehle, sowohl |\captionof| als auch |\captionof*|, sollten nur -\emph{innerhalb} von Umgebungen (wie |minipage| oder |\parbox|) angewandt werden; -ansonsten hat dies einen \LaTeX"=Fehler zur Folge.\footnote{% -Nur wenn \eTeX\ zum Einsatz kommt. Ansonsten gibt es zwar keine Fehlermeldung, -aber es kann passieren, da"s \LaTeX\ zwischen dem Inhalt und der -Beschreibung einen Seitenumbruch setzt; zum anderen kann es bei Mi"sachtung gar -zu seltsamen Effekten und unerwünschten Formatierungen der folgenden -Abbildungs- und Tabellenbeschriftungen kommen!} +Da |\caption|\-|of| intern die Option |type| verwendet, gelten hier die +gleichen Einschränkungen wie für die Option |type|, d.h.~sowohl +|\caption|\-|of| als auch |\caption|\-|of*| sollten nur \emph{innerhalb} von +Boxen oder Umgebungen verwendet werden. +\See{\Ref{types}} + +\bigskip + +\pagebreak[3] +\DescribeMacro{\captionlistentry}\NEWfeature{v3.1} +Unter gewissen Umständen kann es nützlich sein, lediglich einen Eintrag +ins Abbildungs- bzw.~Tabellenverzeichnis vorzunehmen. +Dies kann mit +\begin{quote} + |\captionlistentry|\oarg{Umgebungstyp}\marg{Verzeichniseintrag} +\end{quote} +bewerkstelligt werden. + +Ein Beispiel: Es ist recht einfach, eine |long|\-|table| anzulegen, die die +Beschriftungen \emph{über} dem Tabelleninhalt hat, und wo der Listeneintrag +auf die erste Seite der Tabelle verweist: +\begin{quote} + |\begin{longtable}{|\ldots|}|\\ + | \caption{|\ldots|}\\|\\ + |\endfirsthead|\\ + | \caption[]{|\ldots|}\\|\\ + |\endhead|\\ + | |\ldots +\end{quote} +Aber da das \package{longtable}"=Paket keinen |\end|\-|first|\-|foot| Befehl +anbietet, kann dies nicht so einfach auf Beschritungen \emph{unter} dem +Tabelleninhalt übertragen werden. +Stattdessen kann man aber |\caption|\-|list|\-|entry| zum Einsatz bringen: +\begin{quote} + |\begin{longtable}{|\ldots|}|\\ + | \caption[]{|\ldots|}\\|\\ + |\endfoot|\\ + | \captionlistentry{|\ldots|}|\\ + | |\ldots +\end{quote} + +\begin{Annotation*} +Ein weiteres Anwendungsbeispiel findet sich in \Ref{examples}. +\end{Annotation*} + +\begin{Expert} +Es existiert auch eine Stern"=Variante, |\caption|\-|list|\-|entry*|, die +den Umgebungszähler nicht erhöht. +(Innerhalb von |long|\-|table| Umgebungen erhöht allerdings +|\caption|\-|list|\-|entry| niemals den Tabellenzähler. Siehe auch +\Ref{longtable}.) +\end{Expert} + +\begin{Expert} +Bitte beachten Sie, daß \meta{Verzeichniseintrag} ein \emph{wanderndes} +Argument ist, hier also alles \emph{robust} sein muß. +(Siehe auch Erklärung zu |\caption|) +\end{Expert} + +\subsection{Anwenden von Optionen} +\label{captionsetup} \DescribeMacro{\captionsetup} -Den Befehl |\captionsetup| haben wir ja schon im \Ref{usage} kennengelernt, +Den Befehl |\caption|\-|setup| haben wir ja schon im \Ref{usage} kennengelernt, uns dort allerdings die Bedeutung des optionalen Parameters -\meta{Typ} aufgespart. %Dies soll nun nachgeholt werden: - +\meta{Typ} aufgespart. Wir erinnern uns, die Syntax des Befehls lautet \begin{quote} - |\captionsetup|\oarg{Typ}\marg{Optionen} + |\captionsetup|\oarg{Typ}\marg{Optionen}\quad. \end{quote} - -Wird hierbei ein \meta{Typ} angegeben, so werden die Optionen nicht +Wird hier ein \meta{Typ} angegeben, so werden die Optionen nicht unmittelbar umgesetzt, sondern werden lediglich vermerkt und kommen erst dann -zum Einsatz, wenn eine "Uber- bzw.\ Unterschrift innerhalb des passenden -gleitenden Umgebungstyps gesetzt wird. So wirkt sich z.B. die Angabe +zum Einsatz, wenn eine Über- bzw.\ Unterschrift innerhalb der passenden +(gleitenden) Umgebung gesetzt wird. So wirkt sich z.B. die Angabe \begin{quote} |\captionsetup[figure]|\marg{Optionen} \end{quote} -lediglich auf die Unterschriften aus, die innerhalb einer |figure|"=Umgebung +lediglich auf die Unterschriften aus, die innerhalb der Umgebung |figure| gesetzt werden. Ein Beispiel: \begin{quote} |\captionsetup{font=small}|\\ - |\captionsetup[figure]{labelfont=bf}| + |\captionsetup[figure]{labelfont=bf,textfont=it}| \end{quote} -f"uhrt zu Abbildungs- und Tabellenunterschriften der Art: +liefert Abbildungs- und Tabellenunterschriften der Art: \begin{Example} \captionsetup{font=small} - \captionsetup[figure]{labelfont=bf} + \captionsetup[figure]{labelfont=bf,textfont=it} \begingroup \captionof{figure}{Eine Abbildung} \endgroup - \captionsetup{belowskip=\abovecaptionskip} + \captionsetup{position=top} \begingroup \captionof{table}{Eine Tabelle} \endgroup \end{Example} +Wie man sieht, führt das |\caption|\-|setup[figure]{|\ldots|}| dazu, +daß lediglich die Abbildungsunterschriften mit fettem Bezeichner und kursivem +Text gesetzt werden; alle anderen Unter- bzw.\ Überschriften werden jedoch +hiervon nicht beeinflusst. + +Als Umgebungstypen mit Unter- bzw.\ Überschriften gibt es in der Regel nur +zwei: |figure| und |table|. Wie wir jedoch später sehen werden, kommen durch die +Verwendung spezieller \LaTeX-Pakete (wie etwa das \package{floatrow}, +\package{longtable} oder \package{sidecap}"=Paket) ggf.~weitere Typen hinzu, +deren Beschriftungen ebenfalls derart individuell angepasst werden können. +\See{\Ref{declare} and \Ref{packages}} + +\begin{Expert} +\NEWfeature{v3.1} +Es existiert auch eine Stern"=Variante von |\caption|\-|setup|: +\begin{quote} + |\captionsetup*|\oarg{Typ}\marg{Optionen} +\end{quote} +Während die Variante ohne Stern ggf.~zu Warnungen führt -- zum Beispiel wenn +die \meta{Optionen} im Verlauf des Dokumentes nicht zum Einsatz kommen +(wie z.B. |\caption|\-|setup[table]{font=|\x|sf}| ohne folgende |table|) -- +ist dies bei der Stern"=Variante nicht der Fall. +\iffalse +Dies kann sich z.B. bei der Entwicklung von generischen Designvorlagen als +hilfreich erweisen. +\fi +\end{Expert} -Wie man sieht, f"uhrt das |\captionsetup[figure]{labelfont=bf}| lediglich dazu, -da"s Abbildungsunterschriften mit fettem Bezeichner gesetzt werden, alle anderen -Unter- bzw.\ "Uberschriften werden hiervon nicht beeinflu"st. +\medskip +\pagebreak[3] \DescribeMacro{\clearcaptionsetup} -Um diese vermerkten, typbezogenen Parameter aus dem Ged"achnis von \LaTeX\ zu -l"oschen, gibt es den Befehl +Um vermerkte, typbezogene Parameter aus dem Gedächnis von \LaTeX\ zu löschen, +gibt es den Befehl \begin{quote} - |\clearcaptionsetup|\marg{Typ}\quad. + |\clearcaptionsetup|\oarg{Option}\marg{Typ}\quad. \end{quote} -|\clearcaptionsetup{figure}| w"urde z.B. die obrige Sonderbehandlung der -Abbildungsunterschriften wieder aufheben: +|\clearcaptionsetup{figure}| würde z.B. die in dem obrigen Beispiel deklarierte +Sonderbehandlung der Abbildungsunterschriften wieder aufheben: +\begin{quote} + |\captionsetup{font=small}|\\ + |\captionsetup[figure]{labelfont=bf,textfont=it}|\\ + \ldots\\ + | \caption{Eine Abbildung}|\\ + \ldots\\ + |\clearcaptionsetup{figure}|\\ + \ldots\\ + | \caption{Eine Abbildung}|\\ + \ldots +\end{quote} \begin{Example} \captionsetup{font=small} + \captionsetup[figure]{labelfont=bf,textfont=it} \begingroup \captionof{figure}{Eine Abbildung} \endgroup - \captionsetup{belowskip=\abovecaptionskip} + \captionsetup{position=top} + \clearcaptionsetup{figure} \begingroup - \captionof{table}{Eine Tabelle} + \captionof{figure}{Eine Abbildung} \endgroup \end{Example} -Als Umgebungstypen mit Unter- bzw.\ "Uberschriften gibt es in der Regel nur -zwei: |figure| und |table|. Wie wir jedoch sp"ater sehen werden, kommen durch die -Verwendung spezieller \LaTeX-Pakete (wie etwa das \package{float}, -\package{longtable} oder \package{sidecap}"=Paket) -ggf.~weitere Typen hinzu, deren Beschriftungen ebenfalls derart individuell -angepasst werden k"onnen. +\pagebreak[3] +\NEWfeature{v3.1} +Wird das optionale Argument \meta{Option} verwendet, werden nur die +Einstellungen entfernt, die diese \meta{Option} betreffen.\footnote{% +Es kann hier nur \emph{eine} Option angegeben werden; sollen mehrere +Einstellungen entfernt werden, muß hierzu +\cs{clear}\-\texttt{caption}\-\texttt{setup} +mehrmals angewandt werden.} +Während in dem obrigen Beispiel nicht nur die Optionen +|labelfont=bf,|\x|textfont=it| +für Abbildungen aufgehoben werden (sondern alle Einstellungen, die +die Abbildungsbeschriftungen betreffen), würde der folgende Code +nur die Einstellung |labelfont=bf| entfernen und alle anderen +Einstellungen für Abbildungen intakt lassen: +\begin{quote} + |\captionsetup{font=small}|\\ + |\captionsetup[figure]{labelfont=bf,textfont=it}|\\ + \ldots\\ + | \caption{Eine Abbildung}|\\ + \ldots\\ + |\clearcaptionsetup[labelfont]{figure}|\\ + \ldots\\ + | \caption{Eine Abbildung}|\\ + \ldots +\end{quote} +\begin{Example} + \captionsetup{font=small} + \captionsetup[figure]{labelfont=bf,textfont=it} + \begingroup + \captionof{figure}{Eine Abbildung} + \endgroup + \captionsetup{position=top} + \clearcaptionsetup[labelfont]{figure} + \begingroup + \captionof{figure}{Eine Abbildung} + \endgroup +\end{Example} +\begin{Expert} +Analog zu |\caption|\-|setup*| gibt es hier ebenfalls eine Stern"=Variante +|\clear|\-|caption|\-|setup*|, die eventuell auftretende Warnungen unterdrückt, +etwa wenn die angegebene \meta{Option} gar nicht für den angegebenen \meta{Typ} +eingestellt war. +\end{Expert} + +\medskip -\subsection{Fortlaufende gleitende Umgebungen} +\pagebreak[3] +\DescribeMacro{\showcaptionsetup} +Für Debug"=Zwecke wird der Befehl +\nopagebreak[3] +\begin{quote} + |\showcaptionsetup|\marg{Typ} +\end{quote} +\nopagebreak[3] +bereitgestellt. Er erzeugt einen Eintrag in der Log"=Datei und zeigt dort +die für den angegebenen \meta{Typ} eingestellten Optionen an. +So gibt einem zum Beispiel +\begin{quote} + |\captionsetup[figure]{labelfont=bf,textfont=it}|\\ + |\showcaptionsetup{figure}| +\end{quote} +die Info: +\begin{quote}\small + |Caption Info: Option list on `figure'|\\ + |Caption Data: {labelfont=bf,textfont=it} on input line 5.| +\end{quote} + +\pagebreak[3] +\subsection{Fortlaufende Gleitumgebungen} \label{ContinuedFloat} \DescribeMacro{\ContinuedFloat} -Manchmal m"ochte man Abbildungen oder Tabellen aufteilen, jedoch ohne den einzelnen -Teilen eine eigene Abbildungs- oder Tabellennummer zu geben. Hierf"ur stellt das -\thispackage-Paket den Befehl +Manchmal möchte man Abbildungen oder Tabellen aufteilen, jedoch ohne den einzelnen +Teilen eine eigene Abbildungs- oder Tabellennummer zu geben. Hierfür stellt das +\thispackage"=Paket den Befehl \begin{quote} |\ContinuedFloat| \end{quote} -zur Verf"ugung, der gleich als erstes innerhalb der folgenden Teile angewandt -werden sollte. Er verhindert, da"s die Z"ahlung fortgef"uhrt wird; eine Abbildung -oder Tabelle, die ein |\ContinuedFloat| enth"alt, erh"alt also die gleiche Nummer -wie die vorherige Abbildung oder Tabelle. - -Ein Beispiel: +zur Verfügung, der gleich als erstes innerhalb der nächsten (Gleit-)Umgebung(en) +angewandt werden sollte. +Er verhindert, daß die Zählung fortgeführt wird; eine Abbildung oder Tabelle, +die ein |\Continued|\-|Float| enthält, bekommt also die gleiche Nummer +wie die vorherige Abbildung oder Tabelle. Ein Beispiel: \begin{quote} |\begin{table}|\\ - |\caption{Eine Tabelle.}|\\ - \ldots\\ + | \caption{Eine Tabelle}|\\ + | |\ldots\\ |\end{table}|\\ \ldots\\ |\begin{table}\ContinuedFloat|\\ - |\caption{Eine Tabelle. (fortgef"uhrt)}|\\ - \ldots\\ + | \caption{Eine Tabelle (Fortsetzung)}|\\ + | |\ldots\\ |\end{table}| \end{quote} ergibt als Ergebnis: \begin{Example} \captionsetup{type=table,position=b,skip=0pt} - \caption{Eine Tabelle.} + \caption{Eine Tabelle} \centerline{\ldots} \ContinuedFloat - \caption{Eine Tabelle. (fortgef"uhrt)} + \caption{Eine Tabelle (Fortsetzung)} + \centerline{\ldots} \end{Example} +\bigskip + +\NEWfeature{v3.1} +Zusätzlich führt der |\Continued|\-|Float| Befehl auch Einstellungen aus, die +mit dem Typ "`|Continued|\-|Float|"' verknüpft sind. Dies kann zum Beispiel +verwendet werden, um automatisch für fortgesetzte Abbildungen oder Tabellen +auf ein anderes Bezeichner- oder Textformat umzuschalten, wie etwa hier: +\begin{quote} + |\DeclareCaptionLabelFormat{continued}{#1~#2 (Fortsetzung)}|\\ + |\captionsetup[ContinuedFloat]{labelformat=continued}|\\ + \ldots\\ + |\begin{table}\ContinuedFloat|\\ + | \caption{Eine Tabelle}|\\ + | |\ldots\\ + |\end{table}| +\end{quote} +\begin{Example} + \captionsetup{type=table,position=b,skip=0pt} + \captionsetup[ContinuedFloat]{labelformat=continued} + \ContinuedFloat + \caption{Eine Tabelle} + \centerline{\ldots} +\end{Example} +\medskip +\See{\Ref{declare} für die Erläuterung des Befehls + \cs{Declare}\-\texttt{Caption}\-\texttt{Label}\-\texttt{Format}.} + +\bigskip + +Möchten Sie hingegen bei fortgeführten |long|\-|table|s einen anderen +Bezeichner (nach einem Seitenumbruch), so kann dies \emph{nicht} +mit |\Continued|\-|Float| bewerkstelligt werden, aber mit Hilfe +der vom \package{longtable}"=Paket\cite{longtable} bereitgestellten +Befehle |\end|\-|first|\-|head| und |\end|\-|head|; in etwa so: +\begin{quote} + |\DeclareCaptionLabelFormat{continued}{#1~#2 (Fortsetzung)}|\\ + \ldots\\ + |\begin{longtable}{|\ldots|}|\\ + | \caption{Eine mehrseitige Tabelle}\\|\\ + |\endfirsthead|\\ + | \captionsetup{labelformat=continued}|\\ + | \caption[]{Eine mehrseitige Tabelle}\\|\\ + |\endhead|\\ + | |\ldots\\ + |\end{longtable}| +\end{quote} + % --------------------------------------------------------------------------- % -\pagebreak[4] +\clearpage \section{Eigene Erweiterungen} \label{declare} -Wem die vorhandenen Formate, Trenner, Textausrichtungen, Zeichens"atze und Stile -nicht ausreichen, der hat die M"oglichkeit, sich eigene zu definieren. Hierzu -gibt es eine Reihe von Befehlen, die in dem Vorspann des Dokumentes (das ist der -Teil vor |\begin{document}|) zum Einsatz kommen. +Wem die vorhandenen Formate, Trenner, Textausrichtungen, Zeichensätze und Stile +nicht ausreichen, der hat die Möglichkeit, sich eigene zu definieren. Hierzu +gibt es eine Reihe von Befehlen, die in der Prämbel des Dokumentes (das ist der +Teil zwischen |\document|\-|class| und |\begin{document}|) zum Einsatz kommen. -\pagebreak[2] -\DescribeMacro{\DeclareCaptionFormat} -Eigene Formate k"onnen mit dem Befehl +\pagebreak[3] +\DescribeMacro{\DeclareCaption-\\Format} +Eigene Formate können mit dem Befehl \begin{quote} |\DeclareCaptionFormat|\marg{Name}\marg{Code mit \#1, \#2 und \#3} \end{quote} -definiert werden. F"ur \#1 wird sp"ater der Bezeichner, f"ur \#2 der Trenner -und f"ur \#3 der Text eingesetzt. So ist z.B. das Standardformat |plain|, -welches die Beschriftung als gew"ohnlichen Absatz formatiert, folgenderma"sen -in |caption.sty| definiert: +definiert werden. +Für \#1 wird später der Bezeichner, für \#2 der Trenner +und für \#3 der Text eingesetzt. So ist z.B. das Standardformat |plain|, +welches die Beschriftung als gewöhnlichen Absatz formatiert, +in diesem Paket so vordefiniert: \begin{quote} |\DeclareCaptionFormat{plain}{#1#2#3\par}| \end{quote} +\begin{Expert} +Es gibt auch eine Stern"=Variante, |\Declare|\-|Caption|\-|Format*|, die den +Code nicht in \TeX s horizontalem Modus, sondern im vertikalen Modus setzt, +aber die |indention=| Option nicht unterstützt. +\end{Expert} -\DescribeMacro{\DeclareCaptionLabelFormat} -"Ahnlich k"onnen auch eigene Bezeichnerformate definiert werden: +\pagebreak[3] +\DescribeMacro{\DeclareCaption-\\LabelFormat} +Ähnlich können auch eigene Bezeichnerformate definiert werden: \begin{quote} |\DeclareCaptionLabelFormat|\marg{Name}\marg{Code mit \#1 und \#2} \end{quote} -Bei den Bezeichnerformaten wird hierbei f"ur \#1 der Name (also z.B. -"`Abbildung"'), f"ur \#2 die Nummer (also z.B. "`12"') eingesetzt. +Bei den Bezeichnerformaten wird hierbei für \#1 der Name (also z.B. +"`Abbildung"'), für \#2 die Nummer (also z.B. "`12"') eingesetzt. +Ein Beispiel: +\begin{quote} + |\DeclareCaptionLabelFormat{bf-parens}{(\textbf{#2})}|\\ + |\captionsetup{labelformat=bf-parens,labelsep=quad}| +\end{quote} +\example*{labelformat=bf-parens,labelsep=quad}{\exampletext} +\pagebreak[3] \DescribeMacro{\bothIfFirst} \DescribeMacro{\bothIfSecond} -Hierbei gibt es eine Besonderheit zu beachten: Wird das Bezeichnerformat -auch in Verbindung mit dem \package{subfig}"=Paket\cite{subfig} verwendet, +Bei der Definition von eigenen Bezeichnerformaten gibt es eine Besonderheit zu +beachten: Wird das Bezeichnerformat auch in Verbindung mit dem +\package{subcaption} oder \package{subfig}"=Paket\cite{subfig} verwendet, so kann der Bezeichnername (also \#1) auch leer sein. -Um dies flexibel handhaben zu k"onnen, stellt das \thispackage"=Paket die +Um dies flexibel handhaben zu können, stellt das \thispackage"=Paket die Befehle \begin{quote} |\bothIfFirst|\marg{Erstes Argument}\marg{Zweites Argument}\quad und\\ |\bothIfSecond|\marg{Erstes Argument}\marg{Zweites Argument} \end{quote} -zur Verf"ugung. |\bothIfFirst| testet, ob das erste Argument leer ist, -|\bothIfSecond|, ob das zweite Argument leer ist. Nur wenn dies nicht der -Fall ist, werden beide Argumente ausgegeben, ansonsten werden beide -unterdr"uckt. +zur Verfügung. +|\bothIfFirst| testet, ob das erste Argument nicht leer ist, +|\bothIfSecond|, ob das zweite Argument nicht leer ist. +Nur wenn dies der Fall ist, werden beide Argumente ausgegeben, +ansonsten werden beide unterdrückt. + +\smallskip +\pagebreak[3] So ist z.B. das Standard"=Bezeichnerformat |simple| nicht, wie man -naiverweise annehmen k"onnte, als +naiverweise annehmen könnte, als \begin{quote} - |\DeclareCaptionLabelFormat{simple}{#1 #2}| + |\DeclareCaptionLabelFormat{simple}{#1~#2}| \end{quote} -definiert, weil dies zu einem st"orendem f"uhrenden Leerzeichen f"uhren w"urde, -wenn \#1 leer ist. Stattdessen findet sich in |caption.sty| folgende -Definition, die sowohl mit |\caption| als auch mit |\subfloat| harmoniert: +definiert, weil dies zu einem störendem führenden Leerzeichen führen würde, +sollte \#1 leer sein. Stattdessen kommt folgende Definition zum Einsatz, +die sowohl mit |\caption| als auch mit |\sub|\-|caption| bzw.~|\sub|\-|float| +harmoniert: \begin{quote} - |\DeclareCaptionLabelFormat{simple}{\bothIfFirst{#1}{~}#2}| + |\DeclareCaptionLabelFormat{simple}%|\\ + | {\bothIfFirst{#1}{~}#2}|\mbox{\quad,} \end{quote} d.h.~das Leerzeichen kommt nur dann zum Einsatz, wenn \#1 nicht leer ist. +\smallskip + \pagebreak[3] -\DescribeMacro{\DeclareCaptionLabelSeparator} +\DescribeMacro{\DeclareCaption-\\TextFormat}\NEWfeature{v3.0l} +Ebenso können eigene Textformate definitiert werden: +\begin{quote} + |\DeclareCaptionTextFormat|\marg{Name}\marg{Code mit \#1} +\end{quote} +An die Stelle von \#1 wird später der Beschriftungstext eingesetzt. + +\bigskip + +\pagebreak[3] +\DescribeMacro{\DeclareCaption-\\LabelSeparator} Eigene Trenner werden mit -\nopagebreak[3] \begin{quote} |\DeclareCaptionLabelSeparator|\marg{Name}\marg{Code} \end{quote} -\nopagebreak[3] -definiert. Auch hier wieder als einfaches Beispiel die Definition des -Standard"=Trenners aus |caption.sty|: -\nopagebreak[3] +definiert. Auch hier wieder als einfaches Beispiel eine Definition innerhalb +des \package{caption}"=Paketes selber: \begin{quote} |\DeclareCaptionLabelSeparator{colon}{: }| \end{quote} -\pagebreak[3] +\begin{Expert} +Es gibt auch eine Stern"=Variante, |\Declare|\-|Caption|\-|Label|\-|Separator*|, +die den Code ohne den mit |label|\-|font=| eingestellten Zeichensatz setzt. +Auf diese Art sind z.B. die Trenner |quad|, |new|\-|line| und |en|\-|dash| +vordefiniert. +\end{Expert} + +\bigskip -\DescribeMacro{\DeclareCaptionJustification} -Eigene Textausrichtungen k"onnen mit +\pagebreak[3] +\DescribeMacro{\DeclareCaption-\\Justification} +Eigene Textausrichtungen können mit \begin{quote} |\DeclareCaptionJustification|\marg{Name}\marg{Code} \end{quote} -definiert werden. Der \meta{Code} wird dann der Beschriftung vorangestellt, -so f"uhrt z.B. die Verwendung der Ausrichtung +definiert werden. +Der \meta{Code} wird dann der Beschriftung vorangestellt, +so führt z.B. die Verwendung der bereits vordefinierten Ausrichtung \begin{quote} |\DeclareCaptionJustification{raggedright}{\raggedright}| \end{quote} -dazu, da"s alle Zeilen der Beschriftung linksb"undig ausgegeben werden. +dazu, daß alle Zeilen der Beschriftung linksbündig ausgegeben werden. + +\bigskip -\DescribeMacro{\DeclareCaptionFont} -Eigene Zeichensatzoptionen k"onnen mit +\pagebreak[3] +\DescribeMacro{\DeclareCaption-\\Font} +Eigene Zeichensatzoptionen können mit \begin{quote} |\DeclareCaptionFont|\marg{Name}\marg{Code} \end{quote} -definiert werden. So definiert z.B. das \thispackage"=Paket die Optionen -|small| und |bf| folgenderma"sen: +definiert werden. +So sind z.B. die Optionen |small| und |bf| folgendermaßen vordefiniert: \begin{quote} - |\DeclareCaptionFont{small}{\small}|\\ - |\DeclareCaptionFont{bf}{\bfseries}| + |\DeclareCaptionFont{small}{\small}|\quad und\\ + |\DeclareCaptionFont{bf}{\bfseries}|\quad. \end{quote} \iffalse -Die Zeilenabst"ande lie"sen sich z.B.~"uber das \package{setspace}"=Paket +Die Zeilenabstände ließen sich z.B.~über das \package{setspace}"=Paket regeln:%\NEWdescription{v3.0h} \begin{quote} |\usepackage{setspace}|\\ - |\DeclareCaptionFont{singlespacing}{\setstretch{1}}|\quad\footnote{% - \emph{Hinweis:} \cs{singlespacing} kann hier nicht benutzt werden, - da es ein \cs{vskip} Kommando enth"alt.}\\ + |\DeclareCaptionFont{singlespacing}{\setstretch{1}}|~\footnote{% + \emph{\DefaultNoteText:} \cs{singlespacing} kann hier nicht benutzt werden, + da es ein \cs{vskip} Kommando enthält.}\\ |\DeclareCaptionFont{onehalfspacing}{\onehalfspacing}|\\ |\DeclareCaptionFont{doublespacing}{\doublespacing}|\\ |\captionsetup{font={onehalfspacing,small},labelfont=bf}| \end{quote} \example{font={onehalfspacing,small},labelfont=bf,singlelinecheck=off}{\exampletext} \fi -Ein Beispiel, welches etwas Farbe ins Spiel bringt: +Ein Beispiel, welches Farbe ins Spiel bringt: \begin{quote} |\usepackage{color}|\\ |\DeclareCaptionFont{red}{\color{red}}|\\ @@ -1223,51 +2006,141 @@ Aber da \thispackage\ schon die pfiffige Definition \begin{quote} |\DeclareCaptionFont{color}{\color{#1}}| \end{quote} -enthält, kann man das selbe Resultat auch einfach mit +beinhaltet, kann man das selbe Resultat auch einfach mit \begin{quote} |\usepackage{color}|\\ |\captionsetup{labelfont={color=blue,bf},|\\ - | textfont={color=green}}|\quad. + | textfont={color=green}}| \end{quote} erreichen. -\DescribeMacro{\DeclareCaptionStyle} -Zu guter letzt noch die Definition eigener Stile. Stile sind einfach eine -Ansammlung von geeigneten Einstellungen, die unter einem eigenen Namen -zusammengefasst werden und mit der Paketoption |style=|\meta{Name} ausgew"ahlt -werden k"onnen. Sie werden wie folgt definiert: +\medskip + +\pagebreak[3] +\DescribeMacro{\DeclareCaption-\\Style} +Eigene Stile werden folgendermaßen definiert: \begin{quote} - |\DeclareCaptionStyle|\marg{Name}\oarg{zus"atzliche Optionen}\marg{Optionen} + |\DeclareCaptionStyle|\marg{Name}\oarg{zusätzliche Optionen}\marg{Optionen} \end{quote} -Hierbei ist zu beachten, da"s die \meta{Optionen} immer auf dem Stil |base| +Stile sind einfach eine Ansammlung von geeigneten Einstellungen, die unter +einem eigenen Namen zusammengefasst werden und mit der Paketoption +|style=|\meta{Name} zum Leben erweckt werden können. + +Hierbei ist zu beachten, daß die so definierten Stile immer auf dem Stil |base| basieren (siehe auch \Ref{style}), es brauchen also nur davon abweichende Optionen angegeben werden. -Sind \meta{zus"atzliche Optionen} angegeben, so kommen diese automatisch -zus"atzlich zum Einsatz, sofern die Beschreibung in eine einzelne Zeile passt -und diese Abfrage nicht mit |singlelinecheck=off| ausgeschaltet wurde. +Sind \meta{zusätzliche Optionen} angegeben, so kommen diese automatisch +zusätzlich zum Einsatz, sofern die Beschreibung in eine einzelne Zeile passt +und diese Abfrage nicht mit |single|\-|line|\-|check=off| ausgeschaltet wurde. -Als Beispiel mu"s mal wieder eine einfache Definition innerhalb dieses Paketes -herhalten, so ist der Stil |base| definiert als +Als Beispiel muß mal wieder eine einfache Definition innerhalb dieses Paketes +herhalten: Der Stil |base| ist vordefiniert als \begin{quote} |\DeclareCaptionStyle{base}%|\\ - | [justification=centering,indention=0pt]{}|\quad. + | [justification=centering,indention=0pt]{}|\quad. \end{quote} +Etwas spannenderes: +\begin{quote} + |\DeclareCaptionStyle{mystyle}%|\\ + | [margin=5mm,justification=centering]%|\\ + | {font=footnotesize,labelfont=sc,margin={10mm,0mm}}|\\ + |\captionsetup{style=mystyle}| +\end{quote} +liefert einem Beschriftungen wie diese hier: +\begin{Example} + \captionsetup{type=figure,style=mystyle,position=b} + \caption{Eine kurze Beschriftung.} + \caption{Eine sehr sehr sehr sehr sehr sehr sehr sehr sehr + sehr sehr sehr sehr sehr sehr sehr sehr sehr + sehr sehr sehr sehr sehr sehr sehr sehr lange Beschriftung.} +\end{Example} + +\bigskip + +\pagebreak[3] +\DescribeMacro{\DeclareCaption-\\ListFormat}\NEWfeature{v3.1} +Eigene Listenformate können mit +\begin{quote} + |\DeclareCaptionListFormat|\marg{Name}\marg{Code mit \#1 und \#2} +\end{quote} +definiert werden. +Im Laufe des Dokumentes wird \#1 dann mit dem Bezeichner-Präfix +(z.B.~|\p@figure|), und \#2 mit der Referenznummer (z.B.~|\thefigure|) ersetzt. + +\bigskip + +\pagebreak[3] +\DescribeMacro{\DeclareCaptionType}\NEWfeature{v3.1f} +Eigene Gleitumgebungen und Umgebungstypen werden mit +\begin{quote} + |\DeclareCaptionType|\oarg{Optionen}\marg{Typ}\oarg{Name}\oarg{Listenname} +\end{quote} +definiert; wobei \meta{Optionen} ein oder mehrere Optionen hiervon sind: +\begin{quote}\begin{tabular}{r@{}l@{\qquad}l} + |fileext=| & \meta{Dateiendung} + & {\small(z.B.~|fileext=lod|)}\\ +% |listname=|\meta{list name}\\ +% |name=|\meta{prosa name}\\ + |placement=| & \meta{Kombination aus \,\purett{htbp}} + & {\small(z.B.~|placement=tbp|)}\\ + |within=| & \meta{Bezugszähler} \emph{oder} \texttt{none}\quad. + & {\small(z.B.~|within=section|)} +\end{tabular}\end{quote} +Werden keine \meta{Optionen} angegeben, so wird "`lo\meta{type}"' als +\meta{Dateiendung} für die Generierung der Liste verwendet, "`|tbp|"' als +Standard"=Positionierung, und "`|chapter|"' bzw.~"'|none|"' als +\meta{Bezugszähler}. +(Wird hingegen "`|none|"' angegeben, wird die neue Umgebung einfach +durchgängig gezählt.) + +Wird kein \meta{Name} angegeben, dann wird der Bezeichner der neuen Umgebung +auf \meta{Typ} gesetzt, allerdings mit einem Großbuchstaben beginnend. +Wird kein \meta{Listenname} angegeben, wird der Listenname auf +"`List of \meta{Name}s"' vorbelegt. +(Diese Vorbelegungen sind also nur für englischsprachige Dokumente geeignet, +bei anderssprachigen Dokumenten sollte man also immer \meta{Name} und +\meta{Listenname} mit angeben.) + +Die dazugehörige Liste wird analog zu |\list|\-|of|\-|figures| und +|\list|\-|of|\-|tables| mit dem Befehl |\list|\-|of|\meta{Typ}|s| gesetzt. +Ist das \package{fltpage}"=Paket geladen, wird automatisch ebenfalls eine +Umgebung namens |FP|\meta{Typ} definiert; ebenso wird ggf.~|sideways|\meta{Typ} +(\package{rotating}"=Paket), |SC|\meta{Type} (\package{sidecap}"=Paket) +und |wrap|\meta{Typ} (\package{wrapfig}"=Paket) definiert. + +\smallskip + +So definiert zum Beispiel +\begin{quote} + |\DeclareCaptionType{diagram}[Diagramm][Diagrammverzeichnis]| +\end{quote} +eine neue gleitende Umgebung namens |diagram|, die Liste wird intern in der +Datei mit der Endung |lodiagram| generiert, der Name (für den Bezeichner) +lautet "`Diagram"', der Listenname "`Diagrammverzeichnis"'. +Die Liste kann mit |\listofdiagrams| gesetzt werden. +Abhängig von den geladenen Paketen werden auch ggf.~die Umgebungen |FPdiagram|, +|sidewaysdiagram|, |SCdiagram| und |wrapdiagram| mitdefiniert. + % --------------------------------------------------------------------------- % -\subsection{Weiterf"uhrende Beispiele} +\PageBreak +\subsection{Weiterführende Beispiele} +\label{examples} + +\subsubsection*{Beispiel 1} %\NEWdescription{v3.1} Möchte man die Bezeichnung (inkl. Trenner wie Doppelpunkt) vom Text mit einem -Zeilenumbruch getrennt haben, so könnte man dies z.B.~so bewerkstelligen: +Zeilenumbruch getrennt haben, so ließe sich das (auch) so bewerkstelligen: \begin{quote} |\DeclareCaptionFormat{myformat}{#1#2\\#3}| \end{quote} -Wählt man anschließend dieses Format mit |\captionsetup{format=myformat}| aus, +Wählt man anschließend dieses Format mit |\caption|\-|setup{format=|\x|myformat}| aus, so erhält man Beschriftungen der Art: %\begin{Example} -% \captionsetup{aboveskip=0pt} +% \captionsetup{skip=0pt} \example{format=myformat1,labelfont=bf}{\exampletext} %\end{Example} Auch einen Einzug könnte man diesem Format mit auf den Weg geben: @@ -1276,7 +2149,7 @@ Auch einen Einzug könnte man diesem Format mit auf den Weg geben: \end{quote} führt zu Beschriftungen wie: %\begin{Example} -% \captionsetup{aboveskip=0pt} +% \captionsetup{skip=0pt} \example{format=myformat1,indention=1cm,labelfont=bf}{\exampletext} %\end{Example} Aber Sie möchten den Einzug nur auf die erste Zeile des Texts anwenden? @@ -1284,68 +2157,1240 @@ Kein Problem, so würde z.B.~die Definition \begin{quote} |\newlength\myindention|\\ |\DeclareCaptionFormat{myformat}%|\\ - | {#1#2\\\hspace*{\myindention}#3}|\\ + | {#1#2\\\hspace*{\myindention}#3}|\\ \ldots\\ |\setlength\myindention{1cm}|\\ |\captionsetup{format=myformat}| \end{quote} zu Beschriftungen dieser Art führen: %\begin{Example} -% \captionsetup{aboveskip=0pt} +% \captionsetup{skip=0pt} \example{format=myformat2,myindention=1cm,labelfont=bf}{\exampletext} %\end{Example} Zu der Länge |\myindention| hätten Sie gerne eine Option, so daß man diesen -Einzug auch z.B.~mit |\captionsetup|\xx|[figure]|\xx|{myindention=|\ldots|}| setzen kann? +Einzug auch z.B.~mit |\caption|\-|setup|\x|[figure]|\x|{myindention=|\ldots|}| setzen kann? Auch dies läßt sich bewerkstelligen, z.B.~folgendermaßen: \begin{quote} |\newlength\myindention|\\ |\DeclareCaptionOption{myindention}%|\\ - | {\setlength\myindention{#1}}|\\ + | {\setlength\myindention{#1}}|\\ |\DeclareCaptionFormat{myformat}%|\\ - | {#1#2\\\hspace\myindention #3}|\\ + | {#1#2\\\hspace*{\myindention} #3}|\\ \ldots\\ |\captionsetup{format=myformat,myindention=1cm}| \end{quote} -\bigskip\pagebreak[3] +\subsubsection*{Beispiel 2} -Ein anderes Beispiel: Die Beschriftungen sollen wie folgt aussehen: +Die Beschriftungen sollen wie folgt aussehen: %\begin{Example} -% \captionsetup{aboveskip=0pt} +% \captionsetup{skip=0pt} \example{format=reverse,labelformat=fullparens,labelsep=fill,labelfont=it}{\exampletext} %\end{Example} \pagebreak[2] -Dies lie"se sich z.B. wie folgt realisieren: +Dies ließe sich beispielsweise wie folgt realisieren: \nopagebreak[3] -{\leftmargini=10pt - \begin{quote} - |\DeclareCaptionFormat{reverse}{#3#2#1}|\\ - |\DeclareCaptionLabelFormat{fullparens}%|\\ - | {(\bothIfFirst{#1}{~}#2)}|\\ - |\DeclareCaptionLabelSeparator{fill}{\hfill}|\\ - |\captionsetup{format=reverse,labelformat=fullparens,|\\ - | labelsep=fill,font=small,labelfont=it}| - \end{quote}} - -\bigskip\pagebreak[3] - -Ein weiteres Beispiel: Der Bezeichner soll in den linken Rand verlagert -werden, so da"s die komplette Absatzbreite der Beschriftung selber zugute kommt: -{\leftmargini=10pt - \begin{quote} - |\DeclareCaptionFormat{llap}{\llap{#1#2}#3\par}|\\ - |\captionsetup{format=llap,labelsep=quad,singlelinecheck=no}| - \end{quote}} -Das Ergebnis w"aren Beschriftungen wie diese: -%\begin{Example} -% \captionsetup{aboveskip=0pt} - \example{format=llap,labelsep=quad,singlelinecheck=no,margin=0pt}{\exampletext} -%\end{Example} +\begin{quote} + |\DeclareCaptionFormat{reverse}{#3#2#1}|\\ + |\DeclareCaptionLabelFormat{fullparens}%|\\ + | {(\bothIfFirst{#1}{~}#2)}|\\ + |\DeclareCaptionLabelSeparator{fill}{\hfill}|\\ + |\captionsetup{format=reverse,labelformat=fullparens,|\\ + | labelsep=fill,font=small,labelfont=it}| +\end{quote} + +\subsubsection*{Beispiel 3} + +Der Bezeichner soll in den linken Rand verlagert werden, +so daß die komplette Absatzbreite der Beschriftung selber zugute kommt: +\begin{quote} + |\DeclareCaptionFormat{llap}{\llap{#1#2}#3\par}|\\ + |\captionsetup{format=llap,labelsep=quad,singlelinecheck=no}| +\end{quote} +Das Ergebnis wären Beschriftungen wie diese: +\example{format=llap,labelsep=quad,singlelinecheck=no,margin=0pt}{\exampletext} + +\medskip + +Soll der Einzug in den Rand eine feste Größe sein (z.B.~$2.5$\,cm), +so könnte hierfür eine Kombination aus |\llap| und |\makebox| angewandt werden, +zum Beispiel: +\begin{quote} + |\DeclareCaptionFormat{llapx}%|\\ + | {\llap{\makebox[2.5cm][l]{#1}}#3\par}|\\ + |\captionsetup{format=llapx,singlelinecheck=off}| +\end{quote} +\example{format=llapx,singlelinecheck=off,skip=0pt,margin=0pt}{\exampletext} + +\subsubsection*{Beispiel 4} + +Dieses Beispiel setzt eine Abbildung neben eine Tabelle, aber verwendet eine +einzige, kombinierte Beschriftung für beide. Dies wird durch eine Kombination +aus |\Declare|\-|Caption|\-|Label|\-|Format| und |\caption|\-|list|\-|entry| +realisiert: +\begin{quote} + |\DeclareCaptionLabelFormat{andtable}%|\\ + | {#1~#2 \& \tablename~\thetable}|\\ + \ldots\\ + |\begin{figure}|\\ + | \centering|\\ + | \includegraphics{|\ldots|}%|\\ + | \qquad|\\ + | \begin{tabular}[b]{\ldots}|\\ + | |\ldots\\ + | \end{tabular}|\\ + | \captionlistentry[table]{|\ldots|}|\\ + | \captionsetup{labelformat=andtable}|\\ + | \caption{|\ldots|}|\\ + |\end{figure}| +\end{quote} +\DeleteShortVerb{\|}% +\noindent\begin{minipage}{\linewidth} + \captionsetup{type=figure} + \centering + \includegraphics[width=30pt]{cat}% + \qquad + \begin{tabular}[b]{r|rr} + & x & y \\\hline + a & 1 & 2 \\ + b & 3 & 4 \\ + \end{tabular} + \captionlistentry[table]{A figure and a table with a common caption} + \captionsetup{labelformat=andtable} + \caption{A figure and a table with a common caption~\footnotemark} +\end{minipage} +\footnotetext{Das Katzenbild wurde den Beispielen zum \LaTeX"=Begleiter\cite{TLC2} + entnommen, die Erlaubnis hierzu wurde eingeholt.} +\MakeShortVerb{\|} % --------------------------------------------------------------------------- % -\pagebreak[4] -\section{Unterstützung der Dokumentenklassen} % \& Babel} +\clearpage +%\section{Dokumentenklassen \& Babel-Unterstützung} +%\label{classes} + +%*****************************************************************************% +%*****************************************************************************% +%*****************************************************************************% +%*****************************************************************************% +%*****************************************************************************% +%*****************************************************************************% +%*****************************************************************************% + +\iffalse + +\section{Dokumentenklassen \& Babel-Unterstützung} +\label{classes} + +%\NEWdescription{v3.1} +\begin{Note*}[Bitte beachten Sie] +Many document classes already have build-in options and commands for +customizing captions. If these possibilities are sufficient for you, there is +usually no need for you to use the \package{caption} package at all. +And if you are just interested in using the command \cs{captionof}, loading of +the very small \package{capt-of} package is usually sufficient. +%Viele Dokumentenklassen haben bereits +%eingebaute Optionen und Befehle, um das Erscheinungsbild der Abbildungs- und +%Tabellenbeschriftungen individuell anzupassen. +%Wenn diese Möglichkeiten für Sie ausreichend sind, gibt es in der Regel +%keinen Grund, \thispackage\ zu benutzen. Und falls Sie lediglich an dem +%Befehl |\caption|\-|of| interessiert sind, ist in der Regel das Laden des +%kleinen aber feinen \package{capt-of}"=Paketes hierzu völlig ausreichend. +\end{Note*} + +\medskip + +This section will give you an overview of the document classes the +\package{caption} supports, what do they already offer regarding captions, +what side effects will occur when using the \package{caption} package with +them, and what are the `default' settings for them. +%Dieser Teil der Dokumentation möchte Ihnen einen Überblick über diejenigen +%Dokumentenklassen, an welche \thispackage\ angepasst ist, geben: +%Welche Möglichkeiten zur Beschriftungsgestaltung sie bereits verfügen, +%mit welchen Seiteneffekten Sie rechnen müssen, wenn Sie dieses Paket verwenden, +%und zuletzt mit welchen Standardwerten die Optionen belegt werden. + +\NEWfeature{v3.1} +The `default' settings depend on the document class you use; they represent +how the class author wanted the captions to look like. So for example +setting |format=default| can give you different visual designs when used +with different document classes. +%Die Standardwerte "`default"' hängen von der verwendeten Dokumentenklasse ab; +%sie repräsentieren quasi das Aussehen, wie es vom Autor der Klasse gewünscht war. +%So kann z.B.~die Einstellung |format=default| je nach verwendeter Klasse +%unterschiedliche Aussehen der Beschriftungen hervorbringen. + +\begingroup\setlength\leftmargini{0.3em}% default = 2.5em +\DANGER +If you don't find the document class you use in this section, you usually +don't have to worry: Many document classes (e.g.~the \class{octavo} class) +are derived from one of the standard document classes \class{article}, +\class{report}, or \class{book}, and behave the same regarding captions. +\Thispackage\ automatically does a compatibility check against the document +class used and will give you the clear warning +\begin{quote}\footnotesize + |Package caption Warning: Unsupported document class (or package) detected,|\\ + |(caption) usage of the caption package is not recommended.|\\ + |See the caption package documentation for explanation.| +\end{quote} +if such an incompatibility was detected. +If you don't get such warning everything is fine, but if you get it the +usage of \thispackage\ is not recommended and especially not supported. +%Sollten Sie Ihre Dokumentenklasse nicht in diesem Abschnitt finden, so haben Sie +%trotzdem oftmals keinen Grund zur Sorge: Viele Dokumentenklassen sind von den +%Standardklassen |article|, |report| und |book| abgeleitet, und verhalten sich +%bezüglich der Abbildungs- und Tabellenbeschriftungen gleich. +%\Thispackage überprüft automatisch die Kompatibilität zur Dokumentenklasse und +%gibt eine klare Warnung aus, wenn es eine Unverträglichkeit entdeckt. +%Wenn Sie keine solche Warnung erhalten, ist alles bestens, wenn doch, wird von +%der Verwendung des \package{caption}"=Paketes abgeraten, insbesondere erhalten +%Sie in einem solchen Fall keinen Support. +\endgroup + +\begin{Expert} +If you get such a compatibility warning but decide to use \thispackage{} +anyway, you should watch carefully what side-effects occur, usually the +look and feel of your captions will change by just including \thispackage{} +without options, meaning they do not look like as intended by the author +of the document class. +If this is fine for you, you should first specify the option |style=|\x|base| +via |\use|\-|package[style=|\x|base]{caption}| or +|\caption|\-|setup{style=|\x|base}| to set \thispackage\ into a well-defined +state. +Afterwards you can start setting your own options additionally and +keep your fingers crossed. +%Sollten Sie trotz der angemahnten Inkompatibilität \thispackage{} +% nutzen wollen, sollten Sie vorsichtig auf Seiteneffekte achten; gewöhnlich +% ändert sich alleine durch das Einbinden des \package{caption}"=Paketes +% ohne Optionen bereits das eigentlich von der Dokumentenklasse vorgebene +% Aussehen der Beschriftungen. +% Wenn dies für Sie in Ordnung ist, sollten Sie als erstes die Option +% |style=base| mit |\usepackage|\x|[style=base]|\x|{caption}| oder +% |\caption|\-|setup{style=|\x|base}| angeben, um \thispackage\ in einen +% dokumentierten Grundstatus zu versetzen. +% Anschließend können Sie anfangen, mit zusätzlichen Optionen erste +% Anpassungen vorzunehmen und die Daumen gedrückt zu halten. +\end{Expert} + +\newcommand*\Option{Option} +\newcommand*\defaultvalue{Standard-Belegung (\texttt{default})} +\newcommand*\use{\textit{verwendet}} +\newcommand*\settings{\textit{Einstellungen}} +\newcommand*\nofont{\textit{keiner}} + +\subsection{Standard \LaTeX: article, report und book} + +\begin{tabular}{ll} +\Option & \defaultvalue \\\hline +|format=| & |plain| \\ +|labelformat=| & |simple| \\ +|labelsep=| & |colon| \\ +|justification=| & |justified| \\ +|font=| & \nofont \\ +|labelfont=| & \nofont \\ +|textfont=| & \nofont \\ +\end{tabular} + +\begin{Annotation} +This also applies to document classes derived from them. +%Dies gilt in der Regel auch für abgeleitete Dokumentenklassen. +\end{Annotation} + +\subsection{\AmS: amsart, amsproc und amsbook} +\label{AMS} + +\begin{tabular}{ll} +\Option & \defaultvalue \\\hline +|format=| & |plain| \\ +|labelformat=| & |simple| \\ +|labelsep=| & a period $+$ |\enspace| \\ +|justification=| & |justified| \\ +|font=| & |\@captionfont| \\ +|labelfont=| & |\@captionheadfont| \\ +|textfont=| & |\@captionfont\upshape| \\ +\end{tabular} + +\begin{Annotation*} +|\@caption|\-|font| will be set to |\normal|\-|font|, and +|\@caption|\-|head|\-|font| to |\sc|\-|shape| by the \AmS\ document classes. +\end{Annotation*} + +Furthermore the margin will be set to |\caption|\-|indent| for +more-than-one-line captions (which will be set to |3pc| by the \AmS\ classes), +the margin for single-line captions will be set to the half of it instead. +If you want to use a common margin for both, insert +|\clear|\-|caption|\-|setup[margin*]{single|\-|line}| +into the preamble of your document, after loading \thispackage. + +Additionally the options |figure|\-|position=b,|\x|table|\-|position=t| +will be set. You can override these settings by specifying other values for +|figure|\-|position=| or |table|\-|position=| in the option list while +loading \thispackage. + +\subsection{beamer} +\label{beamer} + +\begin{tabular}{ll} +\Option & \defaultvalue \\\hline +|format=| & |plain| \\ +|labelformat=| & \textit{nicht nummeriert} \\ +|labelsep=| & |colon| \\ +|justification=| & |raggedright| \\ +|font=| & \use\ \class{beamer} |caption| \settings \\ +|labelfont=| & \use\ \class{beamer} |caption name| \settings \\ +|textfont=| & \nofont \\ +\end{tabular} + +\subsubsection*{Build-in features and side-effects} +You can setup font and color settings with +|\set|\-|beamer|\-|font{caption}|\marg{options} and +|\set|\-|beamer|\-|font{caption name}|\marg{options}. +This will still work, unless you set a different font with +|\caption|\-|setup{font=|\x\meta{options}|}| or +|\caption|\-|setup{label|\-|font=|\x\meta{options}|}|.\par +Furthermore the \class{beamer} classes offer different caption templates +which can be chosen with +|\set|\-|beamter|\-|template|\x|{caption}|\x|[|\meta{template}|]|. +Since \thispackage\ replaces this caption template mechanism, +|\def|\-|beamer|\-|template*|\x|{caption}|\x\marg{template code} +and +|\set|\-|beamer|\-|template|\x|{caption}|\x|[|\meta{template}|]| +will have no effect when \thispackage\ is used. +%\textbf{Von der Klasse angebotene Befehle und Seiteneffekte:}\\ +%Die Zeichensatz- und Farbeinstellungen können mit +%|\setbeamerfont|\x|{caption}|\x\marg{options} und +%|\setbeamerfont|\x|{caption name}|\x\marg{options} vorgenommen werden. +%Dies wird auch mit dem \package{caption}"=Paket noch funktionieren, zumindest +%solange Sie keinen anderen Zeichensatz mit +%|\captionsetup|\x|{font=|\x\meta{options}|}| oder +%|\captionsetup|\x|{labelfont=|\x\meta{options}|}| einstellen.\par +%Weiterhin bietet die \package{beamer}"=Klasse verschiedene "`Templates"' für +%die Beschriftungen an, diese können mit +%|\set|\-|beamter|\-|template|\x|{caption}|\x|[|\meta{template}|]| +%ausgewählt werden. +%Da \thispackage\ diesen Mechanismus ersetzt, haben +%|\def|\-|beamer|\-|template*|\x|{caption}|\x\marg{template code} +%und +%|\set|\-|beamer|\-|template|\x|{caption}|\x|[|\meta{template}|]| +%keine Funktion mehr, wenn \thispackage\ verwendet wird. + +\subsection{\KOMAScript: scrartcl, scrreprt und scrbook} +\label{KOMA} + +\begin{tabular}{ll} +\Option & \defaultvalue \\\hline +|format=| & \use\ |\setcapindent| \textit{\&} |\setcaphanging| \settings \\ +|labelformat=| & \textit{like \purett{simple}, but with support of ``autodot''}\\ +|labelsep=| & \use\ |\captionformat| \\ +|justification=| & |justified| \\ +|font=| & \use\ |\setkomafont{caption}| \settings \\ +|labelfont=| & \use\ |\setkomafont{captionlabel}| \settings \\ +|textfont=| & \nofont \\ +\end{tabular} + +\subsubsection*{Build-in features} +The \KOMAScript\ document classes offer many ways to customize the look and +feel of the captions. For an overview and a full description please take a +look at the \KOMAScript\ documentation, section `Tables and Figures'. +%\textbf{Von der Klasse angebotene Befehle:}\\ +%Die \KOMAScript"=Dokumentenklassen bietet sehr viele Möglichkeiten, das Design +%der Abbildungs- und Tabellenbeschriftungen anzupassen. Für eine Übersicht schauen +%Sie bitte in die sehr gute \KOMAScript"=Dokumentation, Abschnitt "`Tabellen +%und Abbildungen"'. + +\subsubsection*{Side effects} +The optional argument of |\setcapwidth| is not supported (yet) and will be +ignored if used in conjunction with the \package{caption} package. +Furthermore the \KOMAScript\ options |tablecaptionabove| \& +|tablecaptionbelow| and the commands |\captionabove| \& |\captionbelow| +are stronger than the |position=| setting offered by the \package{caption} +package. +%Das optionale Argument von |\setcapwidth| wird (noch) nicht vom +%\package{caption}"=Paket unterstützt und daher ignoriert. +%Weiterhin überschreiben die \KOMAScript"=Optionen |tablecaptionabove| \& +%|tablecaptionbelow| sowie die dazugehörigen Befehle |\captionabove| \& +%|\captionbelow| die Einstellungsmöglichkeit |position=|, die \thispackage{} +%anbietet. + +\subsection{\NTG: artikel, rapport und boek} +\label{NTG} + +\begin{tabular}{ll} +\Option & \defaultvalue \\\hline +|format=| & |plain| \\ +|labelformat=| & |simple| \\ +|labelsep=| & |colon| \\ +|justification=| & |justified| \\ +|font=| & \nofont \\ +|labelfont=| & \use\ |\CaptionLabelFont| \\ +|textfont=| & \use\ |\CaptionTextFont| \\ +\end{tabular} + +\subsubsection*{Build-in features and side-effects} +|\Caption|\-|Label|\-|Font| and |\Caption|\-|Text|\-|Font| can be set either +directly or by using |\Caption|\-|Fonts|. +Both is still supported unless you use one of the two options +|label|\-|font=| or |text|\-|font=| offered by \thispackage. +%|\CaptionLabelFont| und |\CaptionTextFont| können entweder direkt oder +%indirekt über |\CaptionFonts| definiert werden. +%Beides funktioniert auch weiterhin, zumindest solange kein anderer +%Zeichensatz mit der \package{caption}"=Paket"=Optionen +%|labelfont=| oder |textfont=| festgelegt wird. + +\subsection{\SmF{} classes: smfart und smfbook} +\label{SMF} + +Since the \SmF\ document classes are derived from the \AmS\ document classes +the same default values are valid here. + +Additionally the margin is limited up to the tenth of the |\line|\-|width|. +If you don't like this limitation, you can switch it off with the option +|max|\-|margin=|\x|off| or |max|\-|margin=|\x|false| +(which both means the same). + +\subsection{thesis} +\label{thesis} + +\begin{tabular}{ll} +\Option & \defaultvalue \\\hline +|format=| & |hang| \\ +|labelformat=| & \textit{like \purett{simple}, but with short name}\\ +|labelsep=| & |colon| \\ +|justification=| & |justified| \\ +|font=| & \nofont \\ +|labelfont=| & \use\ |\captionheaderfont| \\ +|textfont=| & \use\ |\captionbodyfont| \\ +\end{tabular} + +\subsubsection*{Build-in features and side-effects} +The caption label font can be set with |\caption|\-|header|\-|font|, +the caption text font with |\caption|\-|body|\-|font|. +Both is still supported unless you use one of the two options +|label|\-|font=| or |text|\-|font=| offered by \thispackage. + +\subsection{Die französische Babel-Option} +\label{frenchb} + +If you use the \package{frenchb} option of the \package{babel} package +with one of the three standard \LaTeX{} classes (or a one derived from them) +the default |labelsep=| will be set to \cs{CaptionSeparator} (offered by +\package{frenchb}), overriding the default value set by the document class. +So redefining \cs{CaptionSeparator} will still work, unless you don't +select a different |labelsep=| than the default one. + +\INFO* +Please load \thispackage\ \emph{after} the \package{babel} package. +%Bitte laden Sie \thispackage\ \emph{nach} dem \package{babel}"=Paket. + +\subsection{Das frenchle- und frenchpro-Paket} +\label{frenchle} +\label{frenchpro} + +If you use the \package{frenchle} or \package{frenchpro} package, +the default |labelsep=| will be set to \cs{captionseparator} (offered by +\package{frenchle/pro}) plus \cs{space}, overriding the default value set +by the document class. +So redefining \cs{captionseparator} will still work, unless you don't +select a different |labelsep=| than the default one. + +Furthermore the default |text|\-|font=| will be set to |text|\-|font=|\x|it|, +since this emulates the default setting of |\caption|\-|font| defined by the +\package{frenchle} or \package{frenchpro} package. +%If you redefine |\captionfont| after loading the \package{frenchle} or +%\package{frenchpro} package, this redefinition gets lost. +Please note that the command |\caption|\-|font| is used by the +\package{caption} package internally for a different purpose, +so you should not change it (anymore). + +The command |\un|\-|numbered|\-|captions|\marg{figure or table} will still work, +but only unless you don't select a different |label|\-|format=| than the default +one. + +\INFO* +Please load \thispackage\ \emph{after} the \package{frenchle} +or \package{frenchpro} package. +%Bitte laden Sie \thispackage\ \emph{nach} dem \package{frenchle} +%oder \package{frenchpro}"=Paket. + +% --------------------------------------------------------------------------- % + +\clearpage +\section{Interaktion mit anderen Paketen} +\label{packages} +\label{compatibility} + +%\NEWdescription{v3.1} +\Thispackage\ was adapted to the following packages which deals with +captions, too: +%\Thispackage\ ist an folgende Pakete, die ebenfalls Abbildungs- oder +%Tabellenbeschriftungen anbieten, angepasst: +\begin{quote} + \package{float}, \package{floatflt}, \package{fltpage}, + \package{hyperref}, \package{hypcap}, \package{listings}, + \package{longtable}, \package{picinpar}, \package{picins}, + \package{rotating}, \package{setspace}, \package{sidecap}, + \package{subfigure}, \package{supertabular}, \package{threeparttable}, + and \package{wrapfig} +\end{quote} + +Furthermore the \package{floatrow} package\cite{floatrow}, the +\package{subcaption} package (which is part of the \package{caption} package +bundle), and the \package{subfig} package\cite{subfig} support \thispackage{} +and use its |\caption|\-|setup| interface. +%Weiterhin arbeiten das \package{floatrow}- und das \package{subfig}"=Paket +%aktiv mit diesem Paket zusammen und verwenden die |\captionsetup|"=Schnittstelle. + +\bigskip + +\begingroup\setlength\leftmargini{0.3em}% default = 2.5em +\DANGER +If a package (or document class) unknown to \thispackage\ redefines +the |\caption| command as well, this redefinition will be preferred +over the one this package offers, providing maximum compatibility and +avoiding incompatibilities. +If such a potential incompatibility is detected, you will see this +warning message:~\footnote{% + You can suppress this warning by specifying the option |compatibility=true| + when loading \thispackage.} +\begin{quote}\footnotesize + |Package caption Warning: \caption will not be redefined since it's already|\\ + |(caption) redefined by a document class or package which is|\\ + |(caption) unknown to the caption package.|\\ + |See the caption package documentation for explanation.| +\end{quote} +\endgroup + +As a result, the following features offered by \thispackage\ will not be available: +\begin{itemize} + \item the options |labelformat=|, |position=auto|, and |list=| \& |listformat=| + \item |\caption*| (to produce a caption without label) + \item |\caption[]{|\ldots|}| (to produce no entry in the List of Figures or Tables) + \item |\caption{}| (to produce an empty caption without label separator) + \item |\ContinuedFloat| + \item correctly justified captions in environments like \texttt{wide} or \texttt{addmargin} + \item the \textsf{hypcap} feature \See{\Ref{hyperref}\,} + \item the sub-caption feature \See{\package{subcaption} package documentation} +\end{itemize} + +\DescribeMacro{compatibility=} +You can override this compatibility mode by specifying the option +\begin{quote} + |compatibility=false| +\end{quote} +when loading \thispackage. +But please note that using this option is neither recommended nor supported +since unwanted side-effects or even errors could occur afterwards. +(For that reason you will get a warning about this.) + +\newcommand\packagedescription[1]{% + \ifvmode\else\par\fi + \nopagebreak + \parbox[b]{\linewidth}{\footnotesize\leftskip=10pt\rightskip=10pt\relax#1}\par + \nopagebreak\smallskip\nopagebreak} + +\PageBreak +\subsection{algorithms} +\label{algorithms} +\packagedescription{% +The \package{algorithms} package bundle\cite{algorithms} provides two +environments: The \texttt{algorithmic} environment provides an environment +for describing algorithms, and the \texttt{algorithm} environment provides +a ``float'' wrapper for algorithms.} + +Since the \texttt{algorithm} environment is implemented via |\newfloat| +provided by the \package{float} package\cite{float}, please see \Ref{float}. + +\iffalse +\pagebreak[3] +\subsection{algorithm2e} +\label{algorithm2e} +\packagedescription{% +The \package{algorithm2e} package\cite{algorithm2e} offers an environment for +writing algorithms in LaTeX2e.} + +Since the \package{algorithm2e} package does not use some kind of standard +interface for defining its floating environment (e.g.~|\newfloat| of the +\package{float} package) and typesetting its caption, +the \package{algorithm2e} package is \emph{not} supported by \thispackage. + +So if you want to customize the captions using \thispackage, +you have to build a new environment which uses a supported interface regarding +floats (e.g. using the \package{float} or \package{floatrow} package), +and combine this environment with the internal \package{algorithm2e} code. + +As first step you could define a non-floating environment \texttt{algorithmic}, +for example: +\begin{quote} + |\usepackage{algorithm2e}|\\ + |% save the "algorithm" environment from the algorithm2e package|\\ + |\let\ORIGalgorithm\algorithm|\\ + |\let\ORIGendalgorithm\endalgorithm|\\ + |% define the algorithmic environment|\\ % , based on the saved environment + |\newenvironment{algorithmic}%|\\ + | {\renewenvironment{algocf}[1][h]{}{}% pass over floating stuff|\\ + | \ORIGalgorithm}%|\\ + | {\ORIGendalgorithm}|\\ + \ldots +\end{quote} +Having defined this non-floating environment, you could define your own new +floating environment with |\newfloat| of the \package{float} package +(or |\DeclareNewFloatType| of the \package{floatrow} package), +and use the combination of this floating environment and \texttt{algorithmic} +in its body, just like you would do when you use the +\package{algorithm}/\package{algorithmic} package tandem. + +You could even use the \package{algorithm} package for this purpose, for example: +\begin{quote} + \ldots\\ + |% load the algorithm package to re-define the|\\ + |% floating environment "algorithm" and \listofalgorithms|\\ + |\let\listofalgorithms\undefined|\\ + |\usepackage{algorithm}|\\ + \ldots\\ + |% Example usage:|\\ + |\begin{algorithm}|\\ + |\caption{An algorithm}|\\ + |\begin{algorithmic}|\\ + | \SetVline|\\ + | \eIf{cond1}{|\\ + | a line\;|\\ + | }{|\\ + | another line\;|\\ + | }|\\ + |\end{algorithmic}| +\end{quote} +Now you are finally able to customize the float and caption layout like every +other floating environment defined with the \package{float} package\cite{float}, +please see \Ref{float}. + +\begin{Annotation} +An alternative would be using the \package{algorithmicx} package. +\end{Annotation} +\fi + +\pagebreak[3] +\subsection{float} +\label{float} +\packagedescription{% +The \package{float} package\cite{float} introduces the commands +\cs{restylefloat} to give existing floating environments a new look \& feel +and \cs{newfloat} to define new floating environments. +It also provides the \texttt{H} float placement option of the obsolete +\package{here} package.} + +For floating environments defined with \cs{newfloat} or \cs{restylefloat} the +|po|\-|si|\-|tion| option has no effect on the main caption anymore, since its +placement and spacing will be controlled by the selected float style instead. + +Furthermore a caption style and options defined with the name of the float +style will be executed additionally to the regular ones. +Using this mechanism \thispackage\ emulates the default look \& feel of the +|ruled| captions: It defines the caption style +\begin{quote} + |\DeclareCaptionStyle{ruled}%|\\ + | {labelfont=bf,labelsep=space,strut=off}|\mbox{\quad.} +\end{quote} +So to change this you need either define your own caption style called +|ruled| or use |\caption|\-|setup[ruled]|\marg{options} to specify additional +options.%, +%e.g.~|\caption|\-|setup[ruled]{labelsep=|\x|colon}|. + +Also by using this mechanism the skip between a |boxed| float and its caption +is specified, overriding its global value: +\begin{quote} + |\captionsetup[boxed]{skip=2pt}| +\end{quote} +For changing this, just use |\caption|\-|setup[boxed]{skip=|\x\meta{value}|}| +with an appropriate value. Or if you want to use the global |skip| setting +instead, you can remove the usage of the local setting for these floats with +|\clearcaptionsetup[skip]{boxed}|. + +\begin{Note} +Only one single caption can be typeset inside environments defined with +|\new|\-|float| or |\re|\-|style|\-|float|, furthermore these environments +are not behaving exactly like the pre-defined floats |figure| \& |table|. +As a consequence many packages do not cooperate well with these. +Furthermore the float package has some caveats \& limitations, so if you +just want to define a new simple floating environment---behaving like +|figure| or |table|---I recommend using \cs{DeclareCaptionType} +instead. +And for defining non-simple floating environments and customization I +recommend using |\DeclareNewFloatType| offered by the \package{floatrow} +package\cite{floatrow}. +\end{Note} + +\iffalse +Please also note that you \emph{don't} need a |\restylefloat| for using +the |H| float placement specifier. Some docs say so, but they are +wrong. +And |\restylefloat{table}| is a very good method to shoot yourself +in the foot, since many packages using |table| internally are not working +correctly afterwards. +\fi + +\pagebreak[3] +\subsection{floatflt} +\label{floatflt} +\packagedescription{% +The \package{floatflt} package\cite{floatflt} offers figures and tables +which do not span the full width of a page and are float around by text.} + +\NEWfeature{v3.1} +If you want to setup special options for the |float|\-|ing|\-|figure| \& +|float|\-|ing|\-|table| environments you can use +\begin{quote} + |\captionsetup[floatingfigure]|\marg{options}\\ + |\captionsetup[floatingtable]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|figure| or |table|. + +\begin{Note} +The |margin| resp.~|width| setting will not be used for these figures \& tables, +unless you set it explicit with |\caption|\-|setup[floating|\-|figure]{|\ldots|}| +or |\caption|\-|setup[floating|\-|table]{|\ldots|}|. +\end{Note} + +\pagebreak[3] +\subsection{fltpage} +\label{fltpage} +\packagedescription{% +The \package{fltpage} package\cite{fltpage} offers the outhouse of the +caption for |figure|s or |table|s which needs the whole page +for its contents. This will be done by placing the caption on the bottom +of the previous or next page.} + +\NEWfeature{v3.1} +Two options control the links to the |FPfigure| and |FPtable|: +\begin{description} +\item{\texttt{FPlist=caption} or \texttt{FPlist=figure}}\\[\smallskipamount] +If set to |caption|, the list entry will link to the caption; if set to +|figure|, it will link to the figure contents. +(The default setting is |FPlist=caption|.) +\item{\texttt{FPref=caption} or \texttt{FPref=figure}}\\[\smallskipamount] +If set to |caption|, a \cs{ref}, \cs{pageref}, \cs{autoref}, or \cs{nameref} +will link to the caption; if set to |figure|, it will link to the figure contents. +(The default setting is |FPref=figure|.) +\end{description} + +If you want to setup special options for the |FPfigure| \& |FPtable| +environments you can use +\begin{quote} + |\captionsetup[FPfigure]|\marg{options}\\ + |\captionsetup[FPtable]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|figure| or |table|. + +Furthermore \cs{DeclareCaptionType}\marg{name} will also define +an environment called |FP|\meta{name} which behaves like |FPfigure| and +|FPtable|. + +\pagebreak[3] +\subsection{hyperref} +\label{hyperref} +\packagedescription{% +The hyperref package\cite{hyperref} is used to handle cross-referencing +commands in LaTeX to produce hypertext links in the document.} + +\NEWfeature{v3.1} +There are two options available to control the placement of hyperlink +anchors:~\footnote{These options are named after the \package{hypcap} package +which they supersede.} +%Zwei Optionen regeln das Setzen von Hyperlinks: +\begin{description} +\item{\texttt{hypcap=true} or \texttt{hypcap=false}}\\[\smallskipamount] +If set to |true| all hyperlink anchors -- where entries in the +List of Figures, |\ref|, and |\autoref| will link to -- are placed at +the beginning of the (floating) environment.\par +If set to |false| the hyperlink anchor is (usually) placed at the caption.\par +(The default setting is |hypcap=|\x|true|.) +%Auf |true| gesetzt, werden alle Hyperlink"=Anker -- wohin Einträge im +%Abbildungs- und Tabellenverzeichnis, sowie |\ref| und |\autoref| +%verweisen -- an den Anfang der (gleitenden) Umgebungen wie Abbildung +%oder Tabelle plaziert.\par +%Auf |false| gesetzt zeigen hingegen alle Hyperlink"=Anker auf die +%Beschriftung.\par +%(Die Voreinstellung ist |hypcap=true|.) +\item{\texttt{hypcapspace=}\meta{amount}}\\[\smallskipamount] +Because it looks poor if the hyperlink points exactly at the top of +the figure or table, you can specify a vertical distance between +the hyperlink anchor and the (floating) environment itself, +e.g.~|hyp|\-|cap|\-|space=|\x|0pt| removes this distance.\par +(The default setting is |hyp|\-|cap|\-|space=|\x|0.5\base|\-|line|\-|skip|.) +%Dies regelt den vertikalen Abstand zwischen dem Hyperlink"=Anker und der +%(gleitenden) Umgebung, so entfernt z.B.~|hypcapspace=0pt| diesen Abstand.\par +%(Die Voreinstellung ist|hypcapspace=0.5\baselineskip|.) +\end{description} + +Both settings have no effect in |lst|\-|listing|s (provided by the +\package{listings} package), |long|\-|table|s (provided by the +\package{longtable} package), and |super|\-|tabular|s (provided by the +\package{supertabular} package), within these environments hyperlink +anchors will always be placed as if |hyp|\-|cap=|\x|true| \& +|hyp|\-|cap|\-|space=|\x|0pt| would be set. + +\pagebreak[3]Please note:\nopagebreak +%Bitte beachten Sie: +\begin{description} +\item{\cs{captionof}\marg{type}\csmarg{\purerm\ldots} + vs.~\cs{captionsetup}\csmarg{type=\textrm{\meta{type}}}$+$\cs{caption}\csmarg{\purerm\ldots}}% +Without \package{hyperref} loaded, both will give you identical results. +But with \package{hyperref} loaded, and with |hyp|\-|cap=|\x|true| requested, +the hyperlink anchor will be placed different. +For example: +%Ohne geladenes \package{hyperref}"=Paket bekommen Sie identische Resultate. +%Aber mit \package{hyperref} geladen und mit |hypcap=true| versehen wird der +%Hyperlink"=Anker unterschiedlich gesetzt. So plaziert z.B. +\begin{quote} +|\begin{minipage}{\linewidth}|\\ +| |\ldots\\ +| \captionof{figure}{A figure}|\\ +|\end{minipage}| +\end{quote} +will place the hyperlink anchor at the caption. +(And if |hypcap=|\x|true| is set, you will get a warning about this.) +But +%den Anker bei der Beschriftung. +%(Und wenn |hypcap=true| gesetzt ist, wird eine Warnung deswegen ausgegeben.) +\begin{quote} +|\begin{minipage}{\linewidth}|\\ +| \captionsetup{type=figure}|\\ +| |\ldots\\ +| \caption{A figure}|\\ +|\end{minipage}| +\end{quote} +will place the hyperlink anchor at the beginning of the |minipage|, +since |\caption|\-|setup{type=|\x|figure}| does not only set the caption type +to ``figure'' but does place a hyperlink anchor, too. +%hingegen plaziert den Anker an den Anfang der |minipage|. + +\item{\cs{caption}\csoarg{}\csmarg{\purerm\ldots} + vs.~\cs{captionsetup}\csmarg{list=false}$+$\cs{caption}\csmarg{\purerm\ldots}}\\[\smallskipamount] +Again, without \package{hyperref} loaded, both will give you identical results. +But with \package{hyperref} loaded, the difference is in the nuances. +So for example the optional argument of \cs{caption} will also be written to +the |aux| file, and will be used by the \cs{nameref} command. +So if you choose to use \cs{caption} with empty optional argument, +\cs{nameref} will also give you an empty result. +So it's better to use \cs{captionsetup}\csmarg{list=false} if you don't +want an entry in the List of Figures or List of Tables. +%Wiederum bekommen Sie ohne geladenes \package{hyperref}"=Paket identische Resultate. +%Aber mit \package{hyperref} geladen liegen die Unterschiede in den Feinheiten. +%So wird z.B.~das optionale Argument von \cs{caption} auch in die |aux|-Datei +%geschrieben und vom \cs{nameref} Befehl verwendet. +%Wenn Sie also \cs{caption} mit leerem Argument angeben, wird ein auf diese +%Abbildung oder Tabelle angewandtes \cs{nameref} nicht das erwünschte, +%nämlich ein leeres Resultat zur Folge haben. +%Daher ist es besser \cs{captionsetup}\csmarg{list=false} zu verwenden, +%wenn Sie keinen Eintrag in dem Abbildungs- oder Tabellenverzeichnis wünschen. +\end{description} + +\pagebreak[3] +\subsection{hypcap} +\label{hypcap} +\packagedescription{% +The \package{hypcap} package\cite{hypcap} offers a solution to the problem +that links to a float using \package{hyperref} may anchors to the caption +rather than the beginning of the float. +Since \thispackage\ \version{3.1} already solves this problem for itself, +the \package{hypcap} package is usually not needed, at least when you use +\thispackage.} + +If the \package{hypcap} package is loaded additionally to the \package{hyperref} +package, it takes over the control of the hyperlink anchor placement from +\thispackage, overriding the options |hyp|\-|cap=| \& |hyp|\-|cap|\-|space=|. +%Wird das \package{hypcap}"=Paket zusätzlich zum \package{hyperref}"=Paket +%geladen, so übernimmt es die Kontrolle über die Platzierung der Hyperlink"=Anker. + +So for a manual placement of hyperlink anchors +|\caption|\-|setup{type=|\x\meta{type}|}| is not sufficient anymore, +instead you need to use |\cap|\-|start| (provided by the \package{hypcap} +package) for this. +%Außerdem ist zu beachten, daß dann |\captionsetup{type=|\meta{Type}|}| +%keinen Hyperlink"=Anker mehr setzt, dies muß dann stattdessen mit +%|\capstart| (welches vom \package{hypcap}"=Paket angeboten wird) geschehen. + +Regarding the automatically placement the \package{hypcap} package offers good +placement of hyperlink anchors for the floating environments |figure| and +|table| only. In contrast the |hypcap=true| option of \thispackage\ also +offers good placements of hyperlink anchors for +|floatingfigure|s (provided by the \package{floatflt} package), +|FPfigure|s \& |FPtable|s (provided by the \package{fltpage} package), +|figwindow|s (provided by the \package{picinpar} package), +|parpic|s (provided by the \package{picins} package), +|SCfigure|s (provided by the \package{sidecap} package), +|threeparttable|s (provided by the \package{threeparttable} package), +and |wrapfigure|s (provided by the \package{wrapfig} package).%---% +%so by loading the \package{hypcap} package additionally you will +%loose that. +%Dies hat den Nebeneffekt, daß die Hyperlink"=Anker innerhalb der Umgebungen +%|floatingfigure| (vom \package{floatflt}"=Paket bereitgestellt), +%|figwindow| (vom \package{picinpar}"=Paket bereitgestellt), +%|parpic| (vom \package{picins}"=Paket bereitgestellt) und +%|wrapfigure| (vom \package{wrapfig}"=Paket bereitgestellt) +%nicht mehr optimal platziert werden. + +\pagebreak[3] +\subsection{listings} +\label{listings} +\packagedescription{% +The \package{listings} package\cite{listings} typesets programming code.} + +If you want to setup special options for the |lstlinsting| environment +you can use +\begin{quote} + |\captionsetup[lstlisting]|\marg{options}\quad. +\end{quote} + +Please note that the \package{listings} package has its very own options +for controlling the position and the skips of the caption: +|caption|\-|pos=|, |above|\-|caption|\-|skip=| \& |below|\-|caption|\-|skip=|. +\See{\package{listings} documentation for details.} +These \package{listings} options override the \package{caption}'s ones, but +can be again overwritten by |\caption|\-|setup[lst|\-|listing]{|\ldots|}|, +e.g.~|\caption|\-|setup[lst|\-|listing]{skip=|\x|10pt}|. + +\pagebreak[3] +\subsection{longtable} +\label{longtable} +\packagedescription{% +The \package{longtable} package\cite{longtable} offers an environment +which behaves similar to the |tabular| environment, but the table +itself can span multiple pages.} + +If you want to setup special options for the |longtable| environment +you can use +\begin{quote} + |\captionsetup[longtable]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|table|. + +The |margin| \& |width| settings usually override |\LT|\-|cap|\-|width|, so +you get an equal look \& feel of the captions in |table|s and |long|\-|table|s. +But if you set |\LT|\-|cap|\-|width| to a value different than its default +$=$ |4in|, \thispackage\ will follow that. +(But |\LT|\-|cap|\-|width| will be overwritten by +|\caption|\-|setup[long|\-|table]{width=|\x\meta{value}|}|, +even if it is set to a value different than |4in|.) + +\begin{Note} +|\caption|\-|of| and |\Continued|\-|Float| do not work for |long|\-|table|s. +Furthermore neither |\caption| nor |\caption|\-|list|\-|entry| will increment +the |table| counter here; it's incremented by the |long|\-|table| environment +instead. +\NEWfeature{v3.1} +If you need a |long|\-|table| which does \emph{not} increment the |table| +counter please use the |long|\-|table*| environment (offered by the +\package{ltcaption} package which is part of \thispackage\ bundle and will be +loaded automatically). +\end{Note} + +\pagebreak[3] +\subsection{picinpar} +\label{picinpar} +\packagedescription{% +Similar to the \package{floatflt} package the \package{picinpar} +package\cite{picinpar} offers figures and tables which do not span the full +width of a page and are float around by text. +For a detailed discussion about the differences between these packages +please take a look at The \LaTeX\ Companion\cite{TLC2}.} + +\NEWfeature{v3.1} +If you want to setup special options for the |figwindow| \& |tabwindow| +environments you can use +\begin{quote} + |\captionsetup[figwindow]|\marg{options}\\ + |\captionsetup[tabwindow]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|figure| or |table|. + +\begin{Note} +The |margin| resp.~|width| setting will not be used for these figures \& tables, +unless you set it explicit with |\caption|\-|setup[fig|\-|window]{|\ldots|}| or +|\caption|\-|setup[fig|\-|table]{|\ldots|}|. +\end{Note} + +\pagebreak[3] +\subsection{picins} +\label{picins} +\packagedescription{% +Similar to the \package{floatflt} and \package{picinpar} package the +\package{picins} package\cite{picins} offers figures and tables which do not +span the full width of a page and are float around by text. +For a detailed discussion about the differences between these packages +please take a look at The \LaTeX\ Companion\cite{TLC2}.} + +\NEWfeature{v3.1} +If you want to setup special options for the |parpic| environment you can use +\begin{quote} + |\captionsetup[parpic]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|figure| or |table|.\par +Furthermore |\piccaption[]{|\ldots|}| produce no entry in the List of Figures, +and |\piccaption*{|\ldots|}| gives an unlabeled \& unnumbered caption. + +\begin{Note} +The |margin| resp.~|width| setting will not be used for these figures \& tables. +\iffalse +if |pic|\-|caption|\-|side| or |pic|\-|caption|\-|top|\-|side| is used. +The |width| setting will not be used (but the |margin| setting will) if +|pic|\-|caption|\-|out|\-|side| or |pic|\-|caption|\-|in|\-|side| is used. +\fi +But you can override this by setting it explicit with +|\caption|\-|setup[par|\-|pic]{|\ldots|}|. +\end{Note} + +\begin{Note} +If you want to have a |\pic|\-|caption| of another type as |figure|, please +do \emph{not} re-define |\@cap|\-|type| as suggested by the \package{picins} +documentation. Please use the |\pic|\-|caption|\-|type|\marg{type} command +which is offered by \thispackage\ instead, e.g.: +\begin{quote} + |\piccaptiontype{table}|\\ + |\piccaption{An example table}|\\ + |\parpic(50mm,10mm)[s]{|\ldots|}| +\end{quote} +\end{Note} + +\pagebreak[3] +\subsection{rotating} +\label{rotating} +\packagedescription{% +The \package{rotating} package\cite{rotating} offers the floating +environments \texttt{side\-ways\-figure} and \texttt{side\-ways\-table} +which are just like normal figures and tables but rotated by 90 degree. +Furthermore a command \cs{rotcaption} is offered for rotated captions only.} + +\iffalse % No, we don't do that +If you want to setup special options for the |side|\-|ways|\-|figure| \& +|side|\-|ways|\-|table| environments you can use +\begin{quote} + |\captionsetup[sidewaysfigure]|\marg{options}\\ + |\captionsetup[sidewaystable]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|figure| or |table|. +\fi + +The command |\rot|\-|caption| will be extended by \thispackage, so +|\rot|\-|caption*| or |\rot|\-|caption|\-|of| can be used analogous to +|\caption| and |\caption|\-|of|. + +\NEWfeature{v3.1} +Furthermore |\Declare|\-|Caption|\-|Type|\marg{name} will also define +an environment called |side|\-|ways|\meta{name} which behaves like +|side|\-|ways|\-|figure| and |side|\-|ways|\-|table|. + +\pagebreak[3] +\subsection{setspace} +\label{setspace} +\packagedescription{% +The \package{setspace} package\cite{setspace} offers options and commands +to change the spacing, +e.g.\ \cs{usepackage}\x\csoarg{one\x half\x spacing}\x\csmarg{set\x space} +causes the document to be typeset in one-and-a-half spacing.} + +If the \package{setspace} package is used in conjunction with \thispackage, +the caption will be typeset with single spacing as default. This can be changed +by specifying either |font=|\x|one|\-|half|\-|spacing|, +|font=|\x|double|\-|spacing|, or |font={stretch=|\x\meta{amount}|}|. +\See{\Ref{fonts}} + +\pagebreak[3] +\subsection{sidecap} +\label{sidecap} +\packagedescription{% +The \package{sidecap} package\cite{sidecap} offers the floating +environments |SCfigure| and |SCtable| which are like usual figures +and tables but the caption will be put \emph{beside} the contents.} + +If you want to setup special options for the |SCfigure| \& |SCtable| +environments you can use +\begin{quote} + |\captionsetup[SCfigure]|\marg{options}\\ + |\captionsetup[SCtable]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|figure| or |table|. + +\pagebreak[3] +\NEWfeature{v3.1} +Furthermore \cs{DeclareCaptionType}\marg{name} will also define +an environment called |SC|\meta{name} which behaves like |SCfigure| and +|SCtable|. + +\begin{Note} +The \package{sidecap} package offers its own options for justification. +If set, they will override the one specified with the caption option +|justification=| for captions beside their contents. +\end{Note} + +\begin{Note} +The |margin| resp.~|width| setting will not be used for these figures \& tables, +unless you set it explicit with |\caption|\-|setup[SC|\-|figure]{|\ldots|}| +or |\caption|\-|setup[SC|\-|table]{|\ldots|}|. +\end{Note} + +\medskip + +\begin{Annotation*} +Instead of using the \package{sidecap} package you can also use +the more powerful \package{floatrow} package\cite{floatrow} for this purpose. +\end{Annotation*} + +\pagebreak[3] +\subsubsection*{Undocumented features} +The \package{sidecap} package \version{1.6} has some undocumented package +options and commands which allow further customization of the side-captions: + +\pagebreak[3] +\DescribeMacro{margincaption} +The package option +\begin{quote} + |margincaption|\qquad{\small(e.g.~|\usepackage[margincaption]{sidecap}|)} +\end{quote} +causes all side-captions to be placed into the margin. + +\pagebreak[3] +\DescribeMacro{\sidecaptionvpos} +The command +\begin{quote} + |\sidecaptionvpos|\marg{float type}\marg{pos} +\end{quote} +sets the vertical position of the side-caption. \meta{pos} can be either `|t|' +(for top alignment), `|b|' (for bottom alignment), or `|c|' (for center alignment). +The default setting for |table| is `|t|', for |figure| and all other ones +defined with |\Declare|\-|Caption|\-|Type| it's `|b|'. + +\pagebreak[3] +\subsection{subfigure} +\label{subfigure} +\packagedescription{% +The \package{subfigure} package\cite{subfigure} provides support for small or +`sub' figures and tables within a single figure or table environment. +This package is obsolete, new users should use \package{subfig} instead.} + +Since the \package{subfigure} package is obsolete it will only be supported in +a way that old documents (which have used \thispackage\ \version{1.x} during +development) should still compile as expected. + +Please use the \package{subfig} package instead with supports \thispackage\ +\version{3.x}. + +\See{the \package{subfig} package\cite{subfig} documentation for details.} + +\pagebreak[3] +\subsection{supertabular} +\label{supertabular} +\packagedescription{% +The \package{supertabular} package\cite{supertabular} offers an environment +which is quite similar to the |longtable| environment provided +by the \package{longtable} package\cite{longtable}: +Both offers the typesetting of tables which can span multiple pages. +For a detailed discussion about the differences between these two powerful +packages please take a look at The \LaTeX\ Companion\cite{TLC2}.} + +If you want to setup special options for the |super|\-|tabular| environment +you can use +\begin{quote} + |\captionsetup[supertabular]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|table|. + +\begin{Note} +|\Continued|\-|Float| does not work for |super|\-|tabular|s. +\end{Note} + +\pagebreak[3] +\subsection{threeparttable} +\label{threeparttable} +\packagedescription{% +Provides a scheme for tables that have a structured note section after the +table contents and the caption. +This scheme provides an answer to the old problem of putting footnotes in +tables---by making footnotes entirely unnecessary.} + +\NEWfeature{v3.1} +If you want to setup special options for the |three|\-|part|\-|table| \& +|measured|\-|figure| environments you can use +\begin{quote} + |\captionsetup[threeparttable]|\marg{options}\\ + |\captionsetup[measuredfigure]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|table| or |figure|. + +\begin{Note} +Since the caption will have the same width as the contents here, +the |margin| resp.~|width| setting will not be used for these figures \& tables, +at least unless you set it explicit with +|\caption|\-|setup[three|\-|part|\-|table]{|\ldots|}| or +|\caption|\-|setup[measured|\-|figure]{|\ldots|}|. +\end{Note} + +\medskip + +\begin{Annotation*} +Instead of using the \package{threeparttable} package you can +also use the \package{floatrow} package\cite{floatrow} for this purpose. +\end{Annotation*} + +\pagebreak[3] +\subsection{wrapfig} +\label{wrapfig} +\packagedescription{% +Similar to the \package{floatflt}, the \package{picinpar}, and the +\package{picins} package the \package{wrapfig} package\cite{wrapfig} offers +figures and tables which do not span the full width of a page and are float +around by text. +For a detailed discussion about the differences between these packages +please take a look at The \LaTeX\ Companion\cite{TLC2}.} + +\NEWfeature{v3.1} +If you want to setup special options for the |wrapfigure| \& |wraptable| +environments you can use +\begin{quote} + |\captionsetup[wrapfigure]|\marg{options}\\ + |\captionsetup[wraptable]|\marg{options}\quad. +\end{quote} +These options will be executed additionally to the regular ones for +|figure| or |table|. + +Furthermore \cs{DeclareCaptionType}\marg{name} will also define +an environment called |wrap|\meta{name} which behaves like |wrapfigure| and +|wraptable|. + +\begin{Note} +The |margin| resp.~|width| setting will not be used for these figures \& tables, +unless you set it explicit with |\caption|\-|setup[wrap|\-|figure]{|\ldots|}| +or |\caption|\-|setup[wrap|\-|table]{|\ldots|}|. +\end{Note} + +\begin{Note} +If the \package{wrapfig} package should be used in coorperation with the +\package{float} package, it needs to be loaded \emph{after} the +\package{float} package. Furthermore \cs{newfloat} or \cs{restylefloat} +commands \emph{must} be placed after \emph{both} packages have been loaded. +\end{Note} + +\else + +%*****************************************************************************% +%*****************************************************************************% +%*****************************************************************************% +%*****************************************************************************% +%*****************************************************************************% +%*****************************************************************************% +%*****************************************************************************% + +\beginTODO + +\section{Dokumentenklassen \& Babel-Unterstützung} \label{classes} %\NEWdescription{v3.1} @@ -1386,8 +3431,8 @@ Sie in einem solchen Fall keinen Support. ohne Optionen bereits das eigentlich von der Dokumentenklasse vorgebene Aussehen der Beschriftungen. Wenn dies für Sie in Ordnung ist, sollten Sie als erstes die Option - |style=base| mittels |\usepackage|\xx|[style=base]|\xx|{caption}| oder - |\captionsetup|\xx|{style=base}| angeben, um \thispackage\ in einen + |style=base| mittels |\usepackage|\x|[style=base]|\x|{caption}| oder + |\captionsetup|\x|{style=base}| angeben, um \thispackage\ in einen dokumentierten Grundstatus zu versetzen. Anschließend können Sie anfangen, mittels zusätzlicher Optionen erste Anpassungen vorzunehmen und die Daumen gedrückt zu halten.)} @@ -1416,11 +3461,6 @@ Sie in einem solchen Fall keinen Support. \noindent{\small(\emph{Hinweis:} Dies gilt in der Regel auch für abgeleitete Dokumentenklassen.)} -\subsection{\AmS: amsart, amsproc und amsbook} -\label{AMS} - -\TODO - \subsection{beamer} \label{beamer} @@ -1437,20 +3477,20 @@ Dokumentenklassen.)} \textbf{Von der Klasse angebotene Befehle und Seiteneffekte:}\\ Die Zeichensatz- und Farbeinstellungen können mit -|\setbeamerfont|\xx|{caption}|\xx\marg{options} und -|\setbeamerfont|\xx|{caption name}|\xx\marg{options} vorgenommen werden. +|\setbeamerfont|\x|{caption}|\x\marg{options} und +|\setbeamerfont|\x|{caption name}|\x\marg{options} vorgenommen werden. Dies wird auch mit dem \package{caption}"=Paket noch funktionieren, zumindest solange Sie keinen anderen Zeichensatz mit -|\captionsetup|\xx|{font=|\xx\meta{options}|}| oder -|\captionsetup|\xx|{labelfont=|\xx\meta{options}|}| einstellen.\par +|\captionsetup|\x|{font=|\x\meta{options}|}| oder +|\captionsetup|\x|{labelfont=|\x\meta{options}|}| einstellen.\par Weiterhin bietet die \package{beamer}"=Klasse verschiedene "`Templates"' für die Beschriftungen an, diese können mit -|\set|\x|beamter|\x|template|\xx|{caption}|\xx|[|\meta{template}|]| +|\set|\-|beamter|\-|template|\x|{caption}|\x|[|\meta{template}|]| ausgewählt werden. Da \thispackage\ diesen Mechanismus ersetzt, haben -|\def|\x|beamer|\x|template*|\xx|{caption}|\xx\marg{template code} +|\def|\-|beamer|\-|template*|\x|{caption}|\x\marg{template code} und -|\set|\x|beamer|\x|template|\xx|{caption}|\xx|[|\meta{template}|]| +|\set|\-|beamer|\-|template|\x|{caption}|\x|[|\meta{template}|]| keine Funktion mehr, wenn \thispackage\ verwendet wird. \subsection{\KOMAScript: scrartcl, scrreprt \& scrbook} @@ -1502,55 +3542,6 @@ Beides funktioniert auch weiterhin, zumindest solange kein anderer Zeichensatz mittels der \package{caption}"=Paket"=Optionen |labelfont=| oder |textfont=| festgelegt wird. -\subsection{\SmF: smfart und smfbook} -\label{SMF} - -\TODO - -\subsection{Die französische Babel Option} -\label{frenchb} - -\TODO\iffalse -If you use the \package{frenchb} option of the \package{babel} package -with one of the three standard \LaTeX{} classes (or a one derived from them) -the default |labelsep=| will be set to \cs{CaptionSeparator} (offered by -\package{frenchb}), overriding the default value set by the document class. -So redefining \cs{CaptionSeparator} will still work, unless you don't -select a different |labelsep=| than the default one. -\fi - -\INFO* -Bitte laden Sie \thispackage\ \emph{nach} dem \package{babel}"=Paket. - -\subsection{Das frenchle- und frenchpro-Paket} -\label{frenchpro} - -\TODO\iffalse -If you use the \package{frenchle} or \package{frenchpro} package, -the default |labelsep=| will be set to \cs{captionseparator} (offered by -\package{frenchle/pro}) plus \cs{space}, overriding the default value set -by the document class. -So redefining \cs{captionseparator} will still work, unless you don't -select a different |labelsep=| than the default one. - -Furthermore the default |textfont=| will be set to |textfont=it|, -since this emulates the default setting of |\captionfont| defined by the -\package{frenchle} or \package{frenchpro} package. -%If you redefine |\captionfont| after loading the \package{frenchle} or -%\package{frenchpro} package, this redefinition gets lost. -Please note that the command \cs{captionfont} is used by the -\package{caption} package internally for a different purpose, -so you should not change it (anymore). - -The command \cs{unnumberedcaptions}\marg{figure or table} will still work, -but only unless you don't select a different |labelformat=| than the default -one. -\fi - -\INFO* -Bitte laden Sie \thispackage\ \emph{nach} dem \package{frenchle} -oder \package{frenchpro}"=Paket. - % --------------------------------------------------------------------------- % \pagebreak[4] @@ -1571,21 +3562,6 @@ Tabellenbeschriftungen anbieten, angepasst: Weiterhin arbeiten das \package{floatrow}- und das \package{subfig}"=Paket aktiv mit diesem Paket zusammen und verwenden die |\captionsetup|"=Schnittstelle. -\subsection{float} -\label{float} - -\TODO - -\subsection{floatflt} -\label{floatflt} - -\TODO - -\subsection{fltpage} -\label{fltpage} - -\TODO - \subsection{hyperref} \label{hyperref} @@ -1636,11 +3612,11 @@ hingegen plaziert den Anker an den Anfang der |minipage|. Wiederum bekommen Sie ohne geladenes \package{hyperref}"=Paket identische Resultate. Aber mit \package{hyperref} geladen liegen die Unterschiede in den Feinheiten. So wird z.B.~das optionale Argument von \cs{caption} auch in die |aux|-Datei -geschrieben und vom \cs{nameref} Befehl verwendet. -Wenn Sie also \cs{caption} mit leerem Argument angeben, wird ein auf diese -Abbildung oder Tabelle angewandtes \cs{nameref} nicht das erwünschte, +geschrieben und vom |\name|\-|ref| Befehl verwendet. +Wenn Sie also |\caption| mit leerem Argument angeben, wird ein auf diese +Abbildung oder Tabelle angewandtes |\name|\-|ref| nicht das erwünschte, nämlich ein leeres Resultat zur Folge haben. -Daher ist es besser \cs{captionsetup}\csmarg{list=false} zu verwenden, +Daher ist es besser |\caption|\-|setup{list=|\x|false}| zu verwenden, wenn Sie keinen Eintrag in dem Abbildungs- oder Tabellenverzeichnis wünschen. \end{description} @@ -1651,465 +3627,103 @@ Wird das \package{hypcap}"=Paket zusätzlich zum \package{hyperref}"=Paket geladen, so übernimmt es die Kontrolle über die Platzierung der Hyperlink"=Anker. Dies hat den Nebeneffekt, daß die Hyperlink"=Anker innerhalb der Umgebungen -|floatingfigure| (vom \package{floatflt}"=Paket bereitgestellt), -|figwindow| (vom \package{picinpar}"=Paket bereitgestellt), -|parpic| (vom \package{picins}"=Paket bereitgestellt) und -|wrapfigure| (vom \package{wrapfig}"=Paket bereitgestellt) +|float|\-|ing|\-|figure| (vom \package{floatflt}"=Paket bereitgestellt), +|fig|\-|window| (vom \package{picinpar}"=Paket bereitgestellt), +|par|\-|pic| (vom \package{picins}"=Paket bereitgestellt) und +|wrap|\-|figure| (vom \package{wrapfig}"=Paket bereitgestellt) nicht mehr optimal platziert werden. -Außerdem ist zu beachten, daß dann |\captionsetup{type=|\meta{Type}|}| +Außerdem ist zu beachten, daß dann |\caption|\-|setup{type=|\x\meta{Type}|}| keinen Hyperlink"=Anker mehr setzt, dies muß dann stattdessen mit -|\capstart| (welches vom \package{hypcap}"=Paket angeboten wird) geschehen. - -\subsection{listings} -\label{listings} - -\TODO - -\subsection{longtable} -\label{longtable} - -\TODO - -\subsection{picinpar} -\label{picinpar} - -\TODO - -\subsection{picins} -\label{picins} - -\TODO - -\subsection{rotating} -\label{rotating} - -\TODO - -\subsection{sidecap} -\label{sidecap} - -\TODO - -\subsection{subfigure} -\label{subfigure} - -\TODO +|\cap|\-|start| (welches vom \package{hypcap}"=Paket angeboten wird) geschehen. -\subsection{supertabular} -\label{supertabular} +\endTODO -\TODO - -\subsection{threeparttable} -\label{threeparttable} - -\TODO - -\subsection{wrapfig} -\label{wrapfig} - -\TODO +\fi % --------------------------------------------------------------------------- % -\pagebreak[4] -\section{Kompatibilit"at zu "alteren Versionen} -\label{compatibility} - -\subsection{caption v\texorpdfstring{$1.x$}{1.x}} -\label{caption1} - -Diese Version des \thispackage"=Paketes ist weitgehend kompatibel zu "alteren -Versionen des Paketes; alte, vorhandene Dokumente sollten sich also in der -Regel ohne Probleme weiterhin "ubersetzen lassen. -Jedoch ist zu beachten, da"s eine Mischung aus alten Befehlen und neueren -Optionen bzw.~Befehlen zu unerw"unschten Nebeneffekten f"uhren kann. - -Hier eine kurze "Ubersicht "uber die alten, "uberholten Optionen und ihre -aktuellen Entsprechungen: - -{\small\begin{longtable}{ll} -\package{caption} \version{1.x} & \package{caption} \version{3.x}\\ -\hline -\endhead -|normal| & |format=plain|\\ -|hang| & |format=hang|\\ -|isu| & |format=hang|\\ -|center| & |justification=centering|\\ -|centerlast| & |justification=centerlast|\\ -%|anne| & |justification=centerlast|\\ -|nooneline| & |singlelinecheck=off|\\ -|scriptsize| & |font=scriptsize|\\ -|footnotesize| & |font=footnotesize|\\ -|small| & |font=small|\\ -|normalsize| & |font=normalsize|\\ -|large| & |font=large|\\ -|Large| & |font=Large|\\ -|up| & |labelfont=up|\\ -|it| & |labelfont=it|\\ -|sl| & |labelfont=sl|\\ -|sc| & |labelfont=sc|\\ -|md| & |labelfont=md|\\ -|bf| & |labelfont=bf|\\ -|rm| & |labelfont=rm|\\ -|sf| & |labelfont=sf|\\ -|tt| & |labelfont=tt|\\ -\end{longtable}} - -Neben den Optionen zum Einstellen des Zeichensatzes gab es auch die Befehle -|\captionsize| bzw. |\captionfont| und |\captionlabelfont|, die direkt -mittels |\renewcommand| ver"andert werden konnten. Dieser Mechanismus -wurde durch die Anweisungen -\begin{quote} - |\DeclareCaptionFont{|\ldots|}{|\ldots|}|\qquad und\\ - |\captionsetup{font=|\ldots|,labelfont=|\ldots|}| -\end{quote} -ersetzt. \SeeUserDefined - -Das Setzen eines Randes geschah in \version{1.x} mittels -\begin{quote} - |\setlength{\captionmargin}{|\ldots|}|\quad. -\end{quote} -Dies wurde durch -\begin{quote} - |\captionsetup{margin=|\ldots|}| -\end{quote} -ersetzt. \See{\Ref{margins}} - -Zum Beispiel w"urde -\begin{quote} -|\usepackage[hang,bf]{caption}|\\ -|\renewcommand\captionfont{\small\sffamily}|\\ -|\setlength\captionmargin{10pt}| -\end{quote} -in aktueller Notation -\begin{quote} -|\usepackage[format=hang,labelfont=bf,font={small,sf},|\\ -| margin=10pt]{caption}| -\end{quote} -bzw. -\begin{quote} -|\usepackage{caption}|\\ -|\captionsetup{format=hang,labelfont=bf,font={small,sf},|\\ -| margin=10pt}| -\end{quote} -hei"sen. - -Die etwas exotische Option |ruled|, die eine partielle Anwendung der -eingestellten Parameter bei gleitenden Umgebungen des Typs |ruled| -aktivierte, wird ebenfalls emuliert, hat aber keine direkte -Entsprechung in dieser Version des \package{caption}"=Paketes. -M"ochte man gezielt das Aussehen der Abbildungen des Stils |ruled|, -der durch das \package{float}"=Paket zur Verf"ugung gestellt wird, -ver"andern, so ist dies nun durch -\begin{quote} - |\DeclareCaptionStyle{ruled}{|\ldots|}| -\end{quote} -bzw. -\begin{quote} - |\captionsetup[ruled]{|\ldots|}| -\end{quote} -m"oglich. -\SeeUserDefined[, \Ref{commands} und \Ref{float}] - -\subsection{caption2 v\texorpdfstring{$2.x$}{2.x}} -\label{caption2} - -Die Pakete \package{caption} und seine experimentelle, nun veraltete -Variante \package{caption2} sind vom internen Konzept -her zu unterschiedlich, um hier eine vollst"andige Kompatibilit"at -gew"ahrleisten zu k"onnen. -Daher liegt diesem Paket weiterhin die Datei |caption2.sty| bei, so da"s -"altere Dokumente, die das \package{caption2}"=Paket verwenden, weiterhin -"ubersetzt werden k"onnen. - -Neue Dokumente sollten jedoch auf dem aktuellen \package{caption}"=Paket -aufgesetzt werden. In den meisten F"allen ist es ausreichend, einfach -ggf.~die Anweisung -\begin{quote} - |\usepackage[...]{caption2}| -\end{quote} -durch -\begin{quote} - |\usepackage[...]{caption}| -\end{quote} -zu ersetzen. Einige Optionen und Befehle werden jedoch nicht emuliert, -so da"s sie anschlie"send Fehlermeldungen erhalten k"onnen. -Die folgenden Abs"atze werden Ihnen jedoch bei der Umsetzung dieser -Optionen und Befehle helfen. Sollten dar"uberhinaus noch Fragen oder -Probleme auftreten, so z"ogern Sie bitte nicht, mich diesbez"uglich -per E-Mail zu kontaktieren. - -Zus"atzlich zu den bereits im vorherigen Abschnitt vorgestellten Optionen -werden auch folgende emuliert: - -{\small\begin{longtable}{ll} -\package{caption2} \version{2.x} & \thispackage\ \version{3.x}\\ -\hline -\endhead -|flushleft| & |justification=raggedright|\\ -|flushright| & |justification=raggedleft|\\ -|oneline| & |singlelinecheck=on|\\ -\end{longtable}} - -Das Setzen eines Randes geschah in \version{2.x} mittels -\begin{quote}\leavevmode\hbox{% - |\setcaptionmargin{|\ldots|}| bzw. - |\setcaptionwidth{|\ldots|}|\quad. -}\end{quote} -Dies wurde durch -\begin{quote}\leavevmode\hbox{% - |\captionsetup{margin=|\ldots|}| bzw. - |\captionsetup{width=|\ldots|}| -}\end{quote} -ersetzt. \See{\Ref{margins}} - -Das Setzen des Einzuges wurde in \version{2.x} mit -\begin{quote} - |\captionstyle{indent}|\\ - |\setlength\captionindent{|\ldots|}| -\end{quote} -erledigt, dies geschieht nun mit -\begin{quote} - |\captionsetup{format=plain,indention=|\ldots|}|\quad. -\end{quote} - -Die Sonderbehandlung von einzeiligen Beschriftungen lie"s sich in -\version{2.x} mit |\oneline|\-|captions|\-|false| aus- -bzw. |\oneline|\-|captions|\-|true| wieder einschalten. Dies wurde durch -|\captionsetup{|\xx|singlelinecheck=|\xx|off}| -bzw. -|\captionsetup{|\xx|singlelinecheck=|\xx|on}| -ersetzt. \See{\Ref{justification}} - -Die Befehle -\begin{quote} - |\captionlabeldelim|, |\captionlabelsep|, |\captionstyle|,\\ - |\defcaptionstyle|, |\newcaptionstyle| und |\renewcaptionstyle| -\end{quote} -haben keine direkte Entsprechnung und werden daher durch diese -Version des \package{caption}"=Paketes auch nicht emuliert. -Sie f"uhren also bei der Verwendung %mit diesem \thispackage"=Paket -zu Fehlermeldungen und m"ussen daher zwingend umgesetzt werden. -Die Umsetzung ist von Fall zu Fall verschieden, lesen Sie sich daher bitte -diese Anleitung gr"undlich durch und suchen Sie sich die Optionen bzw.~Befehle -als Ersatz heraus, die Ihren W"unschen entsprechen. - -\iffalse -Als kleine Hilfestellung hier die Beispiele aus der alten Anleitung zum -\package{caption2}"=Paket und deren Umsetzung: - -\newenvironment{OldNew}% - {\begin{minipage}\linewidth - \def\Old{Alt:\begin{quote}}% - \def\New{\end{quote}Neu:\begin{quote}}% - \def\Or{\end{quote}\centerline{-- oder --}\begin{quote}}% - }% - {\end{quote}\end{minipage}} - -\begin{OldNew} -\Old - |\captionstyle{center}| -\New - |\captionsetup{justification=centering}| -\end{OldNew} - -\hrule - -\begin{OldNew} -\Old - |\captionstyle{indent}|\\ - |\setlength{\captionindent}{1cm}| -\New - |\captionsetup{format=plain,indention=1cm}| -\end{OldNew} - -\hrule - -\begin{OldNew} -\Old - |\renewcommand\captionfont{\small}|\\ - |\renewcommand\captionlabelfont{\itshape}| -\New - |\captionsetup{font=small,labelfont=it}| -\end{OldNew} - -\hrule - -\begin{OldNew} -\Old - |\renewcommand\captionfont{\small\itshape}|\\ - |\renewcommand\captionlabelfont{\upshape}| -\New - |\captionsetup{font=small,textfont=it}| -\end{OldNew} - -\hrule - -\begin{OldNew} -\Old - |\setcaptionwidth{.5\textwidth}| -\New - |\captionsetup{width=.5\textwidth}| -\end{OldNew} - -\hrule - -\begin{OldNew} -\Old - |\setcaptionmargin{.25\textwidth}| -\New - |\captionsetup{margin=.25\textwidth}| -\end{OldNew} - -\hrule - -\begin{OldNew} -\Old - |\newcaptionstyle{absatz}{\captionlabel: \exampletext\par}|\\ - |\captionstyle{absatz}| -\New - |\DeclareCaptionFormat{absatz}{#1: #3\par}|\\ - |\captionsetup{format=absatz,singlelinecheck=off}| -\Or - |\captionsetup{format=plain,singlelinecheck=off}| -\end{OldNew} - -\hrule - -\begin{OldNew} -\Old - |\newcaptionstyle{fancy}{\textsf{\captionlabel}\\\exampletext\par}|\\ - |\captionstyle{fancy}| -\New - |\DeclareCaptionFormat{fancy}{\textsf{#1}\\#3\par}|\\ - |\captionsetup{format=fancy,singlelinecheck=off}| -\Or - |\captionsetup{format=plain,labelfont=sf,labelsep=newline}| -\end{OldNew} - -\hrule - -\begin{OldNew} -\Old - |\newcaptionstyle{fancy2}{\exampletext\hfill\textit{(\captionlabel)}}|\\ - |\captionstyle{fancy2}| -\New - |\DeclareCaptionFormat{fancy2}{#3\hfill\textit{(#1)}}|\\ - |\captionsetup{format=fancy2,singlelinecheck=off}| -\end{OldNew} - -\hrule - -\begin{OldNew} -\Old - |\newcaptionstyle{mystyle}{%|\\ - | \normalcaptionparams|\\ - | \renewcommand\captionlabelfont{\bfseries}%|\\ - | \renewcommand\captionlabeldelim{.}%|\\ - | \onelinecaptionsfalse|\\ - | \usecaptionstyle{centerlast}}|\\ - |\captionstyle{mystyle}| -\New - |\DeclareCaptionStyle{mystyle}{labelfont=bf,labelsep=period,justification=centerlast}|\\ - |\captionsetup{style=mystyle}| -\end{OldNew} - -\hrule +\clearpage +\section{Weiterführende Dokumente} -\begin{OldNew} -\Old - |\newcaptionstyle{hangandleft}{%|\\ - | \let\oldcaptiontext\exampletext|\\ - | \def\exampletext{\raggedright\oldcaptiontext}%|\\ - | \usecaptionstyle{hang}}|\\ - |\captionstyle{hangandleft}| -\New - |\captionsetup{format=hang,justification=raggedright}| -\end{OldNew} +Folgende, im Internet verfügbare Dokumente möchte ich an dieser Stelle +jedem ans Herz legen: -\hrule +\begin{itemize} +\item + Die \TeX\ FAQ -- "`Frequently Asked Questions"' über \TeX\ und \LaTeX: + \begin{quote}\url{http://faq.tug.org/}\end{quote} -\begin{OldNew} -\Old - |\newcaptionstyle{fancy}{%|\\ - | \usecaptionmargin\captionfont|\\ - | \onelinecaption|\\ - | {{\captionlabelfont\captionlabel\captionlabeldelim}%|\\ - | \captionlabelsep\exampletext}%|\\ - | {{\centering\captionlabelfont\captionlabel\par}%|\\ - | \centerlast\exampletext\par}}|\\ - |\captionstyle{fancy}| -\New - |\DeclareCaptionFormat{fancy}{\centering#1\par\centerlast#3\par}|\\ - |\DeclareCaptionStyle{fancy}|\\ - | [format=plain,justification=centering]|\\ - | {format=fancy}|\\ - |\captionsetup{style=fancy}| -\Or - |\DeclareCaptionFormat{fancy}{#1\par#3\par}|\\ - |\DeclareCaptionStyle{fancy}|\\ - | [format=plain,justification=centering]|\\ - | {format=fancy,justification=centerlast}|\\ - |\captionsetup{style=fancy}| -\end{OldNew} +\iffalse % Völlig veraltet, daher leider keine Empfehlung mehr wert +\item + Die DANTE-FAQ -- Oft gestellte Fragen \& deren Antworten: + \begin{quote}\url{http://www.dante.de/faq/de-tex-faq/}\end{quote} +\fi -\hrule +\item + \emph{"`Hilfe für LaTeX-Einsteiger"'} von Christian Faulhammer: + \begin{quote}\url{http://www.minimalbeispiel.de/}\end{quote} -\begin{OldNew} -\Old - |\renewcaptionstyle{longtable}{\usecaptionstyle{normal}}| -\New - |\captionsetup[longtable]{format=plain}| -\end{OldNew} -\fi +\item + \emph{"`Bilder einfügen in \LaTeX: Ein How-To"'} von Dominik Bischoff + beinhaltet die häufigsten Fragen und Antworten, die im Zusammenhang + mit \LaTeX\ und Abbildungen auftreten: + \begin{quote} + \url{http://dante.ctan.org/info/l2picfaq/german/l2picfaq.pdf} + \end{quote} -Ebenfalls keine Entsprechung hat die \version{2.x}"=Option |ignoreLTcapwidth|. -Deren Verwendung kann in der Regel einfach entfallen, da \thispackage\ den -Wert von |\LTcapwidth| sowieso nicht beachtet, solange er nicht explizit auf -einen anderen Wert als den Standardwert ($=$|4in|) gesetzt wird. -\See{\Ref{longtable}} +\item + \emph{"`Gleitobjekte -- die richtige Schmierung"'} von Axel Reichert + erl"autert den Umgang mit gleitenden Umgebungen und ist hier im Netz + zu finden: + \begin{quote} + \url{ftp://dante.ctan.org/pub/tex/info/german/gleitobjekte/} + \end{quote} -\subsection{caption v\texorpdfstring{$3.0$}{3.0}} -\label{caption3} +\item + \textsf{epslatex} von Keith Reckdahl enth"alt viele n"utzliche Tips im + Zusammenhang mit der Einbindung von Graphiken in \LaTeXe. + Das Dokument ist in Englisch und unter + \begin{quote}\url{ftp://dante.ctan.org/pub/tex/info/epslatex/}\end{quote} + zu finden. +\end{itemize} -%\NEWdescription{v3.1} -\Thispackage\ \version{3.0} hatte keine weiteren Dokumentenklassen -aktiv unterstützt als die drei Standard"=Klassen, die \LaTeX\ selber -mitbringt: |article|, |report| und |book|. -Daher waren die Vorbelegungen der Einstellungsmöglichkeiten fest durch -dieses Paket vorgegeben, sie repräsentierten das Aussehen bei Verwendung -einer dieser Klassen. -Nun aber unterstützt \thispackage\ mehr Dokumentenklasse aktiv, folglich -kann die Vorbelegung nun von der verwendeten Dokumentenklasse abhängen. +% --------------------------------------------------------------------------- % -Ein Beispiel: Während in \version{3.0} die Vorbelegung der Ausrichtung -immer |justification=|\xx|justified| was, ist sie nun immer noch |justified| -wenn eine der drei Standardklassen verwendet wird, aber -|justification=|\xx|raggedright|, wenn die \package{beamer}"=Klasse verwendet -wird. +\pagebreak[3] +\section{Danksagungen} -Möchten sie weiterhin die "`alten"' Vorbelegungen, so können Sie die Option -|style=base| beim Laden des \package{caption}"=Paketes angeben oder später -mittels |\captionsetup|\xx|{style=base}| den alten Grundzustand wieder herstellen. +Von ganzem Herzen danke ich Katja Melzner, +Steven D. Cochran, Frank Mittelbach, Olga Lapko, +David Carlisle, Carsten Heinz und Keith Reckdahl. -Weiterhin prüft die aktuelle Version des \package{caption}"=Paketes automatisch -nach Inkompatibilitäten und gibt ggf.~ eine Warnung diesbezüglich aus. -Sollte eine ernsthafte Inkompatibilität festgestellt werden, werden außerdem -einige Features des \package{caption}"=Paketes abgeschaltet. -Lediglich diese Prüfung ist neu, wenn sie also neuerdings eine -Kompatibilitätswarnung erhalten, so waren auch bereits vorangegangene Versionen -des \package{caption}"=Paketes inkompatibel, dies hatte sich aber früher "`nur"' -durch Seiteneffekte bzw.~nicht korrekt funktionierende Features geäußert. -Die Kompatibilitätswarnungen sagen auch nicht aus, daß etwas schief gegangen ist, -sondern lediglich, daß etwas schief gehen kann. Sie sollten aber auf jeden Fall, -wenn Sie \thispackage\ trotz einer solchen Warnung einsetzen, die Abbildungs- -und Tabellenbeschriftungen bzgl.~ ihres Aussehens genau im Auge behalten. +Weiterhin möchte ich mich herzlich bei +Harald Harders, +Peter Löffler, +Peng Yu, +Alexander Zimmermann, +Matthias Pospiech, +Jürgen Wieferink, +Christoph Bartoschek, +Uwe Stöhr, +Ralf Stubner, +Geoff Vallis, +Florian Keiler, +Jürgen Göbel, +Uwe Siart, +Sang-Heon Shim, +Henrik Lundell, +David Byers, +William Asquith, +Prof.~Dr.~Dirk Hoffmann, +Frank Martini, +Danie Els +und Markus Kohm +für ihre Hilfe beim stetigen Verbessern dieses Paketes bedanken. % --------------------------------------------------------------------------- % -\pagebreak[4] +\clearpage\appendix \section{Alphabetische Referenz} %\newenvironment{Warnings}% @@ -2139,104 +3753,125 @@ und Tabellenbeschriftungen bzgl.~ ihres Aussehens genau im Auge behalten. } \makeatother -\subsection{Befehle} - -\begin{longtable}{lll} -Befehl & & Abschnitt \\ -\hline -\endhead -|\abovecaptionskip| & & \ref{skips} \\ -%|\AtBeginCaption| & & \ref{x} \\ -%|\AtEndCaption| & & \ref{x} \\ -|\belowcaptionskip| & & \ref{skips} \\ -|\caption| & & \ref{commands} \\ -|\caption*| & & \ref{commands} \\ -|\captionof| & & \ref{commands} \\ -|\captionof*| & & \ref{commands} \\ -|\captionsetup| & & \ref{commands} \\ -|\captionsetup*| & & \ref{commands} \\ -|\centerfirst| & & \ref{justification} \\ -|\centerlast| & & \ref{justification} \\ -|\clearcaptionsetup| & & \ref{commands} \\ -|\clearcaptionsetup*| & & \ref{commands} \\ -|\ContinuedFloat| & & \ref{ContinuedFloat} \\ -|\DeclareCaptionFont| & & \ref{declare} \\ -|\DeclareCaptionFormat| & & \ref{declare} \\ -|\DeclareCaptionFormat*| & & \ref{declare} \\ -|\DeclareCaptionJustification| & & \ref{declare} \\ -|\DeclareCaptionLabelFormat| & & \ref{declare} \\ -|\DeclareCaptionLabelSeparator| & & \ref{declare} \\ -|\DeclareCaptionLabelSeparator*| & & \ref{declare} \\ -|\DeclareCaptionListFormat| & & \ref{declare} \\ -|\DeclareCaptionOption| & & \ref{declare} \\ -|\DeclareCaptionStyle| & & \ref{declare} \\ -|\DeclareCaptionSubType| & & \ref{DeclareCaptionType} \\ -|\DeclareCaptionTextFormat| & & \ref{declare} \\ -|\DeclareCaptionType| & & \ref{DeclareCaptionType} \\ -|\showcaptionsetup| & & \ref{commands} \\ -\end{longtable} - -\pagebreak[4] \subsection{Optionen} -\newcommand\preambleoption{ \footnotemark[1]} +\newcommand\preambleoption{~% + \begingroup\def\thefootnote{\fnsymbol{footnote}}% + \footnotemark[2]% + \endgroup} +\newcommand\preambleoptiontext{% + \begingroup\def\thefootnote{\fnsymbol{footnote}}% + \footnotetext[2]{Diese Optionen stehen nur in dem Dokumentenvorspann + (Präambel) zur Verfügung.}% + \endgroup} -\begin{longtable}{lll} -Option & Kurzbeschreibung & Abschnitt \\ +\begin{longtable*}{lll} +Option & Kurzbeschreibung & Abschnitt \\ \hline \endhead |aboveskip| & setzt den Abstand über der Beschriftung & \ref{skips} \\ |belowskip| & setzt den Abstand unter der Beschriftung & \ref{skips} \\ -|compatibility|\preambleoption & erzwingt (Nicht-)Kompatibilität & \ref{classes} \\ -%|config| & & \ref{x} \\ -|figurename| & setzt den Abbildungsnamen & \ref{x} \\ +|compatibility|\preambleoption & erzwingt (Nicht-)Kompatibilität & \ref{compatibility} \\ +%|config| & & \ref{x} \\ +|figurename|\preambleoption & setzt den Abbildungsnamen & \ref{names} \\ |figureposition|\preambleoption & gibt einen Hinweis auf die Position & \ref{skips} \\ -|font| & wählt den Zeichensatz & \ref{fonts} \\ +|figurewithin|\preambleoption & wählt die Zählerebene der Abbildungen & \ref{numbering} \\ +|font|(|+|) & wählt den Zeichensatz & \ref{fonts} \\ |format| & wählt das Format & \ref{formats} \\ -|FPlist| & wohin soll der Listeneintrag einer FPfigure zeigen? & \ref{fltpage} \\ -|FPref| & wohin soll ein |\ref| einer FPfigure zeigen? & \ref{fltpage} \\ +|FPlist| & Wohin soll der Listeneintrag einer FPfigure zeigen? & \ref{fltpage} \\ +|FPref| & Wohin soll ein |\ref| einer FPfigure zeigen? & \ref{fltpage} \\ |hangindent| & setzt den "`hängenden"' Einzug & \ref{margins} \\ |hypcap| & wählt das "`hypcap"' Feature aus & \ref{hyperref} \\ |hypcapspace| & setzt den Abstand über einem Hyperlink & \ref{hyperref} \\ |indention| & setzt den Einzug & \ref{margins} \\ |justification| & wählt die Ausrichtung & \ref{justification} \\ -|labelfont| & wählt den Zeichensatz des Bezeichners & \ref{fonts} \\ +|labelfont|(|+|) & wählt den Zeichensatz des Bezeichners & \ref{fonts} \\ |labelformat| & wählt das Format des Bezeichners & \ref{formats} \\ |labelsep| & wählt den Trenner zw. Bezeichner$+$Text & \ref{formats} \\ -|labelseparator| & wählt den Trenner zw. Bezeichner$+$Text & \ref{formats} \\ -|list| & schaltet die Listeneinträge an bzw. aus & \ref{list} \\ -|listformat| & wählt das Listenformat & \ref{list} \\ +|labelseparator| & -- identisch mit |labelsep| -- & \ref{formats} \\ +|list| & schaltet die Listeneinträge an bzw. aus & \ref{lists} \\ +|listfigurename| & setzt den Namen des Abbildungsverzeichnisses & \ref{names} \\ +|listformat| & wählt das Listenformat & \ref{lists} \\ +|listtablename| & setzt den Namen des Tabellenverzeichnisses & \ref{names} \\ |margin| & setzt den Rand bzw. die Ränder & \ref{margins} \\ |margin*| & setzt den Rand, sofern keine Breite gesetzt ist & \ref{margins} \\ |maxmargin| & setzt den max. zu verwendenen Rand & \ref{margins} \\ |minmargin| & setzt den min. zu verwendenen Rand & \ref{margins} \\ -|oneside| & wählt den einseitigen Modus & \ref{x} \\ -|options| & führt die angegebene Optionsliste aus & \ref{x} \\ +|name| & setzt den Namen der aktuellen Umgebung & \ref{names} \\ +|oneside| & wählt den einseitigen Modus & \ref{margins} \\ +|options| & führt die angegebene Optionsliste aus & \\ |parindent| & setzt den Absatzeinzug & \ref{margins} \\ |parskip| & setzt den Absatzabstand & \ref{margins} \\ |position| & gibt einen Hinweis auf die Position & \ref{skips} \\ -|singlelinecheck| & schaltet die "`Ein-Zeilen-Prüfung"' ein bzw. aus & \ref{justification} \\ +|singlelinecheck| & schaltet die "`Ein-Zeilen-Prüfung"' ein bzw. aus & \ref{justification} \\ %|size| & wählt die Größe des Zeichensatzes & \ref{x} \\ |skip| & setzt den Abstand zwischen Inhalt \& Beschriftung & \ref{skips} \\ |strut| & schaltet die Verwendung von |\strut| ein bzw. aus & \ref{formats} \\ -|style| & wählt einen kompletten Stil aus & \ref{style} \\ -|tablename| & setzt den Tabellennamen & \ref{x} \\ +|style| & wählt einen Stil aus & \ref{style} \\ +%|style*| & wählt einen Stil aus & \ref{style} \\ +|subtype| & setzt den Typ der Unterbeschriftungen & \phantom{t}--~\footnotemark \\ +|tablename|\preambleoption & setzt den Tabellennamen & \ref{names} \\ |tableposition|\preambleoption & gibt einen Hinweis auf die Position & \ref{skips} \\ -|textfont| & wählt den Zeichensatz des Textes & \ref{fonts} \\ +|tablewithin|\preambleoption & wählt die Zählerebene der Tabellen & \ref{numbering} \\ +|textfont|(|+|) & wählt den Zeichensatz des Textes & \ref{fonts} \\ |textformat| & wählt das Format des Textes & \ref{formats} \\ -|twoside| & wählt den zweiseitigen Modus & \ref{x} \\ -|type| & setzt den Typ \& setzt einen Hyperlink-Anker & \ref{x} \\ -|type*| & setzt (nur) den Typ & \ref{x} \\ +|twoside| & wählt den zweiseitigen Modus & \ref{margins} \\ +|type| & setzt den Typ \& setzt ggf.~einen Hyperlink-Anker & \ref{types} \\ +|type*| & setzt (nur) den Typ & \ref{types} \\ |width| & setzt eine feste Breite & \ref{margins} \\ -\end{longtable} -\footnotetext[1]{Diese Optionen stehen nur in dem Dokumentenvorspann (Preamble) - zur Verfügung.} -\nopagebreak\parbox[t]{\linewidth}{\small\emph{Hinweis:} - Veraltete Optionen sind hier nicht gelistet, - diese sind in\\ - \hspace*{1em}\Ref{caption1} und\\ - \hspace*{1em}\Ref{caption2} zu finden.} +\end{longtable*} +\preambleoptiontext +\footnotetext{Die Option \texttt{subtype} ist in der Dokumentation + des \package{subcaption}"=Paketes beschrieben.} + +\nopagebreak\parbox[t]{\linewidth}{% prevent from page break +\begin{Note*} + Veraltete Optionen sind hier nicht gelistet; diese sind in + \Ref{caption1} und + \Ref{caption2} zu finden. +\end{Note*}} -\pagebreak[4] +\pagebreak[3] +\subsection{Befehle} + +\begin{longtable*}{lll} +Befehl & & Abschnitt \\ +\hline +\endhead +|\abovecaptionskip| & & \ref{skips} \\ +%|\AtBeginCaption| & & \ref{hooks} \\ +%|\AtEndCaption| & & \ref{hooks} \\ +|\belowcaptionskip| & & \ref{skips} \\ +|\caption| & & \ref{caption} \\ +|\caption*| & & \ref{caption} \\ +|\captionlistentry| & & \ref{captionlistentry} \\ +|\captionof| & & \ref{caption} \\ +|\captionof*| & & \ref{caption} \\ +|\captionsetup| & & \ref{captionsetup} \\ +|\captionsetup*| & & \ref{captionsetup} \\ +|\centerfirst| & & \ref{justification} \\ +|\centerlast| & & \ref{justification} \\ +|\clearcaptionsetup| & & \ref{captionsetup} \\ +|\clearcaptionsetup*| & & \ref{captionsetup} \\ +|\ContinuedFloat| & & \ref{ContinuedFloat} \\ +|\DeclareCaptionFont| & & \ref{declare} \\ +|\DeclareCaptionFormat| & & \ref{declare} \\ +|\DeclareCaptionFormat*| & & \ref{declare} \\ +|\DeclareCaptionJustification| & & \ref{declare} \\ +|\DeclareCaptionLabelFormat| & & \ref{declare} \\ +|\DeclareCaptionLabelSeparator| & & \ref{declare} \\ +|\DeclareCaptionLabelSeparator*| & & \ref{declare} \\ +|\DeclareCaptionListFormat| & & \ref{declare} \\ +|\DeclareCaptionOption| & & \ref{declare} \\ +|\DeclareCaptionStyle| & & \ref{declare} \\ +|\DeclareCaptionSubType| & & --~\footnotemark \\ +|\DeclareCaptionTextFormat| & & \ref{declare} \\ +|\DeclareCaptionType| & & \ref{declare} \\ +|\showcaptionsetup| & & \ref{captionsetup} \\ +\end{longtable*} +\footnotetext{\cs{DeclareCaptionSubType} ist in der Dokumentation + des \package{subcaption}"=Paketes beschrieben.} + +\clearpage \subsection{Warnungen} \begin{Warnings} @@ -2246,11 +3881,13 @@ Option & Kurzbeschreibung & Abschnitt \\ \Or |\captionsetup{type=...} outside box or environment.| \Or - |\captionsetup{type*=...} or \captionof outside box or environment.| + |\captionsetup{type*=...} or \captionof outside box|\\ + | or environment.| \Description - |\caption|, |\captionof| sowie |\captionsetup{|\xx|type=|\xx\meta{type}|}| - sind nur für die Anwendung innerhalb einer Box, Gruppe oder Umgebung konzipiert. - \par\See{\Ref{commands}} + |\caption|, |\caption|\-|of| sowie |\caption|\-|setup{type=|\x\meta{type}|}| + sind nur für die Anwendung \emph{innerhalb} einer Box, Gruppe oder Umgebung + konzipiert. Außerhalb können unerwünschte Seiteneffekte auftreten. + \par\See{\Ref{types} und \Ref{caption}} \Message |\caption will not be redefined since it's already|\\ @@ -2261,89 +3898,91 @@ Option & Kurzbeschreibung & Abschnitt \\ |\caption| erkannt hat, definiert es |\caption| nicht erneut um, da dies unweigerlich den Verlust der ursprünglichen Erweiterung zur Folge hätte. Daher funktionieren manche Features, wie |\caption*|, - |\ContinuedFloat|, das optionale Argument von |\captionsetup|, + |\Continued|\-|Float|, das optionale Argument von |\caption|\-|setup|, sowie die Optionen |list=| und |hypcap=| nicht mehr; sie werden entweder ignoriert oder arbeiten nicht erwartungsgemäß.\par Wenn Sie an der ursprünglichen Erweiterung nicht interessiert sind und stattdessen den vollen Umfang des \package{caption}"=Paketes verwenden wollen, können Sie es mit der nicht supporteten(!) - Option |compatibility=false| probieren und die Daumen drücken. + Option |compatibility=|\x|false| probieren und die Daumen drücken. (Aber Sie werden die nächste Warnung stattdessen bekommen.) - \par\See{\Ref{classes}} + \par\See{\Ref{classes} und \Ref{compatibility}} \Message |Forced redefinition of \caption since the|\\ |unsupported(!) package option `compatibility=false'|\\ |was given.| \Description - Da Sie so mutig waren, die Option |compatibility=false| zu probieren, + Da Sie so mutig waren, die Option |compatibility=|\x|false| zu probieren, wird \thispackage\ sein bestes geben, um diesen Wunsch zu erfüllen. Aber je nach verwendeter Dokumentenklasse bzw.~Pakete sollten Sie sich - auf nicht"=funktionierende Features oder gar Fehlermeldungen einstellen. + auf Fehlfunktionen oder Fehlermeldungen einstellen. Also bitte die Daumen gedrückt halten! - \par\See{\Ref{classes}} + \par\See{\Ref{compatibility}} \Message |Hyperref support is turned off because hyperref has|\\ |stopped early.| \Description - Wenn das \package{hyperref}"=Paket seinen Dienst einstellt (den Grund hierfür - teilt es Ihnen mit), ist auch die \package{hyperref}"=Unterstützung des - \package{caption}"=Paketes nicht verfügbar. Als Folge werden Sie einige - Warnungen des \package{hyperref}"=Paketes bekommen, ferner werden Hyperlinks + Wenn das \package{hyperref}"=Paket vorzeitig seinen Dienst einstellt + (den Grund hierfür teilt es Ihnen mit), ist auch die + \package{hyperref}"=Unterstützung des \package{caption}"=Paketes nicht + verfügbar. Als Folge werden Sie einige Warnungen des + \package{hyperref}"=Paketes bekommen, ferner werden Hyperlinks auf Abbildungen und Tabellen nicht funktionsfähig sein. - \par\See{\Ref{hyperref}} + \par\See{\Ref{hyperref}\,} \Message |Ignoring optional argument [|\meta{pos}|] of \setcapwidth.| \Description \Thispackage\ bemüht sich, so gut es kann, die \KOMAScript"=Befehle bzgl.~Tabellen und Abbildungen zu emulieren. Aber das optionale Argument - von |\setcapwidth| funktioniert (noch) nicht; wenn Sie es angeben, - wird diese Warnung ausgegeben. + von |\setcapwidth| funktioniert (noch) nicht; wenn Sie es dennoch angeben, + wird daher diese Warnung ausgegeben. \par\See{\Ref{KOMA}} \Message - |Internal Warning: |\meta{Warnungstext}|.| + |Internal Warning: |\meta{warning message}|.| \Description Diese Warnung sollten Sie niemals sehen; entweder verwenden Sie ein Paket, welches |figure| und/oder |table| in einer dem \package{caption}"=Paket - unbekannten Art \& Weise verändert, oder aber es ist ein Bug im + unbekannten Art \& Weise verändert, oder aber es ist ein Fehler im \package{caption}"=Paket. Bitte senden Sie mir einen Fehlerbericht diesbezüglich per E-Mail. Danke! \Message |\label before \caption ignored| \Description - Anders als bei nicht gleitenden Umgebungen wird bei den + Anders als bei den meisten nicht gleitenden Umgebungen wird bei den gleitenden Umgebungen die interne Referenz erst bei Anwendung des Befehls |\caption| erzeugt. Ein |\label| Befehl, der auf diese Abbildung - bzw.~Tabelle verweisen soll, muß daher entweder \emph{nach} |\caption| - oder innerhalb des Argumentes von |\caption| platziert werden. + bzw.~Tabelle verweisen soll, muß daher entweder \emph{nach} oder innerhalb + des Argumentes von |\caption| platziert werden. \Message |Option `|\meta{option}|' was not in list `|\meta{option list}|'.| \Description Wenn Sie versuchen, eine bestimmte Option aus einer Optionsliste zu - entfernen, zum Beispiel mit |\clearcaptionsetup[position]{table}|, + entfernen, zum Beispiel mit |\clear|\-|caption|\-|setup[po|\-|si|\-|tion]{table}|, und die angegebene Option kann nicht in der Liste gefunden werden, so erhalten Sie die obenstehende Warnung. Liegt dies nicht an einem Schreibfehler Ihrerseits und möchten Sie ferner - diese Warnung unterdrücken, so verwenden können Sie hierzu |\clearcaptionsetup*| - anstelle von |\clearcaptionsetup| verwenden. - \par\See{\Ref{commands}} + diese Warnung unterdrücken, so können Sie hierzu + |\clear|\-|caption|\-|setup*| anstelle von |\clear|\-|caption|\-|setup| + verwenden. + \par\See{\Ref{captionsetup}} \Message |Option list `|\meta{option list}|' undefined.| \Description Wenn Sie versuchen, eine bestimmte Option aus einer Optionsliste zu - entfernen, zum Beispiel mit |\clearcaptionsetup[format]{figure}|, + entfernen, zum Beispiel mit |\clear|\-|caption|\-|setup[for|\-|mat]{figure}|, und die angegebene Optionsliste ist (noch) nicht definiert, so erhalten Sie die obenstehende Warnung. Liegt dies nicht an einem Schreibfehler Ihrerseits und möchten Sie ferner - diese Warnung unterdrücken, so verwenden können Sie hierzu |\clearcaptionsetup*| - anstelle von |\clearcaptionsetup| verwenden. - \par\See{\Ref{commands}} + diese Warnung unterdrücken, so können Sie hierzu |\clear|\-|caption|\-|setup*| + anstelle von |\clear|\-|caption|\-|setup| verwenden. + \par\See{\Ref{captionsetup}} \iffalse \Message @@ -2359,10 +3998,10 @@ Option & Kurzbeschreibung & Abschnitt \\ |`ragged2e' package not loaded, therefore|\\ |substituting \raggedright for \RaggedRight.| \Description - Die Option |justification=|\xx|RaggedRight| ist nur dann voll funktionsfähig, + Die Option |justification=|\x|RaggedRight| ist nur dann voll funktionsfähig, wenn Sie das \package{ragged2e}"=Paket auf Ihrem \TeX"=System installiert haben. - Ist dies nicht der Fall, erhalten Sie diese Warnung und |justification=|\xx|RaggedRight| - wird im späteren Verlauf des Dokumentes wie |justification=|\xx|raggedright| + Ist dies nicht der Fall, erhalten Sie diese Warnung und |justification=|\x|RaggedRight| + wird im späteren Verlauf des Dokumentes wie |justification=|\x|raggedright| behandelt werden. \par\See{\Ref{justification}} @@ -2370,8 +4009,8 @@ Option & Kurzbeschreibung & Abschnitt \\ |Obsolete option `ignoreLTcapwidth' ignored.| \Description Die Option |ignoreLTcapwidth| des \package{caption2}"=Paketes wird nicht von - diesem Paket emuliert. In der Regel können Sie aber diese Option ohne Nebeneffekte - einfach entfernen. + diesem Paket emuliert. In der Regel können Sie aber diese Option einfach + ersatzlos entfernen. \par\See{\Ref{caption2} und \Ref{longtable}} \Message @@ -2382,52 +4021,54 @@ Option & Kurzbeschreibung & Abschnitt \\ wenn es tatsächlich benötigt wird. Um dies zu gewährleisten, sind zwei \LaTeX"=Läufe notwendig, daher können Sie beim ersten Durchlauf diese Warnung bekommen. - Im nächsten \LaTeX"=Lauf sollte also diese Warnung verschwunden sein. + Mit dem nächsten \LaTeX"=Lauf sollte also diese Warnung verschwunden sein. \par\See{\Ref{justification}} \Message |Reference on page |\meta{page no.}| undefined.| \Description Ist ein zweiseitiges Dokumentenlayout gewählt, benötigt \thispackage\ zwei - \LaTeX"=Läufe, um die Ränder richtig zuordnen zu können; + \LaTeX"=Läufe, um die Ränder korrekt zuordnen zu können; daher können Sie beim ersten Durchlauf diese Warnung bekommen. - Im nächsten \LaTeX"=Lauf sollte also diese Warnung verschwunden sein. + Mit dem nächsten \LaTeX"=Lauf sollte also diese Warnung verschwunden sein. \par\See{\Ref{margins}} \Message |The caption type was already set to `|\meta{type}|'.| \Description Diese Warnung informiert Sie über vermische \package{caption}"=Optionen. - Wenn Sie z.B.~ein |\captionof|\xx|{table}|\xx|{|\ldots|}| in einer |figure| - Umgebung verwenden, werden beide Optionensätze, sowohl derjenige für |figure| - (mittels |\captionsetup|\xx|[figure]|\xx|{|\ldots|}| angegeben) als auch - derjenige für |table| (mittels |\captionsetup|\xx|[table]|\xx|{|\ldots|}| - angegeben), angewandt. - \par\See{\Ref{commands}} + Wenn Sie z.B.~|\caption|\-|setup{type=|\x|table}| oder + |\caption|\-|of{table}{|\ldots|}| in einer |figure| Umgebung verwenden, + werden beide Optionssätze, sowohl derjenige für |figure| + (mit |\caption|\-|setup[figure]{|\ldots|}| angegeben) als auch + derjenige für |table| (mit |\caption|\-|setup[table]{|\ldots|}| angegeben), + angewandt. + {\small(Diese Warnung kann bei Bedarf durch Verwendung der Stern-Form + |\caption|\-|setup*{type=|\x\ldots|}| unterdrückt werden.)\par} + \par\See{\Ref{captionsetup}} \Message |The option `hypcap=true' will be ignored for this|\\ |particular \caption.| \Description \Thispackage\ hat keinen geeigneten Hyperlink"=Anker für diese Beschriftung - gefunden, daher hat es entschlossen, die Einstellung |hypcap=true| (die per + gefunden, daher hat es entschlossen, die Einstellung |hypcap=|\-|true| (die per Standard gesetzt ist) zu ignorieren. Als Folge werden Hyperlinks zu dieser Abbildung oder Tabelle (etwa über das - Abbildungsverzeichnis, oder selber mit |\ref| oder |\autoref| angelegt) + Abbildungsverzeichnis, oder selber mit |\ref| oder |\auto|\-|ref| angelegt) nicht auf den Beginn der Abbildung oder Tabelle verweisen, sondern stattdessen auf deren Beschriftung.\par - Dies kann z.B.~passieren, wenn eine Beschriftung mittels |\captionof| innerhalb - einer nicht-gleitenden Umgebung gesetzt wird, aber auch, wenn ein Sie ein Paket - in Ihrem Dokument verwenden, welches die Umgebungen |figure| oder |table| - umdefiniert hat, dieses Paket aber dem \package{caption}"=Paket unbekannt - ist.\par + Dies kann zum Beispiel passieren, wenn eine Beschriftung mit |\caption|\-|of| + innerhalb einer nicht-gleitenden Umgebung gesetzt wird, aber auch, wenn ein + Sie ein Paket in Ihrem Dokument verwenden, welches die Umgebungen |figure| + oder |table| umdefiniert hat, dieses Paket aber dem \package{caption}"=Paket + unbekannt ist.\par Ist dies für Sie ok, aber die Warnung stört Sie, können Sie sie - |\captionsetup{|\xx|hypcap=|\xx|false}| direkt vor dem betroffenen |\caption| - oder |\captionof| Befehl platzieren. - Ist dies hingegen nicht für Sie ok, können Sie versuchen, selber an geeigneter - Stelle einen Hyperlink"=Anker mit |\captionsetup{|\xx|type=|\xx\meta{Typ}|}| - zu setzen. - \par\See{\Ref{hyperref}} + |\caption|\-|setup{hyp|\-|cap=|\x|false}| direkt vor dem betroffenen |\caption| + oder |\caption|\-|of| Befehl platzieren. + Ist dies hingegen nicht für Sie ok, können Sie selber an geeigneter Stelle mit + |\caption|\-|setup{type=|\x\meta{float type}|}| einen Hyperlink"=Anker setzen. + \par\See{\Ref{hyperref}\,} \Message |Unsupported document class (or package) detected,|\\ @@ -2435,27 +4076,28 @@ Option & Kurzbeschreibung & Abschnitt \\ \Description Entweder ist die verwendete Dokumentenklasse dem \package{caption}"=Paket unbekannt, oder aber Sie haben ein Paket in Ihrem Dokument eingebunden, - welches ebenfalls das interne Makro |\@makecaption| (was für das Setzen - der Abbildungs- und Tabellenbeschriftungen zuständig ist) umdefiniert. + welches ebenfalls das interne Makro |\@make|\-|caption| (welches intern für + das Setzen der Abbildungs- und Tabellenbeschriftungen zuständig ist) + umdefiniert. Wie-auch-immer, \thispackage\ wird entweder das Design der Beschriftungen in einer ungewollten Art \& Weise verändern, oder aber es wird zu keinem geordneten Verhalten und/oder Fehlermeldungen kommen. Deswegen wird in diesem Falle die Verwendung des \package{caption}"=Paketes nicht empfohlen. - \par\See{\Ref{classes}} + \par\See{\Ref{classes} und \Ref{compatibility}} \Message |Unused \captionsetup[|\meta{type}|].| \Description - Es wurden Optionen mit |\captionsetup[|\meta{Typ}|]| definiert, die im Laufe - des Dokumentes aber nicht zur Anwendung gekommen sind. + Es wurden Optionen mit |\caption|\-|setup[|\meta{Typ}|]| definiert, die im + weiteren Verlauf des Dokumentes aber nicht zur Anwendung gekommen sind. Dies kann zum einen an einem Schreibfehler im Argument \meta{Typ} liegen, aber auch daran, daß ein dem \package{caption}"=Paket unbekanntes Paket - die Umgebungen |figure| und/oder |table| umdefiniert hat, oder auch einfach, - weil Sie die angegebene Umgebung gar nicht im späteren Verlauf Ihres Dokumentes - verwenden.\par - Möchten Sie diese Warnung unterdrücken, so verwenden Sie hierzu - |\caption|\x|setup*| anstelle von |\caption|\x|setup|. - \par\See{\Ref{commands}} + die Umgebungen |figure| und/oder |table| umdefiniert hat, oder auch einfach + daran, daß Sie die angegebene Umgebung gar nicht im späteren Verlauf Ihres + Dokumentes verwenden. + (Möchten Sie diese Warnung unterdrücken, so verwenden Sie + |\caption|\-|setup*| anstelle von |\caption|\-|setup|.) + \par\See{\Ref{captionsetup}} \Message |Usage of the |\meta{package}| package together with the|\\ @@ -2471,7 +4113,7 @@ Option & Kurzbeschreibung & Abschnitt \\ \end{Warnings} -\pagebreak[4] +\PageBreak \subsection{Fehlermeldungen} \begin{Warnings} @@ -2481,44 +4123,45 @@ Option & Kurzbeschreibung & Abschnitt \\ \Or |Paragraph ended before \@caption was complete.| \Description - Beim Setzen von Beschriftungen, die etwas spezielles wie z.B.~eine - Tabelle enthält, ist zu beachten, daß immer ein alternativer Listeneintrag - als optionales Argument bei |\caption| bzw. |\captionof| mit angegeben + Beim Setzen von Beschriftungen, die etwas spezielles wie z.B.~eine Tabelle + enthalten, ist zu beachten, daß immer ein alternativer Listeneintrag als + optionales Argument bei |\caption| bzw. |\caption|\-|of| mit angegeben werden muß, auch wenn Ihr Dokument gar kein Abbildungs- oder Tabellenverzeichnis beeinhaltet. - \par\See{\Ref{commands}, \Ref{list} und \Ref{hyperref}\,} + \par\See{\Ref{caption}, \Ref{lists} und \Ref{hyperref}\,} \Message |\caption outside float.| \Description |\caption| ist (in der Regel) nur für die Anwendung in gleitenden Umgebungen wie |figure| oder |table|, oder für die Anwendung innerhalb - |longtable| konzipiert, ansonsten bekommen Sie obenstehende Fehlermeldung.\par - Um eine Beschriftung innerhalb einer anderen Umgebung zu setzen, verwenden Sie - bitte entweder die Kombination |\captionsetup{|\xx|type=|\xx\meta{type}|}| $+$ - |\caption|, oder aber |\captionof|. - \par\See{\Ref{commands}} + |long|\-|table| oder |wrap|\-|figure| konzipiert, ansonsten bekommen Sie + obenstehende Fehlermeldung. + Um eine Beschriftung innerhalb einer anderen Umgebung zu setzen, verwenden + Sie bitte entweder die Kombination |\caption|\-|setup{type=|\x\meta{type}|}| + $+$ |\caption|, oder aber |\caption|\-|of|. + \par\See{\Ref{caption}} \Message |\ContinuedFloat outside float.| \Description - |\ContinuedFloat| ist nur für die Anwendung innerhalb einer gleitenden - Umgebung wie |figure| oder |table| konzipiert. %oder auch |longtable| + |\Continued|\-|Float| ist nur für die Anwendung innerhalb einer gleitenden + Umgebung wie |figure| oder |table| konzipiert. %oder auch |long|\-|table| Für die Anwendung in einer Box, Gruppe oder nicht-gleitenden Umgebung bietet sich die Kombination - |\captionsetup{|\xx|type=|\xx\meta{Typ}|}| $+$ |\ContinuedFloat| an.\par - |\ContinuedFloat| innerhalb einer |longtable| funktioniert zwar (noch) - nicht, aber vielleicht ist die |longtable*| Umgebung, die eine longtable + |\caption|\-|setup{type=|\x\meta{type}|}| $+$ |\Continued|\-|Float| an.\par + |\Continued|\-|Float| innerhalb einer |long|\-|table| ist nicht möglich, + aber vielleicht ist die |longtable*| Umgebung, die eine longtable ohne Erhöhung des Tabellenzählers setzt, für Sie hilfreich. - \par\See{\Ref{commands} und \Ref{longtable}} + \par\See{\Ref{ContinuedFloat} und \Ref{longtable}} \Message |Continued `|\meta{type}|' after `|\meta{type}|'.| \Description - Z.Z.~ dürfen fortlaufende Abbildungen oder Tabellen nicht von anderen gleitenden - Umgebungen oder einer |longtable| unterbrochen werden, so ist z.B.~ eine Tabelle - zwischen einer Abbildung und einer (mit |\ContinuedFloat|) fortgesetzten Abbildung - nicht möglich. + Fortlaufende Abbildungen oder Tabellen dürfen nicht von anderen + gleitenden Umgebungen (oder einer |long|\-|table|) unterbrochen werden, + so ist z.B.~ eine Tabelle zwischen einer Abbildung und einer + (mit |\Continued|\-|Float|) fortgesetzten Abbildung nicht möglich. \par\See{\Ref{ContinuedFloat}} \Message @@ -2528,7 +4171,8 @@ Option & Kurzbeschreibung & Abschnitt \\ \Description Achten Sie bei der gleichzeitigen Verwendung der Pakete \package{wrapfig} und \package{float} unbedingt auf die richtige Ladereihenfolge und - Anwendung. + Anwendung; das \package{wrapfig}"=Paket sollte unmittelbar nach + dem \package{float}"=Paket geladen werden. \par\See{\Ref{wrapfig}} \Message @@ -2546,28 +4190,36 @@ Option & Kurzbeschreibung & Abschnitt \\ |`|\meta{date}|' of package |\meta{package}|, but only version|\\ |`|\meta{old-date}|' is available.| \Description - Das aktuelle \package{caption}"=Paket kann nicht mit einem solchen, + Das aktuelle \package{caption}"=Paket kann nicht mit einem solch veralteten Paket zusammen betrieben werden. Bitte aktualisieren Sie das betroffene Paket, zumindest auf die - benötigte Version. + angegebene Version. \Message - |Internal Error: |\meta{Fehlertext}|.| + |Internal Error: |\meta{error message}|.| \Description Diesen Fehler sollten Sie niemals sehen. Wenn doch, senden Sie mir bitte einen Fehlerbericht per E-Mail. \Message - |No float type '|\meta{Typ}|' defined.| + |No float type '|\meta{type}|' defined.| \Description - \TODO + Der in |\caption|\-|setup{type=|\x\meta{type}|}|, + |\caption|\-|of|\marg{type}, oder |\Declare|\-|Caption|\-|Sub|\-|Type| + angegebene \meta{type} ist unbekannt. + \meta{type} sollte entweder `\texttt{figure}' oder `\texttt{table}', oder + aber eine mit mit |\Declare|\-|Caption|\-|Type|, |\new|\-|float| + (vom \package{float}"=Paket\cite{float} bereitgestellt) + oder |\Declare|\-|NewFloat|\-|Type| + (vom \package{floatrow}"=Paket\cite{floatrow} bereitgestellt) + definierte Gleitumgebung sein. \Message |Not allowed in longtable* environment.| \Description - Der Befehl |\caption| ist nicht immerhalb einer |longtable*| Umgebung - erlaubt. Verwenden sie entweder |\caption*| für eine Beschriftung ohne - Bezeichner oder benutzen Sie die reguläre |longtable| Umgebung. + Der Befehl |\caption| ist immerhalb einer |long|\-|table*| Umgebung + nicht erlaubt. Verwenden sie entweder |\caption*| für eine Beschriftung + ohne Bezeichner oder benutzen Sie die reguläre |long|\-|table| Umgebung. \Message |Not available in compatibility mode.| @@ -2582,7 +4234,8 @@ Option & Kurzbeschreibung & Abschnitt \\ |Only one \caption can be placed in this environment.| \Description Innerhalb der Umgebungen, die das \package{fltpage} oder \package{sidecap} - Paket zur Verfügung stellt, kann nur eine Bildbeschriftung gesetzt werden. + Paket zur Verfügung stellt, kann nur eine einzige Bildbeschriftung gesetzt + werden. \Message |Option clash for package caption.| @@ -2593,21 +4246,22 @@ Option & Kurzbeschreibung & Abschnitt \\ daher nicht noch einmal mit anderen Optionen laden. Als Verdächtiger kommt z.B.~das \package{ctable} oder das \package{subfig}"=Paket in Frage; sollte dies zutreffen, - laden Sie bitte entweder \thispackage\ \emph{vor} dem betreffenen Paket. + laden Sie bitte \thispackage\ \emph{vor} dem betreffenen Paket. Im Falle des \package{subfig}"=Paketes können Sie auch alternativ beim - Laden des \package{subfig}"=Paketes die Option |caption=false| angeben. + Laden des \package{subfig}"=Paketes die Option |caption=|\-|false| angeben. \par\See{Dokumentation des \package{subfig}"=Paketes\cite{subfig}} \Message - |Runaway argument?|\\ |Paragraph ended before \caption@makecurrent was complete.| +\Or + |Paragraph ended before \caption@prepareanchor was complete.| \Description Beim Setzen von Beschriftungen, die mehr als aus einem Absatz bestehen, ist zu beachten, daß immer ein alternativer Listeneintrag als optionales - Argument bei |\caption| bzw. |\captionof| mit angegeben werden muß, + Argument bei |\caption| bzw. |\caption|\-|of| mit angegeben werden muß, auch wenn Ihr Dokument gar kein Abbildungs- oder Tabellenverzeichnis beeinhaltet. - \par\See{\Ref{commands}, \Ref{list} und \Ref{hyperref}\,} + \par\See{\Ref{caption}, \Ref{lists} und \Ref{hyperref}\,} \iffalse % was removed in v3.1b \Message @@ -2618,20 +4272,22 @@ Option & Kurzbeschreibung & Abschnitt \\ \Description Achten Sie bei der gleichzeitigen Verwendung der Pakete \package{wrapfig} und \package{float} unbedingt auf die richtige Ladereihenfolge und - Anwendung. Aber vielleicht hat auch ein anderes Paket das + Anwendung; das \package{wrapfig}"=Paket sollte unmittelbar nach + dem \package{float}"=Paket geladen werden. + Aber vielleicht hat auch ein anderes Paket das \package{float}"=Paket in einer für \thispackage\ inkompatiblen Art \& Weise erweitert!? \par\See{\Ref{float} und \Ref{wrapfig}} \fi -\iffalse \Message |Something's wrong--perhaps a missing \caption|\\ |in the last figure or table.| \Description - It seems that you have used a |\subcaption| command without a - corresponding |\caption| command. This is not supported. -\fi + Sie scheinen den Befehl |\sub|\-|caption| (oder einen anderen, + der eine Unter"=Beschriftung setzt) ohne eine zugehörige, + mit |\caption| gesetzte, Beschriftung anzuwenden. + Dies wird nicht unterstützt. \Message |The option `labelsep=|\meta{name}|' does not work|\\ @@ -2641,19 +4297,19 @@ Option & Kurzbeschreibung & Abschnitt \\ |with \setcaphanging (which is set by default).| \Description Ein Bezeichnungstrenner, der ein |\\| Kommando enthält (wie etwa - |labelsep=|\xx|newline|), kann nicht mit einem Format kombiniert werden, - welches "`hängende"' Beschriftungen liefert (wie etwa |format=|\xx|hang|). + |labelsep=|\x|newline|), kann nicht mit einem Format kombiniert werden, + welches "`hängende"' Beschriftungen liefert (wie etwa |format=|\x|hang|). Bitte wählen Sie entweder einen anderen Trenner (wie - z.B. |labelsep=|\xx|colon|), oder aber ein anderes Beschriftungsformat - (wie z.B. |format=|\xx|plain|) aus. - \par\See{\Ref{formats} bzw.~\Ref*{KOMA}} + z.B.~|labelsep=|\x|colon|), oder aber ein anderes Beschriftungsformat + (wie z.B.~|format=|\x|plain|) aus. + \par\See{\Ref{formats} bzw.~\Ref{KOMA}} \Message |The package option `caption=false' is obsolete.|\\ |Please pass this option to the subfig package instead|\\ |and do *not* load the caption package anymore.| \Description - Sie haben die Option |caption=false| angegeben. Diese war früher mal eine + Sie haben die Option |caption=|\-|false| angegeben. Diese war früher mal eine Krücke, um nicht das komplette \package{caption}"=Paket zu laden, sondern nur den für das \package{subfig}"=Paket zwingend benötigten Teil. Dieser Mechanismus ist veraltet und wird nicht mehr angeboten; stattdessen @@ -2694,7 +4350,7 @@ Option & Kurzbeschreibung & Abschnitt \\ \Description Es wurde versucht, ein Listenformat auszuwählen, welches nicht definiert ist. Vielleicht ein Schreibfehler!? - \par\See{\Ref{list}} + \par\See{\Ref{lists}} \Message |Undefined position `|\meta{name}|'.| @@ -2746,87 +4402,488 @@ Option & Kurzbeschreibung & Abschnitt \\ % --------------------------------------------------------------------------- % -\pagebreak[4] -\section{Weiterf"uhrende Dokumente} +\clearpage +\section{Versionshistorie} +\label{history} + +Die Version $1.0$ dieses Paketes wurde im Jahr 1994 veröffentlicht und bot +eine Handvoll Optionen, um das Design der Abbildungs- +bzw.~Tabellenbeschriftungen anzupassen. +Ferner unterstützte diese Version bereits das \package{rotating} und +\package{subfigure}"=Paket. +Version $1.1$ führte die |center|\-|last| Option ein; +in Version $1.2$ kam die Unterstützung des \package{float}"=Paketes hinzu. +Die Version $1.3$ verfeinerte die Koorperation mit dem +\package{subfigure}"=Paket; die Version $1.4$ bot die Option |nooneline| +als Neuheit an. + +Die Version $2.0$ des sog.~\package{caption2}"=Paketes war ein +experimenteller Seitenzweig der regulären Version des +\package{caption}"=Paketes. Er wurde im Jahre 1995 als Beta"=Testversion +öffentlich gemacht, um die Nachfrage nach neuen Features und der +Anpassung an das \package{longtable}"=Paket kurzfristig zu befriedigen. +(Eine Version $2.1$ wurde 2002 als Fehlerbereinigung nachgereicht.) + +Im Jahr 2003 hatte ich dann endlich wieder etwas Zeit gefunden, und so +wurde im Dezember die neue reguläre Version $3.0$ in Zusammenarbeit mit +Frank Mittelbach und Steven Cochran aus der Taufe gehoben, die endlich +den arg vernachlässigten Seitenzweig namens \package{caption2} +überflüssig machte. +Weite Teile des Paketes wurden hierfür neu geschrieben, und auch das +Benutzerinterface wurde gründlich renoviert. +Außerdem kam die Unterstützung der Pakete \package{hyperref}, +\package{hypcap}, \package{listings}, \package{sidecap} und +\package{supertabular} hinzu. + +Während all die vorangegangenen Versionen dafür ausgelegt waren, mit +den \LaTeX"=Standarddokumentenklassen \class{article}, \class{report} und +\class{book} benutzt zu werden, unterstützt die im Jahre 2007 +veröffentlichte Version $3.1$ auch die \AmS, die \KOMAScript, \NTG{} und +\SmF{} Dokumentenklassen, ferner auch die \class{beamer}"=Klasse. +Weiterhin kamen die Unterstützung der französischen Babel"=Option +\package{frenchb} und des französischen Sprachpaketes \package{frenchle} +bzw.~\package{frenchpro} hinzu; +außerdem wurde die Anzahl der unterstützten Pakete um die Pakete +\package{floatflt}, \package{fltpage}, \package{picinpar}, +\package{picins}, \package{setspace}, \package{threeparttable} +und \package{wrapfig} erhöht. +Neue Optionen und Befehle wurden ebenfalls eingeführt, unter anderem +|font+|, |figure|\-|within| \& |table|\-|within|, +|list| \& |list|\-|format|, |max|\-|margin| \& |min|\-|margin|, +|\caption|\-|list|\-|entry|, |\Declare|\-|Caption|\-|List|\-|Format| und +|\Declare|\-|Caption|\-|Type|. +Einen weiteren Gewinn stellt der neu integrierte Kompatibilitätscheck +\see*{\Ref{compatibility}}, das neue "`hypcap"' Feature +\see*{\Ref{hyperref}\,}, und die Unterstützung von Teil"=Beschriftungen +\see*{\package{subcaption}"=Paketdokumentation} dar. -Folgende, im Internet verfügbare Dokumente m"ochte ich an dieser Stelle -jedem ans Herz legen: +% --------------------------------------------------------------------------- % -\begin{itemize} -\item - Die \TeX\ FAQ -- "`Frequently Asked Questions"' über \TeX\ und \LaTeX: - \begin{quote}\url{http://faq.tug.org/}\end{quote} +\clearpage +\section{Kompatibilität zu älteren Versionen} + +\subsection{caption v\texorpdfstring{$1.x$}{1.x}} +\label{caption1} + +Diese Version des \thispackage"=Paketes ist weitgehend kompatibel zu den +älteren Versionen $1.0$ bis $1.4$ des Paketes; alte, vorhandene Dokumente +sollten sich also in der Regel ohne Probleme weiterhin übersetzen lassen. +Jedoch ist zu beachten, daß eine Mischung aus alten Befehlen und neueren +Optionen bzw.~Befehlen zu unerwünschten Nebeneffekten führen kann. + +Hier eine kurze Übersicht über die alten, überholten Optionen und ihre +aktuellen Entsprechungen: + +\begin{center}\small +\begin{tabular}{ll} +\package{caption} \version{1.x} & \package{caption} \version{3.x}\\ +\hline +%\endhead +|normal| & |format=plain|\\ +|hang| & |format=hang|\\ +|isu| & |format=hang|\\ +|center| & |justification=centering|\\ +|centerlast| & |justification=centerlast|\\ +%|anne| & |justification=centerlast|\\ +|nooneline| & |singlelinecheck=off|\\ +|scriptsize| & |font=scriptsize|\\ +|footnotesize| & |font=footnotesize|\\ +|small| & |font=small|\\ +|normalsize| & |font=normalsize|\\ +|large| & |font=large|\\ +|Large| & |font=Large|\\ +|up| & |labelfont=up|\\ +|it| & |labelfont=it|\\ +|sl| & |labelfont=sl|\\ +|sc| & |labelfont=sc|\\ +|md| & |labelfont=md|\\ +|bf| & |labelfont=bf|\\ +|rm| & |labelfont=rm|\\ +|sf| & |labelfont=sf|\\ +|tt| & |labelfont=tt|\\ +\end{tabular} +\end{center} + +Neben den Optionen zum Einstellen des Zeichensatzes gab es auch die Befehle +|\caption|\-|size| bzw.~|\caption|\-|font| und |\caption|\-|label|\-|font|, +die direkt mit |\re|\-|new|\-|command| umdefiniert werden konnten. +Dieser Mechanismus wurde durch die Anweisungen +\begin{quote} + |\DeclareCaptionFont{|\ldots|}{|\ldots|}|\qquad und\\ + |\captionsetup{font=|\ldots|,labelfont=|\ldots|}| +\end{quote} +ersetzt. \SeeUserDefined + +Das Setzen eines Randes geschah in \version{1.x} mit +\begin{quote} + |\setlength{\captionmargin}{|\ldots|}|\quad. +\end{quote} +Dies wurde durch +\begin{quote} + |\captionsetup{margin=|\ldots|}| +\end{quote} +ersetzt. +\See{\Ref{margins}} + +Zum Beispiel wäre +\begin{quote} + |\usepackage[hang,bf]{caption}|\\ + |\renewcommand\captionfont{\small\sffamily}|\\ + |\setlength\captionmargin{10pt}| +\end{quote} +in aktueller Notation +\begin{quote} + |\usepackage[format=hang,labelfont=bf,font={small,sf},|\\ + | margin=10pt]{caption}| +\end{quote} +bzw. +\begin{quote} + |\usepackage{caption}|\\ + |\captionsetup{format=hang,labelfont=bf,font={small,sf},|\\ + | margin=10pt}|\quad. +\end{quote} + +Die etwas exotische Option |ruled|, die eine partielle Anwendung der +eingestellten Parameter bei gleitenden Umgebungen des Typs |ruled| +aktivierte, wird ebenfalls emuliert, hat aber keine direkte +Entsprechung in dieser Version des \package{caption}"=Paketes. +Möchte man gezielt das Aussehen der Abbildungen des Stils |ruled|, +der durch das \package{float}"=Paket zur Verfügung gestellt wird, +verändern, so ist dies nun durch +\begin{quote} + |\DeclareCaptionStyle{ruled}{|\ldots|}| +\end{quote} +bzw. +\begin{quote} + |\captionsetup[ruled]{|\ldots|}| +\end{quote} +möglich. +\SeeUserDefined[, \Ref{captionsetup} und \Ref{float}] + +\subsection{caption2 v\texorpdfstring{$2.x$}{2.x}} +\label{caption2} + +Das Paket \package{caption} und seine experimentelle, nun veraltete +Variante \package{caption2} sind vom internen Konzept +her zu unterschiedlich, um hier eine vollständige Kompatibilität +gewährleisten zu können. +Daher liegt diesem Paket weiterhin die Datei |caption2.sty| bei, so daß +ältere Dokumente, die das \package{caption2}"=Paket verwenden, weiterhin +übersetzt werden können. + +Neue Dokumente sollten jedoch auf dem aktuellen \package{caption}"=Paket +aufgesetzt werden. In den meisten Fällen ist es hierfür ausreichend, +einfach die Anweisung +\begin{quote} + |\usepackage[...]{caption2}| +\end{quote} +durch +\begin{quote} + |\usepackage[...]{caption}| +\end{quote} +zu ersetzen. Einige Optionen und Befehle werden jedoch nicht emuliert, +so daß Sie anschließend Fehlermeldungen erhalten können. +Die folgenden Absätze werden Ihnen jedoch bei der Umsetzung dieser +Optionen und Befehle helfen. Sollten darüberhinaus noch Fragen offen sein +oder Probleme auftreten, dann zögern Sie bitte nicht, mich diesbezüglich +per E-Mail zu kontaktieren. + +Zusätzlich zu den bereits im vorherigen Abschnitt vorgestellten Optionen +werden auch folgende emuliert: + +\begin{center}\small +\begin{tabular}{ll} +\package{caption2} \version{2.x} & \package{caption} \version{3.x}\\ +\hline +%\endhead +|flushleft| & |justification=raggedright|\\ +|flushright| & |justification=raggedleft|\\ +|oneline| & |singlelinecheck=on|\\ +\end{tabular} +\end{center} + +Das Setzen eines Randes geschah in \version{2.x} mit +\begin{quote}\leavevmode\hbox{% + |\setcaptionmargin{|\ldots|}| bzw. + |\setcaptionwidth{|\ldots|}|\quad. +}\end{quote} +Dies wurde durch +\begin{quote}\leavevmode\hbox{% + |\captionsetup{margin=|\ldots|}| bzw. + |\captionsetup{width=|\ldots|}| +}\end{quote} +ersetzt. \See{\Ref{margins}} + +Das Setzen des Einzuges wurde in \version{2.x} mit +\begin{quote} + |\captionstyle{indent}|\\ + |\setlength\captionindent{|\ldots|}| +\end{quote} +\pagebreak[3] +erledigt, dies geschieht nun stattdessen mit +\nopagebreak[3] +\begin{quote} + |\captionsetup{format=plain,indention=|\ldots|}|\quad. +\end{quote} + +Die Sonderbehandlung von einzeiligen Beschriftungen ließ sich in +\version{2.x} mit |\oneline|\-|captions|\-|false| aus- +bzw.~|\oneline|\-|captions|\-|true| wieder einschalten. +Dies wurde durch +|\caption|\-|setup{|\x|single|\-|line|\-|check=|\x|off}| +bzw. +|\caption|\-|setup{|\x|single|\-|line|\-|check=|\x|on}| +ersetzt. \See{\Ref{justification}} + +Die Befehle +\begin{quote} + |\captionlabeldelim|, |\captionlabelsep|, |\captionstyle|,\\ + |\defcaptionstyle|, |\newcaptionstyle| und |\renewcaptionstyle| +\end{quote} +haben keine direkte Entsprechnung und werden daher durch diese +Version des \package{caption}"=Paketes auch nicht emuliert. +Sie führen also bei der Verwendung zu Fehlermeldungen und müssen daher +zwingend umgesetzt werden. Die Umsetzung ist von Fall zu Fall verschieden, +lesen Sie sich daher bitte diese Anleitung gründlich durch und suchen Sie +sich die Optionen bzw.~Befehle als Ersatz heraus, die Ihren Bedürfnissen +entsprechen. \iffalse -\item - Die DANTE-FAQ -- Oft gestellte Fragen \& deren Antworten: - \begin{quote}\url{http://www.dante.de/faq/de-tex-faq/}\end{quote} +Als kleine Hilfestellung hier die Beispiele aus der alten Anleitung zum +\package{caption2}"=Paket und deren Umsetzung: + +\newenvironment{OldNew}% + {\begin{minipage}\linewidth + \def\Old{Alt:\begin{quote}}% + \def\New{\end{quote}Neu:\begin{quote}}% + \def\Or{\end{quote}\centerline{-- oder --}\begin{quote}}% + }% + {\end{quote}\end{minipage}} + +\begin{OldNew} +\Old + |\captionstyle{center}| +\New + |\captionsetup{justification=centering}| +\end{OldNew} + +\hrule + +\begin{OldNew} +\Old + |\captionstyle{indent}|\\ + |\setlength{\captionindent}{1cm}| +\New + |\captionsetup{format=plain,indention=1cm}| +\end{OldNew} + +\hrule + +\begin{OldNew} +\Old + |\renewcommand\captionfont{\small}|\\ + |\renewcommand\captionlabelfont{\itshape}| +\New + |\captionsetup{font=small,labelfont=it}| +\end{OldNew} + +\hrule + +\begin{OldNew} +\Old + |\renewcommand\captionfont{\small\itshape}|\\ + |\renewcommand\captionlabelfont{\upshape}| +\New + |\captionsetup{font=small,textfont=it}| +\end{OldNew} + +\hrule + +\begin{OldNew} +\Old + |\setcaptionwidth{.5\textwidth}| +\New + |\captionsetup{width=.5\textwidth}| +\end{OldNew} + +\hrule + +\begin{OldNew} +\Old + |\setcaptionmargin{.25\textwidth}| +\New + |\captionsetup{margin=.25\textwidth}| +\end{OldNew} + +\hrule + +\begin{OldNew} +\Old + |\newcaptionstyle{absatz}{\captionlabel: \exampletext\par}|\\ + |\captionstyle{absatz}| +\New + |\DeclareCaptionFormat{absatz}{#1: #3\par}|\\ + |\captionsetup{format=absatz,singlelinecheck=off}| +\Or + |\captionsetup{format=plain,singlelinecheck=off}| +\end{OldNew} + +\hrule + +\begin{OldNew} +\Old + |\newcaptionstyle{fancy}{\textsf{\captionlabel}\\\exampletext\par}|\\ + |\captionstyle{fancy}| +\New + |\DeclareCaptionFormat{fancy}{\textsf{#1}\\#3\par}|\\ + |\captionsetup{format=fancy,singlelinecheck=off}| +\Or + |\captionsetup{format=plain,labelfont=sf,labelsep=newline}| +\end{OldNew} + +\hrule + +\begin{OldNew} +\Old + |\newcaptionstyle{fancy2}{\exampletext\hfill\textit{(\captionlabel)}}|\\ + |\captionstyle{fancy2}| +\New + |\DeclareCaptionFormat{fancy2}{#3\hfill\textit{(#1)}}|\\ + |\captionsetup{format=fancy2,singlelinecheck=off}| +\end{OldNew} + +\hrule + +\begin{OldNew} +\Old + |\newcaptionstyle{mystyle}{%|\\ + | \normalcaptionparams|\\ + | \renewcommand\captionlabelfont{\bfseries}%|\\ + | \renewcommand\captionlabeldelim{.}%|\\ + | \onelinecaptionsfalse|\\ + | \usecaptionstyle{centerlast}}|\\ + |\captionstyle{mystyle}| +\New + |\DeclareCaptionStyle{mystyle}{labelfont=bf,labelsep=period,justification=centerlast}|\\ + |\captionsetup{style=mystyle}| +\end{OldNew} + +\hrule + +\begin{OldNew} +\Old + |\newcaptionstyle{hangandleft}{%|\\ + | \let\oldcaptiontext\exampletext|\\ + | \def\exampletext{\raggedright\oldcaptiontext}%|\\ + | \usecaptionstyle{hang}}|\\ + |\captionstyle{hangandleft}| +\New + |\captionsetup{format=hang,justification=raggedright}| +\end{OldNew} + +\hrule + +\begin{OldNew} +\Old + |\newcaptionstyle{fancy}{%|\\ + | \usecaptionmargin\captionfont|\\ + | \onelinecaption|\\ + | {{\captionlabelfont\captionlabel\captionlabeldelim}%|\\ + | \captionlabelsep\exampletext}%|\\ + | {{\centering\captionlabelfont\captionlabel\par}%|\\ + | \centerlast\exampletext\par}}|\\ + |\captionstyle{fancy}| +\New + |\DeclareCaptionFormat{fancy}{\centering#1\par\centerlast#3\par}|\\ + |\DeclareCaptionStyle{fancy}|\\ + | [format=plain,justification=centering]|\\ + | {format=fancy}|\\ + |\captionsetup{style=fancy}| +\Or + |\DeclareCaptionFormat{fancy}{#1\par#3\par}|\\ + |\DeclareCaptionStyle{fancy}|\\ + | [format=plain,justification=centering]|\\ + | {format=fancy,justification=centerlast}|\\ + |\captionsetup{style=fancy}| +\end{OldNew} + +\hrule + +\begin{OldNew} +\Old + |\renewcaptionstyle{longtable}{\usecaptionstyle{normal}}| +\New + |\captionsetup[longtable]{format=plain}| +\end{OldNew} \fi -\item - \emph{"`Hilfe für LaTeX-Einsteiger"'} von Christian Faulhammer: - \begin{quote}\url{http://www.minimalbeispiel.de/}\end{quote} +Ebenfalls keine Entsprechung hat die Option |ignore|\-|LT|\-|cap|\-|width| +der \version{2.x}. +Deren Verwendung kann in der Regel einfach entfallen, da \thispackage\ den +Wert von |\LT|\-|cap|\-|width| sowieso nicht beachtet, solange er nicht +explizit auf einen anderen Wert als den Standardwert ($=$|4in|) gesetzt wird. +\See{\Ref{longtable}} -\item - \emph{"`Gleitobjekte -- die richtige Schmierung"'} von Axel Reichert - erl"autert den Umgang mit gleitenden Umgebungen und ist hier im Netz - zu finden: - \begin{quote} - \url{ftp://dante.ctan.org/pub/tex/info/german/gleitobjekte/} - \end{quote} +\subsection{caption v\texorpdfstring{$3.0$}{3.0}} +\label{caption3} -\item - \emph{"`Bilder einfügen in \LaTeX: Ein How-To"'} von Dominik Bischoff - beinhaltet die häufigsten Fragen und Antworten, die im Zusammenhang - mit \LaTeX\ und Abbildungen auftreten: - \begin{quote} - \url{http://tug.ctan.org/info/l2picfaq/german/l2picfaq.pdf} - \end{quote} +%\NEWdescription{v3.1} +\Thispackage\ \version{3.0} hatte keine weiteren Dokumentenklassen +aktiv unterstützt als die drei Standard"=Klassen, die \LaTeX\ selber +mitbringt: \class{article}, \class{report} und \class{book}. +Daher waren die Vorbelegungen der Einstellungsmöglichkeiten fest durch +dieses Paket vorgegeben, sie repräsentierten das Aussehen bei Verwendung +einer dieser Klassen. +Nun aber unterstützt \thispackage\ mehr Dokumentenklassen aktiv, folglich +kann die Vorbelegung nun von der verwendeten Dokumentenklasse abhängen. -\item - \textsf{epslatex} von Keith Reckdahl enth"alt viele n"utzliche Tips im - Zusammenhang mit der Einbindung von Graphiken in \LaTeXe. - Das Dokument ist in Englisch und unter - \begin{quote}\url{ftp://dante.ctan.org/pub/tex/info/epslatex/}\end{quote} - zu finden. -\end{itemize} +Ein Beispiel: Während in \version{3.0} die Vorbelegung der Ausrichtung +immer |jus|\-|ti|\-|fi|\-|ca|\-|tion=|\x|jus|\-|ti|\-|fied| war, +ist sie nun immer noch |jus|\-|ti|\-|fied| wenn eine der drei Standardklassen +verwendet wird, aber |jus|\-|ti|\-|fi|\-|ca|\-|tion=|\x|ragged|\-|right|, +wenn die \package{beamer}"=Klasse verwendet wird. -% --------------------------------------------------------------------------- % +Möchten sie weiterhin die "`alten"' Vorbelegungen, so können Sie die Option +|style=base| beim Laden des \package{caption}"=Paketes angeben oder später +mit |\caption|\-|setup{style=|\x|base}| den alten Grundzustand wieder +herstellen. -\pagebreak[2] -\section{Danksagungen} +Weiterhin prüft die aktuelle Version des \package{caption}"=Paketes automatisch +nach Inkompatibilitäten und gibt ggf.~ eine Warnung diesbezüglich aus. +Sollte eine ernsthafte Inkompatibilität festgestellt werden, werden außerdem +einige Features des \package{caption}"=Paketes abgeschaltet. +Lediglich diese Prüfung ist neu, wenn sie also neuerdings eine +Kompatibilitätswarnung erhalten, so waren auch bereits vorangegangene Versionen +des \package{caption}"=Paketes inkompatibel, dies hatte sich aber früher "`nur"' +durch Seiteneffekte bzw.~nicht korrekt funktionierende Optionen bzw.~Befehle +geäußert. +Die Kompatibilitätswarnungen sagen auch nicht aus, daß etwas schief gegangen ist, +sondern lediglich, daß etwas schief gehen könnte. Sie sollten aber auf jeden Fall, +wenn Sie \thispackage\ trotz einer solchen Warnung einsetzen, die Abbildungs- +und Tabellenbeschriftungen bzgl.~ihres Aussehens genau im Auge behalten. -Von ganzem Herzen danke ich Katja Melzner, -Steven D. Cochran, Frank Mittelbach, Olga Lapko, -David Carlisle, Carsten Heinz und Keith Reckdahl. +\bigskip -Weiterhin m"ochte ich mich herzlich bei -Harald Harders, -Peter L\"offler, -Peng Yu, -Alexander Zimmermann, -Matthias Pospiech, -J\"urgen Wieferink, -Christoph Bartoschek, -Uwe St\"ohr, -Ralf Stubner, -Geoff Vallis, -Florian Keiler, -J"urgen G"obel, -Uwe Siart, -Sang-Heon Shim, -Henrik Lundell, -David Byers, -William Asquith, -Prof.~Dr.~Dirk Hoffmann, -Frank Martini -und -Danie Els -f"ur ihre Hilfe beim stetigen Verbessern dieses Paketes bedanken. +\begin{Note*} +Die Option |caption=false| wurde damals als Interimslösung zur Verfügung +gestellt, um nicht das ganze \package{caption}"=Paket zu laden, +sondern nur denjenigen Teil, der für den Betrieb des +\package{subfig}"=Paketes\cite{subfig} notwendig war. +Dieser Mechanismus ist veraltet und wird nicht mehr angeboten, bitte +übergeben Sie stattdessen bei Bedarf diese Option an das \package{subfig}"=Paket +und laden Sie nicht mehr \thispackage. +%\par\See{\package{subfig}"=Paketdokumentation} +\end{Note*} % --------------------------------------------------------------------------- % -\pagebreak[4] +\iffalse +\TODO: subcaption-Anleitung +\fi + +% --------------------------------------------------------------------------- % + +\clearpage \begin{thebibliography}{99} \bibitem{TLC2} Frank Mittelbach und Michel Goossens:\\ @@ -2835,140 +4892,163 @@ f"ur ihre Hilfe beim stetigen Verbessern dieses Paketes bedanken. \bibitem{beamer} Till Tantau:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/beamer/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/beamer/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/beamer/doc/beameruserguide.pdf}% {\emph{User Guide to the Beamer Class, Version 3.07}},\\ March 11, 2007 \bibitem{KOMAScript} Markus Kohm \& Jens-Uwe-Morawski:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/koma-script/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/koma-script/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/koma-script/scrguide.pdf}% {\emph{KOMA-Script -- ein wandelbares \LaTeXe-Paket}},\\ 2007-03-02 \bibitem{NTG} Victor Eijkhout:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/ntgclass/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/ntgclass/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/ntgclass/classdoc.pdf}% {\emph{An introduction to the Dutch \LaTeX\ document classes}},\\ 3 September 1989 + \bibitem{algorithms} + Rogério Brito:\\ + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/algorithms/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/algorithms/algorithms.pdf}% + {\emph{Algorithms}},\\ + June 2, 2006 + +\iffalse + \bibitem{algorithm2e} + Christophe Fiorio:\\ + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/algorithm2e/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/algorithm2e/algorithm2e.pdf}% + {\emph{algorithm2e.sty -- package for algorithms}},\\ + March 11, 2007 +\fi + \bibitem{float} Anselm Lingnau:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/float/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/float/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/float/float.pdf}% {\emph{An Improved Environment for Floats}},\\ 2001/11/08 \bibitem{floatflt} Mats Dahlgren:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/floatflt/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/floatflt/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/floatflt/floatflt.pdf}% {\emph{Welcome to the floatflt package}},\\ 1998/06/05 \bibitem{floatrow} Olga Lapko:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/floatrow/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/floatrow/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/floatrow/floatrow.pdf}% {\emph{The floatrow package documentation}},\\ - 2007/08/24 + 2007/12/24 \bibitem{fltpage} Sebastian Gross:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/fltpage/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/fltpage/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/fltpage/fltpage.pdf}% {\emph{Welcome to the beta test of fltpage package!}},\\ 1998/11/13 \bibitem{hyperref} Sebastian Rahtz \& Heiko Oberdiek:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/hyperref/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/hyperref/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/hyperref/hyperref.pdf}% {\emph{Hypertext marks in \LaTeX}},\\ November 12, 2007 \bibitem{hypcap} Heiko Oberdiek:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/oberdiek/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/oberdiek/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/oberdiek/hypcap.pdf}% {\emph{The hypcap package -- Adjusting anchors of captions}},\\ 2007/04/09 \bibitem{listings} Carsten Heinz \& Brooks Moses:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/listings/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/listings/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/listings/listings.pdf}% {\emph{The Listings Package}},\\ 2007/02/22 \bibitem{longtable} David Carlisle:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/required/tools/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/required/tools/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/required/tools/longtable.pdf}% {\emph{The longtable package}},\\ 2004/02/01 \bibitem{picinpar} Friedhelm Sowa:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex209/contrib/picinpar/}% + \href{http://dante.ctan.org/tex-archive/macros/latex209/contrib/picinpar/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex209/contrib/picinpar/}% {\emph{Pictures in Paragraphs}},\\ July 13, 1993 \bibitem{picins} - Joachim Bleser und Edmund Lang:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex209/contrib/picins/}% + Joachim Bleser and Edmund Lang:\\ + \href{http://dante.ctan.org/tex-archive/macros/latex209/contrib/picins/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex209/contrib/picins/mpic.dvi}% {\emph{PicIns-Benutzerhandbuch Version 3.0}},\\ September~1992 \bibitem{rotating} - Sebastian Rahtz und Leonor Barroca:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/rotating/}% + Sebastian Rahtz and Leonor Barroca:\\ + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/rotating/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/rotating/}% {\emph{A style option for rotated objects in \LaTeX}},\\ 1997/09/26 + \bibitem{setspace} + Erica M. S. Harris \& Geoffrey Tobin:\\ + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/setspace/}% +% \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/setspace/}% + {\emph{LaTeX Document Package ``setspace''}},\\ + 1 December 2000 + \bibitem{sidecap} Rolf Niepraschk \& Hubert G\"a\ss lein:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/sidecap/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/sidecap/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/sidecap/sidecap.pdf}% {\emph{The sidecap package}},\\ 2003/06/06 \bibitem{subfigure} Steven D. Cochran:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/subfigure/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/subfigure/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/subfigure/subfigure.pdf}% {\emph{The subfigure package}},\\ 2002/07/02 \bibitem{subfig} Steven D. Cochran:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/subfig/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/subfig/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/subfig/subfig.pdf}% {\emph{The subfig package}},\\ 2005/07/05 \bibitem{supertabular} - Johannes Braams und Theo Jurriens:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/supertabular/}% + Johannes Braams and Theo Jurriens:\\ + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/supertabular/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf}% {\emph{The supertabular environment}},\\ 2002/07/19 \bibitem{threeparttable} Donald Arseneau:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/misc/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/misc/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/misc/threeparttable.sty}% {\emph{Three part tables: title, tabular environment, notes}},\\ 2003/06/13 \bibitem{wrapfig} Donald Arseneau:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/wrapfig/}% + \href{http://dante.ctan.org/tex-archive/macros/latex/contrib/wrapfig/}% % \href{ftp://dante.ctan.org/tex-archive/macros/latex/contrib/wrapfig/wrapfig.sty}% {\emph{WRAPFIG.STY ver 3.6}},\\ 2003/01/31 diff --git a/Master/texmf-dist/doc/latex/caption/caption-eng.pdf b/Master/texmf-dist/doc/latex/caption/caption-eng.pdf Binary files differindex a832f54c6e8..b6997647a96 100644 --- a/Master/texmf-dist/doc/latex/caption/caption-eng.pdf +++ b/Master/texmf-dist/doc/latex/caption/caption-eng.pdf diff --git a/Master/texmf-dist/doc/latex/caption/caption-eng.tex b/Master/texmf-dist/doc/latex/caption/caption-eng.tex index b19056d6b16..8c1645c0de7 100644 --- a/Master/texmf-dist/doc/latex/caption/caption-eng.tex +++ b/Master/texmf-dist/doc/latex/caption/caption-eng.tex @@ -23,35 +23,40 @@ % user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. % \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesFile{caption-eng.tex}[2007/12/23 v3.1f The caption package] +\ProvidesFile{caption-eng.tex}[2008/03/16 v3.1g The caption package] \hbadness=9999 \newcount\hbadness \hfuzz=20pt % Make TeX shut up. %\errorcontextlines=3 -\documentclass{ltxdoc} +\documentclass[USenglish]{ltxdoc} +\usepackage{fixltx2e} \setlength\parindent{0pt} \setlength\parskip{\smallskipamount} \setlength\leftmargini{2em}% default = 2.5em +\makeatletter\g@addto@macro\MacroFont{\normalcolor}\makeatother +\newcommand\LineBreak{\linebreak[3]} +\newcommand\PageBreak{\pagebreak[3]} \usepackage{ifpdf} \ifpdf \usepackage{mathptmx,courier} \usepackage[scaled=0.90]{helvet} \addtolength\marginparwidth{15pt} + \ifdim\paperheight=297mm % a4paper + \renewcommand\LineBreak{\\} + \renewcommand\PageBreak{\clearpage} + \fi \fi -\usepackage[USenglish]{babel} -\usepackage{longtable,setspace} -\IfFileExists{cat.eps}% - {\usepackage{graphicx}}% - {\IfFileExists{test/tlc2/cat.eps}% - {\usepackage{graphicx}\graphicspath{{test/tlc2/}}}% - {\usepackage[demo]{graphicx}}} +\usepackage[bottom]{footmisc} +\usepackage{graphicx,longtable,setspace} +\IfFileExists{test/tlc2/cat.eps}{\graphicspath{{test/tlc2/}}}{}% \usepackage{hypdoc} \ifpdf\usepackage{hypdestopt}\fi \hypersetup{pdfkeywords={LaTeX, package, caption},pdfstartpage={},pdfstartview={}} \hypersetup{breaklinks=true} -\usepackage[listof=0,hypcap=false]{caption}[2007/09/01] + +\usepackage[listof=0,hypcap=false]{caption}[2008/01/12] \DeclareRobustCommand*\eTeX{\texorpdfstring {\leavevmode\hbox{$\varepsilon$}-\TeX}% @@ -102,30 +107,25 @@ \newcommand*\puresf[1]{{\upshape\mdseries\sffamily #1}} \newcommand*\purett[1]{{\upshape\mdseries\ttfamily #1}} \let\class\puresf \let\package\puresf -\let\env\purett \let\opt\purett \newcommand*\csmarg[1]{\texttt{\char`\{#1\char`\}}} \newcommand*\csoarg[1]{\texttt{\char`\[#1\char`\]}} \newcommand*\version[2][]{$v#2$} -\newcommand*\x{\discretionary{-}{}{}} -\newcommand*\xx{\discretionary{}{}{}} +\newcommand*\x{\discretionary{}{}{}} -\newenvironment{Options}[1]% - {\list{}{\renewcommand\makelabel[1]{\texttt{##1}\hfil}% - \settowidth\labelwidth{\texttt{#1\space}}% - \setlength\leftmargin{10pt}% - \addtolength\leftmargin{\labelwidth}% - \addtolength\leftmargin{\labelsep}}}% - {\endlist} +\newenvironment{Annotation}% + {\ifvmode\else\unskip\par\fi\pagebreak[2]% + \smallskip + \small(\ignorespaces}{\unskip)\par} +\newenvironment{Annotation*}% + {\ifvmode\else\unskip\par\fi\pagebreak[2]% + \small(\ignorespaces}{\unskip)\par} \newenvironment{Example}% - {\ifvmode\else\unskip\par\fi + {\ifvmode\else\unskip\par\fi\pagebreak[2]% \minipage{\linewidth}\smallskip}% {\smallskip\endminipage\par} -\newenvironment{Expert}% - {\footnotesize\ignorespaces}{\par} - \makeatletter \newcommand\example{\@ifstar {\@example{belowskip=\abovecaptionskip}}% @@ -139,6 +139,37 @@ \endgroup} \makeatother +\newenvironment{Expert}% + {\ifvmode\else\unskip\par\fi\pagebreak[3]% + \smallskip + \footnotesize\ignorespaces}{\par} +\newenvironment{Expert*}% + {\ifvmode\else\unskip\par\fi\pagebreak[3]% + \footnotesize\ignorespaces}{\par} + +\newenvironment{Note}[1][\DefaultNoteText]% + {\ifvmode\else\unskip\par\fi + \smallskip + \small\emph{#1:}~\ignorespaces}{\par} +\newenvironment{Note*}[1][\DefaultNoteText]% + {\ifvmode\else\unskip\par\fi + \small\emph{#1:}~\ignorespaces}{\par} + +\newenvironment{Options}[1]% + {\list{}{\renewcommand\makelabel[1]{\texttt{##1}\hfil}% + \settowidth\labelwidth{\texttt{#1\space}}% + \setlength\leftmargin{10pt}% + \addtolength\leftmargin{\labelwidth}% + \addtolength\leftmargin{\labelsep}}}% + {\endlist} + +\makeatletter +\newcommand*\Ref{\@ifstar{\@Ref\ref}{\@Ref\autoref}} +\newcommand*\@Ref[2]{#1{#2}: \textit{\nameref{#2}}} +\newcommand*\SEE[3][]{\nopagebreak{#1(#2 #3)}} +\newcommand*\SeeUserDefined[1][]{\See{\Ref{declare}#1}} +\makeatother + \begin{document} \let\subsectionautorefname\sectionautorefname \let\subsubsectionautorefname\sectionautorefname @@ -146,15 +177,13 @@ \def\thispackage{the \package{caption} package} \def\Thispackage{The \package{caption} package} -\newcommand\NEWfeature{\NEW{New feature}} -\newcommand\NEWdescription{\NEW{New description}} - +\newcommand*\DefaultNoteText{Note} +\newcommand*\NEWfeature{\NEW{New feature}} +\newcommand*\NEWdescription{\NEW{New description}} \makeatletter -\newcommand*\Ref{\@ifstar{\@Ref\ref}{\@Ref\autoref}} -\newcommand*\@Ref[2]{#1{#2}: \textit{\nameref{#2}}} +\newcommand*\See{\@ifstar{\SEE{See}}{\SEE[\small]{See}}} +\newcommand*\see{\@ifstar{\SEE{see}}{\SEE[\small]{see}}} \makeatother -\newcommand*\See[1]{\nopagebreak{\small(See #1)}} -\newcommand*\SeeUserDefined[1][]{\See{\Ref{declare}#1}} % --------------------------------------------------------------------------- % @@ -162,7 +191,8 @@ \let\docdate\filedate \GetFileInfo{caption.sty} -\title{Customizing captions in floating environments\texorpdfstring{\thanks{% +\title{Customizing captions of floating environments + using the caption package\texorpdfstring{\thanks{% This package has version number \fileversion, last revised \filedate.}}{}} \author{Axel Sommerfeldt\\ @@ -206,28 +236,22 @@ caption formatting options, but you are free to define your very own stuff, too. \bigskip -\INFO +\INFO\begin{minipage}[t]{\textwidth} +\small Please note that \thispackage\ is only controlling the look \& feel of the captions. It does \emph{not} control the placement of the captions. +(But you could do so by using other packages like the \package{floatrow} + package\cite{floatrow}.) +\end{minipage} % --------------------------------------------------------------------------- % -\iffalse -\section*{PRELIMINARY DOCUMENTATION} -Please note that this document is inconsistent and not finished yet. -It'll try to update it within the next months; the actual version can always be found -\href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/caption/caption-eng.pdf}% -{here}.\par\bigskip -\fi - -% --------------------------------------------------------------------------- % - -\vfill\clearpage +\clearpage \tableofcontents % --------------------------------------------------------------------------- % -\vfill\clearpage +\clearpage \section{Using this package} \label{usage} @@ -237,7 +261,7 @@ Insert |\usepackage|\oarg{options}|{caption}[|\texttt{\filedate}|]| \end{quote} into the preamble of your document, i.e.~the part of your document -between |\document|\x|class| and |\begin{doc|\x|u|\x|ment}|. +between |\document|\-|class| and |\begin{doc|\-|u|\-|ment}|. The options control how your captions will look like; e.g., \begin{quote} |\usepackage[margin=10pt,font=small,labelfont=bf,|\\ @@ -262,9 +286,9 @@ and \end{quote} are equal in their results. -It's good to know that |\captionsetup| has an effect on the current +It's good to know that |\caption|\-|setup| has an effect on the current environment only. So if you want to change settings for the -current |figure| or |table| only, just place the |\captionsetup| command +current |figure| or |table| only, just place the |\caption|\-|setup| command inside the |figure| or |table| right before the |\caption| command. For example \begin{quote} @@ -277,13 +301,13 @@ For example switches the single-line-check off, but only for this |figure|, so all the other captions remain untouched. -\smallskip - -{\small(For a detailed description of |\captionsetup| see \Ref{captionsetup}.)} +\begin{Annotation} +For a detailed description of |\caption|\-|setup| see \Ref{captionsetup}. +\end{Annotation} % --------------------------------------------------------------------------- % -\vfill\clearpage +\clearpage \section{Options} \label{options} @@ -322,7 +346,7 @@ There are two standard caption formats: Indents the caption text, so it will `hang' under the first line of the text. \item[\UserDefined] - Own formats can be defined using |\Declare|\x|Caption|\x|Format|.\\ + Own formats can be defined using |\Declare|\-|Caption|\-|Format|.\LineBreak \SeeUserDefined \end{Options} @@ -399,7 +423,7 @@ There are five standard caption label formats: The number of the caption label will be typeset in parentheses. \item[\UserDefined] - Own label formats can be defined using |\Declare|\x|Caption|\x|Label|\x|Format|. + Own label formats can be defined using |\Declare|\-|Caption|\-|Label|\-|Format|. \SeeUserDefined \end{Options} @@ -414,9 +438,11 @@ There are five standard caption label formats: \medskip -\emph{Note:} Some environments, e.g.~the \env{algorithm} environment offered -by the \package{algorithm2e} package, might react allergic to a change of the +\begin{Note*} +Some environments, e.g.~the |algorithm| environment offered by the +\package{algorithm2e} package, might react allergic to a change of the caption label format. +\end{Note*} \bigskip @@ -426,7 +452,9 @@ With the option \begin{quote} |labelsep=|\meta{label separator name} \end{quote} -you specify what caption separator will be used. +you specify what caption separator will be used.\footnote{% + If the caption label or the caption text is empty, + no separator will be used.} You can choose one of the following: \begin{Options}{\OptionLabel} @@ -452,7 +480,7 @@ You can choose one of the following: \item[newline] The caption label and text will be separated by a line break (|\\|). Please note that this separator does not work with all caption - formats (e.g.~|format=|\xx|hang|), and you'll get an error message + formats (e.g.~|format=|\x|hang|), and you'll get an error message trying such combination of options. \item[endash]\NEWfeature{v3.0h} @@ -461,7 +489,7 @@ You can choose one of the following: %\showhyphens{separator} \item[\UserDefined] - Own separators can be defined using |\Declare|\x|Caption|\x|Label|\x|Sep|\x|a|\x|ra|\x|tor|. + Own separators can be defined using |\Declare|\-|Caption|\-|Label|\-|Sep|\-|a|\-|ra|\-|tor|. \SeeUserDefined \end{Options} @@ -500,7 +528,6 @@ With the option |textformat=|\meta{text format name} \end{quote} \nopagebreak[3] -%\NEWdescription{v3.0e} you specify how the caption text will be typeset. There are two standard caption text formats: @@ -512,13 +539,13 @@ There are two standard caption text formats: The caption text will be followed by a period. \item[\UserDefined] - Own label formats can be defined using |\Declare|\x|Caption|\x|Text|\x|Format|. + Own text formats can be defined using |\Declare|\-|Caption|\-|Text|\-|Format|. \SeeUserDefined \end{Options} % --------------------------------------------------------------------------- % -\pagebreak[4] +\PageBreak \subsection{Justification} \label{justification} @@ -557,12 +584,12 @@ You can choose one of the following: \item[RaggedRight] Each line of the caption will be moved to the left margin, too. But this time the command |\RaggedRight| of the \package{ragged2e} - package will be used to achieve this.\footnote{% + package will be used to achieve this. + The main difference to |raggedright| is that the word breaking + algorithm of \TeX\ will work inside captions.\footnote{% The need for the \package{ragged2e} package will be detected at run-time, therefore you maybe need a second \LaTeX\ run if this - option is used.} - The main difference to |raggedright| is that the word breaking - algorithm of \TeX\ will work inside captions. + option is used for the first time.} \fi \item[raggedleft] @@ -574,7 +601,7 @@ You can choose one of the following: %\showhyphens{justification} \item[\UserDefined] - Own justifications can be defined using |\Declare|\x|Caption|\x|Jus|\x|ti|\x|fi|\x|ca|\x|tion|. + Own justifications can be defined using |\Declare|\-|Caption|\-|Jus|\-|ti|\-|fi|\-|ca|\-|tion|. \SeeUserDefined \end{Options} @@ -647,14 +674,15 @@ for \meta{bool}. (The default is on.) \DescribeMacro{textfont=} There are three font options which affects different parts of the caption: One affecting the whole caption (|font|), one which only affects the caption -label and separator (|labelfont|) and at least one which only affects the -caption text (|textfont|). +label and separator (|label|\-|font|) and at least one which only affects the +caption text (|text|\-|font|). You set them up using the options \begin{quote}\begin{tabular}{@{}r@{}ll} |font=| & \marg{font options} & ,\\ |labelfont=| & \marg{font options} & , and\\ - |textfont=| & \marg{font options} & .\\ + |textfont=| & \marg{font options} & ,\\ \end{tabular}\end{quote} +where \meta{font options} is a list of comma separated font options. And these are the available font options: @@ -698,11 +726,11 @@ And these are the available font options: \end{Options} \vspace{0pt}\pagebreak[3] \begin{Options}{stretch=\meta{amount}} - \item[normal] The combination of the options \opt{normalcolor}, - \opt{normalfont}, \opt{normalsize}, and \opt{singlespacing} + \item[normal] The combination of the options |normal|\-|color|, + |normal|\-|font|, |normal|\-|size|, and |single|\-|spacing| \item[\UserDefined] - Own font options can be defined using |\DeclareCaptionFont|.\\ + Own font options can be defined using |\Declare|\-|Caption|\-|Font|. \SeeUserDefined \end{Options} @@ -742,6 +770,23 @@ Three examples: \example{font={small,stretch=0.80}}{\exampletext} \end{Example} +\medskip + +\pagebreak[3] +\DescribeMacro{font+=} +\DescribeMacro{labelfont+=} +\DescribeMacro{textfont+=} +\NEWfeature{v3.1f} +You can also add font options to the current ones, so for example +\begin{quote} + |\captionsetup{font=small}|\\ + |\captionsetup{font+=it}| +\end{quote} +is identical to +\begin{quote} + |\captionsetup{font={small,it}}| +\end{quote} + % --------------------------------------------------------------------------- % \subsection{Margins and further paragraph options} @@ -760,15 +805,16 @@ or \package{threeparttable}\cite{threeparttable} package.} |width=| & \meta{amount} & \\ \end{tabular}\end{quote} \NEWfeature{v3.1} -If you specify just one \meta{amount} for the margin, it will be used for both, -the left and right margin, e.g.~|margin=10pt| is equivalent to |margin={10pt,10pt}|. +If you specify just one \meta{amount} for the margin, it will be used for +both, the left and right margin, e.g.~|margin=|\x|10pt| is equivalent to +|margin=|\x|{10pt,10pt}|. In two-side documents the left and right margin will be swapped on even pages. \DescribeMacro{oneside} \DescribeMacro{twoside} To prevent this you can specify the option |oneside| additionally, -e.g.~|\caption|\x|setup|\xx|{margin=|\xx|{0pt,10pt},|\xx|oneside}|.\par -If you are specifying a width, then both, the left and the right margin, will -have the same amount. +e.g.~|\caption|\-|setup{margin=|\x|{0pt,10pt},|\x|oneside}|.\par +But if you are specifying a width, then both, the left and the right margin, +will have the same amount. Three examples will illustrating this: \begin{Example} @@ -795,31 +841,31 @@ Three examples will illustrating this: \example{width=.75\textwidth}{\exampletext} \end{Example} -\emph{Note:} When the caption is placed beside the contents (for example in -a |SCfigure| environment offered by the \package{sidecap} package\cite{sidecap}) -or the caption is an in-text caption (for example in a |wrapfigure| environment +\begin{Note} +When the caption is placed beside the contents (for example in a |SC|\-|figure| +environment offered by the \package{sidecap} package\cite{sidecap}) or the +figure is an in-text figure (for example in a |wrap|\-|figure| environment offered by the \package{wrapfig} package\cite{wrapfig}), the margin setting -will be usually reset to |0pt| at the very beginning of the environment. +will be automatically reset to |0pt| at the very beginning of the environment. But if you really want to setup an extra margin for these environments, you can do so by setting this margin either inside the environment itself, of by specifying a margin for this particular environment, -e.g.~|\captionsetup[SCfigure]{margin=10pt}|. +e.g.~|\caption|\-|setup[SC|\-|figure]{margin=|\x|10pt}|. +\end{Note} -\pagebreak[3] -\DescribeMacro{margin*=}\NEWfeature{v3.1} \begin{Expert} +\DescribeMacro{margin*=}\NEWfeature{v3.1} There is also a starred variant of the |margin=| option, |margin*=|, which only changes the margin if no width was set. \end{Expert} -\pagebreak[3] +\begin{Expert} \DescribeMacro{minmargin=} \DescribeMacro{maxmargin=}\NEWfeature{v3.1} -\begin{Expert} You can also set a minimum or maximum margin amount. This can be useful for limiting the margin amount in smaller environments, e.g.~|minipage|s. For example the \SmF\ document classes limit the margin amount to -|maxmargin=.1\linewidth|. (See \Ref{SMF}) +|maxmargin=|\x|0.1\linewidth|. (See \Ref{SMF}) \end{Expert} \medskip @@ -852,7 +898,8 @@ The option \end{quote} is for setting up a hanging indention starting from the second line of each paragraph. If the caption contains just a single paragraph, using this option -leads to the same result as the option |indention=| you already know about. +leads to the same result as the option |indention=|\meta{amount} you already +know about. But if the caption contains multiple paragraphs you will notice the difference: \begin{Example} @@ -871,7 +918,7 @@ But if the caption contains multiple paragraphs you will notice the difference: \begin{quote} |format=hang,hangindent=-.5cm| \end{quote} - \captionsetup{aboveskip=0pt} + \captionsetup{skip=0pt} \example{format=hang,hangindent=-.5cm}{% First paragraph of the caption. This one contains some test, just to show how these options affect the layout of the caption.\par @@ -879,22 +926,24 @@ But if the caption contains multiple paragraphs you will notice the difference: show how these options affect the layout of the caption.} \end{Example} -\emph{Note:} If your caption contains more than one paragraph, you have +\begin{Note} +If your caption contains more than one paragraph, you have to specify an alternative caption for the list-of-figures using the -optional argument of |\caption| or |\captionof|, otherwise you will get -an error message. +optional argument of |\caption| or |\caption|\-|of|, otherwise you will +get an error message. +\end{Note} % --------------------------------------------------------------------------- % -\pagebreak[4] +\PageBreak \subsection{Styles} \label{style} \DescribeMacro{style=} A suitable combination of caption options is called \emph{caption style}. You can compare them more or less to page styles which you set up with -|\pagestyle|; the caption style provides all settings for a whole caption -layout. +|\page|\-|style|; +the caption style provides all settings for a whole caption layout. You switch to an already defined caption style with the option \begin{quote} @@ -917,8 +966,10 @@ has the same effect as specifying all these options: |textfont={},margin=0pt,indention=0pt|\\ |parindent=0pt,hangindent=0pt,singlelinecheck=true| \end{quote} -{\small(But |justification=centering,indention=0pt| will be set if - the caption fits into a single line.)} +\begin{Annotation*} +But |justification=centering,indention=0pt| will be set if +the caption fits into a single line. +\end{Annotation*} In contrast the |default| style follows the default values, reflecting the look of the captions given by the document class you actually use. @@ -929,15 +980,19 @@ This style is selected by default and represents these options: |textfont=default,margin=0pt,indention=0pt|\\ |parindent=0pt,hangindent=0pt,singlelinecheck=true| \end{quote} -{\small(But again |justification=centering,indention=0pt| will be set if - the caption fits into a single line.)} +\begin{Annotation*} +But again |justification=centering,indention=0pt| will be set if +the caption fits into a single line. +\end{Annotation*} So if you use one of the base \LaTeX\ document classes \class{article}, -\class{report}, or \class{book}, both |base| and |default| point to nearly -the same settings. +\class{report}, or \class{book}, both caption styles, |base| and |default|, +point to (nearly) the same settings. -{\small\emph{Note:} Own caption styles can be defined using - |\DeclareCaptionStyle|. \SeeUserDefined} +\begin{Note} +Own caption styles can be defined using |\Declare|\-|Caption|\-|Style|.\LineBreak +\SeeUserDefined +\end{Note} % --------------------------------------------------------------------------- % @@ -951,29 +1006,29 @@ controlled by the option |skip=|\meta{amount}\quad. \end{quote} The standard \LaTeX\ document classes \class{article}, \class{report} and -\class{book} preset it to |skip=10pt|, but other document classes may use -a different amount. +\class{book} preset it to |skip=|\x|10pt|, but other document classes may +use a different amount. \bigskip \pagebreak[3] \DescribeMacro{position=} -The |\caption| command offered by |\LaTeX| has a design flaw: +The |\caption| command offered by \LaTeX{} has a design flaw: The command does not know if it stands on the beginning of the figure or table, or at the end. Therefore it does not know where to put the space separating the caption from the content of the figure or table. While the standard implementation always puts the space above the caption in floating environments (and inconsistently below the caption in -|longtable|s), the implementation offered by this package is more -flexible. +|long|\-|table|s), the implementation offered by this package is more +flexible: By giving the option \begin{quote} |position=top|\quad or\quad |position=above| \end{quote} it's assumed that the caption is standing at the \emph{top} of the -environment and therefore the space setup with |skip=|\meta{amount} is -placed below the caption. -(Please note that |position=top| does \emph{NOT} mean that the +environment and therefore the space setup with |skip=|\x\meta{amount} +is placed below the caption. +(Please note that |position=|\x|top| does \emph{NOT} mean that the caption is actually placed at the top of the figure or table. Instead the caption is usually placed where you place the |\caption| command.) @@ -987,7 +1042,7 @@ And finally with \begin{quote} |position=auto|\quad {\small(which is the default setting)} \end{quote} -the caption package tries its best to determine the actual position of +\thispackage\ tries its best to determine the actual position of the caption on its own. Please note that while this is successfully in most cases, it could give wrong results under rare circumstances. @@ -997,8 +1052,8 @@ most cases, it could give wrong results under rare circumstances. \DescribeMacro{figureposition=}%\NEWfeature{v3.0a} \DescribeMacro{tableposition=}%\NEWfeature{v3.0a} The |position| option is especially useful when used together with the -optional argument of the |\captionsetup| command. -\See{\Ref{captionsetup} for details}\par +optional argument of the |\caption|\-|setup| command. +\See{also \Ref{captionsetup}}\par For example \begin{quote} |\captionsetup[table]{position=above}| @@ -1006,8 +1061,8 @@ For example causes all captions within tables to be treated as captions \emph{above} the table (regarding spacing around it). Because this is a very common setting, \thispackage\ offers -the abbreviating options |figure|\x|position=|\xx\meta{pos} and -|table|\x|position=|\xx\meta{pos}, e.g. +the abbreviating options |figure|\-|position=|\x\meta{pos} and +|table|\-|position=|\x\meta{pos}, e.g. \begin{quote} |\usepackage[|\ldots|,tableposition=top]{caption}| \end{quote} @@ -1016,38 +1071,41 @@ is equivalent to |\usepackage[|\ldots|]{caption}|\\ |\captionsetup[table]{position=top}| \end{quote} + +\medskip + \DANGER -{\small Please note that the options \opt{skip=}, \opt{position=}, - \opt{figureposition=}, and \opt{tableposition=} do not always have an effect. - Since it's a matter of the document class to supply the environments - \env{figure} and \env{table}, it could use its very own spacing, and could - decide for itself if the caption will be typeset as ``top'' or ``bottom'' - caption. - For example the \KOMAScript\ document classes support the \opt{skip} - setting, but will always typeset \env{figure} captions as ``bottom'' captions, - and \env{table} captions are dependent on the global option - \opt{tablecaptionsabove} resp.\ \opt{tablecaptionsbelow}. - \See{\Ref{KOMA}} - - Furthermore some packages control the behavior of the spacing above and - below the caption for themself, e.g.~the \package{float}, the - \package{floatrow}, and the \package{supertabular} package.} +Please note that the options |skip=|, |position=|, |figure|\-|position=|, +and |table|\-|position=| do not always have an effect. +Since it's a matter of the document class to supply the environments +|figure| and |table|, it could use its very own spacing, and could +decide for itself if the caption will be typeset as ``top'' or ``bottom'' +caption. +For example the \KOMAScript\ document classes support the |skip=| +setting, but will always typeset |figure| captions as ``bottom'' captions, +and |table| captions are dependent on the global option +|table|\-|captions|\-|above| resp.\ |table|\-|captions|\-|below|. +\See{\Ref{KOMA}} + +Furthermore some packages control the behavior of the spacing above and +below the caption for themself, e.g.~the \package{float}, the +\package{floatrow}, and the \package{supertabular} package. \bigskip -\begin{Expert} +\begin{Expert*} Internally the skip between caption and contents is represented by -|\above|\x|caption|\x|skip| (which is always set above the caption in +|\above|\-|caption|\-|skip| (which is always set above the caption in \LaTeX{}s implementation). -But there is a second value |\below|\x|caption|\x|skip| (usually set to +But there is a second value |\below|\-|caption|\-|skip| (usually set to |0pt| by default) which is set below the caption in \LaTeX{}s implementation, -but on the other side than |\above|\x|caption|\x|skip| by this package. +but on the other side than |\above|\-|caption|\-|skip| by this package. So technically speaking, this package swaps the meaning of these two skips when |position=top| is set. Please note that there are several packages around which do the same trick (like the \package{ftcap}, the \package{nonfloat}, and the \package{topcap} package) which usage should be avoided when this package is used. -\end{Expert} +\end{Expert*} % --------------------------------------------------------------------------- % @@ -1095,15 +1153,20 @@ There are five standard caption list formats: Same as |parens|, but without label prefix. \item[\UserDefined] - Own label formats can be defined using |\Declare|\x|Caption|\x|List|\x|Format|. + Own list formats can be defined using |\Declare|\-|Caption|\-|List|\-|Format|. \SeeUserDefined \end{Options} -The label prefix ($=$|\p@figure| resp.~|\p@table|) is usually empty, -so |simple| and |subsimple| gives equal results, same with |parens| and -|subparens|. But this can be different for sub-figures or sub-tables -listed in the List of Figures resp.~List of Tables, or when the label prefix -is redefined for a different purpose. +The prefix ($=$|\p@figure| resp.~|\p@table|), which runs ahead of the +number ($=$|\the|\-|figure| resp.~|\the|\-|table|) in lists and references, +is usually empty, +so the list formats |simple| and |subsimple| gives equal results; +same with |parens| and |subparens|. +But this can be different for sub-figures or sub-tables listed in the List of +Figures resp.~List of Tables, or when the label prefix is redefined for a +different purpose.\footnote{% + Sub-figures and sub-tables can be typeset using the \package{subcaption} + or \package{subfig} package.} % --------------------------------------------------------------------------- % @@ -1112,64 +1175,78 @@ is redefined for a different purpose. \DescribeMacro{figurename=} \DescribeMacro{tablename=}\NEWfeature{v3.0l} -You can change the name of the figures \& tables with the options +You can change the name of the figures and tables with the options \begin{quote}\begin{tabular}{@{}r@{}l@{\quad}l@{}} |figurename=| & \meta{name} & and\\ |tablename=| & \meta{name} & .\\ \end{tabular}\end{quote} -The document class usually sets them to ``Figure'' \& ``Table', but for +The document class usually sets them to ``Figure'' and ``Table'', but for example with \begin{quote} |figurename=Fig.| \end{quote} you can change the figure name to ``Fig''. -\INFO* +\smallskip\INFO If you use the \package{babel} package, please load \thispackage\ \emph{after} the \package{babel} package. -\bigskip +\medskip \pagebreak[3] \DescribeMacro{name=}\NEWfeature{v3.1f} -Similar to |figurename=| \& |tablename=| you can change the name of the -\emph{current} environment with the option +In contrast to the options |figure|\-|name| and |table|\-|name| the option \begin{quote} - |name=|\meta{name}\quad. + |name=|\meta{name} \end{quote} +changes the name of the \emph{current} environment. This could be useful in conjunction with the optional argument of -|\captionsetup|, e.g. +|\caption|\-|setup|, e.g. \begin{quote} |\captionsetup[wrapfigure]{name=Fig.}| \end{quote} -changes the name to ``Fig.'' for all |wrapfigure|s (while all the other +changes the name to ``Fig.'' for all |wrap|\-|figure|s (while all the other figure captions will still have ``Figure'' as name). +\medskip + +\pagebreak[3] +\DescribeMacro{listfigurename=} +\DescribeMacro{listtablename=}\NEWfeature{v3.1g} +Analogous to the options |figure|\-|name| and |table|\-|name| you can change +the title of the lists here. So for example +\begin{quote} + |listfigurename=List of images| +\end{quote} +changes the title ``List of Figures'' to ``List of images''. + \bigskip \pagebreak[3] \DescribeMacro{figurewithin=} \DescribeMacro{tablewithin=}\NEWfeature{v3.1f} -If a document class providing |\chapter| is used (e.g.~\package{report} or -\package{book}), usually the \env{figure} and \env{table} caption counters -are dependent on the |chapter| counter. Otherwise usually the \env{figure} and -\env{table} counters are continuous throughout the document. +If a document class providing |\chapter| is used (e.g.~\class{report} or +\class{book}), usually the |figure| and |table| caption counters +are dependent on the |chapter| counter. Otherwise usually the |figure| and +|table| counters are continuous throughout the document. This can be changed with the options -\begin{quote}\begin{tabular}{r@{}l} - |figurewithin=| & \meta{figure ``within'' counter} \emph{or} \texttt{none}\quad and\\ - |tablewithin=| & \meta{table ``within'' counter} \emph{or} \texttt{none}\quad .\\ +\begin{quote}\begin{tabular}{rl} + |figurewithin=| & \texttt{chapter} \emph{or} \texttt{section} \emph{or} \texttt{none}\quad and\\ + |tablewithin=| & \texttt{chapter} \emph{or} \texttt{section} \emph{or} \texttt{none}\quad .\\ \end{tabular}\end{quote} If ``|none|'' is given as value, the numbering of figures resp. tables will be continuous throughout the document. Otherwise the numbering will be dependent on the given counter, -e.g.~|figurewithin=section| gives figures a section-dependent numbering scheme. +e.g.~|figure|\-|within=|\x|section| gives figures a section-dependent +numbering scheme. \bigskip -\begin{Expert} -The name \& numbering is internally done by the commands |\|\meta{type}|name| -\& |\the|\meta{type}, e.g.~|\figurename| \& |\thefigure| for figures. +\begin{Expert*} +The name and numbering is internally done by the commands +|\|\meta{type}|name| \& |\the|\meta{type}, e.g.~|\figure|\-|name| \& +|\the|\-|figure| for figures. While usually using the above options are sufficient, sometimes a direct re-definition of these two macros is necessary. For example: \begin{quote} @@ -1179,7 +1256,7 @@ re-definition of these two macros is necessary. For example: gives you a section-dependent numbering scheme \meta{section}\meta{figure} with a numerical section counter and a alphanumerical figure counter, e.g.~``|Figure 2b|''. -\end{Expert} +\end{Expert*} % --------------------------------------------------------------------------- % @@ -1196,9 +1273,10 @@ the caption type manually with |type=|\meta{float type} \end{quote} prior to the usage of the |\caption| command (and other commands like -|\Continued|\x|Float| or |\subfloat| offered by the \package{subfig} -package\cite{subfig}), for example within an non-floating environment like -|minipage|: +|\Continued|\-|Float|, or |\sub|\-|caption|\-|box| offered by the +\package{subcaption} package, or |\sub|\-|float| offered by the +\package{subfig} package\cite{subfig}), +for example within an non-floating environment like |minipage|: \begin{quote} |\noindent\begin{minipage}{\textwidth}|\\ | \captionsetup{type=figure}|\\ @@ -1212,33 +1290,36 @@ package\cite{subfig}), for example within an non-floating environment like There is also a starred variant of this option, |type*=|\meta{float type}, which behaves different than |type=|\meta{float type} if the \package{hyperref} package\cite{hyperref} is loaded: While |type=| sets an -hyperlink anchor (if |hypcap=true| is set), |type*=| does not. -(See also \Ref{hyperref}) +hyperlink anchor (if |hypcap=|\x|true| is set), |type*=| does not. +(See also \Ref{hyperref}\,) +\end{Expert} +\begin{Expert} +\emph{\DefaultNoteText:} Please don't re-define the internal macro |\@captype| +for yourself, like suggested by some documentations, always use +|\caption|\-|setup{type=|\x\ldots|}| instead. \end{Expert} \medskip -Own float types can be defined with |\Declare|\x|Caption|\x|Type| offered by -this package, |\new|\x|float| offered by the \package{float} -package\cite{float}, or |\Declare|\x|New|\x|Float|\x|Type| offered by the +Own float types can be defined with |\Declare|\-|Caption|\-|Type| offered by +this package, |\new|\-|float| offered by the \package{float} +package\cite{float}, or |\Declare|\-|New|\-|Float|\-|Type| offered by the \package{floatrow} package\cite{float}. \medskip \DANGER % \NEWdescription{v3.1} Please note that you should use the option |type=| only -\emph{inside} boxes or environments (like |\parbox| or |minipage|), +\emph{inside} boxes or environments (like |\par|\x|box| or |mini|\x|page|), at best one where no page break could happen between contents and caption. Furthermore some visual side-effects (e.g.~mixed-up figure and table settings regarding captions) could occur without using a box or environment, therefore a warning message will be issued if you try to do so.\footnote{% You only get this warning message if you use \eTeX\ as underlying \TeX\ engine.} -\vfill - % --------------------------------------------------------------------------- % -\pagebreak[4] +\clearpage \section{Commands} \subsection{Typesetting captions} @@ -1260,34 +1341,36 @@ figures or tables will be made. For example: \begin{Expert} Please remember that the \meta{heading} is a so-called \emph{moving} argument, -if no \meta{list entry} has been given. If a \meta{list entry} is given, -this argument is moving instead. ``\emph{Moving} argument'' -means that the argument will be written to the list-of file, make it -appearing in the ``List of Figures'' resp. ``List of Tables'', too. +if no \meta{list entry} has been given. But if a \meta{list entry} is given, +this argument is moving instead. +``\emph{Moving} argument'' means that the argument will be written to the +list-of file, make it appearing in the ``List of Figures'' resp. +``List of Tables'', too. \emph{Moving} arguments are not allowed to contain \emph{fragile} commands, everything must be \emph{robust}, otherwise the argument could get -\emph{broken}, resulting in strange \LaTeX\ errors. Some \emph{fragile} -commands could be \emph{protected} by a leading |\protect|, own definitions -could get defined with |\DeclareRobustCommand| instead of |\newcommand| to -make them \emph{robust}. +\emph{broken}, resulting in strange errors at the next \LaTeX\ run. +Some \emph{fragile} commands could be \emph{protected} by a leading |\protect|, +own definitions could get defined with |\Declare|\-|Robust|\-|Command| instead of +|\new|\-|command| to make them \emph{robust}. An example: |\caption{${}^{137}_{\phantom{1}55}$Cs}| will cause errors since -|\phantom| is \emph{fragile}. So we have either have to use the optional -argument \meta{list entry} -(e.g.~|\caption[${}^|\xx|{137}_|\xx|{55}$|\xx|Cs]|\xx|{${}^|\xx|{137}_|\xx|{\phantom{1}55}$|\xx|Cs}|) -or add |\robust| to prevent the |\phantom| command from getting \emph{broken}: -|\caption{${}^|\xx|{137}_|\xx|{|\textcolor{blue}{\cs{protect}}|\phantom{1}55}$|\xx|Cs}|. +|\phantom| is \emph{fragile}. +So we have either have to use the optional argument \meta{list entry} +(e.g.~|\caption[${}^|\x|{137}_|\x|{55}$|\x|Cs]|\x|{${}^|\x|{137}_|\x|{\phantom{1}55}$|\x|Cs}|) +or add |\protect| to prevent the |\phantom| command from getting \emph{broken}: +|\caption{${}^|\x|{137}_|\x|{|\textcolor{blue}{\cs{protect}}|\phantom{1}55}$|\x|Cs}|. But sometimes even this is not sufficient. The reason behind is the so-called single-line-check: It puts the \meta{heading} into a horizontal box to determine -the width of the caption, and this could cause error messages, too. An example: -|\caption{A| |schematic.| |\[V_{C}| |\sim| |\left| |\{| |\begin{array}{cc}| +the width of the caption, and this could cause error messages, too. +An example: +|\caption{A| |scheme.| |\[V_{C}| |\sim| |\left| |\{| |\begin{array}{cc}| |E_{g}| |&| |\textrm{p-n}| |\\| |e\phi_{B}| |&| |\textrm{M-S}| |\end{array}| |\right.| |\]}|. -Using |\caption[A| |schematic]{|\ldots|}| is not sufficient here, it's still -leading to errors. (``\texttt{Missing \$ inserted.}'') So we have to put -a |\captionsetup{singlelinecheck=off}| just in front of the |\caption| -command additionally. +Using |\caption[A| |scheme]{|\ldots|}| is not sufficient here, it's still +leading to errors. (``\texttt{Missing \$ inserted.}'') +So we have to put a |\caption|\-|setup{single|\-|line|\-|check=|\x|off}| +just in front of the |\caption| command additionally. For more information about \emph{moving} arguments and \emph{fragile} \& \emph{robust} commands, take a closer look at your \LaTeX\ manual or visit @@ -1309,14 +1392,20 @@ An example: \end{quote} looks like \DeleteShortVerb{\|} -\begin{longtable}{r|rr} - \caption*{A table}\\ - & x & y \\\hline - a & 1 & 2 \\ - b & 3 & 4 \\ -\end{longtable} +\vskip\intextsep +\begin{minipage}{\linewidth} + \captionsetup{type=table,position=t} + \caption*{A table} + \centering + \begin{tabular}{r|rr} + & x & y \\\hline + a & 1 & 2 \\ + b & 3 & 4 \\ + \end{tabular} +\end{minipage} +\vskip\intextsep \MakeShortVerb{\|} -This package offers this feature, too, so you can use this command now within +\Thispackage\ offers this feature, too, so you can use this command now within every floating environment like |figure| or |table|, like: \begin{quote} |\begin{table}|\\ @@ -1332,8 +1421,8 @@ every floating environment like |figure| or |table|, like: \DescribeMacro{\captionof} \DescribeMacro{\captionof*} Sometimes you want to typeset a caption \emph{outside} a floating environment, -putting a figure within a non-floating |minipage| for instance. For this purpose -\thispackage\ offers the command +putting a figure within a non-floating |mini|\-|page| for instance. +For this purpose \thispackage\ offers the command \begin{quote} |\captionof|\marg{float type}\oarg{list entry}\marg{heading}\quad. \end{quote} @@ -1342,28 +1431,30 @@ the |\captionof| command needs to know which name to put into the caption label (e.g. ``Figure'' or ``Table'') and in which list to put the contents entry. An example: \begin{quote} - |\captionof{figure}{A figure}|\\ +% |\captionof{figure}{A figure}|\\ |\captionof{table}{A table}| \end{quote} typesets captions like this: \begin{Example} - \begingroup - \captionof{figure}{A figure} - \endgroup +% \begingroup +% \captionof{figure}{A figure} +% \endgroup \captionsetup{position=top} - \begingroup +% \begingroup \captionof{table}{A table} - \endgroup +% \endgroup \end{Example} -The star variant |\captionof*| has the same behavior as the |\caption*| command: -it typesets the caption without label and without entry to the list of figures +The star variant |\caption|\-|of*| has the same behavior as the |\caption*| +command: +It typesets the caption without label and without entry to the list of figures or tables. \DANGER % \NEWdescription{v3.1} -Since |\captionof| uses the |type*=| option internally, the same restrictions -as for the |type=| option apply here, so you should use both |\captionof| -and |\captionof*| only \emph{inside} boxes or environments, too. +Since |\caption|\-|of| uses the option |type| internally, the same +restrictions as for the |type| option apply here, so you should use both +|\caption|\-|of| and |\caption|\-|of*| only \emph{inside} boxes or +environments, too. \See{\Ref{types}} \bigskip @@ -1376,7 +1467,8 @@ This could be achieved with \begin{quote} |\captionlistentry|\oarg{float type}\marg{list entry}\quad. \end{quote} -One example: It's quite easy to have a |longtable| with captions above the + +One example: It's quite easy to have a |long|\-|table| with captions above the contents and a single list entry which points to the first page of the table: \begin{quote} |\begin{longtable}{|\ldots|}|\\ @@ -1386,10 +1478,11 @@ contents and a single list entry which points to the first page of the table: |\endhead|\\ | |\ldots \end{quote} -But since the \package{longtable} package does not offer an |\endfirstfoot| -command, you cannot easily have captions \emph{below} the table -contents and a single list entry which points to the first page of the table. -Here is were the |\captionlistentry| command could be used: +But since the \package{longtable} package does not offer an +|\end|\-|first|\-|foot| command, you cannot easily have captions \emph{below} +the table contents and a single list entry which points to the first page of +the table. +Here is were the |\caption|\-|list|\-|entry| command could be used: \begin{quote} |\begin{longtable}{|\ldots|}|\\ | \caption[]{|\ldots|}\\|\\ @@ -1397,9 +1490,17 @@ Here is were the |\captionlistentry| command could be used: | \captionlistentry{|\ldots|}|\\ | |\ldots \end{quote} -{\small(Another example can be found in \Ref{examples}.)} -\smallskip +\begin{Annotation*} +Another example can be found in \Ref{examples}. +\end{Annotation*} + +\begin{Expert} +There is also a starred variant, |\caption|\-|list|\-|entry*|, which does not +increment the \meta{float type} counter. +(Note that inside |long|\-|table| environments |\caption|\-|list|\-|entry| +never increments the |table| counter. See also \Ref{longtable}.) +\end{Expert} \begin{Expert} Please note that \meta{list entry} is a \emph{moving} argument, so everything @@ -1410,7 +1511,7 @@ it contains must be \emph{robust}. (See also explanation of |\caption|) \label{captionsetup} \DescribeMacro{\captionsetup} -We already know the |\captionsetup| command (see \Ref{usage}), +We already know the |\caption|\-|setup| command (see \Ref{usage}), but this time we get enlighten about its optional argument \meta{float type}. @@ -1418,7 +1519,6 @@ Remember, the syntax of this command is \begin{quote} |\captionsetup|\oarg{float type}\marg{options}\quad. \end{quote} - If a \meta{float type} gets specified, all the \meta{options} don't change anything at this time. Instead they only get marked for a later use, when a caption inside of a floating environment of the particular type @@ -1446,8 +1546,7 @@ gives captions like this: \captionof{table}{A table} \endgroup \end{Example} - -As you see the command |\captionsetup[figure]{|\ldots|}| only changes +As you see the command |\caption|\-|setup[figure]{|\ldots|}| only changes the look of the |figure| caption labels, not touching the other ones. As \meta{float type} you can usually give one of these two only: @@ -1458,20 +1557,20 @@ this package offer additional environments with captions and these two commands can also be used with them. \See{\Ref{declare} and \Ref{packages}} -\smallskip - -\pagebreak[3] -\NEWfeature{v3.1} \begin{Expert} -There is also a starred variant of |\captionsetup|: +\NEWfeature{v3.1} +There is also a starred variant of |\caption|\-|setup|: \begin{quote} |\captionsetup*|\oarg{float type}\marg{options} \end{quote} -While the non-starred variant gives you a warning if the \meta{options} are -actually not used throughout the document (e.g.~a |\captionsetup[table]{font=sf}| -without a |table|), the starred variant will not. -This is quite useful when setting generic options which are independent of a -specific document. +While the non-starred variant can give you warnings---for example if the +\meta{options} are actually not used throughout the document +(e.g.~a |\caption|\-|setup[table]{font=|\x|sf}| without a |table|)---the +starred variant will not. +\iffalse +This can get quite useful when setting generic options which are independent +of a specific document. +\fi \end{Expert} \medskip @@ -1495,9 +1594,8 @@ for figures in the example above: |\clearcaptionsetup{figure}|\\ \ldots\\ | \caption{A figure}|\\ - \ldots\\ + \ldots \end{quote} -\pagebreak[3] \begin{Example} \captionsetup{font=small} \captionsetup[figure]{labelfont=bf,textfont=it} @@ -1517,8 +1615,9 @@ If an optional argument \meta{option} is given, only the settings regarding this particular \meta{option} are cleared.\footnote{You can only specify \emph{one} option here, not a list of options. If you want to clean more than one option, you need to use more than one -\cs{clearcaptionsetup}s.} -While the example above not only clears the options |labelfont=bf,textfont=it| +\cs{clear}\-\texttt{caption}\-\texttt{setup}.} +While the example above not only clears the options +|labelfont=bf,|\x|textfont=it| for figures (but all options for figures instead), this one would only clear the |labelfont=bf| setting, leaving all other settings for figures intact: @@ -1531,7 +1630,7 @@ settings for figures intact: |\clearcaptionsetup[labelfont]{figure}|\\ \ldots\\ | \caption{A figure}|\\ - \ldots\\ + \ldots \end{quote} \begin{Example} \captionsetup{font=small} @@ -1546,19 +1645,21 @@ settings for figures intact: \endgroup \end{Example} \begin{Expert} -Analogous to |\captionsetup*| there is also a starred form -|\clearcaptionsetup*| which suppresses warnings if the given \meta{option} -was not setup for the specified \meta{float type}. +Analogous to |\caption|\-|setup*| there is also a starred form +|\clear|\-|caption|\-|setup*| which suppresses warnings if the given +\meta{option} was not setup for the specified \meta{float type}. \end{Expert} \medskip -\vfill\pagebreak[4] +\pagebreak[3] \DescribeMacro{\showcaptionsetup} -For debugging purposes the command\nopagebreak +For debugging purposes the command +\nopagebreak[3] \begin{quote} |\showcaptionsetup|\marg{float type} \end{quote} +\nopagebreak[3] is offered. It generates a log file entry, showing the given options for the specified \meta{float type}. For example \begin{quote} @@ -1583,7 +1684,7 @@ their own reference number. This is what the command \end{quote} is for; it should be used as first command inside the floating environment. It prevents the incrementation of the relevant counter (usually done by -|\caption|), so a figure or table with a |\ContinuedFloat| in it gets the +|\caption|), so a figure or table with a |\Continued|\-|Float| in it gets the same reference number as the figure or table before. An example: \begin{quote} |\begin{table}|\\ @@ -1609,8 +1710,8 @@ gives the following result: \bigskip \NEWfeature{v3.1} -Furthermore the |\ContinuedFloat| command executes options associated with -the type name ``|ContinuedFloat|''. For example this can be used to switch +Furthermore the |\Continued|\-|Float| command executes options associated with +the type name ``|Continued|\-|Float|''. For example this can be used to switch to a different label format for continued figures or tables, as shown here: \begin{quote} |\DeclareCaptionLabelFormat{continued}{Continued #1~#2}|\\ @@ -1629,12 +1730,17 @@ to a different label format for continued figures or tables, as shown here: \centerline{\ldots} \end{Example} \medskip -\See{\Ref{declare} for an explanation of \cs{DeclareCaptionLabelFormat}.} +\See{\Ref{declare} for an explanation of + \cs{Declare}\-\texttt{Caption}\-\texttt{Label}\-\texttt{Format}.} \bigskip -If you want to have a different caption label in |longtable|s after -a page break, this can \emph{not} be archived by using |\ContinuedFloat|, +If you want to have a different caption label in |long|\-|table|s after +a page break, this can \emph{not} be archived by using |\Continued|\-|Float|, +\iffalse +(since |\Continued|\-|Float| is not available for |long|\-|table|s, see +\Ref{longtable}) +\fi but you could write something like: \begin{quote} |\DeclareCaptionLabelFormat{continued}{Continued #1~#2}|\\ @@ -1648,13 +1754,10 @@ but you could write something like: | |\ldots\\ |\end{longtable}| \end{quote} -{\small\emph{Note:} |\ContinuedFloat| is not available for |longtable|s.} - -\vfill % --------------------------------------------------------------------------- % -\pagebreak[4] +\clearpage \section{Own enhancements} \label{declare} @@ -1663,10 +1766,10 @@ etc. This enables information on separators, justification, fonts, and styles to be associated with a name and kept in one place. (These commands need to appear in the document preamble, -this is the part between |\documentclass| and |\begin{document}|.) +this is the part between |\document|\-|class| and |\begin{document}|.) \pagebreak[3] -\DescribeMacro{\DeclareCaptionFormat} +\DescribeMacro{\DeclareCaption-\\Format} You can define your own caption formats using the command \begin{quote} |\DeclareCaptionFormat|\marg{name}\marg{code using \#1, \#2 and \#3}\mbox{\quad.} @@ -1678,9 +1781,9 @@ pre-defined by \thispackage\ as |\DeclareCaptionFormat{plain}{#1#2#3\par}|\quad. \end{quote} \begin{Expert} -There is also a starred variant, |\DeclareCaptionFormat*|, which causes -the code being typeset in \TeX s vertical (instead of horizontal) mode, -but does not support the |indention=| option. +There is also a starred variant, |\Declare|\-|Caption|\-|Format*|, +which causes the code being typeset in \TeX s vertical (instead of +horizontal) mode, but does not support the |indention=| option. \end{Expert} \pagebreak[3] @@ -1702,7 +1805,7 @@ An example: \DescribeMacro{\bothIfFirst} \DescribeMacro{\bothIfSecond} If you define your own caption label formats and use the -\package{subfig}\cite{subfig} or \package{subcaption} package, +\package{subcaption} or \package{subfig}\cite{subfig} package, you should take care of empty caption label names. For this purpose the commands \begin{quote} @@ -1751,9 +1854,9 @@ Again an easy example taken from \thispackage\ itself: |\DeclareCaptionLabelSeparator{colon}{: }| \end{quote} \begin{Expert} -There is also a starred variant, |\DeclareCaptionLabelSeparator*|, which -causes the code being typeset without using the |labelfont=| setting. -So for example the label separators |quad|, |newline|, and |endash| +There is also a starred variant, |\Declare|\-|Caption|\-|Label|\-|Separator*|, +which causes the code being typeset without using the |label|\-|font=| setting. +So for example the label separators |quad|, |new|\-|line|, and |en|\-|dash| are defined in this way. \end{Expert} @@ -1775,7 +1878,7 @@ typesets captions with all lines moved to the left margin. \bigskip \pagebreak[3] -\DescribeMacro{\DeclareCaptionFont} +\DescribeMacro{\DeclareCaption-\\Font} You can define your own caption fonts with \begin{quote} |\DeclareCaptionFont|\marg{name}\marg{code}\quad. @@ -1790,9 +1893,9 @@ The line spacing could be customized using the \package{setspace} package, for example:%\NEWdescription{v3.0h} \begin{quote} |\usepackage{setspace}|\\ - |\DeclareCaptionFont{singlespacing}{\setstretch{1}}|\quad\footnote{% - \emph{Note:} Using \cs{singlespacing} does not work here since it contains - a \cs{vskip} command.}\\ + |\DeclareCaptionFont{singlespacing}{\setstretch{1}}|~\footnote{% + \emph{\DefaultNoteText:} Using \cs{singlespacing} does not work here since + it contains a \cs{vskip} command.}\\ |\DeclareCaptionFont{onehalfspacing}{\onehalfspacing}|\\ |\DeclareCaptionFont{doublespacing}{\doublespacing}|\\ |\captionsetup{font={onehalfspacing,small},labelfont=bf}| @@ -1822,7 +1925,7 @@ you can get the same result simply with \medskip \pagebreak[3] -\DescribeMacro{\DeclareCaptionStyle} +\DescribeMacro{\DeclareCaption-\\Style} You can define your own caption styles with \begin{quote} |\DeclareCaptionStyle|\marg{name}\oarg{additional options}\marg{options}\mbox{\quad.} @@ -1837,20 +1940,20 @@ to them. If you specify \meta{additional options} they get used in addition when the caption fits into a single line and this check was not disabled with -the option |singlelinecheck=off|. +the option |single|\-|line|\-|check=off|. Again a very easy example taken from the core of this package: The caption style |base| is pre-defined as \begin{quote} |\DeclareCaptionStyle{base}%|\\ - | [justification=centering,indention=0pt]{}|\quad. + | [justification=centering,indention=0pt]{}|\quad. \end{quote} Something more exciting: \begin{quote} |\DeclareCaptionStyle{mystyle}%|\\ - | [margin=5mm,justification=centering]%|\\ - | {font=footnotesize,labelfont=sc,margin={10mm,0mm}}|\\ + | [margin=5mm,justification=centering]%|\\ + | {font=footnotesize,labelfont=sc,margin={10mm,0mm}}|\\ |\captionsetup{style=mystyle}| \end{quote} gives you caption like these ones: @@ -1870,14 +1973,14 @@ You can define your own caption list formats with \begin{quote} |\DeclareCaptionListFormat|\marg{name}\marg{code using \#1 and \#2}\mbox{\quad.} \end{quote} -At usage \#1 gets replaced with the label prefix (e.g.~|\p@figure|) and \#2 -gets replaced with the reference number (e.g.~|\thefigure|). +At usage \#1 gets replaced with the label prefix (e.g.~|\p@figure|), +and \#2 gets replaced with the reference number (e.g.~|\thefigure|). \bigskip \pagebreak[3] \DescribeMacro{\DeclareCaptionType}\NEWfeature{v3.1f} -You can define your own floating environments \& caption types with +You can define your own floating environments and caption types with \begin{quote} |\DeclareCaptionType|\oarg{options}\marg{type}\oarg{name}\oarg{list name} \end{quote} @@ -1904,7 +2007,8 @@ to \meta{type}, but with an uppercase first letter. If no \meta{list name} is given, the list name will be set to ``List of \meta{name}s''. -The list will be typeset using the command |\listof|\meta{type}|s|. +The list will be typeset using the command |\list|\-|of|\meta{type}|s|, +analogous to |\list|\-|of|\-|figures| and |\list|\-|of|\-|tables|. If the \package{fltpage} package is loaded, an environment called |FP|\meta{type} will be defined, same for |sideways|\meta{type} (\package{rotating} package), |SC|\meta{type} (\package{sidecap} package), @@ -1918,8 +2022,9 @@ So for example \end{quote} will define a new caption type and floating environment called |diagram|, the list will be stored in a file with the extension |lodiagram|, the name -(used for the caption) will be ``|Diagram|'' and the list name -``|List of Diagrams|''. The list could be typeset with |\listofdiagrams|. +(used for the caption) will be ``Diagram'' and the list name +``List of Diagrams''. +The list could be typeset with |\listofdiagrams|. Dependent on which packages are loaded, the environments |FPdiagram|, |sidewaysdiagram|, |SCdiagram|, and |wrapdiagram| will be defined additionally. @@ -1936,7 +2041,7 @@ you could define it this way: \begin{quote} |\DeclareCaptionFormat{myformat}{#1#2\\#3}| \end{quote} -If you select this format with |\captionsetup{format=myformat}| +If you select this format with |\caption|\-|setup{format=|\x|myformat}| you get captions like this: %\begin{Example} % \captionsetup{skip=0pt} @@ -1956,7 +2061,7 @@ the caption text? No problem, e.g. \begin{quote} |\newlength\myindention|\\ |\DeclareCaptionFormat{myformat}%|\\ - | {#1#2\\\hspace*{\myindention}#3}|\\ + | {#1#2\\\hspace*{\myindention}#3}|\\ \ldots\\ |\setlength\myindention{1cm}|\\ |\captionsetup{format=myformat}| @@ -1967,14 +2072,15 @@ would give you captions like \example{format=myformat2,myindention=1cm,labelfont=bf}{\exampletext} %\end{Example} But you want to have an caption option for this indention, so you can use -it for example with |\captionsetup|\xx|[figure]|\xx|{myindention=|\ldots|}|? +it for example with +|\caption|\-|setup|\x|[figure]|\x|{my|\-|indention=|\x\ldots|}|? This could be done, too: \begin{quote} |\newlength\myindention|\\ |\DeclareCaptionOption{myindention}%|\\ - | {\setlength\myindention{#1}}|\\ + | {\setlength\myindention{#1}}|\\ |\DeclareCaptionFormat{myformat}%|\\ - | {#1#2\\\hspace\myindention #3}|\\ + | {#1#2\\\hspace*{\myindention} #3}|\\ \ldots\\ |\captionsetup{format=myformat,myindention=1cm}| \end{quote} @@ -1993,7 +2099,7 @@ You could do it this way: \begin{quote} |\DeclareCaptionFormat{reverse}{#3#2#1}|\\ |\DeclareCaptionLabelFormat{fullparens}%|\\ - | {(\bothIfFirst{#1}{~}#2)}|\\ + | {(\bothIfFirst{#1}{~}#2)}|\\ |\DeclareCaptionLabelSeparator{fill}{\hfill}|\\ |\captionsetup{format=reverse,labelformat=fullparens,|\\ | labelsep=fill,font=small,labelfont=it}| @@ -2015,7 +2121,7 @@ If the indention into the margin shall be fixed, you could use a combination of |\llap| and |\makebox|, for example: \begin{quote} |\DeclareCaptionFormat{llapx}%|\\ - | {\llap{\makebox[5em][l]{#1}}#3\par}|\\ + | {\llap{\makebox[5em][l]{#1}}#3\par}|\\ |\captionsetup{format=llapx,singlelinecheck=off}| \end{quote} \example{format=llapx,singlelinecheck=off,skip=0pt,margin=0pt}{\exampletext} @@ -2024,10 +2130,10 @@ of |\llap| and |\makebox|, for example: This example puts a figure aside a table, but uses only one common caption for both. This will be achieved by a combination of -|\Declare|\x|Caption|\x|Label|\x|Format| and |\caption|\x|list|\x|entry|: +|\Declare|\-|Caption|\-|Label|\-|Format| and |\caption|\-|list|\-|entry|: \begin{quote} |\DeclareCaptionLabelFormat{andtable}%|\\ - | {#1~#2 \& \tablename~\thetable}|\\ + | {#1~#2 \& \tablename~\thetable}|\\ \ldots\\ |\begin{figure}|\\ | \centering|\\ @@ -2060,20 +2166,20 @@ This will be achieved by a combination of \LaTeX\ Companion\cite{TLC2} examples.} \MakeShortVerb{\|} -\vfill - % --------------------------------------------------------------------------- % -\pagebreak[4] +\clearpage \section{Document classes \& Babel support} \label{classes} %\NEWdescription{v3.1} -{\small\emph{Please note:} Many document classes already have build-in options and -commands for customizing captions. If these possibilities are sufficient for -you, there is usually no need for you to use the \package{caption} package -at all. And if you are just interested in using the command \cs{captionof}, -loading of the very small \package{capt-of} package is usually sufficient.} +\begin{Note*}[Please note] +Many document classes already have build-in options and commands for +customizing captions. If these possibilities are sufficient for you, there is +usually no need for you to use the \package{caption} package at all. +And if you are just interested in using the command \cs{captionof}, loading of +the very small \package{capt-of} package is usually sufficient. +\end{Note*} \medskip @@ -2088,26 +2194,37 @@ how the class author wanted the captions to look like. So for example setting |format=default| can give you different visual designs when used with different document classes. +\begingroup\setlength\leftmargini{0.3em}% default = 2.5em \DANGER If you don't find the document class you use in this section, you usually -don't have to worry: Many document classes are derived from one of the -standard document classes \class{article}, \class{report}, or \class{book}, -and behave the same regarding captions. +don't have to worry: Many document classes (e.g.~the \class{octavo} class) +are derived from one of the standard document classes \class{article}, +\class{report}, or \class{book}, and behave the same regarding captions. \Thispackage\ automatically does a compatibility check against the document -class used and will give you a clear warning if a incompatibility was detected. -If you don't get such warning everything is fine, but if you get it the usage of -\thispackage\ is not recommended and especially not supported. - -{\small(If you get such a compatibility warning but decide to use \thispackage{} - anyway, you should watch carefully what side-effects occur, usually the - look and feel of your captions will change by just including \thispackage{} - without options, meaning they do not look like as intended by the author - of the document class. - If this is fine for you, you should first specify the option |style=base| - via |\usepackage[style=base]{caption}| or |\captionsetup{style=base}| - to set \thispackage\ into a well-defined state. - Afterwards you can start setting your own options additionally and - keep your fingers crossed.)} +class used and will give you the clear warning +\begin{quote}\footnotesize + |Package caption Warning: Unsupported document class (or package) detected,|\\ + |(caption) usage of the caption package is not recommended.|\\ + |See the caption package documentation for explanation.| +\end{quote} +if such an incompatibility was detected. +If you don't get such warning everything is fine, but if you get it the +usage of \thispackage\ is not recommended and especially not supported. +\endgroup + +\begin{Expert} +If you get such a compatibility warning but decide to use \thispackage{} +anyway, you should watch carefully what side-effects occur, usually the +look and feel of your captions will change by just including \thispackage{} +without options, meaning they do not look like as intended by the author +of the document class. +If this is fine for you, you should first specify the option |style=|\x|base| +via |\use|\-|package[style=|\x|base]{caption}| or +|\caption|\-|setup{style=|\x|base}| to set \thispackage\ into a well-defined +state. +Afterwards you can start setting your own options additionally and +keep your fingers crossed. +\end{Expert} \newcommand*\Option{Option} \newcommand*\defaultvalue{\texttt{default} value} @@ -2128,7 +2245,9 @@ If you don't get such warning everything is fine, but if you get it the usage of |textfont=| & \nofont \\ \end{tabular} -\noindent{\small(\emph{Note:} This also applies to document classes derived from them.)} +\begin{Annotation} +This also applies to document classes derived from them. +\end{Annotation} \subsection{\AmS: amsart, amsproc, and amsbook} \label{AMS} @@ -2144,18 +2263,22 @@ If you don't get such warning everything is fine, but if you get it the usage of |textfont=| & |\@captionfont\upshape| \\ \end{tabular} -{\small(|\@captionfont| will be set to |\normalfont|, and |\@captionheadfont| to |\scshape| - by the \AmS\ document classes.)} +\begin{Annotation*} +|\@caption|\-|font| will be set to |\normal|\-|font|, and +|\@caption|\-|head|\-|font| to |\sc|\-|shape| by the \AmS\ document classes. +\end{Annotation*} -Furthermore the margin will be set to |\captionindent| for more-than-one-line captions -(which will be set to |3pc| by the \AmS\ classes), +Furthermore the margin will be set to |\caption|\-|indent| for +more-than-one-line captions (which will be set to |3pc| by the \AmS\ classes), the margin for single-line captions will be set to the half of it instead. -If you want to use a common margin for both, insert |\clearcaptionsetup[margin*]{singleline}| +If you want to use a common margin for both, insert +|\clear|\-|caption|\-|setup[margin*]{single|\-|line}| into the preamble of your document, after loading \thispackage. -Additionally the options |figureposition=b,tableposition=t| will be set. -You can override these settings by specifying other values for -|figureposition=| or |tableposition=| in the option list while loading \thispackage. +Additionally the options |figure|\-|position=b,|\x|table|\-|position=t| +will be set. You can override these settings by specifying other values for +|figure|\-|position=| or |table|\-|position=| in the option list while +loading \thispackage. \subsection{beamer} \label{beamer} @@ -2171,20 +2294,20 @@ You can override these settings by specifying other values for |textfont=| & \nofont \\ \end{tabular} -\textbf{Build-in features and side-effects:}\\ +\subsubsection*{Build-in features and side-effects} You can setup font and color settings with -|\setbeamerfont|\xx|{caption}|\xx\marg{options} and -|\setbeamerfont|\xx|{caption name}|\xx\marg{options}. +|\set|\-|beamer|\-|font{caption}|\marg{options} and +|\set|\-|beamer|\-|font{caption name}|\marg{options}. This will still work, unless you set a different font with -|\captionsetup|\xx|{font=|\xx\meta{options}|}| or -|\captionsetup|\xx|{labelfont=|\xx\meta{options}|}|.\par +|\caption|\-|setup{font=|\x\meta{options}|}| or +|\caption|\-|setup{label|\-|font=|\x\meta{options}|}|.\par Furthermore the \class{beamer} classes offer different caption templates which can be chosen with -|\set|\x|beamter|\x|template|\xx|{caption}|\xx|[|\meta{template}|]|. +|\set|\-|beamter|\-|template|\x|{caption}|\x|[|\meta{template}|]|. Since \thispackage\ replaces this caption template mechanism, -|\def|\x|beamer|\x|template*|\xx|{caption}|\xx\marg{template code} +|\def|\-|beamer|\-|template*|\x|{caption}|\x\marg{template code} and -|\set|\x|beamer|\x|template|\xx|{caption}|\xx|[|\meta{template}|]| +|\set|\-|beamer|\-|template|\x|{caption}|\x|[|\meta{template}|]| will have no effect when \thispackage\ is used. \subsection{\KOMAScript: scrartcl, scrreprt, and scrbook} @@ -2193,7 +2316,7 @@ will have no effect when \thispackage\ is used. \begin{tabular}{ll} \Option & \defaultvalue \\\hline |format=| & \use\ |\setcapindent| \textit{\&} |\setcaphanging| \settings \\ -|labelformat=| & |simple| \\ +|labelformat=| & \textit{like \purett{simple}, but with support of ``autodot''}\\ |labelsep=| & \use\ |\captionformat| \\ |justification=| & |justified| \\ |font=| & \use\ |\setkomafont{caption}| \settings \\ @@ -2201,12 +2324,12 @@ will have no effect when \thispackage\ is used. |textfont=| & \nofont \\ \end{tabular} -\textbf{Build-in features:}\\ +\subsubsection*{Build-in features} The \KOMAScript\ document classes offer many ways to customize the look and feel of the captions. For an overview and a full description please take a look at the \KOMAScript\ documentation, section `Tables and Figures'. -\textbf{Side effects:}\\ +\subsubsection*{Side effects} The optional argument of |\setcapwidth| is not supported (yet) and will be ignored if used in conjunction with the \package{caption} package. Furthermore the \KOMAScript\ options |tablecaptionabove| \& @@ -2228,10 +2351,11 @@ package. |textfont=| & \use\ |\CaptionTextFont| \\ \end{tabular} -\textbf{Build-in features and side-effects:}\\ -|\CaptionLabelFont| and |\CaptionTextFont| can be set either directly or -by using |\CaptionFonts|. Both is still supported unless you use -one of the two options |labelfont=| or |textfont=| offered by \thispackage. +\subsubsection*{Build-in features and side-effects} +|\Caption|\-|Label|\-|Font| and |\Caption|\-|Text|\-|Font| can be set either +directly or by using |\Caption|\-|Fonts|. +Both is still supported unless you use one of the two options +|label|\-|font=| or |text|\-|font=| offered by \thispackage. \subsection{\SmF{} classes: smfart and smfbook} \label{SMF} @@ -2239,11 +2363,31 @@ one of the two options |labelfont=| or |textfont=| offered by \thispackage. Since the \SmF\ document classes are derived from the \AmS\ document classes the same default values are valid here. -Additionally the margin is limited up to the tenth of the |\linewidth|. +Additionally the margin is limited up to the tenth of the |\line|\-|width|. If you don't like this limitation, you can switch it off with the option -|maxmargin=off| or |maxmargin=false| (which both means the same). +|max|\-|margin=|\x|off| or |max|\-|margin=|\x|false| +(which both means the same). + +\subsection{thesis} +\label{thesis} + +\begin{tabular}{ll} +\Option & \defaultvalue \\\hline +|format=| & |hang| \\ +|labelformat=| & \textit{like \purett{simple}, but with short name}\\ +|labelsep=| & |colon| \\ +|justification=| & |justified| \\ +|font=| & \nofont \\ +|labelfont=| & \use\ |\captionheaderfont| \\ +|textfont=| & \use\ |\captionbodyfont| \\ +\end{tabular} + +\subsubsection*{Build-in features and side-effects} +The caption label font can be set with |\caption|\-|header|\-|font|, +the caption text font with |\caption|\-|body|\-|font|. +Both is still supported unless you use one of the two options +|label|\-|font=| or |text|\-|font=| offered by \thispackage. -\pagebreak[4] \subsection{The frenchb Babel option} \label{frenchb} @@ -2267,17 +2411,17 @@ by the document class. So redefining \cs{captionseparator} will still work, unless you don't select a different |labelsep=| than the default one. -Furthermore the default |textfont=| will be set to |textfont=it|, -since this emulates the default setting of |\captionfont| defined by the +Furthermore the default |text|\-|font=| will be set to |text|\-|font=|\x|it|, +since this emulates the default setting of |\caption|\-|font| defined by the \package{frenchle} or \package{frenchpro} package. %If you redefine |\captionfont| after loading the \package{frenchle} or %\package{frenchpro} package, this redefinition gets lost. -Please note that the command \cs{captionfont} is used by the +Please note that the command |\caption|\-|font| is used by the \package{caption} package internally for a different purpose, so you should not change it (anymore). -The command \cs{unnumberedcaptions}\marg{figure or table} will still work, -but only unless you don't select a different |labelformat=| than the default +The command |\un|\-|numbered|\-|captions|\marg{figure or table} will still work, +but only unless you don't select a different |label|\-|format=| than the default one. \INFO* @@ -2286,9 +2430,10 @@ or \package{frenchpro} package. % --------------------------------------------------------------------------- % -\pagebreak[4] +\clearpage \section{Package support} \label{packages} +\label{compatibility} %\NEWdescription{v3.1} \Thispackage\ was adapted to the following packages which deals with @@ -2302,24 +2447,67 @@ captions, too: and \package{wrapfig} \end{quote} -Furthermore the \package{floatrow} and the \package{subfig} package -supports \thispackage\ and use its |\captionsetup| interface. +Furthermore the \package{floatrow} package\cite{floatrow}, the +\package{subcaption} package (which is part of the \package{caption} package +bundle), and the \package{subfig} package\cite{subfig} support \thispackage{} +and use its |\caption|\-|setup| interface. + +\bigskip + +\begingroup\setlength\leftmargini{0.3em}% default = 2.5em +\DANGER +If a package (or document class) unknown to \thispackage\ redefines +the |\caption| command as well, this redefinition will be preferred +over the one this package offers, providing maximum compatibility and +avoiding incompatibilities. +If such a potential incompatibility is detected, you will see this +warning message:~\footnote{% + You can suppress this warning by specifying the option |compatibility=true| + when loading \thispackage.} +\begin{quote}\footnotesize + |Package caption Warning: \caption will not be redefined since it's already|\\ + |(caption) redefined by a document class or package which is|\\ + |(caption) unknown to the caption package.|\\ + |See the caption package documentation for explanation.| +\end{quote} +\endgroup + +As a result, the following features offered by \thispackage\ will not be available: +\begin{itemize} + \item the options |labelformat=|, |position=auto|, and |list=| \& |listformat=| + \item |\caption*| (to produce a caption without label) + \item |\caption[]{|\ldots|}| (to produce no entry in the List of Figures or Tables) + \item |\caption{}| (to produce an empty caption without label separator) + \item |\ContinuedFloat| + \item correctly justified captions in environments like \texttt{wide} or \texttt{addmargin} + \item the \textsf{hypcap} feature \See{\Ref{hyperref}\,} + \item the sub-caption feature \See{\package{subcaption} package documentation} +\end{itemize} + +\DescribeMacro{compatibility=} +You can override this compatibility mode by specifying the option +\begin{quote} + |compatibility=false| +\end{quote} +when loading \thispackage. +But please note that using this option is neither recommended nor supported +since unwanted side-effects or even errors could occur afterwards. +(For that reason you will get a warning about this.) \newcommand\packagedescription[1]{% \ifvmode\else\par\fi \nopagebreak \parbox[b]{\linewidth}{\footnotesize\leftskip=10pt\rightskip=10pt\relax#1}\par \nopagebreak\smallskip\nopagebreak} -\newcommand\Note{\smallskip\emph{Note:}~} -\pagebreak[3] +\PageBreak \subsection{algorithms} \label{algorithms} \packagedescription{% -The \package{algorithms} bundle\cite{algorithms} provides two environments: -The \texttt{algorithmic} environment provides an environment for describing -algorithms, and the \texttt{algorithm} environment provides a ``float'' -wrapper for algorithms.} +The \package{algorithms} package bundle\cite{algorithms} provides two +environments: The \texttt{algorithmic} environment provides an environment +for describing algorithms, and the \texttt{algorithm} environment provides +a ``float'' wrapper for algorithms.} Since the \texttt{algorithm} environment is implemented via |\newfloat| provided by the \package{float} package\cite{float}, please see \Ref{float}. @@ -2335,9 +2523,15 @@ writing algorithms in LaTeX2e.} Since the \package{algorithm2e} package does not use some kind of standard interface for defining its floating environment (e.g.~|\newfloat| of the \package{float} package) and typesetting its caption, -this package is \emph{not} supported by \thispackage, and never will be. -Unfortunately it does not offer a simple, non-floating environment, too. -But you can define it on your own, for example: +the \package{algorithm2e} package is \emph{not} supported by \thispackage. + +So if you want to customize the captions using \thispackage, +you have to build a new environment which uses a supported interface regarding +floats (e.g. using the \package{float} or \package{floatrow} package), +and combine this environment with the internal \package{algorithm2e} code. + +As first step you could define a non-floating environment \texttt{algorithmic}, +for example: \begin{quote} |\usepackage{algorithm2e}|\\ |% save the "algorithm" environment from the algorithm2e package|\\ @@ -2350,11 +2544,11 @@ But you can define it on your own, for example: | {\ORIGendalgorithm}|\\ \ldots \end{quote} -Having defined this non-floating \texttt{algorithmic} environment, -you can define your own new floating environment with |\newfloat| of the -\package{float} package (or |\DeclareNewFloatType| of the \package{floatrow} -package), and use the combination of this floating environment -and \texttt{algorithmic} in its body, just like you would do when you use the +Having defined this non-floating environment, you could define your own new +floating environment with |\newfloat| of the \package{float} package +(or |\DeclareNewFloatType| of the \package{floatrow} package), +and use the combination of this floating environment and \texttt{algorithmic} +in its body, just like you would do when you use the \package{algorithm}/\package{algorithmic} package tandem. You could even use the \package{algorithm} package for this purpose, for example: @@ -2381,7 +2575,9 @@ Now you are finally able to customize the float and caption layout like every other floating environment defined with the \package{float} package\cite{float}, please see \Ref{float}. -%{\small(An alternative would be using the \package{algorithmicx} package.)} +\begin{Annotation} +An alternative would be using the \package{algorithmicx} package. +\end{Annotation} \fi \pagebreak[3] @@ -2395,7 +2591,7 @@ It also provides the \texttt{H} float placement option of the obsolete \package{here} package.} For floating environments defined with \cs{newfloat} or \cs{restylefloat} the -|po|\x|si|\x|tion| option has no effect on the main caption anymore, since its +|po|\-|si|\-|tion| option has no effect on the main caption anymore, since its placement and spacing will be controlled by the selected float style instead. Furthermore a caption style and options defined with the name of the float @@ -2407,23 +2603,23 @@ Using this mechanism \thispackage\ emulates the default look \& feel of the | {labelfont=bf,labelsep=space,strut=off}|\mbox{\quad.} \end{quote} So to change this you need either define your own caption style called -|ruled| or use |\captionsetup[ruled]|\marg{options} to specify additional +|ruled| or use |\caption|\-|setup[ruled]|\marg{options} to specify additional options.%, -%e.g.~|\captionsetup[ruled]{labelsep=colon}|. +%e.g.~|\caption|\-|setup[ruled]{labelsep=|\x|colon}|. Also by using this mechanism the skip between a |boxed| float and its caption is specified, overriding its global value: \begin{quote} |\captionsetup[boxed]{skip=2pt}| \end{quote} -For changing this, just use |\captionsetup[boxed]{skip=|\meta{value}|}| +For changing this, just use |\caption|\-|setup[boxed]{skip=|\x\meta{value}|}| with an appropriate value. Or if you want to use the global |skip| setting instead, you can remove the usage of the local setting for these floats with |\clearcaptionsetup[skip]{boxed}|. -\Note +\begin{Note} Only one single caption can be typeset inside environments defined with -|\new|\x|float| or |\re|\x|style|\x|float|, furthermore these environments +|\new|\-|float| or |\re|\-|style|\-|float|, furthermore these environments are not behaving exactly like the pre-defined floats |figure| \& |table|. As a consequence many packages do not cooperate well with these. Furthermore the float package has some caveats \& limitations, so if you @@ -2433,6 +2629,7 @@ instead. And for defining non-simple floating environments and customization I recommend using |\DeclareNewFloatType| offered by the \package{floatrow} package\cite{floatrow}. +\end{Note} \iffalse Please also note that you \emph{don't} need a |\restylefloat| for using @@ -2443,7 +2640,7 @@ in the foot, since many packages using |table| internally are not working correctly afterwards. \fi -\pagebreak[4] +\pagebreak[3] \subsection{floatflt} \label{floatflt} \packagedescription{% @@ -2451,8 +2648,8 @@ The \package{floatflt} package\cite{floatflt} offers figures and tables which do not span the full width of a page and are float around by text.} \NEWfeature{v3.1} -If you want to setup special options for the |floatingfigure| \& |floatingtable| -environments you can use +If you want to setup special options for the |float|\-|ing|\-|figure| \& +|float|\-|ing|\-|table| environments you can use \begin{quote} |\captionsetup[floatingfigure]|\marg{options}\\ |\captionsetup[floatingtable]|\marg{options}\quad. @@ -2460,10 +2657,11 @@ environments you can use These options will be executed additionally to the regular ones for |figure| or |table|. -\Note -The |margin| resp.~|width| setting will not be used for these figures \& tables, -unless you set it explicit with |\captionsetup[floatingfigure]{|\ldots|}| or -|\captionsetup[floatingtable]{|\ldots|}|. +\begin{Note} +The |margin| resp.~|width| setting will not be used for these figures and tables, +unless you set it explicit with |\caption|\-|setup[floating|\-|figure]{|\ldots|}| +or |\caption|\-|setup[floating|\-|table]{|\ldots|}|. +\end{Note} \pagebreak[3] \subsection{fltpage} @@ -2500,7 +2698,7 @@ Furthermore \cs{DeclareCaptionType}\marg{name} will also define an environment called |FP|\meta{name} which behaves like |FPfigure| and |FPtable|. -\pagebreak[4] +\pagebreak[3] \subsection{hyperref} \label{hyperref} \packagedescription{% @@ -2508,36 +2706,39 @@ The hyperref package\cite{hyperref} is used to handle cross-referencing commands in LaTeX to produce hypertext links in the document.} \NEWfeature{v3.1} -There are two options available to control the placement of hyperlink anchors: +There are two options available to control the placement of hyperlink +anchors:~\footnote{These options are named after the \package{hypcap} package +which they supersede.} \begin{description} \item{\texttt{hypcap=true} or \texttt{hypcap=false}}\\[\smallskipamount] If set to |true| all hyperlink anchors -- where entries in the List of Figures, |\ref|, and |\autoref| will link to -- are placed at the beginning of the (floating) environment.\par If set to |false| the hyperlink anchor is (usually) placed at the caption.\par -(The default setting is |hypcap=true|.) +(The default setting is |hypcap=|\x|true|.) \item{\texttt{hypcapspace=}\meta{amount}}\\[\smallskipamount] Because it looks poor if the hyperlink points exactly at the top of the figure or table, you can specify a vertical distance between the hyperlink anchor and the (floating) environment itself, -e.g.~|hypcapspace=0pt| removes this distance.\par -(The default setting is |hypcapspace=0.5\baselineskip|.) +e.g.~|hyp|\-|cap|\-|space=|\x|0pt| removes this distance.\par +(The default setting is |hyp|\-|cap|\-|space=|\x|0.5\base|\-|line|\-|skip|.) \end{description} -Both settings have no effect in |lstlisting|s (provided by the -\package{listings} package), |longtable|s (provided by the -\package{longtable} package), and |supertabular|s (provided by the +Both settings have no effect in |lst|\-|listing|s (provided by the +\package{listings} package), |long|\-|table|s (provided by the +\package{longtable} package), and |super|\-|tabular|s (provided by the \package{supertabular} package), within these environments hyperlink -anchors will always be placed as if |hypcap=true| \& |hypcapspace=0pt| -would be set. +anchors will always be placed as if |hyp|\-|cap=|\x|true| and +|hyp|\-|cap|\-|space=|\x|0pt| would be set. \pagebreak[3]Please note:\nopagebreak \begin{description} -\item{\cs{captionof}\marg{type}\csmarg\ldots\ vs. - \cs{captionsetup}\csmarg{type=\textrm{\meta{type}}}$+$\cs{caption}\csmarg\ldots}\\[\smallskipamount] +\item{\cs{captionof}\marg{type}\csmarg{\purerm\ldots} + vs.~\cs{captionsetup}\csmarg{type=\textrm{\meta{type}}}$+$\cs{caption}\csmarg{\purerm\ldots}}% +\\[\smallskipamount] Without \package{hyperref} loaded, both will give you identical results. -But with \package{hyperref} loaded, and with |hypcap=true| requested, the -hyperlink anchor will be placed different. +But with \package{hyperref} loaded, and with |hyp|\-|cap=|\x|true| requested, +the hyperlink anchor will be placed different. For example: \begin{quote} |\begin{minipage}{\linewidth}|\\ @@ -2546,7 +2747,7 @@ For example: |\end{minipage}| \end{quote} will place the hyperlink anchor at the caption. -(And if |hypcap=true| is set, you will get a warning about this.) +(And if |hypcap=|\x|true| is set, you will get a warning about this.) But \begin{quote} |\begin{minipage}{\linewidth}|\\ @@ -2556,18 +2757,18 @@ But |\end{minipage}| \end{quote} will place the hyperlink anchor at the beginning of the |minipage|, -since |\caption|\x|setup|\xx|{type=|\xx|figure}| does not only set the caption type +since |\caption|\-|setup{type=|\x|figure}| does not only set the caption type to ``figure'' but does place a hyperlink anchor, too. -\item{\cs{caption}\csoarg{}\csmarg\ldots\ vs. - \cs{captionsetup}\csmarg{list=false}$+$\cs{caption}\csmarg\ldots}\\[\smallskipamount] +\item{\cs{caption}\csoarg{}\csmarg{\purerm\ldots} + vs.~\cs{captionsetup}\csmarg{list=false}$+$\cs{caption}\csmarg{\purerm\ldots}}\\[\smallskipamount] Again, without \package{hyperref} loaded, both will give you identical results. But with \package{hyperref} loaded, the difference is in the nuances. -So for example the optional argument of \cs{caption} will also be written to -the |aux| file, and will be used by the \cs{nameref} command. -So if you choose to use \cs{caption} with empty optional argument, -\cs{nameref} will also give you an empty result. -So it's better to use \cs{captionsetup}\csmarg{list=false} if you don't +So for example the optional argument of |\caption| will also be written to +the |aux| file, and will be used by the |\name|\-|ref| command. +So if you choose to use |\caption| with empty optional argument, +|\name|\-|ref| will also give you an empty result. +So it's better to use |\caption|\-|setup{list=|\x|false}| if you don't want an entry in the List of Figures or List of Tables. \end{description} @@ -2575,32 +2776,34 @@ want an entry in the List of Figures or List of Tables. \subsection{hypcap} \label{hypcap} \packagedescription{% -The \package{hypcap} package\cite{hypcap} offers a solution to the problem -that links to a float using \package{hyperref} may anchors to the caption +The \package{hyp\-cap} package\cite{hypcap} offers a solution to the problem +that links to a float using \package{hyper\-ref} may anchors to the caption rather than the beginning of the float. Since \thispackage\ \version{3.1} already solves this problem for itself, the \package{hypcap} package is usually not needed, at least when you use \thispackage.} -If the \package{hypcap} package is loaded additionally to the \package{hyperref} -package, it takes over the control of the hyperlink anchor placement from \thispackage, -overriding the options |hypcap=| \& |hypcapspace=|. +If the \package{hyp\-cap} package is loaded additionally to the +\package{hyper\-ref} package, it takes over the control of the hyperlink +anchor placement from \thispackage, overriding the options |hyp|\-|cap| +and |hyp|\-|cap|\-|space|. -So for a manual placement of hyperlink anchors |\captionsetup{type=|\meta{type}|}| -is not sufficient anymore, instead you need to use |\capstart| -(provided by the \package{hypcap} package) for this. +So for a manual placement of hyperlink anchors +|\caption|\-|setup{type=|\x\meta{type}|}| is not sufficient anymore, +instead you need to use |\cap|\-|start| (provided by the \package{hyp\-cap} +package) for this. Regarding the automatically placement the \package{hypcap} package offers good placement of hyperlink anchors for the floating environments |figure| and -|table| only. In contrast the |hypcap=true| option of \thispackage\ also +|table| only. In contrast the |hypcap=|\x|true| option of \thispackage\ also offers good placements of hyperlink anchors for -|floatingfigure|s (provided by the \package{floatflt} package), -|FPfigure|s \& |FPtable|s (provided by the \package{fltpage} package), -|figwindow|s (provided by the \package{picinpar} package), -|parpic|s (provided by the \package{picins} package), -|SCfigure|s (provided by the \package{sidecap} package), -|threeparttable|s (provided by the \package{threeparttable} package, -and |wrapfigure|s (provided by the \package{wrapfig} package).%---% +|floating|\-|figure|s (provided by the \package{float\-flt} package), +|FP|\-|figure|s \& |FPtable|s (provided by the \package{flt\-page} package), +|fig|\-|window|s (provided by the \package{pic\-in\-par} package), +|par|\-|pic|s (provided by the \package{pic\-ins} package), +|SC|\-|figure|s (provided by the \package{side\-cap} package), +|three|\-|part|\-|table|s (provided by the \package{three\-part\-table} package), +and |wrapfigure|s (provided by the \package{wrap\-fig} package).%---% %so by loading the \package{hypcap} package additionally you will %loose that. @@ -2616,6 +2819,14 @@ you can use |\captionsetup[lstlisting]|\marg{options}\quad. \end{quote} +Please note that the \package{listings} package has its very own options +for controlling the position and the skips of the caption: +|caption|\-|pos=|, |above|\-|caption|\-|skip=|, and |below|\-|caption|\-|skip=|. +\See{\package{listings} documentation for details.} +These \package{listings} options override the \package{caption}'s ones, but +can be again overwritten by |\caption|\-|setup[lst|\-|listing]{|\ldots|}|, +e.g.~|\caption|\-|setup[lst|\-|listing]{skip=|\x|10pt}|. + \pagebreak[3] \subsection{longtable} \label{longtable} @@ -2632,21 +2843,26 @@ you can use These options will be executed additionally to the regular ones for |table|. -The |margin| \& |width| settings usually override |\LTcapwidth|, so -you get an equal look \& feel of the captions in |table|s and -|longtable|s. But if you set |\LTcapwidth| to a value different from -its default $=$ |4in|, \thispackage\ will follow that. -(But |\LTcapwidth| will be overwritten by -|\captionsetup[longtable]{width=|\meta{value}|}|, even if it is set -to a value different than |4in|.) - -\Note -\cs{captionof} and \cs{ContinuedFloat} do not work for |longtable|s. +The |margin| and |width| settings usually override |\LT|\-|cap|\-|width|, +so you get an equal look \& feel of the captions in |table|s and +|long|\-|table|s. +But if you set |\LT|\-|cap|\-|width| to a value different than its default +$=$ |4in|, \thispackage\ will follow that. +(But |\LT|\-|cap|\-|width| will be overwritten by +|\caption|\-|setup[long|\-|table]{width=|\x\meta{value}|}|, +even if it is set to a value different than |4in|.) + +\begin{Note} +|\caption|\-|of| and |\Continued|\-|Float| do not work for |long|\-|table|s. +Furthermore neither |\caption| nor |\caption|\-|list|\-|entry| will increment +the |table| counter here; it's incremented by the |long|\-|table| environment +instead. \NEWfeature{v3.1} -If you need a |longtable| which does not increment the |table| counter -please use the |longtable*| environment offered by the \package{ltcaption} -package which is part of \thispackage\ bundle and will be loaded -automatically. +If you need a |long|\-|table| which does \emph{not} increment the |table| +counter please use the |long|\-|table*| environment (offered by the +\package{ltcaption} package which is part of \thispackage\ bundle and will be +loaded automatically). +\end{Note} \pagebreak[3] \subsection{picinpar} @@ -2668,10 +2884,11 @@ environments you can use These options will be executed additionally to the regular ones for |figure| or |table|. -\Note -The |margin| resp.~|width| setting will not be used for these figures \& tables, -unless you set it explicit with |\caption|\x|setup|\xx|[figwindow]{|\ldots|}| or -|\caption|\x|setup|\xx|[figtable]{|\ldots|}|. +\begin{Note} +The |margin| resp.~|width| setting will not be used for these figures and tables, +unless you set it explicit with |\caption|\-|setup[fig|\-|window]{|\ldots|}| or +|\caption|\-|setup[fig|\-|table]{|\ldots|}|. +\end{Note} \pagebreak[3] \subsection{picins} @@ -2693,37 +2910,41 @@ These options will be executed additionally to the regular ones for Furthermore |\piccaption[]{|\ldots|}| produce no entry in the List of Figures, and |\piccaption*{|\ldots|}| gives an unlabeled \& unnumbered caption. -\Note -The |margin| resp.~|width| setting will not be used for these figures \& tables -if \cs{piccaptionside} or \cs{piccaptiontopside} is used. +\begin{Note} +The |margin| resp.~|width| setting will not be used for these figures and tables. +\iffalse +if |pic|\-|caption|\-|side| or |pic|\-|caption|\-|top|\-|side| is used. The |width| setting will not be used (but the |margin| setting will) if -\cs{piccaptionoutside} or \cs{piccaptioninside} is used. +|pic|\-|caption|\-|out|\-|side| or |pic|\-|caption|\-|in|\-|side| is used. +\fi But you can override this by setting it explicit with -|\captionsetup[parpic]{|\ldots|}|. - -\Note -If you want to have a |\piccaption| of another type as |figure|, please do -\emph{not} re-define |\@captype| as suggested by the \package{picins} -documentation. Please use the |\piccaptiontype|\marg{type} command which is -offered by \thispackage\ instead, e.g.: +|\caption|\-|setup[par|\-|pic]{|\ldots|}|. +\end{Note} + +\begin{Note} +If you want to have a |\pic|\-|caption| of another type as |figure|, please +do \emph{not} re-define |\@cap|\-|type| as suggested by the \package{picins} +documentation. Please use the |\pic|\-|caption|\-|type|\marg{type} command +which is offered by \thispackage\ instead, e.g.: \begin{quote} |\piccaptiontype{table}|\\ |\piccaption{An example table}|\\ |\parpic(50mm,10mm)[s]{|\ldots|}| \end{quote} +\end{Note} \pagebreak[3] \subsection{rotating} \label{rotating} \packagedescription{% The \package{rotating} package\cite{rotating} offers the floating -environments \texttt{sideways\-figure} and \texttt{sideways\-table} +environments \texttt{side\-ways\-figure} and \texttt{side\-ways\-table} which are just like normal figures and tables but rotated by 90 degree. Furthermore a command \cs{rotcaption} is offered for rotated captions only.} \iffalse % No, we don't do that -If you want to setup special options for the |sidewaysfigure| \& |sidewaystable| -environments you can use +If you want to setup special options for the |side|\-|ways|\-|figure| \& +|side|\-|ways|\-|table| environments you can use \begin{quote} |\captionsetup[sidewaysfigure]|\marg{options}\\ |\captionsetup[sidewaystable]|\marg{options}\quad. @@ -2732,14 +2953,14 @@ These options will be executed additionally to the regular ones for |figure| or |table|. \fi -The command \cs{rotcaption} will be extended by \thispackage, so -|\rotcaption*| or |\rotcaptionof| can be used analogous to |\caption| and -|\captionof|. +The command |\rot|\-|caption| will be extended by \thispackage, so +|\rot|\-|caption*| or |\rot|\-|caption|\-|of| can be used analogous to +|\caption| and |\caption|\-|of|. \NEWfeature{v3.1} -Furthermore \cs{DeclareCaptionType}\marg{name} will also define -an environment called |sideways|\meta{name} which behaves like -|sideways|\x|figure| and |sideways|\x|table|. +Furthermore |\Declare|\-|Caption|\-|Type|\marg{name} will also define +an environment called |side|\-|ways|\meta{name} which behaves like +|side|\-|ways|\-|figure| and |side|\-|ways|\-|table|. \pagebreak[3] \subsection{setspace} @@ -2747,13 +2968,14 @@ an environment called |sideways|\meta{name} which behaves like \packagedescription{% The \package{setspace} package\cite{setspace} offers options and commands to change the spacing, -e.g.\ \cs{usepackage}\xx\csoarg{one\x half\x spacing}\xx\csmarg{set\x space} +e.g.\ \cs{usepackage}\x\csoarg{one\-half\-spacing}\x\csmarg{set\-space} causes the document to be typeset in one-and-a-half spacing.} If the \package{setspace} package is used in conjunction with \thispackage, the caption will be typeset with single spacing as default. This can be changed -by specifying either |font=onehalfspacing|, |font=doublespacing|, or -|font={stretch=|\meta{amount}|}|. \See{\Ref{fonts}} +by specifying either |font=|\x|one|\-|half|\-|spacing|, +|font=|\x|double|\-|spacing|, or |font={stretch=|\x\meta{amount}|}|. +\See{\Ref{fonts}} \pagebreak[3] \subsection{sidecap} @@ -2778,20 +3000,24 @@ Furthermore \cs{DeclareCaptionType}\marg{name} will also define an environment called |SC|\meta{name} which behaves like |SCfigure| and |SCtable|. -\pagebreak[3] -\Note +\begin{Note} The \package{sidecap} package offers its own options for justification. If set, they will override the one specified with the caption option |justification=| for captions beside their contents. +\end{Note} -\pagebreak[3] -\Note -The |margin| resp.~|width| setting will not be used for these figures \& tables, -unless you set it explicit with |\captionsetup|\xx|[SCfigure]|\xx|{|\ldots|}| -or |\captionsetup|\xx|[SCtable]|\xx|{|\ldots|}|. +\begin{Note} +The |margin| resp.~|width| setting will not be used for these figures and tables, +unless you set it explicit with |\caption|\-|setup[SC|\-|figure]{|\ldots|}| +or |\caption|\-|setup[SC|\-|table]{|\ldots|}|. +\end{Note} + +\medskip -\medskip{\small(Instead of using the \package{sidecap} package you can also use -the more powerful \package{floatrow} package\cite{floatrow} for this purpose.)} +\begin{Annotation*} +Instead of using the \package{sidecap} package you can also use +the more powerful \package{floatrow} package\cite{floatrow} for this purpose. +\end{Annotation*} \pagebreak[3] \subsubsection*{Undocumented features} @@ -2814,8 +3040,8 @@ The command \end{quote} sets the vertical position of the side-caption. \meta{pos} can be either `|t|' (for top alignment), `|b|' (for bottom alignment), or `|c|' (for center alignment). -The default setting for \env{table} is `|t|', for \env{figure} and all other -ones defined with |\Declare|\x|Caption|\x|Type| it's `|b|'. +The default setting for |table| is `|t|', for |figure| and all other ones +defined with |\Declare|\-|Caption|\-|Type| it's `|b|'. \pagebreak[3] \subsection{subfigure} @@ -2845,7 +3071,7 @@ Both offers the typesetting of tables which can span multiple pages. For a detailed discussion about the differences between these two powerful packages please take a look at The \LaTeX\ Companion\cite{TLC2}.} -If you want to setup special options for the |supertabular| environment +If you want to setup special options for the |super|\-|tabular| environment you can use \begin{quote} |\captionsetup[supertabular]|\marg{options}\quad. @@ -2853,8 +3079,9 @@ you can use These options will be executed additionally to the regular ones for |table|. -\Note -\cs{ContinuedFloat} does not work for |supertabular|s. +\begin{Note} +|\Continued|\-|Float| does not work for |super|\-|tabular|s. +\end{Note} \pagebreak[3] \subsection{threeparttable} @@ -2866,8 +3093,8 @@ This scheme provides an answer to the old problem of putting footnotes in tables---by making footnotes entirely unnecessary.} \NEWfeature{v3.1} -If you want to setup special options for the |threeparttable| \& -|measuredfigure| environments you can use +If you want to setup special options for the |three|\-|part|\-|table| \& +|measured|\-|figure| environments you can use \begin{quote} |\captionsetup[threeparttable]|\marg{options}\\ |\captionsetup[measuredfigure]|\marg{options}\quad. @@ -2875,15 +3102,20 @@ If you want to setup special options for the |threeparttable| \& These options will be executed additionally to the regular ones for |table| or |figure|. -\Note +\begin{Note} Since the caption will have the same width as the contents here, -the |margin| resp.~|width| setting will not be used for these figures \& tables, +the |margin| resp.~|width| setting will not be used for these figures and tables, at least unless you set it explicit with -|\caption|\x|setup|\xx|[threeparttable]|\xx|{|\ldots|}| -or |\caption|\x|setup|\xx|[measuredfigure]|\xx|{|\ldots|}|. +|\caption|\-|setup[three|\-|part|\-|table]{|\ldots|}| or +|\caption|\-|setup[measured|\-|figure]{|\ldots|}|. +\end{Note} + +\medskip -\medskip{\small(Instead of using the \package{sidecap} package you can also use -the \package{floatrow} package\cite{floatrow} for this purpose.)} +\begin{Annotation*} +Instead of using the \package{threeparttable} package you can +also use the \package{floatrow} package\cite{floatrow} for this purpose. +\end{Annotation*} \pagebreak[3] \subsection{wrapfig} @@ -2910,298 +3142,84 @@ Furthermore \cs{DeclareCaptionType}\marg{name} will also define an environment called |wrap|\meta{name} which behaves like |wrapfigure| and |wraptable|. -\Note -The |margin| resp.~|width| setting will not be used for these figures \& tables, -unless you set it explicit with |\caption|\x|setup|\xx|[wrapfigure]|\xx|{|\ldots|}| -or |\caption|\x|setup|\xx|[wraptable]|\xx|{|\ldots|}|. +\begin{Note} +The |margin| resp.~|width| setting will not be used for these figures and tables, +unless you set it explicit with |\caption|\-|setup[wrap|\-|figure]{|\ldots|}| +or |\caption|\-|setup[wrap|\-|table]{|\ldots|}|. +\end{Note} -\Note +\begin{Note} If the \package{wrapfig} package should be used in coorperation with the \package{float} package, it needs to be loaded \emph{after} the \package{float} package. Furthermore \cs{newfloat} or \cs{restylefloat} commands \emph{must} be placed after \emph{both} packages have been loaded. +\end{Note} % --------------------------------------------------------------------------- % -\pagebreak[4] -\section{History} -\label{history} - -The version $1.0$ was written in 1994 and was offering a handful of options -to customize the look \& feel of the captions. Version $1.2$ added the -support of the \package{float} package. -(The other versions $1.x$ were mainly bugfix-releases.) - -The \package{caption2} package $2.0$ was an experimental side-version of -the regular \package{caption} package. It was made public as beta test version -without proper documentation in 1995 because of the strong demand for new -features and adaptations to additional packages like the \package{longtable} -package. -Furthermore it offered a revised support of the \package{subfigure} package. -(A version $2.1$ was offered as bugfix-release in 2002.) - -In 2003 I finally found some time, so a new regular release $3.0$ -of the \package{caption} package could be build in cooperation with -Frank Mittelbach and Steven Cochran. -It was released in December 2003 and superseded the neglected -\package{caption2} package. -Main parts were re-written and it provided a complete re-work of -the user interface. -Furthermore it supported the \package{hyperref}, \package{hypcap}, -\package{listings}, \package{sidecap}, and \package{supertabular} packages -additionally. - -While all the previous versions were designed for usage with the standard -\LaTeX\ document classes \class{article}, \class{report}, and \class{book}, -the current version $3.1$ released in 2007 also supports the \AmS, -\KOMAScript, \NTG, and \SmF\ document classes, and the \class{beamer} class -as well. -Furthermore it was adapted to the \package{frenchb} Babel option, -the \package{frenchle} \& \package{frenchpro} packages, -and the \package{floatflt}, \package{fltpage}, \package{picinpar}, -\package{picins}, \package{setspace}, \package{threeparttable}, -and \package{wrapfig} packages. -New commands and options were introduced as well, for example -|\caption|\x|list|\x|entry|, |\Declare|\x|Caption|\x|List|\x|Format|, -|\Declare|\x|Caption|\x|Type|, \opt{figurewithin=} \& \opt{tablewithin=}, -\opt{list=} \& \opt{listformat=}, and \opt{maxmargin=} \& \opt{minmargin=}. -Another benefit are the new hypcap and sub-caption features. -\See{\Ref{hyperref} and the \package{subcaption} package documentation} - -\pagebreak[4] -\section{Compatibility to older versions} -\label{compatibility} - -\subsection{caption v\texorpdfstring{$1.x$}{1.x}} -\label{caption1} - -This version of \thispackage\ still supports the old options -and commands provided by the version $1.x$ of this package. So there -shouldn't occur any problems compiling old documents, but please don't mix -old options and commands with the new ones. This isn't supported and can -cause ugly side effects. - -Here comes a short oversight of the obsolete options and how -they have been replaced within this version of \thispackage: - -{\small\begin{longtable}{ll} -\package{caption} \version{1.x} & \package{caption} \version{3.x}\\ -\hline -\endhead -|normal| & |format=plain|\\ -|hang| & |format=hang|\\ -|isu| & |format=hang|\\ -|center| & |justification=centering|\\ -|centerlast| & |justification=centerlast|\\ -%|anne| & |justification=centerlast|\\ -|nooneline| & |singlelinecheck=off|\\ -|scriptsize| & |font=scriptsize|\\ -|footnotesize| & |font=footnotesize|\\ -|small| & |font=small|\\ -|normalsize| & |font=normalsize|\\ -|large| & |font=large|\\ -|Large| & |font=Large|\\ -|up| & |labelfont=up|\\ -|it| & |labelfont=it|\\ -|sl| & |labelfont=sl|\\ -|sc| & |labelfont=sc|\\ -|md| & |labelfont=md|\\ -|bf| & |labelfont=bf|\\ -|rm| & |labelfont=rm|\\ -|sf| & |labelfont=sf|\\ -|tt| & |labelfont=tt|\\ -\end{longtable}} - -Beside the options for setting up the desired font there were also -the commands |\captionsize| resp.~|\captionfont| and |\captionlabelfont| -who could be redefined with |\renewcommand| and allowed an alternate and -more flexible way to change the font used for captions. -This mechanism was replaced by the commands -\begin{quote} - |\DeclareCaptionFont{|\ldots|}{|\ldots|}|\qquad and\\ - |\captionsetup{font=|\ldots|,labelfont=|\ldots|}|\qquad. -\end{quote}\SeeUserDefined - -Setting the margin for captions was done in \version{1.x} with -\begin{quote} - |\setlength{\captionmargin}{|\ldots|}|\quad. -\end{quote} -This was replaced by -\begin{quote} - |\captionsetup{margin=|\ldots|}|\qquad. -\end{quote} -\See{\Ref{margins}} - -For example the old-style code -\begin{quote} -|\usepackage[hang,bf]{caption}|\\ -|\renewcommand\captionfont{\small\sffamily}|\\ -|\setlength\captionmargin{10pt}| -\end{quote} -will still work fine, but should be written today as -\begin{quote} -|\usepackage[format=hang,labelfont=bf,font={small,sf},|\\ -| margin=10pt]{caption}| -\end{quote} -or -\begin{quote} -|\usepackage{caption}|\\ -|\captionsetup{format=hang,labelfont=bf,font={small,sf},|\\ -| margin=10pt}|\qquad. -\end{quote} - -The quite exotic option |ruled| which allowed a partial usage of -the caption settings for |ruled| floats defined with the -\package{float} package will be emulated by this version of the -caption package, too. -But using this option is not recommended anymore since this -version of \thispackage\ offers a more flexible way -for changing the captions of these floating environments: -\begin{quote} - |\DeclareCaptionStyle{ruled}{|\ldots|}| -\end{quote} -resp. -\begin{quote} - |\captionsetup[ruled]{|\ldots|}|\qquad. -\end{quote} -\SeeUserDefined[, \Ref{captionsetup}, and \Ref{float}] - -\subsection{caption2 v\texorpdfstring{$2.x$}{2.x}} -\label{caption2} - -Although they do very similar stuff, the packages \package{caption} and -its experimental and now obsolete variant \package{caption2} have a -very different implementation design. -Therefore a full compatibility could not be offered. -For that reason you will still find a file called |caption2.sty| in -this package distribution, so old documents using the \package{caption2} -package will still compile fine. - -Newly created documents should use the actual version of -\thispackage\ instead. In most cases it's sufficient to replace the command -\begin{quote} - |\usepackage[...]{caption2}| -\end{quote} -by -\begin{quote} - |\usepackage[...]{caption}|\qquad. -\end{quote} -But some options and commands will not be emulated, so you can get -error messages afterwards. This section will hopefully help you removing -these errors. If you have problems migrating from \package{caption2} -to \package{caption} please don't hesitate to send me an e-mail asking -for help. - -In addition to the obsolete options shown in the last section -these ones will be emulated, too: - -{\small\begin{longtable}{ll} -\package{caption2} \version{2.x} & \package{caption} \version{3.x}\\ -\hline -\endhead -|flushleft| & |justification=raggedright|\\ -|flushright| & |justification=raggedleft|\\ -|oneline| & |singlelinecheck=on|\\ -\end{longtable}} - -Setting the margin for captions was done in \version{2.x} with -\begin{quote}\leavevmode\hbox{% - |\setcaptionmargin{|\ldots|}| resp. - |\setcaptionwidth{|\ldots|}|\quad. -}\end{quote} -This was replaced by -\begin{quote}\leavevmode\hbox{% - |\captionsetup{margin=|\ldots|}| resp. - |\captionsetup{width=|\ldots|}|\quad. -}\end{quote} -\See{\Ref{margins}} - -Setting an indention was done in \version{2.x} with -\begin{quote} - |\captionstyle{indent}|\\ - |\setlength\captionindent{|\ldots|}|\quad. -\end{quote} -This is now done with -\begin{quote} - |\captionsetup{format=plain,indention=|\ldots|}|\quad. -\end{quote} - -The so-called single-line-check was controlled by the commands -|\oneline|\-|captions|\-|false| (for switching the check off) and -|\oneline|\-|captions|\-|true| (for switching the check on). -This was replaced by -|\captionsetup{|\xx|singlelinecheck=|\xx|off}| -resp. -|\captionsetup{|\xx|singlelinecheck=|\xx|on}|. -\See{\Ref{justification}} - -The commands -\begin{quote} - |\captionlabeldelim|, |\captionlabelsep|, |\captionstyle|,\\ - |\defcaptionstyle|, |\newcaptionstyle|, and |\renewcaptionstyle| -\end{quote} -do not have a simple replacement and therefore will not be emulated -by this version of \thispackage. (So using them will -cause error messages.) Rewriting such code is not always easy and -straight-ahead, but by conscientious reading of this manual you should -find appropriate options and commands instead. +\clearpage +\section{Further reading} -\iffalse -... (some examples) -\fi +I recommend the following documents for further reading: -The \version{2.x} option |ignoreLTcapwidth| do not have a replacement, too. -But in most cases you can simply drop using that option because -in this version of \thispackage\ the value of |\LTcapwidth| -will be ignored anyway (unless you set it to a different value than the -default one which is |4in|). -\See{\Ref{longtable}} +\begin{itemize} +\item + The \TeX\ FAQ -- Frequently asked questions about \TeX\ and \LaTeX: + \begin{quote}\url{http://faq.tug.org/}\end{quote} -\subsection{caption v\texorpdfstring{$3.0$}{3.0}} -\label{caption3} +\item + A French FAQ can be found at + \begin{quote}\url{http://www.grappa.univ-lille3.fr/FAQ-LaTeX/}\end{quote} -%\NEWdescription{v3.1} -\Thispackage\ \version{3.0} did not support any document classes -other than the standard \LaTeX\ ones: \class{article}, \class{report}, -and \class{book}. -Therefore the default settings used to be fixed, but now \thispackage{} -supports more classes, therefore they are now set in dependence on the -document class used. +\item + ``What is a minimal working example?'' from Christian Faulhammer and Ulrich Schwarz: + \begin{quote}\url{http://www.minimalbeispiel.de/mini-en.html}\end{quote} -For example: While in \version{3.0} the default caption |justification| used -to be always |justified|, it's now still |justified| when using one of the -standard document classes, but |raggedright| will be used as default format -when when used with the \class{beamer} document class. +\item + \textsf{epslatex} from Keith Reckdahl contains many tips around + including graphics in \LaTeXe\ documents. + You will find this document in the directory + \begin{quote}\url{ftp://tug.ctan.org/pub/tex/info/epslatex/}\end{quote} +\end{itemize} -%An easy way to select the `old' defaults---if desired---is using the option -An easy way to select the `old' defaults is using the option -|style=base| when loading \thispackage\ (or later on using |\captionsetup|). +% --------------------------------------------------------------------------- % -Another new feature is the automatic check for compatibility; if an -incompatibility will be found, a warning message will be issued and if a strong -incompatibility was found some features of \thispackage\ will be disabled. -Please note that only this check was added to \thispackage, so if you get -such warning message, the previous versions of \thispackage\ were incompatible -as well, but did not issued such warning, they were ``only'' having -side-effects or causing problems. -So these warnings only say that some bad side effects or problems could -happen, but not that they actually will happen. -Anyway, if you use \thispackage\ in such circumstances, -you should use it with care. +\pagebreak[3] +\section{Thanks} -\bigskip +I would like to thank Katja Melzner, +Steven D. Cochran, Frank Mittelbach, Olga Lapko, +David Carlisle, Carsten Heinz, and Keith Reckdahl. +Thanks a lot for all your help, ideas, patience, spirit, and support! -\emph{Note:} The option |caption=false|, which used to be a workaround for -not using the whole \package{caption} package (leaving the caption stuff -offered by the document class or other packages intact), but keeping the -\package{subfig} package working. This mechanism is obsolete and not offered -anymore, please pass this option to the \package{subfig} package instead and -do not load \thispackage\ anymore. -%\par\See{the \package{subfig} package\cite{subfig} documentation} +Also I would like to thank +Harald Harders, +Peter L\"offler, +Peng Yu, +Alexander Zimmermann, +Matthias Pospiech, +J\"urgen Wieferink, +Christoph Bartoschek, +Uwe St\"ohr, +Ralf Stubner, +Geoff Vallis, +Florian Keiler, +J\"urgen G\"obel, +Uwe Siart, +Sang-Heon Shim, +Henrik Lundell, +David Byers, +William Asquith, +Prof.~Dr.~Dirk Hoffmann, +Frank Martini, +Danie Els, +and +Markus Kohm, +who all helped to make this package a better one. % --------------------------------------------------------------------------- % -\pagebreak[4] +\clearpage\appendix \section{Alphabetical Reference} %\newenvironment{Warnings}% @@ -3231,48 +3249,8 @@ do not load \thispackage\ anymore. } \makeatother -\subsection{Commands} - -\begin{longtable}{lll} -Command & & Section \\ -\hline -\endhead -|\abovecaptionskip| & & \ref{skips} \\ -%|\AtBeginCaption| & & \ref{hooks} \\ -%|\AtEndCaption| & & \ref{hooks} \\ -|\belowcaptionskip| & & \ref{skips} \\ -|\caption| & & \ref{caption} \\ -|\caption*| & & \ref{caption} \\ -|\captionlistentry| & & \ref{captionlistentry} \\ -|\captionof| & & \ref{caption} \\ -|\captionof*| & & \ref{caption} \\ -|\captionsetup| & & \ref{captionsetup} \\ -|\captionsetup*| & & \ref{captionsetup} \\ -|\centerfirst| & & \ref{justification} \\ -|\centerlast| & & \ref{justification} \\ -|\clearcaptionsetup| & & \ref{captionsetup} \\ -|\clearcaptionsetup*| & & \ref{captionsetup} \\ -|\ContinuedFloat| & & \ref{ContinuedFloat} \\ -|\DeclareCaptionFont| & & \ref{declare} \\ -|\DeclareCaptionFormat| & & \ref{declare} \\ -|\DeclareCaptionFormat*| & & \ref{declare} \\ -|\DeclareCaptionJustification| & & \ref{declare} \\ -|\DeclareCaptionLabelFormat| & & \ref{declare} \\ -|\DeclareCaptionLabelSeparator| & & \ref{declare} \\ -|\DeclareCaptionLabelSeparator*| & & \ref{declare} \\ -|\DeclareCaptionListFormat| & & \ref{declare} \\ -|\DeclareCaptionOption| & & \ref{declare} \\ -|\DeclareCaptionStyle| & & \ref{declare} \\ -|\DeclareCaptionSubType| & & --~\footnotemark \\ -|\DeclareCaptionTextFormat| & & \ref{declare} \\ -|\DeclareCaptionType| & & \ref{declare} \\ -|\showcaptionsetup| & & \ref{captionsetup} \\ -\end{longtable} -\footnotetext{\cs{DeclareCaptionSubType} is explained in the - \package{subcaption} package documentation.} - -\vfill\pagebreak[4] \subsection{Options} +%\enlargethispage{10ex} \newcommand\preambleoption{~% \begingroup\def\thefootnote{\fnsymbol{footnote}}% \footnotemark[2]% @@ -3282,71 +3260,114 @@ Command & & Section \\ \footnotetext[2]{These options are only available in the preamble of the document.}% \endgroup} -\begingroup -\small -\begin{longtable}{lll} -Option & Short description & Section \\ +\begin{longtable*}{lll} +Option & Short description & Section \\ \hline \endhead |aboveskip| & sets the skip above caption & \ref{skips} \\ |belowskip| & sets the skip below caption & \ref{skips} \\ -|compatibility|\preambleoption & force (non-)compatibility & \ref{classes} \\ -%|config| & & \ref{x} \\ +|compatibility|\preambleoption & force (non-)compatibility & \ref{compatibility} \\ +%|config| & & \ref{x} \\ |figurename|\preambleoption & sets the figure name & \ref{names} \\ |figureposition|\preambleoption & gives a hint about the figure caption position & \ref{skips} \\ |figurewithin|\preambleoption & sets the figure ``within'' counter & \ref{numbering} \\ -|font| & sets the font & \ref{fonts} \\ +|font|(|+|) & sets the font & \ref{fonts} \\ |format| & sets the format & \ref{formats} \\ -|FPlist| & to where the list entry of a FPfigure should link? & \ref{fltpage} \\ -|FPref| & to where a |\ref| to a FPfigure should link? & \ref{fltpage} \\ +|FPlist| & To where the list entry of a FPfigure should link? & \ref{fltpage} \\ +|FPref| & To where a |\ref| to a FPfigure should link? & \ref{fltpage} \\ |hangindent| & sets the hang indention & \ref{margins} \\ -|hypcap| & select `hypcap' feature & \ref{hyperref} \\ -|hypcapspace| & sets the distance between hyperlink \& contents & \ref{hyperref} \\ +|hypcap| & selects `hypcap' feature & \ref{hyperref} \\ +|hypcapspace| & sets the distance between hyperlink and contents & \ref{hyperref} \\ |indention| & sets the indention & \ref{margins} \\ |justification| & sets the justification & \ref{justification} \\ -|labelfont| & sets the font of the caption label & \ref{fonts} \\ +|labelfont|(|+|) & sets the font of the caption label & \ref{fonts} \\ |labelformat| & sets the format of the caption label & \ref{formats} \\ |labelsep| & sets the label separator & \ref{formats} \\ -|labelseparator| & sets the label separator & \ref{formats} \\ -|list| & switches the entries in the `List of' on or off & \ref{lists} \\ -|listformat| & sets the `List of' entry format & \ref{lists} \\ +|labelseparator| & --same as |labelsep|-- & \ref{formats} \\ +|list| & switches the entries in the List on or off & \ref{lists} \\ +|listfigurename| & sets the `List of Figure' name & \ref{names} \\ +|listformat| & sets the `List of Figure/Table' entry format & \ref{lists} \\ +|listtablename| & sets the `List of Tables' name & \ref{names} \\ |margin| & sets the margin & \ref{margins} \\ |margin*| & sets the margin, but only if no width is set & \ref{margins} \\ |maxmargin| & sets the max. margin & \ref{margins} \\ |minmargin| & sets the min. margin & \ref{margins} \\ |name| & sets the name of the current environment & \ref{names} \\ |oneside| & selects the one-side mode & \ref{margins} \\ -%|options| & executes the given option list & \ref{x} \\ +|options| & executes the given option list & \\ |parindent| & sets the paragraph indention & \ref{margins} \\ |parskip| & sets the skip between paragraphs & \ref{margins} \\ |position| & gives a hint about the caption position & \ref{skips} \\ |singlelinecheck| & switches the single-line-check on or off & \ref{justification} \\ %|size| & sets the size of font & \ref{x} \\ -|skip| & sets the skip between content \& caption & \ref{skips} \\ +|skip| & sets the skip between content and caption & \ref{skips} \\ |strut| & switches the usage of |\strut|s on or off & \ref{formats} \\ |style| & sets the caption style & \ref{style} \\ +%|style*| & sets the caption style & \ref{style} \\ |subtype| & sets the sub-caption type & \phantom{t}--~\footnotemark \\ |tablename|\preambleoption & sets the table name & \ref{names} \\ |tableposition|\preambleoption & gives a hint about the table caption position & \ref{skips} \\ |tablewithin|\preambleoption & sets the table ``within'' counter & \ref{numbering} \\ -|textfont| & sets the font of the caption text & \ref{fonts} \\ +|textfont|(|+|) & sets the font of the caption text & \ref{fonts} \\ |textformat| & sets the format of the caption text & \ref{formats} \\ |twoside| & selects the two-side mode & \ref{margins} \\ |type| & sets the caption type \& places a hyperlink anchor & \ref{types} \\ |type*| & sets the caption type only & \ref{types} \\ |width| & sets a fixed caption width & \ref{margins} \\ -\end{longtable} -\endgroup +\end{longtable*} \preambleoptiontext -\footnotetext{The option \opt{subtype} is explained in the +\footnotetext{The option \texttt{subtype} is explained in the \package{subcaption} package documentation.} -\nopagebreak\parbox[t]{\linewidth}{\small\emph{Note:} +\nopagebreak\parbox[t]{\linewidth}{% prevent from page break +\begin{Note*} Obsolete options are not listed here. See \Ref{caption1} and - \Ref{caption2} for a list of these options.} + \Ref{caption2} for a list of these options. +\end{Note*}} + +\pagebreak[3] +\subsection{Commands} -\vfill\pagebreak[4] +\begin{longtable*}{lll} +Command & & Section \\ +\hline +\endhead +|\abovecaptionskip| & & \ref{skips} \\ +%|\AtBeginCaption| & & \ref{hooks} \\ +%|\AtEndCaption| & & \ref{hooks} \\ +|\belowcaptionskip| & & \ref{skips} \\ +|\caption| & & \ref{caption} \\ +|\caption*| & & \ref{caption} \\ +|\captionlistentry| & & \ref{captionlistentry} \\ +|\captionof| & & \ref{caption} \\ +|\captionof*| & & \ref{caption} \\ +|\captionsetup| & & \ref{captionsetup} \\ +|\captionsetup*| & & \ref{captionsetup} \\ +|\centerfirst| & & \ref{justification} \\ +|\centerlast| & & \ref{justification} \\ +|\clearcaptionsetup| & & \ref{captionsetup} \\ +|\clearcaptionsetup*| & & \ref{captionsetup} \\ +|\ContinuedFloat| & & \ref{ContinuedFloat} \\ +|\DeclareCaptionFont| & & \ref{declare} \\ +|\DeclareCaptionFormat| & & \ref{declare} \\ +|\DeclareCaptionFormat*| & & \ref{declare} \\ +|\DeclareCaptionJustification| & & \ref{declare} \\ +|\DeclareCaptionLabelFormat| & & \ref{declare} \\ +|\DeclareCaptionLabelSeparator| & & \ref{declare} \\ +|\DeclareCaptionLabelSeparator*| & & \ref{declare} \\ +|\DeclareCaptionListFormat| & & \ref{declare} \\ +|\DeclareCaptionOption| & & \ref{declare} \\ +|\DeclareCaptionStyle| & & \ref{declare} \\ +|\DeclareCaptionSubType| & & --~\footnotemark \\ +|\DeclareCaptionTextFormat| & & \ref{declare} \\ +|\DeclareCaptionType| & & \ref{declare} \\ +|\showcaptionsetup| & & \ref{captionsetup} \\ +\end{longtable*} +\footnotetext{\cs{DeclareCaptionSubType} is explained in the + \package{subcaption} package documentation.} + +\clearpage \subsection{Warnings} \begin{Warnings} @@ -3356,10 +3377,11 @@ Option & Short description & Section \\ \Or |\captionsetup{type=...} outside box or environment.| \Or - |\captionsetup{type*=...} or \captionof outside box or environment.| + |\captionsetup{type*=...} or \captionof outside box|\\ + | or environment.| \Description - You have placed a |\caption|, |\caption|\x|of|, or - |\caption|\x|setup{type=|\xx\meta{type}|}| command outside an box, group, + You have placed a |\caption|, |\caption|\-|of|, or + |\caption|\-|setup{type=|\x\meta{type}|}| command outside an box, group, or environment. You should not do this since it could cause some bad side-effects. \par\See{\Ref{types} and \Ref{caption}} @@ -3372,27 +3394,27 @@ Option & Short description & Section \\ If \thispackage\ detects that some (unknown) document class or package has enhanced |\caption|, it will not redefine |\caption|, too, since this would simply kill the enhancement. - As a result some features, like |\caption*|, |\ContinuedFloat|, - using the optional argument of |\captionsetup|, + As a result some features, like |\caption*|, |\Continued|\-|Float|, + using the optional argument of |\caption|\-|setup|, or the options |list=| and |hypcap=| will not be available.\par If you don't care about the original enhancements but would like to use the full range of features of \thispackage\ instead - you can give the unsupported(!) option |compatibility=false| + you can give the unsupported(!) option |compatibility=|\x|false| a try and keep your fingers crossed. (But you will get the next warning instead.) - \par\See{\Ref{classes}} + \par\See{\Ref{classes} and \Ref{compatibility}} \Message |Forced redefinition of \caption since the|\\ |unsupported(!) package option `compatibility=false'|\\ |was given.| \Description - Since you were so keen to specify the option |compatibility=false| + Since you were so keen to specify the option |compatibility=|\x|false| \thispackage\ will try to do its best to fulfill your wishes. But depending on the document class or other packages you use that can end in non-functional features or even errors. So keep your fingers crossed! - \par\See{\Ref{classes}} + \par\See{\Ref{compatibility}} \Message |Hyperref support is turned off because hyperref has|\\ @@ -3403,7 +3425,7 @@ Option & Short description & Section \\ \thispackage\ will not be available. As a result you could get \package{hyperref} warnings and non-functional hyperlinks to figures or tables. - \par\See{\Ref{hyperref}} + \par\See{\Ref{hyperref}\,} \Message |Ignoring optional argument [|\meta{pos}|] of \setcapwidth.| @@ -3417,7 +3439,6 @@ Option & Short description & Section \\ \Message |Internal Warning: |\meta{warning message}|.| \Description -% \Thispackage\ can only set hyperlink anchors in \TeX s vertical mode.\par You should never see this warning, either you use a package which redefines |figure| or |table| and which is unknown to \thispackage, or this is a bug in \thispackage. @@ -3429,29 +3450,31 @@ Option & Short description & Section \\ Regarding |\label| the floating environments behave differently than its non-floating counterparts: The internal reference will not be generated at the beginning of the environment, but at |\caption| instead. - So you have to place the |\label| command either \emph{after} the - |\caption| command or inside the caption text. + So you have to place the |\label| command either just \emph{after} or + \emph{inside} the caption text (mandatory argument of |\caption|). \Message |Option `|\meta{option}|' was not in list `|\meta{option list}|'.| \Description +%\showhyphens{position} If you try to remove a specific option of an option list, - for example with\linebreak|\clearcaptionsetup[position]{table}|, + for example with |\clear|\-|caption|\-|setup[po|\-|si|\-|tion]{table}|, and this option can not be found inside the option list, you will get this warning. If this is not because of a typo and you would like - to suppress this warning, use |\clearcaptionsetup*| instead of - |\clearcaptionsetup|. + to suppress this warning, use |\clear|\-|caption|\-|setup*| instead of + |\clear|\-|caption|\-|setup|. \par\See{\Ref{captionsetup}} \Message |Option list `|\meta{option list}|' undefined.| \Description +%\showhyphens{format} If you try to remove a specific option of an option list, - for example with\linebreak|\clearcaptionsetup[format]{figure}|, + for example with |\clear|\-|caption|\-|setup[for|\-|mat]{figure}|, and this option list is not defined (yet), you will get this warning. If this is not because of a typo and you would like - to suppress this warning, use |\clearcaptionsetup*| instead of - |\clearcaptionsetup|. + to suppress this warning, use |\clear|\-|caption|\-|setup*| instead of + |\clear|\-|caption|\-|setup|. \par\See{\Ref{captionsetup}} \iffalse @@ -3468,10 +3491,10 @@ Option & Short description & Section \\ |`ragged2e' package not loaded, therefore|\\ |substituting \raggedright for \RaggedRight.| \Description - The caption option |justification=|\xx|RaggedRight| is only full functional + The caption option |justification=|\x|RaggedRight| is only full functional if you have the \package{ragged2e} package installed in your \TeX\ system. - If not, you will get this warning, and |justification=|\xx|RaggedRight| - will be treated as |justification=|\xx|raggedright|. + If not, you will get this warning, and |justification=|\x|RaggedRight| + will be treated as |justification=|\x|raggedright|. \par\See{\Ref{justification}} \Message @@ -3507,11 +3530,14 @@ Option & Short description & Section \\ |The caption type was already set to `|\meta{type}|'.| \Description This warning informs you about mixed caption options. For example if - you use a |\captionof{table}{|\ldots|}| inside a |figure| environment, + you use a |\caption|\-|setup{type=|\x|table}| or + |\caption|\-|of{table}{|\ldots|}| inside a |figure| environment, this would result in using both option sets for that specific caption, - the ones for |figure| (specified with |\captionsetup[figure]{|\ldots|}|) - and the one for |table| (specified with |\captionsetup[table]{|\ldots|}|) - as well. + the one for |figure| (specified with |\caption|\-|setup[figure]{|\ldots|}|) + and the one for |table| (specified with |\caption|\-|setup[table]{|\ldots|}|) + as well.\par + {\small(You can suppress this warning by using the starred form + |\caption|\-|setup*{type=|\x\ldots|}|.)\par} \par\See{\Ref{captionsetup}} \Message @@ -3519,42 +3545,42 @@ Option & Short description & Section \\ |particular \caption.| \Description \Thispackage\ hasn't found a proper hyperlink anchor for this particular - caption, so it decides to ignore the setting |hypcap=true| (which is set by + caption, so it decides to ignore the setting |hypcap=|\-|true| (which is set by default). As a result a link to this caption (e.g.~in the List of Figures, - or set by |\ref| or |\autoref|) will link you to the caption of the figure + or set by |\ref| or |\auto|\-|ref|) will link you to the caption of the figure or table, not to the figure or table itself.\par - This can happen if you use |\captionof| inside a non-floating environment, + This can happen if you use |\caption|\-|of| inside a non-floating environment, but also if you use some package which redefines |figure| or |table|, and which is unknown to \thispackage.\par If this is ok for you but you want to suppress this warning, simply place a - |\captionsetup{|\xx|hypcap=|\xx|false}| just before the |\caption| or - |\captionof| command which is causing the warning. - If this is not ok for you you can try to set a hyperlink anchor with - |\captionsetup{|\xx|type=|\xx\meta{float type}|}| for yourself. - \par\See{\Ref{hyperref}} + |\caption|\-|setup{hyp|\-|cap=|\x|false}| just before the |\caption| or + |\caption|\-|of| command which is causing the warning. + If this is not ok for you, you can set a hyperlink anchor with + |\caption|\-|setup{type=|\x\meta{float type}|}| for yourself. + \par\See{\Ref{hyperref}\,} \Message |Unsupported document class (or package) detected,|\\ |usage of the caption package is not recommended.| \Description Either the document class you use is unknown to \thispackage, or you - have included a package in your document which redefines |\@makecaption| - (which is responsible for typesetting the caption) as well. + have included a package in your document which redefines |\@make|\-|caption| + (which is responsible for typesetting the caption internally) as well. This means \thispackage\ will either change the design of captions in an unwanted way, or it even refuses to work correctly at all. - \par\See{\Ref{classes}} + \par\See{\Ref{classes} and \Ref{compatibility}} \Message |Unused \captionsetup[|\meta{type}|].| \Description - You have specified options with |\captionsetup[|\meta{type}|]| which are + You have specified options with |\caption|\-|setup[|\meta{type}|]| which are not used later on. This can be because of a typo in \meta{type}, or because you use a package which redefines |figure| or |table| and which is unknown to \thispackage, or simply because you don't have any usage - of the environment \meta{type} after this line.\par - If you want to suppress this warning you can use |\captionsetup*| instead of - |\captionsetup|. + of the environment \meta{type} after this line. + (If you want to suppress this warning you can use |\caption|\-|setup*| + instead of |\caption|\-|setup|.) \par\See{\Ref{captionsetup}} \Message @@ -3581,7 +3607,7 @@ Option & Short description & Section \\ |Paragraph ended before \@caption was complete.| \Description If you want to typeset something special (like a tabular) as caption, - you need to give an optional argument to |\caption| resp.~|\captionof| + you need to give an optional argument to |\caption| resp.~|\caption|\-|of| for the List of Figures resp.~List of Tables, too, even if you don't use such list. \par\See{\Ref{caption}, \Ref{lists}, and \Ref{hyperref}\,} @@ -3589,29 +3615,32 @@ Option & Short description & Section \\ \Message |\caption outside float.| \Description - You have placed a |\caption| command outside a floating environment or - a |longtable|. If this is what you want to, please use either - |\captionsetup{|\xx|type=|\xx\meta{type}|}| $+$ |\caption| or |\captionof|. + You have placed a |\caption| command outside a floating environment, or + a |long|\-|table| or |wrap|\-|figure|. + If this is what you want to, please use either + |\caption|\-|setup{type=|\x\meta{type}|}| $+$ |\caption| or + |\caption|\-|of|. \par\See{\Ref{caption}} \Message |\ContinuedFloat outside float.| \Description - You have placed a |\ContinuedFloat| command outside a floating environment. -% or |longtable|. + You have placed a |\Continued|\-|Float| command outside a floating + environment. % or |long|\-|table|. If this is what you want to, please use the combination - |\captionsetup{|\xx|type=|\xx\meta{type}|}| $+$ |\ContinuedFloat|.\par - Please note that |\ContinuedFloat| inside a |longtable| is not working (yet), - but maybe using the |longtable*| environment, which typesets a \env{longtable} - without incrementing the |table| counter, if sufficient for you. + |\caption|\-|setup{type=|\x\meta{type}|}| $+$ |\Continued|\-|Float|.\par + Please note that |\Continued|\-|Float| inside a |long|\-|table| is not + working, but maybe using the |long|\-|table*| environment, which + typesets a |long|\-|table| without incrementing the |table| counter, + if sufficient for you. \par\See{\Ref{ContinuedFloat} and \Ref{longtable}} \Message |Continued `|\meta{type}|' after `|\meta{type}|'.| \Description - At the moment continued figures or tables are not allowed to be interrupted - by a floating environment of another type, e.g.~a table between a figure and a - continued figure. + Continued figures or tables are not allowed to be interrupted by a floating + environment (or |long|\-|table|) of another type, + e.g.~a table between a figure and a continued figure. \par\See{\Ref{ContinuedFloat}} \Message @@ -3651,20 +3680,21 @@ Option & Short description & Section \\ \Message |No float type '|\meta{type}|' defined.| \Description - The \meta{type} you have specified in |\captionsetup{type=|\meta{type}|}|, - |\captionof|\marg{type}, or |\DeclareCaptionSubType| is not defined. + The \meta{type} you have specified in |\caption|\-|setup{type=|\x\meta{type}|}|, + |\caption|\-|of|\marg{type}, or |\Declare|\-|Caption|\-|Sub|\-|Type| is + not defined. \meta{type} should be either `\texttt{figure}' or `\texttt{table}', or - any other floating environment defined with |\DeclareCaptionType|, - |\newfloat| offered by the \package{float} package\cite{float}, - or |\DeclareNewFloatType| offered by the \package{floatrow} + any other floating environment defined with |\Declare|\-|Caption|\-|Type|, + |\new|\-|float| offered by the \package{float} package\cite{float}, + or |\Declare|\-|New|\-|Float|\-|Type| offered by the \package{floatrow} package\cite{floatrow}. \Message |Not allowed in longtable* environment.| \Description - The usage of |\caption| is not allowed inside the |longtable*| environment. + The usage of |\caption| is not allowed inside the |long|\-|table*| environment. Please use either |\caption*| for a caption without label or use the regular - |longtable| environment instead. + |long|\-|table| environment instead. \Message |Not available in compatibility mode.| @@ -3680,7 +3710,7 @@ Option & Short description & Section \\ |Only one \caption can be placed in this environment.| \Description Inside the environments offered by the \package{fltpage} and \package{sidecap} - package only one caption can be placed. (This is due implementation design.) + package only \emph{one} caption can be placed. (This is due implementation design.) \Message |Option clash for package caption.| @@ -3691,15 +3721,17 @@ Option & Short description & Section \\ so you can't do that again specifying different options. A candidate causing this could be the \package{subfig} package; if this is the case, please load \thispackage\ \emph{before} the \package{subfig} - package or specify the option |caption=false| while loading the + package or specify the option |caption=|\-|false| while loading the \package{subfig} package. \par\See{the \package{subfig} package\cite{subfig} documentation} \Message |Paragraph ended before \caption@makecurrent was complete.| +\Or + |Paragraph ended before \caption@prepareanchor was complete.| \Description If you want to typeset multi-paragraph captions, you need to give an - optional argument to |\caption| resp.~|\captionof| for the List of + optional argument to |\caption| resp.~|\caption|\-|of| for the List of Figures resp.~List of Tables, too, even if you don't use such list. \par\See{\Ref{caption}, \Ref{lists}, and \Ref{hyperref}\,} @@ -3718,14 +3750,13 @@ Option & Short description & Section \\ \par\See{\Ref{float} and \Ref{wrapfig}} \fi -\iffalse \Message |Something's wrong--perhaps a missing \caption|\\ |in the last figure or table.| \Description - It seems that you have used a |\subcaption| command without a - corresponding |\caption| command. This is not supported. -\fi + It seems that you have used a |\sub|\-|caption| command (or a different one + which has typeset a sub-caption) without a corresponding |\caption| command. + This is not supported. \Message |The option `labelsep=|\meta{name}|' does not work|\\ @@ -3735,11 +3766,11 @@ Option & Short description & Section \\ |with \setcaphanging (which is set by default).| \Description A caption label separator which contains a |\\| command (like - |labelsep=|\xx|newline|) can not be combined with a hanging caption format - (like |format=|\xx|hang|). + |labelsep=|\x|newline|) can not be combined with a hanging caption format + (like |format=|\x|hang|). Please select either another caption label separator - (e.g.~|labelsep=|\xx|colon|) or another caption format - (e.g.~|format=|\xx|plain|). + (e.g.~|labelsep=|\x|colon|) or another caption format + (e.g.~|format=|\x|plain|). \par\See{\Ref{formats} resp.~\Ref{KOMA}} \Message @@ -3747,7 +3778,7 @@ Option & Short description & Section \\ |Please pass this option to the subfig package instead|\\ |and do *not* load the caption package anymore.| \Description - You have specified the option |caption=false|. This used to be a workaround + You have specified the option |caption=|\-|false|. This used to be a workaround for not using the whole \package{caption} package (leaving the caption stuff offered by the document class or other packages intact), but keeping the \package{subfig} package working. This mechanism is obsolete and not offered @@ -3839,90 +3870,310 @@ Option & Short description & Section \\ % --------------------------------------------------------------------------- % -\pagebreak[4] -\section{Further reading} - -I recommend the following documents for further reading: +\clearpage +\section{Version history} +\label{history} -\begin{itemize} -\item - The \TeX\ FAQ -- Frequently asked questions about \TeX\ and \LaTeX: - \begin{quote}\url{http://faq.tug.org/}\end{quote} +The version $1.0$ was written in 1994 and was offering a handful of options +to customize the look \& feel of the captions. +Furthermore this version already supported the \package{rotating} and +\package{subfigure} packages. +Version $1.1$ introduced the |center|\-|last| option; +version $1.2$ added the support of the \package{float} package. +Version offered a better support of the \package{subfigure} package, +while version $1.4$ came with the new option |nooneline|. -\item - A French FAQ can be found at - \begin{quote}\url{http://www.grappa.univ-lille3.fr/FAQ-LaTeX/}\end{quote} +The \package{caption2} package $2.0$ was an experimental side-version of +the regular \package{caption} package. It was made public as beta test version +without proper documentation in 1995 because of the strong demand for new +features and adaptations to additional packages like the \package{longtable} +package. +Furthermore it offered a revised support of the \package{subfigure} package. +(A version $2.1$ was offered as bugfix-release in 2002.) -\item - ``What is a minimal working example?'' from Christian Faulhammer and Ulrich Schwarz: - \begin{quote}\url{http://www.minimalbeispiel.de/mini-en.html}\end{quote} +In 2003 I finally found some time, so a new regular release $3.0$ +of the \package{caption} package could be build in cooperation with +Frank Mittelbach and Steven Cochran. +It was released in December 2003 and superseded the neglected +\package{caption2} package. +Main parts were re-written and it provided a complete re-work of +the user interface. +Furthermore it supported the \package{hyperref}, \package{hypcap}, +\package{listings}, \package{sidecap}, and \package{supertabular} packages +additionally. -\item - \textsf{epslatex} from Keith Reckdahl contains many tips around - including graphics in \LaTeXe\ documents. - You will find this document in the directory - \begin{quote}\url{ftp://tug.ctan.org/pub/tex/info/epslatex/}\end{quote} -\end{itemize} +While all the previous versions were designed for usage with the standard +\LaTeX\ document classes \class{article}, \class{report}, and \class{book}, +the current version $3.1$ released in 2007 also supports the \AmS, +\KOMAScript, \NTG, and \SmF\ document classes, and the \class{beamer} class +as well. +Furthermore it was adapted to the \package{frenchb} Babel option, +the \package{frenchle} \& \package{frenchpro} packages, +and the \package{floatflt}, \package{fltpage}, \package{picinpar}, +\package{picins}, \package{setspace}, \package{threeparttable}, +and \package{wrapfig} packages. +New options and commands were introduced as well, among other things +|font+|, |figure|\-|within| \& |table|\-|within|, +|list| \& |list|\-|format|, |max|\-|margin| \& |min|\-|margin|, +|\caption|\-|list|\-|entry|, |\Declare|\-|Caption|\-|List|\-|Format|, and +|\Declare|\-|Caption|\-|Type|. +Further benefits are the new compatibility check \see*{\Ref{compatibility}}, +the new ``hypcap'' feature \see*{\Ref{hyperref}\,}, and the sub-caption +feature \see*{\package{subcaption} package documentation}. % --------------------------------------------------------------------------- % -\pagebreak[2] -\section{Thanks} +\clearpage +\section{Compatibility to older versions} -I would like to thank Katja Melzner, -Steven D. Cochran, Frank Mittelbach, Olga Lapko, -David Carlisle, Carsten Heinz, and Keith Reckdahl. -Thanks a lot for all your help, ideas, patience, spirit, and support! +\subsection{caption v\texorpdfstring{$1.x$}{1.x}} +\label{caption1} -Also I would like to thank -Harald Harders, -Peter L\"offler, -Peng Yu, -Alexander Zimmermann, -Matthias Pospiech, -J\"urgen Wieferink, -Christoph Bartoschek, -Uwe St\"ohr, -Ralf Stubner, -Geoff Vallis, -Florian Keiler, -J\"urgen G\"obel, -Uwe Siart, -Sang-Heon Shim, -Henrik Lundell, -David Byers, -William Asquith, -Prof.~Dr.~Dirk Hoffmann, -Frank Martini, -and -Danie Els -who all helped to make this package a better one. +This version of \thispackage\ still supports the old options +and commands provided by the version $1.0$ to $1.4$ of this package. +So there shouldn't occur any problems compiling old documents, but please +don't mix old options and commands with the new ones. This isn't supported +and can cause ugly side effects. + +Here comes a short oversight of the obsolete options and how +they have been replaced within this version of \thispackage: + +\begin{center}\small +\begin{tabular}{ll} +\package{caption} \version{1.x} & \package{caption} \version{3.x}\\ +\hline +%\endhead +|normal| & |format=plain|\\ +|hang| & |format=hang|\\ +|isu| & |format=hang|\\ +|center| & |justification=centering|\\ +|centerlast| & |justification=centerlast|\\ +%|anne| & |justification=centerlast|\\ +|nooneline| & |singlelinecheck=off|\\ +|scriptsize| & |font=scriptsize|\\ +|footnotesize| & |font=footnotesize|\\ +|small| & |font=small|\\ +|normalsize| & |font=normalsize|\\ +|large| & |font=large|\\ +|Large| & |font=Large|\\ +|up| & |labelfont=up|\\ +|it| & |labelfont=it|\\ +|sl| & |labelfont=sl|\\ +|sc| & |labelfont=sc|\\ +|md| & |labelfont=md|\\ +|bf| & |labelfont=bf|\\ +|rm| & |labelfont=rm|\\ +|sf| & |labelfont=sf|\\ +|tt| & |labelfont=tt|\\ +\end{tabular} +\end{center} + +Beside the options for setting up the desired font there were also +the commands |\caption|\-|size| resp.~|\caption|\-|font| and +|\caption|\-|label|\-|font| who could be redefined with +|\re|\-|new|\-|command| and allowed an alternate and more flexible way to +change the font used for captions. +This mechanism was replaced by the commands +\begin{quote} + |\DeclareCaptionFont{|\ldots|}{|\ldots|}|\qquad and\\ + |\captionsetup{font=|\ldots|,labelfont=|\ldots|}|\qquad. +\end{quote} +\SeeUserDefined + +Setting the margin for captions was done in \version{1.x} with +\begin{quote} + |\setlength{\captionmargin}{|\ldots|}|\quad. +\end{quote} +This was replaced by +\begin{quote} + |\captionsetup{margin=|\ldots|}|\qquad. +\end{quote} +\See{\Ref{margins}} + +For example the old-style code +\begin{quote} + |\usepackage[hang,bf]{caption}|\\ + |\renewcommand\captionfont{\small\sffamily}|\\ + |\setlength\captionmargin{10pt}| +\end{quote} +will still work fine, but should be written today as +\begin{quote} + |\usepackage[format=hang,labelfont=bf,font={small,sf},|\\ + | margin=10pt]{caption}| +\end{quote} +or +\begin{quote} + |\usepackage{caption}|\\ + |\captionsetup{format=hang,labelfont=bf,font={small,sf},|\\ + | margin=10pt}|\qquad. +\end{quote} + +The quite exotic option |ruled| which allowed a partial usage of +the caption settings for |ruled| floats defined with the +\package{float} package will be emulated by this version of the +caption package, too. +But using this option is not recommended anymore since this +version of \thispackage\ offers a more flexible way +for changing the captions of these floating environments: +\begin{quote} + |\DeclareCaptionStyle{ruled}{|\ldots|}| +\end{quote} +resp. +\begin{quote} + |\captionsetup[ruled]{|\ldots|}|\qquad. +\end{quote} +\SeeUserDefined[, \Ref{captionsetup}, and \Ref{float}] + +\subsection{caption2 v\texorpdfstring{$2.x$}{2.x}} +\label{caption2} + +Although they do very similar stuff, the packages \package{caption} and +its experimental and now obsolete variant \package{caption2} have a +very different implementation design. +Therefore a full compatibility could not be offered. +For that reason you will still find a file called |caption2.sty| in +this package distribution, so old documents using the \package{caption2} +package will still compile fine. + +Newly created documents should use the actual version of +\thispackage\ instead. In most cases it's sufficient to replace the command +\begin{quote} + |\usepackage[...]{caption2}| +\end{quote} +by +\begin{quote} + |\usepackage[...]{caption}|\qquad. +\end{quote} +But some options and commands will not be emulated, so you can get +error messages afterwards. This section will hopefully help you removing +these errors. If you have problems migrating from \package{caption2} +to \package{caption} please don't hesitate to send me an e-mail asking +for help. + +In addition to the obsolete options shown in the last section +these ones will be emulated, too: + +\begin{center}\small +\begin{tabular}{ll} +\package{caption2} \version{2.x} & \package{caption} \version{3.x}\\ +\hline +%\endhead +|flushleft| & |justification=raggedright|\\ +|flushright| & |justification=raggedleft|\\ +|oneline| & |singlelinecheck=on|\\ +\end{tabular} +\end{center} + +Setting the margin for captions was done in \version{2.x} with +\begin{quote}\leavevmode\hbox{% + |\setcaptionmargin{|\ldots|}| resp. + |\setcaptionwidth{|\ldots|}|\quad. +}\end{quote} +This was replaced by +\begin{quote}\leavevmode\hbox{% + |\captionsetup{margin=|\ldots|}| resp. + |\captionsetup{width=|\ldots|}|\quad. +}\end{quote} +\See{\Ref{margins}} + +Setting an indention was done in \version{2.x} with +\begin{quote} + |\captionstyle{indent}|\\ + |\setlength\captionindent{|\ldots|}|\quad. +\end{quote} +\pagebreak[3] +This is now done with +\nopagebreak[3] +\begin{quote} + |\captionsetup{format=plain,indention=|\ldots|}|\quad. +\end{quote} + +The so-called single-line-check was controlled by the commands +|\oneline|\-|captions|\-|false| (for switching the check off) and +|\oneline|\-|captions|\-|true| (for switching the check on). +This was replaced by +|\caption|\-|setup{single|\-|line|\-|check=|\x|off}| +resp. +|\caption|\-|setup{single|\-|line|\-|check=|\x|on}|\quad. +\See{\Ref{justification}} + +The commands +\begin{quote} + |\captionlabeldelim|, |\captionlabelsep|, |\captionstyle|,\\ + |\defcaptionstyle|, |\newcaptionstyle|, and |\renewcaptionstyle| +\end{quote} +do not have a simple replacement and therefore will not be emulated +by this version of \thispackage. (So using them will +cause error messages.) Rewriting such code is not always easy and +straight-ahead, but by conscientious reading of this manual you should +be able to find appropriate options and commands instead. + +\iffalse +... (some examples) +\fi + +The \version{2.x} option |ignore|\-|LT|\-|cap|\-|width| do not have a +replacement, too. +But in most cases you can simply drop using that option because +in this version of \thispackage\ the value of |\LT|\-|cap|\-|width| +will be ignored anyway (unless you set it to a different value than the +default one which is |4in|). +\See{\Ref{longtable}} + +\subsection{caption v\texorpdfstring{$3.0$}{3.0}} +\label{caption3} + +%\NEWdescription{v3.1} +\Thispackage\ \version{3.0} did not support any document classes +other than the standard \LaTeX\ ones: \class{article}, \class{report}, +and \class{book}. +Therefore the default settings used to be fixed, but now \thispackage{} +supports more classes, therefore they are now set in dependence on the +document class used. + +For example: While in \version{3.0} the default caption +|jus|\-|ti|\-|fi|\-|ca|\-|tion| used to be always |jus|\-|ti|\-|fied|, +it's now still |jus|\-|ti|\-|fied| when using one of the standard document +classes, but |ragged|\-|right| will be used as default format when when used +with the \class{beamer} document class. + +%An easy way to select the `old' defaults---if desired---is using the option +An easy way to select the `old' defaults is using the option +|style=base| when loading \thispackage\ (or later on using |\caption|\-|setup|). + +Another new feature is the automatic check for compatibility; if an +incompatibility will be found, a warning message will be issued and if a strong +incompatibility was found some features of \thispackage\ will be disabled. +Please note that only this check was added to \thispackage, so if you get +such warning message, the previous versions of \thispackage\ were incompatible +as well, but did not issued such warning, they were ``only'' having +side-effects or causing problems. +So these warnings only say that some bad side effects or problems could +happen, but not that they actually will happen. +Anyway, if you use \thispackage\ in such circumstances, +you should use it with care. + +\bigskip + +\begin{Note*} +The option |caption=false|, which used to be a workaround for not using the +whole \package{caption} package (leaving the caption stuff offered by the +document class or other packages intact), but keeping the \package{subfig} +package\cite{subfig} working. +This mechanism is obsolete and not offered anymore, please pass this option +to the \package{subfig} package instead and do not load \thispackage\ anymore. +%\par\See{the \package{subfig} package documentation} +\end{Note*} % --------------------------------------------------------------------------- % -\pagebreak[4] +\clearpage \begin{thebibliography}{99} \bibitem{TLC2} Frank Mittelbach and Michel Goossens:\\ \newblock {\em The {\LaTeX} Companion (2nd.~Ed.)},\\ \newblock Addison-Wesley, 2004. - \bibitem{algorithms} - Rogério Brito:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/algorithms/}% -% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/algorithms/algorithms.pdf}% - {\emph{Algorithms}},\\ - June 2, 2006 - -\iffalse - \bibitem{algorithm2e} - Christophe Fiorio:\\ - \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/algorithm2e/}% -% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/algorithm2e/algorithm2e.pdf}% - {\emph{algorithm2e.sty -- package for algorithms}},\\ - March 11, 2007 -\fi - \bibitem{beamer} Till Tantau:\\ \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/beamer/}% @@ -3944,6 +4195,22 @@ who all helped to make this package a better one. {\emph{An introduction to the Dutch \LaTeX\ document classes}},\\ 3 September 1989 + \bibitem{algorithms} + Rogério Brito:\\ + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/algorithms/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/algorithms/algorithms.pdf}% + {\emph{Algorithms}},\\ + June 2, 2006 + +\iffalse + \bibitem{algorithm2e} + Christophe Fiorio:\\ + \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/algorithm2e/}% +% \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/algorithm2e/algorithm2e.pdf}% + {\emph{algorithm2e.sty -- package for algorithms}},\\ + March 11, 2007 +\fi + \bibitem{float} Anselm Lingnau:\\ \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/float/}% @@ -3963,7 +4230,7 @@ who all helped to make this package a better one. \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/floatrow/}% % \href{ftp://tug.ctan.org/tex-archive/macros/latex/contrib/floatrow/floatrow.pdf}% {\emph{The floatrow package documentation}},\\ - 2007/08/24 + 2007/12/24 \bibitem{fltpage} Sebastian Gross:\\ diff --git a/Master/texmf-dist/doc/latex/caption/caption.pdf b/Master/texmf-dist/doc/latex/caption/caption.pdf Binary files differindex 6ec796ee07a..85611aa98e3 100644 --- a/Master/texmf-dist/doc/latex/caption/caption.pdf +++ b/Master/texmf-dist/doc/latex/caption/caption.pdf diff --git a/Master/texmf-dist/doc/latex/caption/caption2.pdf b/Master/texmf-dist/doc/latex/caption/caption2.pdf Binary files differindex df65de6426b..ae23600d9c1 100644 --- a/Master/texmf-dist/doc/latex/caption/caption2.pdf +++ b/Master/texmf-dist/doc/latex/caption/caption2.pdf diff --git a/Master/texmf-dist/doc/latex/caption/cat.eps b/Master/texmf-dist/doc/latex/caption/cat.eps new file mode 100644 index 00000000000..0042ea088fe --- /dev/null +++ b/Master/texmf-dist/doc/latex/caption/cat.eps @@ -0,0 +1,305 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%BoundingBox: 44 527 80 559 +%%Creator: COREL DRAW +%%Title: CAT.TMP +%%CreationDate: Sat Jan 18 17:29:05 1992 + +%%DocumentFonts: +%%EndComments +%%BeginProlog +% -------------- POSTSCRIPT PROLOG FOR CORELDRAW 2.X ------ +% Copyright Corel Systems Corporation 1990 +/AutoFlatness 0 def/wCorelDict 300 dict def +wCorelDict begin/bd{bind def}bind def/ld{load def}bd +/xd{exch def}bd/_ null def/$c 0 def/$m 0 def +/$y 0 def/$k 0 def/$t 1 def/$n _ def/$o 0 def +/$fil 0 def/$C 0 def/$M 0 def/$Y 0 def/$K 0 def +/$T 1 def/$N _ def/$O 0 def/$PF false def +/$pan 0 def/$h false def/$al 0 def/$tr 0 def +/$le 0 def/$lx 0 def/$ly 0 def/$ctm matrix currentmatrix def +/$ptm matrix def/$ttm matrix def/$stm matrix def +/$skm matrix def/$fst 128 def/$pad 0 def/$rox 0 def +/$roy 0 def currentscreen/@dsp xd/$dsp/@dsp def +/$dsa xd/$dsf xd/$sdf false def/$SDF false def +/$Scra 0.0 def statusdict/pageparams known{statusdict begin +pageparams end 1 ne{/$Scra -90.0 def}if pop pop pop}if +/$sv 0 def/@cp/closepath ld/@gs/gsave ld/@gr/grestore ld +/@np/newpath ld/@sv{/$sv save def}bd/@rs{$sv restore}bd +/@ss{load setscreen}bd AutoFlatness 1 eq{/$cpx ([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator;\n) def +/@err1{$cpx print flush newpath}bd/@ifl{currentflat dup 10 gt{pop @err1 exit}if 2 add setflat}bd +/@fill/fill ld/fill{currentflat{{@fill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd +/@eofill/eofill ld/eofill{currentflat{{@eofill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd +/@clip/clip ld/clip{currentflat{{@clip}stopped{initclip @ifl}{exit}ifelse}bind loop setflat}bd +/@eoclip/eoclip ld/eoclip{currentflat{{@eoclip}stopped{initclip @ifl}{exit}ifelse}bind loop setflat}bd +/@stroke/stroke ld/stroke{currentflat{{@stroke}stopped{@ifl}{exit}ifelse}bind loop setflat}bd +}if/InRange{3 -1 roll 2 copy le{pop}{exch pop}ifelse +2 copy ge{pop}{exch pop}ifelse}bd/wDstChck{2 1 roll dup 3 -1 roll +eq{1 add}if}bd/@dot{dup mul exch dup mul add 1 exch sub 2 div}bd +/@lin{exch pop abs 1 exch sub}bd/@MN{2 copy le{pop}{exch pop}ifelse}bd +/setcmykcolor where{pop}{/setcmykcolor{4 1 roll +3{3 index add 1 @MN 1 exch sub 3 1 roll}repeat +setrgbcolor pop}bd}ifelse/colorimage where{pop}{/colorimage{/$ncl xd +pop pop pop pop{currentfile $dat readhexstring pop}repeat +pop}bd}ifelse/@tc{dup 1 ge{pop}{4{dup 6 -1 roll +mul exch}repeat pop}ifelse}bd/@spc{7 2 roll +ColorSeparationMode 1 eq{6 index @tc 0 4 $ink sub index +exch pop}{5 index dup _ eq{pop 0 4 $ink sub index +exch pop}{CurrentInkName eq{6 index}{0}ifelse}ifelse}ifelse +5 1 roll 8 -2 roll 6{pop}repeat 1 exch sub dup setgray +1 eq exch 1 eq and not}bd/@scc{$ink -1 eq +{$c $m $y $k $t @tc setcmykcolor true}{$o $c $m $y $k $t $n @spc +}ifelse}bd/@SCC{$ink -1 eq{$C $M $Y $K $T @tc setcmykcolor true}{ +$O $C $M $Y $K $T $N @spc}ifelse}bd/@sft{ +/$tx $tllx $pxf add dup $tllx gt{$pwid sub}if def +/$ty $tury $pyf sub dup $tury lt{$phei add}if def}bd +/@stb{pathbbox/$ury xd/$urx xd/$lly xd/$llx xd}bd +/@ep{{cvx exec}forall}bd/@tp{@sv/$in true def +2 copy dup $lly le{/$in false def}if $phei sub $ury ge{/$in false def}if +dup $urx ge{/$in false def}if $pwid add $llx le{/$in false def}if +$in{@np 2 copy moveto $pwid 0 rlineto 0 $phei neg rlineto +$pwid neg 0 rlineto 0 $phei rlineto clip @np +$pn cvlit load aload pop 7 -1 roll 5 index sub +7 -1 roll 3 index sub translate/$ctm matrix currentmatrix def +@ep pop pop pop pop}{pop pop}ifelse @rs}bd/@th{@sft +0 1 $tly 1 sub{dup $psx mul $tx add{dup $llx gt{$pwid sub}{exit}ifelse +}loop exch $phei mul $ty exch sub 0 1 $tlx 1 sub{$pwid mul +3 copy 3 -1 roll add exch @tp pop}for pop pop}for}bd +/@tv{@sft 0 1 $tlx 1 sub{dup $pwid mul $tx add +exch $psy mul $ty exch sub{dup $ury lt{$phei add}{exit}ifelse}loop +0 1 $tly 1 sub{$phei mul 3 copy sub @tp pop}for +pop pop}for}bd/@pf{@gs $ctm setmatrix $pm concat +@stb @gs ColorSeparationMode 0 eq{1 setgray eofill}{ +$o 0 0 0 0 0 (Black) @spc{eofill}if}ifelse +@gr eoclip Bburx Bbury $pm itransform/$tury xd/$turx xd +Bbllx Bblly $pm itransform/$tlly xd/$tllx xd +/$wid $turx $tllx sub def/$hei $tury $tlly sub def +$wid 0 gt $hei 0 gt and{$pn cvlit load aload pop +/$pd xd 3 -1 roll sub/$phei xd exch sub/$pwid xd +/$tlx $wid $pwid div ceiling 1 add def/$tly $hei $phei div ceiling 1 add def +$psx 0 eq{@tv}{@th}ifelse}if @gr @np}bd/@dlt{ColorSeparationMode 0 eq{ +/$dc $toc $tot mul $frc $frt mul dup/$c xd sub $fst 1 sub div def +/$dm $tom $tot mul $frm $frt mul dup/$m xd sub $fst 1 sub div def +/$dy $toy $tot mul $fry $frt mul dup/$y xd sub $fst 1 sub div def +/$dk $tok $tot mul $frk $frt mul dup/$k xd sub $fst 1 sub div def +true}{$o $frc $frm $fry $frk $frt $frn @spc +dup{/$frk 1 currentgray sub def}{/$frk 0 def}ifelse +$o $toc $tom $toy $tok $tot $ton @spc dup{/$tok 1 currentgray sub def} +{/$tok 0 def}ifelse or dup{/$c 0 def/$m 0 def/$y 0 def/$k $frk def +/$dc 0 def/$dm 0 def/$dy 0 def/$dk $tok $frk sub $fst 1 sub div def}if +}ifelse}bd/@ftl{1 index 4 index sub dup $pad mul dup/$pdw xd +2 mul sub $fst div/$wid xd 2 index sub/$hei xd +pop translate $c $m $y $k 4 copy ColorSeparationMode 0 ne +{1 exch sub setgray pop pop pop}{setcmykcolor}ifelse +0 0 moveto 0 $hei lineto $pdw $hei lineto $pdw 0 lineto 0 0 lineto fill +$pdw 0 translate $fst{4 copy ColorSeparationMode 0 ne +{1 exch sub setgray pop pop pop}{setcmykcolor}ifelse +0 0 moveto 0 $hei lineto $wid $hei lineto $wid 0 lineto 0 0 lineto fill +$wid 0 translate $dk add 4 1 roll $dy add 4 1 roll +$dm add 4 1 roll $dc add 4 1 roll}repeat $dk sub 4 1 roll +$dy sub 4 1 roll $dm sub 4 1 roll $dc sub 4 1 roll +ColorSeparationMode 0 ne{1 exch sub setgray pop pop pop} +{setcmykcolor}ifelse 0 0 moveto 0 $hei lineto $pdw $hei lineto $pdw 0 lineto 0 0 lineto fill +}bd/@ftr{1 index 4 index sub dup $rox mul/$row xd +2 div 1 index 4 index sub dup $roy mul/$roh xd +2 div 2 copy dup mul exch dup mul add sqrt +$row dup mul $roh dup mul add sqrt add dup/$hei xd $fst div/$wid xd +4 index add $roh add exch 5 index add $row add +exch translate pop pop pop pop currentflat 5 mul setflat +$c $m $y $k 4 copy ColorSeparationMode 0 ne +{1 exch sub setgray pop pop pop}{setcmykcolor}ifelse +$wid 0 moveto 0 0 $hei 0 360 arc fill 1.0 $pad 2 mul sub dup scale +$fst{4 copy ColorSeparationMode 0 ne{1 exch sub setgray pop pop pop} +{setcmykcolor}ifelse $wid 0 moveto 0 0 $hei 0 360 arc fill +/$hei $hei $wid sub def $dk add 4 1 roll $dy add 4 1 roll +$dm add 4 1 roll $dc add 4 1 roll}repeat pop pop pop pop}bd +/@ff{@gs @dlt{$ctm setmatrix eoclip newpath Bbllx Bblly moveto +Bbllx Bbury lineto Bburx Bbury lineto Bburx Bblly lineto +$fan rotate pathbbox newpath $fty 1 eq{@ftr}{@ftl}ifelse}if +@gr @np}bd/@Pf{@sv ColorSeparationMode 0 eq $ink 3 eq or{$ctm setmatrix +72 1000 div dup matrix scale dup concat dup Bburx exch Bbury exch itransform +ceiling cvi/Bbury xd ceiling cvi/Bburx xd Bbllx exch Bblly exch itransform +floor cvi/Bblly xd floor cvi/Bbllx xd $Prm aload pop +$Psn load exec}{1 setgray eofill}ifelse @rs +@np}bd/@ftx{{(0) dup 3 -1 roll 0 exch put +@gs true charpath currentpoint $ctm setmatrix +@@txt @gr @np moveto $tr 0 rmoveto}forall pop}bd +/@sm{/$ctm $ctm currentmatrix def}bd/@lorg{$lx $ly moveto +/$ly $ly $le sub def}bd/@ft{matrix currentmatrix 3 1 roll +$sdf{$scf $sca $scp @ss}if $fil 1 eq{/@@txt/@pf ld @ftx}{$fil 2 eq +{/@@txt/@ff ld @ftx}{$fil 3 eq{/@@txt/@Pf ld @ftx}{@scc +{dup $tr exch 0 exch ashow}if pop pop}ifelse}ifelse}ifelse +$sdf{$dsf $dsa $dsp @ss}if setmatrix}bd/@st{ +matrix currentmatrix 3 1 roll $SDF{$SCF $SCA $SCP @ss}if +@SCC{{(0) dup 3 -1 roll 0 exch put @gs true charpath currentpoint +$ctm setmatrix $ptm concat stroke @gr moveto $tr 0 rmoveto}forall +pop}{pop pop}ifelse $SDF{$dsf $dsa $dsp @ss}if +setmatrix}bd/@pt{dup length exch}bd/@te{@pt +@lorg @ft cleartomark [}bd/@tr{@pt @lorg @st cleartomark [}bd +/@ta{@pt @lorg 2 copy @gs @ft @gr @st cleartomark [}bd +/@t@a{@pt @lorg 2 copy @gs @st @gr @ft cleartomark [}bd +/g{1 exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def +}bd/G{1 exch sub/$K xd/$C 0 def/$M 0 def/$Y 0 def/$T 1 def/$N _ def}bd +/k{/$k xd/$y xd/$m xd/$c xd/$t 1 def/$n _ def/$fil 0 def}bd +/K{/$K xd/$Y xd/$M xd/$C xd/$T 1 def/$N _ def}bd +/x{1 exch sub/$t xd/$n xd/$k xd/$y xd/$m xd/$c xd/$fil 0 def}bd +/X{1 exch sub/$T xd/$N xd/$K xd/$Y xd/$M xd/$C xd}bd +/d/setdash ld/i{dup 0 ne{setflat}{pop}ifelse}bd +/j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit ld +/w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd +/c/curveto ld/C/c ld/v{4 -2 roll 2 copy 6 -2 roll curveto}bd +/V/v ld/y{2 copy curveto}bd/Y/y ld/l/lineto ld +/L/l ld/m/moveto ld/n/newpath ld/N/newpath ld +/F{matrix currentmatrix $sdf{$scf $sca $scp @ss}if +$fil 1 eq{@pf}{$fil 2 eq{@ff}{$fil 3 eq{@Pf}{@scc{eofill}{@np}ifelse +}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if +setmatrix}bd/f{@cp F}bd/S{matrix currentmatrix +$ctm setmatrix $SDF{$SCF $SCA $SCP @ss}if @SCC{$skm currentmatrix +$ptm concat stroke setmatrix}{@np}ifelse $SDF{$dsf $dsa $dsp @ss}if +setmatrix}bd/s{@cp S}bd/B{@gs F @gr S}bd/b{@cp B}bd +/W{eoclip}bd/p{/$pm xd 7{pop}repeat/$pyf xd/$pxf xd +/$pn xd/$fil 1 def}bd/P{11{pop}repeat}bd/z{/$al xd +/$tr xd/$le xd exch findfont exch scalefont setfont}bd +/Z{dup type 0 type eq{/$bDir xd}if findfont +dup maxlength 1 add dict exch dup{1 index/FID ne{3 index +3 1 roll put}{pop pop}ifelse}forall pop dup dup/Encoding get +256 array copy dup/$fe xd/Encoding exch put +dup/Fontname 3 index put 3 -1 roll dup length 0 ne{0 exch{ +dup type 0 type eq{exch pop}{$fe exch 2 index exch put +1 add}ifelse}forall pop}if definefont pop}bd +/e{@sm concat [/t{@te}def}bd/r{@sm concat [/t{@tr}def}bd +/o{@sm concat [/t{pop}def}bd/a{@sm concat [/t{@ta}def}bd +/t{@te}def/T{cleartomark @np/$lx 0 def/$ly 0 def +$ctm setmatrix/$ttm matrix def}bd/u{}bd/U{}bd +/A{pop}bd/H{/$h true def}bd/h{@cp H}bd/q/@gs ld +/Q/@gr ld/E{5 array astore exch cvlit exch def}bd +/`{}bd/~{}bd/@{}bd/&{}bd/CorelDrawRencodeVect [ +16#80/grave/circumflex/tilde/dotlessi/florin/quotedblleft/quotedblright/guilsinglleft +16#88/guilsinglright/fi/fl/dagger/daggerdbl/endash/periodcentered/breve +16#90/quotedblbase/ellipsis/perthousand/trademark/Pt/fractionbar +16#98/divide 16#a1/exclamdown/cent/sterling/currency/yen/bar/section +16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/emdash/registered/overbar +16#b0/ring/plusminus/twosuperior/threesuperior/acute/mu/paragraph/bullet +16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown +16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis +16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/OE +16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls +16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla +16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis +16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/oe +16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis +] def/@cc{currentfile $dat readhexstring pop}bd +/@ii{concat 3 index 3 index m 3 index 1 index l +2 copy l 1 index 3 index l 3 index 3 index l +clip pop pop pop pop}bd/@E{/Bbury xd/Bburx xd +/Bblly xd/Bbllx xd}bd/@c{@cp}bd/@p{/$fil 1 def +/$pm xd/$psy xd/$psx xd/$pyf xd/$pxf xd/$pn xd}bd +/@P{/$fil 3 def/$Psn xd array astore/$Prm xd}bd +/@k{/$fil 2 def/$roy xd/$rox xd/$pad xd/$fty xd/$fan xd +$fty 1 eq{/$fan 0 def}if/$tok xd/$toy xd/$tom xd/$toc xd +/$frk xd/$fry xd/$frm xd/$frc xd/$frn _ def/$frt 1 def/$ton _ def/$tot 1 def +}bd/@x{/$fil 2 def/$roy xd/$rox xd/$pad xd +/$fty xd/$fan xd 1 exch sub/$tot xd/$ton xd/$tok xd/$toy xd/$tom xd/$toc xd +1 exch sub/$frt xd/$frn xd/$frk xd/$fry xd/$frm xd/$frc xd}bd +/@i{@sm @gs @ii 5 index 1 ne{@gs 1 g F @gr}if +1 eq 5 index 1 eq and{@gs $ctm setmatrix F @gr}if +@np/$ury xd/$urx xd/$lly xd/$llx xd/$bts xd +/$hei xd/$wid xd/$dat $wid $bts mul 8 div ceiling cvi string def +$bts 1 eq{@SCC/$frg xd}{1 G @SCC/$frg xd}ifelse +$frg{$SDF{$SCF $SCA $SCP @ss}if $llx $lly translate +$urx $llx sub $ury $lly sub scale $wid $hei abs +$bts 1 eq{false}{$bts}ifelse [ $wid 0 0 $hei neg 0 +$hei 0 gt{$hei}{0}ifelse]/@cc load $bts 1 eq{imagemask}{image}ifelse +$SDF{$dsf $dsa $dsp @ss}if}{$hei{@cc pop}repeat}ifelse +@gr $ctm setmatrix}def/@M {@sv}bd/@N{/@cc{}def +12 -1 roll neg 12 1 roll @i @rs}bd/@I{@sm @gs +@ii @np/$ury xd/$urx xd/$lly xd/$llx xd/$ncl xd +/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling cvi string def +$llx $lly translate $urx $llx sub $ury $lly sub scale +$wid $hei $bts [ $wid 0 0 $hei neg 0 $hei]/@cc load +false $ncl colorimage @gr $ctm setmatrix}bd +/@t{/$lx 0 def/$ly 0 def/$stm $stm currentmatrix def +3 1 roll translate $ttm concat 1 exch t $stm setmatrix}def +/@n{/$ttm exch matrix rotate def}bd/@z{ exch findfont exch scalefont setfont +}bd/@s{}bd/@l{}bd/@B{@gs S @gr F}bd/@b{@cp @B}bd +/@a{@sm concat [/t{@t@a}def}bd/@w{5 2 roll dup/$pan xd +matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix/$ptm xd +1 eq{$ptm exch dup concatmatrix/$ptm xd}{pop}ifelse +1 w}bd/@g{1 eq dup/$sdf xd{/$scp xd/$sca xd +/$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd +/$SCA xd/$SCF xd}if}bd/@D{3 copy @ss/$dsp xd +/$dsa xd/$dsf xd}bd/@j{@sv @np}bind def/@J{@rs}bind def +/@sep{/ColorSeparationMode where{pop}{/ColorSeparationMode 0 def +/CurrentInkName (Composite) def}ifelse ColorSeparationMode 0 eq +{/CurrentInkName (Composite) def}if/CurrentInkName where{pop}{ +/CurrentInkName (Composite) def}ifelse CurrentInkName (Composite) eq{/$ink -1 def} +{CurrentInkName (Cyan) eq{/$ink 0 def} {CurrentInkName (Magenta) eq{/$ink 1 def} +{CurrentInkName (Yellow) eq{/$ink 2 def} {CurrentInkName (Black) eq{/$ink 3 def} +{/$ink 4 def}ifelse}ifelse}ifelse}ifelse}ifelse}bd +@sep/@whi{@gs -72000 dup moveto -72000 72000 lineto +72000 dup lineto 72000 -72000 lineto closepath 1 setgray fill +@gr}bd/@neg{ [{1 exch sub}/exec cvx currenttransfer/exec cvx] cvx settransfer +@whi}bd/@reg{[] 0 d 0 setgray .3 setlinewidth +2 copy 5.4 0 360 arc closepath 2 copy moveto 9 0 rlineto +2 copy moveto -9 0 rlineto 2 copy moveto 0 9 rlineto +moveto 0 -9 rlineto stroke}bd/leftbracket{(\050)}def +/rightbracket{(\051)}def + +%%EndProlog +%%BeginSetup +11.4737 setmiterlimit +1.00 setflat +/$fst 128 def + +%%EndSetup +@sv +/$ctm matrix currentmatrix def +u +%%Note: Object +45.22 528.19 78.98 558.14 @E +0 J 0 j [] 0 d 0 R 0 @G +0.00 0.00 0.00 1.00 K +1.01 1.01 0.00 [1.00000 0.00000 0.00000 1.00000 0.00000 0.00000] 0 @w +%%CURV 106 +73.30 539.78 m +73.08 538.42 72.22 537.26 71.78 536.33 C +72.79 534.67 73.73 531.43 74.81 530.64 C +74.59 530.64 77.04 528.84 73.87 529.06 C +73.08 529.34 73.08 530.93 70.20 533.81 C +69.70 533.74 70.56 530.57 71.50 529.63 c +73.15 528.19 70.27 528.55 70.13 528.62 C +68.98 529.34 68.62 534.60 67.03 536.26 c +66.24 537.19 65.16 536.98 64.30 536.90 C +63.22 536.62 60.62 537.19 60.55 534.02 C +60.62 532.66 62.14 530.21 62.86 529.78 c +65.30 528.41 62.06 528.34 61.70 528.77 C +61.13 529.34 60.19 530.64 59.26 531.65 C +57.74 532.44 56.38 533.66 56.02 534.96 C +54.94 534.74 53.86 534.17 53.64 533.23 C +53.42 532.22 53.86 531.58 54.86 530.14 C +56.02 529.85 56.38 529.27 56.02 528.98 c +55.87 528.84 53.71 528.62 53.57 528.91 C +52.70 529.49 51.70 531.86 51.19 533.16 c +50.90 533.88 49.97 535.82 51.55 537.77 C +51.98 538.49 51.91 539.86 51.77 540.65 c +51.55 541.94 51.55 542.74 52.42 544.46 C +49.75 546.77 45.22 551.23 49.61 557.14 C +50.11 557.64 51.55 558.14 50.76 556.27 C +49.82 553.68 46.66 551.45 53.42 546.19 C +54.50 546.91 58.97 546.48 60.48 546.19 c +64.66 545.33 65.52 545.33 68.40 546.05 C +68.76 546.19 68.83 547.99 70.34 549.22 C +70.06 550.15 72.00 551.45 72.22 552.53 C +72.65 553.39 73.66 550.73 73.66 550.66 C +73.58 551.23 74.66 552.31 74.81 552.96 C +75.74 553.25 75.10 550.94 75.89 549.50 c +76.32 548.93 76.68 549.07 77.11 547.70 C +77.47 546.34 78.98 545.18 76.54 543.89 c +75.17 543.17 74.59 543.31 73.58 542.88 C +73.58 542.23 73.51 540.79 73.30 539.78 c +@c +S +U +@rs +%%Trailer + end diff --git a/Master/texmf-dist/doc/latex/caption/elephant.eps b/Master/texmf-dist/doc/latex/caption/elephant.eps new file mode 100644 index 00000000000..a38bfcb75df --- /dev/null +++ b/Master/texmf-dist/doc/latex/caption/elephant.eps @@ -0,0 +1,639 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator:Adobe Illustrator(TM) 1.1 0000000000 +%%For: +%%Title:elephant.ps +%%CreationDate:25/4/88 7:57 pm +%%DocumentProcSets:Adobe_Illustrator_1.1 0 0 +%%DocumentSuppliedProcSets:Adobe_Illustrator_1.1 0 0 +%%DocumentFonts:Courier +%%BoundingBox: 40 -505 507 -87 +%%TemplateBox:0 -720 576 0 +%%EndComments +%%BeginProcSet:Adobe_Illustrator_1.1 0 0 +% Copyright (C) 1987 Adobe Systems Incorporated. +% All Rights Reserved. +% Adobe Illustrator is a trademark of Adobe Systems Incorporated. +/Adobe_Illustrator_1.1 dup 100 dict def load begin +/Version 0 def +/Revision 0 def +% definition operators +/bdef {bind def} bind def +/ldef {load def} bdef +/xdef {exch def} bdef +% graphic state operators +/_K {3 index add neg dup 0 lt {pop 0} if 3 1 roll} bdef +/_k /setcmybcolor where +{/setcmybcolor get} {{1 sub 4 1 roll _K _K _K setrgbcolor pop} bind} ifelse def +/g {/_b xdef /p {_b setgray} def} bdef +/G {/_B xdef /P {_B setgray} def} bdef +/k {/_b xdef /_y xdef /_m xdef /_c xdef /p {_c _m _y _b _k} def} bdef +/K {/_B xdef /_Y xdef /_M xdef /_C xdef /P {_C _M _Y _B _k} def} bdef +/d /setdash ldef +/_i currentflat def +/i {dup 0 eq {pop _i} if setflat} bdef +/j /setlinejoin ldef +/J /setlinecap ldef +/M /setmiterlimit ldef +/w /setlinewidth ldef +% path construction operators +/_R {.25 sub round .25 add} bdef +/_r {transform _R exch _R exch itransform} bdef +/c {_r curveto} bdef +/C /c ldef +/v {currentpoint 6 2 roll _r curveto} bdef +/V /v ldef +/y {_r 2 copy curveto} bdef +/Y /y ldef +/l {_r lineto} bdef +/L /l ldef +/m {_r moveto} bdef +% error operators +/_e [] def +/_E {_e length 0 ne {gsave 0 g 0 G 0 i 0 J 0 j 1 w 10 M [] 0 d +/Courier 20 0 0 1 z [0.966 0.259 -0.259 0.966 +_e 0 get _e 2 get add 2 div _e 1 get _e 3 get add 2 div] e _f t T grestore} if} bdef +/_fill {{fill} stopped +{/_e [pathbbox] def /_f (ERROR: can't fill, increase flatness) def n _E} if} bdef +/_stroke {{stroke} stopped +{/_e [pathbbox] def /_f (ERROR: can't stroke, increase flatness) def n _E} if} bdef +% path painting operators +/n /newpath ldef +/N /n ldef +/F {p _fill} bdef +/f {closepath F} bdef +/S {P _stroke} bdef +/s {closepath S} bdef +/B {gsave F grestore S} bdef +/b {closepath B} bdef +% text block construction and painting operators +/_s /ashow ldef +/_S {(?) exch {2 copy 0 exch put pop dup false charpath currentpoint _g setmatrix +_stroke _G setmatrix moveto 3 copy pop rmoveto} forall pop pop pop n} bdef +/_A {_a moveto _t exch 0 exch} bdef +/_L {0 _l neg translate _G currentmatrix pop} bdef +/_w {dup stringwidth exch 3 -1 roll length 1 sub _t mul add exch} bdef +/_z [{0 0} bind {dup _w exch neg 2 div exch neg 2 div} bind {dup _w exch neg exch neg} bind] def +/z {_z exch get /_a xdef /_t xdef /_l xdef exch findfont exch scalefont setfont} bdef +/_g matrix def +/_G matrix def +/_D {_g currentmatrix pop gsave concat _G currentmatrix pop} bdef +/e {_D p /t {_A _s _L} def} bdef +/r {_D P /t {_A _S _L} def} bdef +/a {_D /t {dup p _A _s P _A _S _L} def} bdef +/o {_D /t {pop _L} def} bdef +/T {grestore} bdef +% group construction operators +/u {} bdef +/U {} bdef +% font construction operators +/Z {findfont begin currentdict dup length dict begin +{1 index /FID ne {def} {pop pop} ifelse} forall /FontName exch def dup length 0 ne +{/Encoding Encoding 256 array copy def 0 exch {dup type /nametype eq +{Encoding 2 index 2 index put pop 1 add} {exch pop} ifelse} forall} if pop +currentdict dup end end /FontName get exch definefont pop} bdef +end +%%EndProcSet +%%EndProlog +%%BeginSetup +Adobe_Illustrator_1.1 begin +n +%%EndSetup +0 g +0 G +1 i +0 J +0 j +0.7 w +10 M +[]0 d +%%Note: +90.632 -245.419 m +86.134 -229.425 95.131 -228.926 96.63 -221.429 c +98.129 -213.932 107.126 -212.932 109.125 -202.936 c +111.124 -192.94 119.121 -183.944 125.618 -176.947 c +132.116 -169.949 146.61 -163.952 156.106 -168.45 c +165.602 -172.948 169.102 -174.947 178.598 -176.447 c +188.094 -177.946 195.591 -179.945 208.086 -176.947 c +220.581 -173.948 226.578 -171.949 237.074 -172.948 c +247.569 -173.948 277.557 -172.948 290.052 -171.949 c +302.547 -170.949 335.034 -171.449 345.53 -171.449 c +356.026 -171.449 374.019 -177.446 388.012 -182.444 c +402.006 -187.442 426.996 -197.438 439.491 -204.435 c +451.986 -211.433 469.979 -230.425 479.476 -238.422 c +488.972 -246.418 497.969 -243.42 499.968 -278.905 c +501.967 -314.39 499.968 -334.882 498.968 -346.377 c +497.969 -357.872 492.971 -371.367 491.971 -382.862 c +490.971 -394.358 490.971 -399.356 490.971 -410.851 c +490.971 -422.346 490.971 -433.342 492.471 -442.338 c +493.97 -451.336 494.47 -457.333 494.97 -461.332 c +495.47 -465.33 491.971 -464.83 489.472 -465.83 c +486.973 -466.829 483.474 -462.331 481.975 -458.333 c +480.476 -454.334 481.475 -444.837 481.475 -441.339 c +481.475 -437.84 483.474 -434.841 483.974 -427.844 c +484.474 -420.847 485.474 -386.861 482.975 -378.364 c +480.476 -369.868 484.974 -364.37 485.973 -354.374 c +486.973 -344.378 491.971 -311.391 489.972 -308.392 c +487.973 -305.394 484.474 -327.885 478.475 -333.882 c +472.478 -339.88 471.478 -346.377 471.478 -351.875 c +471.478 -357.373 467.48 -363.37 464.981 -365.869 c +462.482 -368.368 461.982 -374.366 457.984 -380.863 c +453.985 -387.36 450.987 -394.857 450.487 -402.854 c +449.987 -410.851 451.486 -436.341 450.487 -440.839 c +449.487 -445.337 447.988 -447.836 446.988 -448.836 c +445.989 -449.835 451.486 -448.336 451.486 -453.835 c +451.486 -459.332 449.987 -459.832 449.487 -468.329 c +448.987 -476.825 447.488 -479.324 447.488 -484.322 c +447.488 -489.32 447.488 -495.318 445.489 -495.818 c +443.49 -496.317 437.492 -498.317 433.494 -498.816 c +429.495 -499.316 420.999 -499.816 419.999 -499.316 c +419 -498.816 419.499 -495.318 420.999 -494.318 c +422.498 -493.319 424.746 -490.011 y +417.5 -495.818 415.501 -496.817 v +413.502 -497.817 410.003 -499.816 407.004 -499.316 c +404.006 -498.816 402.506 -498.317 401.507 -496.817 c +400.507 -495.318 397.508 -496.817 394.509 -494.818 c +391.511 -492.819 392.01 -490.82 393.01 -489.32 c +394.01 -487.821 399.507 -482.323 y +394.01 -483.323 392.51 -483.323 v +391.011 -483.323 377.017 -484.322 374.019 -484.322 c +371.02 -484.322 364.023 -485.322 363.023 -484.822 c +362.024 -484.322 361.024 -483.323 361.024 -482.823 c +361.024 -482.323 356.526 -482.823 356.026 -482.823 c +355.526 -482.823 353.027 -480.324 353.527 -479.324 c +354.027 -478.325 357.525 -473.327 359.525 -471.827 c +361.524 -470.328 365.022 -466.329 368.021 -465.33 c +371.02 -464.33 371.52 -459.832 373.019 -457.333 c +374.518 -454.834 375.018 -451.336 375.518 -447.836 c +376.018 -444.337 377.017 -433.342 377.017 -427.844 c +377.017 -422.346 379.516 -406.353 382.015 -399.356 c +384.514 -392.358 386.514 -386.861 385.514 -381.363 c +384.514 -375.865 381.016 -368.368 381.016 -366.369 c +381.016 -364.37 381.016 -358.872 y +377.517 -358.872 371.02 -361.371 v +364.523 -363.87 348.529 -368.368 342.531 -367.369 c +336.534 -366.369 308.044 -365.369 306.545 -362.371 c +305.046 -359.372 289.552 -353.374 289.052 -352.874 c +288.552 -352.375 288.052 -359.872 289.552 -367.369 c +291.051 -374.866 292.551 -382.362 294.55 -389.36 c +296.549 -396.357 298.548 -425.345 300.048 -433.842 c +301.547 -442.338 307.545 -449.335 310.044 -453.335 c +312.542 -457.333 313.542 -460.332 313.042 -464.83 c +312.542 -469.328 311.043 -475.326 310.543 -477.825 c +310.044 -480.324 306.045 -484.322 303.046 -483.822 c +300.048 -483.323 291.051 -480.824 289.552 -481.323 c +288.052 -481.823 285.054 -485.322 284.054 -485.822 c +283.055 -486.321 277.557 -486.321 274.558 -487.321 c +271.559 -488.321 263.063 -489.82 261.563 -488.321 c +260.064 -486.821 262.063 -493.319 249.568 -491.319 c +246.078 -490.761 239.072 -491.819 235.075 -492.819 c +231.077 -493.818 224.579 -492.319 224.079 -492.319 c +223.58 -492.319 215.583 -491.819 214.083 -490.82 c +212.584 -489.82 204.087 -489.82 204.087 -487.321 c +204.087 -484.822 208.586 -482.823 211.085 -480.324 c +213.584 -477.825 220.581 -472.827 221.081 -470.328 c +221.58 -467.829 221.081 -461.332 221.081 -458.333 c +221.081 -455.334 219.081 -449.335 217.082 -445.337 c +215.083 -441.339 213.584 -427.344 213.084 -424.845 c +212.584 -422.346 214.583 -415.349 213.584 -413.35 c +212.584 -411.351 210.085 -398.356 209.085 -395.357 c +208.086 -392.358 206.087 -385.361 205.587 -379.364 c +205.087 -373.366 202.088 -354.874 201.089 -351.875 c +200.089 -348.876 198.59 -335.881 199.089 -331.883 c +199.589 -327.885 192.092 -314.89 191.592 -312.391 c +191.093 -309.892 188.594 -305.394 188.594 -300.895 c +188.594 -296.397 184.096 -294.898 181.597 -294.898 c +179.098 -294.898 170.101 -291.899 169.102 -290.899 c +168.102 -289.9 159.105 -293.398 155.606 -293.898 c +152.107 -294.398 140.112 -296.897 139.613 -296.397 c +139.113 -295.897 135.114 -303.894 134.615 -306.393 c +134.115 -308.892 132.615 -313.39 131.116 -313.89 c +129.617 -314.39 126.118 -318.888 126.118 -320.388 c +126.118 -321.887 122.12 -317.889 y +122.12 -312.391 121.62 -308.392 v +121.12 -304.394 124.619 -300.895 125.118 -298.396 c +125.618 -295.897 131.116 -287.901 130.616 -286.401 c +130.116 -284.902 128.131 -286.36 125.118 -288.4 c +121.244 -291.026 118.121 -310.392 115.622 -313.39 c +113.123 -316.389 106.626 -331.383 105.126 -333.882 c +103.627 -336.381 103.127 -363.87 102.128 -372.866 c +101.128 -381.863 103.127 -397.356 104.627 -401.355 c +106.126 -405.353 107.625 -409.352 106.626 -409.851 c +105.626 -410.351 112.623 -403.354 118.121 -403.854 c +123.619 -404.354 130.616 -408.352 131.616 -413.85 c +132.615 -419.348 131.116 -428.844 127.617 -431.343 c +124.119 -433.842 110.624 -436.341 108.125 -433.842 c +105.626 -431.343 94.631 -427.844 90.632 -418.848 c +89.333 -415.924 80.137 -391.859 79.637 -384.861 c +79.202 -378.776 76.514 -369.619 76.638 -367.868 c +76.673 -367.37 64.143 -379.364 61.644 -380.863 c +59.145 -382.362 50.149 -389.859 48.15 -387.86 c +46.15 -385.861 50.649 -383.362 52.148 -381.363 c +53.647 -379.364 61.144 -372.866 63.143 -371.367 c +65.143 -369.868 55.147 -374.866 51.148 -375.365 c +47.15 -375.865 45.151 -373.866 46.15 -373.366 c +47.15 -372.866 57.146 -368.368 62.144 -364.87 c +67.142 -361.371 74.139 -355.873 74.639 -353.374 c +75.139 -350.875 74.139 -326.885 73.139 -319.888 c +72.14 -312.891 77.138 -296.397 77.638 -287.401 c +78.137 -278.405 82.136 -267.91 84.135 -262.412 c +86.134 -256.914 90.824 -246.099 90.632 -245.419 c +s +262.063 -478.325 m +263.562 -474.326 271.059 -469.828 272.559 -467.829 c +274.058 -465.83 274.558 -460.332 272.559 -457.833 c +270.56 -455.334 267.561 -446.836 266.561 -444.837 c +265.562 -442.838 264.562 -437.34 263.562 -433.842 c +262.563 -430.343 262.063 -423.846 261.063 -421.347 c +260.064 -418.848 257.065 -412.35 256.565 -411.351 c +256.065 -410.351 254.066 -418.848 254.066 -422.346 c +254.066 -425.845 257.565 -430.343 257.565 -433.842 c +257.565 -437.34 258.065 -439.839 257.065 -443.338 c +256.065 -446.836 254.566 -450.836 255.066 -455.334 c +255.566 -459.832 256.565 -465.33 258.065 -468.828 c +259.564 -472.327 261.814 -478.986 262.063 -478.325 c +s +114.374 -421.846 m +114.123 -422.846 117.122 -422.597 118.621 -421.846 c +120.12 -421.098 121.371 -418.848 119.871 -417.348 c +118.372 -415.849 117.405 -416.194 116.122 -416.6 c +113.748 -417.348 114.509 -421.305 114.374 -421.846 c +s +121.871 -294.148 m +119.372 -291.65 119.121 -289.4 y +108.789 -290.299 108.625 -293.898 v +107.625 -315.889 64.143 -370.867 63.143 -371.367 c +S +76.638 -367.868 m +83.635 -362.371 105.126 -333.382 105.126 -333.882 c +S +164.602 -189.442 m +172.1 -193.44 172.6 -194.939 178.098 -194.939 c +183.596 -194.939 186.595 -191.441 191.592 -197.438 c +196.59 -203.436 198.59 -210.433 199.589 -217.43 c +200.589 -224.427 198.59 -229.425 194.591 -232.924 c +190.593 -236.422 194.091 -240.921 192.592 -242.42 c +191.093 -243.919 190.593 -248.418 190.593 -250.417 c +190.593 -252.416 182.845 -253.666 181.346 -254.665 c +179.846 -255.665 174.635 -263.779 173.849 -263.162 c +166.852 -257.664 168.351 -252.416 165.853 -250.417 c +163.354 -248.418 158.605 -239.921 157.105 -238.921 c +155.606 -237.922 148.021 -233.866 148.021 -231.367 c +148.021 -228.868 149.109 -219.166 148.609 -216.667 c +148.109 -214.168 152.107 -209.433 152.107 -208.434 c +S +159.781 -179.035 m +164.485 -180.211 169.189 -181.975 172.717 -182.563 c +176.245 -183.151 185.653 -186.091 188.593 -187.267 c +191.533 -188.443 198.001 -193.735 199.765 -197.263 c +201.529 -200.791 202.117 -206.671 202.705 -209.023 c +203.293 -211.375 203.293 -219.607 202.117 -221.371 c +200.941 -223.135 197.413 -231.955 196.237 -232.543 c +S +108.097 -233.86 m +112.167 -236.446 116.296 -237.525 120.179 -236.971 c +125.831 -236.166 128.942 -227.524 129.27 -225.841 c +S +109.73 -237.489 m +111.163 -238.845 115.233 -241.43 117.92 -241.079 c +120.607 -240.727 123.178 -240.834 125.479 -238.64 c +127.339 -236.869 130.379 -228.116 130.528 -226.81 c +S +108.46 -230.129 m +110.117 -226.085 113.633 -223.711 115.101 -223.019 c +120.739 -220.367 127.21 -223.619 127.234 -224.548 c +S +108.8 -230.633 m +111.01 -231.549 112.29 -232.49 113.598 -232.64 c +116.814 -233.01 120.042 -233.379 122.149 -230.779 c +123.23 -229.447 123.643 -229.297 125.175 -227.488 c +126.707 -225.678 126.557 -225.264 127.234 -224.548 c +S +u +117.144 -223.904 m +118.708 -223.335 120.422 -224.096 120.972 -225.607 c +121.522 -227.117 120.699 -228.804 119.135 -229.373 c +117.57 -229.943 115.856 -229.179 115.307 -227.669 c +114.757 -226.159 115.58 -224.472 117.144 -223.904 c +f +118.14 -226.638 m +F +U +129.952 -224.71 m +130.389 -223.353 131.426 -223.641 129.289 -222.158 c +128.199 -221.4 122.082 -217.838 119.797 -218.137 c +117.44 -218.445 114.876 -219.824 113.16 -222.044 c +S +109.974 -231.066 m +110.638 -229.885 111.271 -230.044 110.638 -229.885 c +110.188 -229.77 109.038 -229.138 y +S +125.118 -288.4 m +132.615 -282.903 135.114 -282.903 138.113 -276.906 c +141.112 -270.909 139.613 -259.413 137.613 -255.915 c +135.614 -252.416 133.615 -244.919 y +S +128.971 -242.98 m +126.971 -247.478 124.472 -253.975 120.973 -255.475 c +117.474 -256.974 111.477 -257.974 109.478 -258.473 c +S +129.823 -220.573 m +126.834 -218.203 123.007 -214.64 121.267 -214.609 c +119.528 -214.578 116.234 -213.677 113.623 -215.785 c +111.96 -217.128 108.602 -222.181 107.962 -223.343 c +S +73.139 -317.889 m +82.136 -309.392 94.631 -316.389 y +S +74.139 -305.394 m +77.638 -301.395 78.137 -298.396 85.135 -299.396 c +92.132 -300.396 97.13 -303.894 97.63 -303.894 c +S +74.139 -331.883 m +77.138 -329.384 83.635 -327.385 85.135 -327.885 c +86.634 -328.384 92.632 -329.884 y +S +74.639 -345.877 m +76.638 -343.878 83.635 -343.878 y +S +77.138 -371.367 m +80.137 -369.368 86.01 -366.119 90.008 -366.869 c +92.204 -367.28 99.629 -370.867 y +S +79.512 -382.114 m +82.011 -380.614 89.633 -374.866 96.63 -380.863 c +S +83.635 -399.356 m +92.383 -389.611 99.129 -397.356 y +S +86.885 -408.603 m +93.131 -400.355 101.628 -407.352 y +S +89.384 -414.6 m +94.631 -407.852 104.127 -413.35 y +S +93.631 -423.597 m +94.631 -420.598 104.378 -417.848 104.627 -417.848 c +S +106.877 -420.347 m +103.127 -423.097 102.128 -429.594 y +S +117.872 -422.097 m +116.873 -431.343 124.869 -432.093 y +S +112.375 -420.847 m +106.877 -427.844 114.374 -434.841 y +S +120.371 -419.348 m +125.118 -425.596 131.616 -419.099 y +S +119.871 -417.348 m +127.118 -416.6 124.619 -406.104 y +S +118.372 -416.349 m +123.119 -408.603 114.374 -404.354 y +S +116.122 -416.6 m +114.874 -409.103 106.126 -410.351 106.626 -409.851 c +106.877 -409.602 103.878 -416.849 105.377 -420.347 c +108.125 -413.85 114.374 -421.846 v +114.528 -422.044 109.876 -419.598 105.377 -420.347 c +S +114.623 -418.848 m +111.875 -411.851 104.878 -415.1 105.126 -415.1 c +S +74.639 -356.373 m +74.763 -354.498 74.639 -353.374 v +S +81.012 -390.235 m +83.511 -388.735 91.132 -382.987 98.129 -388.984 c +S +95.506 -346.127 m +95.881 -346.127 99.629 -347.377 y +S +77.388 -352.75 m +76.388 -352.125 74.639 -352.874 74.639 -352.75 c +S +89.384 -353.998 m +91.507 -353.75 97.88 -356.249 y +S +78.137 -279.904 m +84.135 -277.405 89.133 -276.406 94.131 -277.905 c +99.129 -279.405 107.126 -285.402 y +S +83.635 -265.411 m +88.133 -262.412 95.131 -262.912 99.629 -263.412 c +104.127 -263.911 113.623 -270.909 y +121.62 -276.406 l +S +77.388 -352.75 m +S +74.639 -352.75 m +S +256.565 -411.351 m +262.563 -398.856 259.564 -384.362 261.563 -374.866 c +263.562 -365.369 263.063 -354.374 267.561 -348.376 c +272.059 -342.379 281.555 -321.387 283.554 -314.89 c +285.553 -308.392 276.057 -271.908 273.059 -264.911 c +270.06 -257.914 265.562 -248.917 264.562 -244.419 c +263.562 -239.921 261.563 -225.927 263.562 -221.928 c +S +1 w +291.198 -93.775 m +S +0.7 w +289.052 -352.874 m +284.554 -343.878 266.561 -350.875 y +S +242.394 -491.555 m +242.394 -488.056 239.469 -483.145 238.221 -482.896 c +236.972 -482.645 231.474 -483.645 231.474 -483.896 c +231.474 -484.145 228.225 -480.897 226.976 -479.898 c +225.726 -478.898 221.727 -480.146 220.728 -480.646 c +219.728 -481.146 217.229 -479.398 216.729 -478.898 c +216.23 -478.398 212.951 -478.957 212.701 -479.207 c +S +219.728 -480.397 m +220.479 -483.896 212.701 -490.085 y +S +231.474 -483.896 m +231.723 -486.395 224.079 -492.319 y +S +261.872 -477.736 m +264.621 -485.233 260.622 -487.483 y +S +284.054 -485.822 m +280.556 -485.572 268.369 -482.734 267.869 -481.485 c +267.37 -480.235 262.622 -480.486 y +S +288.552 -482.073 m +285.054 -478.075 279.806 -473.826 278.057 -473.826 c +276.307 -473.826 268.854 -481.809 268.854 -481.559 c +S +269.06 -470.828 m +272.559 -470.328 275.807 -475.076 y +S +358.525 -473.327 m +362.272 -472.577 366.271 -474.326 367.27 -475.576 c +368.27 -476.825 361.524 -482.823 361.024 -482.823 c +S +367.374 -474.988 m +369.623 -474.237 372.622 -474.988 374.371 -476.236 c +376.121 -477.487 379.869 -483.484 y +S +390.275 -261.943 m +380.278 -279.436 357.347 -332.502 384.015 -355.373 c +398.54 -367.832 399.507 -387.86 404.505 -393.358 c +409.503 -398.856 405.005 -410.351 406.005 -416.849 c +407.004 -423.346 410.003 -429.843 410.003 -439.839 c +410.003 -449.835 408.004 -460.832 408.504 -465.33 c +409.004 -469.828 405.005 -475.826 404.006 -477.825 c +403.006 -479.824 398.008 -483.323 y +403.506 -482.823 407.504 -486.821 407.755 -487.071 c +408.004 -487.321 401.007 -496.067 y +S +407.269 -487.071 m +415.017 -483.821 423.513 -490.319 y +432.259 -485.321 441.006 -497.067 y +S +381.016 -358.872 m +382.337 -358.961 385.277 -357.197 y +S +489.972 -308.392 m +491.998 -302.514 496.114 -294.87 496.114 -293.106 c +S +490.234 -445.397 m +490.234 -453.629 493.762 -464.213 y +S +487.882 -446.573 m +487.882 -450.101 489.299 -465.683 489.472 -465.83 c +S +484.942 -443.045 m +483.178 -447.749 484.354 -461.273 y +S +421.439 -452.453 m +431.435 -455.981 446.668 -448.747 446.988 -448.836 c +S +376.163 -444.221 m +383.219 -451.277 401.447 -451.277 y +S +377.927 -423.641 m +382.043 -426.581 397.331 -425.993 y +S +406.739 -407.765 m +417.323 -418.349 438.491 -410.117 y +S +370.871 -461.861 m +376.163 -468.917 397.331 -471.857 y +S +409.679 -434.225 m +416.735 -440.693 439.079 -431.285 y +S +406.739 -396.593 m +414.383 -398.945 433.787 -391.301 y +S +448.487 -477.737 m +430.847 -486.557 412.031 -479.501 y +S +312.072 -455.981 m +306.78 -462.449 281.496 -464.213 y +S +300.048 -433.842 m +295.608 -439.517 276.792 -439.517 y +S +295.608 -395.417 m +290.904 -392.477 263.856 -397.769 y +S +297.96 -413.057 m +293.844 -417.173 268.56 -420.113 y +S +291.492 -374.249 m +287.376 -372.485 261.623 -374.307 261.563 -374.866 c +S +250.92 -424.229 m +247.392 -444.221 217.993 -435.401 y +S +253.272 -430.109 m +250.92 -448.337 223.285 -454.217 y +S +256.8 -461.861 m +245.04 -473.033 225.637 -468.329 y +S +213.584 -413.35 m +220.933 -420.701 239.16 -413.645 y +S +236.809 -380.129 m +232.693 -386.597 205.645 -383.657 y +S +238.572 -389.537 m +245.04 -387.185 260.328 -394.829 y +S +237.985 -371.897 m +240.924 -370.133 261.504 -378.365 y +S +237.985 -358.961 m +235.045 -362.489 202.705 -361.901 y +S +199.177 -335.442 m +215.641 -344.262 248.568 -327.21 y +S +192.709 -314.274 m +201.529 -306.63 238.572 -311.334 y +S +149.785 -246.655 m +158.605 -263.707 138.025 -287.814 y +S +160.957 -258.415 m +166.837 -267.823 146.257 -288.402 y +S +174.481 -270.763 m +178.597 -277.818 167.425 -290.166 y +S +191.533 -259.591 m +200.353 -270.175 183.889 -294.87 y +S +206.233 -247.243 m +212.113 -269.587 187.418 -299.865 188.594 -300.895 c +S +159.193 -201.379 m +162.133 -207.259 161.545 -215.491 161.545 -217.255 c +161.545 -219.019 153.313 -227.251 153.901 -230.779 c +S +237.985 -176.095 m +244.452 -180.799 251.508 -187.855 254.448 -192.559 c +257.388 -197.263 253.861 -213.37 253.566 -214.431 c +251.359 -222.372 242.571 -252.416 244.57 -262.412 c +246.569 -272.408 251.567 -282.403 252.567 -295.398 c +253.566 -308.392 253.566 -320.388 246.569 -331.383 c +239.572 -342.379 236.574 -357.373 237.574 -368.368 c +238.572 -379.364 235.575 -404.354 245.57 -422.346 c +S +457.895 -360.725 m +464.951 -348.378 464.363 -327.798 469.067 -315.45 c +473.77 -303.102 477.886 -295.458 477.298 -278.994 c +476.71 -262.531 473.77 -263.119 y +S +410.267 -370.133 m +402.035 -357.197 396.155 -340.734 394.979 -328.974 c +394.151 -320.699 409.091 -287.814 y +S +u +116.786 -223.328 m +119.079 -222.493 121.637 -223.74 122.502 -226.115 c +123.365 -228.487 122.208 -231.089 119.915 -231.922 c +117.621 -232.757 115.064 -231.51 114.199 -229.135 c +113.335 -226.763 114.493 -224.163 116.786 -223.328 c +s +118.351 -227.626 m +S +U +118.294 -232.651 m +116.002 -233.016 113.653 -232.151 112.636 -230.643 c +111.618 -229.137 111.9 -227.548 112.377 -226.28 c +112.854 -225.01 114.424 -223.735 114.926 -223.396 c +115.428 -223.057 118.062 -222.269 119.178 -222.397 c +122.279 -222.753 123.831 -224.223 124.232 -225.328 c +124.635 -226.433 124.862 -227.915 124.723 -227.965 c +S +%%Trailer +_E end + diff --git a/Master/texmf-dist/doc/latex/caption/ltcaption.pdf b/Master/texmf-dist/doc/latex/caption/ltcaption.pdf Binary files differindex a607b982617..5b7284a26ef 100644 --- a/Master/texmf-dist/doc/latex/caption/ltcaption.pdf +++ b/Master/texmf-dist/doc/latex/caption/ltcaption.pdf diff --git a/Master/texmf-dist/doc/latex/caption/subcaption.pdf b/Master/texmf-dist/doc/latex/caption/subcaption.pdf Binary files differindex cb770695d39..40d80eb0d94 100644 --- a/Master/texmf-dist/doc/latex/caption/subcaption.pdf +++ b/Master/texmf-dist/doc/latex/caption/subcaption.pdf diff --git a/Master/texmf-dist/source/latex/caption/caption.dtx b/Master/texmf-dist/source/latex/caption/caption.dtx index 29fede54769..5019819460b 100644 --- a/Master/texmf-dist/source/latex/caption/caption.dtx +++ b/Master/texmf-dist/source/latex/caption/caption.dtx @@ -2,7 +2,7 @@ % % This is file `caption.dtx'. % -% Copyright (C) 1994-2007 Axel Sommerfeldt (caption@sommerfee.de) +% Copyright (C) 1994-2008 Axel Sommerfeldt (caption@sommerfee.de) % % -------------------------------------------------------------------------- % @@ -24,12 +24,12 @@ % user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. % % \fi -% \CheckSum{5983} +% \CheckSum{6216} % % \iffalse %<*driver> \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesFile{caption.drv}[2007/12/23 v3.1f Implementation of the caption package] +\ProvidesFile{caption.drv}[2008/03/20 v3.1g Implementation of the caption package] \hbadness=9999 \newcount\hbadness \hfuzz=100pt % Make TeX shut up. %\errorcontextlines=3 % @@ -37,6 +37,9 @@ \setlength\parindent{0pt} \setlength\parskip{\smallskipamount} % +%\let\ORIsubsection\subsection +%\def\subsection{\clearpage\ORIsubsection} +% \makeatletter % make room for subsections like 2.16.14 in the TOC %\newcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} \renewcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.6em}} @@ -53,7 +56,7 @@ \ifpdf\usepackage{hypdestopt}\fi \hypersetup{pdfkeywords={LaTeX, package, caption},pdfstartpage={},pdfstartview={}} % -\usepackage[debug]{caption}[2007/12/21] +\usepackage[debug]{caption}[2008/03/01] % \DeclareRobustCommand*\eTeX{\texorpdfstring {\leavevmode\hbox{$\varepsilon$}-\TeX}% @@ -214,7 +217,7 @@ % \changes{v3.0d}{2004/11/28}{Split into two packages: % \package{caption} \& \package{caption3}} % -% \newcommand*\Note[2][Note]{\par{\small\emph{#1:} #2}} +% \newcommand*\Note[2][Note]{\par{\small\emph{#1:} #2}\par} % % \iffalse % --------------------------------------------------------------------------- % @@ -230,7 +233,7 @@ % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption3}[2007/12/21 v3.1f caption3 kernel (AR)] +\ProvidesPackage{caption3}[2008/03/20 v3.1g caption3 kernel (AR)] % \end{macrocode} % % \subsection{Generic helpers} @@ -429,13 +432,14 @@ % \changes{v3.1}{2007/05/08}{This macro and its usage added} % \changes{v3.1e}{2007/10/28}{\cs{caption@teststar@} added} % |\caption@teststar|\marg{cmd}\marg{star arg}\marg{non-star arg}\\ -% |\caption@teststar@|\marg{cmd}\marg{star arg/token}\marg{non-star arg/token} +% |\caption@teststar@|\marg{cmd}\marg{star arg}\marg{non-star arg} % \begin{macrocode} \newcommand*\caption@teststar[3]{\@ifstar{#1{#2}}{#1{#3}}} % \end{macrocode} % \begin{macrocode} \newcommand*\caption@teststar@[3]{% \@ifstar{#1{#2}}{\caption@ifatletter{#1{#2}}{#1{#3}}}} +\AtBeginDocument{\let\caption@teststar@\caption@teststar} % \end{macrocode} % \begin{macrocode} \newcommand*\caption@ifatletter{% @@ -444,6 +448,7 @@ \else \expandafter\@secondoftwo \fi} +\AtBeginDocument{\let\caption@ifatletter\@secondoftwo} % \end{macrocode} % \end{macro} % @@ -683,11 +688,21 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\ifcaptionsetup@star} +% \changes{v3.1g}{2008/01/12}{This macro added} +% If the starred form of |\captionsetup| is used, this will be set to |true|. +% (It will be reset to |false| at the end of |\caption@setkeys|.) +% \begin{macrocode} +\newif\ifcaptionsetup@star +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\captionsetup} % \changes{v3.0a}{2004/01/17}{Bugfix: Missing \% added} % \changes{v3.1}{2007/07/22}{Starred-variant added} % \changes{v3.1e}{2007/07/27}{Inside packages the starred variant will be used automatically} % \changes{v3.1f}{2007/11/16}{Bugfix 07-11-09: `space hack' added} +% \changes{v3.1g}{2008/01/12}{\cs{ifcaptionsetup@star} will be set now} % |\captionsetup|\oarg{type}\marg{keyval-list of options}\\ % |\captionsetup*|\oarg{type}\marg{keyval-list of options}\par % If the optional argument `type' is specified, we simply save or append @@ -701,17 +716,17 @@ % \end{macrocode} % \begin{macrocode} \newcommand*\@captionsetup[1]{% - \@ifnextchar[{\caption@setup@options#1}\caption@setup} + \captionsetup@startrue#1\captionsetup@starfalse + \@ifnextchar[\caption@setup@options\caption@setup} % \end{macrocode} % \begin{macrocode} \newcommand*\caption@setup{\caption@setkeys{caption}} % \end{macrocode} % \begin{macrocode} -\def\caption@setup@options#1[#2]#3{% +\def\caption@setup@options[#1]#2{% \@bsphack - % #1 is \@gobble in star form, and \@firstofone otherwise - #1{\caption@addtooptlist{#2}}% - \expandafter\caption@l@addto@list\csname caption@opt@#2\endcsname{#3}% + \ifcaptionsetup@star\captionsetup@starfalse\else\caption@addtooptlist{#1}\fi + \expandafter\caption@l@addto@list\csname caption@opt@#1\endcsname{#2}% \@esphack} % \end{macrocode} % \end{macro} @@ -880,6 +895,7 @@ % \changes{v3.0p}{2007/04/08}{\cs{caption@keydepth} is now a command instead of a counter} % \changes{v3.1b}{2007/09/18}{Usage of \cs{caption@Package} removed, we use \cs{caption@KV@err} instead} % \changes{v3.1f}{2007/11/16}{Bugfix 07-11-09: `space hack' added} +% \changes{v3.1g}{2008/01/12}{\cs{captionsetup@starfalse} added} % |\caption@setkeys|\oarg{package}\marg{family}\marg{key-values}\par % This one simply calls |\setkeys|\marg{family}\marg{key-values} % but lets the error messages not refer to the \package{keyval} package, @@ -903,11 +919,14 @@ \setkeys{#2}{#3}% % \end{macrocode} % \begin{macrocode} - \edef\caption@keydepth{\expandafter\@cdr\caption@keydepth\@nil}% + \edef\caption@keydepth{\expandafter\@gobble\caption@keydepth}% \expandafter\let\expandafter\KV@err\csname ORI@KV@err\caption@keydepth\endcsname \expandafter\let\expandafter\KV@errx\csname ORI@KV@errx\caption@keydepth\endcsname % \end{macrocode} % \begin{macrocode} + \ifx\caption@keydepth\@empty \captionsetup@starfalse \fi +% \end{macrocode} +% \begin{macrocode} \@esphack} % \end{macrocode} % \begin{macrocode} @@ -1255,8 +1274,10 @@ % \end{macrocode} % \end{macro} % +% \changes{v3.1g}{2008/01/20}{Option \opt{style*=} added} % \begin{macrocode} \DeclareCaptionOption{style}{\caption@setstyle{#1}} +\DeclareCaptionOption{style*}{\caption@setstyle*{#1}} \DeclareCaptionOption{singlelinecheck}{\caption@set@bool\caption@ifslc{#1}} % \end{macrocode} % @@ -1380,6 +1401,20 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\DeclareCaptionDefaultFormat} +% \changes{v3.1g}{2008/01/31}{This macro added} +% \begin{macrocode} +\newcommand*\DeclareCaptionDefaultFormat[1]{% + \expandafter\def\expandafter\caption@fmt@default\expandafter + {\csname caption@fmt@#1\endcsname}% + \expandafter\def\expandafter\caption@slfmt@default\expandafter + {\csname caption@slfmt@#1\endcsname}% + \expandafter\def\expandafter\caption@ifh@default\expandafter + {\csname caption@ifh@#1\endcsname}} +\@onlypreamble\DeclareCaptionDefaultFormat +% \end{macrocode} +% \end{macro} +% % \changes{v3.0a}{2004/01/23}{% % Caption format \opt{default} renamed to \opt{normal}} % \changes{v3.0f}{2005/05/12}{% @@ -1408,8 +1443,7 @@ % \changes{v3.0e}{2005/04/28}{Bugfix 05-04-28: Missing \cs{caption@ifh@default} added} % `default' usually maps to `plain'. % \begin{macrocode} -\def\caption@fmt@default{\caption@fmt@plain} -\def\caption@ifh@default{\caption@ifh@plain} +\DeclareCaptionDefaultFormat{plain} % \end{macrocode} % % \subsection{Label formats} @@ -1417,12 +1451,10 @@ % \begin{macro}{\DeclareCaptionLabelFormat} % \changes{v3.0a}{2004/01/17}{% % Pass through argument \#2 so extra spaces between arguments do make any harm} -% \changes{v3.1}{2007/07/07}{% -% Label formats have three arguments now} -% |\DeclareCaptionLabelFormat|\marg{name}\marg{code with \#1, \#2, and \#3} +% |\DeclareCaptionLabelFormat|\marg{name}\marg{code with \#1 and \#2} % \begin{macrocode} \newcommand*\DeclareCaptionLabelFormat[2]{% - \global\@namedef{caption@lfmt@#1}##1##2##3{#2}} + \global\@namedef{caption@lfmt@#1}##1##2{#2}} \@onlypreamble\DeclareCaptionLabelFormat % \end{macrocode} % \end{macro} @@ -1583,30 +1615,31 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\DeclareDefaultCaptionFont} +% \begin{macro}{\DeclareCaptionDefaultFont} % \changes{v3.1}{2006/05/14}{This macro added} -% |\DeclareDefaultCaptionFont|\marg{name}\marg{code} +% \changes{v3.1g}{2008/01/31}{Renamed from \cs{DeclareDefaultCaptionFont} to \cs{DeclareCaptionDefaultFont}} +% |\DeclareCaptionDefaultFont|\marg{name}\marg{code} % \begin{macrocode} -\newcommand*\DeclareDefaultCaptionFont[2]{% +\newcommand*\DeclareCaptionDefaultFont[2]{% \global\@namedef{caption#1@default}{#2}} -\@onlypreamble\DeclareDefaultCaptionFont +\@onlypreamble\DeclareCaptionDefaultFont % \end{macrocode} % \end{macro} % % \begin{macrocode} \DeclareCaptionOption{font}{\caption@setfont{font}{#1}} \DeclareCaptionOption{font+}{\caption@addtofont{font}{#1}} -\DeclareDefaultCaptionFont{font}{} +\DeclareCaptionDefaultFont{font}{} % \end{macrocode} % \begin{macrocode} \DeclareCaptionOption{labelfont}{\caption@setfont{labelfont}{#1}} \DeclareCaptionOption{labelfont+}{\caption@addtofont{labelfont}{#1}} -\DeclareDefaultCaptionFont{labelfont}{} +\DeclareCaptionDefaultFont{labelfont}{} % \end{macrocode} % \begin{macrocode} \DeclareCaptionOption{textfont}{\caption@setfont{textfont}{#1}} \DeclareCaptionOption{textfont+}{\caption@addtofont{textfont}{#1}} -\DeclareDefaultCaptionFont{textfont}{} +\DeclareCaptionDefaultFont{textfont}{} % \end{macrocode} % % \begin{macro}{\caption@setfont} @@ -1715,7 +1748,7 @@ % so old documents will work fine. % \begin{macrocode} \DeclareCaptionOption{size}{\caption@setfont{size}{#1}} -\DeclareDefaultCaptionFont{size}{} +\DeclareCaptionDefaultFont{size}{} % \end{macrocode} % % \subsection{Justifications} @@ -1733,20 +1766,21 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\DeclareDefaultCaptionJustification} +% \begin{macro}{\DeclareCaptionDefaultJustification} % \changes{v3.1}{2007/07/03}{This macro added} -% |\DeclareDefaultCaptionJustification|\marg{code} +% \changes{v3.1g}{2008/01/31}{Renamed from \cs{DeclareDefaultCaptionJustification} to \cs{DeclareCaptionDefaultJustification}} +% |\DeclareCaptionDefaultJustification|\marg{code} % \begin{macrocode} -\newcommand*\DeclareDefaultCaptionJustification[1]{% +\newcommand*\DeclareCaptionDefaultJustification[1]{% \global\@namedef{caption@hj@default}{#1}% for compatibility to v3.0 - \DeclareDefaultCaptionFont{@hj}{#1}} -\@onlypreamble\DeclareDefaultCaptionJustification + \DeclareCaptionDefaultFont{@hj}{#1}} +\@onlypreamble\DeclareCaptionDefaultJustification % \end{macrocode} % \end{macro} % % \begin{macrocode} \DeclareCaptionOption{justification}{\caption@setjustification{#1}} -\DeclareDefaultCaptionJustification{} +\DeclareCaptionDefaultJustification{} % \end{macrocode} % % \begin{macro}{\caption@setjustification} @@ -2036,10 +2070,18 @@ % \changes{v3.0b}{2004/05/16}{Option \opt{listof=} added} % \changes{v3.1f}{2007/11/17}{Option \opt{list=} added} % \begin{macrocode} -\DeclareCaptionOption{list}{\caption@set@bool\caption@iflist{#1}} -\DeclareCaptionOption{listof}{\caption@set@bool\caption@iflist{#1}} +\DeclareCaptionOption{list}{\caption@setlist{#1}} +\DeclareCaptionOption{listof}{\caption@setlist{#1}} % \end{macrocode} % +% \begin{macro}{\caption@setlist} +% \changes{v3.1g}{2008/03/20}{This macro added} +% |\caption@setlist|\marg{boolean} +% \begin{macrocode} +\newcommand*\caption@setlist{\caption@set@bool\caption@iflist} +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\DeclareCaptionListFormat} % \changes{v3.1}{2004/07/15}{This macro added} % \changes{v3.1f}{2007/11/17}{Renamed from \cs{DeclareCaptionListOfFormat} to \cs{DeclareCaptionListFormat}} @@ -2102,10 +2144,6 @@ % % \subsection{Document classes \& Babel support} % -% \begin{macrocode} -\caption@CheckCommand\@makecaption{\let\@makecaption\@undefined} -% \end{macrocode} -% % \subsubsection{The standard \texorpdfstring{\LaTeX{}}{LaTeX} classes} % % \begin{macrocode} @@ -2202,9 +2240,9 @@ \@tempa \caption@g@addto@list\caption@sls@default{margin*=.5\captionmargin} \DeclareCaptionLabelSeparator{default}{.\enspace} - \DeclareDefaultCaptionFont{font}{\@captionfont} - \DeclareDefaultCaptionFont{labelfont}{\@captionheadfont} - \DeclareDefaultCaptionFont{textfont}{\@captionfont\upshape} + \DeclareCaptionDefaultFont{font}{\@captionfont} + \DeclareCaptionDefaultFont{labelfont}{\@captionheadfont} + \DeclareCaptionDefaultFont{textfont}{\@captionfont\upshape} \captionsetup[figure]{position=b} \captionsetup[table]{position=t} % \end{macrocode} @@ -2237,11 +2275,11 @@ % \end{macrocode} % \begin{macrocode} \DeclareCaptionLabelFormat{default}{#1} - \DeclareDefaultCaptionJustification{\raggedright} - \DeclareDefaultCaptionFont{font}{% + \DeclareCaptionDefaultJustification{\raggedright} + \DeclareCaptionDefaultFont{font}{% \usebeamerfont*{caption}% \usebeamercolor[fg]{caption}} - \DeclareDefaultCaptionFont{labelfont}{% + \DeclareCaptionDefaultFont{labelfont}{% \usebeamercolor[fg]{caption name}% \usebeamerfont*{caption name}} % \end{macrocode} @@ -2256,7 +2294,7 @@ % \begin{macrocode} \DeclareOption{beamer}{% % \usebeamertemplate**{caption} will set font - \DeclareDefaultCaptionFont{font}{}% + \DeclareCaptionDefaultFont{font}{}% \setbeamertemplate{caption}[caption3]} % \end{macrocode} % \begin{macrocode} @@ -2304,8 +2342,8 @@ #3\par \fi} \DeclareCaptionLabelSeparator{default}{\captionformat} - \DeclareDefaultCaptionFont{font}{\scr@fnt@caption} - \DeclareDefaultCaptionFont{labelfont}{\scr@fnt@captionlabel} + \DeclareCaptionDefaultFont{font}{\scr@fnt@caption} + \DeclareCaptionDefaultFont{labelfont}{\scr@fnt@captionlabel} % \end{macrocode} % \begin{macrocode} } @@ -2332,13 +2370,41 @@ \vskip\belowcaptionskip}} % \end{macrocode} % \begin{macrocode} - \DeclareDefaultCaptionFont{labelfont}{\CaptionLabelFont} - \DeclareDefaultCaptionFont{textfont}{\CaptionTextFont} + \DeclareCaptionDefaultFont{labelfont}{\CaptionLabelFont} + \DeclareCaptionDefaultFont{textfont}{\CaptionTextFont} % \end{macrocode} % \begin{macrocode} } % \end{macrocode} % +% \subsubsection{The thesis class} +% \changes{v3.1g}{2008/01/31}{thesis class support added (kernel)} +% +% \begin{macrocode} +\@ifclassloaded{thesis}{% +% \end{macrocode} +% \begin{macrocode} + \caption@CheckCommand\@makecaption{% + % thesis.cls 1996/25/01 1.0g LaTeX document class (wm). + \long\def\@makecaption#1#2{% + \vskip\abovecaptionskip + \setbox\@tempboxa\hbox{{\cph@font #1:} {\cpb@font #2}}% + \ifdim \wd\@tempboxa >\hsize + \@hangfrom{\cph@font #1: }{\cpb@font #2\par}% + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip}} +% \end{macrocode} +% \begin{macrocode} + \DeclareCaptionDefaultFormat{hang} + \DeclareCaptionDefaultFont{labelfont}{\cph@font} + \DeclareCaptionDefaultFont{textfont}{\cpb@font} +% \end{macrocode} +% \begin{macrocode} +}{} +% \end{macrocode} +% % \subsubsection{The frenchb Babel option} % \changes{v3.1}{2006/05/14}{\package{frenchb} package support added (kernel)} % @@ -2348,6 +2414,7 @@ % \begin{macrocode} \caption@CheckCommand\@makecaption{% % frenchb.ldf [2005/02/06 v1.6g French support from the babel system] + % frenchb.ldf [2007/10/05 v2.0e French support from the babel system] \long\def\@makecaption#1#2{% \vskip\abovecaptionskip \sbox\@tempboxa{#1\CaptionSeparator #2}% @@ -2416,7 +2483,7 @@ \fi}} % \end{macrocode} % \begin{macrocode} - \DeclareDefaultCaptionFont{textfont}{\itshape}% + \DeclareCaptionDefaultFont{textfont}{\itshape}% \DeclareCaptionLabelSeparator{default}{\captionseparator\space}% % \end{macrocode} % \begin{macrocode} @@ -2484,8 +2551,7 @@ % |\caption@fnum|\marg{float type}\par % Typesets the caption label; as replacement for |\fnum@|\meta{float type}. % \begin{macrocode} -\newcommand*\caption@fnum[1]{% - \caption@lfmt{\@nameuse{#1name}}{\@nameuse{the#1}}{\theContinuedFloat}} +\newcommand*\caption@fnum[1]{\caption@lfmt{\@nameuse{#1name}}{\@nameuse{the#1}}} % \end{macrocode} % \end{macro} % @@ -2493,8 +2559,7 @@ % |\caption@make|\marg{float name}\marg{ref.\ number}\marg{text}\par % Typesets the caption. % \begin{macrocode} -\newcommand\caption@make[2]{% - \caption@@make{\caption@lfmt{#1}{#2}{\theContinuedFloat}}} +\newcommand\caption@make[2]{\caption@@make{\caption@lfmt{#1}{#2}}} % \end{macrocode} % \end{macro} % @@ -2770,6 +2835,7 @@ % \begin{macro}{\caption@ifempty} % \changes{v3.0e}{2005/05/05}{This macro added} % \changes{v3.1}{2007/07/04}{Re-defines itself now} +% \changes{v3.1g}{2007/01/22}{Revised so \cs{label} will be detected, too} % |\caption@ifempty|\marg{text}\marg{true} (\emph{no} \meta{false})\par % This one tests if the \meta{text} is actually empty. % \Note{This will be done without expanding the text, @@ -2778,17 +2844,37 @@ % the first test (in a group) will actually be done.} % \begin{macrocode} \newcommand\caption@ifempty[1]{% + \caption@if@empty{#1}% + \caption@ifempty\@unused} +% \end{macrocode} +% \begin{macrocode} +\newcommand\caption@if@empty[1]{% \def\caption@tempa{#1}% - \def\caption@tempb{\ignorespaces}% - \ifx\caption@tempa\caption@tempb - \let\caption@tempa\@empty - \fi \ifx\caption@tempa\@empty \let\caption@ifempty\@secondoftwo \else - \let\caption@ifempty\@gobbletwo - \fi - \caption@ifempty\@unused} + \expandafter\def\expandafter\caption@tempa\expandafter{% + \caption@car#1\caption@if@empty\caption@nil}% + \def\caption@tempb{\caption@if@empty}% + \ifx\caption@tempa\caption@tempb + \let\caption@ifempty\@secondoftwo + \else + \def\caption@tempb{\ignorespaces}% + \ifx\caption@tempa\caption@tempb + \expandafter\caption@if@empty\expandafter{\@gobble#1}% + \else + \def\caption@tempb{\label}% + \ifx\caption@tempa\caption@tempb + \expandafter\caption@if@empty\expandafter{\@gobbletwo#1}% + \else + \let\caption@ifempty\@gobbletwo + \fi + \fi + \fi + \fi} +% \end{macrocode} +% \begin{macrocode} +\long\def\caption@car#1#2\caption@nil{#1}% same as \@car, but \long % \end{macrocode} % \end{macro} % @@ -2837,16 +2923,18 @@ \@ifundefined{l@figure}% {\@namedef{l@#2}{\@dottedtocline{1}{1.5em}{2.3em}}}% {\expandafter\let\csname l@#2\endcsname\l@figure}% +% \end{macrocode} +% \begin{macrocode} \expandafter\newcommand\csname #2name\endcsname{}% - \edef\@tempa{% - \def\noexpand\@tempa{\expandafter\noexpand\@car#2\@nil}}% + \edef\@tempa{\def\noexpand\@tempa{\@car#2\@nil}}% \uppercase\expandafter{\@tempa}% - \edef\@tempb{% - \noexpand\g@addto@macro\noexpand\@tempa{\expandafter\@cdr#2\@nil}}% + \edef\@tempb{\noexpand\g@addto@macro\noexpand\@tempa{\@cdr#2\@nil}}% \@tempb \expandafter\let\csname #2name\endcsname\@tempa \expandafter\newcommand\csname list#2name\endcsname{}% \expandafter\xdef\csname list#2name\endcsname{List of \@tempa s}% +% \end{macrocode} +% \begin{macrocode} \@cons\caption@typelist{{#2}}% \caption@setkeys[caption]{caption@DCT}{#1}% \@ifnextchar[\@@DeclareCaptionType\relax} @@ -2922,15 +3010,22 @@ \define@key{caption@within}{none}[]{% \caption@within{}{}} \@onlypreamble@key{caption@within}{none} -\@ifundefined{c@chapter}{}{% +\@ifundefined{c@chapter}{% + \define@key{caption@within}{section}[]{% + \@addtoreset\caption@type{section}% + \caption@within{\ifnum\c@section>\z@ \thesection.\fi}{\theHsection.}} +}{% \define@key{caption@within}{chapter}[]{% \@addtoreset\caption@type{chapter}% \caption@within{\ifnum\c@chapter>\z@ \thechapter.\fi}{\theHchapter.}} - \@onlypreamble@key{caption@within}{chapter}} -\define@key{caption@within}{section}[]{% - \@addtoreset\caption@type{section}% - \caption@within{\ifnum\c@section>\z@ \thesection.\fi}{\theHsection.}} -\@onlypreamble@key{caption@within}{section} + \@onlypreamble@key{caption@within}{chapter} + \define@key{caption@within}{section}[]{% + \@addtoreset\caption@type{chapter}% + \@addtoreset\caption@type{section}% + \caption@within{\ifnum\c@chapter>\z@ \thechapter.\fi + \ifnum\c@section>\z@ \thesection.\fi}{% + \theHchapter.\theHsection.}} +}\@onlypreamble@key{caption@within}{section} % \end{macrocode} % \begin{macro}{\caption@within} % \changes{v3.1f}{2007/12/21}{This macro added} @@ -2940,9 +3035,9 @@ \expandafter\caption@within@\expandafter{\caption@type}} \@onlypreamble\caption@within \newcommand*\caption@within@[3]{% - \global\@namedef{the\caption@type}{#2\arabic{#1}}% - \@ifundefined{theH\caption@type}\caption@AtBeginDocument\@firstofone - {\global\@namedef{theH\caption@type}{#3\arabic{#1}}}} + \global\@namedef{the#1}{#2\arabic{#1}}% + \@ifundefined{theH#1}\caption@AtBeginDocument\@firstofone + {\global\@namedef{theH#1}{#3\arabic{#1}}}} \@onlypreamble\caption@within@ % \end{macrocode} % \end{macro} @@ -2967,6 +3062,7 @@ % % \begin{macro}{\DeclareCaptionSubType} % \changes{v3.1f}{2007/11/16}{This macro added} +% \changes{v3.1g}{2008/03/11}{Bugfix: \cs{subfigurename} will be defined now} % |\DeclareCaptionSubType|\oarg{numbering scheme}\marg{type}\\ % |\DeclareCaptionSubType*|\oarg{numbering scheme}\marg{type}\par % The starred variant provides the numbering format @@ -3009,13 +3105,15 @@ {\caption@Debug{Modify caption `sub#3'}}% % \end{macrocode} % \begin{macrocode} + \@namedef{sub#3name}{}% + \@namedef{sub#3autorefname}{\csname #3name\endcsname}% #1% is \@firstoftwo in star form, and \@secondoftwo otherwise {\@namedef{p@sub#3}{}% \@namedef{thesub#3}{\csname the#3\endcsname.\@nameuse{#2}{sub#3}}}% {\@namedef{p@sub#3}{\csname the#3\endcsname}% \@namedef{thesub#3}{\@nameuse{#2}{sub#3}}}% \@namedef{theHsub#3}{\csname theH#3\endcsname.\arabic{sub#3}}% - \@namedef{sub#3autorefname}{\csname #3name\endcsname}}} + }} % \end{macrocode} % \begin{macrocode} \@onlypreamble\@@DeclareCaptionSubType @@ -3128,7 +3226,7 @@ % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption}[2007/12/23 v3.1f Customizing captions (AR)] +\ProvidesPackage{caption}[2008/03/20 v3.1g Customizing captions (AR)] %\@ifundefined{PackageRedefines}{}{\PackageRedefines{caption}{caption}} % \end{macrocode} % @@ -3145,7 +3243,7 @@ % \subsection{Loading the kernel} % % \begin{macrocode} -\RequirePackage{caption3}[2007/12/21] % needs v3.1f or newer +\RequirePackage{caption3}[2008/03/01] % needs v3.1g % \end{macrocode} % % \subsection{Check against incompatible packages} @@ -3170,7 +3268,7 @@ }{}% \@ifpackageloaded{nonfloat}{% \caption@IncompatiblePackage{nonfloat}{.\MessageBreak - Furthermore you could use \noexpand\captionof instead of\MessageBreak + Furthermore you should use \noexpand\captionof instead of\MessageBreak \noexpand\figcaption or \string\tabcaption}% }{}% \@ifpackageloaded{topcapt}{% @@ -3180,6 +3278,7 @@ % \end{macrocode} % % \begin{macro}{\caption@Incompatible} +% \changes{v3.1g}{2008/03/20}{\texttt{position=b} added} % Issue an `incompatible' warning. % \begin{macrocode} \newcommand*\caption@IncompatiblePackage[2]{% @@ -3188,7 +3287,9 @@ caption package is strongly not recommended.\MessageBreak Instead of loading the #1 package you should\MessageBreak use the caption package option\MessageBreak - \space\space`tableposition=top'#2}} + \space\space`tableposition=top'#2}% + \caption@Info{Setting position=b for compatibility reasons}% + \caption@setposition b} % \end{macrocode} % \begin{macrocode} \@onlypreamble\caption@IncompatiblePackage @@ -3238,9 +3339,10 @@ % % \begin{macro}{\@tablecaptionabovetrue} % \begin{macro}{\@tablecaptionabovefalse} +% \changes{v3.1g}{2008/03/01}{\cs{def} changed to \cs{g@addto@macro}} % \begin{macrocode} - \def\@tablecaptionabovetrue{\captionsetup*[table]{position=t}} - \def\@tablecaptionabovefalse{\captionsetup*[table]{position=b}} + \g@addto@macro\@tablecaptionabovetrue{\captionsetup*[table]{position=t}} + \g@addto@macro\@tablecaptionabovefalse{\captionsetup*[table]{position=b}} % \end{macrocode} % \end{macro} % \end{macro} @@ -3264,10 +3366,10 @@ % % \begin{macro}{\onelinecaptionstrue} % \begin{macro}{\onelinecaptionsfalse} -% \changes{v3.1a}{2007/09/14}{Changed so they work with \cs{global}, too} +% \changes{v3.1g}{2008/03/01}{\cs{def} changed to \cs{g@addto@macro}} % \begin{macrocode} - \def\onelinecaptionstrue{\let\caption@ifslc\@firstoftwo} - \def\onelinecaptionsfalse{\let\caption@ifslc\@secondoftwo} + \g@addto@macro\onelinecaptionstrue{\let\caption@ifslc\@firstoftwo} + \g@addto@macro\onelinecaptionsfalse{\let\caption@ifslc\@secondoftwo} % \end{macrocode} % \end{macro} % \end{macro} @@ -3287,10 +3389,10 @@ % \changes{v3.0n}{2006/03/09}{Accidentally this got broken in \version{3.0m}, fixed} % \changes{v3.1}{2007/03/31}{We redefine \cs{captionabovetrue/false} now % instead of \cs{captionabove/below}} -% \changes{v3.1a}{2007/09/14}{Changed so they work with \cs{global}, too} +% \changes{v3.1g}{2008/03/01}{\cs{def} changed to \cs{g@addto@macro}} % \begin{macrocode} - \def\@captionabovetrue{\let\caption@position\@firstoftwo} - \def\@captionabovefalse{\let\caption@position\@secondoftwo} + \g@addto@macro\@captionabovetrue{\let\caption@position\@firstoftwo} + \g@addto@macro\@captionabovefalse{\let\caption@position\@secondoftwo} % \end{macrocode} % \end{macro} % \end{macro} @@ -3420,30 +3522,37 @@ % available after the document preamble, too.} % \changes{v3.1f}{2007/11/18}{Option \opt{name} added} % \begin{macrocode} -\DeclareCaptionOption{figurename}{\caption@SetFloatName{figure}{#1}} -\DeclareCaptionOption{tablename}{\caption@SetFloatName{table}{#1}} -\DeclareCaptionOption{name}{\caption@setfloatname\@captype{#1}} +\DeclareCaptionOption{figurename}{\caption@SetName{figure}{#1}} +\DeclareCaptionOption{tablename}{\caption@SetName{table}{#1}} +\DeclareCaptionOption{name}{\caption@setname\@captype{#1}} % \end{macrocode} % -% \begin{macro}{\caption@SetFloatName} +% \changes{v3.1g}{2008/02/28}{Options \opt{listfigurename} and \opt{listtablename} added} +% \begin{macrocode} +\DeclareCaptionOption{listfigurename}{\caption@SetName{listfigure}{#1}} +\DeclareCaptionOption{listtablename}{\caption@SetName{listtable}{#1}} +% \end{macrocode} +% +% \begin{macro}{\caption@SetName} % \changes{v3.1}{2007/07/04}{This macro added} % \changes{v3.1f}{2007/11/18}{After-preamble variant added} -% |\caption@SetFloatName|\marg{cmd}\marg{value} +% \changes{v3.1g}{2008/02/28}{Renamed from \cs{caption@SetFloatName} to \cs{caption@SetName}} +% |\caption@SetName|\marg{cmd}\marg{value} % \begin{macrocode} -\newcommand*\caption@SetFloatName[2]{% +\newcommand*\caption@SetName[2]{% \begingroup \def\@tempa{\endgroup\@firstofone}% \@ifundefined{languagename}{}{% \@ifundefined{captions\languagename}{}{% \def\@tempa{\endgroup \expandafter\addto\csname captions\languagename\endcsname}}}% - \@tempa{\caption@setfloatname{#1}{#2}}} + \@tempa{\caption@setname{#1}{#2}}} % \end{macrocode} % \begin{macrocode} -\newcommand*\caption@setfloatname[2]{\@namedef{#1name}{#2}} +\newcommand*\caption@setname[2]{\@namedef{#1name}{#2}} % \end{macrocode} % \begin{macrocode} -\caption@AtBeginDocument{\let\caption@SetFloatName\caption@setfloatname} +\caption@AtBeginDocument{\let\caption@SetName\caption@setname} % \end{macrocode} % \end{macro} % @@ -3628,7 +3737,7 @@ \caption@ProcessOptions*{caption} % \end{macrocode} % -% \subsection{\cs{captionof} and \cs{ContinuedFloat}} +% \subsection{\cs{captionof} and \cs{captionlistentry}} % % \changes{v3.0d}{2004/08/03}{Option \opt{type=} added} % \changes{v3.1}{2007/06/25}{Option \opt{type*=} added} @@ -3660,6 +3769,7 @@ % \changes{v3.1d}{2007/10/23}{Error message for \cs{caption@checkgrouplevel} revised} % \changes{v3.1f}{2007/11/16}{\cs{caption@setsubtype} added} % \changes{v3.1f}{2007/12/03}{Crappy \cs{caption@iftypewarning} replaced} +% \changes{v3.1g}{2008/01/12}{Usage of \cs{ifcaptionsetup@star} added} % |\caption@settype*|\marg{type}\par % sets |\@captype| and executes the options associated with it % (using |\caption@setoptions|). @@ -3699,7 +3809,7 @@ % \begin{macrocode} \edef\@tempa{#3}% \expandafter\ifx\csname @#1captype\endcsname\@tempa \else - \@nameuse{caption@#1type@warning}% + \ifcaptionsetup@star\else\@nameuse{caption@#1type@warning}\fi \fi \expandafter\let\csname @#1captype\endcsname\@tempa % \end{macrocode} @@ -3831,21 +3941,30 @@ % \begin{macro}{\captionlistentry} % \changes{v3.1}{2007/07/28}{This macro added} % \changes{v3.1f}{2007/11/16}{Bugfix 07-11-09: `space hack' added} -% |\captionlistentry|\oarg{float type}\marg{list entry} +% \changes{v3.1g}{2008/01/20}{Starred variant added} +% |\captionlistentry|\oarg{float type}\marg{list entry}\\ +% |\captionlistentry*|\oarg{float type}\marg{list entry} % \begin{macrocode} \newcommand*\captionlistentry{% - \@testopt\caption@listentry\@captype} + \caption@teststar\@captionlistentry\@firstoftwo\@secondoftwo} % \end{macrocode} % \begin{macrocode} -\def\caption@listentry[#1]#2{% +\newcommand*\@captionlistentry[1]{% + \@testopt{\caption@listentry{#1}}\@captype} +% \end{macrocode} +% \begin{macrocode} +\def\caption@listentry#1[#2]#3{% \@bsphack - \caption@refstepcounter{#1}% - \caption@makecurrent{#1}{#2}% - \caption@addcontentsline{#1}{#2}% + #1{\def\@currentlabelname{#3}}% + {\caption@refstepcounter{#2}% + \caption@makecurrent{#2}{#3}}% + \caption@addcontentsline{#2}{#3}% \@esphack} % \end{macrocode} % \end{macro} % +% \subsection{\cs{ContinuedFloat}} +% % \begin{macro}{\ContinuedFloat} % \changes{v3.0f}{2005/06/11}{% % Call of \cs{caption@ContinuedFloat} added} @@ -3853,12 +3972,11 @@ % Optional argument and call of \cs{caption@@ContinuedFloat} added} % \changes{v3.0g}{2005/06/28}{% % Bugfix: \cs{newcounter} replaced by \cs{newcount}} -% \changes{v3.1}{2007/07/07}{% -% Optional argument temporarily removed, since it makes trouble} -% \changes{v3.1}{2007/07/07}{% -% \cs{caption@setoptions} added} -% \changes{v3.1c}{2007/09/25}{Undocumented optional argument re-added} -% |\ContinuedFloat|\par +% \changes{v3.1}{2007/07/02}{Format of \package{hyperref} extension changed} +% \changes{v3.1}{2007/07/07}{\cs{caption@setoptions} added} +% \changes{v3.1g}{2008/01/29}{Starred variant and hook \cs{sf@ContinuedFloat} added} +% |\ContinuedFloat|\\ +% |\ContinuedFloat*|\par % This mainly decrements the appropriate counter and increments the % continuation counter instead. % Furthermore we set |\caption@resetContinuedFloat| to |\@gobble| so the @@ -3868,42 +3986,79 @@ % compatibility reasons. % \Note{The definition of \cs{ContinuedFloat} itself is compatible % to the one inside the \package{subfig} package, except for the -% optional argument.} +% starred variant and the optional argument.} +% When the \package{hyperref} package is used we have the problem +% that the usage of |\ContinuedFloat| will create duplicate +% hyper links -- |\@currentHref| will be the same for the main float and +% the continued ones. So we have to make sure unique labels and references +% will be created each time. We do this by extending |\theHfigure| and +% |\theHtable|, so for continued floats the scheme +% \begin{quote}\meta{type}|.|\meta{type \#}|\alph{|\meta{continued \#}|}|\end{quote} +% will be used instead of +% \begin{quote}\meta{type}|.|\meta{type \#}\quad\quad.\end{quote} +% \par{\small(This implementation follows an idea from Steven Douglas Cochran.)} +% \Note{This does not help if the \package{hyperref} package option +% \texttt{naturalnames=true} is set.} % \begin{macrocode} \def\ContinuedFloat{% - \@ifnextchar[\@ContinuedFloat{% - \caption@iftype - {\addtocounter\@captype\m@ne - \caption@ContinuedFloat\@captype}% - {\caption@Error{\noexpand\ContinuedFloat outside float}}}} + \@ifnextchar[\@Continued@Float\@ContinuedFloat} +% \end{macrocode} +% \begin{macrocode} +\def\@Continued@Float[#1]{\addtocounter{#1}\m@ne} +% \end{macrocode} +% \begin{macrocode} +\def\@ContinuedFloat{% + \caption@iftype + {\addtocounter\@captype\m@ne + \caption@ContinuedFloat\@captype}% + {\caption@Error{\noexpand\ContinuedFloat outside float}}} % \end{macrocode} % \begin{macrocode} \def\caption@ContinuedFloat#1{% + \@ifstar{\caption@Continued@Float@{#1}}{\caption@Continued@Float{#1}}} +% \end{macrocode} +% \begin{macrocode} +\def\caption@Continued@Float@{% + \addtocounter\@captype\@ne + \@stpelt{ContinuedFloat}\stepcounter{ContinuedFloat}% + \def\caption@resetContinuedFloat##1{\xdef\caption@CFtype{##1}}% + \caption@@ContinuedFloat} +% \end{macrocode} +% \begin{macrocode} +\def\caption@Continued@Float#1{% \edef\@tempa{#1}% - \ifx\@tempa\caption@CFtype \else + \ifx\@tempa\caption@CFtype + \stepcounter{ContinuedFloat}% + \let\caption@resetContinuedFloat\@gobble + \caption@@ContinuedFloat{#1}% + \sf@ContinuedFloat{#1}% + \else \caption@Error{Continued `#1' after `\caption@CFtype'}% - \fi - \stepcounter{ContinuedFloat}% - \caption@@ContinuedFloat{#1}% + \fi} +% \end{macrocode} +% \begin{macrocode} +\def\caption@@ContinuedFloat#1{% + \expandafter\l@addto@macro\csname the#1\endcsname\theContinuedFloat + \@ifundefined{theH#1}{}{% + \expandafter\l@addto@macro\csname theH#1\endcsname{% + \@alph\c@ContinuedFloat}}% \caption@setoptions{ContinuedFloat}% - \caption@setoptions{continued#1}% - \let\caption@resetContinuedFloat\@gobble} + \caption@setoptions{continued#1}} % \end{macrocode} % \begin{macrocode} -\def\@ContinuedFloat[#1]{\addtocounter{#1}\m@ne} +\providecommand*\sf@ContinuedFloat[1]{} % \end{macrocode} % \begin{macrocode} -\newcounter{ContinuedFloat} \newcommand*\caption@CFtype{??} % \end{macrocode} % \end{macro} % -% \begin{macro}{\caption@@ContinuedFloat} -% |\caption@@ContinuedFloat|\marg{type}\par -% Usually this do nothing but this changes if the \package{hyperref} package -% is loaded. (See \package{hyperref} package support for details.) +% \begin{macro}{\theContinuedFloat} +% Its preset to \cs{@empty}, so usually the continuation counter is not +% included in the caption label or references. % \begin{macrocode} -\newcommand*\caption@@ContinuedFloat[1]{} +\newcounter{ContinuedFloat} +\let\theContinuedFloat\@empty % \end{macrocode} % \end{macro} % @@ -4087,7 +4242,7 @@ % \end{macro} % % \begin{macro}{\caption@makecurrent} -% \begin{macro}{\caption@@anchor} +% \begin{macro}{\caption@makeanchor} % \begin{macro}{\caption@start} % \begin{macro}{\caption@@start} % \begin{macro}{\caption@freezeHref} @@ -4095,7 +4250,7 @@ % All these are needed for support of the \package{hyperref} package. % \begin{macrocode} \newcommand*\caption@makecurrent[2]{} -\let\caption@@anchor\@firstofone +\let\caption@makeanchor\@firstofone \let\caption@start\relax \let\caption@@start\relax \let\caption@freezeHref\relax @@ -4486,6 +4641,7 @@ % \changes{v3.1}{2007/02/04}{Re-written, does not save\&use original definition anymore} % \changes{v3.1f}{2007/11/28}{Bugfix: Handling of \texttt{@minipage} flag added} % \changes{v3.1f}{2007/11/28}{Support of option \opt{@minipage} added} +% \changes{v3.1g}{2008/03/16}{Internal: Uses \cs{caption@prepareanchor} now} % As above, our version has been adapted to the packages we support. % Additionally our code is nested by |\caption@beginex| \& % |\caption@end| instead of |\begingroup| \& |\endgroup|. @@ -4500,8 +4656,7 @@ % \end{macrocode} % \begin{macrocode} \ifcaption@star \else - \caption@makecurrent{#1}{#2}% - \caption@ifhypcap{\caption@@start}{}% + \caption@prepareanchor{#1}{#2}% \fi % \end{macrocode} % \begin{macrocode} @@ -4514,14 +4669,22 @@ \fi \caption@normalsize \ifcaption@star - \let\caption@@anchor\@firstofone + \let\caption@makeanchor\@firstofone \fi \@makecaption{\csname fnum@#1\endcsname}% - {\ignorespaces\caption@@anchor{#3}}\par + {\ignorespaces\caption@makeanchor{#3}}\par \caption@if@minipage\@minipagetrue\@minipagefalse}% \caption@end}% % \end{macrocode} % \end{macro} +% \begin{macro}{\caption@prepareanchor} +% \changes{v3.1g}{2008/03/16}{This macro added} +% \begin{macrocode} + \newcommand*\caption@prepareanchor[2]{% + \caption@makecurrent{#1}{#2}% + \caption@ifhypcap\caption@@start{}} +% \end{macrocode} +% \end{macro} % % \begin{macrocode} }% @@ -4573,7 +4736,7 @@ % \begin{macrocode} \def\caption@DeclareSubType sub#1\@nil{% \caption@Debug{Initializing subtype for `#1'\@gobble}% - \@namedef{subcaption@value#1}{0}% + \@namedef{caption@c@#1}{0}% \@namedef{caption@beginsub#1}{\caption@beginsubfloat{#1}}} \@onlypreamble\caption@DeclareSubType % \end{macrocode} @@ -4593,7 +4756,8 @@ % \end{macrocode} % % \begin{macro}{\caption@subtypehook} -% Hook, will be used inside \cs{caption@setsubtype}. +% \changes{v3.1g}{2008/03/20}{Redefinition of \cs{caption@setlist} added} +% Hook, will be used inside \cs{caption@setsubtype}. % \begin{macrocode} \newcommand*\caption@subtypehook{% \ifx\caption\caption@subcaption \else @@ -4603,12 +4767,12 @@ % no \caption or \subcaption in this (floating) environment yet \caption@Debug{Increment \@captype\ counter =\the\value\@captype}% \caption@l@stepcounter\@captype - \let\addcontentsline\subcaption@addcontentsline}% + \let\addcontentsline\caption@addsubcontentsline}% % \end{macrocode} % \begin{macrocode} - \ifnum\csname subcaption@value\@captype\endcsname=\value\@captype \else + \ifnum\csname caption@c@\@captype\endcsname=\value\@captype \else \caption@Debug{Reset sub\@captype\ counter}% - \expandafter\xdef\csname subcaption@value\@captype\endcsname{% + \expandafter\xdef\csname caption@c@\@captype\endcsname{% \the\value\@captype}% \@stpelt\@subcaptype \fi @@ -4621,6 +4785,7 @@ % \end{macrocode} % \begin{macrocode} \caption@clearmargin + \caption@iflist{}{\let\caption@setlist\@gobble}% \caption@setoptions{sub}% \caption@setoptions{subfloat}% for subfig-package compatibility % \end{macrocode} @@ -4644,6 +4809,7 @@ % \end{macro} % % \begin{macro}{\caption@addcontentsline} +% \changes{v3.1g}{2008/01/12}{Argument of \cs{caption@addsubcontentslines} removed} % We extend |\caption@addcontentsline| so it handles sub-captions, too. % \Note{\cs{sf@ifpositiontop} \& \cs{@listsubcaptions} are defined by the % \package{subfigure} \& \package{subfig} packages.} @@ -4653,31 +4819,31 @@ \sf@ifpositiontop{\@listsubcaptions{#1}}{}% \caption@kernel@addcontentsline{#1}{#2}% \sf@ifpositiontop{}{\@listsubcaptions{#1}}% - \caption@addsubcontentslines{#1}} + \caption@addsubcontentslines} % \end{macrocode} % \begin{macrocode} -\newcommand*\caption@addsubcontentslines[1]{% +\newcommand*\caption@addsubcontentslines{% \begingroup - \subcaption@addcontentslines + \caption@subcontentslines \endgroup - \subcaption@clearcontentslines}% + \caption@clearsubcontentslines}% % \end{macrocode} % \end{macro} % % \begin{macrocode} \caption@AtBeginDocument*{% \@ifundefined{sf@ifpositiontop}{\let\sf@ifpositiontop\@gobbletwo}{}% - \subcaption@clearcontentslines - \g@addto@macro\caption@typehook{\subcaption@checkcontentslines}% - \AtEndDocument{\subcaption@checkcontentslines}}% + \caption@clearsubcontentslines + \g@addto@macro\caption@typehook{\caption@checksubcontentslines}% + \AtEndDocument{\caption@checksubcontentslines}}% % \end{macrocode} % -% \begin{macro}{\subcaption@addcontentsline} +% \begin{macro}{\caption@addsubcontentsline} % Add a pending sub-caption list entry. % \begin{macrocode} -\newcommand*\subcaption@addcontentsline[3]{% +\newcommand*\caption@addsubcontentsline[3]{% \protected@edef\@tempa{% - \noexpand\g@addto@macro\noexpand\subcaption@addcontentslines{% + \noexpand\g@addto@macro\noexpand\caption@subcontentslines{% \noexpand\@namedef{the#2}{\csname the#2\endcsname}% \ifx\@currentHref\@undefined \else \noexpand\def\noexpand\@currentHref{\@currentHref}% @@ -4687,25 +4853,26 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\subcaption@checkcontentslines} +% \begin{macro}{\caption@checksubcontentslines} +% \changes{v3.1g}{2008/01/07}{Bugfix: Uses \cs{caption@Error} instead of \cs{subcaption@Error} now} % Checks if the list of pending sub-captions is empty, if not, % a warning will be issued. % \begin{macrocode} -\newcommand*\subcaption@checkcontentslines{% - \ifx\subcaption@addcontentslines\@empty \else - \subcaption@Error{% +\newcommand*\caption@checksubcontentslines{% + \ifx\caption@subcontentslines\@empty \else + \caption@Error{% Something's wrong--perhaps a missing \protect\caption\MessageBreak in the last figure or table}% - \subcaption@clearcontentslines + \caption@clearsubcontentslines \fi} % \end{macrocode} % \end{macro} % -% \begin{macro}{\subcaption@clearcontentslines} +% \begin{macro}{\caption@clearsubcontentslines} % Clear pending sub-caption list entries. % \begin{macrocode} -\newcommand*\subcaption@clearcontentslines{% - \global\let\subcaption@addcontentslines\@empty} +\newcommand*\caption@clearsubcontentslines{% + \global\let\caption@subcontentslines\@empty} % \end{macrocode} % \end{macro} % @@ -4780,7 +4947,7 @@ % changed, frenchb will NOT customize it.'' % (but only if we emulate this customization) % \begin{macrocode} -\@ifundefined{caption@frenchb}{}{\caption@frenchb} +\@nameuse{caption@frenchb}\@nameundef{caption@frenchb} % \end{macrocode} % % \subsubsection{The frenchle/pro package} @@ -4933,6 +5100,7 @@ % \changes{v3.1c}{2007/10/06}{\cs{caption} \& \cs{@caption} revised for enhanced compatibility} % \changes{v3.1c}{2007/10/06}{Bugfix: Made \cs{@caption} long} % \changes{v3.1f}{2007/11/16}{Uses `space hack' instead of \cs{ignorespaces} now} +% \changes{v3.1g}{2008/01/29}{Starred variants of \cs{ContinuedFloat} and \cs{captionsetup} added} % |\caption@freeze*|\par % Used by the \package{fltpage} \& \package{sidecap} package support. % \begin{macrocode} @@ -4950,17 +5118,22 @@ % \begin{macrocode} \let\caption@ORI@ContinuedFloat\ContinuedFloat \def\ContinuedFloat{% + \caption@withoptargs\caption@SC@ContinuedFloat}% + \def\caption@SC@ContinuedFloat##1{% \let\caption@ORI@setcounter\setcounter \let\caption@ORI@addtocounter\addtocounter \def\setcounter####1####2{\csname c@####1\endcsname####2\relax}% \def\addtocounter####1####2{\advance\csname c@####1\endcsname ####2\relax}% - \caption@ORI@ContinuedFloat + \caption@ORI@ContinuedFloat##1% \global\let\caption@SCcontinued\caption@ORI@ContinuedFloat \let\setcounter\caption@ORI@setcounter \let\addtocounter\caption@ORI@addtocounter}% - \def\captionsetup##1{% - \caption@g@addto@list\caption@SCsetup{##1}% - \caption@setup{##1}}% + \let\caption@ORI@setup\captionsetup + \def\captionsetup{% + \caption@withoptargs\caption@SC@setup}% + \def\caption@SC@setup##1##2{% + \caption@g@addto@list\caption@SCsetup{##2}% + \caption@ORI@setup##1{##2}}% \let\caption@ORI\caption \def\caption{% \def\caption{\caption@Error{% @@ -4980,16 +5153,15 @@ }% % \end{macrocode} % \end{macro} +% % \begin{macro}{\caption@defrost} % \changes{v3.1}{2007/07/22}{This macro added} +% \changes{v3.1g}{2008/01/30}{\cs{caption@defrost@setup} added} % |\caption@defrost| % \begin{macrocode} \newcommand*\caption@defrost{% \ifx\caption@ORI@ContinuedFloat\@undefined - \caption@SCcontinued - \ifx\caption@SCsetup\@undefined \else - \expandafter\captionsetup\expandafter{\caption@SCsetup}% - \fi + \caption@defrost@setup \ifx\caption@SCtext\@undefined \else \expandafter\expandafter\expandafter\caption \expandafter\expandafter\expandafter[% @@ -5005,6 +5177,13 @@ \noexpand\caption@defrost in same group as \string\caption@freeze}% \fi}% % \end{macrocode} +% \begin{macrocode} + \newcommand*\caption@defrost@setup{% + \caption@SCcontinued + \ifx\caption@SCsetup\@undefined \else + \expandafter\captionsetup\expandafter{\caption@SCsetup}% + \fi}% +% \end{macrocode} % \end{macro} % % \begin{macrocode} @@ -5406,6 +5585,7 @@ % \end{macro} % % \begin{macro}{\FP@floatEnd} +% \changes{v3.1g}{2008/01/30}{Some minor bugfixes} % Original code: % \begin{verbatim} % \newcommand{\FP@floatEnd}{% @@ -5448,29 +5628,30 @@ \FP@helpNote\@captype\FP@positionLabel % \end{macrocode} % \begin{macrocode} - \let\FP@ContinuedFloat\relax + \edef\FP@RestoreCounter{% + \noexpand\setcounter{\@captype}{\the\value\@captype}% + \noexpand\setcounter{ContinuedFloat}{\the\value{ContinuedFloat}}}% +% \end{macrocode} +% \begin{macrocode} \FP@float {\FP@positionLabel}% location label test {\begin\@captype[p!]% - \FP@ContinuedFloat \usebox\FP@floatCorpusBOX + \caption@defrost@setup \caption@ifFPlistcap {\caption@refstepcounter\@captype \expandafter\caption@makecurrent\expandafter\@captype \expandafter{\caption@SClentry}}% {\expandafter\captionlistentry\expandafter{\caption@SClentry}}% - \caption@@anchor\relax + \caption@makeanchor\relax \ifx\FP@LabelText\@empty \else \expandafter\label\expandafter{\FP@LabelText}% \fi \end\@captype}% - {\let\FP@ContinuedFloat\ContinuedFloat - \caption@ifcompatibility - {\let\caption@ContinuedFloat\@gobble}% - {\caption@clearsetup{ContinuedFloat}% - \caption@clearsetup{continued\@captype}}}% + {\FP@RestoreCounter + \@ifundefined{theH\@captype}{}{% + \expandafter\l@addto@macro\csname theH\@captype\endcsname{.FP}}}% {\begin\@captype[b!]% - \FP@ContinuedFloat \let\FP@savedSetfnumCommand\caption@setfnum \def\caption@setfnum##1{% \FP@savedSetfnumCommand{##1}% @@ -5481,7 +5662,7 @@ \setlength\belowcaptionskip{2pt plus 2pt minus 1pt}% length below caption \caption@setoptions{FP\@captype}% \FP@separatorCaption - \caption@ifFPlistcap{}{\caption@set@bool\caption@iflof0}% + \caption@ifFPlistcap{}{\let\caption@addcontentsline\@gobbletwo}% \caption@defrost \end\@captype}% }% @@ -5539,12 +5720,12 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\caption@@anchor} -% We redefine |\caption@@anchor| so a \package{hyperref} anchor +% \begin{macro}{\caption@makeanchor} +% We redefine |\caption@makeanchor| so a \package{hyperref} anchor % will be set inside |\@caption|. % \Note{Will be redefined by \cs{caption@start}.} % \begin{macrocode} - \renewcommand\caption@@anchor[1]{% + \renewcommand\caption@makeanchor[1]{% \caption@Debug{hyperref anchor: \@currentHref}% % If we cannot have nesting, the anchor is empty. \ifHy@nesting @@ -5554,29 +5735,7 @@ \fi}% % \end{macrocode} % \begin{macrocode} - \g@addto@macro\caption@prepareslc{\let\caption@@anchor\@firstofone}% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\caption@@ContinuedFloat} -% \changes{v3.1}{2007/07/02}{Format of \package{hyperref} extension changed} -% When the \package{hyperref} package is used we have the problem -% that the usage of |\ContinuedFloat| will create duplicate -% hyper links -- |\@currentHref| will be the same for the main float and -% the continued ones. So we have to make sure unique labels and references -% will be created each time. We do this by extending |\theHfigure| and -% |\theHtable|, so for continued floats the scheme -% \begin{quote}\meta{type}|.|\meta{type \#}|\alph{|\meta{continued \#}|}|\end{quote} -% will be used instead of -% \begin{quote}\meta{type}|.|\meta{type \#}\quad\quad.\end{quote} -% \par{\small(This implementation follows an idea from Steven Douglas Cochran.)} -% \Note{This does not help if the \package{hyperref} package option -% \texttt{naturalnames=true} is set.} -% \begin{macrocode} - \renewcommand*\caption@@ContinuedFloat[1]{% - \@ifundefined{theH#1}{}{% - \expandafter\l@addto@macro\csname theH#1\endcsname{% - \@alph\c@ContinuedFloat}}}% + \g@addto@macro\caption@prepareslc{\let\caption@makeanchor\@firstofone}% % \end{macrocode} % \end{macro} % @@ -5619,7 +5778,7 @@ % Prevent |\@caption| from generating a \package{hyperref} anchor since this % has already been done. % \begin{macrocode} - \let\caption@@anchor\@firstofone + \let\caption@makeanchor\@firstofone % \end{macrocode} % \begin{macrocode} }{}}% @@ -5664,6 +5823,7 @@ % % \begin{macro}{\caption@startanchor} % \changes{v3.1b}{2007/09/17}{Bugfix 06-09-17: We use \cs{caption@anchor} instead of \cs{hyper@@anchor}} +% \changes{v3.1g}{2008/03/16}{Warning about TeX mode replaced with debug info} % |\caption@startanchor|\marg{Href} % sets a \package{hyperref} anchor inside |\caption@start|.\par % This code was taken from the \package{hypcap} package\cite{hypcap} and adapted. @@ -5676,8 +5836,8 @@ % we use \cs{caption@anchor} instead of \cs{hyper@@anchor} here.} % \begin{macrocode} \newcommand*\caption@startanchor[1]{% - \caption@Debug{hypcap anchor: #1}% \ifvmode\begingroup + \caption@Debug{hypcap anchor: #1 (vertical mode)}% \@tempdima\prevdepth \nointerlineskip \vspace*{-\caption@hypcapspace}% @@ -5685,7 +5845,7 @@ \vspace*{\caption@hypcapspace}% \prevdepth\@tempdima \endgroup\else - \caption@Warning{Internal Warning: Vertical TeX mode expected}% + \caption@Debug{hypcap anchor: #1 (horizontal mode)}% \caption@anchor{#1}% \fi}% % \end{macrocode} @@ -5754,7 +5914,7 @@ \let\caption@ORI@setfloatcapt\caption@setfloatcapt \renewcommand*\caption@setfloatcapt{% \ifx\caption@currentHref\@undefined \else - \let\caption@@anchor\@firstofone + \let\caption@makeanchor\@firstofone \fi \caption@ORI@setfloatcapt}}% % \end{macrocode} @@ -5839,30 +5999,58 @@ % \end{macrocode} % % \begin{macro}{\lst@MakeCaption} +% \changes{v3.1g}{2008/01/20}{Bugfix: Skips are handled correctly now} % To support the \package{listings} package we need to redefine % |\lst@MakeCaption| so the original stuff is nested with -% |\caption@begin| and |\caption@end|. +% |\caption@begin| and |\caption@end| etc. +% \Note{This macro is always called twice (with `t' resp. `b' as +% parameter), therefore we need an extra group here.} % \begin{macrocode} \let\caption@ORI@lst@MakeCaption\lst@MakeCaption - \def\lst@MakeCaption#1{% - \caption@setoptions{lstlisting}% + \def\lst@MakeCaption#1{% #1 is `t' or `b' + \begingroup % \end{macrocode} -% -% If the |position=| is set to |auto|, we take over the |captionpos=| setting -% from the \package{listings} package. -% Note that we won't do this otherwise, so \package{listings} settings like -% |abovecaptionskip=0pt,belowcaptionskip=10pt,captionpos=t| will \emph{not} -% cause different outputs with or without \thispackage\ loaded. +% First of all, we set |position=#1| and if it was set to `top', +% we swap the skips so the default behavior of the \package{listings} package +% will not be changed. (Note that the \package{listings} package has set its +% own |\abovecaptionskip| \& |\belowcaptionskip| values prior to calling +% \cs{lst@MakeCaption}.) % \begin{macrocode} - \caption@setautoposition{#1}% + \caption@setposition{#1}% + \caption@iftop{% + \@tempdima\belowcaptionskip + \belowcaptionskip\abovecaptionskip + \abovecaptionskip\@tempdima}{}% % \end{macrocode} +% Afterwards we set the local `lstlisting' options. +% \begin{macrocode} + \caption@setoptions{lstlisting}% +% \end{macrocode} +% If the |position=| is now set to |auto|, we take over the |captionpos=| +% setting from the \package{listings} package. +% \begin{macrocode} + \caption@setautoposition{#1}% +% \end{macrocode} +% At the end we do similar stuff as in our \cs{@caption} code. +% \begin{macrocode} + \caption@begin{lstlisting}% + \caption@ORI@lst@MakeCaption{#1}% + \caption@end +% \end{macrocode} +% \begin{macrocode} + \endgroup}% +% \end{macrocode} +% \end{macro} % +% \begin{macro}{\lst@makecaption} +% \begin{macro}{\lst@maketitle} +% Wrapper macros for typesetting the |caption=| resp. |title=| value. % \begin{macrocode} - \caption@begin{lstlisting}% - \caption@ORI@lst@MakeCaption{#1}% - \caption@end}% + \def\lst@makecaption{\caption@starfalse\@makecaption}% + \def\lst@maketitle{\caption@startrue\@makecaption\@empty}% % \end{macrocode} % \end{macro} +% \end{macro} % % \begin{macro}{\ext@lstlisting} % Since the \package{listings} package do not define |\ext@lstlisting|, @@ -5901,6 +6089,7 @@ % \changes{v3.1}{2007/07/22}{This redefinition added} % \changes{v3.1a}{2007/09/14}{Bugfix 07-09-14: Redefinition of \cs{@captionabovetrue} \& \cs{@captionabovefalse} added} % \changes{v3.1a}{2007/09/16}{Bugfix: This redefinition will always be done \cs{AtBeginDocument}} +% \changes{v3.1g}{2008/01/20}{Bugfix in \cs{captionlistentry}: Table counter will not be incremented anymore, \cs{nameref} works} % We redefine |\LT@array| here to get |\captionsetup|\marg{options} % working inside |longtable|s. % \Note{Since the \package{hyperref} package patches \cs{LT@array} as well @@ -5915,9 +6104,12 @@ % |\captionsetup| for longtable: % \begin{macrocode} \global\let\caption@opt@@longtable\@undefined - \def\captionsetup##1{\noalign{\LT@captionsetup{##1}}}% + \def\captionsetup{% + \noalign\bgroup + \@ifstar\@captionsetup\@captionsetup}% gobble * + \def\@captionsetup##1{\LT@captionsetup{##1}\egroup}% \def\LT@captionsetup##1{% - \@captionsetup\@gobble[@longtable]{##1}% + \captionsetup@startrue\caption@setup@options[@longtable]{##1}% \global\let\caption@opt@@longtable\caption@opt@@longtable}% % \end{macrocode} % |\captionabove| \& |\captionbelow| for longtable: (\KOMAScript\ document class) @@ -5927,8 +6119,12 @@ % \end{macrocode} % |\captionlistentry| for longtable: % \begin{macrocode} - \def\captionlistentry##1{\noalign{% - \caption@listentry[\LTcaptype]{##1}}}% + \def\captionlistentry{% + \noalign\bgroup + \@ifstar{\egroup\LT@captionlistentry}% gobble * + {\egroup\LT@captionlistentry}}% + \def\LT@captionlistentry##1{% + \caption@listentry\@firstoftwo[\LTcaptype]{##1}}% % \end{macrocode} % |\ContinuedFloat| for longtable:\\ % {\small(Commented out, since it's not deeply tested and quite useless anyway)} @@ -5969,6 +6165,7 @@ % \end{macro} % % \begin{macro}{\LT@c@ption} +% \changes{v3.1g}{2008/01/22}{Made it \cs{long}} % The original implementation: % \begin{verbatim} % \def\LT@c@ption#1[#2]#3{% @@ -5981,10 +6178,9 @@ % \end{verbatim}%^^A % Our implementation uses |\LTcaptype| instead of |{table}|: % \begin{macrocode} - \def\LT@c@ption#1[#2]#3{% + \long\def\LT@c@ption#1[#2]#3{% \LT@makecaption#1{\csname fnum@\LTcaptype\endcsname}{#3}% - \def\@currentlabelname{#2}% - \caption@addcontentsline\LTcaptype{#2}}% + \LT@captionlistentry{#2}}% % \end{macrocode} % \end{macro} % @@ -6017,11 +6213,6 @@ \caption@LT@make{% % \end{macrocode} % -% We set |\ifcaption@star| according the 1st argument. -% \begin{macrocode} - \caption@startrue#1\caption@starfalse -% \end{macrocode} -% % If |\LTcapwidth| is not set to its default value |4in| we assume % that it shall overwrite our own setting. % (But |\captionsetup[longtable]{width=|\ldots|}| will overwrite |\LTcapwidth|.) @@ -6049,6 +6240,11 @@ \caption@setautoposition{\ifcase\LT@rows t\else b\fi}% % \end{macrocode} % +% We set |\ifcaption@star| according the 1st argument. +% \begin{macrocode} + \caption@startrue#1\caption@starfalse +% \end{macrocode} +% % \changes{v3.1}{2007/05/05}{\cs{caption@normalsize} added} % \begin{macrocode} \caption@resetContinuedFloat\LTcaptype diff --git a/Master/texmf-dist/source/latex/caption/caption.ins b/Master/texmf-dist/source/latex/caption/caption.ins index d950ea13334..a28bedba27c 100644 --- a/Master/texmf-dist/source/latex/caption/caption.ins +++ b/Master/texmf-dist/source/latex/caption/caption.ins @@ -6,7 +6,7 @@ \preamble -Copyright (C) 1994-2007 Axel Sommerfeldt (caption@sommerfee.de) +Copyright (C) 1994-2008 Axel Sommerfeldt (caption@sommerfee.de) -------------------------------------------------------------------------- diff --git a/Master/texmf-dist/source/latex/caption/ltcaption.dtx b/Master/texmf-dist/source/latex/caption/ltcaption.dtx index 31bcfcb3d35..2b77a784b5d 100644 --- a/Master/texmf-dist/source/latex/caption/ltcaption.dtx +++ b/Master/texmf-dist/source/latex/caption/ltcaption.dtx @@ -2,7 +2,7 @@ % % This is file `ltcaption.dtx'. % -% Copyright (C) 2007 Axel Sommerfeldt (caption@sommerfee.de) +% Copyright (C) 2007-2008 Axel Sommerfeldt (caption@sommerfee.de) % % -------------------------------------------------------------------------- % @@ -24,7 +24,7 @@ % user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. % % \fi -% \CheckSum{333} +% \CheckSum{336} % % \iffalse %<*driver> @@ -45,6 +45,7 @@ % \addtolength\marginparwidth{15pt} \fi % +\usepackage[bottom]{footmisc} \usepackage{longtable} \makeatletter\let\LT@makecaption@ORI\LT@makecaption\makeatother % @@ -438,7 +439,7 @@ % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{ltcaption}[2007/09/01 v1.1 longtable captions (AR)] +\ProvidesPackage{ltcaption}[2008/03/21 v1.1a longtable captions (AR)] % \end{macrocode} % % \subsection{User interface} @@ -509,6 +510,7 @@ % \subsection{The longtable patch} % % \begin{macro}{\LT@array} +% \changes{v1.1a}{2008/03/21}{Improved redefinition of \cs{refstepcounter} etc.} % We insert our stuff into the definition of |\LT@array| here. % Since the \package{hyperref} package patches |\LT@array| as well % and since this only works with the original definition of |\LT@array|, @@ -521,25 +523,18 @@ \let\ltcaption@ORI@LT@array\LT@array \renewcommand*\LT@array{% % \end{macrocode} -% We modify the next |\refstepcounter| resp. |\H@refstepcounter| \& -% |\hyper@makecurrent|, so |\LTcaptype| is used instead of |{table}|. +% We modify |\ref|\-|step|\-|counter| resp.~|\H@ref|\-|step|\-|counter| and +% |\hyper@make|\-|current|, so |\LT|\-|cap|\-|type| is used instead of |table|. % \begin{macrocode} - \let\ltcaption@ORI@refstepcounter\refstepcounter - \let\ltcaption@ORI@H@refstepcounter\H@refstepcounter - \def\refstepcounter##1{% - \let\refstepcounter\ltcaption@ORI@refstepcounter - \let\H@refstepcounter\ltcaption@ORI@H@refstepcounter - \refstepcounter\LTcaptype}% - \def\H@refstepcounter##1{% - \let\refstepcounter\ltcaption@ORI@refstepcounter - \let\H@refstepcounter\ltcaption@ORI@H@refstepcounter - \H@refstepcounter\LTcaptype}% -% \end{macrocode} -% \begin{macrocode} - \let\ltcaption@ORI@hyper@makecurrent\hyper@makecurrent - \def\hyper@makecurrent##1{% - \let\hyper@makecurrent\ltcaption@ORI@hyper@makecurrent - \hyper@makecurrent\LTcaptype}% + \let\caption@LT@refstepcounter\refstepcounter + \def\refstepcounter{% + \caption@LTtype\caption@LT@refstepcounter}% + \let\caption@LT@Hrefstepcounter\H@refstepcounter + \def\H@refstepcounter{% + \caption@LTtype\caption@LT@Hrefstepcounter}% + \let\caption@LT@makecurrent\hyper@makecurrent + \def\hyper@makecurrent{% + \caption@LTtype\caption@LT@makecurrent}% % \end{macrocode} % We redefine |\lst@@caption| so |\thelstlisting| will % printout its counter, too. @@ -552,9 +547,26 @@ % \begin{macrocode} } % \end{macrocode} +% \begin{macrocode} +\newcommand*\caption@LTtype[2]{% + \edef\caption@LT@tempa{#2}% + \ifx\caption@LT@tempa\caption@LT@table + \caption@LT@type#1% + \else + #1{#2}% + \fi}% +% \end{macrocode} +% \begin{macrocode} +\newcommand*\caption@LT@type[1]{% + \expandafter#1\expandafter{\LTcaptype}} +% \end{macrocode} +% \begin{macrocode} +\newcommand*\caption@LT@table{table}% +% \end{macrocode} % \end{macro} % % \begin{macro}{\LT@c@ption} +% \changes{v1.1a}{2008/01/22}{Made it \cs{long}} % The original implementation: % \begin{verbatim} % \def\LT@c@ption#1[#2]#3{% @@ -567,7 +579,7 @@ % \end{verbatim}%^^A % Our implementation simply uses |\LTcaptype| instead of |{table}|: % \begin{macrocode} -\def\LT@c@ption#1[#2]#3{% +\long\def\LT@c@ption#1[#2]#3{% \LT@makecaption#1{\csname fnum@\LTcaptype\endcsname}{#3}% \def\@tempa{#2}% \ifx\@tempa\@empty\else @@ -737,14 +749,26 @@ % \changes{v1.1}{2007/09/01}{Environment \env{longtable*} added} % % \begin{environment}{longtable*} -% We simply supress anything which has to do with reference counters -% or hyper links here. -% \begin{macrocode} -\newenvironment{longtable*}% - {\let\refstepcounter\@gobble - \let\H@refstepcounter\@gobble - \let\hyper@makecurrent\@gobble - \let\Hy@raisedlink\@gobble +% \changes{v1.1a}{2008/03/21}{Improved redefinition of \cs{refstepcounter} etc.} +% A |longtable| environment without reference counter and hyperlink anchors. +% \begin{macrocode} +\newenvironment{longtable*}{% +% \end{macrocode} +% We simply supress anything which has to do with reference counters here. +% \begin{macrocode} + \let\caption@LT@type\@gobble +% \end{macrocode} +% Unfortunately this is not so easy with |\Hy@raisedlink| (which actually sets +% the hyperlink anchor), so we assume that we have to supress the first usage. +% \begin{macrocode} + \let\caption@LT@raisedlink\Hy@raisedlink + \def\Hy@raisedlink{% + \let\Hy@raisedlink\caption@LT@raisedlink + \@gobble}% +% \end{macrocode} +% Finally we are redefining |\caption| so the non-starred variant +% issues an error. +% \begin{macrocode} \let\ltcaption@ORI@LT@c@ption\LT@c@ption \def\LT@c@ption##1[##2]##3{% \ifx##1\@firstofone @@ -756,8 +780,10 @@ \else \ltcaption@ORI@LT@c@ption{##1}[{##2}]{##3}% \fi}% - \longtable}% - {\endlongtable} +% \end{macrocode} +% \begin{macrocode} + \longtable}% + {\endlongtable} % \end{macrocode} % \end{environment} % diff --git a/Master/texmf-dist/source/latex/caption/subcaption.dtx b/Master/texmf-dist/source/latex/caption/subcaption.dtx index 0aa97c2b03b..6a8d6b6e17f 100644 --- a/Master/texmf-dist/source/latex/caption/subcaption.dtx +++ b/Master/texmf-dist/source/latex/caption/subcaption.dtx @@ -2,7 +2,7 @@ % % This is file `subcaption.dtx'. % -% Copyright (C) 2007 Axel Sommerfeldt (caption@sommerfee.de) +% Copyright (C) 2007-2008 Axel Sommerfeldt (caption@sommerfee.de) % % -------------------------------------------------------------------------- % @@ -29,7 +29,7 @@ % \iffalse %<*driver> \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesFile{subcaption.drv}[2007/12/06 v0.3 Adds a sub-caption feature to the caption package] +\ProvidesFile{subcaption.drv}[2008/01/12 v0.3 Adds a sub-caption feature to the caption package] \hbadness=9999 \newcount\hbadness \hfuzz=74pt % Make TeX shut up. %\errorcontextlines=3 % @@ -37,19 +37,22 @@ \setlength\parindent{0pt} \setlength\parskip{\smallskipamount} % +\newcommand\LineBreak{\linebreak[3]} +\newcommand\PageBreak{\pagebreak[3]} \usepackage{ifpdf} \ifpdf - \usepackage{mathptmx,courier} - \usepackage[scaled=0.90]{helvet} - \addtolength\marginparwidth{15pt} + \usepackage{mathptmx,courier} + \usepackage[scaled=0.90]{helvet} + \addtolength\marginparwidth{15pt} + \ifdim\paperheight=297mm % a4paper + \renewcommand\LineBreak{\\} + \renewcommand\PageBreak{\clearpage} + \fi \fi % -\usepackage{array,slashbox} -\IfFileExists{cat.eps}% - {\usepackage{graphicx}}% - {\IfFileExists{test/tlc2/cat.eps}% - {\usepackage{graphicx}\graphicspath{{test/tlc2/}}}% - {\usepackage[demo]{graphicx}}} +\usepackage[bottom]{footmisc} +\usepackage{array,graphicx,pict2e,slashbox} +\IfFileExists{test/tlc2/cat.eps}{\graphicspath{{test/tlc2/}}}{}% % \usepackage{hypdoc} \ifpdf\usepackage{hypdestopt}\fi @@ -69,8 +72,7 @@ \newcommand*\csmarg[1]{\texttt{\char`\{#1\char`\}}} \newcommand*\csoarg[1]{\texttt{\char`\[#1\char`\]}} \newcommand*\version[2][]{$v#2$} -\newcommand*\x{\discretionary{-}{}{}} -\newcommand*\xx{\discretionary{}{}{}} +\newcommand*\x{\discretionary{}{}{}} % \usepackage{marvosym} \newcommand*\MARGINSYM[1]{\hskip 1sp \marginpar{\raggedleft\textcolor{blue}{{#1}}}} @@ -121,14 +123,14 @@ % % \subsection*{Introduction} % \begin{info*} -% Prepared with either |\Declare|\x|Caption|\x|Sub|\x|Type| (offered by the -% \package{caption} package) or |\new|\x|sub|\x|float| (offered by the +% Prepared with either |\Declare|\-|Caption|\-|Sub|\-|Type| (offered by the +% \package{caption} package) or |\new|\-|sub|\-|float| (offered by the % \package{subfig} package), the caption package option |subtype| becames % available, causing |\caption| to typeset a sub-caption instead of an % ordinary one.\par -% This package demonstrates the usage of |\Declare|\x|Caption|\x|Sub|\x|Type|, -% |\caption|\x|setup{sub|\x|type}|, and the internal hook -% |\caption@sub|\x|type|\x|hook|. +% This package demonstrates the usage of |\Declare|\-|Caption|\-|Sub|\-|Type|, +% |\caption|\-|setup{sub|\-|type}|, and the internal hook +% |\caption@sub|\-|type|\-|hook|. % \end{info*} % % \setcounter{tocdepth}{2} @@ -166,15 +168,18 @@ % The default settings for |sub|captions are: % \begin{quote} % |margin=0pt,font+=small,labelformat=parens,labelsep=space,|\\ -% |skip=6pt,list=false,hypcap=false| +% |skip=6pt,list=false,hypcap=false|~\footnote{%^^A +% This means that sub-captions are not listed in the List of Figures +% or Tables by default, but (of course) you can enable that by +% specifying the option \texttt{list=true}.} % \end{quote} % -% Options specified with |\usepackage[|\ldots|]{subcaption}| and -% |\captionsetup[sub]{|\ldots|}| will override the ones specified by -% |\captionsetup{|\ldots|}| and |\captionsetup[figure]{|\ldots|}|, -% but are again overwritten by |\captionsetup[subfigure]{|\ldots|}| +% Options specified with |\usepackage[|\ldots|]{sub|\-|caption}| and +% |\caption|\-|setup[sub]{|\ldots|}| will override the ones specified by +% |\caption|\-|setup{|\ldots|}| and |\caption|\-|setup[figure]{|\ldots|}|, +% but are again overwritten by |\caption|\-|setup[sub|\-|figure]{|\ldots|}| % (same for `table'). So finally we have the following order how -% settings for subcaptions are applied: +% settings for sub-captions are applied: % \begin{enumerate} % \item global settings % {\small(|\usepackage[|\ldots|]{caption}| and |\captionsetup{|\ldots|}|)} @@ -206,7 +211,7 @@ % |labelfont=bf,list=true,textfont=sf|\quad. % \end{quote} % -% \vfill\clearpage +% \PageBreak % \subsection{The \cs{subcaption} command} % % \DescribeMacro\subcaption @@ -253,18 +258,18 @@ % % \begin{info} % Actually the |\subcaption| command is just a simple combination of -% |\caption|\x|setup{sub|\x|type*}| and |\caption|. +% |\caption|\-|setup{sub|\-|type*}| and |\caption|. % Analogous to the |type| option, the |subtype| option (both offered by the % \package{caption} package) sets the sub-type of the box or environment % (so |\caption| will typeset a sub-caption instead of an ordinary one), % places a proper hyperlink anchor (non-starred variant only), -% executes options associated with the sub-type etc.\iffalse\footnote{\emph{Note:} +% executes options associated with the sub-type etc.\iffalse~\footnote{\emph{Note:} % Since \cs{captionsetup}\csmarg{subtype} is part of the \package{caption} % package, it works in coorparation with the \package{subfig} package as % well.}\fi % \end{info} % -% \vfill\clearpage +% \PageBreak % \subsection{The subfigure \& subtable environments} % % \DescribeEnv{subfigure} @@ -312,18 +317,18 @@ % % \begin{info} % The |subfigure| \& |subtable| environments are just simple minipage -% environments with |\caption|\x|setup|\xx|{subtype}| as first contents line. +% environments with |\caption|\-|setup|\x|{subtype}| as first contents line. % These environments are defined with the help of % |\caption@For{subtypelist}|, which executes code for every sub-type % declared with |\DeclareCaptionSubType|. % \end{info} % -% \vfill\clearpage +% \PageBreak % \subsection{The \cs{subcaptionbox} command} % % \DescribeMacro\subcaptionbox % A more powerful (but less flexible) way of setting sub-figures is -% offered by the |\subcaptionbox| command. Its syntax is: +% offered by the |\sub|\-|caption|\-|box| command. Its syntax is: % \begingroup % \leftmargini=12pt % \begin{quote} @@ -334,20 +339,21 @@ % \begin{small} % The arguments \meta{list entry} \& \meta{heading} will be used for % typesetting the |\caption|.\par -% \meta{width} is the width of the resulting |\parbox|; the default value is +% \meta{width} is the width of the resulting |\par|\-|box|; the default value is % the width of the contents.\par % \meta{inner-pos} specifies how the contents will be justified inside the % resulting |\parbox|; -% it can be either `c' (for |\centering|), `l' (for |\raggedright|), -% `r' (for |\raggedleft|), or `s' (for no special justification). +% it can be either `c' (for |\centering|), `l' (for |\ragged|\-|right|), +% `r' (for |\ragged|\-|left|), or `s' (for no special justification). % The default is `c'. % (But you can use any justification defined with -% |\DeclareCaptionJustification| as well, e.g.~`|centerlast|'.) +% |\Declare|\-|Caption|\-|Jus|\-|ti|\-|fi|\-|ca|\-|tion| as well, +% e.g.~`|center|\-|last|'.) % \end{small} % % \bigskip % -% Using |\subcaptionbox|, the baseline of the resulting box will be placed +% Using |\sub|\-|caption|\-|box|, the baseline of the resulting box will be placed % right between contents and heading, so usually you don't have to care about the % vertical alignment of the sub-figures for yourself. % Also the hyperlink anchor is placed properly with respect to the |hypcap=| @@ -381,8 +387,8 @@ % % As you see the result is not satisfying; % the caption below the cat looks ugly because of the small width of the -% graphic. This can be solved by using the optional arguments of |\captionbox|, -% increasing the width of the resulting box: +% graphic. This can be solved by using the optional arguments of +% |\caption|\-|box|, increasing the width of the resulting box: % \begin{quote} % | |\ldots\\ % | \subcaptionbox{A cat\label{cat}}|\\ @@ -402,9 +408,9 @@ % \bigskip % % Furthermore the main caption, which is centered with respect to the -% |\textwidth|, looks mis-aligned with respect to the sub-captions. -% This can (again) be solved by using the optional arguments of |\captionbox|, -% giving both boxes the same width, for example: +% |\text|\-|width|, looks mis-aligned with respect to the sub-captions. +% This can (again) be solved by using the optional arguments of +% |\caption|\-|box|, giving both boxes the same width, for example: % \begin{quote} % | |\ldots\\ % | \subcaptionbox{A cat\label{cat}}|\\ @@ -426,11 +432,12 @@ % \bigskip % % \begin{info} -% The |\subcaptionbox| is a |\parbox| with |\caption|\x|setup|\xx|{subtype}| -% as first contents line. \iffalse See implementation for details.\fi +% The |\sub|\-|caption|\-|box| is a |\par|\-|box| with +% |\caption|\-|setup{sub|\-|type}| as first contents line. +% \iffalse See implementation for details.\fi % \end{info} % -% \vfill\clearpage +% \PageBreak % \subsection{The \cs{subref} command} % % While |\ref|\marg{key} (and |\ref*|\marg{key}, if the \package{hyperref} @@ -449,15 +456,16 @@ % % \begin{small} % \emph{Note:} If the sub-caption was defined with the starred variant -% |\DeclareCaptionSubType*|, both |\ref| and |\subref| gives the same result. +% |\Declare|\-|Caption|\-|Sub|\-|Type*|, both |\ref| and |\sub|\-|ref| gives +% the same result. % \end{small} % % \begin{info} -% The |\subref| command demonstrates the usage of |\caption@subtypehook| -% which will be called during |\captionsetup{subtype}|. +% The |\sub|\-|ref| command demonstrates the usage of |\caption@sub|\-|type|\-|hook| +% which will be called during |\caption|\-|setup{sub|\-|type}|. % \end{info} % -% \iffalse\vfill\clearpage\fi +% \pagebreak[3] % \subsection{The \cs{DeclareCaptionSubType} command} % % \DescribeMacro\DeclareCaptionSubType @@ -470,9 +478,9 @@ % |\DeclareCaptionSubType*|\oarg{numbering scheme}\marg{type} % \end{quote} % For the environments |figure| \& |table| (and all the ones -% defined with |\Declare|\x|Caption|\x|Type|) this will be done automatically +% defined with |\Declare|\-|Caption|\-|Type|) this will be done automatically % by this package, but for others (e.g.~defined with |\newfloat| offered by the -% \package{float} package or |\Declare|\x|New|\x|Float|\x|Type| offered by the +% \package{float} package or |\Declare|\-|New|\-|Float|\-|Type| offered by the % \package{floatrow} package) this has to be done manually. % % \medskip @@ -513,11 +521,11 @@ % \end{minipage} % % \begin{info} -% |\DeclareCaptionSubType| is an integral part of the \package{caption} +% |\Declare|\-|Caption|\-|Sub|\-|Type| is an integral part of the \package{caption} % package kernel. % \end{info} % -% \iffalse\vfill\clearpage\fi +% \pagebreak[3] % \subsection{Where do hyperlinks jump?} % \label{hypcap} % @@ -566,6 +574,19 @@ % --------------------------------------------------------------------------- % % \fi % +% \pagebreak[3] +% \section{Beyond this package} +% \label{floatrow} +% +% For a more advanced usage of the sub-caption feature of the +% \package{caption} package, please take a look at the \package{floatrow} +% package\cite{floatrow} which provides the powerful \texttt{subfloatrow} +% environment for typesetting sub-figures. +% +% \iffalse +% --------------------------------------------------------------------------- % +% \fi +% % \pagebreak[2] % \section{Thanks} % @@ -583,13 +604,11 @@ % Frank Mittelbach and Michel Goossens:\\ % \newblock {\em The {\LaTeX} Companion (2nd.~Ed.)}, % \newblock Addison-Wesley, 2004. -% \iffalse % \bibitem{floatrow} % Olga Lapko:\\ % \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/floatrow/}% % {\emph{The floatrow package documentation}}, -% 2007/08/24 -% \fi +% 2007/12/24 % \bibitem{hyperref} % Sebastian Rahtz \& Heiko Oberdiek:\\ % \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/hyperref/}% @@ -669,7 +688,7 @@ % --------------------------------------------------------------------------- % % \fi % -% \vfill\clearpage +% \clearpage % \section{The implementation} % \iffalse %<*package> @@ -755,9 +774,9 @@ % \begin{macro}{subtable} % This is just an ordinary \env{minipage} environment with % |\captionsetup{subtype}| as first contents line. -% It will be defined using the helper macro |\caption@For{sub|\x|type|\x|list}| +% It will be defined using the helper macro |\caption@For{sub|\-|type|\-|list}| % offered by the \package{caption} kernel, so for every caption type -% declared with |\Declare|\x|Caption|\x|Type| a corresponding `sub' environment +% declared with |\Declare|\-|Caption|\-|Type| a corresponding `sub' environment % will be defined automatically. % \begin{macrocode} \caption@For{subtypelist}{% diff --git a/Master/texmf-dist/tex/latex/caption/caption.sty b/Master/texmf-dist/tex/latex/caption/caption.sty index 2ca6b650286..3836fa359dc 100644 --- a/Master/texmf-dist/tex/latex/caption/caption.sty +++ b/Master/texmf-dist/tex/latex/caption/caption.sty @@ -6,7 +6,7 @@ %% %% caption.dtx (with options: `package') %% -%% Copyright (C) 1994-2007 Axel Sommerfeldt (caption@sommerfee.de) +%% Copyright (C) 1994-2008 Axel Sommerfeldt (caption@sommerfee.de) %% %% -------------------------------------------------------------------------- %% @@ -28,10 +28,10 @@ %% user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption}[2007/12/23 v3.1f Customizing captions (AR)] +\ProvidesPackage{caption}[2008/03/20 v3.1g Customizing captions (AR)] \newcommand*\caption@Info[1]{\PackageInfo{caption}{#1\@gobble}} \@onlypreamble\caption@Info -\RequirePackage{caption3}[2007/12/21] % needs v3.1f or newer +\RequirePackage{caption3}[2008/03/01] % needs v3.1g \@ifpackageloaded{caption2}{% \caption@Error{% You can't use both, the (obsolete) caption2 *and*\MessageBreak @@ -44,7 +44,7 @@ }{}% \@ifpackageloaded{nonfloat}{% \caption@IncompatiblePackage{nonfloat}{.\MessageBreak - Furthermore you could use \noexpand\captionof instead of\MessageBreak + Furthermore you should use \noexpand\captionof instead of\MessageBreak \noexpand\figcaption or \string\tabcaption}% }{}% \@ifpackageloaded{topcapt}{% @@ -57,7 +57,9 @@ caption package is strongly not recommended.\MessageBreak Instead of loading the #1 package you should\MessageBreak use the caption package option\MessageBreak - \space\space`tableposition=top'#2}} + \space\space`tableposition=top'#2}% + \caption@Info{Setting position=b for compatibility reasons}% + \caption@setposition b} \@onlypreamble\caption@IncompatiblePackage \caption@ifbool{documentclass}{}{% \PackageWarningNoLine{caption}{% @@ -71,8 +73,8 @@ } \@ifundefined{scr@caption}{}{% \caption@Info{KOMA-Script document class}% - \def\@tablecaptionabovetrue{\captionsetup*[table]{position=t}} - \def\@tablecaptionabovefalse{\captionsetup*[table]{position=b}} + \g@addto@macro\@tablecaptionabovetrue{\captionsetup*[table]{position=t}} + \g@addto@macro\@tablecaptionabovefalse{\captionsetup*[table]{position=b}} \if@tablecaptionabove \caption@AtBeginDocument{% \def\caption@tempa#1{% @@ -87,15 +89,15 @@ \else \@tablecaptionabovefalse \fi - \def\onelinecaptionstrue{\let\caption@ifslc\@firstoftwo} - \def\onelinecaptionsfalse{\let\caption@ifslc\@secondoftwo} + \g@addto@macro\onelinecaptionstrue{\let\caption@ifslc\@firstoftwo} + \g@addto@macro\onelinecaptionsfalse{\let\caption@ifslc\@secondoftwo} \ifonelinecaptions \onelinecaptionstrue \else \onelinecaptionsfalse \fi - \def\@captionabovetrue{\let\caption@position\@firstoftwo} - \def\@captionabovefalse{\let\caption@position\@secondoftwo} + \g@addto@macro\@captionabovetrue{\let\caption@position\@firstoftwo} + \g@addto@macro\@captionabovefalse{\let\caption@position\@secondoftwo} \let\caption@KOMA@setcapindent\@setcapindent \renewcommand*\@setcapindent[1]{% \caption@KOMA@setcapindent{#1}\caption@setcapindent} @@ -164,19 +166,21 @@ \caption@tempa{topcapt}}% \captionsetup*[table]{position=#1}} \@onlypreamble@key{caption}{tableposition} -\DeclareCaptionOption{figurename}{\caption@SetFloatName{figure}{#1}} -\DeclareCaptionOption{tablename}{\caption@SetFloatName{table}{#1}} -\DeclareCaptionOption{name}{\caption@setfloatname\@captype{#1}} -\newcommand*\caption@SetFloatName[2]{% +\DeclareCaptionOption{figurename}{\caption@SetName{figure}{#1}} +\DeclareCaptionOption{tablename}{\caption@SetName{table}{#1}} +\DeclareCaptionOption{name}{\caption@setname\@captype{#1}} +\DeclareCaptionOption{listfigurename}{\caption@SetName{listfigure}{#1}} +\DeclareCaptionOption{listtablename}{\caption@SetName{listtable}{#1}} +\newcommand*\caption@SetName[2]{% \begingroup \def\@tempa{\endgroup\@firstofone}% \@ifundefined{languagename}{}{% \@ifundefined{captions\languagename}{}{% \def\@tempa{\endgroup \expandafter\addto\csname captions\languagename\endcsname}}}% - \@tempa{\caption@setfloatname{#1}{#2}}} -\newcommand*\caption@setfloatname[2]{\@namedef{#1name}{#2}} -\caption@AtBeginDocument{\let\caption@SetFloatName\caption@setfloatname} + \@tempa{\caption@setname{#1}{#2}}} +\newcommand*\caption@setname[2]{\@namedef{#1name}{#2}} +\caption@AtBeginDocument{\let\caption@SetName\caption@setname} \DeclareCaptionOption{figurewithin}{\caption@Within{figure}{#1}} \@onlypreamble@key{caption}{figurewithin} \DeclareCaptionOption{figurewithout}{\caption@Within{figure}{none}} @@ -286,7 +290,7 @@ \@backslashchar#1captionof}{}}% \edef\@tempa{#3}% \expandafter\ifx\csname @#1captype\endcsname\@tempa \else - \@nameuse{caption@#1type@warning}% + \ifcaptionsetup@star\else\@nameuse{caption@#1type@warning}\fi \fi \expandafter\let\csname @#1captype\endcsname\@tempa \@nameuse{caption@#1typehook}% @@ -338,33 +342,52 @@ \def\captionof{\caption@teststar\caption@of{\caption*}\caption}} \newcommand*\caption@of[2]{\caption@settype*{#2}#1} \newcommand*\captionlistentry{% - \@testopt\caption@listentry\@captype} -\def\caption@listentry[#1]#2{% + \caption@teststar\@captionlistentry\@firstoftwo\@secondoftwo} +\newcommand*\@captionlistentry[1]{% + \@testopt{\caption@listentry{#1}}\@captype} +\def\caption@listentry#1[#2]#3{% \@bsphack - \caption@refstepcounter{#1}% - \caption@makecurrent{#1}{#2}% - \caption@addcontentsline{#1}{#2}% + #1{\def\@currentlabelname{#3}}% + {\caption@refstepcounter{#2}% + \caption@makecurrent{#2}{#3}}% + \caption@addcontentsline{#2}{#3}% \@esphack} \def\ContinuedFloat{% - \@ifnextchar[\@ContinuedFloat{% - \caption@iftype - {\addtocounter\@captype\m@ne - \caption@ContinuedFloat\@captype}% - {\caption@Error{\noexpand\ContinuedFloat outside float}}}} + \@ifnextchar[\@Continued@Float\@ContinuedFloat} +\def\@Continued@Float[#1]{\addtocounter{#1}\m@ne} +\def\@ContinuedFloat{% + \caption@iftype + {\addtocounter\@captype\m@ne + \caption@ContinuedFloat\@captype}% + {\caption@Error{\noexpand\ContinuedFloat outside float}}} \def\caption@ContinuedFloat#1{% + \@ifstar{\caption@Continued@Float@{#1}}{\caption@Continued@Float{#1}}} +\def\caption@Continued@Float@{% + \addtocounter\@captype\@ne + \@stpelt{ContinuedFloat}\stepcounter{ContinuedFloat}% + \def\caption@resetContinuedFloat##1{\xdef\caption@CFtype{##1}}% + \caption@@ContinuedFloat} +\def\caption@Continued@Float#1{% \edef\@tempa{#1}% - \ifx\@tempa\caption@CFtype \else + \ifx\@tempa\caption@CFtype + \stepcounter{ContinuedFloat}% + \let\caption@resetContinuedFloat\@gobble + \caption@@ContinuedFloat{#1}% + \sf@ContinuedFloat{#1}% + \else \caption@Error{Continued `#1' after `\caption@CFtype'}% - \fi - \stepcounter{ContinuedFloat}% - \caption@@ContinuedFloat{#1}% + \fi} +\def\caption@@ContinuedFloat#1{% + \expandafter\l@addto@macro\csname the#1\endcsname\theContinuedFloat + \@ifundefined{theH#1}{}{% + \expandafter\l@addto@macro\csname theH#1\endcsname{% + \@alph\c@ContinuedFloat}}% \caption@setoptions{ContinuedFloat}% - \caption@setoptions{continued#1}% - \let\caption@resetContinuedFloat\@gobble} -\def\@ContinuedFloat[#1]{\addtocounter{#1}\m@ne} -\newcounter{ContinuedFloat} + \caption@setoptions{continued#1}} +\providecommand*\sf@ContinuedFloat[1]{} \newcommand*\caption@CFtype{??} -\newcommand*\caption@@ContinuedFloat[1]{} +\newcounter{ContinuedFloat} +\let\theContinuedFloat\@empty \newcommand*\caption@resetContinuedFloat[1]{% \@stpelt{ContinuedFloat}\xdef\caption@CFtype{#1}} \newcommand*\caption@refstepcounter[1]{% @@ -409,7 +432,7 @@ \caption@font*{\KV@caption@fnt@normal\@unused}} \let\caption@setfloatcapt\@firstofone \newcommand*\caption@makecurrent[2]{} -\let\caption@@anchor\@firstofone +\let\caption@makeanchor\@firstofone \let\caption@start\relax \let\caption@@start\relax \let\caption@freezeHref\relax @@ -654,8 +677,7 @@ \@ifstar{\global\caption@startrue#2[]}{#1#2}}% \long\def\@caption#1[#2]#3{% \ifcaption@star \else - \caption@makecurrent{#1}{#2}% - \caption@ifhypcap{\caption@@start}{}% + \caption@prepareanchor{#1}{#2}% \fi \par \caption@beginex{#1}{#2}{#3}% @@ -666,12 +688,15 @@ \fi \caption@normalsize \ifcaption@star - \let\caption@@anchor\@firstofone + \let\caption@makeanchor\@firstofone \fi \@makecaption{\csname fnum@#1\endcsname}% - {\ignorespaces\caption@@anchor{#3}}\par + {\ignorespaces\caption@makeanchor{#3}}\par \caption@if@minipage\@minipagetrue\@minipagefalse}% \caption@end}% + \newcommand*\caption@prepareanchor[2]{% + \caption@makecurrent{#1}{#2}% + \caption@ifhypcap\caption@@start{}} }% \caption@AtBeginDocument*{% \let\caption@ORI@capstart\@undefined @@ -687,7 +712,7 @@ \caption@iftop{\vskip\abovecaptionskip}{\vskip\belowcaptionskip}} \def\caption@DeclareSubType sub#1\@nil{% \caption@Debug{Initializing subtype for `#1'\@gobble}% - \@namedef{subcaption@value#1}{0}% + \@namedef{caption@c@#1}{0}% \@namedef{caption@beginsub#1}{\caption@beginsubfloat{#1}}} \@onlypreamble\caption@DeclareSubType \caption@For*{subtypelist}{\caption@DeclareSubType sub#1\@nil} @@ -701,10 +726,10 @@ % no \caption or \subcaption in this (floating) environment yet \caption@Debug{Increment \@captype\ counter =\the\value\@captype}% \caption@l@stepcounter\@captype - \let\addcontentsline\subcaption@addcontentsline}% - \ifnum\csname subcaption@value\@captype\endcsname=\value\@captype \else + \let\addcontentsline\caption@addsubcontentsline}% + \ifnum\csname caption@c@\@captype\endcsname=\value\@captype \else \caption@Debug{Reset sub\@captype\ counter}% - \expandafter\xdef\csname subcaption@value\@captype\endcsname{% + \expandafter\xdef\csname caption@c@\@captype\endcsname{% \the\value\@captype}% \@stpelt\@subcaptype \fi @@ -713,6 +738,7 @@ \let\caption@addcontentsline\caption@kernel@addcontentsline \let\caption@setfloatcapt\@firstofone \caption@clearmargin + \caption@iflist{}{\let\caption@setlist\@gobble}% \caption@setoptions{sub}% \caption@setoptions{subfloat}% for subfig-package compatibility \let\caption\caption@subcaption @@ -729,35 +755,35 @@ \sf@ifpositiontop{\@listsubcaptions{#1}}{}% \caption@kernel@addcontentsline{#1}{#2}% \sf@ifpositiontop{}{\@listsubcaptions{#1}}% - \caption@addsubcontentslines{#1}} -\newcommand*\caption@addsubcontentslines[1]{% + \caption@addsubcontentslines} +\newcommand*\caption@addsubcontentslines{% \begingroup - \subcaption@addcontentslines + \caption@subcontentslines \endgroup - \subcaption@clearcontentslines}% + \caption@clearsubcontentslines}% \caption@AtBeginDocument*{% \@ifundefined{sf@ifpositiontop}{\let\sf@ifpositiontop\@gobbletwo}{}% - \subcaption@clearcontentslines - \g@addto@macro\caption@typehook{\subcaption@checkcontentslines}% - \AtEndDocument{\subcaption@checkcontentslines}}% -\newcommand*\subcaption@addcontentsline[3]{% + \caption@clearsubcontentslines + \g@addto@macro\caption@typehook{\caption@checksubcontentslines}% + \AtEndDocument{\caption@checksubcontentslines}}% +\newcommand*\caption@addsubcontentsline[3]{% \protected@edef\@tempa{% - \noexpand\g@addto@macro\noexpand\subcaption@addcontentslines{% + \noexpand\g@addto@macro\noexpand\caption@subcontentslines{% \noexpand\@namedef{the#2}{\csname the#2\endcsname}% \ifx\@currentHref\@undefined \else \noexpand\def\noexpand\@currentHref{\@currentHref}% \fi \protect\addcontentsline{#1}{#2}{#3}}}% \@tempa} -\newcommand*\subcaption@checkcontentslines{% - \ifx\subcaption@addcontentslines\@empty \else - \subcaption@Error{% +\newcommand*\caption@checksubcontentslines{% + \ifx\caption@subcontentslines\@empty \else + \caption@Error{% Something's wrong--perhaps a missing \protect\caption\MessageBreak in the last figure or table}% - \subcaption@clearcontentslines + \caption@clearsubcontentslines \fi} -\newcommand*\subcaption@clearcontentslines{% - \global\let\subcaption@addcontentslines\@empty} +\newcommand*\caption@clearsubcontentslines{% + \global\let\caption@subcontentslines\@empty} \@ifundefined{smf@makecaption}{}{\let\smf@makecaption\@makecaption} \@ifclassloaded{beamer}{% \caption@Info{beamer document class}% @@ -777,7 +803,7 @@ }{} \@ifundefined{scr@caption}{}{% \caption@AtBeginDocument{\let\scr@caption\caption}} -\@ifundefined{caption@frenchb}{}{\caption@frenchb} +\@nameuse{caption@frenchb}\@nameundef{caption@frenchb} \caption@AtBeginDocument{\@ifundefined{frenchTeXmods}{}{% \caption@Info{frenchle/pro package is loaded}% \let\captionfont@ORI\captionfont @@ -851,17 +877,22 @@ \global\let\caption@SClabel\@undefined \let\caption@ORI@ContinuedFloat\ContinuedFloat \def\ContinuedFloat{% + \caption@withoptargs\caption@SC@ContinuedFloat}% + \def\caption@SC@ContinuedFloat##1{% \let\caption@ORI@setcounter\setcounter \let\caption@ORI@addtocounter\addtocounter \def\setcounter####1####2{\csname c@####1\endcsname####2\relax}% \def\addtocounter####1####2{\advance\csname c@####1\endcsname ####2\relax}% - \caption@ORI@ContinuedFloat + \caption@ORI@ContinuedFloat##1% \global\let\caption@SCcontinued\caption@ORI@ContinuedFloat \let\setcounter\caption@ORI@setcounter \let\addtocounter\caption@ORI@addtocounter}% - \def\captionsetup##1{% - \caption@g@addto@list\caption@SCsetup{##1}% - \caption@setup{##1}}% + \let\caption@ORI@setup\captionsetup + \def\captionsetup{% + \caption@withoptargs\caption@SC@setup}% + \def\caption@SC@setup##1##2{% + \caption@g@addto@list\caption@SCsetup{##2}% + \caption@ORI@setup##1{##2}}% \let\caption@ORI\caption \def\caption{% \def\caption{\caption@Error{% @@ -879,10 +910,7 @@ }% \newcommand*\caption@defrost{% \ifx\caption@ORI@ContinuedFloat\@undefined - \caption@SCcontinued - \ifx\caption@SCsetup\@undefined \else - \expandafter\captionsetup\expandafter{\caption@SCsetup}% - \fi + \caption@defrost@setup \ifx\caption@SCtext\@undefined \else \expandafter\expandafter\expandafter\caption \expandafter\expandafter\expandafter[% @@ -897,6 +925,11 @@ \caption@Error{Internal Error:\MessageBreak \noexpand\caption@defrost in same group as \string\caption@freeze}% \fi}% + \newcommand*\caption@defrost@setup{% + \caption@SCcontinued + \ifx\caption@SCsetup\@undefined \else + \expandafter\captionsetup\expandafter{\caption@SCsetup}% + \fi}% }{}% \caption@undefbool{needfreeze}} \caption@IfPackageLoaded{float}[2001/11/08 v1.3d]{% @@ -993,29 +1026,28 @@ \stepcounter{FP@\@captype C}% \caption@label\FP@positionLabel \FP@helpNote\@captype\FP@positionLabel - \let\FP@ContinuedFloat\relax + \edef\FP@RestoreCounter{% + \noexpand\setcounter{\@captype}{\the\value\@captype}% + \noexpand\setcounter{ContinuedFloat}{\the\value{ContinuedFloat}}}% \FP@float {\FP@positionLabel}% location label test {\begin\@captype[p!]% - \FP@ContinuedFloat \usebox\FP@floatCorpusBOX + \caption@defrost@setup \caption@ifFPlistcap {\caption@refstepcounter\@captype \expandafter\caption@makecurrent\expandafter\@captype \expandafter{\caption@SClentry}}% {\expandafter\captionlistentry\expandafter{\caption@SClentry}}% - \caption@@anchor\relax + \caption@makeanchor\relax \ifx\FP@LabelText\@empty \else \expandafter\label\expandafter{\FP@LabelText}% \fi \end\@captype}% - {\let\FP@ContinuedFloat\ContinuedFloat - \caption@ifcompatibility - {\let\caption@ContinuedFloat\@gobble}% - {\caption@clearsetup{ContinuedFloat}% - \caption@clearsetup{continued\@captype}}}% + {\FP@RestoreCounter + \@ifundefined{theH\@captype}{}{% + \expandafter\l@addto@macro\csname theH\@captype\endcsname{.FP}}}% {\begin\@captype[b!]% - \FP@ContinuedFloat \let\FP@savedSetfnumCommand\caption@setfnum \def\caption@setfnum##1{% \FP@savedSetfnumCommand{##1}% @@ -1026,7 +1058,7 @@ \setlength\belowcaptionskip{2pt plus 2pt minus 1pt}% length below caption \caption@setoptions{FP\@captype}% \FP@separatorCaption - \caption@ifFPlistcap{}{\caption@set@bool\caption@iflof0}% + \caption@ifFPlistcap{}{\let\caption@addcontentsline\@gobbletwo}% \caption@defrost \end\@captype}% }% @@ -1049,7 +1081,7 @@ \caption@Debug{hyperref current=\@currentHref}% \def\@currentlabelname{#2}}% \newcommand*\caption@makecurrentHref{\hyper@makecurrent}% - \renewcommand\caption@@anchor[1]{% + \renewcommand\caption@makeanchor[1]{% \caption@Debug{hyperref anchor: \@currentHref}% % If we cannot have nesting, the anchor is empty. \ifHy@nesting @@ -1057,11 +1089,7 @@ \else \Hy@raisedlink{\hyper@@anchor{\@currentHref}{\relax}}#1% \fi}% - \g@addto@macro\caption@prepareslc{\let\caption@@anchor\@firstofone}% - \renewcommand*\caption@@ContinuedFloat[1]{% - \@ifundefined{theH#1}{}{% - \expandafter\l@addto@macro\csname theH#1\endcsname{% - \@alph\c@ContinuedFloat}}}% + \g@addto@macro\caption@prepareslc{\let\caption@makeanchor\@firstofone}% \newif\if@capstart \def\caption@start{\caption@ifhypcap{% \caption@makestart\@captype @@ -1071,7 +1099,7 @@ \def\caption@makecurrentHref##1{% \global\@capstartfalse \global\let\@currentHref\hc@currentHref}% - \let\caption@@anchor\@firstofone + \let\caption@makeanchor\@firstofone }{}}% \newcommand*\caption@makestart[1]{% \begingroup @@ -1080,8 +1108,8 @@ \endgroup \caption@Debug{hypcap start=\@currentHref}}% \newcommand*\caption@startanchor[1]{% - \caption@Debug{hypcap anchor: #1}% \ifvmode\begingroup + \caption@Debug{hypcap anchor: #1 (vertical mode)}% \@tempdima\prevdepth \nointerlineskip \vspace*{-\caption@hypcapspace}% @@ -1089,7 +1117,7 @@ \vspace*{\caption@hypcapspace}% \prevdepth\@tempdima \endgroup\else - \caption@Warning{Internal Warning: Vertical TeX mode expected}% + \caption@Debug{hypcap anchor: #1 (horizontal mode)}% \caption@anchor{#1}% \fi}% \newcommand*\caption@anchor[1]{% @@ -1114,7 +1142,7 @@ \let\caption@ORI@setfloatcapt\caption@setfloatcapt \renewcommand*\caption@setfloatcapt{% \ifx\caption@currentHref\@undefined \else - \let\caption@@anchor\@firstofone + \let\caption@makeanchor\@firstofone \fi \caption@ORI@setfloatcapt}}% \def\caption@defrostHref{% @@ -1141,12 +1169,21 @@ \fi}{} \caption@IfPackageLoaded{listings}[2004/02/13 v1.2]{% \let\caption@ORI@lst@MakeCaption\lst@MakeCaption - \def\lst@MakeCaption#1{% - \caption@setoptions{lstlisting}% - \caption@setautoposition{#1}% - \caption@begin{lstlisting}% - \caption@ORI@lst@MakeCaption{#1}% - \caption@end}% + \def\lst@MakeCaption#1{% #1 is `t' or `b' + \begingroup + \caption@setposition{#1}% + \caption@iftop{% + \@tempdima\belowcaptionskip + \belowcaptionskip\abovecaptionskip + \abovecaptionskip\@tempdima}{}% + \caption@setoptions{lstlisting}% + \caption@setautoposition{#1}% + \caption@begin{lstlisting}% + \caption@ORI@lst@MakeCaption{#1}% + \caption@end + \endgroup}% + \def\lst@makecaption{\caption@starfalse\@makecaption}% + \def\lst@maketitle{\caption@startrue\@makecaption\@empty}% \providecommand*\ext@lstlisting{lol}% }{} \providecommand*\LTcaptype{table} @@ -1157,26 +1194,31 @@ \let\caption@ORI@LT@array\LT@array \renewcommand*\LT@array{% \global\let\caption@opt@@longtable\@undefined - \def\captionsetup##1{\noalign{\LT@captionsetup{##1}}}% + \def\captionsetup{% + \noalign\bgroup + \@ifstar\@captionsetup\@captionsetup}% gobble * + \def\@captionsetup##1{\LT@captionsetup{##1}\egroup}% \def\LT@captionsetup##1{% - \@captionsetup\@gobble[@longtable]{##1}% + \captionsetup@startrue\caption@setup@options[@longtable]{##1}% \global\let\caption@opt@@longtable\caption@opt@@longtable}% \def\@captionabovetrue{\LT@captionsetup{position=t}}% \def\@captionabovefalse{\LT@captionsetup{position=b}}% - \def\captionlistentry##1{\noalign{% - \caption@listentry[\LTcaptype]{##1}}}% + \def\captionlistentry{% + \noalign\bgroup + \@ifstar{\egroup\LT@captionlistentry}% gobble * + {\egroup\LT@captionlistentry}}% + \def\LT@captionlistentry##1{% + \caption@listentry\@firstoftwo[\LTcaptype]{##1}}% %% \let\Hy@LT@currentHlabel\@currentHlabel %% \let\@currentHlabel\Hy@LT@currentHlabel \def\ContinuedFloat{\noalign{% \caption@Error{\noexpand\ContinuedFloat outside float}}}% \caption@ORI@LT@array}}% - \def\LT@c@ption#1[#2]#3{% + \long\def\LT@c@ption#1[#2]#3{% \LT@makecaption#1{\csname fnum@\LTcaptype\endcsname}{#3}% - \def\@currentlabelname{#2}% - \caption@addcontentsline\LTcaptype{#2}}% + \LT@captionlistentry{#2}}% \renewcommand\LT@makecaption[3]{% \caption@LT@make{% - \caption@startrue#1\caption@starfalse \caption@settype*\LTcaptype \ifdim\LTcapwidth=4in \else \setcaptionwidth\LTcapwidth @@ -1184,6 +1226,7 @@ \caption@setoptions{longtable}% \caption@setoptions{@longtable}% \caption@setautoposition{\ifcase\LT@rows t\else b\fi}% + \caption@startrue#1\caption@starfalse \caption@resetContinuedFloat\LTcaptype \caption@begin\LTcaptype \caption@normalsize diff --git a/Master/texmf-dist/tex/latex/caption/caption2.sty b/Master/texmf-dist/tex/latex/caption/caption2.sty index d1d982f9522..adf32f8db9b 100644 --- a/Master/texmf-dist/tex/latex/caption/caption2.sty +++ b/Master/texmf-dist/tex/latex/caption/caption2.sty @@ -6,7 +6,7 @@ %% %% caption2.dtx (with options: `package') %% -%% Copyright (C) 1994-2007 Axel Sommerfeldt (caption@sommerfee.de) +%% Copyright (C) 1994-2008 Axel Sommerfeldt (caption@sommerfee.de) %% %% -------------------------------------------------------------------------- %% diff --git a/Master/texmf-dist/tex/latex/caption/caption3.sty b/Master/texmf-dist/tex/latex/caption/caption3.sty index 02bd5e3f470..c6a6a36cd42 100644 --- a/Master/texmf-dist/tex/latex/caption/caption3.sty +++ b/Master/texmf-dist/tex/latex/caption/caption3.sty @@ -6,7 +6,7 @@ %% %% caption.dtx (with options: `kernel') %% -%% Copyright (C) 1994-2007 Axel Sommerfeldt (caption@sommerfee.de) +%% Copyright (C) 1994-2008 Axel Sommerfeldt (caption@sommerfee.de) %% %% -------------------------------------------------------------------------- %% @@ -28,7 +28,7 @@ %% user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption3}[2007/12/21 v3.1f caption3 kernel (AR)] +\ProvidesPackage{caption3}[2008/03/20 v3.1g caption3 kernel (AR)] \providecommand*\@nameundef[1]{% \expandafter\let\csname #1\endcsname\@undefined} \providecommand\l@addto@macro[2]{% @@ -103,12 +103,14 @@ \newcommand*\caption@teststar[3]{\@ifstar{#1{#2}}{#1{#3}}} \newcommand*\caption@teststar@[3]{% \@ifstar{#1{#2}}{\caption@ifatletter{#1{#2}}{#1{#3}}}} +\AtBeginDocument{\let\caption@teststar@\caption@teststar} \newcommand*\caption@ifatletter{% \ifnum\the\catcode`\@=11 \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi} +\AtBeginDocument{\let\caption@ifatletter\@secondoftwo} \newcommand*\caption@withoptargs[1]{% \@ifstar {\def\caption@tempa{*}\caption@@withoptargs#1}% @@ -206,16 +208,17 @@ \KV@err{No value allowed for #1}% \expandafter\@gobble \fi} +\newif\ifcaptionsetup@star \newcommand*\captionsetup{% \caption@teststar@\@captionsetup\@gobble\@firstofone} \newcommand*\@captionsetup[1]{% - \@ifnextchar[{\caption@setup@options#1}\caption@setup} + \captionsetup@startrue#1\captionsetup@starfalse + \@ifnextchar[\caption@setup@options\caption@setup} \newcommand*\caption@setup{\caption@setkeys{caption}} -\def\caption@setup@options#1[#2]#3{% +\def\caption@setup@options[#1]#2{% \@bsphack - % #1 is \@gobble in star form, and \@firstofone otherwise - #1{\caption@addtooptlist{#2}}% - \expandafter\caption@l@addto@list\csname caption@opt@#2\endcsname{#3}% + \ifcaptionsetup@star\captionsetup@starfalse\else\caption@addtooptlist{#1}\fi + \expandafter\caption@l@addto@list\csname caption@opt@#1\endcsname{#2}% \@esphack} \newcommand*\clearcaptionsetup{% \caption@teststar@\@clearcaptionsetup\@gobble\@firstofone} @@ -304,9 +307,10 @@ \edef\caption@keydepth{\caption@keydepth i}% \caption@Debug{\protect\setkeys{#2}{#3}}% \setkeys{#2}{#3}% - \edef\caption@keydepth{\expandafter\@cdr\caption@keydepth\@nil}% + \edef\caption@keydepth{\expandafter\@gobble\caption@keydepth}% \expandafter\let\expandafter\KV@err\csname ORI@KV@err\caption@keydepth\endcsname \expandafter\let\expandafter\KV@errx\csname ORI@KV@errx\caption@keydepth\endcsname + \ifx\caption@keydepth\@empty \captionsetup@starfalse \fi \@esphack} \let\caption@keydepth\@empty \newcommand*\caption@ExecuteOptions[2]{% @@ -431,6 +435,7 @@ \global\@namedef{caption@sty@#1}{#3}} \@onlypreamble\caption@declarestyle \DeclareCaptionOption{style}{\caption@setstyle{#1}} +\DeclareCaptionOption{style*}{\caption@setstyle*{#1}} \DeclareCaptionOption{singlelinecheck}{\caption@set@bool\caption@ifslc{#1}} \newcommand*\caption@setstyle{% \caption@teststar\caption@@setstyle\@gobble\@firstofone} @@ -479,6 +484,14 @@ {\expandafter\let\expandafter\caption@ifh\csname caption@ifh@#1\endcsname \expandafter\let\expandafter\caption@slfmt\csname caption@slfmt@#1\endcsname \expandafter\let\expandafter\caption@fmt\csname caption@fmt@#1\endcsname}} +\newcommand*\DeclareCaptionDefaultFormat[1]{% + \expandafter\def\expandafter\caption@fmt@default\expandafter + {\csname caption@fmt@#1\endcsname}% + \expandafter\def\expandafter\caption@slfmt@default\expandafter + {\csname caption@slfmt@#1\endcsname}% + \expandafter\def\expandafter\caption@ifh@default\expandafter + {\csname caption@ifh@#1\endcsname}} +\@onlypreamble\DeclareCaptionDefaultFormat \DeclareCaptionFormat{plain}{#1#2#3\par} \DeclareCaptionFormat{hang}[#1#2#3\par]{% \caption@ifin@list\caption@lsepcrlist\caption@lsepname @@ -489,10 +502,9 @@ \advance\caption@parindent\hangindent \advance\caption@hangindent\hangindent \caption@@par#3\par}} -\def\caption@fmt@default{\caption@fmt@plain} -\def\caption@ifh@default{\caption@ifh@plain} +\DeclareCaptionDefaultFormat{plain} \newcommand*\DeclareCaptionLabelFormat[2]{% - \global\@namedef{caption@lfmt@#1}##1##2##3{#2}} + \global\@namedef{caption@lfmt@#1}##1##2{#2}} \@onlypreamble\DeclareCaptionLabelFormat \DeclareCaptionOption{labelformat}{\caption@setlabelformat{#1}} \newcommand*\caption@setlabelformat[1]{% @@ -549,18 +561,18 @@ \newcommand*\DeclareCaptionFont[2]{% \define@key{caption@fnt}{#1}[]{\l@addto@macro\caption@fnt{#2}}} \@onlypreamble\DeclareCaptionFont -\newcommand*\DeclareDefaultCaptionFont[2]{% +\newcommand*\DeclareCaptionDefaultFont[2]{% \global\@namedef{caption#1@default}{#2}} -\@onlypreamble\DeclareDefaultCaptionFont +\@onlypreamble\DeclareCaptionDefaultFont \DeclareCaptionOption{font}{\caption@setfont{font}{#1}} \DeclareCaptionOption{font+}{\caption@addtofont{font}{#1}} -\DeclareDefaultCaptionFont{font}{} +\DeclareCaptionDefaultFont{font}{} \DeclareCaptionOption{labelfont}{\caption@setfont{labelfont}{#1}} \DeclareCaptionOption{labelfont+}{\caption@addtofont{labelfont}{#1}} -\DeclareDefaultCaptionFont{labelfont}{} +\DeclareCaptionDefaultFont{labelfont}{} \DeclareCaptionOption{textfont}{\caption@setfont{textfont}{#1}} \DeclareCaptionOption{textfont+}{\caption@addtofont{textfont}{#1}} -\DeclareDefaultCaptionFont{textfont}{} +\DeclareCaptionDefaultFont{textfont}{} \newcommand*\caption@setfont[1]{% \expandafter\let\csname caption#1\endcsname\@empty \caption@addtofont{#1}} @@ -611,17 +623,17 @@ \KV@caption@fnt@normalsize\@unused \KV@caption@fnt@singlespacing\@unused}} \DeclareCaptionOption{size}{\caption@setfont{size}{#1}} -\DeclareDefaultCaptionFont{size}{} +\DeclareCaptionDefaultFont{size}{} \newcommand*\DeclareCaptionJustification[2]{% \global\@namedef{caption@hj@#1}{#2}% for compatibility to v3.0 \DeclareCaptionFont{#1}{#2}} \@onlypreamble\DeclareCaptionJustification -\newcommand*\DeclareDefaultCaptionJustification[1]{% +\newcommand*\DeclareCaptionDefaultJustification[1]{% \global\@namedef{caption@hj@default}{#1}% for compatibility to v3.0 - \DeclareDefaultCaptionFont{@hj}{#1}} -\@onlypreamble\DeclareDefaultCaptionJustification + \DeclareCaptionDefaultFont{@hj}{#1}} +\@onlypreamble\DeclareCaptionDefaultJustification \DeclareCaptionOption{justification}{\caption@setjustification{#1}} -\DeclareDefaultCaptionJustification{} +\DeclareCaptionDefaultJustification{} \newcommand*\caption@setjustification{\caption@setfont{@hj}} \DeclareCaptionJustification{justified}{} \DeclareCaptionJustification{centering}{\centering} @@ -728,8 +740,9 @@ \newcommand*\caption@endhook{} \newcommand*\AtBeginCaption{\l@addto@macro\caption@beginhook} \newcommand*\AtEndCaption{\l@addto@macro\caption@endhook} -\DeclareCaptionOption{list}{\caption@set@bool\caption@iflist{#1}} -\DeclareCaptionOption{listof}{\caption@set@bool\caption@iflist{#1}} +\DeclareCaptionOption{list}{\caption@setlist{#1}} +\DeclareCaptionOption{listof}{\caption@setlist{#1}} +\newcommand*\caption@setlist{\caption@set@bool\caption@iflist} \newcommand*\DeclareCaptionListFormat[2]{% \global\@namedef{caption@lstfmt@#1}##1##2{#2}} \@onlypreamble\DeclareCaptionListFormat @@ -752,7 +765,6 @@ {\let\caption@Debug\@gobble}} \DeclareOption{debug}{\setkeys{caption}{debug}} \setkeys{caption}{debug=0} -\caption@CheckCommand\@makecaption{\let\@makecaption\@undefined} \caption@CheckCommand\@makecaption{% % article|report|book [2005/09/16 v1.4f Standard LaTeX document class] \long\def\@makecaption#1#2{% @@ -834,9 +846,9 @@ \@tempa \caption@g@addto@list\caption@sls@default{margin*=.5\captionmargin} \DeclareCaptionLabelSeparator{default}{.\enspace} - \DeclareDefaultCaptionFont{font}{\@captionfont} - \DeclareDefaultCaptionFont{labelfont}{\@captionheadfont} - \DeclareDefaultCaptionFont{textfont}{\@captionfont\upshape} + \DeclareCaptionDefaultFont{font}{\@captionfont} + \DeclareCaptionDefaultFont{labelfont}{\@captionheadfont} + \DeclareCaptionDefaultFont{textfont}{\@captionfont\upshape} \captionsetup[figure]{position=b} \captionsetup[table]{position=t} } @@ -857,18 +869,18 @@ \fi \nobreak\vskip\belowcaptionskip\nobreak}} \DeclareCaptionLabelFormat{default}{#1} - \DeclareDefaultCaptionJustification{\raggedright} - \DeclareDefaultCaptionFont{font}{% + \DeclareCaptionDefaultJustification{\raggedright} + \DeclareCaptionDefaultFont{font}{% \usebeamerfont*{caption}% \usebeamercolor[fg]{caption}} - \DeclareDefaultCaptionFont{labelfont}{% + \DeclareCaptionDefaultFont{labelfont}{% \usebeamercolor[fg]{caption name}% \usebeamerfont*{caption name}} \defbeamertemplate{caption}{caption3}{% \caption@make\insertcaptionname\insertcaptionnumber\insertcaption} \DeclareOption{beamer}{% % \usebeamertemplate**{caption} will set font - \DeclareDefaultCaptionFont{font}{}% + \DeclareCaptionDefaultFont{font}{}% \setbeamertemplate{caption}[caption3]} }{} \@ifundefined{scr@caption}{}{% @@ -904,8 +916,8 @@ #3\par \fi} \DeclareCaptionLabelSeparator{default}{\captionformat} - \DeclareDefaultCaptionFont{font}{\scr@fnt@caption} - \DeclareDefaultCaptionFont{labelfont}{\scr@fnt@captionlabel} + \DeclareCaptionDefaultFont{font}{\scr@fnt@caption} + \DeclareCaptionDefaultFont{labelfont}{\scr@fnt@captionlabel} } \@ifundefined{CaptionFonts}{}{% \caption@CheckCommand\@makecaption{% @@ -920,12 +932,29 @@ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip}} - \DeclareDefaultCaptionFont{labelfont}{\CaptionLabelFont} - \DeclareDefaultCaptionFont{textfont}{\CaptionTextFont} + \DeclareCaptionDefaultFont{labelfont}{\CaptionLabelFont} + \DeclareCaptionDefaultFont{textfont}{\CaptionTextFont} } +\@ifclassloaded{thesis}{% + \caption@CheckCommand\@makecaption{% + % thesis.cls 1996/25/01 1.0g LaTeX document class (wm). + \long\def\@makecaption#1#2{% + \vskip\abovecaptionskip + \setbox\@tempboxa\hbox{{\cph@font #1:} {\cpb@font #2}}% + \ifdim \wd\@tempboxa >\hsize + \@hangfrom{\cph@font #1: }{\cpb@font #2\par}% + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip}} + \DeclareCaptionDefaultFormat{hang} + \DeclareCaptionDefaultFont{labelfont}{\cph@font} + \DeclareCaptionDefaultFont{textfont}{\cpb@font} +}{} \@ifundefined{FB@makecaption}{}{% \caption@CheckCommand\@makecaption{% % frenchb.ldf [2005/02/06 v1.6g French support from the babel system] + % frenchb.ldf [2007/10/05 v2.0e French support from the babel system] \long\def\@makecaption#1#2{% \vskip\abovecaptionskip \sbox\@tempboxa{#1\CaptionSeparator #2}% @@ -978,7 +1007,7 @@ \else \@mcORI{#1}{#2}% \fi}} - \DeclareDefaultCaptionFont{textfont}{\itshape}% + \DeclareCaptionDefaultFont{textfont}{\itshape}% \DeclareCaptionLabelSeparator{default}{\captionseparator\space}% } \captionsetup{style=default,position=default,list=1,listformat=default,% @@ -1005,10 +1034,8 @@ {\ignorespaces #2}}}% \fi} \newif\ifcaption@star -\newcommand*\caption@fnum[1]{% - \caption@lfmt{\@nameuse{#1name}}{\@nameuse{the#1}}{\theContinuedFloat}} -\newcommand\caption@make[2]{% - \caption@@make{\caption@lfmt{#1}{#2}{\theContinuedFloat}}} +\newcommand*\caption@fnum[1]{\caption@lfmt{\@nameuse{#1name}}{\@nameuse{the#1}}} +\newcommand\caption@make[2]{\caption@@make{\caption@lfmt{#1}{#2}}} \newcommand\caption@@make[2]{% \begingroup \caption@stepcounter @@ -1114,17 +1141,33 @@ \caption@ifstrut{\ifhmode\@finalstrut\strutbox\fi}{}% \par}}} \newcommand\caption@ifempty[1]{% + \caption@if@empty{#1}% + \caption@ifempty\@unused} +\newcommand\caption@if@empty[1]{% \def\caption@tempa{#1}% - \def\caption@tempb{\ignorespaces}% - \ifx\caption@tempa\caption@tempb - \let\caption@tempa\@empty - \fi \ifx\caption@tempa\@empty \let\caption@ifempty\@secondoftwo \else - \let\caption@ifempty\@gobbletwo - \fi - \caption@ifempty\@unused} + \expandafter\def\expandafter\caption@tempa\expandafter{% + \caption@car#1\caption@if@empty\caption@nil}% + \def\caption@tempb{\caption@if@empty}% + \ifx\caption@tempa\caption@tempb + \let\caption@ifempty\@secondoftwo + \else + \def\caption@tempb{\ignorespaces}% + \ifx\caption@tempa\caption@tempb + \expandafter\caption@if@empty\expandafter{\@gobble#1}% + \else + \def\caption@tempb{\label}% + \ifx\caption@tempa\caption@tempb + \expandafter\caption@if@empty\expandafter{\@gobbletwo#1}% + \else + \let\caption@ifempty\@gobbletwo + \fi + \fi + \fi + \fi} +\long\def\caption@car#1#2\caption@nil{#1}% same as \@car, but \long \newcommand*\caption@@par{% \parindent\caption@parindent\hangindent\caption@hangindent}% \newcommand*\DeclareCaptionType{% @@ -1152,11 +1195,9 @@ {\@namedef{l@#2}{\@dottedtocline{1}{1.5em}{2.3em}}}% {\expandafter\let\csname l@#2\endcsname\l@figure}% \expandafter\newcommand\csname #2name\endcsname{}% - \edef\@tempa{% - \def\noexpand\@tempa{\expandafter\noexpand\@car#2\@nil}}% + \edef\@tempa{\def\noexpand\@tempa{\@car#2\@nil}}% \uppercase\expandafter{\@tempa}% - \edef\@tempb{% - \noexpand\g@addto@macro\noexpand\@tempa{\expandafter\@cdr#2\@nil}}% + \edef\@tempb{\noexpand\g@addto@macro\noexpand\@tempa{\@cdr#2\@nil}}% \@tempb \expandafter\let\csname #2name\endcsname\@tempa \expandafter\newcommand\csname list#2name\endcsname{}% @@ -1203,22 +1244,29 @@ \define@key{caption@within}{none}[]{% \caption@within{}{}} \@onlypreamble@key{caption@within}{none} -\@ifundefined{c@chapter}{}{% +\@ifundefined{c@chapter}{% + \define@key{caption@within}{section}[]{% + \@addtoreset\caption@type{section}% + \caption@within{\ifnum\c@section>\z@ \thesection.\fi}{\theHsection.}} +}{% \define@key{caption@within}{chapter}[]{% \@addtoreset\caption@type{chapter}% \caption@within{\ifnum\c@chapter>\z@ \thechapter.\fi}{\theHchapter.}} - \@onlypreamble@key{caption@within}{chapter}} -\define@key{caption@within}{section}[]{% - \@addtoreset\caption@type{section}% - \caption@within{\ifnum\c@section>\z@ \thesection.\fi}{\theHsection.}} -\@onlypreamble@key{caption@within}{section} + \@onlypreamble@key{caption@within}{chapter} + \define@key{caption@within}{section}[]{% + \@addtoreset\caption@type{chapter}% + \@addtoreset\caption@type{section}% + \caption@within{\ifnum\c@chapter>\z@ \thechapter.\fi + \ifnum\c@section>\z@ \thesection.\fi}{% + \theHchapter.\theHsection.}} +}\@onlypreamble@key{caption@within}{section} \newcommand*\caption@within{% \expandafter\caption@within@\expandafter{\caption@type}} \@onlypreamble\caption@within \newcommand*\caption@within@[3]{% - \global\@namedef{the\caption@type}{#2\arabic{#1}}% - \@ifundefined{theH\caption@type}\caption@AtBeginDocument\@firstofone - {\global\@namedef{theH\caption@type}{#3\arabic{#1}}}} + \global\@namedef{the#1}{#2\arabic{#1}}% + \@ifundefined{theH#1}\caption@AtBeginDocument\@firstofone + {\global\@namedef{theH#1}{#3\arabic{#1}}}} \@onlypreamble\caption@within@ \providecommand*\@removefromreset[2]{{% \expandafter\let\csname c@#1\endcsname\@removefromreset @@ -1257,13 +1305,15 @@ {\expandafter\let\csname l@sub#3\endcsname\l@subsection}% \@cons\caption@subtypelist{{#3}}}% {\caption@Debug{Modify caption `sub#3'}}% + \@namedef{sub#3name}{}% + \@namedef{sub#3autorefname}{\csname #3name\endcsname}% #1% is \@firstoftwo in star form, and \@secondoftwo otherwise {\@namedef{p@sub#3}{}% \@namedef{thesub#3}{\csname the#3\endcsname.\@nameuse{#2}{sub#3}}}% {\@namedef{p@sub#3}{\csname the#3\endcsname}% \@namedef{thesub#3}{\@nameuse{#2}{sub#3}}}% \@namedef{theHsub#3}{\csname theH#3\endcsname.\arabic{sub#3}}% - \@namedef{sub#3autorefname}{\csname #3name\endcsname}}} + }} \@onlypreamble\@@DeclareCaptionSubType \newcommand*\caption@subtypelist{} \newcommand*\caption@For{\caption@withoptargs\caption@@For} diff --git a/Master/texmf-dist/tex/latex/caption/ltcaption.sty b/Master/texmf-dist/tex/latex/caption/ltcaption.sty index 852b6efaaa8..046cc927990 100644 --- a/Master/texmf-dist/tex/latex/caption/ltcaption.sty +++ b/Master/texmf-dist/tex/latex/caption/ltcaption.sty @@ -6,7 +6,7 @@ %% %% ltcaption.dtx (with options: `package') %% -%% Copyright (C) 1994-2007 Axel Sommerfeldt (caption@sommerfee.de) +%% Copyright (C) 1994-2008 Axel Sommerfeldt (caption@sommerfee.de) %% %% -------------------------------------------------------------------------- %% @@ -28,7 +28,7 @@ %% user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{ltcaption}[2007/09/01 v1.1 longtable captions (AR)] +\ProvidesPackage{ltcaption}[2008/03/21 v1.1a longtable captions (AR)] \providecommand*\LTcaptype{table} \providecommand*\ext@table{lot} \@ifundefined{caption@AtBeginDocument}\AtBeginDocument\caption@AtBeginDocument{% @@ -45,24 +45,29 @@ \@ifundefined{caption@AtBeginDocument}\AtBeginDocument\caption@AtBeginDocument{% \let\ltcaption@ORI@LT@array\LT@array \renewcommand*\LT@array{% - \let\ltcaption@ORI@refstepcounter\refstepcounter - \let\ltcaption@ORI@H@refstepcounter\H@refstepcounter - \def\refstepcounter##1{% - \let\refstepcounter\ltcaption@ORI@refstepcounter - \let\H@refstepcounter\ltcaption@ORI@H@refstepcounter - \refstepcounter\LTcaptype}% - \def\H@refstepcounter##1{% - \let\refstepcounter\ltcaption@ORI@refstepcounter - \let\H@refstepcounter\ltcaption@ORI@H@refstepcounter - \H@refstepcounter\LTcaptype}% - \let\ltcaption@ORI@hyper@makecurrent\hyper@makecurrent - \def\hyper@makecurrent##1{% - \let\hyper@makecurrent\ltcaption@ORI@hyper@makecurrent - \hyper@makecurrent\LTcaptype}% + \let\caption@LT@refstepcounter\refstepcounter + \def\refstepcounter{% + \caption@LTtype\caption@LT@refstepcounter}% + \let\caption@LT@Hrefstepcounter\H@refstepcounter + \def\H@refstepcounter{% + \caption@LTtype\caption@LT@Hrefstepcounter}% + \let\caption@LT@makecurrent\hyper@makecurrent + \def\hyper@makecurrent{% + \caption@LTtype\caption@LT@makecurrent}% \def\lst@@caption{\relax}% \ltcaption@ORI@LT@array}% } -\def\LT@c@ption#1[#2]#3{% +\newcommand*\caption@LTtype[2]{% + \edef\caption@LT@tempa{#2}% + \ifx\caption@LT@tempa\caption@LT@table + \caption@LT@type#1% + \else + #1{#2}% + \fi}% +\newcommand*\caption@LT@type[1]{% + \expandafter#1\expandafter{\LTcaptype}} +\newcommand*\caption@LT@table{table}% +\long\def\LT@c@ption#1[#2]#3{% \LT@makecaption#1{\csname fnum@\LTcaptype\endcsname}{#3}% \def\@tempa{#2}% \ifx\@tempa\@empty\else @@ -139,11 +144,12 @@ \def\next{\caption@LT@parse@ @}% \fi\fi\fi \next} -\newenvironment{longtable*}% - {\let\refstepcounter\@gobble - \let\H@refstepcounter\@gobble - \let\hyper@makecurrent\@gobble - \let\Hy@raisedlink\@gobble +\newenvironment{longtable*}{% + \let\caption@LT@type\@gobble + \let\caption@LT@raisedlink\Hy@raisedlink + \def\Hy@raisedlink{% + \let\Hy@raisedlink\caption@LT@raisedlink + \@gobble}% \let\ltcaption@ORI@LT@c@ption\LT@c@ption \def\LT@c@ption##1[##2]##3{% \ifx##1\@firstofone @@ -155,8 +161,8 @@ \else \ltcaption@ORI@LT@c@ption{##1}[{##2}]{##3}% \fi}% - \longtable}% - {\endlongtable} + \longtable}% + {\endlongtable} \@ifundefined{@komalongtablefalse}{}{% \if@komalongtable \renewcommand{\LT@makecaption}[3]{% diff --git a/Master/texmf-dist/tex/latex/caption/subcaption.sty b/Master/texmf-dist/tex/latex/caption/subcaption.sty index 5f6ee5c2508..5944c6d8759 100644 --- a/Master/texmf-dist/tex/latex/caption/subcaption.sty +++ b/Master/texmf-dist/tex/latex/caption/subcaption.sty @@ -6,7 +6,7 @@ %% %% subcaption.dtx (with options: `package') %% -%% Copyright (C) 1994-2007 Axel Sommerfeldt (caption@sommerfee.de) +%% Copyright (C) 1994-2008 Axel Sommerfeldt (caption@sommerfee.de) %% %% -------------------------------------------------------------------------- %% |