From 6bdcc2a3cf4c64666a74e7a1cca098aa8e06e56d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 23 Mar 2008 22:11:42 +0000 Subject: caption 3.1g (23mar08) git-svn-id: svn://tug.org/texlive/trunk@7101 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/caption/caption.sty | 253 ++++++++++++--------- Master/texmf-dist/tex/latex/caption/caption2.sty | 2 +- Master/texmf-dist/tex/latex/caption/caption3.sty | 172 +++++++++----- Master/texmf-dist/tex/latex/caption/ltcaption.sty | 54 +++-- Master/texmf-dist/tex/latex/caption/subcaption.sty | 2 +- 5 files changed, 291 insertions(+), 192 deletions(-) (limited to 'Master/texmf-dist/tex/latex') diff --git a/Master/texmf-dist/tex/latex/caption/caption.sty b/Master/texmf-dist/tex/latex/caption/caption.sty index 2ca6b650286..3836fa359dc 100644 --- a/Master/texmf-dist/tex/latex/caption/caption.sty +++ b/Master/texmf-dist/tex/latex/caption/caption.sty @@ -6,7 +6,7 @@ %% %% caption.dtx (with options: `package') %% -%% Copyright (C) 1994-2007 Axel Sommerfeldt (caption@sommerfee.de) +%% Copyright (C) 1994-2008 Axel Sommerfeldt (caption@sommerfee.de) %% %% -------------------------------------------------------------------------- %% @@ -28,10 +28,10 @@ %% user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption}[2007/12/23 v3.1f Customizing captions (AR)] +\ProvidesPackage{caption}[2008/03/20 v3.1g Customizing captions (AR)] \newcommand*\caption@Info[1]{\PackageInfo{caption}{#1\@gobble}} \@onlypreamble\caption@Info -\RequirePackage{caption3}[2007/12/21] % needs v3.1f or newer +\RequirePackage{caption3}[2008/03/01] % needs v3.1g \@ifpackageloaded{caption2}{% \caption@Error{% You can't use both, the (obsolete) caption2 *and*\MessageBreak @@ -44,7 +44,7 @@ }{}% \@ifpackageloaded{nonfloat}{% \caption@IncompatiblePackage{nonfloat}{.\MessageBreak - Furthermore you could use \noexpand\captionof instead of\MessageBreak + Furthermore you should use \noexpand\captionof instead of\MessageBreak \noexpand\figcaption or \string\tabcaption}% }{}% \@ifpackageloaded{topcapt}{% @@ -57,7 +57,9 @@ caption package is strongly not recommended.\MessageBreak Instead of loading the #1 package you should\MessageBreak use the caption package option\MessageBreak - \space\space`tableposition=top'#2}} + \space\space`tableposition=top'#2}% + \caption@Info{Setting position=b for compatibility reasons}% + \caption@setposition b} \@onlypreamble\caption@IncompatiblePackage \caption@ifbool{documentclass}{}{% \PackageWarningNoLine{caption}{% @@ -71,8 +73,8 @@ } \@ifundefined{scr@caption}{}{% \caption@Info{KOMA-Script document class}% - \def\@tablecaptionabovetrue{\captionsetup*[table]{position=t}} - \def\@tablecaptionabovefalse{\captionsetup*[table]{position=b}} + \g@addto@macro\@tablecaptionabovetrue{\captionsetup*[table]{position=t}} + \g@addto@macro\@tablecaptionabovefalse{\captionsetup*[table]{position=b}} \if@tablecaptionabove \caption@AtBeginDocument{% \def\caption@tempa#1{% @@ -87,15 +89,15 @@ \else \@tablecaptionabovefalse \fi - \def\onelinecaptionstrue{\let\caption@ifslc\@firstoftwo} - \def\onelinecaptionsfalse{\let\caption@ifslc\@secondoftwo} + \g@addto@macro\onelinecaptionstrue{\let\caption@ifslc\@firstoftwo} + \g@addto@macro\onelinecaptionsfalse{\let\caption@ifslc\@secondoftwo} \ifonelinecaptions \onelinecaptionstrue \else \onelinecaptionsfalse \fi - \def\@captionabovetrue{\let\caption@position\@firstoftwo} - \def\@captionabovefalse{\let\caption@position\@secondoftwo} + \g@addto@macro\@captionabovetrue{\let\caption@position\@firstoftwo} + \g@addto@macro\@captionabovefalse{\let\caption@position\@secondoftwo} \let\caption@KOMA@setcapindent\@setcapindent \renewcommand*\@setcapindent[1]{% \caption@KOMA@setcapindent{#1}\caption@setcapindent} @@ -164,19 +166,21 @@ \caption@tempa{topcapt}}% \captionsetup*[table]{position=#1}} \@onlypreamble@key{caption}{tableposition} -\DeclareCaptionOption{figurename}{\caption@SetFloatName{figure}{#1}} -\DeclareCaptionOption{tablename}{\caption@SetFloatName{table}{#1}} -\DeclareCaptionOption{name}{\caption@setfloatname\@captype{#1}} -\newcommand*\caption@SetFloatName[2]{% +\DeclareCaptionOption{figurename}{\caption@SetName{figure}{#1}} +\DeclareCaptionOption{tablename}{\caption@SetName{table}{#1}} +\DeclareCaptionOption{name}{\caption@setname\@captype{#1}} +\DeclareCaptionOption{listfigurename}{\caption@SetName{listfigure}{#1}} +\DeclareCaptionOption{listtablename}{\caption@SetName{listtable}{#1}} +\newcommand*\caption@SetName[2]{% \begingroup \def\@tempa{\endgroup\@firstofone}% \@ifundefined{languagename}{}{% \@ifundefined{captions\languagename}{}{% \def\@tempa{\endgroup \expandafter\addto\csname captions\languagename\endcsname}}}% - \@tempa{\caption@setfloatname{#1}{#2}}} -\newcommand*\caption@setfloatname[2]{\@namedef{#1name}{#2}} -\caption@AtBeginDocument{\let\caption@SetFloatName\caption@setfloatname} + \@tempa{\caption@setname{#1}{#2}}} +\newcommand*\caption@setname[2]{\@namedef{#1name}{#2}} +\caption@AtBeginDocument{\let\caption@SetName\caption@setname} \DeclareCaptionOption{figurewithin}{\caption@Within{figure}{#1}} \@onlypreamble@key{caption}{figurewithin} \DeclareCaptionOption{figurewithout}{\caption@Within{figure}{none}} @@ -286,7 +290,7 @@ \@backslashchar#1captionof}{}}% \edef\@tempa{#3}% \expandafter\ifx\csname @#1captype\endcsname\@tempa \else - \@nameuse{caption@#1type@warning}% + \ifcaptionsetup@star\else\@nameuse{caption@#1type@warning}\fi \fi \expandafter\let\csname @#1captype\endcsname\@tempa \@nameuse{caption@#1typehook}% @@ -338,33 +342,52 @@ \def\captionof{\caption@teststar\caption@of{\caption*}\caption}} \newcommand*\caption@of[2]{\caption@settype*{#2}#1} \newcommand*\captionlistentry{% - \@testopt\caption@listentry\@captype} -\def\caption@listentry[#1]#2{% + \caption@teststar\@captionlistentry\@firstoftwo\@secondoftwo} +\newcommand*\@captionlistentry[1]{% + \@testopt{\caption@listentry{#1}}\@captype} +\def\caption@listentry#1[#2]#3{% \@bsphack - \caption@refstepcounter{#1}% - \caption@makecurrent{#1}{#2}% - \caption@addcontentsline{#1}{#2}% + #1{\def\@currentlabelname{#3}}% + {\caption@refstepcounter{#2}% + \caption@makecurrent{#2}{#3}}% + \caption@addcontentsline{#2}{#3}% \@esphack} \def\ContinuedFloat{% - \@ifnextchar[\@ContinuedFloat{% - \caption@iftype - {\addtocounter\@captype\m@ne - \caption@ContinuedFloat\@captype}% - {\caption@Error{\noexpand\ContinuedFloat outside float}}}} + \@ifnextchar[\@Continued@Float\@ContinuedFloat} +\def\@Continued@Float[#1]{\addtocounter{#1}\m@ne} +\def\@ContinuedFloat{% + \caption@iftype + {\addtocounter\@captype\m@ne + \caption@ContinuedFloat\@captype}% + {\caption@Error{\noexpand\ContinuedFloat outside float}}} \def\caption@ContinuedFloat#1{% + \@ifstar{\caption@Continued@Float@{#1}}{\caption@Continued@Float{#1}}} +\def\caption@Continued@Float@{% + \addtocounter\@captype\@ne + \@stpelt{ContinuedFloat}\stepcounter{ContinuedFloat}% + \def\caption@resetContinuedFloat##1{\xdef\caption@CFtype{##1}}% + \caption@@ContinuedFloat} +\def\caption@Continued@Float#1{% \edef\@tempa{#1}% - \ifx\@tempa\caption@CFtype \else + \ifx\@tempa\caption@CFtype + \stepcounter{ContinuedFloat}% + \let\caption@resetContinuedFloat\@gobble + \caption@@ContinuedFloat{#1}% + \sf@ContinuedFloat{#1}% + \else \caption@Error{Continued `#1' after `\caption@CFtype'}% - \fi - \stepcounter{ContinuedFloat}% - \caption@@ContinuedFloat{#1}% + \fi} +\def\caption@@ContinuedFloat#1{% + \expandafter\l@addto@macro\csname the#1\endcsname\theContinuedFloat + \@ifundefined{theH#1}{}{% + \expandafter\l@addto@macro\csname theH#1\endcsname{% + \@alph\c@ContinuedFloat}}% \caption@setoptions{ContinuedFloat}% - \caption@setoptions{continued#1}% - \let\caption@resetContinuedFloat\@gobble} -\def\@ContinuedFloat[#1]{\addtocounter{#1}\m@ne} -\newcounter{ContinuedFloat} + \caption@setoptions{continued#1}} +\providecommand*\sf@ContinuedFloat[1]{} \newcommand*\caption@CFtype{??} -\newcommand*\caption@@ContinuedFloat[1]{} +\newcounter{ContinuedFloat} +\let\theContinuedFloat\@empty \newcommand*\caption@resetContinuedFloat[1]{% \@stpelt{ContinuedFloat}\xdef\caption@CFtype{#1}} \newcommand*\caption@refstepcounter[1]{% @@ -409,7 +432,7 @@ \caption@font*{\KV@caption@fnt@normal\@unused}} \let\caption@setfloatcapt\@firstofone \newcommand*\caption@makecurrent[2]{} -\let\caption@@anchor\@firstofone +\let\caption@makeanchor\@firstofone \let\caption@start\relax \let\caption@@start\relax \let\caption@freezeHref\relax @@ -654,8 +677,7 @@ \@ifstar{\global\caption@startrue#2[]}{#1#2}}% \long\def\@caption#1[#2]#3{% \ifcaption@star \else - \caption@makecurrent{#1}{#2}% - \caption@ifhypcap{\caption@@start}{}% + \caption@prepareanchor{#1}{#2}% \fi \par \caption@beginex{#1}{#2}{#3}% @@ -666,12 +688,15 @@ \fi \caption@normalsize \ifcaption@star - \let\caption@@anchor\@firstofone + \let\caption@makeanchor\@firstofone \fi \@makecaption{\csname fnum@#1\endcsname}% - {\ignorespaces\caption@@anchor{#3}}\par + {\ignorespaces\caption@makeanchor{#3}}\par \caption@if@minipage\@minipagetrue\@minipagefalse}% \caption@end}% + \newcommand*\caption@prepareanchor[2]{% + \caption@makecurrent{#1}{#2}% + \caption@ifhypcap\caption@@start{}} }% \caption@AtBeginDocument*{% \let\caption@ORI@capstart\@undefined @@ -687,7 +712,7 @@ \caption@iftop{\vskip\abovecaptionskip}{\vskip\belowcaptionskip}} \def\caption@DeclareSubType sub#1\@nil{% \caption@Debug{Initializing subtype for `#1'\@gobble}% - \@namedef{subcaption@value#1}{0}% + \@namedef{caption@c@#1}{0}% \@namedef{caption@beginsub#1}{\caption@beginsubfloat{#1}}} \@onlypreamble\caption@DeclareSubType \caption@For*{subtypelist}{\caption@DeclareSubType sub#1\@nil} @@ -701,10 +726,10 @@ % no \caption or \subcaption in this (floating) environment yet \caption@Debug{Increment \@captype\ counter =\the\value\@captype}% \caption@l@stepcounter\@captype - \let\addcontentsline\subcaption@addcontentsline}% - \ifnum\csname subcaption@value\@captype\endcsname=\value\@captype \else + \let\addcontentsline\caption@addsubcontentsline}% + \ifnum\csname caption@c@\@captype\endcsname=\value\@captype \else \caption@Debug{Reset sub\@captype\ counter}% - \expandafter\xdef\csname subcaption@value\@captype\endcsname{% + \expandafter\xdef\csname caption@c@\@captype\endcsname{% \the\value\@captype}% \@stpelt\@subcaptype \fi @@ -713,6 +738,7 @@ \let\caption@addcontentsline\caption@kernel@addcontentsline \let\caption@setfloatcapt\@firstofone \caption@clearmargin + \caption@iflist{}{\let\caption@setlist\@gobble}% \caption@setoptions{sub}% \caption@setoptions{subfloat}% for subfig-package compatibility \let\caption\caption@subcaption @@ -729,35 +755,35 @@ \sf@ifpositiontop{\@listsubcaptions{#1}}{}% \caption@kernel@addcontentsline{#1}{#2}% \sf@ifpositiontop{}{\@listsubcaptions{#1}}% - \caption@addsubcontentslines{#1}} -\newcommand*\caption@addsubcontentslines[1]{% + \caption@addsubcontentslines} +\newcommand*\caption@addsubcontentslines{% \begingroup - \subcaption@addcontentslines + \caption@subcontentslines \endgroup - \subcaption@clearcontentslines}% + \caption@clearsubcontentslines}% \caption@AtBeginDocument*{% \@ifundefined{sf@ifpositiontop}{\let\sf@ifpositiontop\@gobbletwo}{}% - \subcaption@clearcontentslines - \g@addto@macro\caption@typehook{\subcaption@checkcontentslines}% - \AtEndDocument{\subcaption@checkcontentslines}}% -\newcommand*\subcaption@addcontentsline[3]{% + \caption@clearsubcontentslines + \g@addto@macro\caption@typehook{\caption@checksubcontentslines}% + \AtEndDocument{\caption@checksubcontentslines}}% +\newcommand*\caption@addsubcontentsline[3]{% \protected@edef\@tempa{% - \noexpand\g@addto@macro\noexpand\subcaption@addcontentslines{% + \noexpand\g@addto@macro\noexpand\caption@subcontentslines{% \noexpand\@namedef{the#2}{\csname the#2\endcsname}% \ifx\@currentHref\@undefined \else \noexpand\def\noexpand\@currentHref{\@currentHref}% \fi \protect\addcontentsline{#1}{#2}{#3}}}% \@tempa} -\newcommand*\subcaption@checkcontentslines{% - \ifx\subcaption@addcontentslines\@empty \else - \subcaption@Error{% +\newcommand*\caption@checksubcontentslines{% + \ifx\caption@subcontentslines\@empty \else + \caption@Error{% Something's wrong--perhaps a missing \protect\caption\MessageBreak in the last figure or table}% - \subcaption@clearcontentslines + \caption@clearsubcontentslines \fi} -\newcommand*\subcaption@clearcontentslines{% - \global\let\subcaption@addcontentslines\@empty} +\newcommand*\caption@clearsubcontentslines{% + \global\let\caption@subcontentslines\@empty} \@ifundefined{smf@makecaption}{}{\let\smf@makecaption\@makecaption} \@ifclassloaded{beamer}{% \caption@Info{beamer document class}% @@ -777,7 +803,7 @@ }{} \@ifundefined{scr@caption}{}{% \caption@AtBeginDocument{\let\scr@caption\caption}} -\@ifundefined{caption@frenchb}{}{\caption@frenchb} +\@nameuse{caption@frenchb}\@nameundef{caption@frenchb} \caption@AtBeginDocument{\@ifundefined{frenchTeXmods}{}{% \caption@Info{frenchle/pro package is loaded}% \let\captionfont@ORI\captionfont @@ -851,17 +877,22 @@ \global\let\caption@SClabel\@undefined \let\caption@ORI@ContinuedFloat\ContinuedFloat \def\ContinuedFloat{% + \caption@withoptargs\caption@SC@ContinuedFloat}% + \def\caption@SC@ContinuedFloat##1{% \let\caption@ORI@setcounter\setcounter \let\caption@ORI@addtocounter\addtocounter \def\setcounter####1####2{\csname c@####1\endcsname####2\relax}% \def\addtocounter####1####2{\advance\csname c@####1\endcsname ####2\relax}% - \caption@ORI@ContinuedFloat + \caption@ORI@ContinuedFloat##1% \global\let\caption@SCcontinued\caption@ORI@ContinuedFloat \let\setcounter\caption@ORI@setcounter \let\addtocounter\caption@ORI@addtocounter}% - \def\captionsetup##1{% - \caption@g@addto@list\caption@SCsetup{##1}% - \caption@setup{##1}}% + \let\caption@ORI@setup\captionsetup + \def\captionsetup{% + \caption@withoptargs\caption@SC@setup}% + \def\caption@SC@setup##1##2{% + \caption@g@addto@list\caption@SCsetup{##2}% + \caption@ORI@setup##1{##2}}% \let\caption@ORI\caption \def\caption{% \def\caption{\caption@Error{% @@ -879,10 +910,7 @@ }% \newcommand*\caption@defrost{% \ifx\caption@ORI@ContinuedFloat\@undefined - \caption@SCcontinued - \ifx\caption@SCsetup\@undefined \else - \expandafter\captionsetup\expandafter{\caption@SCsetup}% - \fi + \caption@defrost@setup \ifx\caption@SCtext\@undefined \else \expandafter\expandafter\expandafter\caption \expandafter\expandafter\expandafter[% @@ -897,6 +925,11 @@ \caption@Error{Internal Error:\MessageBreak \noexpand\caption@defrost in same group as \string\caption@freeze}% \fi}% + \newcommand*\caption@defrost@setup{% + \caption@SCcontinued + \ifx\caption@SCsetup\@undefined \else + \expandafter\captionsetup\expandafter{\caption@SCsetup}% + \fi}% }{}% \caption@undefbool{needfreeze}} \caption@IfPackageLoaded{float}[2001/11/08 v1.3d]{% @@ -993,29 +1026,28 @@ \stepcounter{FP@\@captype C}% \caption@label\FP@positionLabel \FP@helpNote\@captype\FP@positionLabel - \let\FP@ContinuedFloat\relax + \edef\FP@RestoreCounter{% + \noexpand\setcounter{\@captype}{\the\value\@captype}% + \noexpand\setcounter{ContinuedFloat}{\the\value{ContinuedFloat}}}% \FP@float {\FP@positionLabel}% location label test {\begin\@captype[p!]% - \FP@ContinuedFloat \usebox\FP@floatCorpusBOX + \caption@defrost@setup \caption@ifFPlistcap {\caption@refstepcounter\@captype \expandafter\caption@makecurrent\expandafter\@captype \expandafter{\caption@SClentry}}% {\expandafter\captionlistentry\expandafter{\caption@SClentry}}% - \caption@@anchor\relax + \caption@makeanchor\relax \ifx\FP@LabelText\@empty \else \expandafter\label\expandafter{\FP@LabelText}% \fi \end\@captype}% - {\let\FP@ContinuedFloat\ContinuedFloat - \caption@ifcompatibility - {\let\caption@ContinuedFloat\@gobble}% - {\caption@clearsetup{ContinuedFloat}% - \caption@clearsetup{continued\@captype}}}% + {\FP@RestoreCounter + \@ifundefined{theH\@captype}{}{% + \expandafter\l@addto@macro\csname theH\@captype\endcsname{.FP}}}% {\begin\@captype[b!]% - \FP@ContinuedFloat \let\FP@savedSetfnumCommand\caption@setfnum \def\caption@setfnum##1{% \FP@savedSetfnumCommand{##1}% @@ -1026,7 +1058,7 @@ \setlength\belowcaptionskip{2pt plus 2pt minus 1pt}% length below caption \caption@setoptions{FP\@captype}% \FP@separatorCaption - \caption@ifFPlistcap{}{\caption@set@bool\caption@iflof0}% + \caption@ifFPlistcap{}{\let\caption@addcontentsline\@gobbletwo}% \caption@defrost \end\@captype}% }% @@ -1049,7 +1081,7 @@ \caption@Debug{hyperref current=\@currentHref}% \def\@currentlabelname{#2}}% \newcommand*\caption@makecurrentHref{\hyper@makecurrent}% - \renewcommand\caption@@anchor[1]{% + \renewcommand\caption@makeanchor[1]{% \caption@Debug{hyperref anchor: \@currentHref}% % If we cannot have nesting, the anchor is empty. \ifHy@nesting @@ -1057,11 +1089,7 @@ \else \Hy@raisedlink{\hyper@@anchor{\@currentHref}{\relax}}#1% \fi}% - \g@addto@macro\caption@prepareslc{\let\caption@@anchor\@firstofone}% - \renewcommand*\caption@@ContinuedFloat[1]{% - \@ifundefined{theH#1}{}{% - \expandafter\l@addto@macro\csname theH#1\endcsname{% - \@alph\c@ContinuedFloat}}}% + \g@addto@macro\caption@prepareslc{\let\caption@makeanchor\@firstofone}% \newif\if@capstart \def\caption@start{\caption@ifhypcap{% \caption@makestart\@captype @@ -1071,7 +1099,7 @@ \def\caption@makecurrentHref##1{% \global\@capstartfalse \global\let\@currentHref\hc@currentHref}% - \let\caption@@anchor\@firstofone + \let\caption@makeanchor\@firstofone }{}}% \newcommand*\caption@makestart[1]{% \begingroup @@ -1080,8 +1108,8 @@ \endgroup \caption@Debug{hypcap start=\@currentHref}}% \newcommand*\caption@startanchor[1]{% - \caption@Debug{hypcap anchor: #1}% \ifvmode\begingroup + \caption@Debug{hypcap anchor: #1 (vertical mode)}% \@tempdima\prevdepth \nointerlineskip \vspace*{-\caption@hypcapspace}% @@ -1089,7 +1117,7 @@ \vspace*{\caption@hypcapspace}% \prevdepth\@tempdima \endgroup\else - \caption@Warning{Internal Warning: Vertical TeX mode expected}% + \caption@Debug{hypcap anchor: #1 (horizontal mode)}% \caption@anchor{#1}% \fi}% \newcommand*\caption@anchor[1]{% @@ -1114,7 +1142,7 @@ \let\caption@ORI@setfloatcapt\caption@setfloatcapt \renewcommand*\caption@setfloatcapt{% \ifx\caption@currentHref\@undefined \else - \let\caption@@anchor\@firstofone + \let\caption@makeanchor\@firstofone \fi \caption@ORI@setfloatcapt}}% \def\caption@defrostHref{% @@ -1141,12 +1169,21 @@ \fi}{} \caption@IfPackageLoaded{listings}[2004/02/13 v1.2]{% \let\caption@ORI@lst@MakeCaption\lst@MakeCaption - \def\lst@MakeCaption#1{% - \caption@setoptions{lstlisting}% - \caption@setautoposition{#1}% - \caption@begin{lstlisting}% - \caption@ORI@lst@MakeCaption{#1}% - \caption@end}% + \def\lst@MakeCaption#1{% #1 is `t' or `b' + \begingroup + \caption@setposition{#1}% + \caption@iftop{% + \@tempdima\belowcaptionskip + \belowcaptionskip\abovecaptionskip + \abovecaptionskip\@tempdima}{}% + \caption@setoptions{lstlisting}% + \caption@setautoposition{#1}% + \caption@begin{lstlisting}% + \caption@ORI@lst@MakeCaption{#1}% + \caption@end + \endgroup}% + \def\lst@makecaption{\caption@starfalse\@makecaption}% + \def\lst@maketitle{\caption@startrue\@makecaption\@empty}% \providecommand*\ext@lstlisting{lol}% }{} \providecommand*\LTcaptype{table} @@ -1157,26 +1194,31 @@ \let\caption@ORI@LT@array\LT@array \renewcommand*\LT@array{% \global\let\caption@opt@@longtable\@undefined - \def\captionsetup##1{\noalign{\LT@captionsetup{##1}}}% + \def\captionsetup{% + \noalign\bgroup + \@ifstar\@captionsetup\@captionsetup}% gobble * + \def\@captionsetup##1{\LT@captionsetup{##1}\egroup}% \def\LT@captionsetup##1{% - \@captionsetup\@gobble[@longtable]{##1}% + \captionsetup@startrue\caption@setup@options[@longtable]{##1}% \global\let\caption@opt@@longtable\caption@opt@@longtable}% \def\@captionabovetrue{\LT@captionsetup{position=t}}% \def\@captionabovefalse{\LT@captionsetup{position=b}}% - \def\captionlistentry##1{\noalign{% - \caption@listentry[\LTcaptype]{##1}}}% + \def\captionlistentry{% + \noalign\bgroup + \@ifstar{\egroup\LT@captionlistentry}% gobble * + {\egroup\LT@captionlistentry}}% + \def\LT@captionlistentry##1{% + \caption@listentry\@firstoftwo[\LTcaptype]{##1}}% %% \let\Hy@LT@currentHlabel\@currentHlabel %% \let\@currentHlabel\Hy@LT@currentHlabel \def\ContinuedFloat{\noalign{% \caption@Error{\noexpand\ContinuedFloat outside float}}}% \caption@ORI@LT@array}}% - \def\LT@c@ption#1[#2]#3{% + \long\def\LT@c@ption#1[#2]#3{% \LT@makecaption#1{\csname fnum@\LTcaptype\endcsname}{#3}% - \def\@currentlabelname{#2}% - \caption@addcontentsline\LTcaptype{#2}}% + \LT@captionlistentry{#2}}% \renewcommand\LT@makecaption[3]{% \caption@LT@make{% - \caption@startrue#1\caption@starfalse \caption@settype*\LTcaptype \ifdim\LTcapwidth=4in \else \setcaptionwidth\LTcapwidth @@ -1184,6 +1226,7 @@ \caption@setoptions{longtable}% \caption@setoptions{@longtable}% \caption@setautoposition{\ifcase\LT@rows t\else b\fi}% + \caption@startrue#1\caption@starfalse \caption@resetContinuedFloat\LTcaptype \caption@begin\LTcaptype \caption@normalsize diff --git a/Master/texmf-dist/tex/latex/caption/caption2.sty b/Master/texmf-dist/tex/latex/caption/caption2.sty index d1d982f9522..adf32f8db9b 100644 --- a/Master/texmf-dist/tex/latex/caption/caption2.sty +++ b/Master/texmf-dist/tex/latex/caption/caption2.sty @@ -6,7 +6,7 @@ %% %% caption2.dtx (with options: `package') %% -%% Copyright (C) 1994-2007 Axel Sommerfeldt (caption@sommerfee.de) +%% Copyright (C) 1994-2008 Axel Sommerfeldt (caption@sommerfee.de) %% %% -------------------------------------------------------------------------- %% diff --git a/Master/texmf-dist/tex/latex/caption/caption3.sty b/Master/texmf-dist/tex/latex/caption/caption3.sty index 02bd5e3f470..c6a6a36cd42 100644 --- a/Master/texmf-dist/tex/latex/caption/caption3.sty +++ b/Master/texmf-dist/tex/latex/caption/caption3.sty @@ -6,7 +6,7 @@ %% %% caption.dtx (with options: `kernel') %% -%% Copyright (C) 1994-2007 Axel Sommerfeldt (caption@sommerfee.de) +%% Copyright (C) 1994-2008 Axel Sommerfeldt (caption@sommerfee.de) %% %% -------------------------------------------------------------------------- %% @@ -28,7 +28,7 @@ %% user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption3}[2007/12/21 v3.1f caption3 kernel (AR)] +\ProvidesPackage{caption3}[2008/03/20 v3.1g caption3 kernel (AR)] \providecommand*\@nameundef[1]{% \expandafter\let\csname #1\endcsname\@undefined} \providecommand\l@addto@macro[2]{% @@ -103,12 +103,14 @@ \newcommand*\caption@teststar[3]{\@ifstar{#1{#2}}{#1{#3}}} \newcommand*\caption@teststar@[3]{% \@ifstar{#1{#2}}{\caption@ifatletter{#1{#2}}{#1{#3}}}} +\AtBeginDocument{\let\caption@teststar@\caption@teststar} \newcommand*\caption@ifatletter{% \ifnum\the\catcode`\@=11 \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi} +\AtBeginDocument{\let\caption@ifatletter\@secondoftwo} \newcommand*\caption@withoptargs[1]{% \@ifstar {\def\caption@tempa{*}\caption@@withoptargs#1}% @@ -206,16 +208,17 @@ \KV@err{No value allowed for #1}% \expandafter\@gobble \fi} +\newif\ifcaptionsetup@star \newcommand*\captionsetup{% \caption@teststar@\@captionsetup\@gobble\@firstofone} \newcommand*\@captionsetup[1]{% - \@ifnextchar[{\caption@setup@options#1}\caption@setup} + \captionsetup@startrue#1\captionsetup@starfalse + \@ifnextchar[\caption@setup@options\caption@setup} \newcommand*\caption@setup{\caption@setkeys{caption}} -\def\caption@setup@options#1[#2]#3{% +\def\caption@setup@options[#1]#2{% \@bsphack - % #1 is \@gobble in star form, and \@firstofone otherwise - #1{\caption@addtooptlist{#2}}% - \expandafter\caption@l@addto@list\csname caption@opt@#2\endcsname{#3}% + \ifcaptionsetup@star\captionsetup@starfalse\else\caption@addtooptlist{#1}\fi + \expandafter\caption@l@addto@list\csname caption@opt@#1\endcsname{#2}% \@esphack} \newcommand*\clearcaptionsetup{% \caption@teststar@\@clearcaptionsetup\@gobble\@firstofone} @@ -304,9 +307,10 @@ \edef\caption@keydepth{\caption@keydepth i}% \caption@Debug{\protect\setkeys{#2}{#3}}% \setkeys{#2}{#3}% - \edef\caption@keydepth{\expandafter\@cdr\caption@keydepth\@nil}% + \edef\caption@keydepth{\expandafter\@gobble\caption@keydepth}% \expandafter\let\expandafter\KV@err\csname ORI@KV@err\caption@keydepth\endcsname \expandafter\let\expandafter\KV@errx\csname ORI@KV@errx\caption@keydepth\endcsname + \ifx\caption@keydepth\@empty \captionsetup@starfalse \fi \@esphack} \let\caption@keydepth\@empty \newcommand*\caption@ExecuteOptions[2]{% @@ -431,6 +435,7 @@ \global\@namedef{caption@sty@#1}{#3}} \@onlypreamble\caption@declarestyle \DeclareCaptionOption{style}{\caption@setstyle{#1}} +\DeclareCaptionOption{style*}{\caption@setstyle*{#1}} \DeclareCaptionOption{singlelinecheck}{\caption@set@bool\caption@ifslc{#1}} \newcommand*\caption@setstyle{% \caption@teststar\caption@@setstyle\@gobble\@firstofone} @@ -479,6 +484,14 @@ {\expandafter\let\expandafter\caption@ifh\csname caption@ifh@#1\endcsname \expandafter\let\expandafter\caption@slfmt\csname caption@slfmt@#1\endcsname \expandafter\let\expandafter\caption@fmt\csname caption@fmt@#1\endcsname}} +\newcommand*\DeclareCaptionDefaultFormat[1]{% + \expandafter\def\expandafter\caption@fmt@default\expandafter + {\csname caption@fmt@#1\endcsname}% + \expandafter\def\expandafter\caption@slfmt@default\expandafter + {\csname caption@slfmt@#1\endcsname}% + \expandafter\def\expandafter\caption@ifh@default\expandafter + {\csname caption@ifh@#1\endcsname}} +\@onlypreamble\DeclareCaptionDefaultFormat \DeclareCaptionFormat{plain}{#1#2#3\par} \DeclareCaptionFormat{hang}[#1#2#3\par]{% \caption@ifin@list\caption@lsepcrlist\caption@lsepname @@ -489,10 +502,9 @@ \advance\caption@parindent\hangindent \advance\caption@hangindent\hangindent \caption@@par#3\par}} -\def\caption@fmt@default{\caption@fmt@plain} -\def\caption@ifh@default{\caption@ifh@plain} +\DeclareCaptionDefaultFormat{plain} \newcommand*\DeclareCaptionLabelFormat[2]{% - \global\@namedef{caption@lfmt@#1}##1##2##3{#2}} + \global\@namedef{caption@lfmt@#1}##1##2{#2}} \@onlypreamble\DeclareCaptionLabelFormat \DeclareCaptionOption{labelformat}{\caption@setlabelformat{#1}} \newcommand*\caption@setlabelformat[1]{% @@ -549,18 +561,18 @@ \newcommand*\DeclareCaptionFont[2]{% \define@key{caption@fnt}{#1}[]{\l@addto@macro\caption@fnt{#2}}} \@onlypreamble\DeclareCaptionFont -\newcommand*\DeclareDefaultCaptionFont[2]{% +\newcommand*\DeclareCaptionDefaultFont[2]{% \global\@namedef{caption#1@default}{#2}} -\@onlypreamble\DeclareDefaultCaptionFont +\@onlypreamble\DeclareCaptionDefaultFont \DeclareCaptionOption{font}{\caption@setfont{font}{#1}} \DeclareCaptionOption{font+}{\caption@addtofont{font}{#1}} -\DeclareDefaultCaptionFont{font}{} +\DeclareCaptionDefaultFont{font}{} \DeclareCaptionOption{labelfont}{\caption@setfont{labelfont}{#1}} \DeclareCaptionOption{labelfont+}{\caption@addtofont{labelfont}{#1}} -\DeclareDefaultCaptionFont{labelfont}{} +\DeclareCaptionDefaultFont{labelfont}{} \DeclareCaptionOption{textfont}{\caption@setfont{textfont}{#1}} \DeclareCaptionOption{textfont+}{\caption@addtofont{textfont}{#1}} -\DeclareDefaultCaptionFont{textfont}{} +\DeclareCaptionDefaultFont{textfont}{} \newcommand*\caption@setfont[1]{% \expandafter\let\csname caption#1\endcsname\@empty \caption@addtofont{#1}} @@ -611,17 +623,17 @@ \KV@caption@fnt@normalsize\@unused \KV@caption@fnt@singlespacing\@unused}} \DeclareCaptionOption{size}{\caption@setfont{size}{#1}} -\DeclareDefaultCaptionFont{size}{} +\DeclareCaptionDefaultFont{size}{} \newcommand*\DeclareCaptionJustification[2]{% \global\@namedef{caption@hj@#1}{#2}% for compatibility to v3.0 \DeclareCaptionFont{#1}{#2}} \@onlypreamble\DeclareCaptionJustification -\newcommand*\DeclareDefaultCaptionJustification[1]{% +\newcommand*\DeclareCaptionDefaultJustification[1]{% \global\@namedef{caption@hj@default}{#1}% for compatibility to v3.0 - \DeclareDefaultCaptionFont{@hj}{#1}} -\@onlypreamble\DeclareDefaultCaptionJustification + \DeclareCaptionDefaultFont{@hj}{#1}} +\@onlypreamble\DeclareCaptionDefaultJustification \DeclareCaptionOption{justification}{\caption@setjustification{#1}} -\DeclareDefaultCaptionJustification{} +\DeclareCaptionDefaultJustification{} \newcommand*\caption@setjustification{\caption@setfont{@hj}} \DeclareCaptionJustification{justified}{} \DeclareCaptionJustification{centering}{\centering} @@ -728,8 +740,9 @@ \newcommand*\caption@endhook{} \newcommand*\AtBeginCaption{\l@addto@macro\caption@beginhook} \newcommand*\AtEndCaption{\l@addto@macro\caption@endhook} -\DeclareCaptionOption{list}{\caption@set@bool\caption@iflist{#1}} -\DeclareCaptionOption{listof}{\caption@set@bool\caption@iflist{#1}} +\DeclareCaptionOption{list}{\caption@setlist{#1}} +\DeclareCaptionOption{listof}{\caption@setlist{#1}} +\newcommand*\caption@setlist{\caption@set@bool\caption@iflist} \newcommand*\DeclareCaptionListFormat[2]{% \global\@namedef{caption@lstfmt@#1}##1##2{#2}} \@onlypreamble\DeclareCaptionListFormat @@ -752,7 +765,6 @@ {\let\caption@Debug\@gobble}} \DeclareOption{debug}{\setkeys{caption}{debug}} \setkeys{caption}{debug=0} -\caption@CheckCommand\@makecaption{\let\@makecaption\@undefined} \caption@CheckCommand\@makecaption{% % article|report|book [2005/09/16 v1.4f Standard LaTeX document class] \long\def\@makecaption#1#2{% @@ -834,9 +846,9 @@ \@tempa \caption@g@addto@list\caption@sls@default{margin*=.5\captionmargin} \DeclareCaptionLabelSeparator{default}{.\enspace} - \DeclareDefaultCaptionFont{font}{\@captionfont} - \DeclareDefaultCaptionFont{labelfont}{\@captionheadfont} - \DeclareDefaultCaptionFont{textfont}{\@captionfont\upshape} + \DeclareCaptionDefaultFont{font}{\@captionfont} + \DeclareCaptionDefaultFont{labelfont}{\@captionheadfont} + \DeclareCaptionDefaultFont{textfont}{\@captionfont\upshape} \captionsetup[figure]{position=b} \captionsetup[table]{position=t} } @@ -857,18 +869,18 @@ \fi \nobreak\vskip\belowcaptionskip\nobreak}} \DeclareCaptionLabelFormat{default}{#1} - \DeclareDefaultCaptionJustification{\raggedright} - \DeclareDefaultCaptionFont{font}{% + \DeclareCaptionDefaultJustification{\raggedright} + \DeclareCaptionDefaultFont{font}{% \usebeamerfont*{caption}% \usebeamercolor[fg]{caption}} - \DeclareDefaultCaptionFont{labelfont}{% + \DeclareCaptionDefaultFont{labelfont}{% \usebeamercolor[fg]{caption name}% \usebeamerfont*{caption name}} \defbeamertemplate{caption}{caption3}{% \caption@make\insertcaptionname\insertcaptionnumber\insertcaption} \DeclareOption{beamer}{% % \usebeamertemplate**{caption} will set font - \DeclareDefaultCaptionFont{font}{}% + \DeclareCaptionDefaultFont{font}{}% \setbeamertemplate{caption}[caption3]} }{} \@ifundefined{scr@caption}{}{% @@ -904,8 +916,8 @@ #3\par \fi} \DeclareCaptionLabelSeparator{default}{\captionformat} - \DeclareDefaultCaptionFont{font}{\scr@fnt@caption} - \DeclareDefaultCaptionFont{labelfont}{\scr@fnt@captionlabel} + \DeclareCaptionDefaultFont{font}{\scr@fnt@caption} + \DeclareCaptionDefaultFont{labelfont}{\scr@fnt@captionlabel} } \@ifundefined{CaptionFonts}{}{% \caption@CheckCommand\@makecaption{% @@ -920,12 +932,29 @@ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip}} - \DeclareDefaultCaptionFont{labelfont}{\CaptionLabelFont} - \DeclareDefaultCaptionFont{textfont}{\CaptionTextFont} + \DeclareCaptionDefaultFont{labelfont}{\CaptionLabelFont} + \DeclareCaptionDefaultFont{textfont}{\CaptionTextFont} } +\@ifclassloaded{thesis}{% + \caption@CheckCommand\@makecaption{% + % thesis.cls 1996/25/01 1.0g LaTeX document class (wm). + \long\def\@makecaption#1#2{% + \vskip\abovecaptionskip + \setbox\@tempboxa\hbox{{\cph@font #1:} {\cpb@font #2}}% + \ifdim \wd\@tempboxa >\hsize + \@hangfrom{\cph@font #1: }{\cpb@font #2\par}% + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip}} + \DeclareCaptionDefaultFormat{hang} + \DeclareCaptionDefaultFont{labelfont}{\cph@font} + \DeclareCaptionDefaultFont{textfont}{\cpb@font} +}{} \@ifundefined{FB@makecaption}{}{% \caption@CheckCommand\@makecaption{% % frenchb.ldf [2005/02/06 v1.6g French support from the babel system] + % frenchb.ldf [2007/10/05 v2.0e French support from the babel system] \long\def\@makecaption#1#2{% \vskip\abovecaptionskip \sbox\@tempboxa{#1\CaptionSeparator #2}% @@ -978,7 +1007,7 @@ \else \@mcORI{#1}{#2}% \fi}} - \DeclareDefaultCaptionFont{textfont}{\itshape}% + \DeclareCaptionDefaultFont{textfont}{\itshape}% \DeclareCaptionLabelSeparator{default}{\captionseparator\space}% } \captionsetup{style=default,position=default,list=1,listformat=default,% @@ -1005,10 +1034,8 @@ {\ignorespaces #2}}}% \fi} \newif\ifcaption@star -\newcommand*\caption@fnum[1]{% - \caption@lfmt{\@nameuse{#1name}}{\@nameuse{the#1}}{\theContinuedFloat}} -\newcommand\caption@make[2]{% - \caption@@make{\caption@lfmt{#1}{#2}{\theContinuedFloat}}} +\newcommand*\caption@fnum[1]{\caption@lfmt{\@nameuse{#1name}}{\@nameuse{the#1}}} +\newcommand\caption@make[2]{\caption@@make{\caption@lfmt{#1}{#2}}} \newcommand\caption@@make[2]{% \begingroup \caption@stepcounter @@ -1114,17 +1141,33 @@ \caption@ifstrut{\ifhmode\@finalstrut\strutbox\fi}{}% \par}}} \newcommand\caption@ifempty[1]{% + \caption@if@empty{#1}% + \caption@ifempty\@unused} +\newcommand\caption@if@empty[1]{% \def\caption@tempa{#1}% - \def\caption@tempb{\ignorespaces}% - \ifx\caption@tempa\caption@tempb - \let\caption@tempa\@empty - \fi \ifx\caption@tempa\@empty \let\caption@ifempty\@secondoftwo \else - \let\caption@ifempty\@gobbletwo - \fi - \caption@ifempty\@unused} + \expandafter\def\expandafter\caption@tempa\expandafter{% + \caption@car#1\caption@if@empty\caption@nil}% + \def\caption@tempb{\caption@if@empty}% + \ifx\caption@tempa\caption@tempb + \let\caption@ifempty\@secondoftwo + \else + \def\caption@tempb{\ignorespaces}% + \ifx\caption@tempa\caption@tempb + \expandafter\caption@if@empty\expandafter{\@gobble#1}% + \else + \def\caption@tempb{\label}% + \ifx\caption@tempa\caption@tempb + \expandafter\caption@if@empty\expandafter{\@gobbletwo#1}% + \else + \let\caption@ifempty\@gobbletwo + \fi + \fi + \fi + \fi} +\long\def\caption@car#1#2\caption@nil{#1}% same as \@car, but \long \newcommand*\caption@@par{% \parindent\caption@parindent\hangindent\caption@hangindent}% \newcommand*\DeclareCaptionType{% @@ -1152,11 +1195,9 @@ {\@namedef{l@#2}{\@dottedtocline{1}{1.5em}{2.3em}}}% {\expandafter\let\csname l@#2\endcsname\l@figure}% \expandafter\newcommand\csname #2name\endcsname{}% - \edef\@tempa{% - \def\noexpand\@tempa{\expandafter\noexpand\@car#2\@nil}}% + \edef\@tempa{\def\noexpand\@tempa{\@car#2\@nil}}% \uppercase\expandafter{\@tempa}% - \edef\@tempb{% - \noexpand\g@addto@macro\noexpand\@tempa{\expandafter\@cdr#2\@nil}}% + \edef\@tempb{\noexpand\g@addto@macro\noexpand\@tempa{\@cdr#2\@nil}}% \@tempb \expandafter\let\csname #2name\endcsname\@tempa \expandafter\newcommand\csname list#2name\endcsname{}% @@ -1203,22 +1244,29 @@ \define@key{caption@within}{none}[]{% \caption@within{}{}} \@onlypreamble@key{caption@within}{none} -\@ifundefined{c@chapter}{}{% +\@ifundefined{c@chapter}{% + \define@key{caption@within}{section}[]{% + \@addtoreset\caption@type{section}% + \caption@within{\ifnum\c@section>\z@ \thesection.\fi}{\theHsection.}} +}{% \define@key{caption@within}{chapter}[]{% \@addtoreset\caption@type{chapter}% \caption@within{\ifnum\c@chapter>\z@ \thechapter.\fi}{\theHchapter.}} - \@onlypreamble@key{caption@within}{chapter}} -\define@key{caption@within}{section}[]{% - \@addtoreset\caption@type{section}% - \caption@within{\ifnum\c@section>\z@ \thesection.\fi}{\theHsection.}} -\@onlypreamble@key{caption@within}{section} + \@onlypreamble@key{caption@within}{chapter} + \define@key{caption@within}{section}[]{% + \@addtoreset\caption@type{chapter}% + \@addtoreset\caption@type{section}% + \caption@within{\ifnum\c@chapter>\z@ \thechapter.\fi + \ifnum\c@section>\z@ \thesection.\fi}{% + \theHchapter.\theHsection.}} +}\@onlypreamble@key{caption@within}{section} \newcommand*\caption@within{% \expandafter\caption@within@\expandafter{\caption@type}} \@onlypreamble\caption@within \newcommand*\caption@within@[3]{% - \global\@namedef{the\caption@type}{#2\arabic{#1}}% - \@ifundefined{theH\caption@type}\caption@AtBeginDocument\@firstofone - {\global\@namedef{theH\caption@type}{#3\arabic{#1}}}} + \global\@namedef{the#1}{#2\arabic{#1}}% + \@ifundefined{theH#1}\caption@AtBeginDocument\@firstofone + {\global\@namedef{theH#1}{#3\arabic{#1}}}} \@onlypreamble\caption@within@ \providecommand*\@removefromreset[2]{{% \expandafter\let\csname c@#1\endcsname\@removefromreset @@ -1257,13 +1305,15 @@ {\expandafter\let\csname l@sub#3\endcsname\l@subsection}% \@cons\caption@subtypelist{{#3}}}% {\caption@Debug{Modify caption `sub#3'}}% + \@namedef{sub#3name}{}% + \@namedef{sub#3autorefname}{\csname #3name\endcsname}% #1% is \@firstoftwo in star form, and \@secondoftwo otherwise {\@namedef{p@sub#3}{}% \@namedef{thesub#3}{\csname the#3\endcsname.\@nameuse{#2}{sub#3}}}% {\@namedef{p@sub#3}{\csname the#3\endcsname}% \@namedef{thesub#3}{\@nameuse{#2}{sub#3}}}% \@namedef{theHsub#3}{\csname theH#3\endcsname.\arabic{sub#3}}% - \@namedef{sub#3autorefname}{\csname #3name\endcsname}}} + }} \@onlypreamble\@@DeclareCaptionSubType \newcommand*\caption@subtypelist{} \newcommand*\caption@For{\caption@withoptargs\caption@@For} diff --git a/Master/texmf-dist/tex/latex/caption/ltcaption.sty b/Master/texmf-dist/tex/latex/caption/ltcaption.sty index 852b6efaaa8..046cc927990 100644 --- a/Master/texmf-dist/tex/latex/caption/ltcaption.sty +++ b/Master/texmf-dist/tex/latex/caption/ltcaption.sty @@ -6,7 +6,7 @@ %% %% ltcaption.dtx (with options: `package') %% -%% Copyright (C) 1994-2007 Axel Sommerfeldt (caption@sommerfee.de) +%% Copyright (C) 1994-2008 Axel Sommerfeldt (caption@sommerfee.de) %% %% -------------------------------------------------------------------------- %% @@ -28,7 +28,7 @@ %% user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{ltcaption}[2007/09/01 v1.1 longtable captions (AR)] +\ProvidesPackage{ltcaption}[2008/03/21 v1.1a longtable captions (AR)] \providecommand*\LTcaptype{table} \providecommand*\ext@table{lot} \@ifundefined{caption@AtBeginDocument}\AtBeginDocument\caption@AtBeginDocument{% @@ -45,24 +45,29 @@ \@ifundefined{caption@AtBeginDocument}\AtBeginDocument\caption@AtBeginDocument{% \let\ltcaption@ORI@LT@array\LT@array \renewcommand*\LT@array{% - \let\ltcaption@ORI@refstepcounter\refstepcounter - \let\ltcaption@ORI@H@refstepcounter\H@refstepcounter - \def\refstepcounter##1{% - \let\refstepcounter\ltcaption@ORI@refstepcounter - \let\H@refstepcounter\ltcaption@ORI@H@refstepcounter - \refstepcounter\LTcaptype}% - \def\H@refstepcounter##1{% - \let\refstepcounter\ltcaption@ORI@refstepcounter - \let\H@refstepcounter\ltcaption@ORI@H@refstepcounter - \H@refstepcounter\LTcaptype}% - \let\ltcaption@ORI@hyper@makecurrent\hyper@makecurrent - \def\hyper@makecurrent##1{% - \let\hyper@makecurrent\ltcaption@ORI@hyper@makecurrent - \hyper@makecurrent\LTcaptype}% + \let\caption@LT@refstepcounter\refstepcounter + \def\refstepcounter{% + \caption@LTtype\caption@LT@refstepcounter}% + \let\caption@LT@Hrefstepcounter\H@refstepcounter + \def\H@refstepcounter{% + \caption@LTtype\caption@LT@Hrefstepcounter}% + \let\caption@LT@makecurrent\hyper@makecurrent + \def\hyper@makecurrent{% + \caption@LTtype\caption@LT@makecurrent}% \def\lst@@caption{\relax}% \ltcaption@ORI@LT@array}% } -\def\LT@c@ption#1[#2]#3{% +\newcommand*\caption@LTtype[2]{% + \edef\caption@LT@tempa{#2}% + \ifx\caption@LT@tempa\caption@LT@table + \caption@LT@type#1% + \else + #1{#2}% + \fi}% +\newcommand*\caption@LT@type[1]{% + \expandafter#1\expandafter{\LTcaptype}} +\newcommand*\caption@LT@table{table}% +\long\def\LT@c@ption#1[#2]#3{% \LT@makecaption#1{\csname fnum@\LTcaptype\endcsname}{#3}% \def\@tempa{#2}% \ifx\@tempa\@empty\else @@ -139,11 +144,12 @@ \def\next{\caption@LT@parse@ @}% \fi\fi\fi \next} -\newenvironment{longtable*}% - {\let\refstepcounter\@gobble - \let\H@refstepcounter\@gobble - \let\hyper@makecurrent\@gobble - \let\Hy@raisedlink\@gobble +\newenvironment{longtable*}{% + \let\caption@LT@type\@gobble + \let\caption@LT@raisedlink\Hy@raisedlink + \def\Hy@raisedlink{% + \let\Hy@raisedlink\caption@LT@raisedlink + \@gobble}% \let\ltcaption@ORI@LT@c@ption\LT@c@ption \def\LT@c@ption##1[##2]##3{% \ifx##1\@firstofone @@ -155,8 +161,8 @@ \else \ltcaption@ORI@LT@c@ption{##1}[{##2}]{##3}% \fi}% - \longtable}% - {\endlongtable} + \longtable}% + {\endlongtable} \@ifundefined{@komalongtablefalse}{}{% \if@komalongtable \renewcommand{\LT@makecaption}[3]{% diff --git a/Master/texmf-dist/tex/latex/caption/subcaption.sty b/Master/texmf-dist/tex/latex/caption/subcaption.sty index 5f6ee5c2508..5944c6d8759 100644 --- a/Master/texmf-dist/tex/latex/caption/subcaption.sty +++ b/Master/texmf-dist/tex/latex/caption/subcaption.sty @@ -6,7 +6,7 @@ %% %% subcaption.dtx (with options: `package') %% -%% Copyright (C) 1994-2007 Axel Sommerfeldt (caption@sommerfee.de) +%% Copyright (C) 1994-2008 Axel Sommerfeldt (caption@sommerfee.de) %% %% -------------------------------------------------------------------------- %% -- cgit v1.2.3