From d74ed9e8979cfaba08a049a508d7b82fcd284656 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 17 Sep 2007 00:45:00 +0000 Subject: caption 3.1a (16sep07) git-svn-id: svn://tug.org/texlive/trunk@4959 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/latex/caption/caption-deu.pdf | Bin 318761 -> 320675 bytes .../texmf-dist/doc/latex/caption/caption-deu.tex | 41 ++- .../texmf-dist/doc/latex/caption/caption-eng.pdf | Bin 302947 -> 304728 bytes .../texmf-dist/doc/latex/caption/caption-eng.tex | 35 +- Master/texmf-dist/doc/latex/caption/caption.pdf | Bin 348118 -> 351808 bytes Master/texmf-dist/doc/latex/caption/caption2.pdf | Bin 138982 -> 139001 bytes Master/texmf-dist/source/latex/caption/caption.dtx | 371 +++++++++++++-------- .../texmf-dist/source/latex/caption/caption2.dtx | 13 +- Master/texmf-dist/tex/latex/caption/caption.sty | 115 ++++--- Master/texmf-dist/tex/latex/caption/caption2.sty | 9 +- Master/texmf-dist/tex/latex/caption/caption3.sty | 121 ++++--- 11 files changed, 457 insertions(+), 248 deletions(-) diff --git a/Master/texmf-dist/doc/latex/caption/caption-deu.pdf b/Master/texmf-dist/doc/latex/caption/caption-deu.pdf index 3d0d700d8df..997a967888c 100644 Binary files a/Master/texmf-dist/doc/latex/caption/caption-deu.pdf and b/Master/texmf-dist/doc/latex/caption/caption-deu.pdf differ diff --git a/Master/texmf-dist/doc/latex/caption/caption-deu.tex b/Master/texmf-dist/doc/latex/caption/caption-deu.tex index c4f06dc4566..7ae2462b8ec 100644 --- a/Master/texmf-dist/doc/latex/caption/caption-deu.tex +++ b/Master/texmf-dist/doc/latex/caption/caption-deu.tex @@ -23,7 +23,7 @@ % caption-eng.tex, and caption-rus.tex. % \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesFile{caption-deu.tex}[2007/09/03 v3.1 Das caption-Paket] +\ProvidesFile{caption-deu.tex}[2007/09/16 v3.1a Das caption-Paket] \hbadness=9999 \newcount\hbadness \hfuzz=20pt % Make TeX shut up. %\errorcontextlines=3 @@ -819,6 +819,7 @@ vorbelegt.) Man vergleiche: \begin{Example} + \captionsetup{position=b} \begin{minipage}[c]{.5\linewidth}% % \captionsetup{aboveskip=0pt}% \captionof{table}{Eine Tabelle}% @@ -855,7 +856,7 @@ F"ugt man nun ein |\captionsetup{position=top}| in die linke Tabelle vor dem Unterschrift stimmige Abst"ande: \begin{Example} \begin{minipage}[c]{.5\linewidth}% - \captionsetup{position=top}% + \captionsetup{position=t}% \captionof{table}{Eine Tabelle}% \centering\begin{tabular}{ll}% A & B \\% @@ -867,6 +868,7 @@ Unterschrift stimmige Abst"ande: A & B \\% C & D \\% \end{tabular}% + \captionsetup{position=b} \captionof{table}{Eine Tabelle}% \end{minipage}% \end{Example} @@ -1674,7 +1676,7 @@ nicht mehr optimal platziert werden. 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. +|\capstart| (welches vom \package{hypcap}"=Paket angeboten wird) geschehen. \subsection{listings} \label{listings} @@ -2188,6 +2190,8 @@ Option & Kurzbeschreibung & Abschnitt \\ |figureposition|\preambleoption & gibt einen Hinweis auf die Position & \ref{skips} \\ |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} \\ |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} \\ @@ -2223,11 +2227,11 @@ Option & Kurzbeschreibung & Abschnitt \\ \end{longtable} \footnotetext[1]{Diese Optionen stehen nur in dem Dokumentenvorspann (Preamble) zur Verfügung.} -\nopagebreak -{\small\emph{Hinweis:} Veraltete, aber emulierte Optionen sind hier nicht gelistet. - Eine Auflistung dieser Optionen ist in\\ - \hspace*{1em}\Ref{caption1} und\\ - \hspace*{1em}\Ref{caption2} zu finden.} +\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.} \pagebreak[4] \subsection{Warnungen} @@ -2600,6 +2604,20 @@ Option & Kurzbeschreibung & Abschnitt \\ corresponding |\caption| command. This is not supported. \fi +\Message + |The option `labelsep=|\meta{name}|' does not work|\\ + |with `format=hang'.|\\ +{\color{black}\hspace{1.5em}-- oder --}\\ + |The option `labelsep=|\meta{name}|' does not work|\\ + |with \setcaphanging (which is set by default).| +\Description + Ein Bezeichnungstrenner, der ein |\\| Kommando enthält, kann + nicht mit einem Format kombiniert werden, welches "`hängende"' + Beschriftungen liefert. + Bitte wählen Sie einen anderen Trenner oder ein anderes + Beschriftungsformat 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|\\ @@ -2682,7 +2700,7 @@ Option & Kurzbeschreibung & Abschnitt \\ |You can't use the caption package option|\\ | `tableposition=|\meta{position}|'|\\ |and use the |\meta{package}| package, too.|\\ - {\color{black}\hspace{1.5em}-or-}\\ +{\color{black}\hspace{1.5em}-- oder --}\\ |You can't use the global option|\\ | `tablecaptionabove'|\\ |and use the |\meta{package}| package, too.| @@ -2769,9 +2787,10 @@ Uwe Siart, Sang-Heon Shim, Henrik Lundell, David Byers, -William Asquith -und +William Asquith, Prof.~Dr.~Dirk Hoffmann +und +Frank Martini f"ur ihre Hilfe beim stetigen Verbessern dieses Paketes bedanken. % --------------------------------------------------------------------------- % diff --git a/Master/texmf-dist/doc/latex/caption/caption-eng.pdf b/Master/texmf-dist/doc/latex/caption/caption-eng.pdf index 04b1557a86b..15526524aee 100644 Binary files a/Master/texmf-dist/doc/latex/caption/caption-eng.pdf and b/Master/texmf-dist/doc/latex/caption/caption-eng.pdf differ diff --git a/Master/texmf-dist/doc/latex/caption/caption-eng.tex b/Master/texmf-dist/doc/latex/caption/caption-eng.tex index ca513786f49..18295b190ca 100644 --- a/Master/texmf-dist/doc/latex/caption/caption-eng.tex +++ b/Master/texmf-dist/doc/latex/caption/caption-eng.tex @@ -23,7 +23,7 @@ % caption-eng.tex, and caption-rus.tex. % \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesFile{caption-eng.tex}[2007/09/03 v3.1 The caption package] +\ProvidesFile{caption-eng.tex}[2007/09/16 v3.1a The caption package] \hbadness=9999 \newcount\hbadness \hfuzz=20pt % Make TeX shut up. %\errorcontextlines=3 @@ -268,7 +268,7 @@ the other captions remain untouched. \label{formats} \DescribeMacro{format=} -A figure or table caption mainly consits of three parts: the caption label, +A figure or table caption mainly consists of three parts: the caption label, which says if this object is a `Figure' or `Table' and what number is associated with it, the caption text itself, which is normally a short description of contents, and the caption separator which separates the text @@ -803,6 +803,7 @@ figure or table itself. (Remember: |\belowcaptionskip| is usually set to |0pt|.) Please compare the spacing in these small tables: \begin{Example} + \captionsetup{position=b} \begin{minipage}[c]{.5\linewidth} % \captionsetup{aboveskip=0pt}% \captionof{table}{A table} @@ -838,7 +839,7 @@ So adding an extra |\captionsetup{position=top}| to the left example table gives you proper spacing around both captions: \begin{Example} \begin{minipage}[c]{.5\linewidth} - \captionsetup{position=top} + \captionsetup{position=t} \captionof{table}{A table} \centering\begin{tabular}{ll} A & B \\ @@ -850,6 +851,7 @@ table gives you proper spacing around both captions: A & B \\ C & D \\ \end{tabular} + \captionsetup{position=b} \captionof{table}{A table} \end{minipage} \end{Example} @@ -1969,6 +1971,8 @@ Option & Short description & Section \\ |figureposition|\preambleoption & gives a hint about the figure caption position & \ref{skips} \\ |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} \\ |hangindent| & sets the hang indention & \ref{margins} \\ |hypcap| & select `hypcap' feature & \ref{hyperref} \\ |hypcapspace| & sets the distance between hyperlink \& contents & \ref{hyperref} \\ @@ -2004,10 +2008,10 @@ Option & Short description & Section \\ \end{longtable} \footnotetext[1]{These options are only available in the preamble of the document.} -\nopagebreak -{\small\emph{Note:} Obsolete options are not listed here. See\\ - \hspace*{1em}\Ref{caption1} and\\ - \hspace*{1em}\Ref{caption2} for a list of these options.} +\nopagebreak\parbox[t]{\linewidth}{\small\emph{Note:} + Obsolete options are not listed here. See\\ + \hspace*{1em}\Ref{caption1} and\\ + \hspace*{1em}\Ref{caption2} for a list of these options.} \pagebreak[4] \subsection{Warnings} @@ -2356,6 +2360,18 @@ Option & Short description & Section \\ corresponding |\caption| command. This is not supported. \fi +\Message + |The option `labelsep=|\meta{name}|' does not work|\\ + |with `format=hang'.|\\ +{\color{black}\hspace{1.5em}-or-}\\ + |The option `labelsep=|\meta{name}|' does not work|\\ + |with \setcaphanging (which is set by default).| +\Description + A caption label separator which contains a newline command (|\\|) + does not work with a hanging caption format. + Please select another caption format or another caption label seperator. + \par\See{\Ref{formats} resp.~\Ref{KOMA}} + \Message |The package option `caption=false' is obsolete.|\\ |Please pass this option to the subfig package instead|\\ @@ -2437,7 +2453,7 @@ Option & Short description & Section \\ |You can't use the caption package option|\\ | `tableposition=|\meta{position}|'|\\ |and use the |\meta{package}| package, too.|\\ - {\color{black}\hspace{1.5em}-or-}\\ +{\color{black}\hspace{1.5em}-or-}\\ |You can't use the global option|\\ | `tablecaptionabove'|\\ |and use the |\meta{package}| package, too.| @@ -2506,8 +2522,9 @@ Sang-Heon Shim, Henrik Lundell, David Byers, William Asquith, -and Prof.~Dr.~Dirk Hoffmann, +and +Frank Martini who all helped to make this package a better one. % --------------------------------------------------------------------------- % diff --git a/Master/texmf-dist/doc/latex/caption/caption.pdf b/Master/texmf-dist/doc/latex/caption/caption.pdf index 3977586333f..35443f2375d 100644 Binary files a/Master/texmf-dist/doc/latex/caption/caption.pdf and b/Master/texmf-dist/doc/latex/caption/caption.pdf differ diff --git a/Master/texmf-dist/doc/latex/caption/caption2.pdf b/Master/texmf-dist/doc/latex/caption/caption2.pdf index a5f59885e63..b147a061142 100644 Binary files a/Master/texmf-dist/doc/latex/caption/caption2.pdf and b/Master/texmf-dist/doc/latex/caption/caption2.pdf differ diff --git a/Master/texmf-dist/source/latex/caption/caption.dtx b/Master/texmf-dist/source/latex/caption/caption.dtx index b8ab6d161ac..ec95b4086e4 100644 --- a/Master/texmf-dist/source/latex/caption/caption.dtx +++ b/Master/texmf-dist/source/latex/caption/caption.dtx @@ -24,12 +24,12 @@ % caption-eng.tex, and caption-rus.tex. % % \fi -% \CheckSum{5253} +% \CheckSum{5395} % % \iffalse %<*driver> \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesFile{caption.drv}[2007/09/01 v3.1 Implementation of the caption package] +\ProvidesFile{caption.drv}[2007/09/16 v3.1a Implementation of the caption package] \hbadness=9999 \newcount\hbadness \hfuzz=100pt % Make TeX shut up. %\errorcontextlines=3 % @@ -53,7 +53,7 @@ \usepackage{hypdoc} \hypersetup{pdfkeywords={LaTeX, package, caption},pdfstartview={}} % -\usepackage[debug]{caption}[2007/09/01] +\usepackage[debug]{caption}[2007/09/16] % \DeclareRobustCommand*\eTeX{\texorpdfstring {\leavevmode\hbox{$\varepsilon$}-\TeX}% @@ -222,7 +222,7 @@ % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption3}[2007/09/01 v3.1 caption3 kernel (AR)] +\ProvidesPackage{caption3}[2007/09/16 v3.1a caption3 kernel (AR)] % \end{macrocode} % % \subsection{Generic helpers} @@ -1267,12 +1267,17 @@ % There are two pre-defined formats, called `plain' and `hang'. % \begin{macrocode} \DeclareCaptionFormat{plain}{#1#2#3\par} +% \end{macrocode} +% \begin{macrocode} \DeclareCaptionFormat{hang}{% - \@hangfrom{#1#2}% - \advance\caption@parindent\hangindent - \advance\caption@hangindent\hangindent - \caption@@par - #3\par} + \caption@ifin@list\caption@lsepcrlist\caption@lsepname + {\caption@Error{% + The option `labelsep=\caption@lsepname' does not work\MessageBreak + with `format=hang'}}% + {\@hangfrom{#1#2}% + \advance\caption@parindent\hangindent + \advance\caption@hangindent\hangindent + \caption@@par#3\par}} % \end{macrocode} % % \changes{v3.0a}{2004/01/23}{Caption format \opt{default} linked to \opt{normal}} @@ -1332,6 +1337,7 @@ % \changes{v3.0a}{2004/01/17}{Pass through argument \#2 so extra spaces % between arguments do make any harm} % \changes{v3.0h}{2005/08/25}{Starred variant added} +% \changes{v3.1}{2007/07/13}{Test for CR added} % |\DeclareCaptionLabelSeparator|\marg{name}\marg{code}\\ % |\DeclareCaptionLabelSeparator*|\marg{name}\marg{code}\par % The starred form causes the label separator to be typeset \emph{without} using |\captionlabelfont|. @@ -1343,9 +1349,17 @@ % \begin{macrocode} \newcommand\caption@declarelabelseparator[3]{% \global\expandafter\let\csname caption@iflf@#2\endcsname#1% - \global\long\@namedef{caption@lsep@#2}{#3}} + \global\long\@namedef{caption@lsep@#2}{#3}% + \caption@@declarelabelseparator{#2}#3\\\@nil} \@onlypreamble\caption@declarelabelseparator % \end{macrocode} +% \begin{macrocode} +\long\def\caption@@declarelabelseparator#1#2\\#3\@nil{% + \def\@tempa{#3}\ifx\@tempa\@empty \else + \caption@g@addto@list\caption@lsepcrlist{#1}% + \fi} +\@onlypreamble\caption@@declarelabelseparator +% \end{macrocode} % \end{macro} % % \begin{macrocode} @@ -1360,7 +1374,8 @@ \newcommand*\caption@setlabelseparator[1]{% \@ifundefined{caption@lsep@#1}% {\caption@Error{Undefined label separator `#1'}}% - {\expandafter\let\expandafter\caption@iflf\csname caption@iflf@#1\endcsname + {\edef\caption@lsepname{#1}% + \expandafter\let\expandafter\caption@iflf\csname caption@iflf@#1\endcsname \expandafter\let\expandafter\caption@lsep\csname caption@lsep@#1\endcsname}} % \end{macrocode} % \end{macro} @@ -1939,11 +1954,9 @@ \DeclareCaptionOption{debug}[1]{% \caption@set@bool\caption@ifdebug{#1}% \let\caption@iftypewarning\caption@ifdebug - \caption@ifdebug{% - \def\caption@Debug{\PackageInfo{caption}}% - }{% - \let\caption@Debug\@gobble - }} + \caption@ifdebug + {\def\caption@Debug{\PackageInfo{caption}}}% + {\let\caption@Debug\@gobble}} % \end{macrocode} % \begin{macrocode} \DeclareOption{debug}{\setkeys{caption}{debug}} @@ -2140,7 +2153,11 @@ % \begin{macrocode} \DeclareCaptionFormat{default}{% \ifdofullc@p - \caption@fmt@hang{#1}{#2}{#3}% + \caption@ifin@list\caption@lsepcrlist\caption@lsepname + {\caption@Error{% + The option `labelsep=\caption@lsepname' does not work\MessageBreak + with \noexpand\setcaphanging (which is set by default)}}% + {\caption@fmt@hang{#1}{#2}{#3}}% \else #1#2% \ifdim\cap@indent<\z@ @@ -2636,58 +2653,97 @@ % % \iffalse\subsection{\cs{DeclareFloatingEnvironment}}\fi % \subsection{Bonus features} -% \changes{v3.1}{2007/08/12}{\cs{DeclareFloatingEnvironment} added} % % \begin{macro}{\DeclareFloatingEnvironment} -% |\DeclareFloatingEnvironment|\marg{environment name} +% \changes{v3.1}{2007/08/12}{This macro added} +% \changes{v3.1a}{2007/09/07}{Three optional arguments added} +% |\DeclareFloatingEnvironment|\oarg{file ext}\marg{environment}\oarg{name}\oarg{list name} % \begin{macrocode} -\providecommand*\DeclareFloatingEnvironment[1]{% +\providecommand*\DeclareFloatingEnvironment{% + \@ifnextchar[%] + \caption@@DeclareFloatingEnvironment\caption@DeclareFloatingEnvironment} +\@onlypreamble\DeclareFloatingEnvironment +% \end{macrocode} +% \begin{macrocode} +\newcommand*\caption@DeclareFloatingEnvironment[1]{% + \caption@@DeclareFloatingEnvironment[lo#1]{#1}} +\@onlypreamble\caption@DeclareFloatingEnvironment +% \end{macrocode} +% \begin{macrocode} +\def\caption@@DeclareFloatingEnvironment[#1]#2{% \@ifundefined{c@chapter}% - {\newcounter{#1}% - \@namedef{the#1}{\arabic{#1}}% - \@namedef{theH#1}{\arabic{#1}}}% - {\newcounter{#1}[chapter]% - \@namedef{the#1}{\ifnum\c@chapter>\z@ \thechapter.\fi \arabic{#1}}% - \@namedef{theH#1}{\theHchapter.\arabic{#1}}}% - \@namedef{fps@#1}{tbp}% - \@ifundefined{c@float@type}{% - \newcounter{float@type}% - \setcounter{float@type}{\@ifundefined{c@figure}14}}{}% - \expandafter\xdef\csname ftype@#1\endcsname{\the\value{float@type}}% + {\newcounter{#2}% + \@namedef{the#2}{\arabic{#2}}% + \@namedef{theH#2}{\arabic{#2}}}% + {\newcounter{#2}[chapter]% + \@namedef{the#2}{\ifnum\c@chapter>\z@ \thechapter.\fi \arabic{#2}}% + \@namedef{theH#2}{\theHchapter.\arabic{#2}}}% + \@namedef{fps@#2}{tbp}% + \@ifundefined{c@float@type}% + {\newcounter{float@type}% + \setcounter{float@type}{\@ifundefined{c@figure}14}}% + {}% + \caption@Debug{float type `#2'=\the\value{float@type}}% + \expandafter\xdef\csname ftype@#2\endcsname{\the\value{float@type}}% \addtocounter{float@type}{\value{float@type}}% - \@namedef{ext@#1}{lo#1}% - \@namedef{fnum@#1}{\@nameuse{#1name}\nobreakspace\@nameuse{the#1}}% - \newenvironment{#1}{\@float{#1}}{\end@float}% - \newenvironment{#1*}{\@dblfloat{#1}}{\end@dblfloat}% - \expandafter\newcommand\csname listof#1s\endcsname{\begingroup - \expandafter\let\expandafter\listfigurename\csname list#1name\endcsname - \expandafter\let\expandafter\ext@figure\csname ext@#1\endcsname + \@namedef{ext@#2}{#1}% + \@namedef{fnum@#2}{\@nameuse{#2name}\nobreakspace\@nameuse{the#2}}% + \newenvironment{#2}{\@float{#2}}{\end@float}% + \newenvironment{#2*}{\@dblfloat{#2}}{\end@dblfloat}% + \expandafter\newcommand\csname listof#2s\endcsname{\begingroup + \expandafter\let\expandafter\listfigurename\csname list#2name\endcsname + \expandafter\let\expandafter\ext@figure\csname ext@#2\endcsname \let\caption@ORI@starttoc\@starttoc \renewcommand*\@starttoc[1]{% \expandafter\caption@ORI@starttoc\expandafter{\ext@figure}}% \listoffigures \endgroup}% \@ifundefined{l@figure}% - {\@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}}% - {\expandafter\let\csname l@#1\endcsname\l@figure}% - \expandafter\newcommand\csname #1name\endcsname{}% + {\@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#1\@nil}}% + \def\noexpand\@tempa{\expandafter\noexpand\@car#2\@nil}}% \uppercase\expandafter{\@tempa}% \edef\@tempb{% - \noexpand\g@addto@macro\noexpand\@tempa{\expandafter\@cdr#1\@nil}}% + \noexpand\g@addto@macro\noexpand\@tempa{\expandafter\@cdr#2\@nil}}% \@tempb - \expandafter\let\csname #1name\endcsname\@tempa - \expandafter\newcommand\csname list#1name\endcsname{}% - \expandafter\xdef\csname list#1name\endcsname{List of \@tempa s}% - \@cons\caption@floatlist{{#1}}} -\@onlypreamble\DeclareFloatingEnvironment + \expandafter\let\csname #2name\endcsname\@tempa + \expandafter\newcommand\csname list#2name\endcsname{}% + \expandafter\xdef\csname list#2name\endcsname{List of \@tempa s}% + \@cons\caption@floatlist{{#2}}% + \@ifnextchar[{\caption@@@DeclareFloatingEnvironment{#2}}\relax} +\@onlypreamble\caption@@DeclareFloatingEnvironment +% \end{macrocode} +% \begin{macrocode} +\def\caption@@@DeclareFloatingEnvironment#1[#2]{% + \@namedef{#1name}{#2}% + \@ifnextchar[{\caption@@@@DeclareFloatingEnvironment{#1}}\relax} +\@onlypreamble\caption@@@DeclareFloatingEnvironment +% \end{macrocode} +% \begin{macrocode} +\def\caption@@@@DeclareFloatingEnvironment#1[#2]{% + \@namedef{list#1name}{#2}} +\@onlypreamble\caption@@@@DeclareFloatingEnvironment % \end{macrocode} % \begin{macrocode} \newcommand*\caption@floatlist{} % \end{macrocode} % \end{macro} % +% \begin{macro}{\ForFloatingEnvironments} +% \changes{v3.1a}{2007/09/07}{This macro added} +% |\ForFloatingEnvironments|\marg{code with \#1} +% \begin{macrocode} +\providecommand\ForFloatingEnvironments[1]{% + \caption@AtBeginDocument{% + \def\@elt##1{#1}% + \caption@floatlist + \let\@elt\relax}}% +\@onlypreamble\ForFloatingEnvironments +% \end{macrocode} +% \end{macro} +% % \subsection{subfig package adaptions} % \changes{v3.0k}{2007/01/07}{Very small bugfix of \package{subfig} package added} % \changes{v3.0l}{2007/01/31}{Bugfix of subfig package moved from package (kernel)} @@ -2779,7 +2835,7 @@ % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption}[2007/09/01 v3.1 Customising captions (AR)] +\ProvidesPackage{caption}[2007/09/16 v3.1a Customising captions (AR)] % \end{macrocode} % % \begin{macro}{\caption@Info} @@ -2795,7 +2851,7 @@ % \subsection{Loading the kernel} % % \begin{macrocode} -\RequirePackage{caption3}[2007/09/01] % needs v3.1 or newer +\RequirePackage{caption3}[2007/09/16] % needs v3.1a or newer % \end{macrocode} % % \subsection{Check against incompatible packages} @@ -2915,9 +2971,10 @@ % % \begin{macro}{\onelinecaptionstrue} % \begin{macro}{\onelinecaptionsfalse} +% \changes{v3.1a}{2007/09/14}{Changed so they work with \cs{global}, too} % \begin{macrocode} - \def\onelinecaptionstrue{\captionsetup{singlelinecheck=1}} - \def\onelinecaptionsfalse{\captionsetup{singlelinecheck=0}} + \def\onelinecaptionstrue{\let\caption@ifslc\@firstoftwo} + \def\onelinecaptionsfalse{\let\caption@ifslc\@secondoftwo} % \end{macrocode} % \end{macro} % \end{macro} @@ -2937,9 +2994,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} % \begin{macrocode} - \def\@captionabovetrue{\captionsetup{position=t}} - \def\@captionabovefalse{\captionsetup{position=b}} + \def\@captionabovetrue{\let\caption@position\@firstoftwo} + \def\@captionabovefalse{\let\caption@position\@secondoftwo} % \end{macrocode} % \end{macro} % \end{macro} @@ -4890,6 +4948,12 @@ % \end{macrocode} % \end{macro} % +% \changes{v3.1a}{2007/09/07}{\cs{DeclareFloatingEnvironment} defines FP-variant, too} +% \begin{macrocode} + \ForFloatingEnvironments{% + \newenvironment{FP#1}{\FP@floatBegin{#1}}{\FP@floatEnd}}% +% \end{macrocode} +% % \begin{macrocode} }{% \let\caption@ifFPlistcap\@undefined @@ -5238,14 +5302,7 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\lst@@caption} -% We define |\lst@@caption| to non-|\@empty|, so |\fnum@lstlisting| will -% produce a numbered listing caption, which makes |\captionof{lstlisting}| -% work correctly. -% \begin{macrocode} - \g@addto@macro\caption@settypehook{\let\lst@@caption\relax}% -% \end{macrocode} -% \end{macro} +% \changes{v3.1a}{2007/07/13}{Bugfix 07-09-13: \cs{lst@@caption} will not be re-defined anymore} % % \begin{macrocode} }{} @@ -5271,58 +5328,72 @@ % % \begin{macro}{\LT@array} % \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}} % 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 +% and since this only works with the original definition of \cs{LT@array}, +% we have to do this after the \package{hyperref} package, +% i.e.~\cs{AtBeginDocument}.} % \begin{macrocode} - \let\caption@ORI@LT@array\LT@array - \renewcommand*\LT@array{% + \caption@AtBeginDocument{% + \let\caption@ORI@LT@array\LT@array + \renewcommand*\LT@array{% % \end{macrocode} % |\captionsetup| for longtable: % \begin{macrocode} - \global\let\caption@opt@@longtable\@undefined - \def\captionsetup##1{\noalign{% - \@captionsetup\@gobble[@longtable]{##1}% - \global\let\caption@opt@@longtable\caption@opt@@longtable}}% + \global\let\caption@opt@@longtable\@undefined + \def\captionsetup##1{\noalign{\LT@captionsetup{##1}}}% + \def\LT@captionsetup##1{% + \@captionsetup\@gobble[@longtable]{##1}% + \global\let\caption@opt@@longtable\caption@opt@@longtable}% +% \end{macrocode} +% |\captionabove| \& |\captionbelow| for longtable: (\KOMAScript\ document class) +% \begin{macrocode} + \def\@captionabovetrue{\LT@captionsetup{position=t}}% + \def\@captionabovefalse{\LT@captionsetup{position=b}}% % \end{macrocode} % |\captionlistentry| for longtable: % \begin{macrocode} - \def\captionlistentry##1{\noalign{% - \caption@listentry[\LTcaptype]{##1}}}% + \def\captionlistentry##1{\noalign{% + \caption@listentry[\LTcaptype]{##1}}}% % \end{macrocode} % |\ContinuedFloat| for longtable:\\ % {\small(Commented out, since it's not deeply tested and quite useless anyway)} % \Note{\package{hyperref} versions $<$ v6.76j uses $2\times$ \cs{hyper@makecurrent}} % \begin{macrocode} -% \caption@ifhypcap{% -% \let\caption@ORI@hyper@makecurrent\hyper@makecurrent -% \def\hyper@makecurrent##1{% -% \let\hyper@makecurrent\caption@ORI@hyper@makecurrent -% \caption@makestart{##1}% -% \let\Hy@LT@currentHlabel\@currentHlabel -% \let\Hy@LT@currentHref\@currentHref -% \def\hyper@makecurrent####1{% -% \let\@currentHlabel\Hy@LT@currentHlabel -% \let\@currentHref\Hy@LT@currentHref}}% -% \let\caption@ORI@ContinuedFloat\ContinuedFloat -% \def\ContinuedFloat{\noalign{% -% \gdef\caption@setContinuedFloat{% -% \let\caption@resetContinuedFloat\@gobble}% -% \def\caption@setoptions####1{% -% \g@addto@macro\caption@setContinuedFloat{% -% \caption@setoptions{####1}}}% -% \let\@captype\LTcaptype -% \caption@ORI@ContinuedFloat}}% -% }{% -% \def\ContinuedFloat{\noalign{% -% \caption@Error{\noexpand\ContinuedFloat inside longtables\MessageBreak -% is only available with `hypcap=true'}}}% -% }% -% \global\let\caption@setContinuedFloat\@empty - \def\ContinuedFloat{\noalign{% - \caption@Error{\noexpand\ContinuedFloat outside float}}}% -% \end{macrocode} -% \begin{macrocode} - \caption@ORI@LT@array}% +% \caption@ifhypcap{% +% \let\caption@ORI@hyper@makecurrent\hyper@makecurrent +% \def\hyper@makecurrent##1{% +% \let\hyper@makecurrent\caption@ORI@hyper@makecurrent +% \caption@makestart{##1}% +% \let\Hy@LT@currentHlabel\@currentHlabel +% \let\Hy@LT@currentHref\@currentHref +% \def\hyper@makecurrent####1{% +% \let\@currentHlabel\Hy@LT@currentHlabel +% \let\@currentHref\Hy@LT@currentHref}}% +% \let\caption@ORI@ContinuedFloat\ContinuedFloat +% \def\ContinuedFloat{\noalign{% +% \gdef\caption@setContinuedFloat{% +% \let\caption@resetContinuedFloat\@gobble}% +% \def\caption@setoptions####1{% +% \g@addto@macro\caption@setContinuedFloat{% +% \caption@setoptions{####1}}}% +% \let\@captype\LTcaptype +% \caption@ORI@ContinuedFloat}}% +% }{% +% \def\ContinuedFloat{\noalign{% +% \caption@Error{% +% \noexpand\ContinuedFloat inside longtables\MessageBreak +% is only available with `hypcap=true'}}}% +% }% +% \global\let\caption@setContinuedFloat\@empty + \def\ContinuedFloat{\noalign{% + \caption@Error{\noexpand\ContinuedFloat outside float}}}% +% \end{macrocode} +% \begin{macrocode} + \caption@ORI@LT@array}}% % \end{macrocode} % \end{macro} % @@ -5339,10 +5410,10 @@ % \end{verbatim}%^^A % Our implementation uses |\LTcaptype| instead of |{table}|: % \begin{macrocode} -\def\LT@c@ption#1[#2]#3{% - \LT@makecaption#1{\csname fnum@\LTcaptype\endcsname}{#3}% - \def\@currentlabelname{#2}% - \caption@addcontentsline\LTcaptype{#2}}% + \def\LT@c@ption#1[#2]#3{% + \LT@makecaption#1{\csname fnum@\LTcaptype\endcsname}{#3}% + \def\@currentlabelname{#2}% + \caption@addcontentsline\LTcaptype{#2}}% % \end{macrocode} % \end{macro} % @@ -5726,6 +5797,13 @@ % \end{macrocode} % \end{macro} % +% \changes{v3.1a}{2007/09/07}{\cs{DeclareFloatingEnvironment} defines sideways-variant, too} +% \begin{macrocode} + \ForFloatingEnvironments{% + \newenvironment{sideways#1}{\@rotfloat{#1}}{\end@rotfloat}% + \newenvironment{sideways#1*}{\@rotdblfloat{#1}}{\end@rotdblfloat}}% +% \end{macrocode} +% % \begin{macrocode} }{} % \end{macrocode} @@ -5835,6 +5913,15 @@ % \end{macrocode} % \end{macro} % +% \changes{v3.1a}{2007/09/07}{\cs{DeclareFloatingEnvironment} defines SC-variant, too} +% \begin{macrocode} + \ForFloatingEnvironments{% + \newenvironment{SC#1}% + {\SC@float[\@nameuse{SC@#1@vpos}]{#1}}{\endSC@float}% + \newenvironment{SC#1*}% + {\SC@dblfloat[\@nameuse{SC@#1@vpos}]{#1}}{\endSC@dblfloat}}% +% \end{macrocode} +% % \begin{macrocode} }{} % \end{macrocode} @@ -5847,20 +5934,29 @@ % \end{macrocode} % % \begin{macro}{\sf@ifpositiontop} -% If the \package{subfigure} package is loaded, we map |\sf@ifpositiontop| -% to |\iffiguretopcap| resp. |\iftabletopcap|, so the \package{subfigure} -% \version{2.1} options \opt{figbotcap} etc. will still work. +% \changes{v3.1a}{2007/09/15}{Bugfix 07-09-15: Check for \cs{@captype} added} +% If the \package{subfigure} package is loaded, we map |\sf@ifpositiontop| +% to |\iffiguretopcap| resp. |\iftabletopcap|, so the \package{subfigure} +% \version{2.1} options \opt{figbotcap} etc. will still work. % \begin{macrocode} \def\sf@ifpositiontop{% - \@ifundefined{if\@captype topcap}{% - \@gobbletwo - }{% - \@nameuse{if\@captype topcap}% - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }}% + \ifx\@captype\@undefined + \expandafter\@gobbletwo + \else\ifx\@captype\relax + \expandafter\expandafter\expandafter\@gobbletwo + \else + \expandafter\expandafter\expandafter\sf@if@position@top + \fi\fi} +% \end{macrocode} +% \begin{macrocode} + \def\sf@if@position@top{% + \@ifundefined{if\@captype topcap}% + {\@gobbletwo}% + {\@nameuse{if\@captype topcap}% + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi}} % \end{macrocode} % \end{macro} % @@ -6034,27 +6130,33 @@ \else \expandafter\let\csname caption@ORI@wrap#1\expandafter\endcsname \csname wrap#1\endcsname - \@namedef{wrap#1}{% - \caption@settype*{#1}% - \float@ifstyle{#1}{% - \ifx\WF@floatstyhook\@undefined - \caption@Error{% - For a successful cooperation of the `wrapfig' package\MessageBreak - with the `float' package you should use at least\MessageBreak - `wrapfig' version 3.6}% - \else - \float@dostyle{#1}% - \fi}{}% - \caption@clearmargin - \caption@setoptions{wrapfloat}% - \caption@setoptions{wrap#1}% - \@nameuse{caption@ORI@wrap#1}}% + \@namedef{wrap#1}{\caption@wrapfloat{#1}}% \expandafter\let\csname caption@OUR@wrap#1\expandafter\endcsname \csname wrap#1\endcsname \fi}% % \end{macrocode} % \end{macro} % +% \begin{macro}{\caption@wrapfloat} +% \begin{macrocode} + \newcommand*\caption@wrapfloat[1]{% + \caption@settype*{#1}% + \float@ifstyle{#1}{% + \ifx\WF@floatstyhook\@undefined + \caption@Error{% + For a successful cooperation of the `wrapfig' package\MessageBreak + with the `float' package you should use at least\MessageBreak + `wrapfig' version 3.6}% + \else + \float@dostyle{#1}% + \fi}{}% + \caption@clearmargin + \caption@setoptions{wrapfloat}% + \caption@setoptions{wrap#1}% + \@nameuse{caption@ORI@wrap#1}}% +% \end{macrocode} +% \end{macro} +% % Now we redefine the \package{wrapfig} environments we know about.\par % If someone has placed a |\newfloat| right between |\usepackage{wrapfig}| % and |\usepackage{caption}| (or loads \thispackage\ first, so all these @@ -6067,6 +6169,13 @@ \caption@restylewrapfloat{table}% % \end{macrocode} % +% \changes{v3.1a}{2007/09/07}{\cs{DeclareFloatingEnvironment} defines wrap-variant, too} +% \begin{macrocode} + \ForFloatingEnvironments{% + \newenvironment{wrap#1}{\wrapfloat{#1}}{\endwrapfloat}% + \caption@restylewrapfloat{#1}}% +% \end{macrocode} +% % \begin{macrocode} \ifx\WF@floatstyhook\@undefined \else % wrapfig v3.6 % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/caption/caption2.dtx b/Master/texmf-dist/source/latex/caption/caption2.dtx index f315613407d..b6a52d38b00 100644 --- a/Master/texmf-dist/source/latex/caption/caption2.dtx +++ b/Master/texmf-dist/source/latex/caption/caption2.dtx @@ -30,7 +30,7 @@ %<*driver> \NeedsTeXFormat{LaTeX2e}[1994/12/01] \ProvidesFile{caption2.drv}% - [2007/08/12 v2.2 Documentated code of the (obsolete) caption2 package] + [2007/09/10 v2.2 Documentated code of the (obsolete) caption2 package] \hbadness=9999 \newcount\hbadness \hfuzz=100pt % Make TeX shut up. %\errorcontextlines=3 % @@ -105,7 +105,7 @@ % very far with this\ldots % % In 2003 I finally found some (more) time, so a new regular release $3.0$ -% of the \package{caption} package could be build with massive help from +% of the \package{caption} package could be build in coorparation with % Frank Mittelbach and Steven Cochran. % It was released in December 2003 and superseded the neglected % \package{caption2} package. @@ -642,9 +642,12 @@ % These options will enable or suppress the support of the packages % \textsf{float}, \textsf{longtable}, and \textsf{subfigure}. % \begin{macrocode} -\DeclareOption{float}{\caption@twozerofalse\caption@setpackage{float}{1}} -\DeclareOption{longtable}{\caption@twozerofalse\caption@setpackage{longtable}{1}} -\DeclareOption{subfigure}{\caption@twozerofalse\caption@setpackage{subfigure}{1}} +\DeclareOption{float}{% + \caption@twozerofalse\caption@setpackage{float}{1}} +\DeclareOption{longtable}{% + \caption@twozerofalse\caption@setpackage{longtable}{1}} +\DeclareOption{subfigure}{% + \caption@twozerofalse\caption@setpackage{subfigure}{1}} % \end{macrocode} % \end{macro} % \end{macro} diff --git a/Master/texmf-dist/tex/latex/caption/caption.sty b/Master/texmf-dist/tex/latex/caption/caption.sty index bd69e94cb18..653e9a4ec52 100644 --- a/Master/texmf-dist/tex/latex/caption/caption.sty +++ b/Master/texmf-dist/tex/latex/caption/caption.sty @@ -28,10 +28,10 @@ %% caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption}[2007/09/01 v3.1 Customising captions (AR)] +\ProvidesPackage{caption}[2007/09/16 v3.1a Customising captions (AR)] \newcommand*\caption@Info[1]{\PackageInfo{caption}{#1\@gobble}} \@onlypreamble\caption@Info -\RequirePackage{caption3}[2007/09/01] % needs v3.1 or newer +\RequirePackage{caption3}[2007/09/16] % needs v3.1a or newer \@ifpackageloaded{caption2}{% \caption@Error{% You can't use both, the (obsolete) caption2 *and*\MessageBreak @@ -88,15 +88,15 @@ \else \@tablecaptionabovefalse \fi - \def\onelinecaptionstrue{\captionsetup{singlelinecheck=1}} - \def\onelinecaptionsfalse{\captionsetup{singlelinecheck=0}} + \def\onelinecaptionstrue{\let\caption@ifslc\@firstoftwo} + \def\onelinecaptionsfalse{\let\caption@ifslc\@secondoftwo} \ifonelinecaptions \onelinecaptionstrue \else \onelinecaptionsfalse \fi - \def\@captionabovetrue{\captionsetup{position=t}} - \def\@captionabovefalse{\captionsetup{position=b}} + \def\@captionabovetrue{\let\caption@position\@firstoftwo} + \def\@captionabovefalse{\let\caption@position\@secondoftwo} \let\caption@KOMA@setcapindent\@setcapindent \renewcommand*\@setcapindent[1]{% \caption@KOMA@setcapindent{#1}\caption@setcapindent} @@ -924,6 +924,8 @@ \caption@defrost \end\@captype}% }% + \ForFloatingEnvironments{% + \newenvironment{FP#1}{\FP@floatBegin{#1}}{\FP@floatEnd}}% }{% \let\caption@ifFPlistcap\@undefined \let\caption@ifFPrefcap\@undefined @@ -1038,27 +1040,30 @@ \caption@ORI@lst@MakeCaption{#1}% \caption@end}% \providecommand*\ext@lstlisting{lol}% - \g@addto@macro\caption@settypehook{\let\lst@@caption\relax}% }{} \providecommand*\LTcaptype{table} \caption@IfPackageLoaded{longtable}[1995/05/24 v3.14]{% \RequirePackage{ltcaption}[2007/09/01]% \let\LT@@makecaption\@undefined - \let\caption@ORI@LT@array\LT@array - \renewcommand*\LT@array{% - \global\let\caption@opt@@longtable\@undefined - \def\captionsetup##1{\noalign{% - \@captionsetup\@gobble[@longtable]{##1}% - \global\let\caption@opt@@longtable\caption@opt@@longtable}}% - \def\captionlistentry##1{\noalign{% - \caption@listentry[\LTcaptype]{##1}}}% - \def\ContinuedFloat{\noalign{% - \caption@Error{\noexpand\ContinuedFloat outside float}}}% - \caption@ORI@LT@array}% -\def\LT@c@ption#1[#2]#3{% - \LT@makecaption#1{\csname fnum@\LTcaptype\endcsname}{#3}% - \def\@currentlabelname{#2}% - \caption@addcontentsline\LTcaptype{#2}}% + \caption@AtBeginDocument{% + \let\caption@ORI@LT@array\LT@array + \renewcommand*\LT@array{% + \global\let\caption@opt@@longtable\@undefined + \def\captionsetup##1{\noalign{\LT@captionsetup{##1}}}% + \def\LT@captionsetup##1{% + \@captionsetup\@gobble[@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\ContinuedFloat{\noalign{% + \caption@Error{\noexpand\ContinuedFloat outside float}}}% + \caption@ORI@LT@array}}% + \def\LT@c@ption#1[#2]#3{% + \LT@makecaption#1{\csname fnum@\LTcaptype\endcsname}{#3}% + \def\@currentlabelname{#2}% + \caption@addcontentsline\LTcaptype{#2}}% \renewcommand\LT@makecaption[3]{% \caption@LT@make{% \caption@startrue#1\caption@starfalse @@ -1169,6 +1174,9 @@ \nobreak\hspace{12pt}}% \newcommand\caption@makerot[2]{% \begin{minipage}\captionwidth\caption@@make{#1}{#2}\end{minipage}}% + \ForFloatingEnvironments{% + \newenvironment{sideways#1}{\@rotfloat{#1}}{\end@rotfloat}% + \newenvironment{sideways#1*}{\@rotdblfloat{#1}}{\end@rotdblfloat}}% }{} \caption@IfPackageLoaded{sidecap}[1999/05/11 v1.4d]{% \caption@setbool{needfreeze}{1}% @@ -1198,18 +1206,29 @@ \def\SC@orig@caption[##1]##2{\caption@defrost}% \caption@setSC@justify % for compatibility mode \caption@ORI@endSC@FLOAT}% + \ForFloatingEnvironments{% + \newenvironment{SC#1}% + {\SC@float[\@nameuse{SC@#1@vpos}]{#1}}{\endSC@float}% + \newenvironment{SC#1*}% + {\SC@dblfloat[\@nameuse{SC@#1@vpos}]{#1}}{\endSC@dblfloat}}% }{} \caption@IfPackageLoaded{subfigure}[2002/01/23 v2.1]{% \def\sf@ifpositiontop{% - \@ifundefined{if\@captype topcap}{% - \@gobbletwo - }{% - \@nameuse{if\@captype topcap}% - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }}% + \ifx\@captype\@undefined + \expandafter\@gobbletwo + \else\ifx\@captype\relax + \expandafter\expandafter\expandafter\@gobbletwo + \else + \expandafter\expandafter\expandafter\sf@if@position@top + \fi\fi} + \def\sf@if@position@top{% + \@ifundefined{if\@captype topcap}% + {\@gobbletwo}% + {\@nameuse{if\@captype topcap}% + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi}} }{} \caption@IfPackageLoaded{supertabular}[2002/07/19 v4.1e]{% \let\caption@ORI@tablecaption\tablecaption @@ -1276,26 +1295,30 @@ \else \expandafter\let\csname caption@ORI@wrap#1\expandafter\endcsname \csname wrap#1\endcsname - \@namedef{wrap#1}{% - \caption@settype*{#1}% - \float@ifstyle{#1}{% - \ifx\WF@floatstyhook\@undefined - \caption@Error{% - For a successful cooperation of the `wrapfig' package\MessageBreak - with the `float' package you should use at least\MessageBreak - `wrapfig' version 3.6}% - \else - \float@dostyle{#1}% - \fi}{}% - \caption@clearmargin - \caption@setoptions{wrapfloat}% - \caption@setoptions{wrap#1}% - \@nameuse{caption@ORI@wrap#1}}% + \@namedef{wrap#1}{\caption@wrapfloat{#1}}% \expandafter\let\csname caption@OUR@wrap#1\expandafter\endcsname \csname wrap#1\endcsname \fi}% + \newcommand*\caption@wrapfloat[1]{% + \caption@settype*{#1}% + \float@ifstyle{#1}{% + \ifx\WF@floatstyhook\@undefined + \caption@Error{% + For a successful cooperation of the `wrapfig' package\MessageBreak + with the `float' package you should use at least\MessageBreak + `wrapfig' version 3.6}% + \else + \float@dostyle{#1}% + \fi}{}% + \caption@clearmargin + \caption@setoptions{wrapfloat}% + \caption@setoptions{wrap#1}% + \@nameuse{caption@ORI@wrap#1}}% \caption@restylewrapfloat{figure}% \caption@restylewrapfloat{table}% + \ForFloatingEnvironments{% + \newenvironment{wrap#1}{\wrapfloat{#1}}{\endwrapfloat}% + \caption@restylewrapfloat{#1}}% \ifx\WF@floatstyhook\@undefined \else % wrapfig v3.6 \@ifundefined{float@restyle}{}{% \toks@=\expandafter{\float@restyle{#1}% (env may or may not be defined) diff --git a/Master/texmf-dist/tex/latex/caption/caption2.sty b/Master/texmf-dist/tex/latex/caption/caption2.sty index 5fec636caf7..c23bfbcec24 100644 --- a/Master/texmf-dist/tex/latex/caption/caption2.sty +++ b/Master/texmf-dist/tex/latex/caption/caption2.sty @@ -185,9 +185,12 @@ \DeclareOption{oneline}{\onelinecaptionstrue} \DeclareOption{nooneline}{\onelinecaptionsfalse} \newcommand*\caption@setpackage[1]{\@namedef{caption@pkt@#1}} -\DeclareOption{float}{\caption@twozerofalse\caption@setpackage{float}{1}} -\DeclareOption{longtable}{\caption@twozerofalse\caption@setpackage{longtable}{1}} -\DeclareOption{subfigure}{\caption@twozerofalse\caption@setpackage{subfigure}{1}} +\DeclareOption{float}{% + \caption@twozerofalse\caption@setpackage{float}{1}} +\DeclareOption{longtable}{% + \caption@twozerofalse\caption@setpackage{longtable}{1}} +\DeclareOption{subfigure}{% + \caption@twozerofalse\caption@setpackage{subfigure}{1}} \DeclareOption{none}{\caption@twozerofalse \caption@setpackage{float}{0}\caption@setpackage{longtable}{0}% \caption@setpackage{subfigure}{0}} diff --git a/Master/texmf-dist/tex/latex/caption/caption3.sty b/Master/texmf-dist/tex/latex/caption/caption3.sty index 5488a81fb14..14a28367e74 100644 --- a/Master/texmf-dist/tex/latex/caption/caption3.sty +++ b/Master/texmf-dist/tex/latex/caption/caption3.sty @@ -28,7 +28,7 @@ %% caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption3}[2007/09/01 v3.1 caption3 kernel (AR)] +\ProvidesPackage{caption3}[2007/09/16 v3.1a caption3 kernel (AR)] \providecommand*\@nameundef[1]{% \expandafter\let\csname #1\endcsname\@undefined} \providecommand\l@addto@macro[2]{% @@ -437,11 +437,14 @@ \expandafter\let\expandafter\caption@fmt\csname caption@fmt@#1\endcsname}} \DeclareCaptionFormat{plain}{#1#2#3\par} \DeclareCaptionFormat{hang}{% - \@hangfrom{#1#2}% - \advance\caption@parindent\hangindent - \advance\caption@hangindent\hangindent - \caption@@par - #3\par} + \caption@ifin@list\caption@lsepcrlist\caption@lsepname + {\caption@Error{% + The option `labelsep=\caption@lsepname' does not work\MessageBreak + with `format=hang'}}% + {\@hangfrom{#1#2}% + \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} \newcommand*\DeclareCaptionLabelFormat[2]{% @@ -461,14 +464,21 @@ \@onlypreamble\DeclareCaptionLabelSeparator \newcommand\caption@declarelabelseparator[3]{% \global\expandafter\let\csname caption@iflf@#2\endcsname#1% - \global\long\@namedef{caption@lsep@#2}{#3}} + \global\long\@namedef{caption@lsep@#2}{#3}% + \caption@@declarelabelseparator{#2}#3\\\@nil} \@onlypreamble\caption@declarelabelseparator +\long\def\caption@@declarelabelseparator#1#2\\#3\@nil{% + \def\@tempa{#3}\ifx\@tempa\@empty \else + \caption@g@addto@list\caption@lsepcrlist{#1}% + \fi} +\@onlypreamble\caption@@declarelabelseparator \DeclareCaptionOption{labelsep}{\caption@setlabelseparator{#1}} \DeclareCaptionOption{labelseparator}{\caption@setlabelseparator{#1}} \newcommand*\caption@setlabelseparator[1]{% \@ifundefined{caption@lsep@#1}% {\caption@Error{Undefined label separator `#1'}}% - {\expandafter\let\expandafter\caption@iflf\csname caption@iflf@#1\endcsname + {\edef\caption@lsepname{#1}% + \expandafter\let\expandafter\caption@iflf\csname caption@iflf@#1\endcsname \expandafter\let\expandafter\caption@lsep\csname caption@lsep@#1\endcsname}} \DeclareCaptionLabelSeparator{none}{} \DeclareCaptionLabelSeparator{colon}{: } @@ -687,11 +697,9 @@ \DeclareCaptionOption{debug}[1]{% \caption@set@bool\caption@ifdebug{#1}% \let\caption@iftypewarning\caption@ifdebug - \caption@ifdebug{% - \def\caption@Debug{\PackageInfo{caption}}% - }{% - \let\caption@Debug\@gobble - }} + \caption@ifdebug + {\def\caption@Debug{\PackageInfo{caption}}}% + {\let\caption@Debug\@gobble}} \DeclareOption{debug}{\setkeys{caption}{debug}} \setkeys{caption}{debug=0} \caption@CheckCommand\@makecaption{\let\@makecaption\@undefined} @@ -830,7 +838,11 @@ \fi}} \DeclareCaptionFormat{default}{% \ifdofullc@p - \caption@fmt@hang{#1}{#2}{#3}% + \caption@ifin@list\caption@lsepcrlist\caption@lsepname + {\caption@Error{% + The option `labelsep=\caption@lsepname' does not work\MessageBreak + with \noexpand\setcaphanging (which is set by default)}}% + {\caption@fmt@hang{#1}{#2}{#3}}% \else #1#2% \ifdim\cap@indent<\z@ @@ -1061,48 +1073,71 @@ \caption@ifempty\@unused} \newcommand*\caption@@par{% \parindent\caption@parindent\hangindent\caption@hangindent}% -\providecommand*\DeclareFloatingEnvironment[1]{% +\providecommand*\DeclareFloatingEnvironment{% + \@ifnextchar[%] + \caption@@DeclareFloatingEnvironment\caption@DeclareFloatingEnvironment} +\@onlypreamble\DeclareFloatingEnvironment +\newcommand*\caption@DeclareFloatingEnvironment[1]{% + \caption@@DeclareFloatingEnvironment[lo#1]{#1}} +\@onlypreamble\caption@DeclareFloatingEnvironment +\def\caption@@DeclareFloatingEnvironment[#1]#2{% \@ifundefined{c@chapter}% - {\newcounter{#1}% - \@namedef{the#1}{\arabic{#1}}% - \@namedef{theH#1}{\arabic{#1}}}% - {\newcounter{#1}[chapter]% - \@namedef{the#1}{\ifnum\c@chapter>\z@ \thechapter.\fi \arabic{#1}}% - \@namedef{theH#1}{\theHchapter.\arabic{#1}}}% - \@namedef{fps@#1}{tbp}% - \@ifundefined{c@float@type}{% - \newcounter{float@type}% - \setcounter{float@type}{\@ifundefined{c@figure}14}}{}% - \expandafter\xdef\csname ftype@#1\endcsname{\the\value{float@type}}% + {\newcounter{#2}% + \@namedef{the#2}{\arabic{#2}}% + \@namedef{theH#2}{\arabic{#2}}}% + {\newcounter{#2}[chapter]% + \@namedef{the#2}{\ifnum\c@chapter>\z@ \thechapter.\fi \arabic{#2}}% + \@namedef{theH#2}{\theHchapter.\arabic{#2}}}% + \@namedef{fps@#2}{tbp}% + \@ifundefined{c@float@type}% + {\newcounter{float@type}% + \setcounter{float@type}{\@ifundefined{c@figure}14}}% + {}% + \caption@Debug{float type `#2'=\the\value{float@type}}% + \expandafter\xdef\csname ftype@#2\endcsname{\the\value{float@type}}% \addtocounter{float@type}{\value{float@type}}% - \@namedef{ext@#1}{lo#1}% - \@namedef{fnum@#1}{\@nameuse{#1name}\nobreakspace\@nameuse{the#1}}% - \newenvironment{#1}{\@float{#1}}{\end@float}% - \newenvironment{#1*}{\@dblfloat{#1}}{\end@dblfloat}% - \expandafter\newcommand\csname listof#1s\endcsname{\begingroup - \expandafter\let\expandafter\listfigurename\csname list#1name\endcsname - \expandafter\let\expandafter\ext@figure\csname ext@#1\endcsname + \@namedef{ext@#2}{#1}% + \@namedef{fnum@#2}{\@nameuse{#2name}\nobreakspace\@nameuse{the#2}}% + \newenvironment{#2}{\@float{#2}}{\end@float}% + \newenvironment{#2*}{\@dblfloat{#2}}{\end@dblfloat}% + \expandafter\newcommand\csname listof#2s\endcsname{\begingroup + \expandafter\let\expandafter\listfigurename\csname list#2name\endcsname + \expandafter\let\expandafter\ext@figure\csname ext@#2\endcsname \let\caption@ORI@starttoc\@starttoc \renewcommand*\@starttoc[1]{% \expandafter\caption@ORI@starttoc\expandafter{\ext@figure}}% \listoffigures \endgroup}% \@ifundefined{l@figure}% - {\@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}}% - {\expandafter\let\csname l@#1\endcsname\l@figure}% - \expandafter\newcommand\csname #1name\endcsname{}% + {\@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#1\@nil}}% + \def\noexpand\@tempa{\expandafter\noexpand\@car#2\@nil}}% \uppercase\expandafter{\@tempa}% \edef\@tempb{% - \noexpand\g@addto@macro\noexpand\@tempa{\expandafter\@cdr#1\@nil}}% + \noexpand\g@addto@macro\noexpand\@tempa{\expandafter\@cdr#2\@nil}}% \@tempb - \expandafter\let\csname #1name\endcsname\@tempa - \expandafter\newcommand\csname list#1name\endcsname{}% - \expandafter\xdef\csname list#1name\endcsname{List of \@tempa s}% - \@cons\caption@floatlist{{#1}}} -\@onlypreamble\DeclareFloatingEnvironment + \expandafter\let\csname #2name\endcsname\@tempa + \expandafter\newcommand\csname list#2name\endcsname{}% + \expandafter\xdef\csname list#2name\endcsname{List of \@tempa s}% + \@cons\caption@floatlist{{#2}}% + \@ifnextchar[{\caption@@@DeclareFloatingEnvironment{#2}}\relax} +\@onlypreamble\caption@@DeclareFloatingEnvironment +\def\caption@@@DeclareFloatingEnvironment#1[#2]{% + \@namedef{#1name}{#2}% + \@ifnextchar[{\caption@@@@DeclareFloatingEnvironment{#1}}\relax} +\@onlypreamble\caption@@@DeclareFloatingEnvironment +\def\caption@@@@DeclareFloatingEnvironment#1[#2]{% + \@namedef{list#1name}{#2}} +\@onlypreamble\caption@@@@DeclareFloatingEnvironment \newcommand*\caption@floatlist{} +\providecommand\ForFloatingEnvironments[1]{% + \caption@AtBeginDocument{% + \def\@elt##1{#1}% + \caption@floatlist + \let\@elt\relax}}% +\@onlypreamble\ForFloatingEnvironments \caption@AtBeginDocument{% \def\@tempa{\@ifstar\sf@@subref\sf@subref}% \ifx\subref\@tempa -- cgit v1.2.3