From 5351150bc318eded08bb95323545f9279454652d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 12 Aug 2011 00:23:55 +0000 Subject: caption (11aug11) git-svn-id: svn://tug.org/texlive/trunk@23505 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/caption/bicaption.sty | 133 +++++ Master/texmf-dist/tex/latex/caption/caption.sty | 540 ++++++++++++--------- Master/texmf-dist/tex/latex/caption/caption2.sty | 9 +- Master/texmf-dist/tex/latex/caption/caption3.sty | 303 ++++++++---- Master/texmf-dist/tex/latex/caption/ltcaption.sty | 14 +- Master/texmf-dist/tex/latex/caption/subcaption.sty | 95 +--- 6 files changed, 695 insertions(+), 399 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/caption/bicaption.sty (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 new file mode 100644 index 00000000000..76161048310 --- /dev/null +++ b/Master/texmf-dist/tex/latex/caption/bicaption.sty @@ -0,0 +1,133 @@ +%% +%% This is file `bicaption.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% bicaption.dtx (with options: `package') +%% +%% Copyright (C) 1994-2011 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm) +%% +%% -------------------------------------------------------------------------- +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% This Current Maintainer of this work is Axel Sommerfeldt. +%% +%% This work consists of the files caption.ins, caption.dtx, caption2.dtx, +%% caption3.dtx, bicaption.dtx, ltcaption.dtx, and subcaption.dtx, +%% the derived files caption.sty, caption2.sty, caption3.sty, bicaption.sty, +%% ltcaption.sty, and subcaption.sty, and the user manuals caption-deu.tex, +%% caption-eng.tex, and caption-rus.tex. +%% +\NeedsTeXFormat{LaTeX2e}[1994/12/01] +\ProvidesPackage{bicaption}[2011/07/13 v0.9a Bilingual Captions (AR)] +\RequirePackage{caption}[2011/01/01] % needs v3.2 or newer +\newcommand*\bicaption@Warning[1]{% + \bicaption@WarningNoLine{#1\on@line}} +\newcommand*\bicaption@WarningNoLine[1]{% + \PackageWarning{bicaption}{#1.^^J\bicaption@wh\@gobbletwo}} +\newcommand*\bicaption@wh{% + See the bicaption package documentation for explanation.} +\newcommand*\bicaption@Error[1]{% + \PackageError{bicaption}{#1}\bicaption@eh} +\newcommand*\bicaption@eh{% + If you do not understand this error, please take a closer look\MessageBreak + at the documentation of the `bicaption' package.\MessageBreak\@ehc} +\newcount\bicaption@lang +\DeclareCaptionOption{bi-lang}{% + \caption@ifinlist{#1}{0,all,both}{% + \bicaption@lang=0\relax + }{\caption@ifinlist{#1}{1,1st,first}{% + \bicaption@lang=1\relax + }{\caption@ifinlist{#1}{2,2nd,second}{% + \bicaption@lang=2\relax + }{% + \bicaption@Error{Undefined bi-lang value `#1'}% + }}}} +\DeclareCaptionOption{bi-singlelinecheck}[1]{% + \caption@set@bool\bicaption@ifslc{#1}} +\DeclareCaptionOption{bi-slc}[1]{% + \caption@set@bool\bicaption@ifslc{#1}} +\DeclareCaptionOption{bi-swap}[1]{% + \caption@set@bool\bicaption@ifswap{#1}} +\DeclareCaptionOption{lang}{\def\bicaption@language{#1}} +\let\KV@caption@language\KV@caption@lang +\newcommand*\bicaption@selectlanguage{% + \@ifundefined{bicaption@language}{}{% + \expandafter\selectlanguage\expandafter{\bicaption@language}}} +\g@addto@macro\caption@applyfont{% + \bicaption@selectlanguage} +\g@addto@macro\caption@prepareslc{% + \let\bicaption@language\@undefined} +\caption@ExecuteOptions{caption}{bi-lang=0,bi-slc=1,bi-swap=0} +\ifx\bbl@main@language\@undefined + \bicaption@WarningNoLine{Please load this package after the babel package} +\else + \edef\@tempa{\noexpand\captionsetup[bi-first]{lang=\bbl@main@language}} + \@tempa +\fi +\caption@SetupOptions{bicaption}{\captionsetup[bi-second]{#2}}% +\caption@ProcessOptions*{bicaption} +\let\caption@@make@ORI\caption@@make +\renewcommand\caption@@make[2]{% + \@ifundefined{bicaption@text}% + {\caption@@make@ORI{#1}{#2}}% + {\bicaption@@make{#1}{#2}{\bicaption@text}% + \global\let\bicaption@label\@undefined + \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@set@bool\caption@ifslc0}% + \caption@@slc{#1}{#3}{\captionwidth}{}% + {\caption@set@bool\caption@ifslc0}}% + {}% + \fi + \ifnum\bicaption@lang=2\relax + \ifx\bicaption@label\@empty\else + \expandafter\label\expandafter{\bicaption@label}% + \fi + \else + \begingroup + \caption@setoptions{bi-first}% + \caption@@make@ORI{#1}{#2}% + \endgroup + \fi + \ifnum\bicaption@lang=1\relax + \else + \begingroup + \caption@setoptions{bi-second}% + \caption@@make@ORI{#1}{#3}% + \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\bisubcaption{\@bicaption\subcaption} +\newcommand\bisubcaptionbox{\@bicaption\subcaptionbox} +\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 cbbfd16cb9b..75bb68422f0 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-2010 Axel Sommerfeldt (caption@sommerfee.de) +%% Copyright (C) 1994-2011 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm) %% %% -------------------------------------------------------------------------- %% @@ -23,20 +23,19 @@ %% This Current Maintainer of this work is Axel Sommerfeldt. %% %% This work consists of the files caption.ins, caption.dtx, caption2.dtx, -%% ltcaption.dtx, and subcaption.dtx, the derived files caption.sty, -%% caption2.sty, caption3.sty, ltcaption.sty, and subcaption.sty, and the -%% user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. +%% caption3.dtx, bicaption.dtx, ltcaption.dtx, and subcaption.dtx, +%% the derived files caption.sty, caption2.sty, caption3.sty, bicaption.sty, +%% ltcaption.sty, and subcaption.sty, and the user manuals caption-deu.tex, +%% caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption}[2010/01/09 v3.1m Customizing captions (AR)] -\newcommand*\caption@Info[1]{\PackageInfo{caption}{#1\@gobble}} -\@onlypreamble\caption@Info -\RequirePackage{caption3}[2008/08/24] % needs v3.1j or newer +\ProvidesPackage{caption}[2011/08/06 v3.2 Customizing captions (AR)] +\RequirePackage{caption3}[2011/08/01] % needs v1.3 or newer \caption@ifbool{documentclass}{}{% \caption@WarningNoLine{% Unsupported document class (or package) detected,\MessageBreak usage of the caption package is not recommended}% - \caption@Info{\string\@makecaption\space=\space\meaning\@makecaption}% + \caption@InfoNoLine{\string\@makecaption\space=\space\meaning\@makecaption}% } \@ifpackageloaded{caption2}{% \caption@Error{% @@ -49,7 +48,7 @@ \@ifpackageloaded{nonfloat}{\caption@DisablePositionOption{nonfloat}}{}% \@ifpackageloaded{topcapt}{\caption@DisablePositionOption{topcapt}}{}} \newcommand*\caption@DisablePositionOption[1]{% - \caption@Info{% + \caption@InfoNoLine{% `#1' package detected; setting `position=b' for compatibility reasons}% \caption@setposition b% \DeclareCaptionOption{position}{% @@ -165,11 +164,11 @@ \DeclareCaptionOption{hypcapspace}{\def\caption@hypcapspace{#1}} \captionsetup{hypcap=1,hypcapspace=.5\baselineskip} \caption@ifamsclass{% - \caption@Info{AMS or SMF document class}% + \caption@InfoNoLine{AMS or SMF document class}% \setlength\belowcaptionskip{0pt}% set to 12pt by AMS class } \caption@ifkomaclass{% - \caption@Info{KOMA-Script document class}% + \caption@InfoNoLine{KOMA-Script document class}% \g@addto@macro\@tablecaptionabovetrue{\captionsetup*[table]{position=t}} \g@addto@macro\@tablecaptionabovefalse{\captionsetup*[table]{position=b}} \if@tablecaptionabove @@ -245,190 +244,8 @@ \caption@setcapmargin \fi } +\caption@SetupOptions{caption}{\caption@setkeys{#1}{#2}}% \caption@ProcessOptions*{caption} -\caption@AtBeginDocument{% - \DeclareCaptionOption{type}{\caption@settype{#1}}% - \DeclareCaptionOption{type*}{\caption@settype*{#1}}% - \DeclareCaptionOption{subtype}[sub\@captype]{\caption@setsubtype{#1}}% - \DeclareCaptionOption{subtype*}[sub\@captype]{\caption@setsubtype*{#1}}% -} -\newcommand*\caption@settype{% - \caption@@settype{}} -\newcommand*\caption@setsubtype{% - \caption@iftype - {\caption@@settype{sub}}% - {\caption@Error{Option `subtype=' outside float}}}% -\newcommand*\caption@@settype[1]{% - \caption@teststar{\caption@@@settype{#1}}\@firstoftwo\@secondoftwo} -\newcommand*\caption@@@settype[3]{% - \@ifundefined{c@#3}% - {\caption@Error{No float type '#3' defined}}% - {\caption@Debug{#1type=#3}% - \caption@checkgrouplevel{#1}{% - \captionsetup{#1type#2*\@empty=...}#2{ or - \@backslashchar#1captionof}{}}% - \edef\caption@tempa{#3}% - \expandafter\ifx\csname @#1captype\endcsname\caption@tempa \else - \ifcaptionsetup@star\else\@nameuse{caption@#1type@warning}\fi - \fi - \expandafter\let\csname @#1captype\endcsname\caption@tempa - \@nameuse{caption@#1typehook}% - \caption@setoptions{#3}% - \ifx\caption@opt\relax - \@nameundef{caption@#1type@warning}% - \else - \@namedef{caption@#1type@warning}{\caption@Warning{% - The #1caption type was already set to - `\csname @#1captype\endcsname'\MessageBreak}}% - \fi - \let\caption@ifrefstepcounter\@secondoftwo - #2{}{% - \let\@currentlabel\caption@undefinedlabel - \ifx\caption@ORI@label\@undefined - \let\caption@ORI@label\label - \let\label\caption@xlabel - \fi - \caption@start}}} -\newcommand*\caption@typehook{} -\newcommand*\caption@iftype{% - \@ifundefined{@captype}{\let\@captype\@undefined\@secondoftwo}\@firstoftwo} -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname currentgrouplevel\endcsname\relax - \caption@Debug{TeX engine: TeX} - \let\caption@checkgrouplevel\@gobbletwo -\else - \caption@Debug{TeX engine: e-TeX} - \newcommand*\caption@checkgrouplevel[2]{% - \@ifundefined{#1caption@grouplevel}{% - \@ifundefined{caption@grouplevel}{\let\caption@grouplevel\z@}{}% - \ifnum\currentgrouplevel>\caption@grouplevel\relax - \expandafter\edef\csname #1caption@grouplevel\endcsname{% - \the\currentgrouplevel}% - \else - \caption@Warning{\string#2\MessageBreak outside box or environment}% - \fi - }{}} -\fi -\newcommand*\caption@undefinedlabel{% - \protect\caption@xref{\caption@labelname}{\on@line}} -\DeclareRobustCommand*\caption@xref[2]{% - \caption@WarningNoLine{\noexpand\label before \string\caption#2}% - \@setref\relax\@undefined{#1}} -\newcommand*\caption@labelname{??} -\newcommand*\caption@xlabel[1]{% - \caption@@xlabel - \def\caption@labelname{#1}% - \caption@ORI@label{#1}} -\newcommand*\caption@@xlabel{% - \global\let\caption@@xlabel\@empty - \@bsphack - \protected@write\@auxout{}% - {\string\providecommand*\string\caption@xref[2]{% - \string\@setref\string\relax\string\@undefined{\string##1}}}% - \@esphack} -\caption@AtBeginDocument{% - \def\captionof{\caption@teststar\caption@of{\caption*}\caption}} -\newcommand*\caption@of[2]{\caption@settype*{#2}#1} -\newcommand*\captionlistentry{% - \caption@teststar\@captionlistentry\@firstoftwo\@secondoftwo} -\newcommand*\@captionlistentry[1]{% - \@testopt{\caption@listentry{#1}}\@captype} -\def\caption@listentry#1[#2]#3{% - \@bsphack - #1{\caption@gettitle{#3}}% - {\caption@refstepcounter{#2}% - \caption@makecurrent{#2}{#3}}% - \caption@addcontentsline{#2}{#3}% - \@esphack} -\def\ContinuedFloat{% - \@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\caption@tempa{#1}% - \ifx\caption@tempa\caption@CFtype - \stepcounter{ContinuedFloat}% - \let\caption@resetContinuedFloat\@gobble - \caption@@ContinuedFloat{#1}% - \sf@ContinuedFloat{#1}% - \else - \caption@Error{Continued `#1' after `\caption@CFtype'}% - \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}} -\providecommand*\sf@ContinuedFloat[1]{} -\newcommand*\caption@CFtype{??} -\newcounter{ContinuedFloat} -\let\theContinuedFloat\@empty -\newcommand*\caption@resetContinuedFloat[1]{% - \@stpelt{ContinuedFloat}\xdef\caption@CFtype{#1}} -\newcommand*\caption@refstepcounter[1]{% - \caption@resetContinuedFloat{#1}% - \caption@@refstepcounter{#1}% - \let\caption@ifrefstepcounter\@firstoftwo} -\newcommand*\caption@@refstepcounter{\refstepcounter} -\let\caption@ifrefstepcounter\@secondoftwo -\@ifundefined{kernel@ifnextchar}% - {\newcommand\caption@dblarg[1]{\@ifnextchar[{#1}{\caption@xdblarg{#1}}}}% - {\newcommand\caption@dblarg[1]{\kernel@ifnextchar[{#1}{\caption@xdblarg{#1}}}}% -\newcommand\caption@xdblarg[2]{#1[{#2\relax}]{#2}}% -\newcommand*\caption@begin[1]{% - \begingroup - \caption@setfnum{#1}% - \caption@fixposition - \global\let\caption@fixedposition\caption@position} -\newcommand\caption@beginex[3]{% - \caption@begin{#1}% - \caption@addcontentsline{#1}{#2}% - \caption@ifempty{#3}{}} -\newcommand*\caption@end{% - \endgroup - \let\caption@position\caption@fixedposition} -\newcommand*\caption@setfnum[1]{% - \@ifundefined{fnum@#1}{\iftrue}{\ifx\caption@lfmt\caption@lfmt@default\else}% - \@namedef{fnum@#1}{\caption@fnum{#1}}% - \fi} -\newcommand*\caption@boxrestore{% - \let\if@nobreak\iffalse - \let\if@noskipsec\iffalse - \let\par\@@par - \parindent\z@ \parskip\z@skip - \everypar{}% - \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip - \parfillskip\@flushglue \lineskip\normallineskip - \baselineskip\normalbaselineskip - \sloppy - \let\\\@normalcr -} -\newcommand*\caption@normalsize{% - \caption@font*{\KV@caption@fnt@normal\@unused}} -\let\caption@setfloatcapt\@firstofone -\newcommand*\caption@makecurrent[2]{} -\let\caption@makeanchor\@firstofone -\let\caption@start\relax -\let\caption@@start\relax -\let\caption@freezeHref\relax -\let\caption@defrostHref\relax -\newcommand\caption@gettitle[1]{% - \@ifundefined{NR@gettitle}% - {\def\@currentlabelname{#1}}% - {\NR@gettitle{#1}}} \def\caption@caption{% \caption@iftype {\caption@checkgrouplevel\@empty\caption @@ -549,7 +366,7 @@ {\@dblarg{\Hy@tempa\@captype}}% }}% \caption@IfCheckCommand{}{% - \caption@Info{% + \caption@InfoNoLine{% Incompatible package detected (regarding \string\caption).\MessageBreak \string\caption\space=\space\meaning\caption}% \caption@setbool{incompatible}{1}}% @@ -578,6 +395,21 @@ \fi \beamer@makecaption{#1}{\ignorespaces #3}\par\nobreak \endgroup}}% + \caption@CheckCommand\@caption{% + % magyar.ldf [2005/03/30 v1.4j Magyar support from the babel system] + \long\def\@caption#1[#2]#3{% + \csname par\endcsname + \addcontentsline{\csname ext@#1\endcsname}{#1}% + {\protect\numberline{\csname the#1\endcsname.}{\ignorespaces #2}}% + \begingroup + \@parboxrestore + \if@minipage + \@setminipage + \fi + \normalsize + \@makecaption{\csname fnum@#1\endcsname}% + {\ignorespaces #3}\csname par\endcsname + \endgroup}}% \caption@CheckCommand\@caption{% % hyperref.sty [2007/02/27 v6.75t Hypertext links for LaTeX] \long\def\@caption#1[#2]#3{% @@ -755,7 +587,7 @@ \def\@caption{\caption@}% }% \caption@IfCheckCommand{}{% - \caption@Info{% + \caption@InfoNoLine{% Incompatible package detected (regarding \string\@caption).\MessageBreak \string\@caption\space=\space\meaning\@caption}% \caption@setbool{incompatible}{1}}% @@ -805,6 +637,249 @@ } \caption@AtBeginDocument{\caption@redefine} \let\@makecaption\caption@makecaption +\caption@AtBeginDocument{% + \DeclareCaptionOption{type}{\setcaptiontype{#1}}% + \DeclareCaptionOption{type*}{\setcaptiontype*{#1}}% + \DeclareCaptionOption{subtype}[sub\@captype]{\caption@setsubtype{#1}}% + \DeclareCaptionOption{subtype*}[sub\@captype]{\caption@setsubtype*{#1}}% +} +\newcommand\setcaptiontype{% + \caption@boxrestore@mini + \caption@settype} +\newcommand*\caption@settype{% + \caption@@settype{}} +\newcommand*\caption@setsubtype{% + \caption@iftype + {\caption@@settype{sub}}% + {\caption@Error{Option `subtype=' outside float}}}% +\newcommand*\caption@@settype[1]{% + \caption@teststar{\caption@@@settype{#1}}\@firstoftwo\@secondoftwo} +\newcommand*\caption@@@settype[3]{% + \caption@Debug{#1type=#3}% + \caption@checkgrouplevel{#1}{% + \captionsetup{#1type#2*\@empty=...}#2{ or + \@backslashchar#1captionof}{}}% + \edef\caption@tempa{#3}% + \expandafter\ifx\csname @#1captype\endcsname\caption@tempa \else + \ifcaptionsetup@star\else\@nameuse{caption@#1type@warning}\fi + \fi + \expandafter\let\csname @#1captype\endcsname\caption@tempa + \@nameuse{caption@#1typehook}% + \caption@setoptions{#3}% + \ifx\caption@opt\relax + \@nameundef{caption@#1type@warning}% + \else + \@namedef{caption@#1type@warning}{\caption@Warning{% + The #1caption type was already set to + `\csname @#1captype\endcsname'\MessageBreak}}% + \fi + \let\caption@ifrefstepcounter\@secondoftwo + #2{}{% + \let\@currentlabel\caption@undefinedlabel + \ifx\caption@ORI@label\@undefined + \let\caption@ORI@label\label + \let\label\caption@xlabel + \fi + \caption@start}} +\newcommand*\caption@typehook{} +\newcommand*\caption@iftype{% + \@ifundefined{@captype}{\let\@captype\@undefined\@secondoftwo}\@firstoftwo} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname currentgrouplevel\endcsname\relax + \caption@Debug{TeX engine: TeX} + \let\caption@checkgrouplevel\@gobbletwo +\else + \caption@Debug{TeX engine: e-TeX} + \newcommand*\caption@checkgrouplevel[2]{% + \@ifundefined{#1caption@grouplevel}{% + \@ifundefined{caption@grouplevel}{\let\caption@grouplevel\z@}{}% + \ifnum\currentgrouplevel>\caption@grouplevel\relax + \expandafter\edef\csname #1caption@grouplevel\endcsname{% + \the\currentgrouplevel}% + \else + \caption@Warning{\string#2\MessageBreak outside box or environment}% + \fi + }{}} +\fi +\newcommand*\caption@undefinedlabel{% + \protect\caption@xref{\caption@labelname}{\on@line}} +\DeclareRobustCommand*\caption@xref[2]{% + \caption@WarningNoLine{\noexpand\label before \string\caption#2}% + \@setref\relax\@undefined{#1}} +\newcommand*\caption@labelname{??} +\newcommand*\caption@xlabel[1]{% + \caption@@xlabel + \def\caption@labelname{#1}% + \caption@ORI@label{#1}} +\newcommand*\caption@@xlabel{% + \global\let\caption@@xlabel\@empty + \@bsphack + \protected@write\@auxout{}% + {\string\providecommand*\string\caption@xref[2]{% + \string\@setref\string\relax\string\@undefined{\string##1}}}% + \@esphack} +\caption@AtBeginDocument{% + \def\captionof{\caption@teststar\caption@of{\caption*}\caption}} +\newcommand*\caption@of[2]{\setcaptiontype*{#2}#1} +\newcommand*\captionlistentry{% + \caption@teststar\@captionlistentry\@firstoftwo\@secondoftwo} +\newcommand*\@captionlistentry[1]{% + \@testopt{\caption@listentry{#1}}\@captype} +\def\caption@listentry#1[#2]#3{% + \@bsphack + #1{\caption@gettitle{#3}}% + {\caption@refstepcounter{#2}% + \caption@makecurrent{#2}{#3}}% + \caption@addcontentsline{#2}{#3}% + \@esphack} +\newcommand*\captionbox{% + \let\captionbox@type\@empty + \caption@withoptargs\caption@box} +\newcommand\caption@box[2]{% + \@testopt{\caption@ibox{#1}{#2}}{\wd\@tempboxa}} +\long\def\caption@ibox#1#2[#3]{% + \@testopt{\caption@iibox{#1}{#2}{#3}}\captionbox@hj@default} +\long\def\caption@iibox#1#2#3[#4]#5{% + \setbox\@tempboxa\hbox{#5}% + \begingroup + \expandafter\captionsetup\expandafter{\captionbox@type*}% set \caption@position + \caption@iftop{% + \endgroup + \parbox[t]{#3}{% + \expandafter\captionsetup\expandafter{\captionbox@type,position=t}% + \vbox{\caption#1{#2}}% + \captionbox@hrule + \csname caption@hj@#4\endcsname + \unhbox\@tempboxa}% + }{% + \endgroup + \parbox[b]{#3}{% + \expandafter\captionsetup\expandafter{\captionbox@type,position=b}% + \csname caption@hj@#4\endcsname + \unhbox\@tempboxa + \captionbox@hrule + \vtop{\caption#1{#2}}}% + }} +\newcommand*\captionbox@hj@default{c} +\newcommand*\captionbox@hrule{\hrule\@height\z@\relax} +\providecommand*\caption@hj@c{\centering} +\providecommand*\caption@hj@l{\raggedright} +\providecommand*\caption@hj@r{\raggedleft} +\providecommand*\caption@hj@s{} +\DeclareCaptionOption{*}[]{} +\def\ContinuedFloat{% + \@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\caption@tempa{#1}% + \ifx\caption@tempa\caption@CFtype + \stepcounter{ContinuedFloat}% + \let\caption@resetContinuedFloat\@gobble + \caption@@ContinuedFloat{#1}% + \sf@ContinuedFloat{#1}% + \else + \caption@Error{Continued `#1' after `\caption@CFtype'}% + \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}} +\providecommand*\sf@ContinuedFloat[1]{} +\newcommand*\caption@CFtype{??} +\newcounter{ContinuedFloat} +\let\theContinuedFloat\@empty +\newcommand*\caption@resetContinuedFloat[1]{% + \@stpelt{ContinuedFloat}\xdef\caption@CFtype{#1}} +\newcommand\phantomcaption{% + \caption@iftype + {\caption@refstepcounter\@captype}% + {\caption@Error{\noexpand\phantomcaption outside float}}}% +\newcommand*\caption@refstepcounter[1]{% + \@ifundefined{c@#1}% + {\caption@Error{No float type '#1' defined}}% + {\caption@resetContinuedFloat{#1}% + \caption@@refstepcounter{#1}% + \let\caption@ifrefstepcounter\@firstoftwo}} +\newcommand*\caption@@refstepcounter{\refstepcounter} +\let\caption@ifrefstepcounter\@secondoftwo +\@ifundefined{kernel@ifnextchar}% + {\newcommand\caption@dblarg[1]{\@ifnextchar[{#1}{\caption@xdblarg{#1}}}}% + {\newcommand\caption@dblarg[1]{\kernel@ifnextchar[{#1}{\caption@xdblarg{#1}}}}% +\newcommand\caption@xdblarg[2]{#1[{#2\relax}]{#2}}% +\newcommand*\caption@begin[1]{% + \begingroup + \caption@setfnum{#1}% + \caption@fixposition + \global\let\caption@fixedposition\caption@position} +\newcommand\caption@beginex[3]{% + \caption@begin{#1}% + \let\lst@@caption\relax + \caption@addcontentsline{#1}{#2}% + \caption@ifempty{#3}{}} +\newcommand*\caption@end{% + \endgroup + \let\caption@position\caption@fixedposition} +\newcommand*\caption@setfnum[1]{% + \@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 + \let\if@noskipsec\iffalse + \let\par\@@par + \parindent\z@ \parskip\z@skip + \everypar{}% + \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip + \parfillskip\@flushglue \lineskip\normallineskip + \baselineskip\normalbaselineskip + \sloppy + \let\\\@normalcr + }} +\newcommand\caption@boxrestore@mini{% + \let\par\@@par + \parindent\z@ \parskip\z@skip + \sloppy} +\newcommand*\caption@normalsize{% + \caption@font*{\KV@caption@fnt@normal\@unused}} +\let\caption@setfloatcapt\@firstofone +\newcommand*\caption@makecurrent[2]{} +\let\caption@makeanchor\@firstofone +\let\caption@start\relax +\let\caption@@start\relax +\let\caption@freezeHref\relax +\let\caption@defrostHref\relax +\newcommand\caption@gettitle[1]{% + \@ifundefined{NR@gettitle}% + {\def\@currentlabelname{#1}}% + {\NR@gettitle{#1}}} \def\caption@DeclareSubType sub#1\@nil{% \caption@Debug{Initializing subtype for `#1'\@gobble}% \@namedef{caption@c@#1}{0}% @@ -821,7 +896,7 @@ % no \caption or \subcaption in this (floating) environment yet \caption@Debug{Increment \@captype\ counter =\the\value\@captype}% \caption@l@stepcounter\@captype - \let\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{% @@ -857,12 +932,7 @@ \caption@subcontentslines \endgroup \caption@clearsubcontentslines}% -\caption@AtBeginDocument*{% - \@ifundefined{sf@ifpositiontop}{\let\sf@ifpositiontop\@gobbletwo}{}% - \caption@clearsubcontentslines - \g@addto@macro\caption@typehook{\caption@checksubcontentslines}% - \AtEndDocument{\caption@checksubcontentslines}}% -\newcommand*\caption@addsubcontentsline[3]{% +\newcommand*\caption@addsubcontentsline[4]{% \begingroup \let\label\@gobble \let\index\@gobble \let\glossary\@gobble \protected@edef\@tempa{\endgroup @@ -871,7 +941,7 @@ \ifx\@currentHref\@undefined \else \noexpand\def\noexpand\@currentHref{\@currentHref}% \fi - \protect\addcontentsline{#1}{#2}{#3}}}% + \protect\caption@@addcontentsline{#1}{#2}{#3}{#4}}}% \@tempa} \newcommand*\caption@checksubcontentslines{% \ifx\caption@subcontentslines\@empty \else @@ -882,12 +952,14 @@ \fi} \newcommand*\caption@clearsubcontentslines{% \global\let\caption@subcontentslines\@empty} +\caption@AtBeginDocument*{% + \@ifundefined{sf@ifpositiontop}{\let\sf@ifpositiontop\@gobbletwo}{}% + \caption@clearsubcontentslines + \g@addto@macro\caption@typehook{\caption@checksubcontentslines}% + \AtEndDocument{\caption@checksubcontentslines}}% \@ifundefined{smf@makecaption}{}{\let\smf@makecaption\@makecaption} \@ifclassloaded{beamer}{% - \caption@Info{beamer document class}% - \captionsetup{list=false} - \DeclareCaptionOption{list}[1]{} - \DeclareCaptionOption{listof}[1]{} + \caption@InfoNoLine{beamer document class}% \expandafter\let\expandafter\caption@ORI@figure \csname\string\figure\endcsname \@namedef{\string\figure}[#1]{% @@ -903,7 +975,7 @@ \caption@AtBeginDocument{\let\scr@caption\caption}} \@nameuse{caption@frenchb}\@nameundef{caption@frenchb} \caption@AtBeginDocument{\@ifundefined{frenchTeXmods}{}{% - \caption@Info{frenchle/pro package is loaded}% + \caption@InfoNoLine{frenchle/pro package is loaded}% \let\captionfont@ORI\captionfont \let\captionlabelfont@ORI\captionlabelfont \let\@makecaption@ORI\@makecaption @@ -934,6 +1006,19 @@ \caption@tempa }% }} +\def\caption@tempa#1{% + \@ifundefined{extras#1}\caption@AtBeginDocument\@firstofone{% + \@ifundefined{extras#1}{}{% + \caption@InfoNoLine{#1 babel option is loaded}% + \expandafter\addto\csname extras#1\endcsname{% + % reverse changes made by magyar.ldf + \let\@makecaption\caption@makecaption + \babel@save\@makecaption + \caption@redefine + \babel@save\@caption}% + }}} +\caption@tempa{hungarian}% +\caption@tempa{magyar}% \newcommand\caption@IfPackageLoaded[1]{% \@testopt{\caption@@IfPackageLoaded{#1}}{}} \@onlypreamble\caption@IfPackageLoaded @@ -948,7 +1033,7 @@ \@onlypreamble\caption@ifpackageloaded \long\def\caption@@ifpackageloaded#1[#2]{% \@ifpackageloaded{#1}{% - \caption@Info{#1 package is loaded}% + \caption@InfoNoLine{#1 package is loaded}% \@ifpackagelater{#1}{#2}\@firstoftwo{% \caption@Error{% For a successful cooperation we need at least version\MessageBreak @@ -999,10 +1084,9 @@ \let\caption@@refstepcounter\caption@l@stepcounter \caption@ORI}% \long\def\@caption##1[##2]##3{% - \@bsphack \gdef\caption@SClentry{##2}% \gdef\caption@SCtext{##3}% - \@esphack}% + \ignorespaces}% #1{% is \@gobble in star form, and \@firstofone otherwise \def\label##1{\@bsphack\gdef\caption@SClabel{##1}\@esphack}}% }% @@ -1102,8 +1186,8 @@ \newcommand*\caption@floatflt[1]{% \caption@settype{#1}% \caption@clearmargin - \caption@setoptions{floating#1}% - \let\caption@boxrestore\@parboxrestore}% + \caption@setfullparboxrestore + \caption@setoptions{floating#1}}% }{} \caption@IfPackageLoaded{fltpage}[1998/10/29 v.0.3]{% \caption@setbool{needfreeze}{1}% @@ -1170,11 +1254,18 @@ \let\caption@ifFPrefcap\@undefined } \caption@IfPackageLoaded{hyperref}[2003/11/30 v6.74m]{% - \@ifundefined{hyper@makecurrent}{% hyperref has stopped early - \caption@WarningNoLine{% + % Test if hyperref has stopped early + \@ifundefined{ifhyp@stoppedearly}{% + \newif\ifhyp@stoppedearly + \@ifundefined{H@refstepcounter}\hyp@stoppedearlytrue{% + \@ifundefined{hyper@makecurrent}\hyp@stoppedearlytrue{% + \@ifundefined{measuring@true}\hyp@stoppedearlytrue{}}}}{}% + \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]{% @@ -1261,7 +1352,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 @@ -1277,6 +1368,9 @@ \let\caption@ORI@lst@MakeCaption\lst@MakeCaption \def\lst@MakeCaption#1{% #1 is `t' or `b' \begingroup + \ifdim\hsize>\linewidth + \hsize\linewidth + \fi \caption@setposition{#1}% \caption@iftop{% \@tempdima\belowcaptionskip @@ -1353,11 +1447,11 @@ \caption@setoptions{tabwindow}% \begin{window}[#1,#2,{#3},\caption@wincaption{#4}] }% \newcommand*\caption@window[1]{% - \let\caption@boxrestore\@parboxrestore \let\@makecaption\caption@@make \caption@setautoposition b% \caption@settype{#1}% - \caption@clearmargin}% + \caption@clearmargin + \caption@setfullparboxrestore}% \newcommand\caption@wincaption[1]{% \ifdim\picwd=\z@ \let\caption@makecurrent\@gobbletwo @@ -1391,9 +1485,9 @@ \long\def\caption[##1]##2{% \caption@freezeHref % will be defrosted in \ivparpic \caption@settype\@piccaptype - \caption@clearmargin + \caption@clearmargin + \caption@setfullparboxrestore \caption@setoptions{parpic}% - \let\caption@boxrestore\@parboxrestore \caption@setautoposition b% \expandafter\expandafter\expandafter\caption@ORI \expandafter\expandafter\expandafter[% diff --git a/Master/texmf-dist/tex/latex/caption/caption2.sty b/Master/texmf-dist/tex/latex/caption/caption2.sty index 740cd490d78..ce153daef45 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-2010 Axel Sommerfeldt (caption@sommerfee.de) +%% Copyright (C) 1994-2011 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm) %% %% -------------------------------------------------------------------------- %% @@ -23,9 +23,10 @@ %% This Current Maintainer of this work is Axel Sommerfeldt. %% %% This work consists of the files caption.ins, caption.dtx, caption2.dtx, -%% ltcaption.dtx, and subcaption.dtx, the derived files caption.sty, -%% caption2.sty, caption3.sty, ltcaption.sty, and subcaption.sty, and the -%% user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. +%% caption3.dtx, bicaption.dtx, ltcaption.dtx, and subcaption.dtx, +%% the derived files caption.sty, caption2.sty, caption3.sty, bicaption.sty, +%% ltcaption.sty, and subcaption.sty, and the user manuals caption-deu.tex, +%% caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] \ProvidesPackage{caption2}[2008/07/01 v2.2c Customising captions (AS)] diff --git a/Master/texmf-dist/tex/latex/caption/caption3.sty b/Master/texmf-dist/tex/latex/caption/caption3.sty index 226e7193509..d3aa5bef452 100644 --- a/Master/texmf-dist/tex/latex/caption/caption3.sty +++ b/Master/texmf-dist/tex/latex/caption/caption3.sty @@ -4,9 +4,9 @@ %% %% The original source files were: %% -%% caption.dtx (with options: `kernel') +%% caption3.dtx (with options: `package') %% -%% Copyright (C) 1994-2010 Axel Sommerfeldt (caption@sommerfee.de) +%% Copyright (C) 1994-2011 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm) %% %% -------------------------------------------------------------------------- %% @@ -23,12 +23,13 @@ %% This Current Maintainer of this work is Axel Sommerfeldt. %% %% This work consists of the files caption.ins, caption.dtx, caption2.dtx, -%% ltcaption.dtx, and subcaption.dtx, the derived files caption.sty, -%% caption2.sty, caption3.sty, ltcaption.sty, and subcaption.sty, and the -%% user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. +%% caption3.dtx, bicaption.dtx, ltcaption.dtx, and subcaption.dtx, +%% the derived files caption.sty, caption2.sty, caption3.sty, bicaption.sty, +%% ltcaption.sty, and subcaption.sty, and the user manuals caption-deu.tex, +%% caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption3}[2010/01/14 v3.1m caption3 kernel (AR)] +\ProvidesPackage{caption3}[2011/08/06 v1.3 caption3 kernel (AR)] \providecommand*\@nameundef[1]{% \expandafter\let\csname #1\endcsname\@undefined} \providecommand\l@addto@macro[2]{% @@ -151,7 +152,7 @@ \caption@teststar\g@addto@macro \caption@@begindocumenthook\caption@begindocumenthook} \AtBeginDocument{% - \PackageInfo{caption}{Begin \noexpand\AtBeginDocument code\@gobble}% + \caption@InfoNoLine{Begin \noexpand\AtBeginDocument code}% \def\caption@AtBeginDocument{% \@ifstar{\g@addto@macro\caption@@begindocumenthook}\@firstofone}% \caption@begindocumenthook @@ -160,20 +161,24 @@ \@ifstar\@firstofone\@firstofone}% \caption@@begindocumenthook \let\caption@@begindocumenthook\relax - \PackageInfo{caption}{End \noexpand\AtBeginDocument code\@gobble}} + \caption@InfoNoLine{End \noexpand\AtBeginDocument code}} +\newcommand*\caption@Info[1]{% + \PackageInfo{caption}{#1}} +\newcommand*\caption@InfoNoLine[1]{% + \PackageInfo{caption}{#1\@gobble}} \newcommand*\caption@Warning[1]{% \caption@WarningNoLine{#1\on@line}} \newcommand*\caption@WarningNoLine[1]{% \PackageWarning{caption}{#1.^^J\caption@wh\@gobbletwo}} -\newcommand*\caption@Error[1]{% - \PackageError{caption}{#1}\caption@eh} -\let\caption@KV@err\caption@Error \newcommand*\caption@wh{% See the caption package documentation for explanation.} +\newcommand*\caption@Error[1]{% + \PackageError{caption}{#1}\caption@eh} \newcommand*\caption@eh{% If you do not understand this error, please take a closer look\MessageBreak at the documentation of the `caption' package, especially the\MessageBreak section about errors.\MessageBreak\@ehc} +\let\caption@KV@err\caption@Error \RequirePackage{keyval}[1997/11/10] \providecommand*\undefine@key[2]{% \@nameundef{KV@#1@#2}\@nameundef{KV@#1@#2@default}} @@ -269,12 +274,15 @@ }}% \@esphack} \DeclareCaptionOption{options}{\caption@setoptions{#1}} -\newcommand*\caption@setoptions[1]{% - \caption@Debug{options=#1}% - \expandafter\let\expandafter\caption@opt\csname caption@opt@#1\endcsname +\DeclareCaptionOption{options*}{\caption@setoptions*{#1}} +\newcommand*\caption@setoptions{% + \caption@teststar\caption@set@options\@gobble\@firstofone} +\newcommand*\caption@set@options[2]{% + \caption@Debug{options=#2}% + \expandafter\let\expandafter\caption@opt\csname caption@opt@#2\endcsname \ifx\caption@opt\relax \else \caption@xsetup\caption@opt - \caption@clearsetup{#1}% + #1{\caption@clearsetup{#2}}% #1 = \@firstofone -or- \@gobble \fi} \newcommand*\caption@xsetup[1]{\expandafter\caption@setup\expandafter{#1}} \newcommand*\caption@addtooptlist[1]{% @@ -316,12 +324,12 @@ \@esphack} \let\caption@keydepth\@empty \newcommand*\caption@ExecuteOptions[2]{% - \@expandtwoargs\caption@setkeys{#1}{#2}}% + \expandafter\@expandtwoargs\csname caption@setkeys@#1\endcsname{#1}{#2}}% \@onlypreamble\caption@ExecuteOptions \newcommand*\caption@ProcessOptions{% \caption@teststar\caption@@ProcessOptions\@gobble\@firstofone} \@onlypreamble\caption@ProcessOptions -\newcommand*\caption@@ProcessOptions[2]{% +\newcommand\caption@@ProcessOptions[2]{% \let\@tempc\relax \let\caption@tempa\@empty #1{% \@firstofone -or- \@gobble @@ -331,7 +339,7 @@ \PackageInfo{#2}{Global option `\CurrentOption' ignored}% }{% \PackageInfo{#2}{Global option `\CurrentOption' processed}% - \edef\caption@tempa{\caption@tempa,\CurrentOption,}% + \edef\caption@tempa{\caption@tempa\CurrentOption,}% \@expandtwoargs\@removeelement\CurrentOption \@unusedoptionlist\@unusedoptionlist }% @@ -342,29 +350,78 @@ \caption@ExecuteOptions{#2}{\caption@tempa\@ptionlist{\@currname.\@currext}}% \AtEndOfPackage{\let\@unprocessedoptions\relax}} \@onlypreamble\caption@@ProcessOptions +\newcommand*\caption@packagelist{} +\@onlypreamble\caption@packagelist +\newcommand\caption@SetupOptions[2]{% + \@namedef{caption@setkeys@#1}##1##2{#2}% + \expandafter\@onlypreamble\csname caption@setkeys@#1\endcsname + \@cons\caption@packagelist{{#1}}} +\@onlypreamble\caption@SetupOptions +\let\caption@onefilewithoptions\@onefilewithoptions +\def\@onefilewithoptions#1[#2]{% + \begingroup + \def\@tempa{% + \endgroup + \caption@onefilewithoptions{#1}[{#2}]}% + \def\@tempb{#1}% + \def\@elt##1{% + \def\@tempc{##1}% + \ifx\@tempb\@tempc + \def\@tempa{% + \endgroup + \caption@ExecuteOptions{#1}{#2}% + \caption@onefilewithoptions{#1}[]}% + \fi} + \caption@packagelist + \@tempa} +\@onlypreamble\caption@onefilewithoptions \newdimen\captionmargin \newdimen\captionmargin@ \newdimen\captionwidth \DeclareCaptionOption{margin}{\setcaptionmargin{#1}} \DeclareCaptionOption{margin*}{\setcaptionmargin*{#1}} \DeclareCaptionOption{width}{\setcaptionwidth{#1}} +\DeclareCaptionOption{width*}{\setcaptionwidth*{#1}} +\DeclareCaptionOption{calcmargin}{\caption@setcalcmargin{#1}} +\DeclareCaptionOption{calcmargin*}{\caption@setcalcmargin*{#1}} +\DeclareCaptionOption{calcwidth}{\caption@setcalcwidth{#1}} +\DeclareCaptionOption{calcwidth*}{\caption@setcalcwidth*{#1}} \DeclareCaptionOption{twoside}[1]{\caption@set@bool\caption@iftwoside{#1}} \DeclareCaptionOptionNoValue{oneside}{\caption@set@bool\caption@iftwoside0} \DeclareCaptionOption{minmargin}{\caption@setoptcmd\caption@minmargin{#1}} \DeclareCaptionOption{maxmargin}{\caption@setoptcmd\caption@maxmargin{#1}} \newcommand*\setcaptionmargin{% - \caption@teststar\caption@setmargin\@gobble\@firstofone} -\newcommand*\caption@setmargin[2]{% + \caption@resetcalcmargin + \caption@setmargin} +\newcommand*\caption@setmargin{% + \caption@teststar\caption@@setmargin\@gobble\@firstofone} +\newcommand*\caption@@setmargin[2]{% #1{\captionwidth\z@}% - \caption@@setmargin#2,#2,\@nil} -\def\caption@@setmargin#1,#2,#3\@nil{% + \caption@@@setmargin#2,#2,\@nil} +\def\caption@@@setmargin#1,#2,#3\@nil{% \setlength\captionmargin@{#2}% \setlength\captionmargin{#1}% \addtolength\captionmargin@{-\captionmargin}} \newcommand*\setcaptionwidth{% - \captionmargin\z@ - \captionmargin@\z@ - \setlength\captionwidth} + \caption@resetcalcmargin + \caption@setwidth} +\newcommand*\caption@setwidth{% + \caption@teststar\caption@@setwidth\@gobble\@firstofone} +\newcommand*\caption@@setwidth[2]{% + #1{\captionmargin\z@\captionmargin@\z@}% + \setlength\captionwidth{#2}}% +\newcommand*\caption@resetcalcmargin{% + \let\caption@calcmargin@hook\@empty} +\newcommand*\caption@setcalcmargin{% + \caption@teststar{\caption@@setcalcmargin\caption@setmargin}% + \@secondoftwo\@firstoftwo} +\newcommand*\caption@@setcalcmargin[3]{% + #2{\caption@resetcalcmargin + \l@addto@macro\caption@calcmargin@hook{#1{#3}}}% + {\l@addto@macro\caption@calcmargin@hook{#1*{#3}}}} +\newcommand*\caption@setcalcwidth{% + \caption@teststar{\caption@@setcalcmargin\caption@setwidth}% + \@secondoftwo\@firstoftwo} \newcommand*\caption@thecounter{0} \newcommand*\caption@stepcounter{% \@tempcnta\caption@thecounter @@ -526,7 +583,7 @@ \caption@teststar\caption@declarelabelseparator\@gobble\@firstofone} \@onlypreamble\DeclareCaptionLabelSeparator \newcommand\caption@declarelabelseparator[3]{% - \global\expandafter\let\csname caption@iflf@#2\endcsname#1% + \global\@namedef{caption@iflf@#2}{#1}% \global\long\@namedef{caption@lsep@#2}{#3}% \caption@@declarelabelseparator{#2}#3\\\@nil} \@onlypreamble\caption@declarelabelseparator @@ -626,6 +683,7 @@ \DeclareCaptionFont{normalsize}{\normalsize} \DeclareCaptionFont{large}{\large} \DeclareCaptionFont{Large}{\Large} +\DeclareCaptionFont{sansmath}{\sansmath} \DeclareCaptionFont{singlespacing}{% \@ifundefined{setspace@singlespace}{}{% \setstretch\setspace@singlespace}}% normally 1 @@ -641,11 +699,11 @@ \DeclareCaptionOption{size}{\caption@setfont{size}{#1}} \DeclareCaptionDefaultFont{size}{} \newcommand*\DeclareCaptionJustification[2]{% - \global\@namedef{caption@hj@#1}{#2}% for compatibility to v3.0 + \global\@namedef{caption@hj@#1}{#2}% for compatibility to v1.0 \DeclareCaptionFont{#1}{#2}} \@onlypreamble\DeclareCaptionJustification \newcommand*\DeclareCaptionDefaultJustification[1]{% - \global\@namedef{caption@hj@default}{#1}% for compatibility to v3.0 + \global\@namedef{caption@hj@default}{#1}% for compatibility to v1.0 \DeclareCaptionDefaultFont{@hj}{#1}} \@onlypreamble\DeclareCaptionDefaultJustification \DeclareCaptionOption{justification}{\caption@setjustification{#1}} @@ -789,7 +847,7 @@ \DeclareCaptionOption{debug}[1]{% \caption@set@bool\caption@ifdebug{#1}% \caption@ifdebug - {\def\caption@Debug{\PackageInfo{caption}}}% + {\let\caption@Debug\caption@Info}% {\let\caption@Debug\@gobble}} \DeclareOption{debug}{\setkeys{caption}{debug}} \setkeys{caption}{debug=0} @@ -902,14 +960,34 @@ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \nobreak\vskip\belowcaptionskip\nobreak}} - \DeclareCaptionLabelFormat{default}{#1} - \DeclareCaptionDefaultJustification{\raggedright} +\newcommand*\caption@ifbeamertemplate[1]{% + \begingroup + \let\beamer@@tmpl@caption@ORI\beamer@@tmpl@caption + \@nameuse{beamer@@tmpop@caption@#1}% + \ifx\beamer@@tmpl@caption@ORI\beamer@@tmpl@caption + \endgroup\expandafter\@firstoftwo + \else + \endgroup\expandafter\@secondoftwo + \fi} + \DeclareCaptionLabelFormat{default}{% + #1\caption@ifbeamertemplate{numbered}{~#2}{}} + \caption@declarelabelseparator + {\caption@ifbeamertemplate{caption name own line}\@gobble\@firstofone} + {default} + {\caption@ifbeamertemplate{caption name own line}{\\}{: }} \DeclareCaptionDefaultFont{font}{% \usebeamerfont*{caption}% \usebeamercolor[fg]{caption}} \DeclareCaptionDefaultFont{labelfont}{% \usebeamercolor[fg]{caption name}% \usebeamerfont*{caption name}} + \DeclareCaptionDefaultJustification{\raggedright} + \DeclareOption{beamerclass}{% + \renewcommand\caption@ifslc{% + \caption@ifbeamertemplate{caption name own line}\@secondoftwo\@firstoftwo} + % Since the beamer class do not offer a `list of figures' we switch this support off. + \captionsetup{list=0}} + \PassOptionsToPackage{beamerclass}{caption3} \defbeamertemplate{caption}{caption3}{% \caption@make\insertcaptionname\insertcaptionnumber\insertcaption} \DeclareOption{beamer}{% @@ -1014,7 +1092,7 @@ \let\FB@makecaption\@makecaption} \else \ifx\@makecaption\@undefined\else - \PackageInfo{caption}{% + \caption@InfoNoLine{% The definition of \protect\@makecaption\space has been changed,\MessageBreak frenchb will NOT customize it}% @@ -1053,46 +1131,46 @@ \DeclareCaptionLabelSeparator{default}{\captionseparator\space}% } \DeclareCaptionListFormat{subperiod}{#2.} -%%% \def\caption@tempa#1{\@ifundefined{extras#1}{}{% -%%% \expandafter\addto\csname extras#1\endcsname{% -%%% % reverse changes made by magyar.ldf -%%% \let\@makecaption\caption@makecaption -%%% \babel@save\@makecaption -%%% \caption@redefine -%%% \babel@save\@caption -%%% % change default labelsep and listformat -%%% \caption@setdefaultlabelsep{period}% -%%% \caption@setdefaultlistformat{subperiod}}% -%%% \expandafter\addto\csname noextras#1\endcsname{% -%%% % change default labelsep and listformat -%%% \caption@setdefaultlabelsep{colon}% -%%% \caption@setdefaultlistformat{subsimple}}% -%%% }} -%%% \caption@tempa{hungarian} -%%% \caption@tempa{magyar} -\captionsetup{style=default,position=default,% - list,listformat=default,twoside=\if@twoside 1\else 0\fi} -\ProcessOptions* +\def\caption@tempa#1{\@ifundefined{extras#1}{}{% + \expandafter\addto\csname extras#1\endcsname{% + % change default labelsep and listformat + \caption@setdefaultlabelsep{period}% + \caption@setdefaultlistformat{subperiod}}% + \expandafter\addto\csname noextras#1\endcsname{% + % change default labelsep and listformat + \caption@setdefaultlabelsep{colon}% + \caption@setdefaultlistformat{subsimple}}% +}} +\caption@tempa{hungarian} +\caption@tempa{magyar} \caption@IfCheckCommand{% \caption@setbool{documentclass}{1}% }{% \caption@setbool{documentclass}{0}% - \PackageInfo{caption}{% + \caption@InfoNoLine{% Unknown document class (or package),\MessageBreak standard defaults will be used}% \caption@Debug{\string\@makecaption\space=\space\meaning\@makecaption\@gobble}% } +\captionsetup{style=default,position=default,% + list,listformat=default,twoside=\if@twoside 1\else 0\fi} +\ProcessOptions* \newcommand*\caption@addcontentsline[2]{% \caption@iflist {\def\@tempa{#2}}% {\let\@tempa\@empty}% \ifx\@tempa\@empty \else {\let\\\space - \addcontentsline{\csname ext@#1\endcsname}{#1}% - {\protect\numberline - {\caption@lstfmt{\@nameuse{p@#1}}{\@nameuse{the#1}}}% - {\ignorespaces #2}}}% + \@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}}}% \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}}} @@ -1137,6 +1215,7 @@ \endgroup \global\caption@starfalse} \newcommand*\caption@calcmargin{% + \caption@calcmargin@hook \ifdim\captionwidth=\z@ \captionwidth\linewidth \advance\captionwidth by -2\captionmargin @@ -1157,6 +1236,8 @@ \string\width=\the\captionwidth}% } \newcommand\caption@slc[4]{% + \caption@@slc{#1}{#2}{#3}{\caption@singleline#4}{}} +\newcommand\caption@@slc[5]{% \caption@Debug{Begin SLC}% \begingroup \caption@singleline @@ -1166,9 +1247,9 @@ \sbox\@tempboxa{\caption@@@make{#1}{#2}}% \ifdim\wd\@tempboxa>#3% \endgroup + #5% \else \endgroup - \caption@singleline #4% \fi \caption@Debug{End SLC}} @@ -1176,22 +1257,40 @@ \caption@xsetup\caption@opt@singleline \let\caption@fmt\caption@slfmt} \newcommand*\caption@prepareslc{% - \let\@footnotetext\@gobble\let\@endnotetext\@gobble \def\label{\caption@withoptargs\@gobbletwo}% - \let\stepcounter\caption@l@stepcounter - \let\refstepcounter\stepcounter\let\H@refstepcounter\stepcounter} -\newcommand*\caption@l@stepcounter[1]{\advance\csname c@#1\endcsname\@ne\relax} + \let\caption@footnote@ORI\footnote + \def\footnote{\caption@withoptargs\caption@footnote}% + \let\caption@footnotemark@ORI\footnotemark + \def\footnotemark{\caption@withoptargs\caption@footnotemark}% + \let\@footnotetext\@gobble + \let\@endnotetext\@gobble} +\newcommand\caption@footnote[2]{% + \begingroup + \let\stepcounter\caption@l@stepcounter + \caption@footnote@ORI#1{#2}% + \endgroup} +\newcommand\caption@footnotemark[1]{% + \begingroup + \let\stepcounter\caption@l@stepcounter + \caption@footnotemark@ORI#1% + \endgroup} +\newcommand*\caption@l@stepcounter[1]{% + \advance\csname c@#1\endcsname\@ne\relax} \newcommand*\caption@parbox{\parbox[b]} +\newcommand*\caption@applyfont{% + \caption@hj\captionfont\captionsize} \newcommand\caption@@@make[2]{% \sbox\@tempboxa{#1}% \ifdim\wd\@tempboxa=\z@ \let\caption@lsep\relax \fi \caption@ifempty{#2}{% - \let\caption@lsep\relax + \let\caption@lsep\@empty + \let\caption@tfmt\@firstofone }% \@setpar{\@@par\caption@@par}\caption@@par - \caption@hj\captionfont\captionsize\caption@fmt + \caption@applyfont + \caption@fmt {\ifcaption@star\else{\captionlabelfont#1}\fi}% {\ifcaption@star\else{\caption@iflf\captionlabelfont\caption@lsep}\fi}% {{\captiontextfont @@ -1262,6 +1361,7 @@ \newenvironment{#2}{\@float{#2}}{\end@float}% \newenvironment{#2*}{\@dblfloat{#2}}{\end@dblfloat}% \expandafter\newcommand\csname listof#2s\endcsname{\caption@listof{#2}}% + \expandafter\newcommand\csname listof#2es\endcsname{\caption@listof{#2}}% \@ifundefined{l@figure}% {\@namedef{l@#2}{\@dottedtocline{1}{1.5em}{2.3em}}}% {\expandafter\let\csname l@#2\endcsname\l@figure}% @@ -1673,12 +1773,12 @@ \endgroup} \@onlypreamble\caption@removefromreset \newcommand*\DeclareCaptionSubType{% - \caption@teststar\@DeclareCaptionSubType\@firstoftwo\@secondoftwo} + \caption@teststar\caption@declaresubtype\@firstoftwo\@secondoftwo} \@onlypreamble\DeclareCaptionSubType -\newcommand*\@DeclareCaptionSubType[1]{% - \@testopt{\@@DeclareCaptionSubType{#1}}{alph}} -\@onlypreamble\@DeclareCaptionSubType -\def\@@DeclareCaptionSubType#1[#2]#3{% +\newcommand*\caption@declaresubtype[1]{% + \@testopt{\caption@@declaresubtype{#1}}{alph}} +\@onlypreamble\caption@declaresubtype +\def\caption@@declaresubtype#1[#2]#3{% \@ifundefined{c@#3}% {\caption@Error{No float type '#3' defined}}% {\@ifundefined{c@sub#3}% @@ -1686,19 +1786,7 @@ \newcounter{sub#3}% \caption@addtoreset{sub#3}{#3}% \@namedef{ext@sub#3}{\csname ext@#3\endcsname}% - \@ifundefined{l@chapter}% - {\edef\@tempa{\expandafter\expandafter\expandafter\noexpand - \expandafter\@car\l@subsubsection\@nil}% - \def\@tempb{\@dottedtocline}% - \ifx\@tempa\@tempb % \l@subsubsection starts with \@dottedtocline - \expandafter\edef\csname l@sub#3\endcsname{% - \noexpand\@dottedtocline{2}% - \expandafter\expandafter\expandafter\noexpand - \expandafter\@gobbletwo\l@subsubsection}% - \else - \@namedef{l@sub#3}{\@dottedtocline{2}{3.8em}{3.2em}}% - \fi}% - {\expandafter\let\csname l@sub#3\endcsname\l@subsection}% + \caption@declaresublistentry{#3}% \@cons\caption@subtypelist{{#3}}}% {\caption@Debug{Modify caption `sub#3'}}% \@namedef{sub#3name}{}% @@ -1710,7 +1798,46 @@ \@namedef{thesub#3}{\@nameuse{#2}{sub#3}}}% \@namedef{theHsub#3}{\csname theH#3\endcsname.\arabic{sub#3}}% }} -\@onlypreamble\@@DeclareCaptionSubType +\@onlypreamble\caption@@declaresubtype +\newcommand*\caption@declaresublistentry{% + \@ifundefined{l@chapter}% + {\caption@@declaresublistentry\l@subsubsection}% + {\caption@@declaresublistentry\l@subsection}} +\@onlypreamble\caption@declaresublistentry +\newcommand*\caption@@declaresublistentry[2]{% + \ifx#1\@undefined + \caption@@@declaresublistentry\relax\@dottedtocline\caption@nil{#2}% + \else + \expandafter\caption@@@declaresublistentry#1{}{}\@dottedtocline\caption@nil{#2}% + \fi} +\@onlypreamble\caption@@declaresublistentry +\long\def\caption@@@declaresublistentry#1\@dottedtocline#2\caption@nil#3{% + \def\@tempa{#1}% + \ifx\@tempa\@empty + \caption@@@@declaresublistentry{#3}#2\caption@nil + \else + \caption@@@@declaresublistentry{#3}@{3.8em}{3.2em}\caption@nil + \fi} +\@onlypreamble\caption@@@declaresublistentry +\def\caption@@@@declaresublistentry#1#2#3#4#5\caption@nil{% + \expandafter\caption@@@@@declaresublistentry\expandafter + {\csname @dotted\csname ext@#1\endcsname line\endcsname}{#1}{#3}{#4}} +\@onlypreamble\caption@@@@declaresublistentry +\newcommand*\caption@@@@@declaresublistentry[4]{% + \@namedef{l@sub#2}{#1{2}{#3}{#4}}% + \caption@@@@@@declaresublistentry#1{c@\csname ext@#2\endcsname depth}} +\@onlypreamble\caption@@@@@declaresublistentry +\newcommand*\caption@@@@@@declaresublistentry[2]{ + \ifx#1\relax + \def#1##1{% + \def\next{\@dottedtocline{##1}}% + \@ifundefined{#2}{}{% + \ifnum ##1>\@nameuse{#2}\relax + \let\next\@gobblefour + \fi}% + \next}% + \fi} +\@onlypreamble\caption@@@@@@declaresublistentry \newcommand*\caption@subtypelist{} \newcommand*\caption@For{\caption@withoptargs\caption@@For} \newcommand\caption@@For[3]{% @@ -1721,18 +1848,10 @@ \caption@AtBeginDocument{% \def\@tempa{\@ifstar\sf@@subref\sf@subref}% \ifx\subref\@tempa - \PackageInfo{caption3}{subfig package 1.2 or 1.3 is loaded\@gobble}% + \caption@InfoNoLine{subfig package 1.2 or 1.3 is loaded}% \let\caption@setfloattype\@gobble \let\@dottedxxxline\sf@NEW@dottedxxxline \let\sf@subfloat\sf@NEW@subfloat - \DeclareRobustCommand*\subref{\@ifstar\sf@@subref\sf@subref}% - \@ifpackageloaded{hyperref}{% - \renewcommand*\sf@updatecaptionlist[4]{% - \xdef\sf@captionlist{% - \sf@captionlist,% - {\protect\numberline{\@subcaplabel}\noexpand{\ignorespaces #2}}% - {\@currentHref}}}% - }{}% \fi \let\sf@NEW@dottedxxxline\@undefined \let\sf@NEW@subfloat\@undefined} diff --git a/Master/texmf-dist/tex/latex/caption/ltcaption.sty b/Master/texmf-dist/tex/latex/caption/ltcaption.sty index 4d4ec8b2ed9..963cf11c899 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-2010 Axel Sommerfeldt (caption@sommerfee.de) +%% Copyright (C) 1994-2011 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm) %% %% -------------------------------------------------------------------------- %% @@ -23,12 +23,13 @@ %% This Current Maintainer of this work is Axel Sommerfeldt. %% %% This work consists of the files caption.ins, caption.dtx, caption2.dtx, -%% ltcaption.dtx, and subcaption.dtx, the derived files caption.sty, -%% caption2.sty, caption3.sty, ltcaption.sty, and subcaption.sty, and the -%% user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. +%% caption3.dtx, bicaption.dtx, ltcaption.dtx, and subcaption.dtx, +%% the derived files caption.sty, caption2.sty, caption3.sty, bicaption.sty, +%% ltcaption.sty, and subcaption.sty, and the user manuals caption-deu.tex, +%% caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{ltcaption}[2008/03/28 v1.2 longtable captions (AR)] +\ProvidesPackage{ltcaption}[2011/01/01 v1.2a longtable captions (AR)] \providecommand*\LTcaptype{table} \providecommand*\ext@table{lot} \@ifundefined{caption@AtBeginDocument}\AtBeginDocument\caption@AtBeginDocument{% @@ -73,7 +74,8 @@ {\let\\\space \addcontentsline{\csname ext@\LTcaptype\endcsname}{\LTcaptype}% {\protect\numberline{\csname the\LTcaptype\endcsname}{#2}}}% - \fi} + \fi + \ignorespaces} \renewcommand\LT@makecaption[3]{% \LT@@makecaption{% \sbox\@tempboxa{#1{{\CaptionLabelFont#2:} }\CaptionTextFont#3}% diff --git a/Master/texmf-dist/tex/latex/caption/subcaption.sty b/Master/texmf-dist/tex/latex/caption/subcaption.sty index a56cba74719..9469cf5863b 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-2010 Axel Sommerfeldt (caption@sommerfee.de) +%% Copyright (C) 1994-2011 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm) %% %% -------------------------------------------------------------------------- %% @@ -23,26 +23,28 @@ %% This Current Maintainer of this work is Axel Sommerfeldt. %% %% This work consists of the files caption.ins, caption.dtx, caption2.dtx, -%% ltcaption.dtx, and subcaption.dtx, the derived files caption.sty, -%% caption2.sty, caption3.sty, ltcaption.sty, and subcaption.sty, and the -%% user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. +%% caption3.dtx, bicaption.dtx, ltcaption.dtx, and subcaption.dtx, +%% the derived files caption.sty, caption2.sty, caption3.sty, bicaption.sty, +%% ltcaption.sty, and subcaption.sty, and the user manuals caption-deu.tex, +%% caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{subcaption}[2008/08/31 v1.0b Adding subcaptions (AR)] -\@ifundefined{caption@subtypehook}{% we need caption v3.1f or newer - \PackageError{subcaption}{`caption' package not loaded\MessageBreak - (which is needed by this package)\@gobble}{% - If you do not understand this error, please take a closer look\MessageBreak - at the documentation of the `subcaption' package.\MessageBreak - \@ehc}% - \endinput}{} -\let\caption@setkeys@ORI\caption@setkeys -\renewcommand\caption@setkeys[2]{\captionsetup[sub]{#2}} +\ProvidesPackage{subcaption}[2011/01/22 v1.0c Adding subcaptions (AR)] +\@ifundefined{subfigure}{}{% + \PackageError{subcaption}{% + This package can't be used in cooperation\MessageBreak + with the subfigure package}% + \endinput} +\@ifundefined{subfloat}{}{% + \PackageError{subcaption}{% + This package can't be used in cooperation\MessageBreak + with the subfig package}% + \endinput} +\RequirePackage{caption}[2010/12/01] % needs v3.2 or newer +\caption@SetupOptions{subcaption}{\captionsetup[sub]{#2}}% \caption@ExecuteOptions{subcaption}{% font+=small,labelformat=parens,labelsep=space,skip=6pt,list=0,hypcap=0} \caption@ProcessOptions*{subcaption} -\let\caption@setkeys\caption@setkeys@ORI -\let\caption@setkeys@ORI\@undefined \@ifundefined{c@figure}{}{\DeclareCaptionSubType{figure}} \@ifundefined{c@table}{}{\DeclareCaptionSubType{table}} \caption@For{typelist}{\DeclareCaptionSubType{#1}} @@ -55,64 +57,9 @@ \newcommand*\subcaption@minipage[2]{% \minipage#1{#2}% \captionsetup{subtype}} -\newcommand*\subcaptionbox{\caption@withoptargs\subcaption@box} -\newcommand\subcaption@box[2]{% - \@testopt{\subcaption@ibox{#1}{#2}}{\wd\@tempboxa}} -\long\def\subcaption@ibox#1#2[#3]{% - \@testopt{\subcaption@iibox{#1}{#2}{#3}}\subcaptionbox@hj@default} -\long\def\subcaption@iibox#1#2#3[#4]#5{% - \setbox\@tempboxa\hbox{#5}% - \begingroup - \captionsetup{subtype*}% set \caption@position - \caption@iftop{% - \endgroup - \parbox[t]{#3}{% - \captionsetup{subtype,position=t}% - \vbox{\caption#1{#2}}% - \subcaption@hrule - \csname caption@hj@#4\endcsname - \unhbox\@tempboxa}% - }{% - \endgroup - \parbox[b]{#3}{% - \captionsetup{subtype,position=b}% - \csname caption@hj@#4\endcsname - \unhbox\@tempboxa - \subcaption@hrule - \vtop{\caption#1{#2}}}% - }} -\providecommand*\caption@hj@c{\centering} -\providecommand*\caption@hj@l{\raggedright} -\providecommand*\caption@hj@r{\raggedleft} -\providecommand*\caption@hj@s{} -\newcommand*\subcaptionbox@hj@default{c} -\newcommand*\subcaption@hrule{\hrule\@height\z@} -\newcommand*\subfloat{% - \@ifnextchar[\@subfloat\subfloat@} -\long\def\@subfloat[#1]{% - \@ifnextchar[{\@@subfloat{#1}}{\subcaptionbox{#1}}} -\long\def\@@subfloat#1[#2]{\subcaptionbox[{#1}]{#2}} -\newcommand*\subfloat@{% - \caption@teststar\subfloat@@\@firstoftwo\@secondoftwo} -\newcommand\subfloat@@[2]{% - \setbox\@tempboxa\hbox{#2}% - \begingroup - \captionsetup{subtype*}% set \caption@position - \caption@iftop{\subfloat@@@ t}{\subfloat@@@ b}% - {#1}\subcaptionbox@hj@default} -\newcommand\subfloat@@@[3]{% - \endgroup - \parbox[#1]{\wd\@tempboxa}{% - #2% \@firstoftwo in star form, \@secondoftwo otherwise - {\captionsetup{subtype*,position=#1}}% - {\captionsetup{subtype,position=#1}% - \caption@refstepcounter\@subcaptype - \caption@prepareanchor\@subcaptype{}% - \caption@makeanchor{}}% - \caption@iftop\subcaption@hrule\@empty - \csname caption@hj@#3\endcsname - \unhbox\@tempboxa - \caption@iftop\@empty\subcaption@hrule}}% +\newcommand*\subcaptionbox{% + \def\captionbox@type{subtype}% + \caption@withoptargs\caption@box} \g@addto@macro\caption@subtypehook{% \ifx\label\subcaption@label \else \let\subcaption@ORI@label\label -- cgit v1.2.3