From 2a3e27e6734109519d6263363cf77f6d3fbbe7cb Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Fri, 11 Sep 2020 20:51:53 +0000
Subject: caption (10sep20)

git-svn-id: svn://tug.org/texlive/trunk@56321 c570f23f-e606-0410-a88d-b1316a301751
---
 .../texmf-dist/source/latex/caption/caption3.dtx   | 80 ++++++++++++++--------
 1 file changed, 52 insertions(+), 28 deletions(-)

(limited to 'Master/texmf-dist/source/latex/caption/caption3.dtx')

diff --git a/Master/texmf-dist/source/latex/caption/caption3.dtx b/Master/texmf-dist/source/latex/caption/caption3.dtx
index 5f2823ac0b0..956cc40eb89 100644
--- a/Master/texmf-dist/source/latex/caption/caption3.dtx
+++ b/Master/texmf-dist/source/latex/caption/caption3.dtx
@@ -32,7 +32,7 @@
 %   caption-deu.tex, caption-eng.tex, caption-rus.tex.
 % 
 % \fi
-% \CheckSum{3636}
+% \CheckSum{3646}
 %
 % \iffalse
 %<*driver>
@@ -192,7 +192,7 @@
 %
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{caption3}[2020/08/30 v2.0 caption3 kernel (AR)]
+\ProvidesPackage{caption3}[2020/09/11 v2.0b caption3 kernel (AR)]
 %    \end{macrocode}
 %
 % \section{Generic helpers}
@@ -3078,13 +3078,12 @@
 % \changes{v1.1}{2006/05/14}{\package{frenchb} babel support added}
 % \changes{v2.0}{2020/08/01}{\package{french} babel support updated}
 %
-% We provide a dummy `french' caption label separator (so |labelsep=french| works fine);
-% it will be re-defined dependant on the `french' package used later on.
+% We provide a `french' caption label separator.
+% |\caption@french@label|\-|separator| will be defined later on,
+% dependent on the `french' package used later on.
+%
 %    \begin{macrocode}
-\caption@ifdecl{labelseparator}{french}
-  {\let\caption@french@labelseparator\@undefined}%
-  {\caption@@set{labelseparator}{labelseparator@french}{default}%
-   \let\caption@french@labelseparator\caption@labelseparator@french}
+\DeclareCaptionLabelSeparator{french}{\caption@french@labelseparator}
 %    \end{macrocode}
 %
 % \begin{macro}{\caption@IfBabelFrench}
@@ -3103,26 +3102,46 @@
 \caption@IfBabelFrench{%
 %    \end{macrocode}
 %
-% If the language `french' is selected, we switch the default label separator to `french'
-% which uses |\if|\-|FB|\-|Customise|\-|Fig|\-|Tab|\-|Captions| and |\Caption|\-|Separator|.
+% The \package{babel-french} package uses |\Caption|\-|Separator| as label separator.
 %
 %    \begin{macrocode}
-  \ifx\caption@french@labelseparator\caption@labelseparator@french % still set to dummy label separator?
-    \DeclareCaptionLabelSeparator{french}{%
-      \ifFBCustomiseFigTabCaptions
-        \CaptionSeparator
-      \else
-        \space : %
-      \fi}%
-  \fi
-  \caption@ifdefined\extrasfrench{%
-    \addto\extrasfrench{%
-      \caption@switchdefault{labelseparator}{\babel@save #1}{french}}}{}%
+  \providecommand\caption@french@labelseparator{\CaptionSeparator}%
 %    \end{macrocode}
 %
-% Suppress the warning about load order (since it's not longer valid anymore).
+% Add a space before the label separator `colon' in French
+% in order to avoid problems when |Auto|\-|Space|\-|Punctuation| is set to |false|.
+%
 %    \begin{macrocode}
-  \caption@AtBeginDocument{\@nameuse{@FBwarning@capsepfalse}}%
+  \DeclareCaptionLabelSeparator{colon}{\autospace@beforeFDP : }%
+%    \end{macrocode}
+%
+% We switch the default label separator to `french', dependant on the switches
+% |Customise|\-|Fig|\-|Tab|\-|Captions| and |Old|\-|Fig|\-|Tab|\-|Captions|.
+%
+%    \begin{macrocode}
+  \ifFBOldFigTabCaptions
+    \typeout{OldFigTabCaptions=true}%            %%%%%%%%%%% <= needs to be removed
+    \caption@ifdefined\extrasfrench{%
+      \addto\extrasfrench{%
+        \caption@switchdefault{labelseparator}{\babel@save #1}{french}}}{}%
+    \caption@ifdefined\extrasacadian{%
+      \addto\extrasacadian{%
+        \caption@switchdefault{labelseparator}{\babel@save #1}{french}}}{}%
+  \else
+    \typeout{OldFigTabCaptions=false}%           %%%%%%%%%%% <= needs to be removed
+    \ifFBCustomiseFigTabCaptions
+      \typeout{CustomiseFigTabCaptions=true}%    %%%%%%%%%%% <= needs to be removed
+      \caption@AtBeginDocument{%
+        \ifFB@mainlanguage@FR
+          \typeout{mainlanguage=FR}%
+          \SetCaptionDefault{labelseparator}{french}%
+        \else
+          \typeout{mainlanguage=other}%          %%%%%%%%%%% <= needs to be removed
+        \fi}%
+    \else
+      \typeout{CustomiseFigTabCaptions=false}%   %%%%%%%%%%% <= needs to be removed
+    \fi
+  \fi
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -3149,13 +3168,16 @@
 \caption@IfFrenchLe{%
 %    \end{macrocode}
 %
-% If the language `french' is selected, we switch the default label separator to `french'
-% which uses |\caption|\-|separator|, and switch the default font to `it' and the default label font to `up'.
+% The \package{frenchle} package uses |\caption|\-|separator| plus |\space| as label separator.
+%
+%    \begin{macrocode}
+  \providecommand\caption@french@labelseparator{\captionseparator\space}%
+%    \end{macrocode}
+%
+% If the language `french' is selected, we switch the default label separator to `french',
+% and switch the default font to `it' and the default label font to `up'.
 %
 %    \begin{macrocode}
-  \ifx\caption@french@labelseparator\caption@labelseparator@french % still set to dummy label separator?
-    \DeclareCaptionLabelSeparator{french}{\captionseparator\space}%
-  \fi
   \g@addto@macro\extrasfrench{%
     \caption@switchdefault{labelseparator}{\let\caption@original@labelseparator#1}{french}%
     \caption@switchdefault{font}{\let\caption@original@font#1}{it}%
@@ -3578,6 +3600,7 @@
 % \subsection{The subfig package}
 % \changes{v1.1}{2007/07/07}{Adaptions to the \package{subfig} package added}
 % \changes{v1.4a}{2011/11/01}{Test for the \package{subfig} package revised}
+% \changes{v2.0a}{2020/09/07}{Re-definition of \cs{sf@ifpositiontop} added}
 %
 % Since the \package{subfig} package is not maintained anymore,
 % we have to make adaptions to \thispackage~\version{1.1} here.
@@ -3595,6 +3618,7 @@
     \let\caption@setfloattype\@gobble
     \let\@dottedxxxline\sf@NEW@dottedxxxline
     \let\sf@subfloat\sf@NEW@subfloat
+    \let\sf@ifpositiontop\caption@iftop
 %    \end{macrocode}
 %    \begin{macrocode}
   \fi
-- 
cgit v1.2.3

