summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/caption/caption3.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-11-24 21:23:07 +0000
committerKarl Berry <karl@freefriends.org>2019-11-24 21:23:07 +0000
commit86d1fcf155b86d95f64cb13634a6ecb6b3cabed2 (patch)
tree546bd4260076765583d55b8f90067ef94153d89f /Master/texmf-dist/tex/latex/caption/caption3.sty
parent38b88fb70bbb7d0d278d6bc2bbee04a191bd7a61 (diff)
caption (24nov19)
git-svn-id: svn://tug.org/texlive/trunk@52905 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/caption/caption3.sty')
-rw-r--r--Master/texmf-dist/tex/latex/caption/caption3.sty423
1 files changed, 109 insertions, 314 deletions
diff --git a/Master/texmf-dist/tex/latex/caption/caption3.sty b/Master/texmf-dist/tex/latex/caption/caption3.sty
index dc0897cf9f0..fe0a5625e34 100644
--- a/Master/texmf-dist/tex/latex/caption/caption3.sty
+++ b/Master/texmf-dist/tex/latex/caption/caption3.sty
@@ -37,7 +37,7 @@
%% caption-deu.tex, caption-eng.tex, and caption-rus.tex.
%%
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{caption3}[2019/09/01 v1.8d caption3 kernel (AR)]
+\ProvidesPackage{caption3}[2019/09/09 v1.8e caption3 kernel (AR)]
\providecommand\caption@FixArabTeX{%
\def\caption@tempa##1{}%
\ifx\caption@tempa\@gobble
@@ -84,6 +84,14 @@
\else
\expandafter\expandafter\expandafter\@secondoftwo
\fi\fi}
+\newcommand*\caption@ifdefined[1]{%
+ \ifx#1\@undefined
+ \expandafter\@secondoftwo
+ \else\ifx#1\relax
+ \expandafter\expandafter\expandafter\@secondoftwo
+ \else
+ \expandafter\expandafter\expandafter\@firstoftwo
+ \fi\fi}
\newcommand*\caption@ifinlist{%
\@expandtwoargs\caption@@ifinlist}
\newcommand*\caption@@ifinlist[2]{%
@@ -165,27 +173,6 @@
\expandafter\caption@tempb\expandafter{\caption@tempa}}
\DeclareRobustCommand*\caption@gobble{%
\caption@withoptargs\@gobbletwo}
-\newcommand\caption@DoCheckCommand[2]{%
- \begingroup
- \let\caption@tempa#1%
- #2%
- \ifx\caption@tempa#1%
- \endgroup
- \let\caption@CheckCommand\@gobbletwo
- \else
- \endgroup
- \fi}
-\@onlypreamble\caption@DoCheckCommand
-\let\caption@CheckCommand\caption@DoCheckCommand
-\@onlypreamble\caption@CheckCommand
-\newcommand*\caption@IfCheckCommand{%
- \ifx\caption@CheckCommand\@gobbletwo
- \let\caption@CheckCommand\caption@DoCheckCommand
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi}
-\@onlypreamble\caption@IfCheckCommand
\let\caption@begindocumenthook\@empty
\let\caption@@begindocumenthook\@empty
\def\caption@AtBeginDocument{%
@@ -523,25 +510,6 @@
\setlength\caption@hangindent{#1}}
\DeclareCaptionOption{parskip}{%
\l@addto@macro\caption@@par{\setlength\parskip{#1}}}
-\providecommand*\caption@ifkomaclass{%
- \caption@ifundefined\scr@caption\@gobble\@firstofone}
-\@onlypreamble\caption@ifkomaclass
-\caption@ifkomaclass{%
- \let\caption@KV@parindent\KV@caption@parindent
- \DeclareCaptionOption{parindent}[]{%
- \ifx,#1,%
- \caption@Debug{Option `parindent' ignored}%
- \else
- \caption@KV@parindent{#1}%
- \fi}%
- \let\caption@KV@parskip\KV@caption@parskip
- \DeclareCaptionOption{parskip}[]{%
- \ifx,#1,%
- \caption@Debug{Option `parskip' ignored}%
- \else
- \caption@KV@parskip{#1}%
- \fi}%
-}
\newcommand*\DeclareCaptionStyle[1]{%
\@testopt{\caption@declarestyle{#1}}{}}
\@onlypreamble\DeclareCaptionStyle
@@ -858,8 +826,8 @@
\DeclareCaptionFont{larger}{\caption@larger}
\DeclareCaptionFont{sansmath}{\sansmath}
\DeclareCaptionFont{singlespacing}{%
- \caption@ifundefined\setspace@singlespace{}{%
- \setstretch\setspace@singlespace}}% normally 1
+ \caption@ifdefined\setspace@singlespace{%
+ \setstretch\setspace@singlespace}{}}% normally 1
\DeclareCaptionFont{onehalfspacing}{\onehalfspacing}
\DeclareCaptionFont{doublespacing}{\doublespacing}
\DeclareCaptionFont{stretch}{\setstretch{#1}}
@@ -1048,26 +1016,37 @@
{\let\caption@Debug\@gobble}}
\DeclareOption{debug}{\setkeys{caption}{debug}}
\setkeys{caption}{debug=0}
-\caption@CheckCommand\@makecaption{%
- % article|report|book [2005/09/16 v1.4f Standard LaTeX document class]
- \long\def\@makecaption#1#2{%
- \vskip\abovecaptionskip
- \sbox\@tempboxa{#1: #2}%
- \ifdim \wd\@tempboxa >\hsize
- #1: #2\par
- \else
- \global \@minipagefalse
- \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
- \fi
- \vskip\belowcaptionskip}}
-\providecommand*\caption@ifelsarticleclass{%
- \@ifclassloaded{elsarticle}\@firstofone\@gobble}
-\@onlypreamble\caption@ifelsarticleclass
-\caption@ifelsarticleclass{%
- \caption@CheckCommand\@makecaption{%
- % elsarticle.cls,v 1.20 2008-10-13 04:24:12 cvr Exp
- \long\def\@makecaption#1#2{%
- \vskip\abovecaptionskip\footnotesize
+\caption@setbool{documentclass}{1}
+\caption@ifundefined\caption@documentclass{%
+ \@ifclassloaded{beamer}{%
+ \caption@InfoNoLine{beamer document class detected}%
+ \def\caption@documentclass{beamer}%
+ }{\@ifclassloaded{elsarticle}{%
+ \caption@InfoNoLine{elsarticle document class detected}%
+ \def\caption@documentclass{elsarticle}%
+ }{\@ifclassloaded{memoir}{%
+ \caption@InfoNoLine{memoir document class detected}%
+ \def\caption@documentclass{memoir}%
+ }{\caption@ifdefined\scr@caption{%
+ \caption@InfoNoLine{KOMA-Script document class detected}%
+ \def\caption@documentclass{koma}%
+ }{\caption@ifdefined\@captionheadfont{%
+ \caption@InfoNoLine{AMS or SMF document class detected}%
+ \def\caption@documentclass{ams}%
+ }{\caption@ifdefined\CaptionFonts{%
+ \caption@InfoNoLine{NTG document class detected}%
+ \def\caption@documentclass{ntg}%
+ }{\caption@ifdefined\cph@font{%
+ \caption@ifdefined\cpb@font\@firstoftwo\@secondoftwo
+ }{%
+ \@secondoftwo
+ }{%
+ \caption@InfoNoLine{thesis document class detected}%
+ \def\caption@documentclass{thesis}%
+ }{%
+ % article|report|book [2005/09/16 v1.4f Standard LaTeX document class]
+ \long\def\caption@tempa#1#2{%
+ \vskip\abovecaptionskip
\sbox\@tempboxa{#1: #2}%
\ifdim \wd\@tempboxa >\hsize
#1: #2\par
@@ -1076,77 +1055,34 @@
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\vskip\belowcaptionskip}}
+ \ifx\caption@tempa\@makecaption
+ \caption@InfoNoLine{Standard document class detected}%
+ \else
+ \caption@InfoNoLine{%
+ Unknown document class (or package),\MessageBreak
+ standard defaults will be used}%
+ \caption@InfoNoLine{\string\@makecaption\space=\space\meaning\@makecaption\@gobble}%
+ \caption@setbool{documentclass}{0}%
+ \fi
+ \def\caption@documentclass{base}%
+ }}}}}}%
+}{}
+\newcommand*\caption@ifclassloaded[1]{%
+ \edef\caption@tempa{#1}%
+ \ifx\caption@tempa\caption@documentclass
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+\caption@ifclassloaded{elsarticle}{%
\DeclareCaptionDefaultFont{font}{\footnotesize}
-}
-\providecommand*\caption@ifamsclass{%
- \caption@ifundefined\@captionheadfont\@gobble\@firstofone}
-\@onlypreamble\caption@ifamsclass
-\caption@ifamsclass{%
- \caption@CheckCommand\@makecaption{%
- % amsart|amsproc|amsbook [2004/08/06 v2.20]
- \long\def\@makecaption#1#2{%
- \setbox\@tempboxa\vbox{\color@setgroup
- \advance\hsize-2\captionindent\noindent
- \@captionfont\@captionheadfont#1\@xp\@ifnotempty\@xp
- {\@cdr#2\@nil}{.\@captionfont\upshape\enspace#2}%
- \unskip\kern-2\captionindent\par
- \global\setbox\@ne\lastbox\color@endgroup}%
- \ifhbox\@ne % the normal case
- \setbox\@ne\hbox{\unhbox\@ne\unskip\unskip\unpenalty\unkern}%
- \fi
- \ifdim\wd\@tempboxa=\z@ % this means caption will fit on one line
- \setbox\@ne\hbox to\columnwidth{\hss\kern-2\captionindent\box\@ne\hss}%
- \else % tempboxa contained more than one line
- \setbox\@ne\vbox{\unvbox\@tempboxa\parskip\z@skip
- \noindent\unhbox\@ne\advance\hsize-2\captionindent\par}%
- \fi
- \ifnum\@tempcnta<64 % if the float IS a figure...
- \addvspace\abovecaptionskip
- \hbox to\hsize{\kern\captionindent\box\@ne\hss}%
- \else % if the float IS NOT a figure...
- \hbox to\hsize{\kern\captionindent\box\@ne\hss}%
- \nobreak
- \vskip\belowcaptionskip
- \fi
- \relax
- }}
- \caption@CheckCommand\@makecaption{%
- % smfart|smfbook [1999/11/15 v1.2f Classe LaTeX pour les articles publies par la SMF]
- \long\def\@makecaption#1#2{%
- \ifdim\captionindent>.1\hsize \captionindent.1\hsize \fi
- \setbox\@tempboxa\vbox{\color@setgroup
- \advance\hsize-2\captionindent\noindent
- \@captionfont\@captionheadfont#1\@xp\@ifnotempty\@xp
- {\@cdr#2\@nil}{\@addpunct{.}\@captionfont\upshape\enspace#2}%
- \unskip\kern-2\captionindent\par
- \global\setbox\@ne\lastbox\color@endgroup}%
- \ifhbox\@ne % the normal case
- \setbox\@ne\hbox{\unhbox\@ne\unskip\unskip\unpenalty\unkern}%
- \fi
- \ifdim\wd\@tempboxa=\z@ % this means caption will fit on one line
- \setbox\@ne\hbox to\columnwidth{\hss\kern-2\captionindent\box\@ne\hss}%
- \@tempdima\wd\@ne\advance\@tempdima-\captionindent
- \wd\@ne\@tempdima
- \else % tempboxa contained more than one line
- \setbox\@ne\vbox{\rightskip=0pt plus\captionindent\relax
- \unvbox\@tempboxa\parskip\z@skip
- \noindent\unhbox\@ne\advance\hsize-2\captionindent\par}%
- \fi
- \ifnum\@tempcnta<64 % if the float IS a figure...
- \addvspace\abovecaptionskip
- \noindent\kern\captionindent\box\@ne
- \else % if the float IS NOT a figure...
- \noindent\kern\captionindent\box\@ne
- \nobreak
- \vskip\belowcaptionskip
- \fi
- \relax
- }}
+}{}
+\caption@ifclassloaded{ams}{%
\let\captionmargin\captionindent % set to 3pc by AMS class
\begingroup\edef\@tempa{\endgroup
\noexpand\caption@g@addto@list\noexpand\caption@sty@default
{margin=\the\captionmargin
- \caption@ifundefined\smf@makecaption{}{,maxmargin=.1\linewidth}}}
+ \caption@ifdefined\smf@makecaption{,maxmargin=.1\linewidth}{}}}
\@tempa
\caption@g@addto@list\caption@sls@default{margin*=.5\captionmargin}
\DeclareCaptionLabelSeparator{default}{.\enspace}
@@ -1155,26 +1091,8 @@
\DeclareCaptionDefaultFont{textfont}{\@captionfont\upshape}
\captionsetup[figure]{position=b}
\captionsetup[table]{position=t}
-}
-\providecommand*\caption@ifbeamerclass{%
- \@ifclassloaded{beamer}\@firstofone\@gobble}
-\@onlypreamble\caption@ifbeamerclass
-\caption@ifbeamerclass{%
- \caption@CheckCommand\beamer@makecaption{%
- % beamerbaselocalstructure.sty,v 1.53 2007/01/28 20:48:21 tantau
- \long\def\beamer@makecaption#1#2{%
- \def\insertcaptionname{\csname#1name\endcsname}%
- \def\insertcaptionnumber{\csname the#1\endcsname}%
- \def\insertcaption{#2}%
- \nobreak\vskip\abovecaptionskip\nobreak
- \sbox\@tempboxa{\usebeamertemplate**{caption}}%
- \ifdim \wd\@tempboxa >\hsize
- \usebeamertemplate**{caption}\par
- \else
- \global \@minipagefalse
- \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
- \fi
- \nobreak\vskip\belowcaptionskip\nobreak}}
+}{}
+\caption@ifclassloaded{beamer}{%
\newcommand*\caption@ifbeamertemplate[1]{%
\begingroup
\let\beamer@@tmpl@caption@ORI\beamer@@tmpl@caption
@@ -1225,25 +1143,8 @@
% \usebeamertemplate**{caption} will set font
\DeclareCaptionDefaultFont{font}{}%
\setbeamertemplate{caption}[caption3]}
-}
-\providecommand*\caption@ifkomaclass{%
- \caption@ifundefined\scr@caption\@gobble\@firstofone}
-\@onlypreamble\caption@ifkomaclass
-\caption@ifkomaclass{%
- \caption@CheckCommand\@makecaption{%
- % scrartcl|scrreprt|scrbook [2007/03/07 v2.97a KOMA-Script document class]
- \long\def\@makecaption#1#2{%
- \if@captionabove
- \vskip\belowcaptionskip
- \else
- \vskip\abovecaptionskip
- \fi
- \@@makecaption\@firstofone{#1}{#2}%
- \if@captionabove
- \vskip\abovecaptionskip
- \else
- \vskip\belowcaptionskip
- \fi}}
+}{}
+\caption@ifclassloaded{koma}{%
\DeclareCaptionFormat{default}[#1#2#3\par]{%
\ifdofullc@p
\caption@ifin@list\caption@lsepcrlist\caption@lsepname
@@ -1264,90 +1165,41 @@
\DeclareCaptionLabelSeparator{default}{\captionformat}
\DeclareCaptionDefaultFont{font}{\scr@fnt@caption}
\DeclareCaptionDefaultFont{labelfont}{\scr@fnt@captionlabel}
-}
-\providecommand*\caption@ifntgclass{%
- \caption@ifundefined\CaptionFonts\@gobble\@firstofone}
-\@onlypreamble\caption@ifntgclass
-\caption@ifntgclass{%
- \caption@CheckCommand\@makecaption{%
- % artikel|rapport|boek [2004/06/07 v2.1a NTG LaTeX document class]
- \long\def\@makecaption#1#2{%
- \vskip\abovecaptionskip
- \sbox\@tempboxa{{\CaptionLabelFont#1:} \CaptionTextFont#2}%
- \ifdim \wd\@tempboxa >\hsize
- {\CaptionLabelFont#1:} \CaptionTextFont#2\par
- \else
- \global \@minipagefalse
- \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
- \fi
- \vskip\belowcaptionskip}}
+ \let\caption@KV@parindent\KV@caption@parindent
+ \DeclareCaptionOption{parindent}[]{%
+ \ifx,#1,%
+ \caption@Debug{Option `parindent' ignored}%
+ \else
+ \caption@KV@parindent{#1}%
+ \fi}%
+ \let\caption@KV@parskip\KV@caption@parskip
+ \DeclareCaptionOption{parskip}[]{%
+ \ifx,#1,%
+ \caption@Debug{Option `parskip' ignored}%
+ \else
+ \caption@KV@parskip{#1}%
+ \fi}%
+}{}
+\caption@ifclassloaded{ntg}{%
\DeclareCaptionDefaultFont{labelfont}{\CaptionLabelFont}
\DeclareCaptionDefaultFont{textfont}{\CaptionTextFont}
-}
-\providecommand*\caption@ifthesisclass{%
- \caption@ifundefined\cph@font
- {\@gobble}%
- {\caption@ifundefined\cpb@font\@gobble\@firstofone}}
-\caption@ifthesisclass{%
- \caption@CheckCommand\@makecaption{%
- % thesis.cls 1996/25/01 1.0g LaTeX document class (wm).
- \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}}
+}{}
+\caption@ifclassloaded{thesis}{%
\DeclareCaptionDefaultFormat{hang}
\DeclareCaptionDefaultFont{labelfont}{\cph@font}
\DeclareCaptionDefaultFont{textfont}{\cpb@font}
-}
-\caption@ifundefined\ArabiCoreLoaded{%
- \let\caption@rl\@firstofone
-}{%
+}{}
+\caption@ifdefined\ArabiCoreLoaded{%
\newcommand\caption@rl[1]{\if@rl\textRL{#1}\else\textLR{#1}\fi}
\def\fnum@figure{\figurename\nobreakspace\thefigure}%
\def\fnum@table{\tablename\nobreakspace\thetable}%
\DeclareCaptionLabelSeparator{arabi}{ : }
\DeclareCaptionLabelSeparator{default}{%
\if@rl\caption@lsep@arabi\else\caption@lsep@colon\fi}
- \caption@CheckCommand\@makecaption{%
- % arabicore.sty [2006/01/01 v1.0 Arabi Core switching commands (may still change)]
- \long\def\@makecaption#1#2{%
- \vskip\abovecaptionskip
- \sbox\@tempboxa{#1: #2}%
- \sbox\@Arabitempboxa{\textRL{#2} : #1}%
- \if@rl{
- \ifdim \wd\@Arabitempboxa >\hsize
- \textRL{#2} : #1\par
- \else
- \global \@minipagefalse
- \hb@xt@\hsize{\hfil\box\@Arabitempboxa\hfil}%
- \fi}\else{
- \ifdim \wd\@tempboxa >\hsize
- #1: #2\par
- \else
- \global \@minipagefalse
- \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
- \fi}\fi
- \vskip\belowcaptionskip}}
+}{%
+ \let\caption@rl\@firstofone
}
-\caption@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}%
- \ifdim \wd\@tempboxa >\hsize
- #1\CaptionSeparator #2\par
- \else
- \global \@minipagefalse
- \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
- \fi
- \vskip\belowcaptionskip}}
+\caption@ifdefined\FB@makecaption{%
\ifx\@makecaption\STD@makecaption
\DeclareCaptionLabelSeparator{default}{\CaptionSeparator}
\def\caption@frenchb{% supress frenchb warning
@@ -1361,60 +1213,12 @@
frenchb will NOT customize it}%
\fi
\fi
-}
-\caption@ifundefined\frenchTeXmods{}{%
- \caption@CheckCommand\@makecaption{%
- % french(le).sty [2006/10/03 The french(le) package /V5,9991/]
- % french(le).sty [2007/06/28 The french(le) package /V5,9994/]
- \def\@makecaption#1#2{%
- \ifFTY%
- \def\@secondofmany##1##2\void{##2}%
- \def\@tempa{\@secondofmany#2\void}%
- \ifx\@tempa\empty%
- \let\captionseparator\empty%
- \fi%
- \@mcORI{#1}{\relax\captionfont{#2}}%
- \else
- \@mcORI{#1}{#2}%
- \fi}}%
- \caption@CheckCommand\@makecaption{%
- % french(le).sty [2007/02/11 The french(le) package /V5,9993/]
- \def\@makecaption#1#2{%
- \ifFTY%
- \def\@secondofmany##1##2\void{##2}%
- \protected@edef\@tempa{\@secondofmany#2\void}%
- \ifx\@tempa\empty%
- \let\captionseparator\empty%
- \fi%
- \@mcORI{#1}{\relax\captionfont{#2}}%
- \else
- \@mcORI{#1}{#2}%
- \fi}}%
+}{}
+\caption@ifdefined\frenchTeXmods{%
\DeclareCaptionDefaultFont{textfont}{\itshape}%
\DeclareCaptionLabelSeparator{default}{\captionseparator\space}%
-}
- \caption@CheckCommand\@makecaption{%
- % rlbabel.def [2005/03/30 v2.3h Right-to-Left support from the babel system Hebrew language support from the babel system]
- \long\def\@makecaption#1#2{%
- \vskip\abovecaptionskip%
- \begin{center}%
- #1: #2%
- \end{center} \par%
- \vskip\belowcaptionskip}}%
+}{}
\DeclareCaptionListFormat{subperiod}{#2.}
-\caption@ifundefined\hunnewlabel{}{%
- \caption@CheckCommand\@makecaption{%
- % magyar.ldf [2005/03/30 v1.4j Magyar support from the babel system]
- \def\@makecaption#1#2{%
- \vskip\abovecaptionskip
- \sbox\@tempboxa{#1. #2}%
- \ifdim \wd\@tempboxa >\hsize
- {#1. #2\csname par\endcsname}
- \else
- \global \@minipagefalse
- \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
- \fi
- \vskip\belowcaptionskip}}}
\def\caption@tempa#1{%
\@ifpackagewith{babel}{#1}{%
\caption@InfoNoLine{#1 babel option is loaded}%
@@ -1429,15 +1233,6 @@
}{}}
\caption@tempa{hungarian}
\caption@tempa{magyar}
-\caption@IfCheckCommand{%
- \caption@setbool{documentclass}{1}%
-}{%
- \caption@setbool{documentclass}{0}%
- \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*
@@ -1445,13 +1240,13 @@
\caption@ifcontentsline{#2}{%
\begingroup
\let\@tempa\@gobble
- \caption@ifundefined\caption@listtype
- {\edef\caption@listtype{#1}}%
+ \caption@ifdefined\caption@listtype
{\let\@tempa\@firstofone}%
- \caption@ifundefined\caption@listtype@ext
- {}%
+ {\edef\caption@listtype{#1}}%
+ \caption@ifdefined\caption@listtype@ext
{\edef\caption@listtype{\caption@listtype\caption@listtype@ext}%
\let\@tempa\@firstofone}%
+ {}%
\@tempa
{\caption@Debug{addcontentsline: #1 => \caption@listtype}%
\@namedef{the\caption@listtype}{\@nameuse{the#1}}}%
@@ -1692,13 +1487,13 @@
\DeclareFloatingEnvironment}
\@onlypreamble\DeclareCaptionType
\newcommand\caption@ForEachType[1]{%
- \caption@ifundefined\ForEachFloatingEnvironment
+ \caption@ifdefined\ForEachFloatingEnvironment
+ {\ForEachFloatingEnvironment{#1}}%
{\def\@elt##1{#1}%
- \caption@ifundefined\c@figure\@gobble\@elt{figure}%
- \caption@ifundefined\c@table\@gobble\@elt{table}%
+ \caption@ifdefined\c@figure\@elt\@gobble{figure}%
+ \caption@ifdefined\c@table\@elt\@gobble{table}%
\let\@elt\relax
- \newfloat@addtohook{#1}}%
- {\ForEachFloatingEnvironment{#1}}}
+ \newfloat@addtohook{#1}}}
\providecommand\newfloat@addtohook[1]{%
\toks@=\expandafter{\newfloat@hook{##1}#1}%
\edef\@tempa{\def\noexpand\newfloat@hook####1{\the\toks@}}%
@@ -1721,8 +1516,8 @@
\caption@declaresublistentry{#3}%
\@cons\caption@subtypelist{{#3}}}%
{\caption@Debug{Modify caption `sub#3'}}%
- \caption@ifundefined\contentsuse{}{%
- \contentsuse{sub#3}{\csname ext@sub#3\endcsname}}%
+ \caption@ifdefined\contentsuse{%
+ \contentsuse{sub#3}{\csname ext@sub#3\endcsname}}{}%
\@namedef{sub#3name}{}%
\@namedef{sub#3autorefname}{\csname #3autorefname\endcsname}%
#1% is \@firstoftwo in star form, and \@secondoftwo otherwise
@@ -1734,9 +1529,9 @@
}}
\@onlypreamble\caption@@declaresubtype
\newcommand*\caption@declaresublistentry{%
- \caption@ifundefined\l@chapter
- {\caption@@declaresublistentry\l@subsubsection}%
- {\caption@@declaresublistentry\l@subsection}}
+ \caption@ifdefined\l@chapter
+ {\caption@@declaresublistentry\l@subsection}%
+ {\caption@@declaresublistentry\l@subsubsection}}
\@onlypreamble\caption@declaresublistentry
\newcommand*\caption@@declaresublistentry[2]{%
\ifx#1\@undefined