From 662cda48313c1615e5b117f827f245bd4a4fc22a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 11 Oct 2011 22:51:57 +0000 Subject: caption (11oct11) git-svn-id: svn://tug.org/texlive/trunk@24268 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/caption/bicaption.sty | 145 ++++++++++--- Master/texmf-dist/tex/latex/caption/caption.sty | 237 +++++++++++---------- Master/texmf-dist/tex/latex/caption/caption2.sty | 12 +- Master/texmf-dist/tex/latex/caption/caption3.sty | 144 +++++++++---- Master/texmf-dist/tex/latex/caption/ltcaption.sty | 8 +- Master/texmf-dist/tex/latex/caption/subcaption.sty | 17 +- 6 files changed, 373 insertions(+), 190 deletions(-) (limited to 'Master/texmf-dist/tex/latex/caption') diff --git a/Master/texmf-dist/tex/latex/caption/bicaption.sty b/Master/texmf-dist/tex/latex/caption/bicaption.sty index 84f774ff430..626974a46bc 100644 --- a/Master/texmf-dist/tex/latex/caption/bicaption.sty +++ b/Master/texmf-dist/tex/latex/caption/bicaption.sty @@ -29,8 +29,12 @@ %% caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{bicaption}[2011/08/12 v0.9b Bilingual Captions (AR)] -\RequirePackage{caption}[2011/08/12] % needs v3.2a or newer +\ProvidesPackage{bicaption}[2011/09/03 v1.0 Bilingual Captions (AR)] +\RequirePackage{caption}[2011/08/28] % needs v3.2c or newer +\caption@AtBeginDocument{\caption@ifcompatibility{% + \caption@Error{% + The `bicaption' package does not work correctly\MessageBreak + in compatibility mode}}{}} \newcommand*\bicaption@Warning[1]{% \bicaption@WarningNoLine{#1\on@line}} \newcommand*\bicaption@WarningNoLine[1]{% @@ -62,10 +66,14 @@ \DeclareCaptionOption{lang}{\def\bicaption@language{#1}} \let\KV@caption@language\KV@caption@lang \newcommand*\bicaption@selectlanguage{% + \@ifstar + {\bicaption@select@language\select@language} + {\bicaption@select@language\selectlanguage}} +\newcommand*\bicaption@select@language[1]{% \caption@ifundefined\bicaption@language{}{% - \expandafter\selectlanguage\expandafter{\bicaption@language}}} + \expandafter#1\expandafter{\bicaption@language}}} \g@addto@macro\caption@applyfont{% - \bicaption@selectlanguage} + \bicaption@selectlanguage*} \g@addto@macro\caption@prepareslc{% \let\bicaption@language\@undefined} \caption@ExecuteOptions{caption}{bi-lang=0,bi-slc=1,bi-swap=0} @@ -77,57 +85,140 @@ \fi \caption@SetupOptions{bicaption}{\captionsetup[bi-second]{#2}}% \caption@ProcessOptions*{bicaption} +\let\caption@kernel@addcontentsline@ORI\caption@kernel@addcontentsline +\renewcommand*\caption@kernel@addcontentsline[2]{% + \caption@ifundefined\bicaption@lentry + {\caption@kernel@addcontentsline@ORI{#1}{#2}}% + {\expandafter\bicaption@addcontentsline\expandafter{\bicaption@lentry}{#1}{#2}% + \global\let\bicaption@lentry\@undefined}} +\newcommand\bicaption@addcontentsline[3]{% + \begingroup + \caption@setoptions{bi}% + \ifnum\bicaption@lang=2\relax \else + \begingroup + \caption@setoptions{bi-first}% + \bicaption@@addcontentsline{#2}{#3}% + \endgroup + \fi + \ifnum\bicaption@lang=1\relax \else + \begingroup + \caption@setoptions{bi-second}% + \bicaption@@addcontentsline{#2}{#1}% + \endgroup + \fi + \endgroup} +\newcommand*\bicaption@@addcontentsline[2]{% + \caption@ifcontentsline{#2}{% + \bicaption@selectlanguage\relax + \caption@kernel@addcontentsline@ORI{#1}{#2}}} \let\caption@@make@ORI\caption@@make \renewcommand\caption@@make[2]{% \caption@ifundefined\bicaption@text {\caption@@make@ORI{#1}{#2}}% - {\bicaption@@make{#1}{#2}{\bicaption@text}% - \global\let\bicaption@label\@undefined + {\expandafter\bicaption@@make\expandafter{\bicaption@text}{#1}{#2}% \global\let\bicaption@text\@undefined}} \newcommand\bicaption@@make[3]{% \caption@setoptions{bi}% \ifnum\bicaption@lang=0\relax \bicaption@ifslc - {\caption@@slc{#1}{#2}{\captionwidth}{}% + {\caption@@slc{#2}{#3}{\captionwidth}{}% {\caption@set@bool\caption@ifslc0}% - \caption@@slc{#1}{#3}{\captionwidth}{}% + \caption@@slc{#2}{#1}{\captionwidth}{}% {\caption@set@bool\caption@ifslc0}}% {}% \fi \ifnum\bicaption@lang=2\relax - \ifx\bicaption@label\@empty\else - \expandafter\label\expandafter{\bicaption@label}% - \fi + \bicaption@label + \global\let\bicaption@label\relax \else \begingroup \caption@setoptions{bi-first}% - \caption@@make@ORI{#1}{#2}% + \caption@@make@ORI{#2}{#3}% \endgroup \fi \ifnum\bicaption@lang=1\relax \else \begingroup \caption@setoptions{bi-second}% - \caption@@make@ORI{#1}{#3}% + \caption@@make@ORI{#2}{#1}% \endgroup \fi} -\newcommand\bicaption@setup[2]{% - \bicaption@getlabel#1\label{}\@nil - \global\long\def\bicaption@text{\ignorespaces#2}} -\long\def\bicaption@getlabel#1\label#2#3\@nil{% - \global\def\bicaption@label{#2}} -\newcommand*\@bicaption[1]{% - \let\bicaption@cmd#1% - \caption@withoptargs\@@bicaption} -\newcommand\@@bicaption[3]{% - \bicaption@ifswap - {\bicaption@setup{#2}{#2}% - \bicaption@cmd#1{#3}}% - {\bicaption@setup{#2}{#3}% - \bicaption@cmd#1{#2}}} \newcommand\bicaption{\@bicaption\caption} +\newcommand\bicaptionbox{\@bicaption\captionbox} \newcommand\bisubcaption{\@bicaption\subcaption} +\let\subbicaption\bisubcaption \newcommand\bisubcaptionbox{\@bicaption\subcaptionbox} +\let\subbicaptionbox\bisubcaptionbox +\newcommand*\@bicaption[1]{% + \def\bicaption@cmd{#1}% + \@ifstar + {\l@addto@macro\bicaption@cmd*% + \@@bicaption}% + {\caption@dblarg\@@@bicaption}} +\newcommand\@@bicaption[1]{% + \@@@@bicaption{}{#1}[]} +\long\def\@@@bicaption[#1]#2{% + \caption@dblarg{\@@@@bicaption{#1}{#2}}} +\long\def\@@@@bicaption#1#2[#3]#4{% + \bicaption@getlabel#2\label{}\@nil + \bicaption@ifswap + {\bicaption@setup{#1}{#2}% + \bicaption@cmd[{#3}]{#4}}% + {\bicaption@setup{#3}{#4}% + \bicaption@cmd[{#1}]{#2}}} +\long\def\bicaption@getlabel#1\label#2#3\@nil{% + \def\@tempa{#2}% + \ifx\@tempa\@empty + \let\bicaption@label\relax + \else + \def\@tempb{*}% + \ifx\@tempa\@tempb + \def\bicaption@label{\label*}% + \bicaption@@getlabel#3\@nil + \else + \def\bicaption@label{\label}% + \bicaption@@getlabel{#2}#3\@nil + \fi + \fi} +\long\def\bicaption@@getlabel#1#2\@nil{% + \def\@tempa{#1}% + \def\@tempb{[}% + \ifx\@tempa\@tempb + \bicaption@@@getlabel#1#2\@nil + \else + \l@addto@macro\bicaption@label{{#1}}% + \fi} +\long\def\bicaption@@@getlabel[#1]#2\@nil{% + \l@addto@macro\bicaption@label{[{#1}]}% + \bicaption@@getlabel#2\@nil} +\newcommand\bicaption@setup[2]{% + \def\bicaption@lentry{#1}% + \def\bicaption@text{\ignorespaces#2}} +\AtBeginDocument{% + \ifx\caption@freeze\@undefined \else + \g@addto@macro\caption@freeze{% + \let\caption@frozen@bicaption\bicaption + \def\bicaption{% + \caption@withoptargs\caption@SC@bicaption}% + \long\def\caption@SC@bicaption#1#2{% + \@ifnextchar[%] + {\caption@SC@bi@caption{#1}{#2}}% + {\caption@SC@bi@caption@{#1}{#2}}}% + \long\def\caption@SC@bi@caption#1#2[#3]#4{% + \caption@@freeze{\bicaption#1{#2}[{#3}]{#4}}% + \ignorespaces}% + \long\def\caption@SC@bi@caption@#1#2#3{% + \caption@@freeze{\bicaption#1{#2}{#3}}% + \ignorespaces}% + \l@addto@macro\caption@warmup{% + \let\bicaption\caption@frozen@bicaption}}% + \fi} +\def\bicaption@declarelist#1{\@namedef{listof#1}{\bicaption@listof#1}} +\@onlypreamble\bicaption@declarelist +\def\bicaption@listof#1 {\@nameuse{listof#1}} +\caption@ifundefined\c@figure{}{\bicaption@declarelist{figure}} +\caption@ifundefined\c@table{}{\bicaption@declarelist{table}} +\caption@For{typelist}{\bicaption@declarelist{#1}} \endinput %% %% End of file `bicaption.sty'. diff --git a/Master/texmf-dist/tex/latex/caption/caption.sty b/Master/texmf-dist/tex/latex/caption/caption.sty index 0ea37e2194e..182fff51a05 100644 --- a/Master/texmf-dist/tex/latex/caption/caption.sty +++ b/Master/texmf-dist/tex/latex/caption/caption.sty @@ -29,8 +29,8 @@ %% caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption}[2011/08/18 v3.2b Customizing captions (AR)] -\RequirePackage{caption3}[2011/08/01] % needs v1.3 or newer +\ProvidesPackage{caption}[2011/09/30 v3.2c Customizing captions (AR)] +\RequirePackage{caption3}[2011/08/30] % needs v1.4 or newer \caption@ifbool{documentclass}{}{% \caption@WarningNoLine{% Unsupported document class (or package) detected,\MessageBreak @@ -92,6 +92,18 @@ \InputIfFileExists{#1.cfg}% {\typeout{*** Local configuration file #1.cfg used ***}}% {\caption@Warning{Configuration file #1.cfg not found}}} +\newcommand*\caption@setparboxrestore[1]{% + \caption@ifinlist{#1}{full}{% + \caption@setfullparboxrestore + }{\caption@ifinlist{#1}{default,light,partial}{% + \let\caption@parboxrestore\@secondoftwo + }{% + \caption@Error{Undefined parboxrestore `#1'}% + }}} +\newcommand*\caption@setfullparboxrestore{% + \let\caption@parboxrestore\@firstoftwo} +\DeclareCaptionOption{parboxrestore}{\caption@setparboxrestore{#1}} +\captionsetup{parboxrestore=default} \DeclareCaptionOption{@minipage}{% \caption@ifinlist{#1}{auto,default}% {\let\caption@if@minipage\@gobbletwo}% @@ -250,12 +262,13 @@ \caption@iftype {\caption@checkgrouplevel\@empty\caption \caption@star - {\caption@refstepcounter\@captype}% + {\@nameuse{donemaincaptiontrue}% + \caption@refstepcounter\@captype}% {\caption@dblarg{\@caption\@captype}}}% {\caption@Error{\noexpand\caption outside float}% - \caption@withoptargs\@gobbletwo}} + \caption@gobble}} \newcommand*\caption@star[2]{% - \@ifstar{\global\caption@startrue#2[]}{#1#2}} + \@ifstar{\caption@startrue#2[]}{#1#2}} \long\def\caption@@caption#1[#2]#3{% \ifcaption@star \else \caption@prepareanchor{#1}{#2}% @@ -366,6 +379,10 @@ \fi {\@dblarg{\Hy@tempa\@captype}}% }}% + \caption@CheckCommand\caption{% + % memhfixc.sty [2010/08/17 v1.15 nameref/hyperref package fixes for memoir class] + % \let\m@moldhypcaption\caption + \renewcommand{\caption}{\donemaincaptiontrue\m@moldhypcaption}}% \caption@IfCheckCommand{}{% \caption@InfoNoLine{% Incompatible package detected (regarding \string\caption).\MessageBreak @@ -709,15 +726,17 @@ \newcommand*\caption@undefinedlabel{% \protect\caption@xref{\caption@labelname}{\on@line}} \DeclareRobustCommand*\caption@xref[2]{% - \caption@WarningNoLine{\noexpand\label before \string\caption#2}% + \caption@WarningNoLine{\noexpand\label without proper \string\caption#2}% \@setref\relax\@undefined{#1}} \newcommand*\caption@labelname{??} -\newcommand*\caption@xlabel[1]{% - \caption@@xlabel - \def\caption@labelname{#1}% - \caption@x@label{#1}} -\newcommand*\caption@@xlabel{% - \global\let\caption@@xlabel\@empty +\newcommand*\caption@xlabel{% + \caption@withoptargs\caption@@xlabel} +\newcommand*\caption@@xlabel[2]{% + \caption@@@xlabel + \def\caption@labelname{#2}% + \caption@x@label#1{#2}} +\newcommand*\caption@@@xlabel{% + \global\let\caption@@@xlabel\@empty \@bsphack \protected@write\@auxout{}% {\string\providecommand*\string\caption@xref[2]{% @@ -844,18 +863,6 @@ \@ifundefined{fnum@#1}{\iftrue}{\ifx\caption@lfmt\caption@lfmt@default\else}% \@namedef{fnum@#1}{\caption@fnum{#1}}% \fi} -\newcommand*\caption@setparboxrestore[1]{% - \caption@ifinlist{#1}{full}{% - \let\caption@parboxrestore\@firstoftwo - }{\caption@ifinlist{#1}{default,light,partial}{% - \let\caption@parboxrestore\@secondoftwo - }{% - \caption@Error{Undefined parboxrestore `#1'}% - }}} -\newcommand*\caption@setfullparboxrestore{% - \let\caption@parboxrestore\@firstoftwo} -\DeclareCaptionOption{parboxrestore}{\caption@setparboxrestore{#1}} -\caption@setparboxrestore{default} \newcommand*\caption@boxrestore{% \caption@parboxrestore{\@parboxrestore}{% \let\if@nobreak\iffalse @@ -903,7 +910,7 @@ % no \caption or \subcaption in this (floating) environment yet \caption@Debug{Increment \@captype\ counter =\the\value\@captype}% \caption@l@stepcounter\@captype - \let\caption@@addcontentsline\caption@addsubcontentsline}% + \let\caption@@@addcontentsline\caption@addsubcontentsline}% \ifnum\csname caption@c@\@captype\endcsname=\value\@captype \else \caption@Debug{Reset sub\@captype\ counter}% \expandafter\xdef\csname caption@c@\@captype\endcsname{% @@ -920,8 +927,21 @@ \caption@setoptions{subfloat}% for subfig-package compatibility \let\caption\caption@subcaption \let\phantomcaption\caption@subphantom - \let\@makecaption\caption@makecaption + \if@subfloatrow + \caption@Debug{Keeping \string\@makecaption}% + \else + \let\@makecaption\caption@makecaption + \fi \fi}% +\caption@AtBeginDocument{% + \caption@ifundefined\@subfloatrowtrue + {\newif\if@subfloatrow + \caption@ifundefined\subfloatrow{}% + {\caption@Debug{Patching subfloatrow environment}% + \g@addto@macro\capsubrowsettings{\@subfloatrowtrue}% + \g@addto@macro\killfloatstyle{% + \ifx\c@FRobj\c@FRsobj\@subfloatrowtrue\fi}}}% + {\caption@Debug{\string\if@subfloatrow is already defined}}}% \newcommand*\caption@subcaption{% \caption@checkgrouplevel{sub}\subcaption \caption@star @@ -931,7 +951,7 @@ \caption@checkgrouplevel{sub}\phantomsubcaption \caption@refstepcounter\@subcaptype} \let\caption@kernel@addcontentsline\caption@addcontentsline -\renewcommand*\caption@addcontentsline[2]{% +\renewcommand\caption@addcontentsline[2]{% \sf@ifpositiontop{\@listsubcaptions{#1}}{}% \caption@kernel@addcontentsline{#1}{#2}% \sf@ifpositiontop{}{\@listsubcaptions{#1}}% @@ -943,14 +963,14 @@ \caption@clearsubcontentslines}% \newcommand*\caption@addsubcontentsline[4]{% \begingroup - \let\label\@gobble \let\index\@gobble \let\glossary\@gobble + \let\label\caption@gobble \let\index\caption@gobble \let\glossary\caption@gobble \protected@edef\@tempa{\endgroup \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\caption@@addcontentsline{#1}{#2}{#3}{#4}}}% + \protect\caption@@@addcontentsline{#1}{#2}{#3}{#4}}}% \@tempa} \newcommand*\caption@checksubcontentslines{% \ifx\caption@subcontentslines\@empty \else @@ -1060,80 +1080,71 @@ \caption@AtBeginDocument*{% \caption@ifneedfreeze{% \newcommand*\caption@freeze{% - \global\let\caption@SCcontinued\relax - \global\let\caption@SCsetup\@undefined - \global\let\caption@SClentry\@undefined - \global\let\caption@SCtext\@undefined - \global\let\caption@SClabel\@undefined \let\caption@frozen@ContinuedFloat\ContinuedFloat \def\ContinuedFloat{% \caption@withoptargs\caption@SC@ContinuedFloat}% \def\caption@SC@ContinuedFloat##1{% + \caption@@freeze{\ContinuedFloat##1}% \let\caption@frozen@setcounter\setcounter \let\caption@frozen@addtocounter\addtocounter \def\setcounter####1####2{\csname c@####1\endcsname####2\relax}% \def\addtocounter####1####2{\advance\csname c@####1\endcsname ####2\relax}% \caption@frozen@ContinuedFloat##1% - \global\let\caption@SCcontinued\caption@frozen@ContinuedFloat \let\setcounter\caption@frozen@setcounter \let\addtocounter\caption@frozen@addtocounter}% \let\caption@frozen@setup\caption@setup \def\caption@setup##1{% - \caption@g@addto@list\caption@SCsetup{##1}% + \caption@@freeze{\caption@setup{##1}}% \caption@frozen@setup{##1}}% - \let\caption@frozen\caption + \let\caption@frozen@caption\caption \def\caption{% - \def\caption{\caption@Error{% - Only one \noexpand\caption can be placed in this environment}}% - \let\captionsetup\caption@setup - \let\caption@@refstepcounter\caption@l@stepcounter - \caption@frozen}% - \let\caption@frozen@\@caption - \long\def\@caption##1[##2]##3{% - \gdef\caption@SClentry{##2}% - \gdef\caption@SCtext{##3}% - \let\@currentlabel\caption@SCcurrentlabel + \def\caption{% + \caption@Error{% + Only one \noexpand\caption can be placed in this environment}% + \caption@gobble}% + \@ifstar + {\caption@SC@caption*}% + {\let\caption@frozen@refstepcounter\caption@@refstepcounter + \let\caption@@refstepcounter\caption@l@stepcounter + \caption@refstepcounter\@captype + \let\caption@@refstepcounter\caption@frozen@refstepcounter + \let\@currentlabel\caption@SClabel + \caption@withoptargs\caption@SC@caption}}% + \long\def\caption@SC@caption##1##2{% + \caption@@freeze{\caption##1{##2}}% \ignorespaces}% \let\caption@frozen@label\label - \def\label##1{% - \ifx\@currentlabel\caption@SCcurrentlabel - \@bsphack\gdef\caption@SClabel{##1}\@esphack + \def\label{% + \caption@withoptargs\caption@SC@label}% + \def\caption@SC@label##1##2{% + \ifx\@currentlabel\caption@SClabel + \@bsphack + \caption@freeze@label{##1}{##2}% + \@esphack \else - \caption@frozen@label{##1}% + \caption@frozen@label##1{##2}% \fi}% - \def\caption@SCcurrentlabel{???}% - }% - \newcommand*\caption@warmup{% - \ifx\caption@frozen\@undefined\else + \def\caption@SClabel{\caption@undefinedlabel}% + \def\caption@freeze@label##1##2{% + \caption@@freeze{\label##1{##2}}}% + \global\let\caption@frozen@content\@empty + \long\def\caption@@freeze{% + \g@addto@macro\caption@frozen@content}% + \def\caption@warmup{% + \let\ContinuedFloat\caption@frozen@ContinuedFloat \let\caption@setup\caption@frozen@setup - \let\caption\caption@frozen - \let\@caption\caption@frozen@ - \let\label\caption@frozen@label - \fi} + \let\caption\caption@frozen@caption + \let\label\caption@frozen@label}}% \newcommand*\caption@defrost{% - \ifx\caption@frozen\@undefined - \caption@defrost@setup - \ifx\caption@SCtext\@undefined \else - \expandafter\expandafter\expandafter\caption - \expandafter\expandafter\expandafter[% - \expandafter\expandafter\expandafter{% - \expandafter\caption@SClentry\expandafter}\expandafter]% - \expandafter{\caption@SCtext}% - \fi - \ifx\caption@SClabel\@undefined \else - \expandafter\label\expandafter{\caption@SClabel}% - \fi + \ifx\caption@frozen@caption\@undefined + \caption@frozen@content \else \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}% - }{\let\caption@warmup\relax}% + }{}% \caption@undefbool{needfreeze}} +\let\caption@warmup\relax \caption@IfPackageLoaded{float}[2001/11/08 v1.3d]{% \@ifpackageloaded{floatrow}{% \caption@ifpackageloaded{floatrow}[2007/08/24 v0.2a]{}{}% @@ -1211,47 +1222,56 @@ }{} \caption@IfPackageLoaded{fltpage}[1998/10/29 v.0.3]{% \caption@setbool{needfreeze}{1}% + \renewcommand\FP@positionLabel{% + FP\FP@captype-\number\value{FP@\FP@captype C}-pos}% \renewcommand\FP@helpNote[2]{% \begingroup % save \caption@thepage \caption@pageref{#2}% \typeout{FP#1 is inserted on page \caption@thepage!}% \endgroup}% \renewcommand*\FP@floatBegin[1]{% - \def\@captype{#1}% - \let\FP@LabelText\@empty + \def\FP@captype{#1}% \begin{lrbox}{\FP@floatCorpusBOX}% + \caption@settype*{#1}% \caption@freeze + \global\let\FP@Label\@empty \caption@ifFPrefcap {}% - {\def\label##1{\@bsphack\gdef\FP@LabelText{##1}\@esphack}}% + {\def\caption@freeze@label##1##2{% + \g@addto@macro\FP@Label{\FP@label##1{##2}}}}% \ignorespaces}% \renewcommand*\FP@floatEnd{% \end{lrbox}% - \stepcounter{FP@\@captype C}% + \stepcounter{FP@\FP@captype C}% \caption@label\FP@positionLabel - \FP@helpNote\@captype\FP@positionLabel + \FP@helpNote\FP@captype\FP@positionLabel \edef\FP@RestoreCounter{% - \noexpand\setcounter{\@captype}{\the\value\@captype}% + \noexpand\setcounter{\FP@captype}{\the\value\FP@captype}% \noexpand\setcounter{ContinuedFloat}{\the\value{ContinuedFloat}}}% \FP@float {\FP@positionLabel}% location label test - {\begin\@captype[p!]% + {\begin\FP@captype[p!]% \usebox\FP@floatCorpusBOX - \caption@defrost@setup + \let\caption@SClentry\@empty + \def\caption{\caption@dblarg{\@caption\@captype}}% + \long\def\@caption##1[##2]##3{\def\caption@SClentry{##2}}% + \let\FP@label\label + \let\label\caption@gobble + \caption@defrost \caption@ifFPlistcap {\caption@refstepcounter\@captype \expandafter\caption@makecurrent\expandafter\@captype \expandafter{\caption@SClentry}}% - {\expandafter\captionlistentry\expandafter{\caption@SClentry}}% + {\ifx\caption@SClentry\@empty \else + \expandafter\captionlistentry\expandafter{\caption@SClentry}% + \fi}% \caption@makeanchor\relax - \ifx\FP@LabelText\@empty \else - \expandafter\label\expandafter{\FP@LabelText}% - \fi - \end\@captype}% + \FP@Label + \end\FP@captype}% {\FP@RestoreCounter - \@ifundefined{theH\@captype}{}{% - \expandafter\l@addto@macro\csname theH\@captype\endcsname{.FP}}}% - {\begin\@captype[b!]% + \@ifundefined{theH\FP@captype}{}{% + \expandafter\l@addto@macro\csname theH\FP@captype\endcsname{.FP}}}% + {\begin\FP@captype[b!]% \let\FP@savedSetfnumCommand\caption@setfnum \def\caption@setfnum##1{% \FP@savedSetfnumCommand{##1}% @@ -1264,7 +1284,7 @@ \FP@separatorCaption \caption@ifFPlistcap{}{\let\caption@addcontentsline\@gobbletwo}% \caption@defrost - \end\@captype}% + \end\FP@captype}% }% \caption@For{typelist}{% \newcounter{FP@#1C}% @@ -1275,17 +1295,22 @@ } \caption@IfPackageLoaded{hyperref}[2003/11/30 v6.74m]{% % Test if hyperref has stopped early - \caption@ifundefined\ifhyp@stoppedearly{% - \newif\ifhyp@stoppedearly - \caption@ifundefined\H@refstepcounter\hyp@stoppedearlytrue{% - \caption@ifundefined\hyper@makecurrent\hyp@stoppedearlytrue{% - \caption@ifundefined\measuring@true\hyp@stoppedearlytrue{}}}}{}% - \ifhyp@stoppedearly % hyperref has stopped early + \caption@ifundefined\IfHyperBoolean{% + \caption@set@bool\caption@ifhyp@stoppedearly0% + \caption@ifundefined\H@refstepcounter + {\caption@set@bool\caption@ifhyp@stoppedearly1}{% + \caption@ifundefined\hyper@makecurrent + {\caption@set@bool\caption@ifhyp@stoppedearly1}{% + \caption@ifundefined\measuring@true + {\caption@set@bool\caption@ifhyp@stoppedearly1}{}}}% + }{% + \def\caption@ifhyp@stoppedearly{\IfHyperBoolean{stoppedearly}}% + }% + \caption@ifhyp@stoppedearly{% hyperref has stopped early \caption@InfoNoLine{% Hyperref support is turned off\MessageBreak because hyperref has stopped early}% - \else - % + }{% \g@addto@macro\caption@prepareslc{\measuring@true}% \renewcommand*\caption@@refstepcounter{\H@refstepcounter}% \renewcommand*\caption@makecurrent[2]{% @@ -1372,7 +1397,7 @@ \renewcommand\float@makebox[1]{% \HyOrg@float@makebox{#1\relax \caption@defrostHref}}% }% - \fi}{} + }}{} \caption@IfPackageLoaded{hypcap}{% v1.0 \ifx\caption@start\relax \else % hyperref hasn't stopped early \let\caption@ORI@capstart\capstart % save for compatibility mode @@ -1549,9 +1574,8 @@ \newenvironment{sideways#1}{\@rotfloat{#1}}{\end@rotfloat}% \newenvironment{sideways#1*}{\@rotdblfloat{#1}}{\end@rotdblfloat}}% }{} -\caption@IfPackageLoaded{sidecap}[1999/05/11 v1.4d]{% +\caption@IfPackageLoaded{sidecap}[2003/06/06 v1.6f]{% \caption@setbool{needfreeze}{1}% - \caption@AtBeginDocument{\let\SC@caption=\caption}% \let\caption@ORI@SC@zfloat\SC@zfloat \def\SC@zfloat#1#2#3[#4]{% \caption@ORI@SC@zfloat{#1}{#2}{#3}[#4]% @@ -1572,11 +1596,10 @@ \caption@start}% \def\caption@setSC@justify{% \caption@clearmargin - \caption@ifundefined\SC@justify{}{% \ifx\SC@justify\@empty \else \let\caption@hj\SC@justify \let\SC@justify\@empty - \fi}}% + \fi}% \let\caption\SC@orig@caption \def\SC@orig@caption[##1]##2{\caption@defrost}% \caption@setSC@justify % for compatibility mode diff --git a/Master/texmf-dist/tex/latex/caption/caption2.sty b/Master/texmf-dist/tex/latex/caption/caption2.sty index ce153daef45..53525f205fd 100644 --- a/Master/texmf-dist/tex/latex/caption/caption2.sty +++ b/Master/texmf-dist/tex/latex/caption/caption2.sty @@ -29,7 +29,7 @@ %% caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption2}[2008/07/01 v2.2c Customising captions (AS)] +\ProvidesPackage{caption2}[2011/08/12 v2.2d Customising captions (AR)] \PackageWarning{caption2}{% ****************************************************\MessageBreak THIS PACKAGE IS OBSOLETE:\MessageBreak @@ -211,9 +211,9 @@ \fi \def\captionof{\@ifstar{\caption@of{\caption*}}{\caption@of\caption}} \newcommand*\caption@of[2]{\def\@captype{#2}#1} -\@ifundefined{abovecaptionskip}{% +\caption@ifundefined\abovecaptionskip{% \newlength\abovecaptionskip\setlength\abovecaptionskip{10\p@}}{} -\@ifundefined{belowcaptionskip}{% +\caption@ifundefined\belowcaptionskip{% \newlength\belowcaptionskip\setlength\belowcaptionskip{0\p@}}{} \newdimen\captionlinewidth \newdimen\realcaptionwidth @@ -240,7 +240,7 @@ \fi \fi\next} \newcommand*\usecaptionstyle[1]{% - \@ifundefined{captiontext}{% + \caption@ifundefined\captiontext{% \PackageError{caption2}{You can't use \protect#1 in normal text}{The usage of \protect#1 is only allowed inside code declared with\MessageBreak \protect\defcaptionstyle, @@ -307,7 +307,7 @@ \renewcommand*\caption@of[2]{\def\@captype{#2}% \@ifundefined{fst@#2}{}{% \@nameuse{fst@#2}% - \@ifundefined{@float@setevery}{}{\@float@setevery{#2}}% + \caption@ifundefined\@float@setevery{}{\@float@setevery{#2}}% \let\caption@fs@capt\@fs@capt \let\@fs@capt\caption@of@float}% #1} @@ -340,7 +340,7 @@ \hss}}} \fi} \newcommand*\setsubcapstyle{% - \@ifundefined{subcapraggedrightfalse}{% + \caption@ifundefined\subcapraggedrightfalse{% \newif\ifsubcapraggedright}{}% \ifsubcaphang \ifsubcapcenter diff --git a/Master/texmf-dist/tex/latex/caption/caption3.sty b/Master/texmf-dist/tex/latex/caption/caption3.sty index 8e1565c77f8..6945a8c6ac4 100644 --- a/Master/texmf-dist/tex/latex/caption/caption3.sty +++ b/Master/texmf-dist/tex/latex/caption/caption3.sty @@ -29,7 +29,7 @@ %% caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption3}[2011/08/18 v1.3b caption3 kernel (AR)] +\ProvidesPackage{caption3}[2011/10/09 v1.4 caption3 kernel (AR)] \providecommand*\@nameundef[1]{% \expandafter\let\csname #1\endcsname\@undefined} \providecommand\l@addto@macro[2]{% @@ -133,6 +133,8 @@ \caption@@withoptargs#1} \def\caption@@@@withoptargs#1{% \expandafter#1\expandafter{\caption@tempa}} +\DeclareRobustCommand*\caption@gobble{% + \caption@withoptargs\@gobbletwo} \newcommand\caption@DoCheckCommand[2]{% \begingroup \let\@tempa#1% @@ -316,18 +318,21 @@ \@bsphack \expandafter\let\csname ORI@KV@err\caption@keydepth\endcsname\KV@err \expandafter\let\csname ORI@KV@errx\caption@keydepth\endcsname\KV@errx + \expandafter\let\csname ORI@XKV@err\caption@keydepth\endcsname\XKV@err + \edef\caption@keydepth{\caption@keydepth i}% \expandafter\let\expandafter\KV@err\csname #1@KV@err\endcsname \ifx\KV@err\relax \def\KV@err##1{\PackageError{#1}{##1}{% See the #1 package documentation for explanation.}}% \fi - \let\KV@errx\KV@err - \edef\caption@keydepth{\caption@keydepth i}% + \def\KV@errx{\KV@err}% + \def\XKV@err{\let\@tempa\XKV@tkey\KV@err}% \caption@Debug{\protect\setkeys{#2}{#3}}% \setkeys{#2}{#3}% \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 + \expandafter\let\expandafter\XKV@err\csname ORI@XKV@err\caption@keydepth\endcsname \ifx\caption@keydepth\@empty \captionsetup@starfalse \fi \@esphack} \let\caption@keydepth\@empty @@ -635,6 +640,7 @@ \@ifundefined{caption@tfmt@#1}% {\caption@Error{Undefined text format `#1'}}% {\expandafter\let\expandafter\caption@tfmt\csname caption@tfmt@#1\endcsname}} +\DeclareCaptionTextFormat{empty}{} \DeclareCaptionTextFormat{simple}{#1} \DeclareCaptionTextFormat{period}{#1.} \def\caption@tfmt@default{\caption@tfmt@simple} @@ -828,6 +834,16 @@ \DeclareCaptionOption{list}[1]{\caption@setlist{#1}} \DeclareCaptionOption{listof}[1]{\caption@setlist{#1}} \newcommand*\caption@setlist{\caption@set@bool\caption@iflist} +\DeclareCaptionOption{listtype}{\caption@setlisttype{#1}} +\DeclareCaptionOption{listtype+}{\caption@setlisttype@ext{#1}} +\newcommand*\caption@setlisttype{% + \caption@setlisttype@ext{}% + \caption@@setlisttype\caption@listtype} +\newcommand*\caption@@setlisttype[2]{% + \edef#1{#2}% + \ifx#1\@empty \let#1\@undefined \fi} +\newcommand*\caption@setlisttype@ext{% + \caption@@setlisttype\caption@listtype@ext} \newcommand*\DeclareCaptionListFormat[2]{% \global\@namedef{caption@lstfmt@#1}##1##2{#2}} \@onlypreamble\DeclareCaptionListFormat @@ -1062,7 +1078,9 @@ \DeclareCaptionDefaultFont{textfont}{\CaptionTextFont} } \providecommand*\caption@ifthesisclass{% - \caption@ifundefined\cph@font{\@gobble}{\caption@ifundefined\cpb@font\@gobble\@firstofone}} + \caption@ifundefined\cph@font + {\@gobble}% + {\caption@ifundefined\cpb@font\@gobble\@firstofone}} \caption@ifthesisclass{% \caption@CheckCommand\@makecaption{% % thesis.cls 1996/25/01 1.0g LaTeX document class (wm). @@ -1176,22 +1194,42 @@ \captionsetup{style=default,position=default,% list,listformat=default,twoside=\if@twoside 1\else 0\fi} \ProcessOptions* -\newcommand*\caption@addcontentsline[2]{% +\newcommand\caption@addcontentsline[2]{% + \caption@ifcontentsline{#2}{% + \begingroup + \let\@tempa\@gobble + \caption@ifundefined\caption@listtype + {\edef\caption@listtype{#1}}% + {\let\@tempa\@firstofone}% + \caption@ifundefined\caption@listtype@ext + {}% + {\edef\caption@listtype{\caption@listtype\caption@listtype@ext}% + \let\@tempa\@firstofone}% + \@tempa + {\caption@Debug{addcontentsline: #1 => \caption@listtype}% + \@namedef{the\caption@listtype}{\@nameuse{the#1}}}% + \expandafter\caption@@addcontentsline\expandafter{\caption@listtype}{#2}% + \endgroup}} +\newcommand\caption@@addcontentsline[2]{% + {\let\\\space + \@ifundefined{ext@#1}% + {\caption@Error{No float type '#1' defined}}% + {\caption@@@addcontentsline + {\csname ext@#1\endcsname}% + {#1}% + {\caption@lstfmt{\@nameuse{p@#1}}{\@nameuse{the#1}}}% + {\ignorespaces #2}}}} +\newcommand*\caption@@@addcontentsline[4]{% + \addcontentsline{#1}{#2}{\protect\numberline{#3}{#4}}} +\newcommand\caption@ifcontentsline[1]{% \caption@iflist - {\def\@tempa{#2}}% + {\def\@tempa{#1}}% {\let\@tempa\@empty}% - \ifx\@tempa\@empty \else - {\let\\\space - \@ifundefined{ext@#1}% - {\caption@Error{No float type '#1' defined}}% - {\caption@@addcontentsline - {\csname ext@#1\endcsname}% - {#1}% - {\caption@lstfmt{\@nameuse{p@#1}}{\@nameuse{the#1}}}% - {\ignorespaces #2}}}% + \ifx\@tempa\@empty + \expandafter\@gobble + \else + \expandafter\@firstofone \fi} -\newcommand*\caption@@addcontentsline[4]{% - \addcontentsline{#1}{#2}{\protect\numberline{#3}{#4}}} \newif\ifcaption@star \newcommand*\caption@fnum[1]{\caption@lfmt{\@nameuse{#1name}}{\@nameuse{the#1}}} \newcommand\caption@make[2]{\caption@@make{\caption@lfmt{#1}{#2}}} @@ -1278,7 +1316,7 @@ \caption@xsetup\caption@opt@singleline \let\caption@fmt\caption@slfmt} \newcommand*\caption@prepareslc{% - \def\label{\caption@withoptargs\@gobbletwo}% + \let\label\caption@gobble \let\caption@footnote@ORI\footnote \def\footnote{\caption@withoptargs\caption@footnote}% \let\caption@footnotemark@ORI\footnotemark @@ -1396,14 +1434,7 @@ \expandafter\xdef\csname list#2name\endcsname{List of \@tempa s}% \@cons\caption@typelist{{#2}}% \caption@setkeys[caption]{caption@DCT}{#1}% - \caption@ifundefined\float@exts{\newtoks\float@exts}{}% - \let\float@do=\relax - \edef\@tempa{\noexpand\float@exts{\the\float@exts\float@do{\@nameuse{ext@#2}}}}% - \@tempa - \caption@ifundefined\float@addtolists{% - \newcommand\float@addtolists[1]{% - \def\float@do####1{\addtocontents{####1}{##1}}\the\float@exts}% - \caption@ifundefined\@chapter{}{\caption@PatchChapter}}{}% + \expandafter\caption@DeclareTypeExt\expandafter{\@nameuse{ext@#2}}{#2}% \@ifnextchar[\@@DeclareCaptionType\relax} \@onlypreamble\@DeclareCaptionType \def\@@DeclareCaptionType[#1]{% @@ -1415,17 +1446,44 @@ \@onlypreamble\@@@DeclareCaptionType \let\DeclareFloatingEnvironment\DeclareCaptionType % alternative command name \@onlypreamble\DeclareFloatingEnvironment -\newcommand*\caption@within@default{\caption@ifundefined\c@chapter{none}{chapter}} +\newcommand*\caption@DeclareTypeExt[2]{% + \caption@ifundefined\@chapter\relax\caption@PatchChapter + \let\caption@PatchChapter\relax + \@ifundefined{caption@ext@#1}{% + \@namedef{caption@ext@#1}{#2}% + \caption@ifundefined\float@exts{\newtoks\float@exts}{}% + \let\float@do=\relax + \edef\@tempa{\noexpand\float@exts{\the\float@exts\float@do{#1}}}% + \@tempa + \caption@ifundefined\caption@addtolists{% + \newcommand\caption@addtolists[1]{% + \def\float@do####1{\addtocontents{####1}{##1}}\the\float@exts}}{}% + \caption@ifundefined\addtotoclist{}{% + \addtotoclist[float]{#1}% + \setuptoc{#1}{chapteratlist}% + \@namedef{listof#1name}{\list#2name}}% + }{}% + \caption@ifundefined\contentsuse{}{% + \contentsuse{#2}{#1}}% +} +\@onlypreamble\caption@DeclareTypeExt +\newcommand*\caption@within@default{% + \caption@ifundefined\c@chapter{none}{chapter}} \@onlypreamble\caption@within@default -\newcommand*\caption@listof[1]{% - \begingroup - \expandafter\let\expandafter\listfigurename\csname list#1name\endcsname - \expandafter\let\expandafter\ext@figure\csname ext@#1\endcsname - \let\caption@ORI@starttoc\@starttoc - \renewcommand*\@starttoc[1]{% - \expandafter\caption@ORI@starttoc\expandafter{\ext@figure}}% - \listoffigures - \endgroup} +\caption@ifundefined\listoftoc{% + \newcommand*\caption@listof[1]{% + \begingroup + \expandafter\let\expandafter\listfigurename\csname list#1name\endcsname + \expandafter\let\expandafter\ext@figure\csname ext@#1\endcsname + \let\caption@ORI@starttoc\@starttoc + \renewcommand*\@starttoc[1]{% + \expandafter\caption@ORI@starttoc\expandafter{\ext@figure}}% + \listoffigures + \endgroup}% +}{% + \newcommand*\caption@listof[1]{% + \expandafter\listoftoc\expandafter{\@nameuse{ext@#1}}}% +} \newcommand*\caption@typelist{} \define@key{caption@DCT}{fileext}{\@namedef{ext@\caption@type}{#1}} \@onlypreamble@key{caption@DCT}{fileext} @@ -1501,7 +1559,7 @@ \ifdim \@chapterlistsgap>\z@ \addtocontents{lof}{\protect\addvspace{\@chapterlistsgap}}% \addtocontents{lot}{\protect\addvspace{\@chapterlistsgap}}% - \float@addtolists{\protect\addvspace{\@chapterlistsgap}}% + \caption@addtolists{\protect\addvspace{\@chapterlistsgap}}% \fi \if@twocolumn \@topnewpage[\@makechapterhead{##2}]% @@ -1549,7 +1607,7 @@ \ifdim \@chapterlistsgap>\z@ \addtocontents{lof}{\protect\addvspace{\@chapterlistsgap}}% \addtocontents{lot}{\protect\addvspace{\@chapterlistsgap}}% - \float@addtolists{\protect\addvspace{\@chapterlistsgap}}% + \caption@addtolists{\protect\addvspace{\@chapterlistsgap}}% \fi \if@twocolumn \@topnewpage[\@makechapterhead{##2}]% @@ -1583,7 +1641,7 @@ \ifdim \@chapterlistsgap>\z@ \addtocontents{lof}{\protect\addvspace{\@chapterlistsgap}}% \addtocontents{lot}{\protect\addvspace{\@chapterlistsgap}}% - \float@addtolists{\protect\addvspace{\@chapterlistsgap}}% + \caption@addtolists{\protect\addvspace{\@chapterlistsgap}}% \fi \@makechapterhead{##2}\@afterheading}% % scrreprt/scrbook.cls @@ -1622,7 +1680,7 @@ \ifdim \@chapterlistsgap>\z@ \addtocontents{lof}{\protect\addvspace{\@chapterlistsgap}}% \addtocontents{lot}{\protect\addvspace{\@chapterlistsgap}}% - \float@addtolists{\protect\addvspace{\@chapterlistsgap}}% + \caption@addtolists{\protect\addvspace{\@chapterlistsgap}}% \fi \if@twocolumn \@topnewpage[\@makechapterhead{##2}]% @@ -1670,7 +1728,7 @@ \ifdim \@chapterlistsgap>\z@ \addtocontents{lof}{\protect\addvspace{\@chapterlistsgap}}% \addtocontents{lot}{\protect\addvspace{\@chapterlistsgap}}% - \float@addtolists{\protect\addvspace{\@chapterlistsgap}}% + \caption@addtolists{\protect\addvspace{\@chapterlistsgap}}% \fi \if@twocolumn \@topnewpage[\@makechapterhead{##2}]% @@ -1740,7 +1798,7 @@ \ifdim \@chapterlistsgap>\z@ \addtocontents{lof}{\protect\addvspace{\@chapterlistsgap}}% \addtocontents{lot}{\protect\addvspace{\@chapterlistsgap}}% - \float@addtolists{\protect\addvspace{\@chapterlistsgap}}% + \caption@addtolists{\protect\addvspace{\@chapterlistsgap}}% \fi \if@twocolumn \@topnewpage[\@makechapterhead{##2}]% @@ -1810,6 +1868,8 @@ \caption@declaresublistentry{#3}% \@cons\caption@subtypelist{{#3}}}% {\caption@Debug{Modify caption `sub#3'}}% + \caption@ifundefined\contentsuse{}{% + \contentsuse{sub#3}{\csname ext@sub#3\endcsname}}% \@namedef{sub#3name}{}% \@namedef{sub#3autorefname}{\csname #3name\endcsname}% #1% is \@firstoftwo in star form, and \@secondoftwo otherwise diff --git a/Master/texmf-dist/tex/latex/caption/ltcaption.sty b/Master/texmf-dist/tex/latex/caption/ltcaption.sty index 9a326f141d0..a93c38c07b0 100644 --- a/Master/texmf-dist/tex/latex/caption/ltcaption.sty +++ b/Master/texmf-dist/tex/latex/caption/ltcaption.sty @@ -29,7 +29,7 @@ %% caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{ltcaption}[2011/01/01 v1.2a longtable captions (AR)] +\ProvidesPackage{ltcaption}[2011/09/12 v1.3 longtable captions (AR)] \@ifpackageloaded{longtable}{}{% \PackageError{ltcaption}{longtable package not loaded, aborting}{RTFM}} \providecommand*\LTcaptype{table} @@ -44,6 +44,7 @@ \newif\ifLTcapmargins \LTcapmarginstrue \providecommand*\CaptionLabelFont{} \providecommand*\CaptionTextFont{} + \providecommand*\CaptionLabelSeparator{:} } \@ifundefined{caption@AtBeginDocument}\AtBeginDocument\caption@AtBeginDocument{% \let\ltcaption@ORI@LT@array\LT@array @@ -80,9 +81,10 @@ \ignorespaces} \renewcommand\LT@makecaption[3]{% \LT@@makecaption{% - \sbox\@tempboxa{#1{{\CaptionLabelFont#2:} }\CaptionTextFont#3}% + \sbox\@tempboxa{% + #1{{\CaptionLabelFont#2\CaptionLabelSeparator} }\CaptionTextFont#3}% \ifdim\wd\@tempboxa>\hsize - #1{\CaptionLabelFont{#2:} }\CaptionTextFont#3% + #1{{\CaptionLabelFont#2\CaptionLabelSeparator} }\CaptionTextFont#3% \else \hbox to\hsize{\hfil\box\@tempboxa\hfil}% \fi diff --git a/Master/texmf-dist/tex/latex/caption/subcaption.sty b/Master/texmf-dist/tex/latex/caption/subcaption.sty index 89b2cd69f54..7f5627adeb3 100644 --- a/Master/texmf-dist/tex/latex/caption/subcaption.sty +++ b/Master/texmf-dist/tex/latex/caption/subcaption.sty @@ -29,8 +29,12 @@ %% caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{subcaption}[2011/08/18 v1.1a Adding subcaptions (AR)] +\ProvidesPackage{subcaption}[2011/09/12 v1.1b Sub-captions (AR)] \RequirePackage{caption}[2011/08/18] % needs v3.2b or newer +\caption@AtBeginDocument{\caption@ifcompatibility{% + \caption@Error{% + The `subcaption' package does not work correctly\MessageBreak + in compatibility mode}}{}} \caption@ifundefined\subfigure{}{% \PackageError{subcaption}{% This package can't be used in cooperation\MessageBreak @@ -52,7 +56,7 @@ \caption@iftype {\setcaptionsubtype*\caption}% {\caption@Error{\noexpand\subcaption outside float}% - \caption@withoptargs\@gobbletwo}}% + \caption@gobble}}% \g@addto@macro\caption@subtypehook{% \let\subcaption\caption} \newcommand*\phantomsubcaption{% @@ -76,11 +80,14 @@ \let\subcaption@ORI@label\label \let\label\subcaption@label \fi} -\newcommand*\subcaption@label[1]{% +\newcommand*\subcaption@label{ + \caption@withoptargs\subcaption@@label} +\newcommand*\subcaption@@label[2]{% \@bsphack\begingroup - \subcaption@ORI@label{#1}% + \subcaption@ORI@label#1{#2}% + \let\SK@\@gobbletwo \protected@edef\@currentlabel{\csname thesub\@captype\endcsname}% - \subcaption@ORI@label{sub@#1}% + \subcaption@ORI@label#1{sub@#2}% \endgroup\@esphack} \DeclareRobustCommand*\subref{\@ifstar{\subcaption@ref*}\@subref} \newcommand*\@subref{% -- cgit v1.2.3