From 743d65ddc6fa01add37aa1136fba86d3adddb577 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 1 Sep 2019 21:35:52 +0000 Subject: caption (1sep19) git-svn-id: svn://tug.org/texlive/trunk@52008 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/caption/caption.dtx | 64 +++--- .../texmf-dist/source/latex/caption/caption3.dtx | 13 +- .../texmf-dist/source/latex/caption/newfloat.dtx | 242 +++++++++++++++++---- .../texmf-dist/source/latex/caption/subcaption.dtx | 81 ++++++- 4 files changed, 317 insertions(+), 83 deletions(-) (limited to 'Master/texmf-dist/source/latex/caption') diff --git a/Master/texmf-dist/source/latex/caption/caption.dtx b/Master/texmf-dist/source/latex/caption/caption.dtx index 5b838318d92..89abe253095 100644 --- a/Master/texmf-dist/source/latex/caption/caption.dtx +++ b/Master/texmf-dist/source/latex/caption/caption.dtx @@ -2,7 +2,7 @@ % % This is file `caption.dtx'. % -% Copyright (C) 1994-2018 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm) +% Copyright (C) 1994-2019 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm) % % -------------------------------------------------------------------------- % @@ -25,7 +25,7 @@ % and the user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. % % \fi -% \CheckSum{3702} +% \CheckSum{3694} % % \iffalse %<*driver> @@ -220,13 +220,13 @@ % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption}[2019/08/29 v3.3b Customizing captions (AR)] +\ProvidesPackage{caption}[2019/09/01 v3.3d Customizing captions (AR)] % \end{macrocode} % % \subsection{Loading the kernel} % % \begin{macrocode} -\RequirePackage{caption3}[2018/09/12] % needs v1.8c or newer +\RequirePackage{caption3}[2019/09/01] % needs v1.8d or newer % \end{macrocode} % % \subsection{Check against incompatible document classes} @@ -1914,6 +1914,7 @@ % \changes{v3.2a}{2011/08/16}{\cs{captionsetup} replaces with \cs{captionbox@settype} and \cs{caption@setposition}} % \changes{v3.3}{2012/04/09}{Adapted to revised version of \cs{caption@withoptargs}} % \changes{v3.3}{2017/03/19}{When used with fixed witdh the content will not be hboxed anymore} +% \changes{v3.3c}{2019/09/01}{Adapted so it could be used by \cs{subfloat} offered by \package{subcaption}} % A |\parbox| with contents and caption, separated by an invisible |\hrule|. % \begin{macrocode} \newcommand*\captionbox{% @@ -1927,35 +1928,39 @@ % \end{macrocode} % \begin{macrocode} \long\def\caption@iibox#1#2#3[#4]{% - \@testopt{\caption@iiibox{#1}{#2}{#3}{#4}}\captionbox@hj@default} + \@testopt{\caption@iiibox{#1}{#2}{#3}[{#4}]}\captionbox@hj@default} % \end{macrocode} % \begin{macrocode} \long\def\caption@iibox@#1#2#3#4{% \setbox\@tempboxa\hbox{#4}% - \caption@iiibox{#1}{#2}{#3}{\wd\@tempboxa}[\captionbox@hj@default]{\unhbox\@tempboxa}} + \caption@iiibox{#1}{#2}{#3}[\wd\@tempboxa][\captionbox@hj@default]{\unhbox\@tempboxa}} % \end{macrocode} % \begin{macrocode} -\long\def\caption@iiibox#1#2#3#4[#5]#6{% +\long\def\caption@iiibox#1{% + \caption@iiiibox{#1}\vbox\vtop} +% \end{macrocode} +% \begin{macrocode} +\long\def\caption@iiiibox#1#2#3#4#5[#6][#7]#8{% \begingroup #1*% set \caption@position \caption@iftop{% \endgroup - \parbox[t]{#4}{% + \parbox[t]{#6}{% #1\relax \caption@setposition t% - \vbox{\caption#2{#3}}% + #2{\caption#4{#5}}% \captionbox@hrule - \csname caption@hj@#5\endcsname - #6}% + \csname caption@hj@#7\endcsname + #8}% }{% \endgroup - \parbox[b]{#4}{% + \parbox[b]{#6}{% #1\relax \caption@setposition b% - \csname caption@hj@#5\endcsname - #6% + \csname caption@hj@#7\endcsname + #8% \captionbox@hrule - \vtop{\caption#2{#3}}}% + #3{\caption#4{#5}}}% }} % \end{macrocode} % \begin{macrocode} @@ -2642,25 +2647,23 @@ % % \begin{macro}{\figure} % \changes{v3.1f}{2007/12/17}{This re-definition for \class{beamer} document class added} -% \begin{macro}{\table} -% \changes{v3.1f}{2007/12/17}{This re-definition for \class{beamer} document class added} -% We redefine |figure| \& |table| so our type-specific options will be used etc. +% \changes{v3.3d}{2019/09/01}{This re-definition for \class{beamer} document class revised} +% We redefine |figure| so our type-specific options will be used etc. % \begin{macrocode} - \expandafter\let\expandafter\caption@ORI@figure - \csname\string\figure\endcsname - \@namedef{\string\figure}[#1]{% - \caption@ORI@figure[#1]% - \caption@settype{figure}} + \let\caption@ORI@figure\figure + \def\figure{\caption@settype{figure}\caption@ORI@figure} % \end{macrocode} +% \end{macro} +% +% \begin{macro}{\table} +% \changes{v3.1f}{2007/12/17}{This re-definition for \class{beamer} document class added} +% \changes{v3.3d}{2019/09/01}{This re-definition for \class{beamer} document class revised} +% We redefine |table| so our type-specific options will be used etc. % \begin{macrocode} - \expandafter\let\expandafter\caption@ORI@table - \csname\string\table\endcsname - \@namedef{\string\table}[#1]{% - \caption@ORI@table[#1]% - \caption@settype{table}} + \let\caption@ORI@table\figure + \def\table{\caption@settype{table}\caption@ORI@table} % \end{macrocode} % \end{macro} -% \end{macro} % % \begin{macrocode} }{} @@ -4309,6 +4312,7 @@ % % \begin{macro}{\ivparpic} +% \changes{v3.3}{2018/12/26}{Bugfix: Missing curly braces added} % We need to set our \package{hyperref} anchor here. % Not bullet-proof since we have to redefine |\noindent| here! % \begin{macrocode} @@ -4319,7 +4323,7 @@ \caption@defrostHref \let\noindent\caption@ORI@noindent \noindent}% - \caption@ORI@ivparpic(#1,#2)(#3,#4)[#5][#6]{#7}% + \caption@ORI@ivparpic(#1,#2)(#3,#4)[{#5}][{#6}]{#7}% \let\noindent\caption@ORI@noindent}% % \end{macrocode} % \end{macro} diff --git a/Master/texmf-dist/source/latex/caption/caption3.dtx b/Master/texmf-dist/source/latex/caption/caption3.dtx index e71c4daed17..bdffdcc66a1 100644 --- a/Master/texmf-dist/source/latex/caption/caption3.dtx +++ b/Master/texmf-dist/source/latex/caption/caption3.dtx @@ -2,7 +2,7 @@ % % This is file `caption3.dtx'. % -% Copyright (C) 1994-2018 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm) +% Copyright (C) 1994-2019 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm) % % -------------------------------------------------------------------------- % @@ -25,7 +25,7 @@ % and the user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. % % \fi -% \CheckSum{3954} +% \CheckSum{3961} % % \iffalse %<*driver> @@ -198,7 +198,7 @@ % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{caption3}[2018/09/12 v1.8c caption3 kernel (AR)] +\ProvidesPackage{caption3}[2019/09/01 v1.8d caption3 kernel (AR)] % \end{macrocode} % % \subsection{Workaround for bug in package \package{arabtex}} @@ -1892,7 +1892,8 @@ % \begin{macrocode} \DeclareCaptionTextFormat{empty}{% \caption@get@label#1\caption@makeanchor{}\@nil - \caption@thelabel} + \caption@thelabel + \global\let\caption@thelabel\relax} \long\def\caption@get@label#1\caption@makeanchor#2#3\@nil{% \def\caption@tempa{#2}% \ifx\caption@tempa\@empty @@ -1914,6 +1915,7 @@ % \begin{macro}{\caption@getlabel} % \changes{v1.0}{2011/09/03}{\cs{label} can have optional arguments now} % \changes{v1.7}{2015/09/16}{Moved from \package{bicaption} package to \package{caption3}} +% \changes{v1.8d}{2019/09/01}{Bugfix: Global definition of \cs{caption@thelabel} added} % Gets the label command out of the (first) caption text and stores it to |\caption@thelabel|. % \begin{macrocode} \long\def\caption@getlabel#1\label#2#3\@nil{% @@ -1946,6 +1948,9 @@ \l@addto@macro\caption@thelabel{[{#1}]}% \caption@@getlabel#2\@nil} % \end{macrocode} +% \begin{macrocode} +\let\caption@thelabel\relax +% \end{macrocode} % \end{macro} % % \subsection{Fonts} diff --git a/Master/texmf-dist/source/latex/caption/newfloat.dtx b/Master/texmf-dist/source/latex/caption/newfloat.dtx index fd283697dc0..71484e60bc8 100644 --- a/Master/texmf-dist/source/latex/caption/newfloat.dtx +++ b/Master/texmf-dist/source/latex/caption/newfloat.dtx @@ -25,7 +25,7 @@ % and the user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. % % \fi -% \CheckSum{1397} +% \CheckSum{1605} % % \iffalse %<*driver> @@ -533,7 +533,7 @@ % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{newfloat}[2019/08/28 v1.1g Defining new floating environments (AR)] +\ProvidesPackage{newfloat}[2019/09/01 v1.1k Defining new floating environments (AR)] % \end{macrocode} % % \begin{macro}{\newfloat@Info} @@ -548,6 +548,18 @@ % \end{macro} % \end{macro} % +% \begin{macro}{\newfloat@Warning} +% \begin{macro}{\newfloat@WarningNoLine} +% |\newfloat@Warning|\marg{message} +% \begin{macrocode} +\newcommand*\newfloat@Warning[1]{% + \PackageWarning{newfloat}{#1}} +\newcommand*\newfloat@WarningNoLine[1]{% + \newfloat@Warning{#1\@gobble}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% % \begin{macro}{\newfloat@Error} % |\newfloat@Error|\marg{message} % \begin{macrocode} @@ -614,6 +626,7 @@ % \changes{v1.1}{2018/03/04}{Usage of \cs{ifdefined} replaced by \cs{@ifundefined} to improve compatibility with the \package{listings} package} % \changes{v1.1b}{2018/12/26}{Bugfix: Missing curly braces added} % \changes{v1.1c}{2019/01/10}{Bugfix: Support of \cs{autodot} fixed} +% \changes{v1.1k}{2019/09/01}{Adapted to the \class{beamer} document class} % |\DeclareFloatingEnvironment|\oarg{options}\marg{environment}\oarg{name}\oarg{list name} % \begin{macrocode} \newcommand*\DeclareFloatingEnvironment{% @@ -665,9 +678,11 @@ \newfloat@ifundefined{flegtoc#2}{\@namedef{flegtoc#2}##1{}}% % \end{macrocode} % Define the floating environment\par -% (If the \class{tufte} document class is loaded, +% If the \class{tufte} document class is loaded, % |\@tufte@float| and |\end@tufte@float| will be used instead of -% |\@float|, |\end@float|, |\@dblfloat|, and |\end@dblfloat|.) +% |\@float|, |\end@float|, |\@dblfloat|, and |\end@dblfloat|.\par +% If the \class{beamer} document class is loaded, +% |\beamer@float| and |\end@beamer@float| will be used. % \begin{macrocode} \ifcsname @tufte@float\endcsname \newenvironment{#2}[1][htbp]% @@ -677,8 +692,12 @@ {\begin{@tufte@float}[{##1}]{#2}{star}}% {\end{@tufte@float}}% \else - \newenvironment{#2}{\@float{#2}}{\end@float}% - \newenvironment{#2*}{\@dblfloat{#2}}{\end@dblfloat}% + \@ifclassloaded{beamer}{% + \newenvironment{#2}[1][]{\beamer@float{#2}}{\end@beamer@float}% + }{% + \newenvironment{#2}{\@float{#2}}{\end@float}% + \newenvironment{#2*}{\@dblfloat{#2}}{\end@dblfloat}% + }% \fi % \end{macrocode} % Define the listing command |\listof|\meta{type}(|e|)|s| @@ -1185,6 +1204,10 @@ % \begin{macrocode} \providecommand*\@chapterlistsgap{10\p@}% % \end{macrocode} +% If the \package{dgruyter} package is loaded, the default gap is |13pt|. +% \begin{macrocode} + \@ifpackageloaded{dgruyter}{\renewcommand*\@chapterlistsgap{13\p@}}{}% +% \end{macrocode} % \end{macro} % % \begin{macro}{\@addchapterlistsgap} @@ -1333,7 +1356,6 @@ \xdef\newfloat@addtocontents@ext{#1}} % \end{macrocode} % \end{macro} - % % Process the package options: % We use |\setkeys| here instead of |\ProcessOptions|. @@ -1356,6 +1378,7 @@ % % \begin{macro}{\newfloat@replace@chapter} % \changes{v1.1f}{2019/08/25}{Parameter \meta{class name} added to macro} +% \changes{v1.1i}{2019/08/31}{Local definition of \cs{if@chapnum} added} % |\newfloat@replace@chapter|\marg{class name}\marg{original code}\marg{replacement code}\par % tries to patch |\@chapter| so |\@add|\-|chapter|\-|lists|\-|gaps| will be supported. % It checks for |\Hy@org@chapter|, too, since the original code will be stored here @@ -1366,6 +1389,7 @@ \let\if@twocolumn\iffalse \let\if@mainmatter\iffalse \let\if@thema\iffalse + \let\if@chapnum\iffalse \def\@tempa[##1]##2{#2}% \ifx\@tempa\@chapter \newfloat@InfoNoLine{Document class `#1' detected}% @@ -1574,7 +1598,7 @@ \fi} % \end{macrocode} % \begin{macrocode} - % boek(3).cls [2004/06/07 v2.1a NTG LaTeX document class] +% boek(3).cls [2004/06/07 v2.1a NTG LaTeX document class] \newfloat@replace@chapter{boek}{% \ifnum \c@secnumdepth >\m@ne \if@mainmatter @@ -1720,7 +1744,8 @@ \else \@makechapterhead{#2}% \@afterheading - \fi}{% + \fi +}{% \if@chapnum % war mal \ifnum \c@secnumdepth >\m@ne \refstepcounter{chapter}% \if@mainmatter @@ -1744,6 +1769,81 @@ % \end{macrocode} % % \pagebreak[3] +% \subsubsection{The dgruyter package} +% \changes{v1.1j}{2019/08/31}{Extended support of \package{dgruyter} package added} +% +% \begin{macrocode} +% dgruyter.sty [2017/09/19 v2.00 De Gruyter layout] +\newfloat@replace@chapter{dgruyter}{% + \let\thesection\theinchapsection + \let\theequation\theinchapequation + \let\thefigure\theinchapfigure + \let\thetable\theinchaptable + \ifx\bookDOI\@undefined + \else + \@tempcnta\numexpr\componentd@i+\@ne\relax + \xdef\componentd@i{\the\@tempcnta}% + \xdef\@DOI{% + https://doi.org/\bookDOI + -\ifx\thepage\thefrontmatterpage2\else\ifnum\@tempcnta<100 0\fi\fi + \ifnum\@tempcnta<10 0\fi\componentd@i}% + \fi + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#1}% + \else + \addcontentsline{toc}{schapter}{#1}% + \fi + \else + \addcontentsline{toc}{schapter}{#1}% + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{13\p@}}% + \addtocontents{lot}{\protect\addvspace{13\p@}}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi +}{% + \let\thesection\theinchapsection + \let\theequation\theinchapequation + \let\thefigure\theinchapfigure + \let\thetable\theinchaptable + \ifx\bookDOI\@undefined + \else + \@tempcnta\numexpr\componentd@i+\@ne\relax + \xdef\componentd@i{\the\@tempcnta}% + \xdef\@DOI{% + https://doi.org/\bookDOI + -\ifx\thepage\thefrontmatterpage2\else\ifnum\@tempcnta<100 0\fi\fi + \ifnum\@tempcnta<10 0\fi\componentd@i}% + \fi + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#1}% + \else + \addcontentsline{toc}{schapter}{#1}% + \fi + \else + \addcontentsline{toc}{schapter}{#1}% + \fi + \chaptermark{#1}% + \@addchapterlistsgaps + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi} +% \end{macrocode} +% +% \pagebreak[3] % \subsubsection{Compatibility warning} % % \begin{macrocode} @@ -1792,37 +1892,106 @@ % \end{macrocode} % % \pagebreak[3] +% \subsection{Support of document classes} +% +% \subsubsection{The beamer document class} +% +% \begin{macro}{\beamer@float} +% \changes{v1.1k}{2019/09/01}{This macro added} +% Unfortunately the \class{beamer} document class does not offer +% |\beamer@float| and |\end@beamer@float| (yet), so we have to define them +% for ourself. +% (This code was taken from beamerbaselocalstructure.sty [2019/07/23 v3.56] and adapted.) +% \begin{macrocode} +\ifcsname beamer@float\endcsname \else +% \end{macrocode} +% \begin{macrocode} + \def\beamer@float#1{% + \ifcsname caption@settype\endcsname + \caption@settype{#1}% + \else + \def\@captype{#1}% + \fi + \par\nobreak\begin{center}\nobreak} +% \end{macrocode} +% \begin{macrocode} + \def\end@beamer@float{% + \par\nobreak\end{center}} +% \end{macrocode} +% \begin{macrocode} +\fi +% \end{macrocode} +% \end{macro} +% +% \pagebreak[3] % \subsection{Support of other packages} % -% \begin{macro}{\newfloat@ForEachNew} -% \changes{v1.1e}{2019/03/17}{This macro revised; uses \cs{ForEachFloatingEnvironment} now} -% |\newfloat@ForEachNew|\marg{command}\marg{code} +% \begin{macro}{\newfloat@IfPackageLoaded} +% \changes{v1.1e}{2019/03/17}{This macro revised} +% \changes{v1.1h}{2019/08/31}{This macro revised again and renamed from \cs{newfloat@ForEachNew} to \cs{newfloat@IfPackageLoaded}} +% |\newfloat@IfPackageLoaded|\marg{package name}\marg{command}\marg{code} % will execute the given code for every floating environment defined with -% |\Declare|\-|Floating|\-|Environment| if \meta{command} is defined. -% This will be tried |\At|\-|Begin|\-|Document| additionally so the affected -% package could be loaded after \thispackage. +% |\Declare|\-|Floating|\-|Environment| if \meta{command} is not defined yet. +% (If \meta{command} is already defined a warning will be issued.) +% This will be tried |\At|\-|Begin|\-|Document| additionally so the affected package could +% be loaded after \thispackage. +% \begin{macrocode} +\newcommand\newfloat@IfPackageLoaded[3]{% + \@ifpackageloaded{#1}{% + \newfloat@@IfPackageLoaded{#1}{#2}{#3}% + }{% + \AtBeginDocument{% + \@ifpackageloaded{#1}{% + \newfloat@@IfPackageLoaded{#1}{#2}{#3}% + }{}}% + }} +\@onlypreamble\newfloat@IfPackageLoaded +% \end{macrocode} +% \begin{macrocode} +\newcommand\newfloat@@IfPackageLoaded[3]{% + \newfloat@InfoNoLine{`#1' package detected}% + % Execute code for every previous \DeclareFloatingEnvironment + \def\@elt##1{\newfloat@@@IfPackageLoaded{#1}{#2}{#3}}% + \newfloat@@list + \let\@elt\relax + % Execute code for every future \DeclareFloatingEnvironment + \newfloat@addtohook{\newfloat@@@IfPackageLoaded{#1}{#2}{#3}}} +\@onlypreamble\newfloat@@IfPackageLoaded +% \end{macrocode} % \begin{macrocode} -\newcommand\newfloat@ForEachNew[2]{% - \ifcsname#1\endcsname - \ForEachFloatingEnvironment{#2}% +\newcommand\newfloat@@@IfPackageLoaded[3]{% + \ifcsname#2\endcsname + \newfloat@WarningNoLine{% + Command \@backslashchar#2 already defined.\MessageBreak + (`#1' package support)}% \else - \AtBeginDocument{% - \ifcsname#1\endcsname - \ForEachFloatingEnvironment{#2}% - \fi}% - \fi}% -\@onlypreamble\newfloat@ForEachNew + #3% + \fi} +\@onlypreamble\newfloat@@@IfPackageLoaded % \end{macrocode} % \end{macro} % % \pagebreak[3] +% \subsubsection{\package{dgruyter}} +% +% The De Gruyter layout package (for preparing books for Walter de Gruyter GmbH) +% is defining |\plist@figure| and |\plist@table|, and expects this to be +% defined for other floating environments as well. +% (This will be used as prefix for the ``List of''.) +% \begin{macrocode} +\newfloat@IfPackageLoaded{dgruyter}{plist@#1}{% + \expandafter\newcommand\csname plist@#1\endcsname{% + \@nameuse{#1name}\space}} +% \end{macrocode} +% +% \pagebreak[3] % \subsubsection{\package{float}} % % If the \package{float} package is used we fill up |\float@exts| with our file % extensions, too. Since this list will be used for inserting chapters gaps % we only add the ones which are configured for chapters gaps on. -%% \begin{macrocode} -\newfloat@ForEachNew{float@exts}{% +% \begin{macrocode} +\newfloat@IfPackageLoaded{float}{newfloat@undefined}{% \@nameuse{@ifchapterlistsgap@#1}{% if switched on \let\float@do=\relax \edef\@tempa{% @@ -1835,7 +2004,7 @@ % % We define a FP-variant of new floating environments here. % \begin{macrocode} -\newfloat@ForEachNew{FP@floatBegin}{% +\newfloat@IfPackageLoaded{fltpage}{FP#1}{% \newcounter{FP@#1C}% \newenvironment{FP#1}{\FP@floatBegin{#1}}{\FP@floatEnd}} % \end{macrocode} @@ -1857,7 +2026,7 @@ % % We define a sideways-variant of new floating environments here. % \begin{macrocode} -\newfloat@ForEachNew{@rotfloat}{% +\newfloat@IfPackageLoaded{rotating}{sideways#1}{% \newenvironment{sideways#1}{\@rotfloat{#1}}{\end@rotfloat}% \newenvironment{sideways#1*}{\@rotdblfloat{#1}}{\end@rotdblfloat}} % \end{macrocode} @@ -1878,7 +2047,7 @@ \@onlypreamble\newfloat@For@SC % \end{macrocode} % \begin{macrocode} -\newfloat@ForEachNew{SC@float}{% +\newfloat@IfPackageLoaded{sidecap}{SC#1}{% \expandafter\newfloat@For@SC\csname SC@#1@vpos\endcsname{#1}} % \end{macrocode} % \end{macro} @@ -1888,23 +2057,10 @@ % % We define a wrap-variant of new floating environments here. % \begin{macrocode} -\newfloat@ForEachNew{wrapfloat}{% +\newfloat@IfPackageLoaded{wrapfig}{wrap#1}{% \newenvironment{wrap#1}{\wrapfloat{#1}}{\endwrapfloat}} % \end{macrocode} % -% \pagebreak[3] -% \subsubsection{\package{dgruyter}} -% -% The De Gruyter layout package (for preparing books for Walter de Gruyter GmbH) -% is defining |\plist@figure| and |\plist@table|, and expects this to be -% defined for other floating environments as well. -% (This will be used as prefix for the ``List of''.) -% \begin{macrocode} -\newfloat@ForEachNew{plist@figure}{% - \expandafter\newcommand\csname plist@#1\endcsname{% - \@nameuse{#1name}\space}} -% \end{macrocode} -% % \iffalse % % \fi diff --git a/Master/texmf-dist/source/latex/caption/subcaption.dtx b/Master/texmf-dist/source/latex/caption/subcaption.dtx index fc394d6b04b..0eb2a144fcc 100644 --- a/Master/texmf-dist/source/latex/caption/subcaption.dtx +++ b/Master/texmf-dist/source/latex/caption/subcaption.dtx @@ -2,7 +2,7 @@ % % This is file `subcaption.dtx'. % -% Copyright (C) 2007-2018 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm) +% Copyright (C) 2007-2019 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm) % % -------------------------------------------------------------------------- % @@ -25,12 +25,12 @@ % and the user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex. % % \fi -% \CheckSum{178} +% \CheckSum{235} % % \iffalse %<*driver> \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesFile{subcaption.drv}[2018/05/13 v1.2 Adds a sub-caption feature to the caption package] +\ProvidesFile{subcaption.drv}[2019/08/31 v1.3 Adds a sub-caption feature to the caption package] \hbadness=9999 \newcount\hbadness \hfuzz=74pt % Make TeX shut up. %\errorcontextlines=3 % @@ -84,7 +84,7 @@ \newenvironment{background*}{\small\MARGINSYM{\Mountain}\ignorespaces}{\par} % \newcommand*\MARGINSYM[1]{\hskip 1sp \marginpar{\raggedleft\textcolor{blue}{{#1}}}} -%\newcommand*\NEW[2]{}%\hskip 1sp \marginpar{\footnotesize\sffamily\raggedleft#1\\#2}} +\newcommand*\NEW[2]{\MARGINSYM{\vskip2pt\footnotesize#1\\#2}} % \begin{document} \DocInput{subcaption.dtx} @@ -401,6 +401,7 @@ % \See{\Ref{hypcap}} % \end{itemize} % +% \NEWfeature{v1.2} % Beside the \meta{inner-pos} values of `c', `t', and `b', \thispackage\ also offers the % values `T' and `B' additionally which align the |sub|\-|figure| at the % very top resp.~bottom. (In contrast `t' and `b' align the |sub|\-|figure| at the @@ -597,6 +598,7 @@ % % \pagebreak[3] % \subsection{The \cs{subref} command} +% \label{subref} % % While |\ref|\marg{key} (and |\ref*|\marg{key}, if the \package{hyperref} % package is used) usually gives a combined result representing the main @@ -625,8 +627,10 @@ % % \pagebreak[3] % \subsection{The \opt{subrefformat=} option} +% \label{subrefformat} % % \DescribeMacro{subrefformat=} +% \NEWfeature{v1.1} % By applying |\Declare|\-|Caption|\-|Sub|\-|Type|, or by redefining |\the|\-\meta{counter} % and |\p@|\-\meta{counter}, you will change the look of references typeset with |\ref| % \emph{and} |\sub|\-|ref|. @@ -652,6 +656,7 @@ % % \DescribeMacro\phantomsubcaption % \DescribeMacro\phantomcaption +% \NEWfeature{v1.1} % If you don't want to give a sub-figure a caption, because the picture itself % already contains the caption, or for some other reason, you can use the command % \begin{quote} @@ -770,6 +775,19 @@ % {\small(See also the documentation of the \package{caption} package, % sections about \package{hyperref} \& \package{hypcap}.)} % +% \pagebreak[3] +% \section{The \cs{subfloat} command} +% \label{subfloat} +% +% \DescribeMacro\subfloat +% \NEWfeature{v1.3} +% To allow a smoother transition from the \package{subfig} package +% (which is unmaintained for over 14 years) +% this package also offers |\sub|\-|float| with the same syntax: +% \begin{quote} +% |\subfloat|\oarg{list\_entry}\oarg{sub-caption}\marg{body} +% \end{quote} +% % \iffalse % --------------------------------------------------------------------------- % % \fi @@ -903,14 +921,14 @@ % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{subcaption}[2018/05/13 v1.2 Sub-captions (AR)] +\ProvidesPackage{subcaption}[2019/09/01 v1.3a Sub-captions (AR)] % \end{macrocode} % % \subsection{Initial code} % % Since we base on the \package{caption} package we load it here. % \begin{macrocode} -\RequirePackage{caption}[2018/05/11] % needs v3.4 or newer +\RequirePackage{caption}[2019/09/01] % needs v3.3c or newer % \end{macrocode} % % \begin{macro}{\subcaption@CheckCompatibility} @@ -1187,6 +1205,57 @@ % \end{macrocode} % \end{macro} % +% \subsubsection{The \cs{subfloat} command} +% +% \begin{macro}{\subfloat} +% \changes{v0.4}{2008/03/01}{This macro added} +% \changes{v1.0c}{2011/01/22}{This macro removed since it's too incompatible with the one from \package{subfig}} +% \changes{v1.3}{2019/08/31}{This macro re-added and revised} +% \changes{v1.3a}{2019/09/01}{\cs{ignorespaces} copied from \cs{\sf@@@subfloat}} +% |\subfloat|\oarg{list\_entry}\oarg{sub-caption}\marg{body}\par +% If \meta{sub-caption} is given, we map this to |\sub|\-|caption|\-|box| +% but transfer the |\label| from \meta{body} to \meta{sub-caption}. +% If not, we do the same as |\sub|\-|caption|\-|box| does, but use |\phantom|\-|caption| instead of |\caption|. +% In both cases we do a |\ignore|\-|spaces| at the end since the original implementation of |\sub|\-|float| does this, too. +% \begin{macrocode} +\caption@ifundefined\subfloat{% +% \end{macrocode} +% \begin{macrocode} + \newcommand*\subfloat{% + \@ifnextchar[\@subfloat\subfloat@} +% \end{macrocode} +% \begin{macrocode} + \long\def\@subfloat[#1]{% + \@ifnextchar[{\@@subfloat{#1}}{\@@@subfloat\subcaptionbox{#1}}} +% \end{macrocode} +% \begin{macrocode} + \long\def\@@subfloat#1[#2]{\@@@subfloat{\subcaptionbox[{#1}]}{#2}} +% \end{macrocode} +% \begin{macrocode} + \newcommand\@@@subfloat[3]{% + \caption@getlabel#3\label{}\@nil + #1{#2\caption@thelabel}{\let\label\caption@gobble#3}% + \global\let\caption@thelabel\relax + \ignorespaces} +% \end{macrocode} +% \begin{macrocode} + \newcommand*\subfloat@[1]{% + \setbox\@tempboxa\hbox{#1}% + \caption@iiiibox\setcaptionsubtype + {\phantomcaption\@gobble}{\phantomcaption\@gobble}% no box with \caption + {}% no optional arguments for \caption + {}% no sub-caption + [\wd\@tempboxa][\caption@hj@default]% + {\unhbox\@tempboxa}% + \ignorespaces} +% \end{macrocode} +% \begin{macrocode} +}{% + \PackageInfo{subcaption}{\protect\subfloat\space is already defined\@gobble} +} +% \end{macrocode} +% \end{macro} +% % \iffalse % % \fi -- cgit v1.2.3