summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/CHANGES11
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/LIESMICH2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/README2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw-preamble.tex13
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw.pdfbin163478 -> 163811 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw.tex38
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/de-biblatex-dw.pdfbin177061 -> 179707 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/de-biblatex-dw.tex45
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-authortitle-dw.pdfbin366984 -> 367662 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-authortitle-dw.tex2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-examples-dw.bib2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-footnote-dw.pdfbin372990 -> 373661 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-footnote-dw.tex2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-authortitle-dw.pdfbin335887 -> 336551 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-authortitle-dw.tex2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-footnote-dw.pdfbin342218 -> 342870 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-footnote-dw.tex2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/examples-dw.bib2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/.DS_Storebin0 -> 6148 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/authortitle-dw.bbx32
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/footnote-dw.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/standard-dw.bbx6
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/authortitle-dw.cbx4
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/footnote-dw.cbx41
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/standard-dw.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/english-dw.lbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/german-dw.lbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-dw/todo.txt70
-rw-r--r--macros/latex/contrib/caption/CHANGELOG8
-rw-r--r--macros/latex/contrib/caption/README8
-rw-r--r--macros/latex/contrib/caption/bicaption.dtx198
-rw-r--r--macros/latex/contrib/caption/bicaption.pdfbin150784 -> 181717 bytes
-rw-r--r--macros/latex/contrib/caption/caption-ams-smf.dtx8
-rw-r--r--macros/latex/contrib/caption/caption-beamer.dtx6
-rw-r--r--macros/latex/contrib/caption/caption-elsarticle.dtx8
-rw-r--r--macros/latex/contrib/caption/caption-koma.dtx90
-rw-r--r--macros/latex/contrib/caption/caption-memoir.dtx8
-rw-r--r--macros/latex/contrib/caption/caption-ntg.dtx8
-rw-r--r--macros/latex/contrib/caption/caption-thesis.dtx8
-rw-r--r--macros/latex/contrib/caption/caption.dtx479
-rw-r--r--macros/latex/contrib/caption/caption.ins2
-rw-r--r--macros/latex/contrib/caption/caption3.dtx162
-rw-r--r--macros/latex/contrib/caption/fallback/v3.0/caption.dtx16
-rw-r--r--macros/latex/contrib/caption/fallback/v3.1/caption.dtx14
-rw-r--r--macros/latex/contrib/caption/fallback/v3.2/caption.dtx14
-rw-r--r--macros/latex/contrib/caption/fallback/v3.3/caption.dtx14
-rw-r--r--macros/latex/contrib/caption/fallback/v3.3/caption3.dtx21
-rw-r--r--macros/latex/contrib/caption/fallback/v3.4/caption.dtx13
-rw-r--r--macros/latex/contrib/caption/fallback/v3.4/caption3.dtx34
-rw-r--r--macros/latex/contrib/caption/fallback/v3.5/caption.dtx14
-rw-r--r--macros/latex/contrib/caption/fallback/v3.5/caption3.dtx34
-rw-r--r--macros/latex/contrib/caption/subcaption.dtx325
-rw-r--r--macros/latex/contrib/caption/subcaption.pdfbin221744 -> 256023 bytes
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdfbin812020 -> 810431 bytes
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex89
-rw-r--r--macros/latex/contrib/proflycee/tex/ProfLycee.sty23
56 files changed, 1102 insertions, 786 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/CHANGES b/macros/latex/contrib/biblatex-contrib/biblatex-dw/CHANGES
index a3c27bc956..8d951bf02c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/CHANGES
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/CHANGES
@@ -1,9 +1,18 @@
-biblatex-dw 2023/03/09 v1.7a
+biblatex-dw 2023/03/11 v1.7b
Copyright (c) 2008-2023 Dominik Waßenhoven <domwass(at)web.de>
Version history
---------------
+v1.7b [2023/03/11]
+This version of biblatex-dw was tested with biblatex 3.19 and biber 2.19.
+- BUGFIX: With xref=true and useeditor=false, there could be a superfluous
+ comma. This should now be fixed (ticket 25 at biblatex-dw.sf.net).
+- New entry option "idembib" in order to suppress the idem functionality for
+ single entries. See the documentation for details. (Cf. ticket 14 at biblatex-dw.sf.net.)
+- Code cleanup (using some suggestions from ticket 23 at biblatex-dw.sf.net).
+- Minor improvements to the documentation.
+
v1.7a [2023/03/09]
This version of biblatex-dw was tested with biblatex 3.17 and biber 2.17.
- BUGFIX: With xref=true, the addendum of the child entry was not printed. This
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/LIESMICH b/macros/latex/contrib/biblatex-contrib/biblatex-dw/LIESMICH
index 941808ced0..b832632967 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/LIESMICH
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/LIESMICH
@@ -1,4 +1,4 @@
-biblatex-dw 2023/03/09 v1.7a
+biblatex-dw 2023/03/11 v1.7b
Copyright (c) 2008-2023 Dominik Waßenhoven <domwass(at)web.de>
************************************************************
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/README b/macros/latex/contrib/biblatex-contrib/biblatex-dw/README
index 666d46c1cf..84fd3c450a 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/README
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/README
@@ -1,4 +1,4 @@
-biblatex-dw 2023/03/09 v1.7a
+biblatex-dw 2023/03/11 v1.7b
Copyright (c) 2008-2023 Dominik Waßenhoven <domwass(at)web.de>
************************************************************
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw-preamble.tex b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw-preamble.tex
index 72c6f60c20..dd024f23a5 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw-preamble.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw-preamble.tex
@@ -7,11 +7,11 @@
% biblatex-dw (both the English and the German version)
%%%%% biblatex-dw Version %%%%% version of biblatex-dw %%%%%
-\newcommand{\biblatexdwversion}{1.7a}
-\newcommand{\biblatexdwdate}{\printdate{2023-03-09}}
+\newcommand{\biblatexdwversion}{1.7b}
+\newcommand{\biblatexdwdate}{\printdate{2023-03-11}}
\newcommand{\mindestanforderung}{3.3}% minimum biblatex version
-\newcommand{\testversion}{3.17}% tested biblatex version
-\newcommand{\biberversion}{2.17}% tested biber version
+\newcommand{\testversion}{3.19}% tested biblatex version
+\newcommand{\biberversion}{2.19}% tested biber version
\newcommand{\screenversion}{}
\newcommand{\TOC}{}
\newcommand{\lizenz}{}
@@ -75,7 +75,7 @@
%%%%% Verschiedene Pakete %%%%% Miscellaneous packages
\usepackage{microtype}% optischer Randausgleich
-\usepackage{hvlogos}% Logos wie \BibTeX etc.
+%\usepackage{hvlogos}% Logos wie \BibTeX etc.
\usepackage{xspace}
\usepackage{textcomp}% Text-Companion-Symbole
\usepackage{manfnt}% für das Achtung-Symbol
@@ -180,7 +180,8 @@
}
\makeatother
-\newcommand{\bl}{\paket{biblatex}}
+%\newcommand{\bl}{\paket{biblatex}}
+\newcommand{\bl}{Bib\LaTeX}
\newcommand{\bldw}{\paket{biblatex-dw}}
% \optlist[nur bei xy]{Option}{Wert} -> Option (Wert)
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw.pdf
index 2f9955978c..dfab5d439d 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw.tex b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw.tex
index 01b6026a27..617f78cb8d 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw.tex
@@ -29,26 +29,9 @@
\section{Introduction}
\subsection{Installation}
-\bldw{} is part of the distributions MiK\TeX{}\footnote{Website: \url{http://www.miktex.org}.}
-and \TeX{}~Live\footnote{Website: \url{http://www.tug.org/texlive}.}~-- thus, you
-can easily install it using the respective package manager. If you would like to
-install \bldw{} manually, do the following:
-Extract the archive \texttt{biblatex-dw.tds.zip} to the \texttt{\$LOCALTEXMF} directory of
- your system.\footnote{If you don't know what that is, have a look at
-\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds} or
-\url{http://mirror.ctan.org/tds/tds.html}.} Refresh your filename database.
-Here is some additional information from the UK \TeX\ FAQ:
-\begin{itemize}
- \item \href{%
- http://www.tex.ac.uk/cgi-bin/texfaq2html?label=install-where}{%
- Where to install packages}
- \item \href{%
- http://www.tex.ac.uk/cgi-bin/texfaq2html?label=inst-wlcf}{%
- Installing files \enquote{where \LaTeXTeX\ can find them}}
- \item \href{%
- http://www.tex.ac.uk/cgi-bin/texfaq2html?label=privinst}{%
- \enquote{Private} installations of files}
-\end{itemize}
+\bldw{} is part of the distributions MiK\TeX{}\footnote{Website: \url{https://miktex.org}.}
+and \TeX{}~Live\footnote{Website: \url{http://www.tug.org/texlive}.} (as well as Mac\TeX{}\footnote{Webseite: \url{http://www.tug.org/mactex}.}, which is built upon it)~-- thus, you
+can easily install it using the respective package manager.
\subsection{Usage}
The styles are loaded in the same way as the \bl{} standard styles:
@@ -74,11 +57,6 @@ file (\texttt{biblatex.cfg}). Entry options are set in the field
\texttt{options} of an entry in the bib file. Entry options can sometimes override
global options for the respective entry.
-\subsection{Frequently asked Questions (FAQ)}
-I answered some frequently asked questions concerning \bl{} and \bldw{} and made them
-available online:\\
-\url{http://biblatex.dominik-wassenhoven.de/faq.shtml?en}
-
\subsection{Development}
\bldw{} is an open source project hosted at \href{http://sourceforge.net}{sourceforge.net}. The code (also of the latest, not released version) can be downloaded.\footnote{\url{http://sourceforge.net/p/biblatex-dw/code}.} At sourceforge.net you have also the possibility to file bug reports (if possible, including a minimal example)\footnote{\url{http://sourceforge.net/p/biblatex-dw/tickets/milestone/Bugs}.} and feature requests.\footnote{\url{http://sourceforge.net/p/biblatex-dw/tickets/milestone/Features}.}
@@ -135,7 +113,10 @@ Besides some changes in punctuation, there are the following differences:
\wert{dash} to get a dash (---). In some languages, the idem phrase
is gender-specific. The gender for authors\slash editors has to be
given in the \texttt{gender} field of your bib file (see the \bl{}
- documentation for details). The default value for \option{idembib} is
+ documentation for details). The behaviour can be controlled on a per-entry
+ basis with the entry option \option{idembib}. \achtung If you set
+ \option{idembib=false} for an entry, the idem functionality will be suspended
+ for this entry and the following one. The default value for \option{idembib} is
\wert{true}, the default value for \option{idembibformat} is
\wert{idem}.
\item When\beschreibung{edbyidem} \texttt{author} and \texttt{editor} are the same in
@@ -818,6 +799,11 @@ They may override global options for the respective entry.
(\xbx{authortitle-dw}: with option \option{firstfull} only) of entries
with a \texttt{shorthand} is enforced (\wert{true}) or suppressed
(\wert{false}).
+ \opt{idembib}
+ The idem functionality can be set for a single entry. With the global option
+ \option{idembib=false} names will never be substituted, even if the entry option
+ \option{idembib} is set to \wert{true}. The entry option can be helpful for anonymous
+ works for which the idem functionality should be skipped.
\opt{oldauthor}
The \texttt{author} is not set in the font shape chosen by \option{namefont},
if the global option \option{oldauthor} is set to \wert{true}.
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/de-biblatex-dw.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/de-biblatex-dw.pdf
index 5b5e11818a..e2b0192709 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/de-biblatex-dw.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/de-biblatex-dw.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/de-biblatex-dw.tex b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/de-biblatex-dw.tex
index 19db0eb3d5..79525138dc 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/de-biblatex-dw.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/de-biblatex-dw.tex
@@ -33,21 +33,9 @@
\section{Einleitung}
\subsection{Installation}
-\bldw{} ist in den Distributionen MiK\TeX{}\footnote{Webseite: \url{http://www.miktex.org}.}
-und \TeX{}~Live\footnote{Webseite: \url{http://www.tug.org/texlive}.} enthalten und
-kann mit deren Paketmanagern bequem installiert werden. Wenn Sie stattdessen eine
-manuelle Installation durchführen, so gehen Sie wie folgt vor:
-Entpacken Sie die Datei \texttt{biblatex-dw.tds.zip} in den \texttt{\$LOCALTEXMF}"=Ordner ihres
-Systems.\footnote{Falls Sie nicht wissen, was das ist, können Sie sich unter
-\url{http://projekte.dante.de/DanteFAQ/TDS} bzw.
-\url{http://mirror.ctan.org/tds/tds.html} informieren.} Aktualisieren Sie
-anschließend die \emph{filename database} ihrer \TeX"=Distribution.
-Weitere Informationen:
-\begin{itemize}
- \small
- \item \url{http://projekte.dante.de/DanteFAQ/PaketInstallation}
- \item \url{http://projekte.dante.de/DanteFAQ/Verschiedenes#67}
-\end{itemize}
+\bldw{} ist in den Distributionen MiK\TeX{}\footnote{Webseite: \url{https://miktex.org/}.}
+und \TeX{}~Live\footnote{Webseite: \url{http://www.tug.org/texlive}.} (und damit auch im darauf aufbauenden Mac\TeX{}\footnote{Webseite: \url{http://www.tug.org/mactex}.}) enthalten und
+kann mit deren Paketmanagern bequem installiert werden.
\subsection{Benutzung}
Die hier angebotenen Zitierstile werden wie die Standard-Stile
@@ -78,17 +66,11 @@ Eintragsoptionen überschreiben für den jeweiligen Eintrag eventuell gesetzte g
\subsection{Fragen und Antworten (FAQ)}
In der deutschen \TeX"=FAQ, die auf den Internetseiten der Deutschen Anwendervereinigung
-\TeX\ e.\,V. (\DANTE) eingesehen werden kann, sind auch einige häufig gestellte Fragen
+\TeX\ e.\,V. (\textsc{dante}) eingesehen werden kann, sind auch einige häufig gestellte Fragen
zu \bl{} und \bldw{} beantwortet, abzurufen unter folgender Adresse:\\
\href{http://projekte.dante.de/DanteFAQ/LiteraturverzeichnisMitBiblatex}%
{http://projekte.dante.de/DanteFAQ/LiteraturverzeichnisMitBiblatex}
-Außerdem habe ich für \enquote{\DTK}, die Mitgliederzeitschrift
-von \DANTE, einen einführenden Artikel zu \bl{} geschrieben, den ich auch als PDF
-zum Herunterladen anbiete:\\
-\href{http://biblatex.dominik-wassenhoven.de/dtk.shtml}%
- {http://biblatex.dominik-wassenhoven.de/dtk.shtml}
-
\subsection{Entwicklung}
\bldw{} wird quelloffen entwickelt und bei \href{http://sourceforge.net}{sourceforge.net} gehostet. Der Code (auch der jeweils aktuellen, noch nicht veröffentlichten Version) steht zum Download zur Verfügung.\footnote{\url{http://sourceforge.net/p/biblatex-dw/code}.} Auf sourceforge.net gibt es auch die Möglichkeit, Fehler zu melden und Verbesserungsvorschläge zu machen. Wenn Sie einen Fehler finden, erstellen Sie bitte einen Bug-Report (am besten inklusive Minimalbeispiel).\footnote{\url{http://sourceforge.net/p/biblatex-dw/tickets/milestone/Bugs}.} Für Verbesserungsvorschläge verwenden Sie ein Feature-Request.\footnote{\url{http://sourceforge.net/p/biblatex-dw/tickets/milestone/Features}.}
@@ -161,11 +143,12 @@ Neben einigen Änderungen in der Zeichensetzung gibt es folgende Unterschiede:
\option{idembibformat} einstellen; sie kann die Werte \wert{idem}
(\enquote{Ders.}\slash\enquote{Dies.}) und \wert{dash} (---) annehmen.
Das Geschlecht, das bei der Verwendung von \wert{idem} in manchen
- Sprachen
- wichtig ist, wird im Feld \texttt{gender} festgelegt (siehe dazu die
- \bl"=Dokumentation). Der Standard für \option{idembib} ist
- \wert{true},
- der Standard für \option{idembibformat} ist \wert{idem}.
+ Sprachen wichtig ist, wird im Feld \texttt{gender} festgelegt (siehe dazu die
+ \bl"=Dokumentation). Das Verhalten lässt sich auch für jeden Eintrag einzeln
+ einstellen mit der Eintragsoption \option{idembib}. \achtung Setzt man für einen
+ Eintrag \option{idembib=false}, wird die idem"=Funktionalität für diesen und den
+ folgenden Eintrag ausgesetzt. Der Standard für \option{idembib} ist
+ \wert{true}, der Standard für \option{idembibformat} ist \wert{idem}.
\item Wenn\beschreibung{edbyidem}
Autor und Herausgeber bei \texttt{@inbook}"~, \texttt{@incollection}"~ oder
\texttt{@inreference}"=Einträgen dieselben sind, werden ihre Namen nicht
@@ -927,6 +910,14 @@ Sie überschreiben für den jeweiligen Eintrag eventuell gesetzte globale Option
\xbx{authortitle-dw} nur mit der Option \option{firstfull}) das
angefügte \enquote{im Folgenden zit. als~\ldots} erzwingen (\wert{true})
bzw. unterdrücken (\wert{false}).
+ \opt{idembib}
+ Die Ersetzung von Namen bei aufeinanderfolgenden Einträgen derselben Autoren\slash
+ Herausgeber in der Bibliographie durch \enquote{Ders.}\slash\enquote{Dies.} oder
+ \enquote{---} kann für jeden Eintrag separat geregelt werden. Bei globaler Option
+ \option{idembib=false} werden Namen nie ersetzt, auch nicht mit der Eintragsoption
+ \option{idembib=true}. Die Eintragsoption ist nützlich z.\,B. für Werke anonymer
+ Autoren, für die \enquote{Ders.}\slash\enquote{Dies.} oder \enquote{---} unterdrückt
+ werden sollen.
\opt{oldauthor}
Der Autor (Feld \texttt{author}) wird nicht in dem mit \option{namefont} gewählten Schriftschnitt
gesetzt, sofern die globale Option \option{oldauthor} aktiviert ist.
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-authortitle-dw.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-authortitle-dw.pdf
index da3d4564f8..ba0037677b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-authortitle-dw.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-authortitle-dw.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-authortitle-dw.tex b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-authortitle-dw.tex
index ffe0be6c4b..13514e316c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-authortitle-dw.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-authortitle-dw.tex
@@ -1,4 +1,4 @@
-% v 1.7a
+% v 1.7b
% This file presents the `authortitle-dw' style
%
\listfiles
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-examples-dw.bib b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-examples-dw.bib
index c89d3018f9..ecfb5a8dee 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-examples-dw.bib
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-examples-dw.bib
@@ -325,7 +325,7 @@
hyphenation = {american},
sorttitle = {Tame the Beast},
subtitle = {The B to X of \BibTeX},
- url = {http://tug.ctan.org/tex-archive/info/bibtex/tamethebeast/ttb_en.pdf},
+ url = {https://mirrors.ctan.org/info/bibtex/tamethebeast/ttb_en.pdf},
urldate = {2006-10-01},
version = {1.3}
}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-footnote-dw.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-footnote-dw.pdf
index 27ec22f106..4dd4775857 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-footnote-dw.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-footnote-dw.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-footnote-dw.tex b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-footnote-dw.tex
index 263c4f60fe..380c78e248 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-footnote-dw.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-footnote-dw.tex
@@ -1,4 +1,4 @@
-% v 1.7a
+% v 1.7b
% This file presents the `footnote-dw' style
%
\documentclass[a4paper]{article}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-authortitle-dw.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-authortitle-dw.pdf
index f00b8319a0..8ab37a27d4 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-authortitle-dw.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-authortitle-dw.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-authortitle-dw.tex b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-authortitle-dw.tex
index 30004eff24..df3b2e0c36 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-authortitle-dw.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-authortitle-dw.tex
@@ -1,4 +1,4 @@
-% v 1.7a
+% v 1.7b
% This file presents the `authortitle-dw' style
%
\documentclass[a4paper]{article}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-footnote-dw.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-footnote-dw.pdf
index 8834bfe11a..2fe2e6ad7f 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-footnote-dw.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-footnote-dw.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-footnote-dw.tex b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-footnote-dw.tex
index 7f8385015b..a824348532 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-footnote-dw.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-footnote-dw.tex
@@ -1,4 +1,4 @@
-% v 1.7a
+% v 1.7b
% This file presents the `footnote-dw' style
%
\documentclass[a4paper]{article}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/examples-dw.bib b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/examples-dw.bib
index e047607501..2565db5e8e 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/examples-dw.bib
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/examples-dw.bib
@@ -430,7 +430,7 @@
subtitle = {The B to X of \BibTeX},
version = {1.3},
date = {2005-10-16},
- url = {http://tug.ctan.org/tex-archive/info/bibtex/tamethebeast/ttb_en.pdf},
+ url = {https://mirrors.ctan.org/info/bibtex/tamethebeast/ttb_en.pdf},
urldate = {2006-10-01},
annotation = {An \texttt{online} entry for a tutorial. Note the format of the \texttt{date}
field (\texttt{yyyy-mm-dd}) in the database file.}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/.DS_Store b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/.DS_Store
new file mode 100644
index 0000000000..83c57d053c
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/.DS_Store
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/authortitle-dw.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/authortitle-dw.bbx
index 79ed4906dd..f0f4396a1b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/authortitle-dw.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/authortitle-dw.bbx
@@ -1,6 +1,6 @@
% authortitle-dw.bbx, Dominik Waßenhoven 2023
-\ProvidesFile{authortitle-dw.bbx}[2023/03/09 v1.7a biblatex bibliography style]
+\ProvidesFile{authortitle-dw.bbx}[2023/03/11 v1.7b biblatex bibliography style]
\RequireBibliographyStyle{standard-dw}
@@ -151,10 +151,10 @@
\renewcommand{\bbx@editorstring}{}}
\def\bbx@opt@editorstring@parens{%
\global\booltrue{bbx:editorstring}%
- \renewcommand{\bbx@editorstring}{\mkbibparens}}
+ \renewcommand{\bbx@editorstring}{\printtext[parens]}}
\def\bbx@opt@editorstring@brackets{%
\global\booltrue{bbx:editorstring}%
- \renewcommand{\bbx@editorstring}{\mkbibbrackets}}
+ \renewcommand{\bbx@editorstring}{\printtext[brackets]}}
\DeclareBibliographyOption{editorstringfont}[normal]{%
\ifcsdef{bbx@opt@edstringfont@#1}
@@ -257,7 +257,7 @@
\DeclareFieldFormat{maintitle}{#1}
\DeclareFieldFormat{review}{%
\bibstring{review}%
- \enquote{#1}}
+ \mkbibquote{#1}}
\DeclareFieldFormat{shorthandwidth}{%
\ifboolexpr{
bool {bbx:shorthandacro}
@@ -277,10 +277,10 @@
\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat[inreference]{title}{%
\bibstring{inrefstring}%
- \enquote{#1}}
+ \mkbibquote{#1}}
\DeclareFieldFormat[review]{title}{%
\bibstring{review}%
- \enquote{#1}}
+ \mkbibquote{#1}}
\DeclareFieldFormat[inreference]{volume}{#1}% volume of an inreference entry
\DeclareFieldFormat[review]{volume}{#1}% volume of a review entry
\DeclareFieldFormat{shorthand}{%
@@ -580,16 +580,24 @@
\usebibmacro{date}}
%% Test, ob ein Feld nur eine Zahl beinhaltet
-\newcommand{\bbx@iffieldinteger}[1]{%
- \iffieldundef{#1}
- {\@secondoftwo}
- {\edef\@tempa{\strfield{#1}}%
- \expandafter\ifinteger\expandafter{\@tempa}}}
+%\newcommand{\bbx@iffieldinteger}[1]{%
+% \iffieldundef{#1}
+% {\@secondoftwo}
+% {\edef\@tempa{\strfield{#1}}%
+% \expandafter\ifinteger\expandafter{\@tempa}}}
%% Edition nur ausgeben, wenn Option 'edsuper=false'
+%\newbibmacro*{edition}{%
+% \ifbool{bbx:edsuper}
+% {\bbx@iffieldinteger{edition}
+% {}% falls 'edition' eine Zahl ist, wird hochgestellt
+% {\printfield{edition}%
+% \newunit}}% ansonsten wird komplett ausgegeben
+% {\printfield{edition}%
+% \newunit}}
\newbibmacro*{edition}{%
\ifbool{bbx:edsuper}
- {\bbx@iffieldinteger{edition}
+ {\iffieldint{edition}
{}% falls 'edition' eine Zahl ist, wird hochgestellt
{\printfield{edition}%
\newunit}}% ansonsten wird komplett ausgegeben
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/footnote-dw.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/footnote-dw.bbx
index abb62b42f6..9367e4e823 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/footnote-dw.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/footnote-dw.bbx
@@ -1,6 +1,6 @@
% footnote-dw.bbx, Dominik Waßenhoven 2023
-\ProvidesFile{footnote-dw.bbx}[2023/03/09 v1.7a biblatex bibliography style]
+\ProvidesFile{footnote-dw.bbx}[2023/03/11 v1.7b biblatex bibliography style]
\RequireBibliographyStyle{authortitle-dw}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/standard-dw.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/standard-dw.bbx
index b97448eebd..f20aea669e 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/standard-dw.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/standard-dw.bbx
@@ -1,6 +1,6 @@
% standard-dw.bbx, Dominik Waßenhoven 2023
-\ProvidesFile{standard-dw.bbx}[2023/03/09 v1.7a biblatex bibliography style]
+\ProvidesFile{standard-dw.bbx}[2023/03/11 v1.7b biblatex bibliography style]
\@ifpackagelater{biblatex}{2016/03/11}
{}
@@ -46,7 +46,9 @@
\DeclareEntryOption{acronym}[true]{%
\csuse{bool#1}{bbx:acronym}}
-
+\DeclareEntryOption{idembib}[true]{%
+ \csuse{bool#1}{bbx:idembib}}
+
\DeclareBibliographyOption{acronyms}[true]{%
\csuse{bool#1}{bbx:shorthandacro}}
\DeclareBibliographyOption{shorthandinbib}[true]{%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/authortitle-dw.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/authortitle-dw.cbx
index 422b5a36ba..6a1598bb74 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/authortitle-dw.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/authortitle-dw.cbx
@@ -1,6 +1,6 @@
% authortitle-dw.cbx, Dominik Waßenhoven 2023
-\ProvidesFile{authortitle-dw.cbx}[2023/03/09 v1.7a biblatex citation style]
+\ProvidesFile{authortitle-dw.cbx}[2023/03/11 v1.7b biblatex citation style]
\RequireCitationStyle{standard-dw}
@@ -68,7 +68,7 @@
{\newunit
\usebibmacro{cite:byeditor}}
{}}%
- \usebibmacro{cite:save}}}%
+ \usebibmacro{cite:save}}}%
{\ifbool{cbx:shorthandibid}%
{\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}%
{\usebibmacro{cite:ibid}}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/footnote-dw.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/footnote-dw.cbx
index 03688af6a2..4383a4c8d9 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/footnote-dw.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/footnote-dw.cbx
@@ -1,6 +1,6 @@
-% footnote-dw.cbx, Dominik Waßenhoven 2023
+ % footnote-dw.cbx, Dominik Waßenhoven 2023
-\ProvidesFile{footnote-dw.cbx}[2023/03/09 v1.7a biblatex citation style]
+\ProvidesFile{footnote-dw.cbx}[2023/03/11 v1.7b biblatex citation style]
\RequireCitationStyle{standard-dw}
@@ -140,27 +140,18 @@
\newbibmacro*{cite:seenote}{%
\ifbool{cbx:review}
{}
- {\ifbool{cbx:parencitefoot}
- {\addspace\mkbibbrackets{%
- \midsentence\bibstring{seenote}\addnbspace%
- \ref{cbx@\csuse{cbx@first@\thefield{entrykey}}}%
- \ifbool{cbx:pageref}
- {\ifsamepage{\the\value{instcount}}
- {\csuse{cbx@first@\thefield{entrykey}}}
- {}
- {\addcomma\space\bibstring{page}\addnbspace%
- \pageref{cbx@\csuse{cbx@first@\thefield{entrykey}}}}}
- {}}}
- {\addspace\mkbibparens{%
- \midsentence\bibstring{seenote}\addnbspace%
- \ref{cbx@\csuse{cbx@first@\thefield{entrykey}}}%
- \ifbool{cbx:pageref}
- {\ifsamepage{\the\value{instcount}}
- {\csuse{cbx@first@\thefield{entrykey}}}
- {}
- {\addcomma\space\bibstring{page}\addnbspace%
- \pageref{cbx@\csuse{cbx@first@\thefield{entrykey}}}}}
- {}}}}}
+ {\addspace\printtext[cite:seenote]{%
+ \midsentence\bibstring{seenote}\addnbspace%
+ \ref{cbx@\csuse{cbx@first@\thefield{entrykey}}}%
+ \ifbool{cbx:pageref}
+ {\ifsamepage{\the\value{instcount}}
+ {\csuse{cbx@first@\thefield{entrykey}}}
+ {}
+ {\addcomma\space\bibstring{page}\addnbspace%
+ \pageref{cbx@\csuse{cbx@first@\thefield{entrykey}}}}}
+ {}}}}
+
+\DeclareFieldFormat{cite:seenote}{\ifbool{cbx:parencitefoot}{\mkbibbrackets{#1}}{\mkbibparens{#1}}}
%% xref
\newbibmacro*{cite:xref}{%
@@ -177,7 +168,7 @@
{\ifbool{xref:inbook}
{\usebibmacro{author}}
{\usebibmacro{cite:editor}}%
- \nametitledelim}}%
+ \setunit{\nametitledelim}}}%
\usebibmacro{cite:title}}
{\usebibmacro{cite:shorthand}}}
{\ifboolexpr{
@@ -302,7 +293,7 @@
\def\cbx@savedcites{#1}%
\ifbool{cbx:parencitefoot}
{#2%
- \addspace\mkbibparens{\cbx@savedcites}}
+ \addspace\printtext[parens]{\cbx@savedcites}}
{#2%
\cbx@savedcites}}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/standard-dw.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/standard-dw.cbx
index a5f4668f39..0efc4d50b4 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/standard-dw.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/standard-dw.cbx
@@ -1,6 +1,6 @@
% standard-dw.cbx, Dominik Waßenhoven 2023
-\ProvidesFile{standard-dw.cbx}[2023/03/09 v1.7a biblatex citation style]
+\ProvidesFile{standard-dw.cbx}[2023/03/11 v1.7b biblatex citation style]
\@ifpackagelater{biblatex}{2016/03/11}
{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/english-dw.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/english-dw.lbx
index c10cdaa17e..bbc8424708 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/english-dw.lbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/english-dw.lbx
@@ -1,6 +1,6 @@
% english-dw.lbx, Dominik Waßenhoven 2023
-\ProvidesFile{english-dw.lbx}[2023/03/09 v1.7a biblatex localization file]
+\ProvidesFile{english-dw.lbx}[2023/03/11 v1.7b biblatex localization file]
\NewBibliographyString{%
idemdat,%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/german-dw.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/german-dw.lbx
index f37b44b3f6..639618fd9d 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/german-dw.lbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/german-dw.lbx
@@ -1,6 +1,6 @@
% german-dw.lbx, Dominik Waßenhoven 2023
-\ProvidesFile{german-dw.lbx}[2023/03/09 v1.7a biblatex localization file]
+\ProvidesFile{german-dw.lbx}[2023/03/11 v1.7b biblatex localization file]
\InheritBibliographyExtras{german}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/todo.txt b/macros/latex/contrib/biblatex-contrib/biblatex-dw/todo.txt
deleted file mode 100644
index 7e28d95eb8..0000000000
--- a/macros/latex/contrib/biblatex-contrib/biblatex-dw/todo.txt
+++ /dev/null
@@ -1,70 +0,0 @@
-todo.txt für biblatex-dw [2017-06-21]
--------------------------------------
-
------[ Stile ]----------
-
-- idembib auch als Eintragsoption anbieten (damit man mit idembib=false die
- Ausgabe von »Ders.« im Literaturverzeichnis unterdrücken kann, z.B. bei anonymen
- Autoren)
- \DeclareEntryOption{idembib}[true]{%
- \csuse{bool#1}{bbx:idembib}}
- –> https://sourceforge.net/p/biblatex-dw/tickets/14/
-
-- BUG: Hgg.-Angaben bei Benutzung von xref und @proceedings/@inproceedings
- fehlerhaft; Anpassung analog zu @collection/@incollection nötig.
- –> https://sourceforge.net/p/biblatex-dw/tickets/25/
-
-- BUG: seriesbeforeedition: manchmal steht ein Komma vor der öffnenden Klammer –
- kriegt man das weg?
- –> konnte das Verhalten nicht reproduzieren [2016-12-06]
-
-- addyear auch als Eintragsoption anbieten (damit man mit addyear=false die
- Ausgabe des Jahres bei globaler Option addyear=true unterdrücken kann)
-
-- Feature-Request: https://sourceforge.net/p/biblatex-dw/tickets/6/
- editor bei @inreference komplett unterdrücken (?)
-
-- Feature-Request: https://sourceforge.net/p/biblatex-dw/tickets/7/
- Unterstützung für "nameaddon"
-
-- Feature-Request: https://sourceforge.net/p/biblatex-dw/tickets/9/
- - neue Option firstedition=afteryear|false
- - Bei afteryear: Ort 2012 [2000]
- - Neue entry option, damit man auch origfields nutzen kann: bei Einträgen mit
- origfields (also Nachdrucken) reprint=true setzen, damit origdate nicht
- ungewollt ausgegeben wird
- -> Oder lässt sich das eleganter automatisch lösen? [mal ausprobieren, ob bei
- der Verwendung von origdate ohne origlocation etc. ein Nachdruck erzeugt
- wird]
-
-- shortseries nutzen (optional auch mit acronym)
- -> evtl. auch für historische-zeitschrift
-
-- Neue Option: idemcase=upper|lower
- -> damit kann man wählen, ob "ders." groß oder klein geschrieben werden soll
- (z.B. bei "in: Ders.", nicht aber bei "hg. v. dems.")
- --> dazu \newbibmacro*{useeditor} in standard-dw.bbx ändern (\midsentence!)
-
-- Neue Option idembib=single oder =strict o.ä., die auch bei mehreren Autoren idem
- ausgibt, wenn es sich nur auf einzelne Autoren bezieht, z.B.:
- Mustermann, Felix: …
- Ders. / Musterfrau, Felicitas: …
- -> siehe http://tex.stackexchange.com/q/11138/1376
-
------[ Optionales ]----------
-
-- neue Option 'los=withjournals': die Abkürzungen von
- Zeitschriften (shortjournal) werden in die List of
- Shorthands aufgenommen, wobei nur das Feld journaltitle
- als Auflösung genommen wird
- --> wird vermutlich in biblatex 2.0/biber 1.0 eingebaut
-
-- BUG: bei omiteditor=false (Standard) wird kein idem ausgegeben, wenn
- Autor und Hrsg. gleich, aber das xref-child vor dem xref-parent zitiert wird
- (weil dann kein authedxref bzw. authauthxref ausgeführt wurde)
- --> kann ich nicht mehr reproduzieren (2012/06/14)
-
-
------[ Webseite ]----------
-
-- Einleitung überarbeiten (?)
diff --git a/macros/latex/contrib/caption/CHANGELOG b/macros/latex/contrib/caption/CHANGELOG
index a3d2d4baf2..c4d90ce7b8 100644
--- a/macros/latex/contrib/caption/CHANGELOG
+++ b/macros/latex/contrib/caption/CHANGELOG
@@ -170,6 +170,9 @@ v1.4 (2020/12/25)
v1.5 (2021/01/04)
- Support of the listings package added
+v1.6 (2023/02/19)
+- Command \bicaptionsetup added
+
ltcaption package
-----------------
@@ -216,3 +219,8 @@ v1.5 (2022/01/07)
- New environments subcaptiongroup and subcaptionblock
- New command \subcaptionlistentry to make an entry into the list of figures resp. tables
- New command \subcaptiontext to typeset a sub-caption without counter increment and list entry
+- Default value of the optional argument <outer-pos> changed from `c' to either `b' or `t'
+
+v1.6 (2023/02/19)
+- New command \subcaptionsetup to set options specifically for sub-captions
+- Counter ownership revised
diff --git a/macros/latex/contrib/caption/README b/macros/latex/contrib/caption/README
index a14b3742e5..f6d549608f 100644
--- a/macros/latex/contrib/caption/README
+++ b/macros/latex/contrib/caption/README
@@ -1,8 +1,8 @@
==========================================================================
The `caption' package bundle
-Release 2022-03-17
-Copyright (C) 1994-2022 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
+Release 2023-03-12
+Copyright (C) 1994-2023 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
License: LPPL = LaTeX Project Public Licence
Maintenance Status: maintained (by Axel Sommerfeldt)
@@ -47,7 +47,7 @@ https://gitlab.com/axelsommerfeldt/caption/-/tree/master/doc/outdated
--------------------------------------------------------------------------
-The `bicaption' package v1.5 supports typesetting of bilingual captions.
+The `bicaption' package v1.6 supports typesetting of bilingual captions.
User Manual: bicaption.pdf (English)
@@ -66,7 +66,7 @@ User Manual: ltcaption.pdf (English)
--------------------------------------------------------------------------
-The `subcaption' package v1.5 supports typesetting of sub-captions
+The `subcaption' package v1.6 supports typesetting of sub-captions
(by using the the sub-caption feature of the `caption' package).
User Manual: subcaption.pdf (English)
diff --git a/macros/latex/contrib/caption/bicaption.dtx b/macros/latex/contrib/caption/bicaption.dtx
index 8d51567a6c..9ec9753ca0 100644
--- a/macros/latex/contrib/caption/bicaption.dtx
+++ b/macros/latex/contrib/caption/bicaption.dtx
@@ -2,7 +2,7 @@
%
% This is file `bicaption.dtx'.
%
-% Copyright (C) 2010-2022 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
+% Copyright (C) 2010-2023 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
%
% --------------------------------------------------------------------------
%
@@ -31,12 +31,12 @@
%
% \fi
%
-% \CheckSum{626}
+% \CheckSum{642}
%
% \iffalse
%<*driver>
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesFile{bicaption.drv}[2022/03/06 v1.5 Adds a bilingual caption feature to the caption package]
+\ProvidesFile{bicaption.drv}[2023/03/11 v1.6 Adds a bilingual caption feature to the caption package]
\hbadness=9999 \newcount\hbadness \hfuzz=74pt % Make TeX shut up.
%\errorcontextlines=3
%
@@ -62,8 +62,8 @@
\ifpdf\usepackage{hypdestopt}\fi
\hypersetup{pdfkeywords={LaTeX, package, bicaption},pdfstartpage={},pdfstartview={}}
%
-\usepackage{bicaption}[2016/03/27]
-\usepackage{subcaption}[2016/02/21]
+\usepackage{bicaption}[2023/02/19]
+\usepackage{subcaption}[2023/02/19]
%
\newcommand*\purerm[1]{{\upshape\mdseries\rmfamily #1}}
\newcommand*\puresf[1]{{\upshape\mdseries\sffamily #1}}
@@ -143,8 +143,7 @@
% |\usepackage|\oarg{options}|{bicaption}|\quad.
% \end{quote}
% The options for \thispackage\ are the same ones as for the \package{caption}
-% package and specify settings which are used for the second language
-% \emph{additionally}.
+% package and specify settings which are used for the second language \emph{additionally}.
% In fact
% \begin{quote}
% |\usepackage|\oarg{options}|{bicaption}|
@@ -152,44 +151,41 @@
% is identical to
% \begin{quote}
% |\usepackage{bicaption}|\\
-% |\captionsetup[bi-second]|\marg{options}\quad.
+% |\bicaptionsetup{}|\marg{options}\quad.
% \end{quote}
%
% When used with the \package{babel} or \package{polyglossia} package, the
% \package{bicaption} package should be loaded \emph{after} it, so the main
% language will be set automatically. See \autoref{sec:babel} for details.
%
+% \pagebreak[3]
% \section{Setting options}
% \label{sec:options}
%
-% \DescribeMacro\captionsetup
-% The command
-% \begin{quote}
-% |\captionsetup[bi]|\marg{options}
-% \end{quote}
-% does setup options which will be used for bilanguage captions \emph{additionally}
-% to the ones which are setup for the specific floating environment.
+% \DescribeMacro\bicaptionsetup
+% \NEWfeature*{v1.6}
+% The |\bicaptionsetup| command sets options specifically for bilingual captions.
%
% \begin{quote}
-% |\captionsetup[bi-first]|\marg{options}
+% |\bicaptionsetup|\marg{options for 1st language}\marg{options for 2nd language}
% \end{quote}
-% does setup options which will be used for the \emph{first} heading
-% of the bilanguage captions \emph{additionally}
-% to the ones which are setup for the specific floating environment
-% and the ones which are setup by |\captionsetup[bi]{|\ldots|}|.
+% sets options which will be used for the first resp.\ second heading
+% of the bilingual captions \emph{additionally} to the ones which are setup for the
+% specific floating environment.
%
+% \medskip
+%
+% To limit bilingual options to specific environments one can use
+% an optional argument for |\bi|\-|caption|\-|setup|, e.g.:
% \begin{quote}
-% |\captionsetup[bi-second]|\marg{options}
+% |\bicaptionsetup[figure]{|\ldots|}{|\ldots|}|
% \end{quote}
-% does setup options which will be used for the \emph{second} heading
-% of the bilanguage captions \emph{additionally}
-% to the ones which are setup for the specific floating environment
-% and the ones which are setup by |\captionsetup[bi]{|\ldots|}|.
+% will limit the settings to the bilingual headings of |figure| environments only.
%
% \bigskip
%
% Options specified with |\use|\-|package[|\ldots|]{bi|\-|cap|\-|tion}| and
-% |\cap|\-|tion|\-|setup[bi|\ldots|]{|\ldots|}| will override the ones specified by
+% |\bi|\-|cap|\-|tion|\-|setup{|\ldots|}{|\ldots|}| will override the ones specified by
% |\cap|\-|tion|\-|setup{|\ldots|}| and |\cap|\-|tion|\-|setup[fig|\-|ure]{|\ldots|}|
% (same for `table'). So finally we have the following order how
% settings for bilingual captions are applied:
@@ -200,12 +196,10 @@
% {\small(|\captionsetup[figure|\emph{ -or- }|table]{|\ldots|}|)}
% \item Local settings
% {\small(|\captionsetup{|\ldots|}| inside |figure| or |table| environment)}
-% \item Custom `bi' settings
-% {\small(|\captionsetup[bi]{|\ldots|}|)}
-% \item Custom `bi-first' resp.~`bi-second' settings
-% {\small(|\usepackage[|\ldots|]{bicaption}| and
-% |\caption|\-|setup[bi-first]{|\ldots|}|
-% resp.~|\caption|\-|setup[bi-second]{|\ldots|}|)}
+% \item Custom bilingual settings
+% {\small(|\usepackage[|\ldots|]{bicaption}| and |\bicaptionsetup{|\ldots|}{|\ldots|}|)}
+% \item Environmental bilingual settings
+% {\small(|\bicaptionsetup[figure|\emph{ -or- }|table]{|\ldots|}{|\ldots|}|)}
% \end{enumerate}
% An example:
% \begin{quote}
@@ -219,17 +213,29 @@
% |labelsep=quad,indention=10pt,position=top,labelfont=bf|~.
% \end{quote}
%
-% \bigskip
-%
-% To limit |bi|, |bi-first|, or |bi-second| options to specific environments one can use
-% multiple optional arguments for |\caption|\-|setup|, e.g.:
+% \begin{background}
+% Internally the |\bi|\-|caption|\-|setup| uses the |\caption|\-|setup| command, i.e.
+% \begin{quote}
+% |\bicaptionsetup|\marg{options for 1st language}\marg{options for 2nd language}
+% \end{quote}
+% is identical to
+% \begin{quote}
+% |\captionsetup[bi-first]|\marg{options for 1st language}\\
+% |\captionsetup[bi-second]|\marg{options for 2nd language}
+% \end{quote}
+% and
+% \begin{quote}
+% |\bicaptionsetup[figure]{|\ldots|}{|\ldots|}|
+% \end{quote}
+% is identical to
% \begin{quote}
-% |\captionsetup[figure][bi-first]|\oarg{options}
+% |\captionsetup[figure][bi-first]{|\ldots|}|\\
+% |\captionsetup[figure][bi-second]{|\ldots|}| \quad .
% \end{quote}
-% will limit the settings to the first heading of |figure| environments only.
-% Please note that the environment name (|figure|, |table|, \ldots) has to be specified
-% as first optional argument while the bilingual selection (|bi|, |bi-first|, or |bi-second|)
-% as second one.
+% Prior to \version{1.6} of this package this was the way options had to be specified.
+% This still works (and will continue to work in the future), but is not recommended,
+% |\bi|\-|caption|\-|setup| should be used instead.
+% \end{background}
%
% \section{Additional options}
% \label{sec:additional-options}
@@ -307,6 +313,12 @@
% |\Declare|\-|Caption|\-|Font{normal|\-|size}{|\ldots|}|
% \end{Options}
%
+% \emph{Important:}
+% All options starting with `bi-' must be applied using |\caption|\-|setup| and
+% \emph{NOT} using |\bi|\-|caption|\-|setup|.
+% This is because they do not alter the setting of the caption for the 1st or 2nd language specifically,
+% but instead alter the behaviour how bilingual captions are set in general.
+%
% \section{The \cs{bicaption} commands}
% \label{sec:bicaption}
%
@@ -319,6 +331,8 @@
% \end{quote}
% The |\label| should be placed either after this command, or inside the first heading.
%
+% \medskip
+%
% \DescribeMacro\bicaptionbox
% Bilingual caption boxes will be typeset by
% \begin{quote}
@@ -347,6 +361,12 @@
% \begin{quote}
% |\usepackage[lang=english,|\ldots|,list=off]{bicaption}|
% \end{quote}
+% or
+% \begin{quote}
+% |\usepackage[|\ldots|]{bicaption}|\\
+% \ldots\\
+% |\bicaptionsetup{}{list=off}|
+% \end{quote}
%
% \pagebreak[3]
% \DescribeMacro{listtype+=}
@@ -415,7 +435,7 @@
% |% "english", and list type "figure2" resp. "table2"|\\
% |\usepackage[lang=english,listtype+=2]{bicaption}|\\
% ||\\
-% |% We load the titletoc package for customizing lists|\\
+% |% We load the titletoc package for customising lists|\\
% |% Note: Loading titletoc should be done prior|\\
% |% defining additional floating environments with|\\
% |% \DeclareFloatingEnvironment|\\
@@ -429,7 +449,7 @@
% |% Use the same file extension as for "table" (.lot) here|\\
% |\DeclareFloatingEnvironment[fileext=lot]{table2}|\\
% ||\\
-% |% We use the titletoc package for customizing "figure2"|\\
+% |% We use the titletoc package for customising "figure2"|\\
% |% which is appropriate for the second language captions|\\
% \iffalse
% |\contentsuse{figure2}{lof}|\\
@@ -600,7 +620,7 @@
% For internal implementation reasons the selection of language will be done delayed,
% i.e.~not done immediately at |lang=|\meta{language}. So if you do
% \begin{quote}
-% |\captionsetup[bi-second]{lang=ngerman,labelsep=quad}|
+% |\bicaptionsetup{}{lang=ngerman,labelsep=quad}|
% \end{quote}
% the language |ngerman| will only be stored internally, and the label separator will
% be set to |quad| afterwards. Some time later, right before the caption is actually
@@ -609,7 +629,7 @@
% Usually this is no problem, but think of options which will be overwritten by the
% language selection, or options which act on the language currently set, for example
% \begin{quote}
-% |\captionsetup[bi-second]{lang=ngerman,name=Bild}|\quad.
+% |\bicaptionsetup{}{lang=ngerman,name=Bild}|\quad.
% \end{quote}
% |lang=ngerman| changes the environment name to ``Abbildung'', and |name=Bild|
% changes the environment name to ``Bild''. One would expect that the name is
@@ -629,7 +649,7 @@
% will be done by \thispackage\ automatically, since the environment name will usually
% be overwritten by a language selection. So actually
% \begin{quote}
-% |\captionsetup[bi-second]{lang=ngerman,name=Bild}|
+% |\bicaptionsetup{}{lang=ngerman,name=Bild}|
% \end{quote}
% will give the expected result, i.e. the environment name is typeset as ``Bild''.
%
@@ -897,8 +917,7 @@
% \end{quote}
%
% \pagebreak[3]
-% \captionsetup[bi-first]{lang=german}
-% \captionsetup[bi-second]{lang=english,font=it}
+% \bicaptionsetup{lang=german}{lang=english,font=it}
% \captionsetup[sub]{format=hang,list=on}
%
% \iffalse
@@ -1001,12 +1020,12 @@
% \fi
%
% \StopEventually{%^^A
-% \begin{thebibliography}{99}
+% \begin{thebibliography}{9}
%
% \bibitem{caption}
% Axel Sommerfeldt:\\
% \href{http://www.ctan.org/pkg/caption}%
-% {\emph{Customizing captions of floating environments}},\\
+% {\emph{Customising captions of floating environments}},\\
% 2022/01/07
%
% \bibitem{listings}
@@ -1027,6 +1046,11 @@
% {\emph{The subcaption package}},\\
% 2022/01/07
%
+% \bibitem{TLC2}
+% Frank Mittelbach and Michel Goossens:\\
+% \newblock {\em The {\LaTeX} Companion (2nd.~Ed.)},\\
+% \newblock Addison-Wesley, 2004.
+%
% \end{thebibliography}
% }
%
@@ -1127,7 +1151,7 @@
%
% Identify the current version of the package.
% \begin{macrocode}
-\ProvidesPackage{bicaption}[2021/05/02 v1.5b Bilingual Captions (AR)]
+\ProvidesPackage{bicaption}[2023/02/19 v1.6 Bilingual Captions (AR)]
% \end{macrocode}
%
% Since we base on the \package{caption} package we load it here.
@@ -1392,7 +1416,7 @@
% \end{macrocode}
% \begin{macrocode}
\ifcsname captionmainlanguage\endcsname
- \captionsetup[bi-first]{lang=\captionmainlanguage}%
+ \captionsetup*[bi-first]{lang=\captionmainlanguage}%
\else
\ifcsname bicaption@language@value\endcsname % option "lang=" was used
\expandafter\bicaption@Warning
@@ -1425,7 +1449,7 @@
% We use |\caption@Process|\-|Options| here to add the options to the `|bi-second|' option
% list instead of executing them immediately.
% \begin{macrocode}
-\caption@SetupOptions{bicaption}{\captionsetup[bi-second]{#2}}%
+\caption@SetupOptions{bicaption}{\captionsetup*[bi-second]{#2}}%
\caption@ProcessOptions*{bicaption}
% \end{macrocode}
%
@@ -1591,6 +1615,31 @@
% \pagebreak[3]
% \subsubsection{The \cs{bicaption} commands}
%
+% \begin{macro}{\bicaptionsetup}
+% \changes{v1.6}{2022/04/18}{This macro added}
+% |\bicaptionsetup*|\oarg{type}\marg{keyval-list of options 1}\marg{keyval-list of options 2}\\
+% applies the given list of options.
+% \begin{macrocode}
+\newcommand*\bicaptionsetup{%
+ \caption@teststar\@bicaptionsetup*{}}
+% \end{macrocode}
+% \begin{macrocode}
+\newcommand*\@bicaptionsetup[1]{%
+ \kernel@ifnextchar[%]
+ {\bicaption@setup@options{#1}}%
+ {\bicaption@setup*}}
+% \end{macrocode}
+% \begin{macrocode}
+\def\bicaption@setup@options#1[#2]{%
+ \bicaption@setup{#1[{#2}]}}
+% \end{macrocode}
+% \begin{macrocode}
+\newcommand*\bicaption@setup[2]{%
+ \captionsetup#1[bi-first]{#2}%
+ \captionsetup#1[bi-second]}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\bicaption}
% |\bicaption*|\oarg{list entry \#1}\marg{text \#1}\oarg{list entry \#2}\marg{text \#2}
% \begin{macrocode}
@@ -1649,9 +1698,9 @@
\long\def\@@@@bicaption#1#2[#3]#4{%
\bicaption@getlabel{#2}%
\bicaption@ifswap
- {\bicaption@setup{#1}{#2}%
+ {\bicaption@set{#1}{#2}%
\bicaption@cmd[{#3}]{#4}}%
- {\bicaption@setup{#3}{#4}%
+ {\bicaption@set{#3}{#4}%
\bicaption@cmd[{#1}]{#2}}}
% \end{macrocode}
% \begin{macrocode}
@@ -1744,12 +1793,13 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\bicaption@setup}
-% |\bicaption@setup|\marg{list-entry}\marg{text}\\
+% \begin{macro}{\bicaption@set}
+% \changes{v1.6}{2022/04/18}{This macro renamed from \cs{bicaption@setup} to \cs{bicaption@set}}
+% |\bicaption@set|\marg{list-entry}\marg{text}\\
% initiates the bilingual caption typesetting by storing the extra texts into
% |\bi|\-|caption@l|\-|entry| and |\bi|\-|caption@text|.
% \begin{macrocode}
-\newcommand\bicaption@setup[2]{%
+\newcommand\bicaption@set[2]{%
\def\bicaption@lentry{#1}%
\def\bicaption@text{\ignorespaces #2}}
% \end{macrocode}
@@ -1757,7 +1807,7 @@
%
% \begin{macro}{\bicaption@clear}
% |\bicaption@clear|\\
-% clears the stuff stored by |\bicaption@setup|.
+% clears the stuff stored by |\bicaption@set|.
% \begin{macrocode}
\newcommand*\bicaption@clear{%
\let\bicaption@lentry\@undefined
@@ -1767,6 +1817,7 @@
%
% \begin{macro}{\caption@freeze}
% \changes{v1.0}{2011/08/31}{Redefinition of \cs{caption@freeze} added}
+% \changes{v1.5c}{2022/04/18}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}}
% To make |\bicaption| work inside |SCfigure| and |FPfigure| environments we need to add
% |\bi|\-|caption| to |\caption@freeze|.
% \begin{macrocode}
@@ -1777,7 +1828,7 @@
\def\bicaption{%
\caption@withoptargs\caption@SC@bicaption}%
\long\def\caption@SC@bicaption#1#2{%
- \@ifnextchar[%]
+ \kernel@ifnextchar[%]
{\caption@SC@bi@caption{#1}{#2}}%
{\caption@SC@bi@caption@{#1}{#2}}}%
\long\def\caption@SC@bi@caption#1#2[#3]#4{%
@@ -1806,7 +1857,7 @@
\lst@Key{caption1}\relax{%
\lstKV@OptArg[{#1}]{#1}{%
\bicaption@ifswap
- {\bicaption@setup{##1}{##2}}%
+ {\bicaption@set{##1}{##2}}%
{\def\lst@@caption{##1}\def\lst@caption{##2}}}%
\let\lst@title\@empty}%
% \end{macrocode}
@@ -1815,7 +1866,7 @@
\lstKV@OptArg[{#1}]{#1}{%
\bicaption@ifswap
{\def\lst@@caption{##1}\def\lst@caption{##2}}%
- {\bicaption@setup{##1}{##2}}}%
+ {\bicaption@set{##1}{##2}}}%
\let\lst@title\@empty}%
% \end{macrocode}
% \begin{macrocode}
@@ -1856,8 +1907,8 @@
\bicaption@LT@setup}%
\gdef\bicaption@LT@setup{%
\bicaption@ifswap
- {\bicaption@setup{#1}{#2}}%
- {\bicaption@setup{#3}{#4}}}%
+ {\bicaption@set{#1}{#2}}%
+ {\bicaption@set{#3}{#4}}}%
\bicaption@ifswap
{\egroup\bicaption@cmd[{#3}]{#4}}%
{\egroup\bicaption@cmd[{#1}]{#2}}}
@@ -1888,25 +1939,6 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{thebibliography}{9}
-% \bibitem{TLC2}
-% Frank Mittelbach and Michel Goossens:\\
-% \newblock {\em The {\LaTeX} Companion (2nd.~Ed.)},\\
-% \newblock Addison-Wesley, 2004.
-%
-% \bibitem{listings}
-% Carsten Heinz \& Brooks Moses:\\
-% \href{http://www.ctan.org/pkg/listings}%
-% {\emph{The Listings Package}},\\
-% 2007/02/22
-%
-% \bibitem{longtable}
-% David Carlisle:\\
-% \href{http://www.ctan.org/pkg/longtable}%
-% {\emph{The longtable package}},\\
-% 2004/02/01
-% \end{thebibliography}
-%
% \iffalse
%</package>
% \fi
diff --git a/macros/latex/contrib/caption/bicaption.pdf b/macros/latex/contrib/caption/bicaption.pdf
index 4e6d3efaab..67a6ac65d7 100644
--- a/macros/latex/contrib/caption/bicaption.pdf
+++ b/macros/latex/contrib/caption/bicaption.pdf
Binary files differ
diff --git a/macros/latex/contrib/caption/caption-ams-smf.dtx b/macros/latex/contrib/caption/caption-ams-smf.dtx
index 6b3b19ced6..1009dd87c3 100644
--- a/macros/latex/contrib/caption/caption-ams-smf.dtx
+++ b/macros/latex/contrib/caption/caption-ams-smf.dtx
@@ -2,7 +2,7 @@
%
% This is file `caption-ams-smf.dtx'.
%
-% Copyright (C) 2007-2020 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
+% Copyright (C) 2007-2022 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
%
% --------------------------------------------------------------------------
%
@@ -36,7 +36,7 @@
% \iffalse
%<*driver>
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesFile{caption-ams-smf.drv}[2020/07/31 v2.0 Implementation of the caption-ams-smf package]
+\ProvidesFile{caption-ams-smf.drv}[2022/12/27 v2.0 Implementation of the caption-ams-smf package]
\hbadness=9999 \newcount\hbadness \hfuzz=100pt % Make TeX shut up.
%\errorcontextlines=3
%
@@ -105,8 +105,8 @@
% The user documentation can be found in
% \nopagebreak\begin{quote}
% \begin{tabular}{ll}
-% \href{http://mirror.ctan.org/macros/latex/contrib/caption/caption-eng.pdf}%
-% {\texttt{caption-eng.pdf}} & The caption package bundle documentation \\
+% \href{http://mirror.ctan.org/macros/latex/contrib/caption/caption.pdf}%
+% {\texttt{caption.pdf}} & The caption package documentation \\
% \end{tabular}
% \end{quote}
%
diff --git a/macros/latex/contrib/caption/caption-beamer.dtx b/macros/latex/contrib/caption/caption-beamer.dtx
index fdbfb57402..f18d12437b 100644
--- a/macros/latex/contrib/caption/caption-beamer.dtx
+++ b/macros/latex/contrib/caption/caption-beamer.dtx
@@ -36,7 +36,7 @@
% \iffalse
%<*driver>
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesFile{caption-beamer.drv}[2018/05/13 v2.0 Implementation of the caption-beamer package]
+\ProvidesFile{caption-beamer.drv}[2022/12/27 v2.0 Implementation of the caption-beamer package]
\hbadness=9999 \newcount\hbadness \hfuzz=100pt % Make TeX shut up.
%\errorcontextlines=3
%
@@ -100,8 +100,8 @@
% documentation can be found in
% \nopagebreak\begin{quote}
% \begin{tabular}{ll}
-% \href{http://mirror.ctan.org/macros/latex/contrib/caption/caption-eng.pdf}%
-% {\texttt{caption-eng.pdf}} & The caption package bundle documentation \\
+% \href{http://mirror.ctan.org/macros/latex/contrib/caption/caption.pdf}%
+% {\texttt{caption.pdf}} & The caption package documentation \\
% \end{tabular}
% \end{quote}
%
diff --git a/macros/latex/contrib/caption/caption-elsarticle.dtx b/macros/latex/contrib/caption/caption-elsarticle.dtx
index cb7733c9d7..fcd5f00636 100644
--- a/macros/latex/contrib/caption/caption-elsarticle.dtx
+++ b/macros/latex/contrib/caption/caption-elsarticle.dtx
@@ -2,7 +2,7 @@
%
% This is file `caption-elsarticle.dtx'.
%
-% Copyright (C) 2013-2020 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
+% Copyright (C) 2013-2022 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
%
% --------------------------------------------------------------------------
%
@@ -36,7 +36,7 @@
% \iffalse
%<*driver>
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesFile{caption-elsarticle.drv}[2018/05/24 v2.0 Implementation of the caption-elsarticle package]
+\ProvidesFile{caption-elsarticle.drv}[2022/12/27 v2.0 Implementation of the caption-elsarticle package]
\hbadness=9999 \newcount\hbadness \hfuzz=100pt % Make TeX shut up.
%\errorcontextlines=3
%
@@ -100,8 +100,8 @@
% documentation can be found in
% \nopagebreak\begin{quote}
% \begin{tabular}{ll}
-% \href{http://mirror.ctan.org/macros/latex/contrib/caption/caption-eng.pdf}%
-% {\texttt{caption-eng.pdf}} & The caption package bundle documentation \\
+% \href{http://mirror.ctan.org/macros/latex/contrib/caption/caption.pdf}%
+% {\texttt{caption.pdf}} & The caption package documentation \\
% \end{tabular}
% \end{quote}
%
diff --git a/macros/latex/contrib/caption/caption-koma.dtx b/macros/latex/contrib/caption/caption-koma.dtx
index c4daad26fa..1469e190dd 100644
--- a/macros/latex/contrib/caption/caption-koma.dtx
+++ b/macros/latex/contrib/caption/caption-koma.dtx
@@ -2,7 +2,7 @@
%
% This is file `caption-koma.dtx'.
%
-% Copyright (C) 2004-2020 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
+% Copyright (C) 2004-2022 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
%
% --------------------------------------------------------------------------
%
@@ -31,12 +31,12 @@
%
% \fi
%
-% \CheckSum{273}
+% \CheckSum{255}
%
% \iffalse
%<*driver>
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesFile{caption-koma.drv}[2018/05/24 v2.0 Implementation of the caption-koma package]
+\ProvidesFile{caption-koma.drv}[2022/12/27 v2.0 Implementation of the caption-koma package]
\hbadness=9999 \newcount\hbadness \hfuzz=100pt % Make TeX shut up.
%\errorcontextlines=3
%
@@ -73,7 +73,7 @@
% \newcommand*\purerm[1]{\texorpdfstring{{\upshape\mdseries\rmfamily #1}}{#1}}
% \newcommand*\puresf[1]{\texorpdfstring{{\upshape\mdseries\sffamily #1}}{#1}}
% \newcommand*\purett[1]{\texorpdfstring{{\upshape\mdseries\ttfamily #1}}{#1}}
-% \let\class\puresf \let\package\puresf
+% \let\cls\puresf \let\pkg\puresf
% \let\env\purett \let\opt\purett
%
% \newcommand*\csmarg[1]{\texttt{\char`\{#1\char`\}}}
@@ -86,7 +86,7 @@
% \GetFileInfo{caption-koma.sto}
%
% \title{\texorpdfstring
-% {The adaption of the \package{caption} package to the \KOMAScript\ document classes\thanks{%^^A
+% {The adaption of the \pkg{caption} package to the \KOMAScript\ document classes\thanks{%^^A
% This adaption has version number \docversion.}}%^^A
% {The adaption of the caption package to the KOMA-Script document classes}}
% \author{Axel Sommerfeldt\\
@@ -95,26 +95,34 @@
% \maketitle
%
% \begin{abstract}
-% This package adapts the \package{caption} package to the \KOMAScript\ document classes.
+% This package adapts the \pkg{caption} package to the \KOMAScript\ document classes.
% \end{abstract}
-%
+%
% \section*{User manual}
%
% This document is describing the code implementation only.
% The user documentation can be found in
% \nopagebreak\begin{quote}
% \begin{tabular}{ll}
-% \href{http://mirror.ctan.org/macros/latex/contrib/caption/caption-eng.pdf}%
-% {\texttt{caption-eng.pdf}} & The caption package bundle documentation \\
+% \href{http://mirror.ctan.org/macros/latex/contrib/caption/caption.pdf}%
+% {\texttt{caption.pdf}} & The caption package documentation \\
% \end{tabular}
% \end{quote}
%
+% \section*{State of this package}
+%
+% Please note that the last major revision of this code was done in the year 2007,
+% afterwards the \KOMAScript\ support was adapted to changes in the \pkg{caption} package only.
+%
+% So nearly everything which has changed in the caption support of \KOMAScript\ since 2007 is not reflected here.
+% (So for example |\set|\-|cap|\-|dyn|\-|width| is not emulated yet etc.)
+%
% \StopEventually{}
% \iffalse
% \clearpage
% \tableofcontents
% \fi
-%
+%
% \iffalse
% --------------------------------------------------------------------------- %
% \fi
@@ -177,7 +185,7 @@
% \changes{v1.1}{2007/03/17}{\KOMAScript\ compatibility options removed}
% \changes{v1.1}{2007/03/31}{\KOMAScript\ classes support added}
% \changes{v1.1}{2007/04/05}{\KOMAScript\ compatibility revised \& enhanced}
-% \changes{v2.0}{2020/07/27}{\KOMAScript\ class support adapted to \package{caption3}~\version{2.0}}
+% \changes{v2.0}{2020/07/27}{\KOMAScript\ class support adapted to \pkg{caption3}~\version{2.0}}
%
% \iffalse
% --------------------------------------------------------------------------- %
@@ -193,14 +201,14 @@
%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesFile{caption-koma.sto}[2020/09/21 v2.0b Adaption of the caption package to the KOMA-Script document classes (AR)]
+\ProvidesFile{caption-koma.sto}[2022/12/27 v2.0c Adaption of the caption package to the KOMA-Script document classes (AR)]
% \end{macrocode}
%
% \section{Margin resp. width}
%
% \begin{macro}{\setcapwidth}
% \changes{v1.9}{2018/12/26}{Bugfix: Missing curly braces added}
-% Patch |\setcapwidth| so it will set the \package{caption3} width setting, too.
+% Patch |\setcapwidth| so it will set the \pkg{caption3} width setting, too.
% \begin{macrocode}
\expandafter\let\expandafter\caption@koma@setcapwidth
\csname\string\setcapwidth\endcsname
@@ -239,7 +247,7 @@
% \emph{TODO:} |\setcapdynwidth|
%
% \begin{macro}{\setcapmargin}
-% Patch |\setcapmargin| so it will set the \package{caption3} margin setting, too.
+% Patch |\setcapmargin| so it will set the \pkg{caption3} margin setting, too.
% \begin{macrocode}
\expandafter\let\expandafter\caption@koma@setcapmargin
\csname\string\@setcapmargin\endcsname
@@ -281,7 +289,7 @@
% \section{Indentions}
%
% \begin{macro}{\setcapindent}
-% Patch |\setcapindent| so it will set the \package{caption3} indention setting, too.
+% Patch |\setcapindent| so it will set the \pkg{caption3} indention setting, too.
% \begin{macrocode}
\let\caption@koma@setcapindent\@setcapindent
\renewcommand*\@setcapindent[1]{%
@@ -304,49 +312,11 @@
\caption@ifdefined\cap@indent{\caption@setcapindent}{}
% \end{macrocode}
%
-% \changes{v1.0f}{2005/08/22}{Increased compatibility to KOMA-Script: A special version of options `parindent' and `parskip' added}
-% \changes{v1.0g}{2006/01/03}{Bugfix 06-01-03: KOMA-Script variants of `parskip' and `parindent' options revised and moved into caption kernel}
-% \changes{v1.0h}{2006/02/23}{KOMA-Script variants of `parskip' and `parindent' are obsolete now, removed}
-% \changes{v1.0m}{2007/03/30}{KOMA-Script variants of `parskip' and `parindent' re-added, since they still collide with the current version of the subfig package (Sigh!)}
-%
-% There is an option clash between the \KOMAScript\ document classes
-% and the \package{caption} kernel, both define the options |parindent| and
-% |parskip| but with different meaning.
-% Furthermore the ones defined by the \package{caption} kernel take a
-% value as parameter but the \KOMAScript\ ones do not.
-%
-% So we need special versions of the options |parindent| and |parskip| here
-% which determine if a value is given (and therefore should be treated as
-% our option) or not (and therefore should be ignored by us).\footnote{%^^A
-% This problem was completely solved due a change of \cs{caption@ProcessOptions}
-% in \package{caption3}~\version{1.0h}, but we still need this workaround since
-% these options would otherwise still collide with the current version $1.3$
-% of the \package{subfig} package (Sigh!)}
-%
-% \begin{macrocode}
-\let\caption@koma@parindent\KV@caption@parindent
-\DeclareCaptionOption{parindent}[]{%
- \ifx,#1,%
- \caption@Debug{Option `parindent' ignored}%
- \else
- \caption@koma@parindent{#1}%
- \fi}%
-% \end{macrocode}
-% \begin{macrocode}
-\let\caption@koma@parskip\KV@caption@parskip
-\DeclareCaptionOption{parskip}[]{%
- \ifx,#1,%
- \caption@Debug{Option `parskip' ignored}%
- \else
- \caption@koma@parskip{#1}%
- \fi}%
-% \end{macrocode}
-%
% \section{Single-line-check}
%
% \begin{macro}{\ifonelinecaptions}
% \changes{v1.1g}{2008/03/01}{\cs{def} changed to \cs{g@addto@macro}}
-% Patch |\onelinecaptionstrue| and |onelinecaptionsfalse| so they will set the corresponding \package{caption3} setting, too.
+% Patch |\onelinecaptionstrue| and |onelinecaptionsfalse| so they will set the corresponding \pkg{caption3} setting, too.
% \begin{macrocode}
\g@addto@macro\onelinecaptionstrue{\caption@setsinglelinecheck{true}}%
\g@addto@macro\onelinecaptionsfalse{\caption@setsinglelinecheck{false}}%
@@ -404,7 +374,7 @@
%
% \section{Positioning}
%
-% Here we patch the caption related \KOMAScript\ commands to set \package{caption} package settings as well.
+% Here we patch the caption related \KOMAScript\ commands to set \pkg{caption} package settings as well.
% Furthermore we take over the caption related settings from the \KOMAScript\ classes.
%
% \begin{macro}{\if@captionabove}
@@ -416,7 +386,7 @@
% \changes{v1.1k}{2009/10/09}{\opt{figureposition} and \opt{tableposition} will issue a warning now}
% \changes{v1.8e}{2019/09/11}{\opt{figureposition} and \opt{tableposition} will now set the position anyway since it could be used by other packages}
% \changes{v2.0a}{2020/09/12}{Faulty \cs{AtBeginCaption} replaced with correct \cs{AfterCaptionPackage}}
-% Patch |\@captionabovetrue| and |\@captionabovefalse| so they will set the \package{caption3} position setting, too.
+% Patch |\@captionabovetrue| and |\@captionabovefalse| so they will set the \pkg{caption3} position setting, too.
% Note that these are stronger than the \opt{position} setting, therefore we override the options
% \opt{figureposition} and \opt{tableposition} to typeout a warning.
% \begin{macrocode}
@@ -440,7 +410,7 @@
%
% \begin{macro}{\if@tablecaptionabove}
% \changes{v1.1g}{2008/03/01}{\cs{def} changed to \cs{g@addto@macro}}
-% Patch |\@tablecaptionabovetrue| and |\@tablecaptionabovefalse| so they will set the \package{caption3} position setting, too.
+% Patch |\@tablecaptionabovetrue| and |\@tablecaptionabovefalse| so they will set the \pkg{caption3} position setting, too.
% \begin{macrocode}
\g@addto@macro\@tablecaptionabovetrue{\captionsetup*[table]{position=t}}%
\g@addto@macro\@tablecaptionabovefalse{\captionsetup*[table]{position=b}}%
@@ -456,7 +426,7 @@
%
% \begin{macro}{\if@figurecaptionabove}
% \changes{v1.5}{2013/02/15}{Support of \cs{if@figurecaptionabove} added}
-% Patch |\@figurecaptionabovetrue| and |\@figurecaptionabovefalse| so they will set the \package{caption3} position setting, too.
+% Patch |\@figurecaptionabovetrue| and |\@figurecaptionabovefalse| so they will set the \pkg{caption3} position setting, too.
% \begin{macrocode}
\caption@ifdefined\@figurecaptionabovetrue{%
\g@addto@macro\@figurecaptionabovetrue{\captionsetup*[figure]{position=t}}%
@@ -471,7 +441,7 @@
% \end{macrocode}
% \end{macro}
%
-% Since the \KOMAScript\ position setting overwrites the one from the \package{caption} package,
+% Since the \KOMAScript\ position setting overwrites the one from the \pkg{caption} package,
% we re-define the options |figure|\-|position| and |table|\-|position| to issue a warning.
% \Note{But we set the value anyway since it will be used by sub-captions.}
%
@@ -498,7 +468,7 @@
% \begin{macro}{\scr@caption}
% \KOMAScript\ contains the code
% |\AtBeginDocument{\let\scr@caption\caption}|
-% so we need to update |\scr@caption| after the \package{caption} package has re-defined |\caption|.
+% so we need to update |\scr@caption| after the \pkg{caption} package has re-defined |\caption|.
% \begin{macrocode}
\AtBeginDocument{\let\scr@caption\caption}
% \end{macrocode}
diff --git a/macros/latex/contrib/caption/caption-memoir.dtx b/macros/latex/contrib/caption/caption-memoir.dtx
index 4e341cb42c..e25c44b210 100644
--- a/macros/latex/contrib/caption/caption-memoir.dtx
+++ b/macros/latex/contrib/caption/caption-memoir.dtx
@@ -2,7 +2,7 @@
%
% This is file `caption-memoir.dtx'.
%
-% Copyright (C) 2011-2020 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
+% Copyright (C) 2011-2022 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
%
% --------------------------------------------------------------------------
%
@@ -36,7 +36,7 @@
% \iffalse
%<*driver>
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesFile{caption-memoir.drv}[2020/10/10 v2.2 Implementation of the caption-memoir package]
+\ProvidesFile{caption-memoir.drv}[2022/12/27 v2.2 Implementation of the caption-memoir package]
\hbadness=9999 \newcount\hbadness \hfuzz=100pt % Make TeX shut up.
%\errorcontextlines=3
%
@@ -100,8 +100,8 @@
% The user documentation can be found in
% \nopagebreak\begin{quote}
% \begin{tabular}{ll}
-% \href{http://mirror.ctan.org/macros/latex/contrib/caption/caption-eng.pdf}%
-% {\texttt{caption-eng.pdf}} & The caption package bundle documentation \\
+% \href{http://mirror.ctan.org/macros/latex/contrib/caption/caption.pdf}%
+% {\texttt{caption.pdf}} & The caption package documentation \\
% \end{tabular}
% \end{quote}
%
diff --git a/macros/latex/contrib/caption/caption-ntg.dtx b/macros/latex/contrib/caption/caption-ntg.dtx
index 782d576a8f..f32a3f2c4c 100644
--- a/macros/latex/contrib/caption/caption-ntg.dtx
+++ b/macros/latex/contrib/caption/caption-ntg.dtx
@@ -2,7 +2,7 @@
%
% This is file `caption-ntg.dtx'.
%
-% Copyright (C) 2007-2020 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
+% Copyright (C) 2007-2022 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
%
% --------------------------------------------------------------------------
%
@@ -36,7 +36,7 @@
% \iffalse
%<*driver>
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesFile{caption-ntg.drv}[2020/08/01 v2.0 Implementation of the caption-ntg package]
+\ProvidesFile{caption-ntg.drv}[2022/12/27 v2.0 Implementation of the caption-ntg package]
\hbadness=9999 \newcount\hbadness \hfuzz=100pt % Make TeX shut up.
%\errorcontextlines=3
%
@@ -102,8 +102,8 @@
% The user documentation can be found in
% \nopagebreak\begin{quote}
% \begin{tabular}{ll}
-% \href{http://mirror.ctan.org/macros/latex/contrib/caption/caption-eng.pdf}%
-% {\texttt{caption-eng.pdf}} & The caption package bundle documentation \\
+% \href{http://mirror.ctan.org/macros/latex/contrib/caption/caption.pdf}%
+% {\texttt{caption.pdf}} & The caption package documentation \\
% \end{tabular}
% \end{quote}
%
diff --git a/macros/latex/contrib/caption/caption-thesis.dtx b/macros/latex/contrib/caption/caption-thesis.dtx
index e91145a307..dbc094f66a 100644
--- a/macros/latex/contrib/caption/caption-thesis.dtx
+++ b/macros/latex/contrib/caption/caption-thesis.dtx
@@ -2,7 +2,7 @@
%
% This is file `caption-thesis.dtx'.
%
-% Copyright (C) 2008-2020 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
+% Copyright (C) 2008-2022 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
%
% --------------------------------------------------------------------------
%
@@ -36,7 +36,7 @@
% \iffalse
%<*driver>
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesFile{caption-thesis.drv}[2020/08/01 v2.0 Implementation of the caption-thesis package]
+\ProvidesFile{caption-thesis.drv}[2022/12/27 v2.0 Implementation of the caption-thesis package]
\hbadness=9999 \newcount\hbadness \hfuzz=100pt % Make TeX shut up.
%\errorcontextlines=3
%
@@ -100,8 +100,8 @@
% The user documentation can be found in
% \nopagebreak\begin{quote}
% \begin{tabular}{ll}
-% \href{http://mirror.ctan.org/macros/latex/contrib/caption/caption-eng.pdf}%
-% {\texttt{caption-eng.pdf}} & The caption package bundle documentation \\
+% \href{http://mirror.ctan.org/macros/latex/contrib/caption/caption.pdf}%
+% {\texttt{caption.pdf}} & The caption package documentation \\
% \end{tabular}
% \end{quote}
%
diff --git a/macros/latex/contrib/caption/caption.dtx b/macros/latex/contrib/caption/caption.dtx
index 14392efea8..44730c1912 100644
--- a/macros/latex/contrib/caption/caption.dtx
+++ b/macros/latex/contrib/caption/caption.dtx
@@ -2,7 +2,7 @@
%
% This is file `caption.dtx'.
%
-% Copyright (C) 1994-2022 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
+% Copyright (C) 1994-2023 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
%
% --------------------------------------------------------------------------
%
@@ -31,7 +31,7 @@
%
% \fi
%
-% \CheckSum{2836}
+% \CheckSum{2920}
%
% \iffalse
%<*driver>
@@ -4307,7 +4307,6 @@
% \hline
% |\caption@kernel@addcontentsline| & \package{floatrow} \\
% |\caption@settype| & \package{newfloat} \\
-% |\caption@setsubtype| & \package{floatrow} \\
% |\caption@xlabel| & \package{cleveref} \\
% \end{tabular}\end{quote}
%
@@ -4593,14 +4592,14 @@
%
% Identify the current version of the package.
% \begin{macrocode}
-\ProvidesPackage{caption}[2022/03/01 v3.6b Customizing captions (AR)]
+\ProvidesPackage{caption}[2023/03/12 v3.6j Customizing captions (AR)]
% \end{macrocode}
%
% \subsection{Loading the kernel}
%
% Load a matching version of the \package{caption} kernel.
% \begin{macrocode}
-\RequirePackage{caption3}[2022/01/07] % needs v2.3 or newer
+\RequirePackage{caption3}[2022/04/06] % needs v2.4 or newer
% \end{macrocode}
%
% \subsection{Check against unknown document classes}
@@ -4714,6 +4713,7 @@
% \changes{v3.1d}{2007/10/24}{Bugfix 07-10-24 in caption v1.x$ compatibility options}
% \changes{v3.5a}{2020/09/02}{caption v1.x compatibility options fixed}
% \changes{v3.6}{2020/12/22}{Option `compatibility' adapted to fallback concept}
+% \changes{v3.6h}{2022/07/03}{Command \cs{caption@ifcompatibility} re-added}
%
% We only support boolean values for the |compatibility=| option
% since these were the only one which were documented in the past.
@@ -4726,10 +4726,12 @@
please use either \string\usepackage{caption}[=v1]\MessageBreak
or \string\usepackage{caption-light} instead}%
}{\caption@ifinlist{#1}{0,false,no,off}{%
- % nothing to do
+ \let\caption@ifcompatibility\@secondoftwo % not used; for backward compatibility only
}{%
\caption@Error{Undefined compatibility value `#1'}%
}}}
+\@onlypreamble@key{caption}{compatibility}
+\caption@setbool{compatibility}{0} % default: Try not to be compatible to v1.x
% \end{macrocode}
%
% \subsubsection{caption v1.x compatibility options}
@@ -5245,6 +5247,7 @@
\def\caption@xfloat#1[#2]{%
\caption@ORI@xfloat{#1}[#2]%
\caption@settype{#1}%
+ \caption@setanchor
\caption@xfloat@hook}
% \end{macrocode}
% Hook, could be extended with |\g@addto@macro\caption@x|\-|float@hook{|\ldots|}|.
@@ -5300,100 +5303,77 @@
%
% \begin{macro}{\setcaptiontype}
% \changes{v3.2}{2010/10/24}{This macro added}
-% \changes{v3.4e}{2020/01/02}{Check added if the subtype is defined}
% \changes{v3.5}{2020/08/24}{Definition method adapted to the \package{caption-light} package}
-% \changes{v3.6}{2021/01/02}{Usage of \cs{caption@initposition} added}
-% \changes{v3.6}{2021/01/09}{Usage of \cs{flushsubcaptionlistentries} added}
% \changes{v3.6}{2022/02/20}{Optional argument added}
-% Like |\captionsetup{type=xxx}|, but also works if |\caption|\-|setup| was redefined.
+% \changes{v3.6e}{2022/04/17}{Re-written, task sequence corrected}
+% \changes{v3.6f}{2022/04/18}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}}
+% |\setcaptiontype*|\oarg{additional options}\marg{type}\\
+% Like |\captionsetup{type=|\meta{type}|}|, but also works if |\caption|\-|setup| was redefined.
+% The non-starred version sets a \package{hyperref} anchor additionally
+% (if |hypcap=|\-|true| and the \package{hypcap} package is not loaded).
% \begin{macrocode}
\def\setcaptiontype{%
- \caption@parboxrestore@light
- \caption@settype}
-% \end{macrocode}
-% \begin{macrocode}
-\newcommand*\caption@settype{%
- \caption@initposition
- \caption@clrflags
- \aftergroup\flushsubcaptionlistentries
- \caption@@settype}
+ \caption@teststar\@setcaptiontype\@gobble\@iden}
% \end{macrocode}
% \begin{macrocode}
-\newcommand*\caption@@settype{%
- \caption@teststar\caption@@settype@\@firstoftwo\@secondoftwo}
-% \end{macrocode}
-% \begin{macrocode}
-\newcommand*\caption@@settype@[1]{%
- \@ifnextchar[%]
- {\caption@@settype@@{#1}}%
- {\caption@@@settype{}{#1}}}
-% \end{macrocode}
-% \begin{macrocode}
-\def\caption@@settype@@#1[#2]#3{%
- \caption@@@settype{}{#1}{#3}%
- \caption@setoptions{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\setcaptionsubtype}
-% \changes{v3.2a}{2011/08/15}{This macro added}
-% \changes{v3.5d}{2020/09/28}{This macro revised}
-% \changes{v3.6}{2022/01/05}{Usage of \cs{caption@Error} replaced by \cs{caption@OutsideFloat}}
-% \changes{v3.6}{2022/01/07}{Multiple use is suppressed now by checking \cs{caption@ifsubtype}}
-% Same, but sets the sub-type.
-% \begin{macrocode}
-\newcommand*\setcaptionsubtype{%
- \caption@setsubtype}
+\newcommand*\@setcaptiontype[1]{%
+ \kernel@ifnextchar[%]
+ {\@setcaptiontype@#1}%
+ {\@@setcaptiontype#1\relax}}
% \end{macrocode}
% \begin{macrocode}
-\newcommand*\caption@setsubtype{% used by the floatrow package
- \caption@teststar\caption@@setsubtype\@firstoftwo\@secondoftwo}
+\def\@setcaptiontype@#1[#2]{%
+ \@@setcaptiontype{#1}{\caption@setoptions{#2}}}
% \end{macrocode}
% \begin{macrocode}
-\newcommand*\caption@@setsubtype[1]{%
- \caption@iftype
- {\caption@ifsubtype
- {\caption@Debug{subtype=\@subcaptype}}%
- {\caption@@@settype{sub}{#1}{sub\@captype}}}%
- {\caption@OutsideFloat\setcaptionsubtype}}
+\newcommand*\@@setcaptiontype[3]{%
+ \caption@settype{#3}#2%
+ \caption@parboxrestore@light
+ #1\caption@setanchor}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\caption@@@settype}
+% \begin{macro}{\caption@settype}
% \changes{v3.1}{2007/05/09}{This macro added}
% \changes{v3.1b}{2007/09/22}{Usage of \cs{caption@xlabel} added}
% \changes{v3.1d}{2007/10/23}{Error message for \cs{caption@checkgrouplevel} revised}
-% \changes{v3.1f}{2007/11/16}{\cs{caption@setsubtype} added}
% \changes{v3.1f}{2007/12/03}{Crappy \cs{caption@iftypewarning} replaced}
% \changes{v3.1g}{2008/01/12}{Usage of \cs{ifcaptionsetup@star} added}
% \changes{v3.2}{2010/10/26}{Error message moved from here to \cs{caption@refstepcounter}}
% \changes{v3.3}{2011/12/28}{Resetting of \cs{ifcaption@caption} and \cs{ifcaption@subcaption} added}
% \changes{v3.4e}{2020/01/02}{Checks added to prevent misuse regading subtypes}
+% \changes{v3.4e}{2020/01/02}{Check added if the subtype is defined}
% \changes{v3.5d}{2020/09/28}{This macro revised}
% \changes{v3.6}{2020/12/27}{Some code out-sourced to \cs{caption@reset@currentlabel}}
-% |\caption@settype*|\marg{type}\par
+% \changes{v3.6}{2021/01/02}{Usage of \cs{caption@initposition} added}
+% \changes{v3.6}{2021/01/09}{Usage of \cs{flushsubcaptionlistentries} added}
+% \changes{v3.6e}{2022/04/17}{Starred variant and optional argument removed}
+% \changes{v3.6g}{2022/04/18}{Usage of \cs{ifcaptionsetup@star} removed}
+% |\caption@settype|\marg{type}\\
% sets |\@captype| and executes the options associated with it
% (using |\caption@set|\-|options|).
% Furthermore we check |\current|\-|group|\-|level| (if avail), and
% use the macro |\caption@|(|sub|)|type|\-|hook| (which will be used by our
% \package{float} package support).\par
-% The non-starred version sets a \package{hyperref} anchor additionally
-% (if |hypcap=|\-|true| and the \package{hypcap} package is not loaded).
% \begin{macrocode}
-\newcommand*\caption@@@settype[3]{%
+\newcommand*\caption@settype{%
+ \caption@initposition
+ \caption@clrflags
+ \aftergroup\flushsubcaptionlistentries
+ \caption@@settype{}}
+% \end{macrocode}
+% \begin{macrocode}
+\newcommand*\caption@@settype[2]{%
% #1 = "" or "sub"
-% #2 = \@firstoftwo in star form, \@secondoftwo otherwise
-% #3 = <type>, e.g.: "figure" or "subfigure"
- \caption@Debug{#1type:=#3}%
- \@nameuse{caption@check#1type}{#3}%
- {\caption@checkgrouplevel{#1}{%
- \captionsetup{#1type#2*\@empty=...}#2{ or
- \@backslashchar#1captionof}{}}%
+% #2 = <type>, e.g.: "figure" or "subfigure"
+ \caption@Debug{#1type:=#2}%
+ \@nameuse{caption@check#1type}{#2}%
+ {\caption@checkgrouplevel{#1}{\setcaption#1type}%
% \end{macrocode}
% \begin{macrocode}
- \edef\caption@tempa{#3}%
+ \edef\caption@tempa{#2}%
\expandafter\ifx\csname @#1captype\endcsname\caption@tempa \else
- \ifcaptionsetup@star\else\@nameuse{caption@#1type@warning}\fi
+ \@nameuse{caption@#1type@warning}%
\fi
\expandafter\let\csname @#1captype\endcsname\caption@tempa
% \end{macrocode}
@@ -5401,17 +5381,40 @@
\@nameuse{caption@#1typehook}%
% \end{macrocode}
% \begin{macrocode}
- \caption@setoptions{#3}%
+ \caption@setoptions{#2}%
\ifx\caption@opt\relax
\@nameundef{caption@#1type@warning}%
\else
\@namedef{caption@#1type@warning}{\caption@Warning{%
The #1type was already set to
`\csname @#1captype\endcsname'\MessageBreak}}%
- \fi
+ \fi}}
% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setcaptionsubtype}
+% \changes{v3.2a}{2011/08/15}{This macro added}
+% \changes{v3.5d}{2020/09/28}{This macro revised}
+% \changes{v3.6}{2022/01/05}{Usage of \cs{caption@Error} replaced by \cs{caption@OutsideFloat}}
+% \changes{v3.6}{2022/01/07}{Multiple use is suppressed now by checking \cs{caption@ifsubtype}}
+% \changes{v3.6e}{2022/04/17}{Re-written}
+% |\setcaptionsubtype*|\\
+% Like |\captionsetup{subtype}|, but also works if |\caption|\-|setup| was redefined.
+% Sets |\@sub|\-|cap|\-|type| and executes the options associated with it.
+% The non-starred version sets a \package{hyperref} anchor additionally
+% (if |hypcap=|\-|true| and the \package{hypcap} package is not loaded).
% \begin{macrocode}
- #2{}{\caption@reset@currentlabel\caption@start}}}
+\newcommand*\setcaptionsubtype{%
+ \caption@teststar\@setcaptionsubtype\@gobble\@iden}
+% \end{macrocode}
+% \begin{macrocode}
+\newcommand*\@setcaptionsubtype[1]{%
+ \caption@iftype
+ {\caption@ifsubtype
+ {\caption@Debug{type=\@captype, subtype=\@subcaptype}}%
+ {\caption@@settype{sub}{sub\@captype}%
+ #1\caption@setanchor}}%
+ {\caption@OutsideFloat\setcaptionsubtype}}
% \end{macrocode}
% \end{macro}
%
@@ -5429,6 +5432,17 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\caption@setanchor}
+% \changes{v3.6e}{2022/04/17}{Code extracted from \cs{caption@settype}}
+% |\caption@setanchor|\\
+% sets a \pkg{hyperref} anchor.
+% \begin{macrocode}
+\newcommand*\caption@setanchor{%
+ \caption@reset@currentlabel
+ \caption@start}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\caption@reset@currentlabel}
% \changes{v3.6}{2020/12/27}{This macro out-sourced from \cs{caption@settype}}
% Redefine |\@currentlabel| so a |\label| before |\caption| will result
@@ -5481,26 +5495,20 @@
% \begin{macro}{\caption@checksubtype}
% \changes{v3.4g}{2020/01/02}{This macro definition added}
% \changes{v3.4m}{2020/07/29}{Check of \cs{sf@counterlist} from \package{subfig} package added}
+% \changes{v3.6c}{2022/04/06}{Check of \cs{sf@counterlist} from \package{subfig} package removed}
+% \changes{v3.6c}{2022/04/06}{Usage of \cs{caption@subtypesource} added}
% |\caption@checksubtype|\marg{type}\marg{code}\par
% is used by |\caption@settype| and should either expand the code or issue an error
% if the given type is not a proper sub-type, i.e. not defined by |\Declare|\-|Caption|\-|Sub|\-|Type|.
-% Since the |sub|\-|float|\-|row| environment offered by the \package{floatrow} package\cite{floatrow}
-% is using |\caption|\-|setup{sub|\-|type}| even if the sub-type was defined by |\new|\-|sub|\-|float|
-% offered by \package{subfig}\cite{subfig}, we take a more relaxed view of things here and allow
-% those sub-types as well (but not without warning since we do not support this).
% \begin{macrocode}
\newcommand*\caption@checksubtype[1]{%
\caption@ifdefined@subtype{#1}%
\@firstofone
- {\caption@ifin@list\sf@counterlist{#1}%
- {\caption@Warning{%
- \noexpand\setcaptionsubtype without \string\DeclareCaptionSubType.\MessageBreak
- This is not designed to work; you could try replacing\MessageBreak
- the `subfig' package with `subcaption' to resolve\MessageBreak
- this problem which occurred}%
- \@firstofone}%
- {\caption@Error{Undefined subtype `#1'}%
- \@gobble}}}
+ {\@ifundefined{c@#1}%
+ {\caption@Error{Undefined counter `#1'}}%
+ {\caption@subtypesource\caption@subtype@source{#1}%
+ \caption@Error{The counter `#1' was defined by\MessageBreak\caption@subtype@source}}%
+ \@gobble}}
% \end{macrocode}
% \end{macro}
%
@@ -5625,6 +5633,7 @@
% \changes{v3.1l}{2010/01/09}{Adapted to current version of nameref package}
% \changes{v3.6}{2020/12/27}{With optional argument \cs{caption@refstepcounter@} is used instead of \cs{caption@refstepcounter}}
% \changes{v3.6}{2022/01/05}{Usage of \cs{caption@Error} replaced by \cs{caption@OutsideFloat}}
+% \changes{v3.6f}{2022/04/18}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}}
% |\captionlistentry|\oarg{float type}\marg{list entry}\\
% |\captionlistentry*|\oarg{float type}\marg{list entry}
% \begin{macrocode}
@@ -5633,7 +5642,7 @@
% \end{macrocode}
% \begin{macrocode}
\newcommand*\caption@listentry[1]{%
- \@ifnextchar[%]
+ \kernel@ifnextchar[%]
{\caption@listentry@{#1}}%
{\caption@@listentry{#1}}}
% \end{macrocode}
@@ -6142,15 +6151,11 @@
%
% \begin{macro}{\caption@dblarg}
% \changes{v3.1}{2007/02/05}{This macro added}
-% \changes{v3.1f}{2007/12/06}{Bugfix 07-12-06: Changed so it works without \cs{kernel@ifnextchar} (which was introduced in \LaTeXe\ 2004/01/23), too}
% \changes{v3.3}{2012/03/25}{Support of option \opt{list-entry} added}
% A |\relax| was added compared to |\@dblarg| so |\caption{}| will be
% expanded to |\caption[\relax]{}| (and not to |\caption[]{}|).
% Furthermore support for option \opt{list-entry} was added.
% \begin{macrocode}
-\@ifundefined{kernel@ifnextchar}{\let\kernel@ifnextchar\@ifnextchar}{}
-% \end{macrocode}
-% \begin{macrocode}
\newcommand\caption@dblarg[1]{%
\kernel@ifnextchar[%]
{\caption@ydblarg{#1}}%
@@ -6302,6 +6307,7 @@
% \changes{v3.4f}{2020/01/03}{Redefinition of \cs{@caption} added since it was redefined by the \env{threeparttable} environment}
% \changes{v3.5}{2020/07/27}{Adapted to \package{caption3} v2.0}
% \changes{v3.6}{2020/09/20}{Handling of flags out-sourced to \cs{caption@stepcounter}}
+% \changes{v3.6d}{2022/04/17}{Usage of \cs{if@subfloatrow} removed in favour of a re-definition of \env{subfloatrow*}}
% Hook, will be used inside \cs{caption@setsubtype}.\par
% (Note: If we are inside an |sub|\-|float|\-|row| environment we have to keep
% the |\@make|\-|caption| code of the \package{floatrow} package intact.)
@@ -6329,14 +6335,8 @@
% \end{macrocode}
% \begin{macrocode}
% redefine \setcaptiontype
- \def\caption@settype{\caption@withoptargs\caption@sub@settype}%
- \def\caption@sub@settype##1##2{%
- \edef\caption@tempa{##2}%
- \ifx\caption@tempa\@captype
-%%% \caption@setsubtype##1\relax
- \else
- \caption@Error{##2 inside \@subcaptype}%
- \fi}%
+ \renewcommand*\caption@settype[1]{%
+ \caption@Error{##1 inside \@subcaptype}}%
% \end{macrocode}
% \begin{macrocode}
% redefine \caption
@@ -6350,32 +6350,11 @@
% \end{macrocode}
% \begin{macrocode}
% restore \@makecaption
- \if@subfloatrow
- \caption@Debug{Keeping \string\@makecaption}%
- \else
- \let\@makecaption\caption@makecaption
- \fi
+ \let\@makecaption\caption@makecaption
\fi}%
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\if@subfloatrow}
-% \changes{v3.2c}{2011/09/30}{This macro added}
-% This macro tests if we are inside an |sub|\-|float|\-|row| or |sub|\-|float|\-|row*| environment.
-% \begin{macrocode}
-\caption@AtBeginDocument{%
- \caption@ifundefined\@subfloatrowtrue
- {\newif\if@subfloatrow
- \caption@ifundefined\subfloatrow
- {}%
- {\caption@Debug{Patching subfloatrow environment}%
- \g@addto@macro\capsubrowsettings{\@subfloatrowtrue}%
- \g@addto@macro\killfloatstyle{%
- \ifx\c@FRobj\c@FRsobj\@subfloatrowtrue\fi}}}%
- {\caption@Debug{\string\if@subfloatrow is already defined}}}%
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\caption@subcaption}
% Makes a sub-caption.
% \begin{macrocode}
@@ -6646,7 +6625,7 @@
% Used by the \package{fltpage} \& \package{sidecap} package support.
% \begin{macrocode}
\newcommand*\caption@freezetype[1]{%
- \caption@settype*{#1}%
+ \caption@settype{#1}%
\captionsetup*[sub]{hypcap=true}% Note: This is just a (q&d) workaround!
\caption@freeze}%
% \end{macrocode}
@@ -6735,7 +6714,7 @@
% Prevent resetting the caption flags
% \begin{macrocode}
\newcommand*\caption@prepare@defrost{%
- \let\caption@settype\caption@@settype}
+ \def\caption@settype{\caption@@settype{}}}
% \end{macrocode}
% \end{macro}
%
@@ -6776,48 +6755,46 @@
\caption@IfPackageLoaded{changepage}[2008/07/23 memoir-v3.7k]{%
% \end{macrocode}
%
+% \begin{macro}{\caption@patch@adjustwidth}
+% \changes{v3.4k}{2020/05/30}{This macro definition added}
+% \changes{v3.6j}{2023/03/12}{\cs{ignorespaces} added to environment re-definition}
% Both environments, \env{adjustwidth} and \env{adjustwidth*}, are starting a \env{list} \cs{item}.
% But \cs{hsize} isn't set properly inside a \env{list} item, and therefore \cs{@makecaption}
% (offered by document classes) doesn't work properly when used inside \env{adjustwidth}.
-% Therefore we try to detect the situation ``Are we inside a adjustwidth environment?''
+% Therefore we try to detect the situation ``Are we inside a \env{adjustwidth} environment?''
% inside \cs{@makecaption} and fix this. (Sigh!)
+% \begin{macrocode}
+ \providecommand*\caption@patch@adjustwidth[1]{%
+ \expandafter\let\csname caption@#1\expandafter\endcsname\csname #1\endcsname
+ \expandafter\renewcommand\csname #1\endcsname[2]{%
+ \@nameuse{caption@#1}{##1}{##2}%
+ \caption@set@adjustwidth
+ \ignorespaces}}%
+ \caption@patch@adjustwidth{adjustwidth}%
+ \caption@patch@adjustwidth{adjustwidth*}%
+ \let\caption@patch@adjustwidth\relax
+% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\caption@set@adjustwidth}
+% \changes{v3.4k}{2020/05/30}{This macro definition added}
+% \changes{v3.5h}{2022/03/01}{Usage of \cs{AtBeginCaption} replaced by \cs{l@addto@macro}\cs{caption@beginex@hook}}
% We cannot simply set and test a flag here since our adjustment to \cs{hsize} should
-% not be done within a \cs{parbox} within a adjustwidth environment for example,
+% not be done within a \cs{parbox} within a \env{adjustwidth} environment for example,
% and therefore we store \cs{hsize} and \cs{linewidth}, and test \cs{hsize} and \cs{linewidth}
% against the stored values instead. If they are equal we are (hopefully) quite save
% to assume that we are now inside a plain \env{adjustwidth} environment and therefore need
% to fix \cs{hsize} before typesetting the caption. (Deep sigh!)
-%
-% \begin{macro}{\caption@adjustwidth@hsize}
-% \begin{macro}{\caption@adjustwidth@linewidth}
% \begin{macrocode}
\newdimen\caption@adjustwidth@hsize
\newdimen\caption@adjustwidth@linewidth
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\caption@set@adjustwidth}
-% \changes{v3.4k}{2020/05/30}{This macro definition added}
-% \changes{v3.5h}{2022/03/01}{Usage of \cs{AtBeginCaption} replaced by \cs{l@addto@macro}\cs{caption@beginex@hook}}
-% Store the values of \cs{hsize} and \cs{linewidth}.
% \begin{macrocode}
\providecommand*\caption@set@adjustwidth{%
\caption@adjustwidth@hsize\hsize
\caption@adjustwidth@linewidth\linewidth
\l@addto@macro\caption@beginex@hook\caption@test@adjustwidth}%
% \end{macrocode}
-% \begin{macrocode}
- \providecommand*\caption@patch@changepage[1]{%
- \expandafter\let\csname caption@#1\expandafter\endcsname\csname #1\endcsname
- \expandafter\renewcommand\csname #1\endcsname[2]{%
- \@nameuse{caption@#1}{##1}{##2}%
- \caption@set@adjustwidth}}%
- \caption@patch@changepage{adjustwidth}%
- \caption@patch@changepage{adjustwidth*}%
- \let\caption@patch@changepage\relax
-% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\caption@test@adjustwidth}
@@ -6977,30 +6954,42 @@
% \begin{macro}{\caption@float@setname}
% \changes{v3.1}{2007/07/08}{float package hook added}
% \changes{v3.4b}{2019/12/16}{Renamed from \cs{caption@typehook} to \cs{caption@float@setname}}
+% \changes{v3.6i}{2023/02/19}{Uses \cs{def} instead of \cs{let} now}
% \LaTeX\ and almost every other packages use
% |\|\meta{type}|name|
% to provide a macro for the type resp.~environment name -- for example
-% the command |\figurename| will usually contain the name of the floating
+% the command |\figure|\-|name| will usually contain the name of the floating
% environment |figure|:
% \begin{quote}
% |\newcommand\figurename{Figure}|
% \end{quote}
% But the \package{float} package doesn't follow this common naming
% convention:
-% For floats defined with |\newfloat| it uses |\fname@|\meta{type} instead,
-% which breaks with our code (and with |\autoref| and some other things as
+% For floats defined with |\new|\-|float| it uses |\fname@|\meta{type} instead,
+% which breaks with our code (and with |\auto|\-|ref| and some other things as
% well).
% So we have to map the \package{float} package name to the common one here.\par
% \Note{If the float was not defined with \cs{newfloat} but with
% \cs{restylefloat} instead, \cs{fname@}\meta{type} is not defined.}
% \begin{macrocode}
\newcommand*\caption@float@setname[1]{%
- \expandafter\ifx\csname #1name\endcsname\relax
- \expandafter\let\csname #1name\expandafter\endcsname\csname fname@#1\endcsname
+ \expandafter\ifx\csname #1name\endcsname\relax % either undefined or \relax
+ \@namedef{#1name}{\@nameuse{fname@#1}}%
\fi}%
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\caption@setname}
+% \changes{v3.6i}{2023/02/19}{Re-definition of \cs{caption@setname} added to \pkg{float} package support}
+% Same problem as in |\caption@float@set|\-|name|, but other direction:
+% If the option |name=| is used, we should set |\fname@|\meta{type}, too.
+% \begin{macrocode}
+ \renewcommand*\caption@setname[2]{%
+ \@ifundefined{fname@#1}{}{\caption@ifdefined\floatname\floatname\@gobbletwo{#1}{#2}}%
+ \@namedef{#1name}{#2}}%
+% \end{macrocode}
+% \end{macro}
+%
% \changes{v3.0f}{2005/06/26}{Skips of \env{plaintop} and \env{boxed} floats corrected}
% \begin{macro}{\fs@plaintop}
% \begin{macro}{\fs@boxed}
@@ -7138,10 +7127,73 @@
\newcommand*\caption@floatflt[1]{%
\caption@settype{#1}%
\caption@clearmargin
- \caption@setoptions{floating#1}}%
+ \caption@setoptions{floating#1}%
+ \caption@setanchor}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+}{}
+% \end{macrocode}
+%
+% \subsubsection{The floatrow package}
+%
+% \begin{macrocode}
+\caption@IfPackageLoaded{floatrow}[2008/08/02 v0.3b]{%
+% \end{macrocode}
+%
+% \begin{macro}{\captionlabel}
+% \changes{v3.6e}{2022/04/17}{This macro re-definition added}
+% The original definition of |\caption|\-|label| uses the internal macro
+% |\caption@set|\-|sub|\-|type| which does not exist anymore and needs to
+% be replaced by |\set|\-|caption|\-|sub|\-|type|.
+% \begin{macrocode}
+ \renewcommand\captionlabel[1]{{\def\FR@tmp{\@captype}\ifnum\floatbox@depth>\@ne
+ \def\FR@tmp{sub\@captype}\setcaptionsubtype*\stepcounter{\FR@tmp}\fi
+ \caption@@@make{\caption@fnum\FR@tmp}{#1}}}
% \end{macrocode}
% \end{macro}
%
+% \begin{environment}{subfloatrow}
+% \changes{v3.6d}{2022/04/17}{This environment re-definition added}
+% The original definition of the environment |sub|\-|float|\-|row|
+% uses |\caption|\-|setup{sub|\-|type}| to switch caption commands
+% like |\caption| to their counterparts offered by the \pkg{subcaption}
+% package.
+% Since \pkg{caption} \version{3.6} this does not work in coorparation
+% with the \pkg{subfig} package anymore, and therefore we replace it
+% with a hook which could be filled by the \pkg{subcaption} package.
+% \begin{macrocode}
+ \renewenvironment{subfloatrow}{\capsubrowsettings
+ \caption@subfloatrow@hook % as replacement for \captionsetup{subtype}
+ \@nameuse{subfloatrow*}}{\@nameuse{endsubfloatrow*}}
+% \end{macrocode}
+% \begin{macrocode}
+ \providecommand*\caption@subfloatrow@hook{}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{subfloatrow*}
+% \changes{v3.6d}{2022/04/17}{This environment re-definition added}
+% Some packages (like the \pkg{float} and \pkg{floatrow} package) re-define
+% |\@make|\-|caption| for special handling of the main caption.
+% Since this usually does not work fine with sub-captions, the command
+% |\set|\-|caption|\-|sub|\-|type| will restore the definition
+% of |\@make|\-|caption|. But this is not desired here, and therefore
+% we make sure that |\flrow@make|\-|caption| will be used for sub-captions,
+% too.
+% \begin{macrocode}
+ \renewenvironment{subfloatrow*}[1][2]{\let\flrow@to\empty
+ \let\Xhsize\sXhsize%\let\Zhsize\sZhsize
+ \FR@ifunloc{\let\FR@ifcountH\@firstoftwo}\let\c@FRobj\c@FRsobj
+ \def\FRleftmargin{}\def\FRrightmargin{}\let\floatrowsep\subfloatrowsep
+ \floatrow[#1]\killfloatstyle
+ \let\caption@makecaption\flrow@makecaption}% <- This line added
+ {\ifdim\lastskip>\z@\unskip\fi
+ \@ifundefined{adjustsubfloats}\relax\adjustsubfloats\endfloatrow}
+% \end{macrocode}
+% \end{environment}
+%
% \begin{macrocode}
}{}
% \end{macrocode}
@@ -7768,6 +7820,7 @@
% \changes{v3.3}{2018/10/05}{Definition of \cs{captionlistentry} fixed}
% \changes{v3.5}{2018/04/15}{Usage of \cs{caption@AtBeginLongtable} added}
% \changes{v3.6}{2022/01/05}{Usage of \cs{caption@Error} replaced by \cs{caption@OutsideFloat}}
+% \changes{v3.6g}{2022/04/18}{Adapted to recent version of \pkg{caption3} package}
% We redefine |\LT@array| here to get |\captionsetup|\marg{options} working inside |longtable|s.
% \Note{Since the \package{hyperref} package patches \cs{LT@array} as well
% and since this only works with the original definition of \cs{LT@array},
@@ -7789,7 +7842,7 @@
\@ifstar\@captionsetup\@captionsetup}% gobble *
\def\@captionsetup#1{\LT@captionsetup{#1}\egroup}%
\def\LT@captionsetup#1{%
- \captionsetup@startrue\caption@setup@options[@longtable]{#1}%
+ \caption@setup@options\@gobble[@longtable]{#1}%
\global\let\caption@opt@@longtable\caption@opt@@longtable}%
% \end{macrocode}
% |\captionlistentry| for longtable:
@@ -7967,7 +8020,7 @@
% \changes{v3.6}{2021/01/17}{Adapted to current implementation of \cs{caption@setwidth}}
% \begin{macrocode}
\newcommand*\caption@LT@settype[1]{%
- \caption@settype*{#1}%
+ \caption@settype{#1}%
% \end{macrocode}
% If |\LTcapwidth| is not set to its default value |4in| we assume
% that it shall overwrite our own setting.
@@ -8060,7 +8113,8 @@
\let\@makecaption\caption@@make
\caption@setautoposition b%
\caption@settype{#1}%
- \caption@clearmargin}%
+ \caption@clearmargin
+ \caption@setanchor}%
% \end{macrocode}
% \end{macro}
%
@@ -8193,6 +8247,7 @@
% \fi
\caption@setoptions{parpic}%
\caption@setautoposition b%
+ \caption@setanchor
% \end{macrocode}
% \begin{macrocode}
\expandafter\expandafter\expandafter\caption@ORI
@@ -8310,6 +8365,82 @@
}{}
% \end{macrocode}
%
+% \subsubsection{The scrextend package}
+% \changes{v3.6j}{2023/03/12}{Patch of the \package{scrextend} package added}
+%
+% \begin{macro}{\caption@IfKomaPackageLoaded}
+% \changes{v3.6j}{2023/03/12}{This macro definition added}
+% \begin{macrocode}
+\caption@ifdefined\scr@caption{%
+ \long\def\caption@IfKomaPackageLoaded#1[#2]#3#4{%
+ \caption@InfoNoLine{KOMA-Script #1 package detected}
+ #3}}{%
+ \let\caption@IfKomaPackageLoaded\caption@IfPackageLoaded
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\caption@IfKomaPackageLoaded{scrextend}[2002/07/01 v3.0]{%
+% \end{macrocode}
+%
+% \begin{macro}{\caption@patch@addmargin}
+% \changes{v3.6j}{2023/03/12}{This macro definition added}
+% Both environments, \env{addmargin} and \env{addmargin*}, are starting a \env{list} \cs{item}.
+% But \cs{hsize} isn't set properly inside a \env{list} item, and therefore \cs{@makecaption}
+% (offered by document classes) doesn't work properly when used inside \env{addmargin}.
+% Therefore we try to detect the situation ``Are we inside a \env{addmargin} environment?''
+% inside \cs{@makecaption} and fix this. (Sigh!)
+% \begin{macrocode}
+ \let\caption@addmargin@env\@addmargin
+ \renewcommand*\@addmargin{%
+ \@testopt\caption@@addmargin\@tempa}%
+ \def\caption@@addmargin[#1]#2{%
+ \caption@addmargin@env[{#1}]{#2}%
+ \caption@set@addmargin
+ \ignorespaces}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\caption@set@addmargin}
+% \changes{v3.6j}{2023/03/12}{This macro definition added}
+% We cannot simply set and test a flag here since our adjustment to \cs{hsize} should
+% not be done within a \cs{parbox} within a \env{addmargin} environment for example,
+% and therefore we store \cs{hsize} and \cs{linewidth}, and test \cs{hsize} and \cs{linewidth}
+% against the stored values instead. If they are equal we are (hopefully) quite save
+% to assume that we are now inside a plain \env{addmargin} environment and therefore need
+% to fix \cs{hsize} before typesetting the caption. (Deep sigh!)
+% \begin{macrocode}
+ \newdimen\caption@addmargin@hsize
+ \newdimen\caption@addmargin@linewidth
+% \end{macrocode}
+% \begin{macrocode}
+ \providecommand*\caption@set@addmargin{%
+ \caption@addmargin@hsize\hsize
+ \caption@addmargin@linewidth\linewidth
+ \l@addto@macro\caption@beginex@hook\caption@test@addmargin}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\caption@test@addmargin}
+% \changes{v3.6j}{2023/03/12}{This macro definition added}
+% Test if the values of \cs{hsize} and \cs{linewidth} are identical to
+% the ones stored in the \env{addmargin} environment.
+% If yes, set \cs{hsize} to the correct value.
+% \begin{macrocode}
+ \providecommand\caption@test@addmargin{%
+ \ifdim\hsize=\caption@addmargin@hsize
+ \ifdim\linewidth=\caption@addmargin@linewidth
+ \hsize=\linewidth
+ \fi
+ \fi}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+ }{}%
+% \end{macrocode}
+%
% \subsubsection{The sidecap package}
%
% \begin{macrocode}
@@ -8323,6 +8454,7 @@
% \changes{v3.1c}{2007/10/06}{\cs{caption} will be saved \& restored now}
% \changes{v3.2a}{2011/08/17}{Bugfix: Uses \cs{caption@freeze} instead of \cs{caption@freeze*} now}
% \changes{v3.3}{2013/05/01}{Usage of \cs{caption@freeze} replaced by \cs{caption@freezetype}}
+% \changes{v3.6i}{2022/07/10}{\cs{ignorespaces} appended}
% This macro will be called at the start of the environment, here is a good
% opportunity to do some adaptations to |\caption| and |\captionsetup|.
% \begin{macrocode}
@@ -8336,7 +8468,7 @@
\SC@RestoreCommands
% \end{macrocode}
% Since the sidecap package uses our |\caption| code outside the
-% environment the regular |\captionsetup| will not work.
+% environment the regular |\caption|\-|setup| will not work.
% So we need a special version here which saves the given argument list
% which will be executed later on.
% Furthermore we need to make |\caption*| work.
@@ -8346,7 +8478,12 @@
% The sidecap package uses |\ifx\label\SC@label| to test if it is just inside a
% |SC|\-|figure| or not. So we redefine |\SC@label| here so this test will still work.
% \begin{macrocode}
- \let\SC@label\label}%
+ \let\SC@label\label
+% \end{macrocode}
+% Since the original definition of |\SC@zfloat| ends with |\begin{lrbox}| which ends with |\ignore|\-|spaces|,
+% we do have to end our re-definition of |\SC@zfloat| with |\ignore|\-|spaces| as well.
+% \begin{macrocode}
+ \ignorespaces}%
% \end{macrocode}
% \begin{macrocode}
\providecommand*\SC@RestoreCommands{%
@@ -8497,7 +8634,7 @@
% \end{verbatim}%^^A
% \begin{macrocode}
\long\def\ST@caption#1[#2]#3{\par%
- \caption@settype*{#1}%
+ \caption@settype{#1}%
\caption@setoptions{supertabular}%
% \end{macrocode}
% The |position=| setting will be overwritten by the
@@ -8566,7 +8703,7 @@
% \end{verbatim}%^^A
% \begin{macrocode}
\long\def\ST@caption#1[#2]#3{\par%
- \caption@settype*{#1}%
+ \caption@settype{#1}%
\caption@setoptions{xtabular}%
% \end{macrocode}
% \begin{macrocode}
@@ -8597,29 +8734,44 @@
%
% \begin{macro}{\threeparttable}
% \changes{v3.3}{2016/01/31}{Bugfix: \cs{@captype} will be used if already defined}
+% \changes{v3.6e}{2022/04/17}{Main code outsourced to \cs{caption@setthreeparttable}}
% Unfortunately |\@captype| is not set when |\TPT@common| will be used,
% so we have to redefine |\threeparttable| and |\measuredfigure| instead.
% \begin{macrocode}
\let\caption@ORI@threeparttable\threeparttable
\renewcommand*\threeparttable{%
- \caption@settype{\@ifundefined{@captype}{table}{\@captype}}%
-%%% \caption@setposition{auto}% ?
- \caption@clearmargin
- \caption@setoptions{threeparttable}%
+ \caption@setthreeparttabletype{threepart}{table}%
\caption@ORI@threeparttable}%
% \end{macrocode}
% \end{macro}
+%
% \begin{macro}{\measuredfigure}
% \changes{v3.3}{2016/01/31}{Bugfix: \cs{@captype} will be used if already defined}
+% \changes{v3.6e}{2022/04/17}{Main code outsourced to \cs{caption@setthreeparttable}}
% Same here\ldots
% \begin{macrocode}
\let\caption@ORI@measuredfigure\measuredfigure
\renewcommand*\measuredfigure{%
- \caption@settype{\@ifundefined{@captype}{figure}{\@captype}}%
+ \caption@setthreeparttabletype{measured}{figure}%
+ \caption@ORI@measuredfigure}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\caption@setthreeparttabletype}
+% \changes{v3.6e}{2022/04/17}{Extracted from \cs{threeparttable} and \cs{measuredfigure}}
+% \changes{v3.6e}{2022/04/17}{Support for usage inside \env{subtable} resp.~\env{subfigure} added}
+% |\caption@setthreeparttabletype|\marg{threepart type}\marg{main type}
+% \begin{macrocode}
+ \newcommand*\caption@setthreeparttabletype[2]{%
+ \caption@ifsubtype
+ {\def\caption@threeparttabletype{#1sub#2}%
+ \let\caption@setanchor\relax}%
+ {\caption@settype{\@ifundefined{@captype}{#2}{\@captype}}%
+ \def\caption@threeparttabletype{#1#2}}%
%%% \caption@setposition{auto}% ?
\caption@clearmargin
- \caption@setoptions{measuredfigure}%
- \caption@ORI@measuredfigure}%
+ \caption@setoptions\caption@threeparttabletype
+ \caption@setanchor}%
% \end{macrocode}
% \end{macro}
%
@@ -8724,7 +8876,8 @@
\caption@settype{#1}%
\caption@clearmargin
%%% \caption@setoptions{wrap}%
- \caption@setoptions{wrap#1}}%
+ \caption@setoptions{wrap#1}%
+ \caption@setanchor}%
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/caption/caption.ins b/macros/latex/contrib/caption/caption.ins
index 0a45ce53ea..8215e99acc 100644
--- a/macros/latex/contrib/caption/caption.ins
+++ b/macros/latex/contrib/caption/caption.ins
@@ -6,7 +6,7 @@
\preamble
-Copyright (C) 1994-2022 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
+Copyright (C) 1994-2023 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
https://gitlab.com/axelsommerfeldt/caption
diff --git a/macros/latex/contrib/caption/caption3.dtx b/macros/latex/contrib/caption/caption3.dtx
index 8e4506202a..5011e0d0b3 100644
--- a/macros/latex/contrib/caption/caption3.dtx
+++ b/macros/latex/contrib/caption/caption3.dtx
@@ -31,12 +31,12 @@
%
% \fi
%
-% \CheckSum{3813}
+% \CheckSum{3830}
%
% \iffalse
%<*driver>
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesFile{caption3.drv}[2021/01/02 v2.3 Implementation of the caption kernel]
+\ProvidesFile{caption3.drv}[2021/01/02 v2.4 Implementation of the caption kernel]
\hbadness=9999 \newcount\hbadness \hfuzz=100pt % Make TeX shut up.
%\errorcontextlines=3
%
@@ -79,6 +79,7 @@
% \newcommand*\puresf[1]{{\upshape\mdseries\sffamily #1}}
% \newcommand*\purett[1]{{\upshape\mdseries\ttfamily #1}}
% \let\class\puresf \let\package\puresf
+% \let\cls\puresf \let\pkg\puresf
% \let\env\purett \let\opt\purett
%
% \newcommand*\csmarg[1]{\texttt{\char`\{#1\char`\}}}
@@ -264,11 +265,19 @@
%
% Identify the current version of the package.
% \begin{macrocode}
-\ProvidesPackage{caption3}[2022/03/17 v2.3b caption3 kernel (AR)]
+\ProvidesPackage{caption3}[2023/03/12 v2.4 caption3 kernel (AR)]
% \end{macrocode}
%
% \section{Generic helpers}
%
+% \begin{macro}{\kernel@ifnextchar}
+% \changes{v1.1f}{2007/12/06}{Bugfix 07-12-06: This macro definition added (\cs{kernel@ifnextchar} was introduced in \LaTeXe\ 2004/01/23)}
+% \changes{v2.4}{2022/04/18}{This macro moved from package to kernel}
+% \begin{macrocode}
+\@ifundefined{kernel@ifnextchar}{\let\kernel@ifnextchar\@ifnextchar}{}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\@nameundef}
% |\@nameundef|\marg{command name}\\
% is the opposite to |\@name|\-|def| which is offered by the \LaTeX\ kernel.
@@ -572,6 +581,7 @@
% \begin{macro}{\caption@withoptargs}
% \changes{v1.1}{2007/08/12}{This macro added}
% \changes{v1.5}{2012/04/09}{This macro revised}
+% \changes{v2.4}{2022/04/18}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}}
% |\caption@withoptargs|\marg{cmd}\\
% collects a star and all optional arguments, and expands \meta{cmd}
% afterwards with the collected stuff as first argument.
@@ -583,7 +593,7 @@
% \end{macrocode}
% \begin{macrocode}
\def\caption@@withoptargs#1{%
- \@ifnextchar[%]
+ \kernel@ifnextchar[%]
{\caption@@@withoptargs{#1}}%
{\caption@@@@withoptargs{#1}}}
% \end{macrocode}
@@ -815,15 +825,6 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\ifcaptionsetup@star}
-% \changes{v1.2a}{2008/01/12}{This macro added}
-% If the starred form of |\caption|\-|setup| is used, this will be set to |true|.
-% (It will be reset to |false| at the end of |\caption@set|\-|keys|.)
-% \begin{macrocode}
-\newif\ifcaptionsetup@star
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\captionsetup}
% \changes{v1.0a}{2004/01/17}{Bugfix: Missing \% added}
% \changes{v1.1}{2007/07/22}{Starred-variant added}
@@ -833,7 +834,9 @@
% \changes{v1.5}{2012/04/09}{Support of multiple optional arguments added}
% \changes{v1.8h}{2020/01/03}{Syntax check of saved options added}
% \changes{v2.3b}{2022/03/17}{Usage of \cs{captionsetup} inside \cs{caption@setup@options@@} replaced by \cs{caption@setup@options@}}
-% |\captionsetup*|\oarg{type}\ldots\marg{keyval-list of options}\\
+% \changes{v2.4}{2022/04/18}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}}
+% \changes{v2.4}{2022/04/18}{Usage of \cs{ifcaptionsetup@star} removed}
+% |\captionsetup*|\oarg{type}\marg{keyval-list of options}\\
% applies the given list of options.
% If the optional argument `type' is specified, we simply save or append
% the option list, otherwise we `execute' it with |\set|\-|keys|.
@@ -846,32 +849,32 @@
% \end{macrocode}
% \begin{macrocode}
\newcommand*\@captionsetup[1]{%
- \captionsetup@startrue#1\captionsetup@starfalse
- \@ifnextchar[%]
- \caption@setup@options\caption@setup}
+ \kernel@ifnextchar[%]
+ {\caption@setup@options#1}%
+ {\caption@setup}}
% \end{macrocode}
% \begin{macrocode}
\newcommand*\caption@setup{%
\caption@setkeys{caption}}
% \end{macrocode}
% \begin{macrocode}
-\def\caption@setup@options[#1]{%
- \@ifnextchar[%]
+\def\caption@setup@options#1[#2]{%
+ \kernel@ifnextchar[%]
{\caption@stepthecounter
- \@expandtwoargs\caption@setup@options@@{#1}{@\caption@thecounter}}%
- {\caption@setup@options@{#1}}}
+ \@expandtwoargs\caption@setup@options@@{#2}{@\caption@thecounter}#1}%
+ {\caption@setup@options@#1{#2}}}
% \end{macrocode}
% \begin{macrocode}
-\def\caption@setup@options@@#1#2[#3]#4{%
- \caption@declare@option{#2}[]{\caption@setup@options@{#3}{#4}}%
- \caption@setup@options@{#1}{#2}}
+\def\caption@setup@options@@#1#2#3[#4]#5{%
+ \caption@declare@option{#2}[]{\caption@setup@options@\@gobble{#4}{#5}}%
+ \caption@setup@options@#3{#1}{#2}}
% \end{macrocode}
% \begin{macrocode}
-\newcommand*\caption@setup@options@[2]{%
+\newcommand*\caption@setup@options@[3]{%
\@bsphack
- \ifcaptionsetup@star\captionsetup@starfalse\else\caption@addtooptlist{#1}\fi
- \caption@checkoptions{#2}%
- \expandafter\caption@l@addto@list\csname caption@opt@#1\endcsname{#2}%
+ #1{\caption@addtooptlist{#2}}%
+ \caption@checkoptions{#3}%
+ \expandafter\caption@l@addto@list\csname caption@opt@#2\endcsname{#3}%
\@esphack}
% \end{macrocode}
% \end{macro}
@@ -1075,6 +1078,7 @@
% \changes{v1.2a}{2008/01/12}{\cs{captionsetup@starfalse} added}
% \changes{v1.2d}{2009/09/30}{Bugfix 09-09-29: Missing error handler will be defined automatically}
% \changes{v1.4}{2011/08/24}{Redefinition of \cs{XKV@err} added}
+% \changes{v2.4}{2022/04/18}{\cs{captionsetup@starfalse} removed}
% |\caption@setkeys|\oarg{package}\marg{family}\marg{key-values}\\
% expands to |\setkeys|\marg{family}\marg{key-values},
% but lets the error messages not refer to the \package{keyval} package
@@ -1112,9 +1116,6 @@
\expandafter\let\expandafter\XKV@err\csname ORI@XKV@err\caption@keydepth\endcsname
% \end{macrocode}
% \begin{macrocode}
- \ifx\caption@keydepth\@empty \captionsetup@starfalse \fi
-% \end{macrocode}
-% \begin{macrocode}
\@esphack}
% \end{macrocode}
% \begin{macrocode}
@@ -1408,6 +1409,7 @@
%
% \begin{macro}{\caption@decl@package}
% \changes{v2.0}{2020/07/26}{This macro added}
+% \changes{v2.4}{2022/04/18}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}}
% |\caption@decl@package|\marg{option}\marg{cmd}\oarg{package}\marg{name}\ldots\\
% Helper command to declare a caption package option value which is dependent
% on the existence of a specific package, for example the |font| value
@@ -1415,7 +1417,7 @@
% package.
% \begin{macrocode}
\newcommand*\caption@decl@package[2]{%
- \@ifnextchar[%]
+ \kernel@ifnextchar[%]
{\caption@declare@package{#1}{#2}}%
{\caption@declarepackage{#1}{#2}}}
\@onlypreamble\caption@decl@package
@@ -1690,6 +1692,7 @@
% \changes{v1.0n}{2007/04/03}{This counter added}
% \changes{v1.1e}{2007/10/28}{Renamed from \cs{caption@counter} to \cs{caption@thecounter}; \cs{caption@stepcounter} added}
% \changes{v1.5}{2012/04/09}{\cs{caption@stepcounter} renamed to \cs{caption@stepthecounter}}
+% \changes{v2.4}{2023/03/12}{Definition of \cs{caption@ifoddpage} added to \cs{caption@stepthecounter}}
% Internal counter.
% At the moment it will be used inside |\caption@if|\-|odd|\-|page| only.
% \begin{macrocode}
@@ -1699,7 +1702,8 @@
\newcommand*\caption@stepthecounter{%
\@tempcnta\caption@thecounter
\advance\@tempcnta\@ne\relax
- \xdef\caption@thecounter{\the\@tempcnta}}
+ \xdef\caption@thecounter{\the\@tempcnta}%
+ \global\let\caption@ifoddpage\caption@ifoddpage@}
% \end{macrocode}
% \end{macro}
%
@@ -1746,7 +1750,8 @@
%
% \begin{macro}{\caption@pageref}
% \changes{v1.1}{2007/09/01}{This macro added}
-% \changes{v1.2d}{2009/10/09}{Uses \cs{@latex@warning} instead of \cs{caption@Warning} now}
+% \changes{v1.2d}{2009/10/09}{Uses \cs{@latex@warning} instead of \cs{caption@Warning}}
+% \changes{v2.4}{2023/03/12}{The warning refers to \texttt{caption@NUM} instead of \texttt{NUM}}
% |\caption@pageref|\marg{name}\\
% This command is a modified version of |\page|\-|ref| from \LaTeX2e.
% It will be used inside |\caption@if|\-|odd|\-|page| and |\FP@help|\-|Note|.
@@ -1754,7 +1759,7 @@
\newcommand*\caption@pageref[1]{%
\expandafter\ifx\csname caption@r@#1\endcsname\relax
\G@refundefinedtrue % => 'There are undefined references.'
- \@latex@warning{Reference `#1' on page \thepage \space undefined}%
+ \@latex@warning{Reference `caption@#1' on page \thepage \space undefined}%
\else
\expandafter\let\expandafter\caption@thepage\csname caption@r@#1\endcsname
\fi}
@@ -1764,24 +1769,25 @@
% \begin{macro}{\caption@ifoddpage}
% \changes{v1.0n}{2007/04/03}{This macro added}
% \changes{v1.1e}{2007/10/28}{Incrementation of counter moved to \cs{caption@@make}}
+% \changes{v2.4}{2023/03/12}{Multiple use for the same counter will be handled correctly}
% Currently this macro uses an own label\ldots ref mechanism,
% but an alternative implementation method would use the
% \package{refcount} package\cite{refcount} and
% |\ifodd\get|\-|page|\-|ref|\-|number{|\ldots|}|.
% Maybe we will change that in a later release.
-% \Note{This macro re-defines itself so the \texttt{.aux} file will
-% only be used once per group.}
+% \Note{This macro re-defines itself so the \texttt{.aux} file will only be used once per group.
+% This re-definition will be reset in \cs{caption@stepthecounter}.}
% \begin{macrocode}
-\newcommand*\caption@ifoddpage{%
+\newcommand*\caption@ifoddpage@{%
\caption@iftwoside{%
\caption@label\caption@thecounter
\caption@pageref\caption@thecounter
\ifodd\caption@thepage
- \let\caption@ifoddpage\@firstoftwo
+ \global\let\caption@ifoddpage\@firstoftwo
\else
- \let\caption@ifoddpage\@secondoftwo
+ \global\let\caption@ifoddpage\@secondoftwo
\fi
- }{\let\caption@ifoddpage\@firstoftwo}%
+ }{\global\let\caption@ifoddpage\@firstoftwo}%
% \end{macrocode}
% \begin{macrocode}
\caption@ifoddpage}
@@ -2281,7 +2287,7 @@
% \begin{quote}
% |\renewcommand\fnum@figure[1]{\ignorespaces}|\quad
% \end{quote}
-% (taken from \url{http://compgroups.net/comp.text.tex/figure-without-caption/1915079}).
+% (taken from \url{https://comp.text.tex.narkive.com/XkJnYryR/figure-without-caption}).
%
% We emulate the behaviour of |\@make|\-|caption| of the base document classes
% \class{article}, \class{report}, and \class{book} in this regard (in |\caption@@@make|)
@@ -4387,6 +4393,7 @@
% \changes{v1.3}{2011/07/07}{This macro added}
% \changes{v1.4a}{2011/10/22}{This macro revised}
% \changes{v2.3}{2021/07/03}{This macro re-written}
+% \changes{v2.4}{2022/04/18}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}}
% The following code was taken from |base/ltfloat.dtx| but |\step|\-|counter|
% is replaced by |\caption@l@step|\-|counter| so the footnote counter will
% only be incremented temporarily for the single-line-check.
@@ -4397,7 +4404,7 @@
% be sufficient for the single-line-check.))
% \begin{macrocode}
\newcommand*\caption@footnote{%
- \@ifnextchar[%]
+ \kernel@ifnextchar[%]
\@xfootnote
{\caption@l@stepcounter\@mpfn
\protected@xdef\@thefnmark{\thempfn}%
@@ -4408,12 +4415,13 @@
% \begin{macro}{\caption@footnotemark}
% \changes{v1.3}{2011/07/07}{This macro added}
% \changes{v2.3}{2021/07/03}{This macro re-written}
+% \changes{v2.4}{2022/04/18}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}}
% The following code was taken from |base/ltfloat.dtx| but |\step|\-|counter|
% is replaced by |\caption@l@step|\-|counter| so the footnote counter will
% only be incremented temporarily for the single-line-check.
% \begin{macrocode}
\newcommand*\caption@footnotemark{%
- \@ifnextchar[%]
+ \kernel@ifnextchar[%]
\@xfootnotemark
{\caption@l@stepcounter{footnote}%
\protected@xdef\@thefnmark{\thefootnote}%
@@ -4423,10 +4431,11 @@
%
% \begin{macro}{\caption@footnotetext}
% \changes{v2.3}{2021/07/03}{This macro added}
+% \changes{v2.4}{2022/04/18}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}}
% The following code was taken from |base/ltfloat.dtx|.
% \begin{macrocode}
\newcommand*\caption@footnotetext{%
- \@ifnextchar[%]
+ \kernel@ifnextchar[%]
\@xfootnotenext
{\protected@xdef\@thefnmark{\thempfn}%
\@footnotetext}}
@@ -4436,6 +4445,7 @@
% \begin{macro}{\caption@endnote}
% \changes{v1.8}{2018/01/21}{This macro added}
% \changes{v2.3}{2021/07/03}{This macro re-written}
+% \changes{v2.4}{2022/04/18}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}}
% The following code was taken from |endnotes/endnotes.sty| but |\step|\-|counter|
% is replaced by |\caption@l@step|\-|counter| so the footnote counter will
% only be incremented temporarily for the single-line-check.
@@ -4443,7 +4453,7 @@
% |\step|\-|counter|.)
% \begin{macrocode}
\newcommand*\caption@endnote{%
- \@ifnextchar[%]
+ \kernel@ifnextchar[%]
\@xendnote
{\caption@l@stepcounter{endnote}%
\protected@xdef\@theenmark{\theendnote}%
@@ -4454,12 +4464,13 @@
% \begin{macro}{\caption@endnotemark}
% \changes{v1.8}{2018/01/21}{This macro added}
% \changes{v2.3}{2021/07/03}{This macro re-written}
+% \changes{v2.4}{2022/04/18}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}}
% The following code was taken from |endnotes/endnotes.sty| but |\step|\-|counter|
% is replaced by |\caption@l@step|\-|counter| so the footnote counter will
% only be incremented temporarily for the single-line-check.
% \begin{macrocode}
\newcommand*\caption@endnotemark{%
- \@ifnextchar[%]
+ \kernel@ifnextchar[%]
\@xendnotemark
{\caption@l@stepcounter{endnote}%
\protected@xdef\@theenmark{\theendnote}%
@@ -4469,10 +4480,11 @@
%
% \begin{macro}{\caption@endnotetext}
% \changes{v2.3}{2021/07/03}{This macro added}
+% \changes{v2.4}{2022/04/18}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}}
% The following code was taken from |endnotes/endnotes.sty|.
% \begin{macrocode}
\newcommand*\caption@endnotetext{%
- \@ifnextchar[%]
+ \kernel@ifnextchar[%]
\@xendnotenext
{\protected@xdef\@theenmark{\theendnote}%
\@endnotetext}}
@@ -4753,6 +4765,8 @@
% \changes{v1.13}{2020/07/28}{Uses \cs{caption@l@addto@list} instead of \cs{@cons} now}
% \changes{v1.13}{2020/07/29}{Usage of \cs{caption@subtype@hook} added}
% \changes{v1.13}{2020/07/29}{We don't re-use existing counters anymore (This was a bad idea anyway)}
+% \changes{v1.13b}{2022/04/06}{We don't re-use existing counters anymore (Part 2)}
+% \changes{v2.4}{2022/04/06}{If a counter is already defined the counter source will be included in the resulting error message}
% |\DeclareCaptionSubType*|\oarg{numbering scheme}\marg{type}\\
% The starred variant provides the numbering format
% \meta{type}|.|\meta{subtype} while the non-starred variant simply uses
@@ -4764,7 +4778,7 @@
% \end{macrocode}
% \begin{macrocode}
\newcommand*\caption@declaresubtype[1]{%
- \@testopt{\caption@@declaresubtype{#1}}{alph}}
+ \@testopt{\caption@@declaresubtype#1}{alph}}
\@onlypreamble\caption@declaresubtype
% \end{macrocode}
% \begin{macrocode}
@@ -4782,28 +4796,37 @@
% If not, define the counter and list entry.
% \begin{macrocode}
\caption@ifdefined@subtype{#4}%
- {\caption@Debug{Modify subtype `#4'}}%
- {\caption@Debug{New subtype `#4'}%
- \newcounter{#4}[{#3}]%
- \@namedef{ext@#4}{\csname ext@#3\endcsname}%
- \caption@declaresublistentry{#3}%
- \caption@l@addto@list\caption@subtypelist{#4}%
- \caption@subtype@hook{#4}}%
+ {\caption@Info{Modify subtype `#4'}}%
+ {\caption@Info{New subtype `#4'}%
+ \@ifundefined{c@#4}%
+ {\newcounter{#4}[#3]%
+ \@namedef{#4name}{}%
+ \@namedef{#4autorefname}{\csname #3autorefname\endcsname}%
+% \end{macrocode}
+% \begin{macrocode}
+ \@namedef{ext@#4}{\csname ext@#3\endcsname}%
+ \caption@declaresublistentry{#3}%
% \end{macrocode}
% Support of \package{titletoc} package
% \begin{macrocode}
- \caption@ifdefined\contentsuse{%
- \contentsuse{#4}{\csname ext@#4\endcsname}}{}%
+ \caption@ifdefined\contentsuse{%
+ \contentsuse{#4}{\csname ext@#4\endcsname}}{}%
% \end{macrocode}
% \begin{macrocode}
- \@namedef{#4name}{}%
- \@namedef{#4autorefname}{\csname #3autorefname\endcsname}%
- #1% is \@firstoftwo in star form, and \@secondoftwo otherwise
+ \caption@l@addto@list\caption@subtypelist{#4}%
+ \caption@subtype@hook{#4}}%
+% \end{macrocode}
+% \begin{macrocode}
+ {\caption@subtypesource\caption@subtype@source{#4}%
+ \caption@Error{The counter `#4' was already defined by\MessageBreak\caption@subtype@source}}}%
+% \end{macrocode}
+% \begin{macrocode}
+ #1% is \@firstoftwo in star form, and \@secondoftwo otherwise
{\@namedef{p@#4}{}%
\@namedef{the#4}{\csname the#3\endcsname.\@nameuse{#2}{#4}}}%
{\@namedef{p@#4}{\csname the#3\endcsname}%
\@namedef{the#4}{\@nameuse{#2}{#4}}}%
- \@namedef{theH#4}{\csname theH#3\endcsname.\arabic{#4}}}
+ \@namedef{theH#4}{\csname theH#3\endcsname.\arabic{#4}}}
% \end{macrocode}
% \begin{macrocode}
\@onlypreamble\caption@@@declaresubtype
@@ -4887,6 +4910,21 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\caption@subtypesource}
+% \changes{v2.4}{2022/04/06}{This macro definition added}
+% |\caption@subtypesource|\marg{cmd}\marg{sub-type}\\
+% is used by |\Declare|\-|Caption|\-|Sub|\-|Type| to indicate what command and package
+% has defined the given sub-type.
+% \begin{macrocode}
+\newcommand*\caption@subtypesource[2]{%
+ \caption@ifdefined@subtype{#2}%
+ {\def#1{\noexpand\DeclareCaptionSubType (offered by the caption package)}}%
+ {\caption@ifin@list\sf@counterlist{#2}%
+ {\def#1{\noexpand\newsubfloat (offered by the subfig package)}}%
+ {\def#1{an unknown document class or package}}}}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\ForEachCaptionSubType}
% \changes{v1.13}{2020/07/29}{This macro added as replacement for \cs{caption@For}}
% |\ForEachCaptionSubType*|\marg{code with \#1}\\
diff --git a/macros/latex/contrib/caption/fallback/v3.0/caption.dtx b/macros/latex/contrib/caption/fallback/v3.0/caption.dtx
index bbdedad42c..e6e4434187 100644
--- a/macros/latex/contrib/caption/fallback/v3.0/caption.dtx
+++ b/macros/latex/contrib/caption/fallback/v3.0/caption.dtx
@@ -23,7 +23,7 @@
% caption.sty, caption2.sty, caption3.sty, and manual.tex.
%
% \fi
-% \CheckSum{2178}
+% \CheckSum{2179}
%
% \iffalse
%<*driver>
@@ -3506,7 +3506,7 @@
%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{caption}[2007/04/16 v3.0q Customising captions (AR)]
+\ProvidesPackage{caption}[2022/07/10 v3.0r Customising captions (AR)]
% \end{macrocode}
%
% \subsubsection*{Loading the kernel}
@@ -4893,8 +4893,9 @@
% \begin{macro}{\SC@zfloat}
% \changes{v3.0b}{2004/05/16}{Local definition of \cs{captionsetup} added}
% \changes{v3.0c}{2004/07/16}{Bugfix 04-07-15: Check for \cs{caption@caption} removed}
+% \changes{v3.0r}{2022/07/10}{\cs{ignorespaces} appended}
% This macro will be called at the start of the environment, here is a good
-% opportunity to do some adaptations to |\caption| and |\captionsetup|.
+% opportunity to do some adaptations to |\caption| and |\caption|\-|setup|.
% \begin{macrocode}
\let\caption@SC@zfloat\SC@zfloat
\def\SC@zfloat#1#2#3[#4]{%
@@ -4907,7 +4908,7 @@
% \end{macrocode}
%
% Since the sidecap package uses our |\caption| code outside the
-% floating environment the regular |\captionsetup| will not work.
+% floating environment the regular |\caption|\-|setup| will not work.
% So we need a special version here which saves the given argument list
% which will be executed later on.
% \begin{macrocode}
@@ -4920,7 +4921,12 @@
\let\caption@SC\caption
% \def\caption{\renewcommand\captionsetup[1]{}\caption@caption\caption@SC}%
\def\caption{\caption@caption\caption@SC}%
- }%
+% \end{macrocode}
+%
+% Since the original definition of |\SC@zfloat| ends with |\begin{lrbox}| which ends with |\ignore|\-|spaces|,
+% we do have to end our re-definition of |\SC@zfloat| with |\ignore|\-|spaces| as well.
+% \begin{macrocode}
+ \ignorespaces}%
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/caption/fallback/v3.1/caption.dtx b/macros/latex/contrib/caption/fallback/v3.1/caption.dtx
index 17322ede2b..533adf3449 100644
--- a/macros/latex/contrib/caption/fallback/v3.1/caption.dtx
+++ b/macros/latex/contrib/caption/fallback/v3.1/caption.dtx
@@ -24,7 +24,7 @@
% user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex.
%
% \fi
-% \CheckSum{7218}
+% \CheckSum{7219}
%
% \iffalse
%<*driver>
@@ -3757,7 +3757,7 @@
%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{caption}[2010/01/09 v3.1m Customizing captions (AR)]
+\ProvidesPackage{caption}[2022/07/10 v3.1n Customizing captions (AR)]
%\@ifundefined{PackageRedefines}{}{\PackageRedefines{caption}{caption}}
% \end{macrocode}
%
@@ -7324,6 +7324,7 @@
% \changes{v3.0b}{2004/05/16}{Local definition of \cs{captionsetup} added}
% \changes{v3.0c}{2004/07/16}{Bugfix 04-07-15: Check for \cs{caption@star} removed}
% \changes{v3.1c}{2007/10/06}{\cs{caption} will be saved \& restored now}
+% \changes{v3.1n}{2022/07/10}{\cs{ignorespaces} appended}
% This macro will be called at the start of the environment, here is a good
% opportunity to do some adaptations to |\caption| and |\captionsetup|.
% \begin{macrocode}
@@ -7338,13 +7339,18 @@
\let\caption\caption@ORI
% \end{macrocode}
% Since the sidecap package uses our |\caption| code outside the
-% environment the regular |\captionsetup| will not work.
+% environment the regular |\caption|\-|setup| will not work.
% So we need a special version here which saves the given argument list
% which will be executed later on.
% Furthermore we need to make |\caption*| work.
% \begin{macrocode}
\caption@settype*{#2}%
- \caption@freeze*}%
+ \caption@freeze*%
+% \end{macrocode}
+% Since the original definition of |\SC@zfloat| ends with |\begin{lrbox}| which ends with |\ignore|\-|spaces|,
+% we do have to end our re-definition of |\SC@zfloat| with |\ignore|\-|spaces| as well.
+% \begin{macrocode}
+ \ignorespaces}%
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/caption/fallback/v3.2/caption.dtx b/macros/latex/contrib/caption/fallback/v3.2/caption.dtx
index 0936d97306..e2d7d08ea7 100644
--- a/macros/latex/contrib/caption/fallback/v3.2/caption.dtx
+++ b/macros/latex/contrib/caption/fallback/v3.2/caption.dtx
@@ -25,7 +25,7 @@
% and the user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex.
%
% \fi
-% \CheckSum{3534}
+% \CheckSum{3535}
%
% \iffalse
%<*driver>
@@ -220,7 +220,7 @@
%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{caption}[2011/11/10 v3.2e Customizing captions (AR)]
+\ProvidesPackage{caption}[2022/07/10 v3.2f Customizing captions (AR)]
%\@ifundefined{PackageRedefines}{}{\PackageRedefines{caption}{caption}}
% \end{macrocode}
%
@@ -3955,6 +3955,7 @@
% \changes{v3.0c}{2004/07/16}{Bugfix 04-07-15: Check for \cs{caption@star} removed}
% \changes{v3.1c}{2007/10/06}{\cs{caption} will be saved \& restored now}
% \changes{v3.2a}{2011/08/17}{Bugfix: Uses \cs{caption@freeze} instead of \cs{caption@freeze*} now}
+% \changes{v3.2f}{2022/07/10}{\cs{ignorespaces} appended}
% This macro will be called at the start of the environment, here is a good
% opportunity to do some adaptations to |\caption| and |\captionsetup|.
% \begin{macrocode}
@@ -3968,7 +3969,7 @@
\SC@RestoreCommands
% \end{macrocode}
% Since the sidecap package uses our |\caption| code outside the
-% environment the regular |\captionsetup| will not work.
+% environment the regular |\caption|\-|setup| will not work.
% So we need a special version here which saves the given argument list
% which will be executed later on.
% Furthermore we need to make |\caption*| work.
@@ -3979,7 +3980,12 @@
% The sidecap package uses |\ifx\label\SC@label| to test if it is just inside a
% |SC|\-|figure| or not. So we redefine |\SC@label| here so this test will still work.
% \begin{macrocode}
- \let\SC@label\label}%
+ \let\SC@label\label
+% \end{macrocode}
+% Since the original definition of |\SC@zfloat| ends with |\begin{lrbox}| which ends with |\ignore|\-|spaces|,
+% we do have to end our re-definition of |\SC@zfloat| with |\ignore|\-|spaces| as well.
+% \begin{macrocode}
+ \ignorespaces}%
% \end{macrocode}
% \begin{macrocode}
\providecommand*\SC@RestoreCommands{%
diff --git a/macros/latex/contrib/caption/fallback/v3.3/caption.dtx b/macros/latex/contrib/caption/fallback/v3.3/caption.dtx
index 7ab24aeaac..b311022734 100644
--- a/macros/latex/contrib/caption/fallback/v3.3/caption.dtx
+++ b/macros/latex/contrib/caption/fallback/v3.3/caption.dtx
@@ -25,7 +25,7 @@
% and the user manuals caption-deu.tex, caption-eng.tex, and caption-rus.tex.
%
% \fi
-% \CheckSum{3694}
+% \CheckSum{3695}
%
% \iffalse
%<*driver>
@@ -220,7 +220,7 @@
%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{caption}[2019/09/01 v3.3d Customizing captions (AR)]
+\ProvidesPackage{caption}[2022/07/10 v3.3e Customizing captions (AR)]
% \end{macrocode}
%
% \subsection{Loading the kernel}
@@ -4411,6 +4411,7 @@
% \changes{v3.1c}{2007/10/06}{\cs{caption} will be saved \& restored now}
% \changes{v3.2a}{2011/08/17}{Bugfix: Uses \cs{caption@freeze} instead of \cs{caption@freeze*} now}
% \changes{v3.3}{2013/05/01}{Usage of \cs{caption@freeze} replaced by \cs{caption@freezetype}}
+% \changes{v3.3e}{2022/07/10}{\cs{ignorespaces} appended}
% This macro will be called at the start of the environment, here is a good
% opportunity to do some adaptations to |\caption| and |\captionsetup|.
% \begin{macrocode}
@@ -4424,7 +4425,7 @@
\SC@RestoreCommands
% \end{macrocode}
% Since the sidecap package uses our |\caption| code outside the
-% environment the regular |\captionsetup| will not work.
+% environment the regular |\caption|\-|setup| will not work.
% So we need a special version here which saves the given argument list
% which will be executed later on.
% Furthermore we need to make |\caption*| work.
@@ -4434,7 +4435,12 @@
% The sidecap package uses |\ifx\label\SC@label| to test if it is just inside a
% |SC|\-|figure| or not. So we redefine |\SC@label| here so this test will still work.
% \begin{macrocode}
- \let\SC@label\label}%
+ \let\SC@label\label
+% \end{macrocode}
+% Since the original definition of |\SC@zfloat| ends with |\begin{lrbox}| which ends with |\ignore|\-|spaces|,
+% we do have to end our re-definition of |\SC@zfloat| with |\ignore|\-|spaces| as well.
+% \begin{macrocode}
+ \ignorespaces}%
% \end{macrocode}
% \begin{macrocode}
\providecommand*\SC@RestoreCommands{%
diff --git a/macros/latex/contrib/caption/fallback/v3.3/caption3.dtx b/macros/latex/contrib/caption/fallback/v3.3/caption3.dtx
index 645c190d78..aa26366333 100644
--- a/macros/latex/contrib/caption/fallback/v3.3/caption3.dtx
+++ b/macros/latex/contrib/caption/fallback/v3.3/caption3.dtx
@@ -2,7 +2,7 @@
%
% This is file `caption3.dtx'.
%
-% Copyright (C) 1994-2019 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
+% Copyright (C) 1994-2022 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{3961}
+% \CheckSum{3960}
%
% \iffalse
%<*driver>
@@ -198,7 +198,7 @@
%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{caption3}[2019/09/01 v1.8d caption3 kernel (AR)]
+\ProvidesPackage{caption3}[2022/03/17 v1.8i caption3 kernel (AR)]
% \end{macrocode}
%
% \subsection{Workaround for bug in package \package{arabtex}}
@@ -765,6 +765,7 @@
% \changes{v1.2}{2007/11/16}{Bugfix 07-11-09: `space hack' added}
% \changes{v1.2a}{2008/01/12}{\cs{ifcaptionsetup@star} will be set now}
% \changes{v1.5}{2012/04/09}{Support of multiple optional arguments added}
+% \changes{v1.8i}{2022/03/17}{Usage of \cs{captionsetup} inside \cs{caption@setup@options@@} replaced by \cs{caption@setup@options@}}
% |\captionsetup|\oarg{type}\ldots\marg{keyval-list of options}\\
% |\captionsetup*|\oarg{type}\ldots\marg{keyval-list of options}\par
% If the optional argument `type' is specified, we simply save or append
@@ -782,20 +783,20 @@
\@ifnextchar[\caption@setup@options\caption@setup}
% \end{macrocode}
% \begin{macrocode}
-\newcommand*\caption@setup{\caption@setkeys{caption}}
+\newcommand*\caption@setup{%
+ \caption@setkeys{caption}}
% \end{macrocode}
% \begin{macrocode}
\def\caption@setup@options[#1]{%
- \@ifnextchar[%
+ \@ifnextchar[%]
{\caption@stepthecounter
- \caption@withoptargs{\@expandtwoargs
- \caption@setup@options@i{#1}{@\caption@thecounter}}}%
+ \@expandtwoargs\caption@setup@options@@{#1}{@\caption@thecounter}}%
{\caption@setup@options@{#1}}}
% \end{macrocode}
% \begin{macrocode}
-\newcommand*\caption@setup@options@i[4]{%
- \caption@setup@options@{#1}{#2}%
- \caption@declare@option{#2}[]{\captionsetup#3{#4}}}
+\def\caption@setup@options@@#1#2[#3]#4{%
+ \caption@declare@option{#2}[]{\caption@setup@options@{#3}{#4}}%
+ \caption@setup@options@{#1}{#2}}
% \end{macrocode}
% \begin{macrocode}
\newcommand*\caption@setup@options@[2]{%
diff --git a/macros/latex/contrib/caption/fallback/v3.4/caption.dtx b/macros/latex/contrib/caption/fallback/v3.4/caption.dtx
index 1e3f79d752..baab32006e 100644
--- a/macros/latex/contrib/caption/fallback/v3.4/caption.dtx
+++ b/macros/latex/contrib/caption/fallback/v3.4/caption.dtx
@@ -218,8 +218,7 @@
%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-%\ProvidesPackage{caption}[2020/07/29 v3.4m Customizing captions (AR)]
-\ProvidesPackage{caption}[2020/09/28 v3.4n Customizing captions (AR)] % Backport of commit 43567491e5b075d661c080bca298f5428f289758 from 2020/09/28
+\ProvidesPackage{caption}[2022/07/10 v3.4o Customizing captions (AR)]
% \end{macrocode}
%
% \section{Loading the kernel}
@@ -3981,6 +3980,7 @@
% \changes{v3.1c}{2007/10/06}{\cs{caption} will be saved \& restored now}
% \changes{v3.2a}{2011/08/17}{Bugfix: Uses \cs{caption@freeze} instead of \cs{caption@freeze*} now}
% \changes{v3.3}{2013/05/01}{Usage of \cs{caption@freeze} replaced by \cs{caption@freezetype}}
+% \changes{v3.4o}{2022/07/10}{\cs{ignorespaces} appended}
% This macro will be called at the start of the environment, here is a good
% opportunity to do some adaptations to |\caption| and |\captionsetup|.
% \begin{macrocode}
@@ -3994,7 +3994,7 @@
\SC@RestoreCommands
% \end{macrocode}
% Since the sidecap package uses our |\caption| code outside the
-% environment the regular |\captionsetup| will not work.
+% environment the regular |\caption|\-|setup| will not work.
% So we need a special version here which saves the given argument list
% which will be executed later on.
% Furthermore we need to make |\caption*| work.
@@ -4004,7 +4004,12 @@
% The sidecap package uses |\ifx\label\SC@label| to test if it is just inside a
% |SC|\-|figure| or not. So we redefine |\SC@label| here so this test will still work.
% \begin{macrocode}
- \let\SC@label\label}%
+ \let\SC@label\label
+% \end{macrocode}
+% Since the original definition of |\SC@zfloat| ends with |\begin{lrbox}| which ends with |\ignore|\-|spaces|,
+% we do have to end our re-definition of |\SC@zfloat| with |\ignore|\-|spaces| as well.
+% \begin{macrocode}
+ \ignorespaces}%
% \end{macrocode}
% \begin{macrocode}
\providecommand*\SC@RestoreCommands{%
diff --git a/macros/latex/contrib/caption/fallback/v3.4/caption3.dtx b/macros/latex/contrib/caption/fallback/v3.4/caption3.dtx
index 5bf40979cb..e48179022b 100644
--- a/macros/latex/contrib/caption/fallback/v3.4/caption3.dtx
+++ b/macros/latex/contrib/caption/fallback/v3.4/caption3.dtx
@@ -2,7 +2,7 @@
%
% This is file `caption3.dtx'.
%
-% Copyright (C) 1994-2020 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
+% Copyright (C) 1994-2022 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
%
% --------------------------------------------------------------------------
%
@@ -28,7 +28,7 @@
% caption-deu.tex, caption-eng.tex, caption-rus.tex.
%
% \fi
-% \CheckSum{3607}
+% \CheckSum{3606}
%
% \iffalse
%<*driver>
@@ -191,7 +191,7 @@
%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{caption3}[2020/07/29 v1.13 caption3 kernel (AR)]
+\ProvidesPackage{caption3}[2022/04/06 v1.13b caption3 kernel (AR)]
% \end{macrocode}
%
% \section{Workaround for bug in package \package{arabtex}}
@@ -728,6 +728,7 @@
% \changes{v1.2a}{2008/01/12}{\cs{ifcaptionsetup@star} will be set now}
% \changes{v1.5}{2012/04/09}{Support of multiple optional arguments added}
% \changes{v1.8h}{2020/01/03}{Syntax check of saved options added}
+% \changes{v1.13a}{2022/03/17}{Usage of \cs{captionsetup} inside \cs{caption@setup@options@@} replaced by \cs{caption@setup@options@}}
% |\captionsetup|\oarg{type}\ldots\marg{keyval-list of options}\\
% |\captionsetup*|\oarg{type}\ldots\marg{keyval-list of options}\par
% If the optional argument `type' is specified, we simply save or append
@@ -746,19 +747,19 @@
\caption@setup@options\caption@setup}
% \end{macrocode}
% \begin{macrocode}
-\newcommand*\caption@setup{\caption@setkeys{caption}}
+\newcommand*\caption@setup{%
+ \caption@setkeys{caption}}
% \end{macrocode}
% \begin{macrocode}
\def\caption@setup@options[#1]{%
\@ifnextchar[%]
{\caption@stepthecounter
- \caption@withoptargs{\@expandtwoargs
- \caption@setup@options@i{#1}{@\caption@thecounter}}}%
+ \@expandtwoargs\caption@setup@options@@{#1}{@\caption@thecounter}}%
{\caption@setup@options@{#1}}}
% \end{macrocode}
% \begin{macrocode}
-\newcommand*\caption@setup@options@i[4]{%
- \caption@declare@option{#2}[]{\captionsetup#3{#4}}%
+\def\caption@setup@options@@#1#2[#3]#4{%
+ \caption@declare@option{#2}[]{\caption@setup@options@{#3}{#4}}%
\caption@setup@options@{#1}{#2}}
% \end{macrocode}
% \begin{macrocode}
@@ -3979,6 +3980,7 @@
% \changes{v1.13}{2020/07/28}{Uses \cs{caption@l@addto@list} instead of \cs{@cons} now}
% \changes{v1.13}{2020/07/29}{Usage of \cs{caption@subtype@hook} added}
% \changes{v1.13}{2020/07/29}{We don't re-use existing counters anymore (This was a bad idea anyway)}
+% \changes{v1.13b}{2022/04/06}{We don't re-use existing counters anymore (Part 2)}
% |\DeclareCaptionSubType|\oarg{numbering scheme}\marg{type}\\
% |\DeclareCaptionSubType*|\oarg{numbering scheme}\marg{type}\par
% The starred variant provides the numbering format
@@ -4015,22 +4017,24 @@
\@namedef{ext@#4}{\csname ext@#3\endcsname}%
\caption@declaresublistentry{#3}%
\caption@l@addto@list\caption@subtypelist{#4}%
- \caption@subtype@hook{#4}}%
+ \caption@subtype@hook{#4}%
% \end{macrocode}
% Support of \package{titletoc} package
% \begin{macrocode}
- \caption@ifdefined\contentsuse{%
- \contentsuse{#4}{\csname ext@#4\endcsname}}{}%
+ \caption@ifdefined\contentsuse{%
+ \contentsuse{#4}{\csname ext@#4\endcsname}}{}%
% \end{macrocode}
% \begin{macrocode}
- \@namedef{#4name}{}%
- \@namedef{#4autorefname}{\csname #3autorefname\endcsname}%
- #1% is \@firstoftwo in star form, and \@secondoftwo otherwise
+ \@namedef{#4name}{}%
+ \@namedef{#4autorefname}{\csname #3autorefname\endcsname}}%
+% \end{macrocode}
+% \begin{macrocode}
+ #1% is \@firstoftwo in star form, and \@secondoftwo otherwise
{\@namedef{p@#4}{}%
\@namedef{the#4}{\csname the#3\endcsname.\@nameuse{#2}{#4}}}%
{\@namedef{p@#4}{\csname the#3\endcsname}%
\@namedef{the#4}{\@nameuse{#2}{#4}}}%
- \@namedef{theH#4}{\csname theH#3\endcsname.\arabic{#4}}}
+ \@namedef{theH#4}{\csname theH#3\endcsname.\arabic{#4}}}
% \end{macrocode}
% \begin{macrocode}
\@onlypreamble\caption@@@declaresubtype
diff --git a/macros/latex/contrib/caption/fallback/v3.5/caption.dtx b/macros/latex/contrib/caption/fallback/v3.5/caption.dtx
index 463e9052fa..f5d5569ed8 100644
--- a/macros/latex/contrib/caption/fallback/v3.5/caption.dtx
+++ b/macros/latex/contrib/caption/fallback/v3.5/caption.dtx
@@ -32,7 +32,7 @@
% caption-deu.tex, caption-eng.tex, caption-rus.tex.
%
% \fi
-% \CheckSum{2702}
+% \CheckSum{2703}
%
% \iffalse
%<*driver>
@@ -241,7 +241,7 @@
%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{caption}[2022/03/01 v3.5h Customizing captions (AR)]
+\ProvidesPackage{caption}[2022/07/10 v3.5i Customizing captions (AR)]
% \end{macrocode}
%
% \section{Loading the kernel}
@@ -3762,6 +3762,7 @@
% \changes{v3.1c}{2007/10/06}{\cs{caption} will be saved \& restored now}
% \changes{v3.2a}{2011/08/17}{Bugfix: Uses \cs{caption@freeze} instead of \cs{caption@freeze*} now}
% \changes{v3.3}{2013/05/01}{Usage of \cs{caption@freeze} replaced by \cs{caption@freezetype}}
+% \changes{v3.5i}{2022/07/10}{\cs{ignorespaces} appended}
% This macro will be called at the start of the environment, here is a good
% opportunity to do some adaptations to |\caption| and |\captionsetup|.
% \begin{macrocode}
@@ -3775,7 +3776,7 @@
\SC@RestoreCommands
% \end{macrocode}
% Since the sidecap package uses our |\caption| code outside the
-% environment the regular |\captionsetup| will not work.
+% environment the regular |\caption|\-|setup| will not work.
% So we need a special version here which saves the given argument list
% which will be executed later on.
% Furthermore we need to make |\caption*| work.
@@ -3785,7 +3786,12 @@
% The sidecap package uses |\ifx\label\SC@label| to test if it is just inside a
% |SC|\-|figure| or not. So we redefine |\SC@label| here so this test will still work.
% \begin{macrocode}
- \let\SC@label\label}%
+ \let\SC@label\label
+% \end{macrocode}
+% Since the original definition of |\SC@zfloat| ends with |\begin{lrbox}| which ends with |\ignore|\-|spaces|,
+% we do have to end our re-definition of |\SC@zfloat| with |\ignore|\-|spaces| as well.
+% \begin{macrocode}
+ \ignorespaces}%
% \end{macrocode}
% \begin{macrocode}
\providecommand*\SC@RestoreCommands{%
diff --git a/macros/latex/contrib/caption/fallback/v3.5/caption3.dtx b/macros/latex/contrib/caption/fallback/v3.5/caption3.dtx
index 993af95854..9542d63b79 100644
--- a/macros/latex/contrib/caption/fallback/v3.5/caption3.dtx
+++ b/macros/latex/contrib/caption/fallback/v3.5/caption3.dtx
@@ -2,7 +2,7 @@
%
% This is file `caption3.dtx'.
%
-% Copyright (C) 1994-2020 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
+% Copyright (C) 1994-2022 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
%
% --------------------------------------------------------------------------
%
@@ -32,7 +32,7 @@
% caption-deu.tex, caption-eng.tex, caption-rus.tex.
%
% \fi
-% \CheckSum{3674}
+% \CheckSum{3673}
%
% \iffalse
%<*driver>
@@ -242,7 +242,7 @@
%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{caption3}[2020/10/26 v2.2f caption3 kernel (AR)]
+\ProvidesPackage{caption3}[2022/04/06 v2.2h caption3 kernel (AR)]
% \end{macrocode}
%
% \section{Generic helpers}
@@ -810,6 +810,7 @@
% \changes{v1.2a}{2008/01/12}{\cs{ifcaptionsetup@star} will be set now}
% \changes{v1.5}{2012/04/09}{Support of multiple optional arguments added}
% \changes{v1.8h}{2020/01/03}{Syntax check of saved options added}
+% \changes{v2.2g}{2022/03/17}{Usage of \cs{captionsetup} inside \cs{caption@setup@options@@} replaced by \cs{caption@setup@options@}}
% |\captionsetup*|\oarg{type}\ldots\marg{keyval-list of options}\\
% applies the given list of options.
% If the optional argument `type' is specified, we simply save or append
@@ -828,19 +829,19 @@
\caption@setup@options\caption@setup}
% \end{macrocode}
% \begin{macrocode}
-\newcommand*\caption@setup{\caption@setkeys{caption}}
+\newcommand*\caption@setup{%
+ \caption@setkeys{caption}}
% \end{macrocode}
% \begin{macrocode}
\def\caption@setup@options[#1]{%
\@ifnextchar[%]
{\caption@stepthecounter
- \caption@withoptargs{\@expandtwoargs
- \caption@setup@options@i{#1}{@\caption@thecounter}}}%
+ \@expandtwoargs\caption@setup@options@@{#1}{@\caption@thecounter}}%
{\caption@setup@options@{#1}}}
% \end{macrocode}
% \begin{macrocode}
-\newcommand*\caption@setup@options@i[4]{%
- \caption@declare@option{#2}[]{\captionsetup#3{#4}}%
+\def\caption@setup@options@@#1#2[#3]#4{%
+ \caption@declare@option{#2}[]{\caption@setup@options@{#3}{#4}}%
\caption@setup@options@{#1}{#2}}
% \end{macrocode}
% \begin{macrocode}
@@ -4431,6 +4432,7 @@
% \changes{v1.13}{2020/07/28}{Uses \cs{caption@l@addto@list} instead of \cs{@cons} now}
% \changes{v1.13}{2020/07/29}{Usage of \cs{caption@subtype@hook} added}
% \changes{v1.13}{2020/07/29}{We don't re-use existing counters anymore (This was a bad idea anyway)}
+% \changes{v1.13b}{2022/04/06}{We don't re-use existing counters anymore (Part 2)}
% |\DeclareCaptionSubType*|\oarg{numbering scheme}\marg{type}\\
% The starred variant provides the numbering format
% \meta{type}|.|\meta{subtype} while the non-starred variant simply uses
@@ -4466,22 +4468,24 @@
\@namedef{ext@#4}{\csname ext@#3\endcsname}%
\caption@declaresublistentry{#3}%
\caption@l@addto@list\caption@subtypelist{#4}%
- \caption@subtype@hook{#4}}%
+ \caption@subtype@hook{#4}%
% \end{macrocode}
% Support of \package{titletoc} package
% \begin{macrocode}
- \caption@ifdefined\contentsuse{%
- \contentsuse{#4}{\csname ext@#4\endcsname}}{}%
+ \caption@ifdefined\contentsuse{%
+ \contentsuse{#4}{\csname ext@#4\endcsname}}{}%
% \end{macrocode}
% \begin{macrocode}
- \@namedef{#4name}{}%
- \@namedef{#4autorefname}{\csname #3autorefname\endcsname}%
- #1% is \@firstoftwo in star form, and \@secondoftwo otherwise
+ \@namedef{#4name}{}%
+ \@namedef{#4autorefname}{\csname #3autorefname\endcsname}}%
+% \end{macrocode}
+% \begin{macrocode}
+ #1% is \@firstoftwo in star form, and \@secondoftwo otherwise
{\@namedef{p@#4}{}%
\@namedef{the#4}{\csname the#3\endcsname.\@nameuse{#2}{#4}}}%
{\@namedef{p@#4}{\csname the#3\endcsname}%
\@namedef{the#4}{\@nameuse{#2}{#4}}}%
- \@namedef{theH#4}{\csname theH#3\endcsname.\arabic{#4}}}
+ \@namedef{theH#4}{\csname theH#3\endcsname.\arabic{#4}}}
% \end{macrocode}
% \begin{macrocode}
\@onlypreamble\caption@@@declaresubtype
diff --git a/macros/latex/contrib/caption/subcaption.dtx b/macros/latex/contrib/caption/subcaption.dtx
index 31b76d94fd..0283d91eef 100644
--- a/macros/latex/contrib/caption/subcaption.dtx
+++ b/macros/latex/contrib/caption/subcaption.dtx
@@ -2,7 +2,7 @@
%
% This is file `subcaption.dtx'.
%
-% Copyright (C) 2007-2022 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
+% Copyright (C) 2007-2023 Axel Sommerfeldt (axel.sommerfeldt@f-m.fm)
%
% --------------------------------------------------------------------------
%
@@ -31,12 +31,12 @@
%
% \fi
%
-% \CheckSum{468}
+% \CheckSum{513}
%
% \iffalse
%<*driver>
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesFile{subcaption.drv}[2022/02/20 v1.5 Adds a sub-caption feature to the caption package]
+\ProvidesFile{subcaption.drv}[2023/02/19 v1.6 Adds a sub-caption feature to the caption package]
\hbadness=9999 \newcount\hbadness \hfuzz=74pt % Make TeX shut up.
%\errorcontextlines=3
%
@@ -67,7 +67,7 @@
\newcommand*\purerm[1]{{\upshape\mdseries\rmfamily #1}}
\newcommand*\puresf[1]{{\upshape\mdseries\sffamily #1}}
\newcommand*\purett[1]{{\upshape\mdseries\ttfamily #1}}
-\let\pkg\puresf
+\let\cls\puresf \let\pkg\puresf
\let\env\purett \let\opt\purett
%
\newcommand*\csmarg[1]{\texttt{\char`\{#1\char`\}}}
@@ -148,11 +148,6 @@
% This package demonstrates its usage by offering a high-level user interface additionally.
% \end{background*}
%
-% \bigskip
-% \INFO
-% \emph{Please note:}
-% This package is incompatible with the \pkg{subfigure} and \pkg{subfig} packages.
-%
% \clearpage
% \setcounter{tocdepth}{2}
% \tableofcontents
@@ -178,7 +173,7 @@
% is identical to
% \begin{quote}
% |\usepackage{subcaption}|\\
-% |\captionsetup[sub]|\marg{options}\quad.
+% |\subcaptionsetup|\marg{options}\quad.
% \end{quote}
%
% \bigskip
@@ -193,10 +188,57 @@
% specifying the option \texttt{list=true}.}
% \end{quote}
%
+% \iffalse
+% --------------------------------------------------------------------------- %
+% \fi
+%
+% \PageBreak
+% \section{Setting options}
+% \label{sec:options}
+%
+% \DescribeMacro\subcaptionsetup
+% \NEWfeature*{v1.6}
+% The |\subcaptionsetup| command sets options specifically for sub-captions.
+%
+% \begin{quote}
+% |\subcaptionsetup|\marg{options}
+% \end{quote}
+% sets options valid for all sub-captions.
+%
+% \pagebreak[3]
+% An example:
+% \begin{quote}
+% |\subcaptionsetup{font=it}|
+% \end{quote}
+% sets the font to ``italic'' for all sub-captions.
+%
+% \medskip
+%
+% \begin{quote}
+% |\subcaptionsetup|\oarg{environment}\marg{options}
+% \end{quote}
+% is an alternative syntax to
+% \begin{quote}
+% |\caption|\-|setup[sub|\meta{environment}|]|\marg{options}\quad.
+% \end{quote}
+%
+% \pagebreak[3]
+% An example:
+% \begin{quote}
+% |\subcaptionsetup[table]{labelformat=simple}|
+% \end{quote}
+% is identical to
+% \begin{quote}
+% |\captionsetup[subtable]{labelformat=simple}|
+% \end{quote}
+% and sets the labelformat to ``simple'' for all sub-captions inside tables.
+%
+% \bigskip
+%
% Options specified with |\usepackage[|\ldots|]{sub|\-|caption}| and
-% |\caption|\-|setup[sub]{|\ldots|}| will override the ones specified by
+% |\sub|\-|caption|\-|setup{|\ldots|}| will override the ones specified by
% |\caption|\-|setup{|\ldots|}| and |\caption|\-|setup[fig|\-|ure]{|\ldots|}|,
-% but are again overwritten by |\caption|\-|setup[sub|\-|figure]{|\ldots|}|
+% but are again overwritten by |\subcaption|\-|setup[figure]{|\ldots|}|
% (same for `table'). So finally we have the following order how
% settings for sub-captions are applied:
% \begin{enumerate}
@@ -209,9 +251,9 @@
% \item Default `sub' settings
% {\small(|margin=0pt,font+=smaller,|\ldots, see above)}
% \item Custom `sub' settings
-% {\small(|\usepackage[|\ldots|]{subcaption}| and |\captionsetup[sub]{|\ldots|}|)}
+% {\small(|\usepackage[|\ldots|]{subcaption}| and |\subcaptionsetup{|\ldots|}|)}
% \item Environmental `sub' settings
-% {\small(|\captionsetup[subfigure|\emph{ -or- }|subtable]{|\ldots|}|)}
+% {\small(|\subcaptionsetup[figure|\emph{ -or- }|table]{|\ldots|}|)}
% \item Local `sub' settings
% {\small(|\captionsetup{|\ldots|}| inside |sub|\-|figure| or |sub|\-|table|)}
% \end{enumerate}
@@ -222,9 +264,9 @@
% |\usepackage[labelsep=quad,indention=10pt]{caption}|\\
% |\usepackage[labelfont=bf,list=true]{subcaption}|\\
% |\captionsetup[table]{textfont=it,position=top}|\\
-% |\captionsetup[subtable]{textfont=sf}|
+% |\subcaptionsetup[table]{textfont=sf}|
% \end{quote}
-% causes the captions inside |sub|\-|table| environments to be typeset with
+% causes sub-captions inside |table| environments to be typeset with
% the settings
% \begin{quote}
% |indention=10pt,position=top,margin=0pt,font=small,|\\
@@ -258,8 +300,8 @@
% \meta{width} is the width of the resulting |\par|\-|box|; the default value is the width of the contents.
%
% \meta{inner-pos} specifies how the contents will be justified inside the resulting |\parbox|;
-% it can be either `c' (for |\centering|), `l' (for |\ragged|\-|right|),
-% `r' (for |\ragged|\-|left|), or `s' (for no special justification).
+% it can be either `c' (centered, using |\centering|), `l' (left-justified, using |\ragged|\-|right|),
+% `r' (right-justified, using |\ragged|\-|left|), or `s' (for no special justification).
% The default is `c'.
% (But you can use any justification defined with
% |\Declare|\-|Caption|\-|Jus|\-|ti|\-|fi|\-|ca|\-|tion| as well,
@@ -401,13 +443,13 @@
% \end{quote}
% \endgroup
%
-% The default value for \meta{outer-pos} is `b' and the default value for \meta{inner-pos} is `s'.
-% (Note that the default value for \meta{outer-pos} has changed from `c' to `b' in version $1.5$ of \thispackage.)
+% The default value for \meta{outer-pos} is either `b' (if no main caption was typeset so far) or `t' (if a main caption was already typeset),
+% and the default value for \meta{inner-pos} is `s'.
%
% \NEWfeature{v1.2}
% Beside the \meta{outer-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
+% values `T' and `B' additionally which align the contents at the
+% very top resp.~bottom. (In contrast `t' and `b' align the contents at the
% top resp.~bottom \textit{baseline}.)
%
% \bigskip
@@ -494,6 +536,8 @@
% So if in doubt, or when writing own \LaTeX\ commands which should work in every floating environment,
% using |sub|\-|caption|\-|block| is the correct choice.
%
+% (Note that the default value for \meta{outer-pos} has changed from `c' to either `b' or `t' in version $1.5$ of \thispackage.)
+%
% \smallskip
%
% \begin{background}
@@ -657,7 +701,7 @@
% \leftmargini=12pt
% \begin{quote}
% |\DeclareCaptionSubType*[arabic]{table}|\\
-% |\captionsetup[subtable]{labelformat=simple,labelsep=colon}|
+% |\subcaptionsetup[table]{labelformat=simple,labelsep=colon}|
% \end{quote}
% \endgroup
% \pagebreak[2]
@@ -698,8 +742,8 @@
% \DescribeMacro\p@subfigure
% For example |\thesubfigure| and |\p@subfigure| are (as default) internally defined as
% \begin{quote}
-% |\newcommand\thesubfigure{\alph{subfigure}}|\\
-% |\newcommand\p@subfigure{\thefigure}|
+% |\newcommand\thesubfigure{\alph{subfigure}}|\\
+% |\newcommand\p@subfigure{\thefigure}|
% \end{quote}
% so the label of sub-captions will look like `|a|' (decorated by the selected label format),
% while references will look like `|1a|' since they are prefixed by |\p@sub|\-|figure| $=$
@@ -708,8 +752,8 @@
% After |\Declare|\-|Caption|\-|Sub|\-|Type*[arabic]{figure}|, |\the|\-|sub|\-|figure| and
% |\p@sub|\-|figure| will look like
% \begin{quote}
-% |\renewcommand\thesubfigure{\thefigure.\arabic{subfigure}}|\\
-% |\renewcommand\p@subfigure{}|
+% |\renewcommand\thesubfigure{\thefigure.\arabic{subfigure}}|\\
+% |\renewcommand\p@subfigure{}|
% \end{quote}
%
% But if you want detailed control on how the references will look like,
@@ -720,8 +764,8 @@
% If you want parentheses around the sub-figure part of the reference,
% so they will look like `|1(a)|', you may get them this way:
% \begin{quote}
-% |\usepackage[labelformat=simple]{subcaption}|\\
-% |\renewcommand\thesubfigure{(\alph{subfigure})}|
+% |\usepackage[labelformat=simple]{subcaption}|\\
+% |\renewcommand\thesubfigure{(\alph{subfigure})}|
% \end{quote}
% {\small (\emph{Note:} Since |parens| is the default label format you will get double
% parentheses in sub-captions when not specifiying a different label format, e.g. |simple|.)}
@@ -730,10 +774,10 @@
% but the sub-captions itself should still look like `|(a)|',
% this would be a possible solution:
% \begin{quote}
-% |\usepackage{subcaption}|\\
-% |\renewcommand\thesubfigure{\alph{subfigure})}|\\
-% |\DeclareCaptionLabelFormat{opening}{(#2}|\\
-% |\captionsetup[subfigure]{labelformat=opening}|
+% |\usepackage{subcaption}|\\
+% |\renewcommand\thesubfigure{\alph{subfigure})}|\\
+% |\DeclareCaptionLabelFormat{opening}{(#2}|\\
+% |\subcaptionsetup[figure]{labelformat=opening}|
% \end{quote}
%
% \bigskip
@@ -1253,11 +1297,11 @@
% \begin{quote}
% |\begin{figure}|\\
% | \centering|\\
-% | \captionsetup[subfigure]|\\
+% | \subcaptionsetup[figure]|\\
% | {skip=-28pt,slc=off,margin={25pt,0pt}}|\\
% | \subcaptionbox{\label{cat}}|\\
% | {\includegraphics[width=60pt]{cat}}|\\
-% | \captionsetup[subfigure]|\\
+% | \subcaptionsetup[figure]|\\
% | {skip=-60pt,slc=off,margin={80pt,0pt}}|\\
% | \subcaptionbox{\label{elephant}}|\\
% | {\includegraphics[width=140pt]{elephant}}|\\
@@ -1512,12 +1556,12 @@
% \begin{minipage}{\textwidth}
% \centering
% \begin{tabular}{l|l|l}
-% Regular command & with \cs{setcaptionsubtype*} & available since \\
+% Regular command & using \cs{setcaptionsubtype*} & available since \\
% \hline
-% |\caption| & |\subcaption| & \version{1.0} \\
-% |\phantomcaption| & |\phantomsubcaption| & \version{1.1} \\
-% |\captionlistentry| & |\subcaptionlistentry| & \version{1.5} \\
-% |\captiontext| & |\subcaptiontext| & \version{1.5} \\
+% |\caption| & |\subcaption| & \version{1.0} \\
+% |\phantomcaption| & |\phantomsubcaption| & \version{1.1} \\
+% |\captionlistentry| & |\subcaptionlistentry| & \version{1.5} \\
+% |\captiontext| & |\subcaptiontext| & \version{1.5} \\
% \end{tabular}
% \end{minipage}
%
@@ -1597,6 +1641,52 @@
% --------------------------------------------------------------------------- %
% \fi
%
+% \section{Other packages with similar offerings}
+% \label{sec:otherpackages}
+%
+% The \pkg{subcaption} package is not the only one defining sub-figure counters and offering commands or environments to typeset sub-figures.
+% The most established are:
+% \begin{itemize}
+% \item The \cls{memoir} document class
+% \item The \pkg{subfigure} package and its successor, the \pkg{subfig} package
+% \end{itemize}
+%
+% \NEWfeature{v1.6}
+% Prior subcaption version $1.6$ an error message was issued if the `subfigure' or `subtable' counter was already defined by any of them.
+% Since subcaption version $1.6$ the `subfigure' and `subtable' counters will only be defined by the \pkg{subcaption} package if they are not defined yet,
+% but the usage of any of the commands or environments described in this document will result in an error message ``The counter sub\ldots was defined by \ldots''
+% if the corresponding counter was not defined by the \pkg{subcaption} package.
+% Equally the commands or environments offered by the above document classes or packages should not be used with counters defined by the \pkg{subcaption} package,
+% this will result in either \LaTeX\ errors or unwanted behaviour.
+%
+% So the rule of thumb is:
+% If the counter `subfigure' or `subtable' is defined by document class or package \textit{xyz},
+% then the corresponding commands and environments offered by the document class or package \textit{xyz} should be used.
+%
+% \pagebreak[3]
+% An example document:
+% \begingroup\small\leftmargini=12pt\relax
+% \begin{quote}
+% |\documentclass{memoir}|\\
+% |\newsubfloat{table} % defines the `subtable' counter|\\
+% |\usepackage{subcaption} % defines the `subfigure' counter|\\
+% |\begin{document}|\\
+% |\begin{figure}|\\
+% |\subcaptionbox{...}{...} % <- This is fine|\\
+% |\caption{...}|\\
+% |\end{figure}|\\
+% |\begin{table}|\\
+% |\caption{...}|\\
+% |\subcaptionbox{...}{...} % <- This results in an error,|\\
+% |\end{table} \subtop should be used instead|\\
+% |\end{document}|\\
+% \end{quote}
+% \endgroup
+%
+% \iffalse
+% --------------------------------------------------------------------------- %
+% \fi
+%
% \PageBreak
% \section{Beyond this package}
% \label{keyfloat}\label{floatrow}
@@ -1783,7 +1873,7 @@
%
% Identify the current version of the package.
% \begin{macrocode}
-\ProvidesPackage{subcaption}[2022/01/07 v1.5 Sub-captions (AR)]
+\ProvidesPackage{subcaption}[2023/02/19 v1.6 Sub-captions (AR)]
% \end{macrocode}
%
% Since we base on the \pkg{caption} package we load it here.
@@ -1793,6 +1883,16 @@
%
% \subsection{Initial code}
%
+% \begin{macro}{\subcaption@Info}
+% \changes{v1.6}{2022/04/07}{This macro added}
+% |\subcaption@Info|\marg{message}\\
+% issues an info message (with code line indication).
+% \begin{macrocode}
+\newcommand*\subcaption@Info{%
+ \PackageInfo{subcaption}}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\subcaption@Warning}
% \changes{v1.5}{2022/01/06}{This macro added}
% |\subcaption@Warning|\marg{message}\\
@@ -1828,43 +1928,19 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\subcaption@CheckCompatibility}
-% \changes{v1.1}{2011/09/01}{Compatibility error added}
-% \changes{v1.1}{2016/05/22}{The presence of \pkg{subfigure} or \pkg{subfig} will be checked \cs{AtBeginDocument}, too}
-% \changes{v1.3g}{2020/08/01}{Error text adapted to \pkg{caption} package~\version{4.0}}
-% \changes{v1.4}{2020/12/22}{Adapted to fallback concept}
-% Since we are incompatible to them an error message will be issued when
-% the \pkg{subfigure} or \pkg{subfig} package is loaded.
-% \begin{macrocode}
-\newcommand*\subcaption@CheckCompatibility{%
-% \end{macrocode}
-% \begin{macrocode}
- \@ifpackageloaded{subfigure}{%
- \subcaption@Error
- {This package can't be used in cooperation\MessageBreak
- with the subfigure package}%
- \endinput}{}%
-% \end{macrocode}
-% \begin{macrocode}
- \@ifpackageloaded{subfig}{%
- \subcaption@Error
- {This package can't be used in cooperation\MessageBreak
- with the subfig package}%
- \endinput}{}%
-% \end{macrocode}
-% \begin{macrocode}
-}
-% \end{macrocode}
+% \subsection{Main code}
+%
+% \begin{macro}{\subcaptionsetup}
+% \changes{v1.6}{2023/02/19}{This macro definition added}
+% |\subcaptionsetup*|\oarg{environment}\marg{options}
+% is an abbreviation for |\caption|\-|setup*[sub|\meta{environment}|]|\marg{options},
+% especially |\sub|\-|caption|\-|setup|\marg{options} sets options valid for all sub-captions.
% \begin{macrocode}
-\subcaption@CheckCompatibility
-\caption@AtBeginDocument{%
- \subcaption@CheckCompatibility
- \let\subcaption@CheckCompatibility\@undefined}
+\newcommand*\subcaptionsetup[1][]{%
+ \@ifstar{\captionsetup*[{sub#1}]}{\captionsetup[{sub#1}]}}
% \end{macrocode}
% \end{macro}
%
-% \subsection{Main code}
-%
% \begin{macro}{\setcaptionsubtype}
% \changes{v1.4}{2020/12/24}{This macro definition added}
% \changes{v1.5}{2022/01/07}{Check added if used inside a floating environment}
@@ -1908,11 +1984,14 @@
% \changes{v1.3d}{2020/01/22}{Definition and usage of \cs{@subfloatboxreset} added}
% \changes{v1.5}{2022/01/07}{This macro definition out-sourced from \cs{subcaption@newminipage}}
% \changes{v1.5}{2022/01/07}{Usage of \cs{@ifnextchar} replaced by \cs{@testopt}}
-% \changes{v1.5}{2022/01/07}{Default value of \meta{outer-pos} changes from `c' to `b'}
+% \changes{v1.5}{2022/01/07}{Default value of \meta{outer-pos} changed from `c' to `b'}
+% \changes{v1.5a}{2022/04/16}{Default value of \meta{outer-pos} changed from `b' to either `b' or `t'}
% This is a \env{minipage} with |\set|\-|caption|\-|sub|\-|type| as first contents line.
% \begin{macrocode}
\newcommand*\subcaption@minipage{%
- \@testopt\subcaption@iminipage b}
+ \kernel@ifnextchar[%]
+ \subcaption@iminipage
+ {\caption@ifcaption{\subcaption@iminipage[t]}{\subcaption@iminipage[b]}}}
% \end{macrocode}
% We pass all other optional arguments using the generic helper macro
% |\caption@with|\-|opt|\-|args| offered by the \pkg{caption} kernel).
@@ -1947,6 +2026,10 @@
% \begin{macrocode}
\providecommand*\@subfloatboxreset{}
% \end{macrocode}
+% \begin{macrocode}
+\providecommand*\caption@ifcaption{\caption@ifflag2} % caption >= v3.3 < v3.6
+\providecommand*\caption@ifflag[1]{\@secondoftwo} % caption < v3.3
+% \end{macrocode}
% \end{macro}
%
% \begin{environment}{subcaptionblock}
@@ -2232,8 +2315,8 @@
% \begin{macrocode}
\let\caption@setkeys@ORI\caption@setkeys
\@ifundefined{caption@SetupOptions} % caption3 v1.3
- {\renewcommand\caption@setkeys[2]{\captionsetup[sub]{#2}}}
- {\caption@SetupOptions{subcaption}{\captionsetup[sub]{#2}}}
+ {\renewcommand\caption@setkeys[2]{\subcaptionsetup{#2}}}
+ {\caption@SetupOptions{subcaption}{\subcaptionsetup{#2}}}
% \end{macrocode}
% \begin{macrocode}
\@ifundefined{caption@smaller} % caption3 v1.7-169
@@ -2250,16 +2333,32 @@
\let\caption@setkeys@ORI\@undefined
% \end{macrocode}
%
+% \begin{macro}{\subcaption@DeclareType}
+% \changes{v1.6}{2022/04/07}{This macro added}
+% |\subcaption@DeclareType|\marg{type}\\
+% defines the sub-counter via |\Declare|\-|Caption|\-|Sub|\-|Type| offered by the \pkg{caption} package.
+% \begin{macrocode}
+\newcommand*\subcaption@DeclareType[1]{%
+ \@ifundefined{c@sub#1}%
+ {\DeclareCaptionSubType{#1}}%
+ {\caption@subtypesource\caption@subtype@source{sub#1}%
+ \subcaption@Info{The counter `sub#1' was already defined by\MessageBreak\caption@subtype@source}}}
+% \end{macrocode}
+% \begin{macrocode}
+\providecommand*\caption@subtypesource[2]{\def#1{a different package}} % caption3 v2.4
+% \end{macrocode}
+% \end{macro}
+%
% We call |\Declare|\-|Caption|\-|Sub|\-|Type| for |figure| and |table|,
% and each floating environment declared with |\Declare|\-|Floating|\-|Environment| here.
% \begin{macrocode}
\@ifundefined{ForEachCaptionType} % caption3 v1.13
{\@ifundefined{caption@ForEachType} % caption3 v1.4a
- {\@ifundefined{c@figure}{}{\DeclareCaptionSubType{figure}}%
- \@ifundefined{c@table}{}{\DeclareCaptionSubType{table}}%
- \caption@For{typelist}{\DeclareCaptionSubType{#1}}}
- {\caption@ForEachType{\DeclareCaptionSubType{#1}}}}
- {\ForEachCaptionType{\DeclareCaptionSubType{#1}}}
+ {\@ifundefined{c@figure}{}{\subcaption@DeclareType{figure}}%
+ \@ifundefined{c@table}{}{\subcaption@DeclareType{table}}%
+ \caption@For{typelist}{\subcaption@DeclareType{#1}}}
+ {\caption@ForEachType{\subcaption@DeclareType{#1}}}}
+ {\ForEachCaptionType{\subcaption@DeclareType{#1}}}
% \end{macrocode}
%
% \subsection{Bonus material}
@@ -2340,6 +2439,22 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\caption@subfloatrow@hook}
+% \changes{v1.6}{2022/04/17}{Support of this hook added}
+% Inside the |sub|\-|float|\-|row| environment offered by the \pkg{floatrow} package
+% the usage of |\caption| etc.~needs to be mapped to |\sub|\-|caption| etc.
+% \begin{macrocode}
+\providecommand*\caption@subfloatrow@hook{} % caption < v3.7
+% \end{macrocode}
+% \begin{macrocode}
+\g@addto@macro\caption@subfloatrow@hook{%
+ \let\caption\subcaption
+ \let\phantomcaption\phantomsubcaption
+ \let\captionlistentry\subcaptionlistentry
+ \let\captiontext\subcaptiontext}
+% \end{macrocode}
+% \end{macro}
+%
% \subsubsection{The \cs{subfloat} command}
%
% \begin{macro}{\subfloat}
@@ -2353,34 +2468,50 @@
% \changes{v1.4}{2020/12/24}{Usage of \cs{caption@getlabel} replaced by \cs{subcaption@getlabel}}
% \changes{v1.4a}{2020/12/26}{Clearance of \cs{caption@thelabel} replaced by \cs{subcaption@clrlabel}}
% \changes{v1.5}{2022/01/07}{Usage of \cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}}
-% \changes{v1.5}{2022/01/07}{Overwrites the definition defined by the \pkg{memoir} document class}
+% \changes{v1.5}{2022/01/07}{Overwrites the definition done by the \cls{memoir} document class}
+% \changes{v1.6}{2022/04/16}{Emulates the definition done by the \cls{memoir} document class}
% |\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}
-\@ifclassloaded{memoir}{\let\subfloat\undefined\let\endsubfloat\undefined}{}
-% \end{macrocode}
-% \begin{macrocode}
\caption@AtBeginDocument{%
- \providecommand*\subfloat{%
- \kernel@ifnextchar[%]
- \subcaption@subfloat
- \subcaption@subfloat@}}
+ \begingroup
+ \newenvironment{subcaption@memoir@subfloat}{}{}%
+ \ifx\subfloat\subcaption@memoir@subfloat
+ \endgroup
+ % "subfloat" = empty environment, defined by memoir
+ \renewcommand*\subfloat{%
+ \def\subcaption@currenvir{subfloat}%
+ \ifx\@currenvir\subcaption@currenvir
+ % emulate (empty) subfloat environment
+ \else
+ \expandafter\subcaption@subfloat
+ \fi}%
+ \else
+ \endgroup
+ \providecommand*\subfloat{\subcaption@subfloat}%
+ \fi}
+% \end{macrocode}
+% \begin{macrocode}
+\newcommand*\subcaption@subfloat{%
+ \kernel@ifnextchar[%]
+ \subcaption@@subfloat
+ \subcaption@subfloat@}
% \end{macrocode}
% \begin{macrocode}
-\long\def\subcaption@subfloat[#1]{%
+\long\def\subcaption@@subfloat[#1]{%
\kernel@ifnextchar[%]
- {\subcaption@@subfloat{#1}}%
- {\subcaption@@@subfloat\subcaptionbox{#1}}}
+ {\subcaption@@@subfloat{#1}}%
+ {\subcaption@@subfloat@\subcaptionbox{#1}}}
% \end{macrocode}
% \begin{macrocode}
-\long\def\subcaption@@subfloat#1[#2]{%
- \subcaption@@@subfloat{\subcaptionbox[{#1}]}{#2}}
+\long\def\subcaption@@@subfloat#1[#2]{%
+ \subcaption@@subfloat@{\subcaptionbox[{#1}]}{#2}}
% \end{macrocode}
% \begin{macrocode}
-\long\def\subcaption@@@subfloat#1#2#3{%
+\long\def\subcaption@@subfloat@#1#2#3{%
\subcaption@getlabel{#3}%
#1{#2\caption@thelabel}{\let\label\caption@gobble#3}%
\subcaption@clrlabel
diff --git a/macros/latex/contrib/caption/subcaption.pdf b/macros/latex/contrib/caption/subcaption.pdf
index 745e7ae948..a3039a091c 100644
--- a/macros/latex/contrib/caption/subcaption.pdf
+++ b/macros/latex/contrib/caption/subcaption.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
index 11e2450911..8758178328 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
index 4eae208f9e..28816bea95 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
@@ -5,13 +5,14 @@
% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
\documentclass[a4paper,french,11pt]{article}
-\def\PLversion{2.5.3}
-\def\PLdate{19 Février 2023}
+\def\PLversion{2.5.4}
+\def\PLdate{11 Mars 2023}
\usepackage{ProfLycee}
\useproflyclib{piton,minted,pythontex}
-\usepackage{lualatex-math}
-\usepackage{luatexbase}
-\usepackage[math-style=french,bold-style=ISO]{fourier-otf}
+%\usepackage{lualatex-math}
+%\usepackage{luatexbase}
+\usepackage[math-style=french]{fourier-otf}
+%\setsansfont{Fira Sans}[Scale=MatchLowercase]
\usepackage[lua]{tkz-euclide}
\usepackage{tkz-tab}
\tikzstyle{every picture}+=[remember picture]
@@ -753,7 +754,7 @@ $x_0 \approx \num[minimum-decimal-digits=2]{\masolutiona}$ arrondi à $10^{-2}$.
Quelques explications sur les \Cle{clés} et sur les arguments :
\begin{itemize}
- \item la clé \Cle{Précision} qui permet de spécifier le nombre de chiffres après la virgule de la solution ; \hfill{}défaut \Cle{2}
+ \item la clé \Cle{Précision} pour le nombre de chiffres après la virgule de la solution ; \hfill{}défaut \Cle{2}
\item la clé (obligatoire !) \Cle{Intervalle} qui permet de préciser l'intervalle initial de recherche ;
\item la clé \Cle{Variable} qui permet de spécifier la variable de l'équation ;\hfill{}défaut \Cle{x}
\item l'argument \textit{obligatoire} est l'équation, sous la forme $f(\ldots)=k$ (ou $f(\ldots)$ pour $f(\ldots)=0$) ;
@@ -845,8 +846,9 @@ Avec $\varphi(t)=3t\,\rm{e}^{-0,5t+1}=5$,
\end{codetex}
\begin{codetex}[]
-On s'intéresse à $g(x)=\num{1,5}$ avec $g(x)=\ln(x)$.
-\SolutionTVI[Balayage,Stretch=1.5,va=4.48,vb=4.49,NomFct=g,Precision=4,NomSol={x_0}]{log(x)}{1.5}.
+On s'intéresse à $g(x)=\num{1,5}$ avec $g(x)=\ln(x)$.\\
+\SolutionTVI%
+ [Balayage,Stretch=1.5,va=4.48,vb=4.49,NomFct=g,Precision=4,NomSol={x_0}]{log(x)}{1.5}.
\end{codetex}
\subsection{Interaction avec la commande de résolution approchée}
@@ -2547,15 +2549,15 @@ Plusieurs \Cle{arguments} (optionnels) sont disponibles :
\end{codecles}
\begin{codetex}[listing only]
-\begin{CodePythonMinted}[12cm][center]
- #environnement Python(minted) centré avec numéros, de largeur 12cm
+\begin{CodePythonMinted}[13cm][center]
+ #environnement Python(minted) centré avec numéros, de largeur 13cm
def f(x) :
return x**2
\end{CodePythonMinted}
\end{codetex}
\begin{codesortie}
-\begin{CodePythonMinted}[12cm][center]
+\begin{CodePythonMinted}[13cm][center]
#environnement Python(minted) centré avec numéros
def f(x) :
return x**2
@@ -3323,14 +3325,14 @@ Les \Cle{Clés} pour cette possibilité sont :
~~~~
\begin{tikzpicture}
\CercleTrigo[%
- AffAngles=false,AffValeurs=false,AffTraits=false,Rayon=2,Equationcos,cos=135,CouleurSol=orange]
+ AffAngles=false,AffValeurs=false,AffTraits=false,Rayon=2,Equationcos,cos=135, CouleurSol=orange]
\end{tikzpicture}
\medskip
\begin{tikzpicture}
\CercleTrigo[%
- AffTraits=false,AffAngles=false,Rayon=2.75,Equationcos,cos=60,CouleurSol=purple,TailleVvaleurs=\tiny]
+ AffTraits=false,AffAngles=false,Rayon=2.5,Equationcos,cos=60,CouleurSol=purple, TailleValeurs=\tiny]
\end{tikzpicture}
\end{center}
\end{codetex}
@@ -3351,7 +3353,7 @@ Les \Cle{Clés} pour cette possibilité sont :
\begin{tikzpicture}
\CercleTrigo[%
- AffTraits=false,AffAngles=false,Rayon=2.75,Equationcos,cos=60,CouleurSol=purple,TailleVvaleurs=\tiny]
+ AffTraits=false,AffAngles=false,Rayon=2.5,Equationcos,cos=60,CouleurSol=purple,TailleValeurs=\tiny]
\end{tikzpicture}
\end{center}
\end{codesortie}
@@ -4251,16 +4253,20 @@ Quelques \Cle{clés} sont disponibles pour cette commande :
\item la clé \Cle{Moyenne} qui est la moyenne (optionnelle) de la série ;
\item la clé \Cle{Epaisseur} qui est l'épaisseur des traits de la boîte ; \hfill~défaut \Cle{thick}
\item la clé \Cle{Remplir} qui est la couleur de remplissage de la boîte ; \hfill~défaut \Cle{white}
- \item le booléen \Cle{AffMoyenne} qui permet d'afficher ou non la moyenne (sous forme d'un point) ; \hfill~défaut \Cle{false}
+ \item le booléen \Cle{AffMoyenne} qui permet d'afficher ou non la moyenne (sous forme d'un point) ;
+
+ \hfill~défaut \Cle{false}
\item le booléen \Cle{Pointilles} qui permet d'afficher des pointillés au niveau des paramètres ; \hfill~défaut \Cle{false}
- \item le booléen \Cle{Valeurs} qui permet d'afficher les valeurs des paramètres au niveau des abscisses.\hfill~défaut \Cle{false}
+ \item le booléen \Cle{Valeurs} qui permet d'afficher les valeurs des paramètres au niveau des abscisses.
+
+ \hfill~défaut \Cle{false}
\end{itemize}
\end{codecles}
\begin{codetex}[]
\begin{tikzpicture}
\BoiteMoustaches[Epaisseur=very thick,Moyenne=18.5,Couleur=blue,AffMoyenne,%
- Pointilles,Valeurs,Hauteur=2.25,Elevation=2.75]{10/15/17/19/20}
+ Pointilles,Valeurs,Hauteur=2.25,Elevation=2]{10/15/17/19/20}
\end{tikzpicture}
\end{codetex}
@@ -4270,7 +4276,8 @@ Quelques \Cle{clés} sont disponibles pour cette commande :
\begin{tikzpicture}[x=0.1cm]
\BoiteMoustaches[Epaisseur=ultra thick,Couleur=blue]{100/150/170/190/200}
\BoiteMoustaches[Epaisseur=thin,Elevation=2.5,Couleur=red]{80/100/110/120/150}
- \BoiteMoustaches[Elevation=4,Couleur=ForestGreen,Remplir=ForestGreen!25]{100/140/145/160/210}
+ \BoiteMoustaches%
+ [Elevation=4,Couleur=ForestGreen,Remplir=ForestGreen!25]{100/140/145/160/210}
\end{tikzpicture}
\end{center}
\end{codetex}
@@ -4523,8 +4530,8 @@ Les commandes ne sont donc, dans ce cas, pas préfixées par \ctex{calc} :
\BinomC(*)[prec]{n}{p}{a}{b} %P(a<=X<=b)
%loi de Poisson P (l)
-\PoissonP(*)[prec]{l}{k} %P(X=k)
-\PoissonC(*)[prec]{l}{a}{b} %P(a<=X<=b)
+\PoissonP(*)[prec]{l}{k} %P(X=k)
+\PoissonC(*)[prec]{l}{a}{b} %P(a<=X<=b)
%loi géométrique G (p)
\GeomP{p}{k} %P(X=k)
@@ -4535,7 +4542,7 @@ Les commandes ne sont donc, dans ce cas, pas préfixées par \ctex{calc} :
\HypergeomC{N}{n}{m}{a}{b} %P(a<=X<=b)
%loi normale N(m,s)
-\NormaleC(*)[prec]{m}{s}{a}{b} %P(a<=X<=b)
+\NormaleC(*)[prec]{m}{s}{a}{b} %P(a<=X<=b)
%loi exponentielle E(l)
\ExpoC(*)[prec]{l}{a}{b} %P(a<=X<=b)
@@ -4816,7 +4823,8 @@ Les commandes sont donc des environnements \TikZ, sans possibilité de \og rajou
\begin{codetex}
Avec centrage vertical sur l'axe des abscisses :
-\LoiNormaleGraphe[AfficheM=false,CouleurCourbe=Blue,CouleurAire=LightBlue]<baseline=0pt>{1000}{100}{950}{*}
+\LoiNormaleGraphe
+ [AfficheM=false,CouleurCourbe=Blue,CouleurAire=LightBlue]<baseline=0pt>{1000}{100}{950}{*}
\end{codetex}
\begin{codetex}
@@ -4832,7 +4840,8 @@ Avec centrage vertical :
\medskip
Avec centrage vertical sur l'axe des abscisses :
-\LoiExpoGraphe[AfficheM=false,CouleurCourbe=Blue,CouleurAire=LightBlue]<baseline=0pt>{0.05}{*}{32}
+\LoiExpoGraphe
+ [AfficheM=false,CouleurCourbe=Blue,CouleurAire=LightBlue]<baseline=0pt>{0.05}{*}{32}
\medskip
@@ -4881,13 +4890,10 @@ Pour chacune des commandes, le ou les résultats sont stockés dans une \textsf{
\begin{codetex}[]
%nombre aléatoire entre 1 et 50, stocké dans \PremierNbAlea
Entier entre 1 et 50 : \NbAlea{1}{50}{\PremierNbAlea}\PremierNbAlea
-
%nombre aléatoire créé à partir du 1er, stocké dans \DeuxiemeNbAlea
Entier à partir du précédent : \VarNbAlea{\DeuxiemeNbAlea}{\PremierNbAlea+randint(0,10)}\DeuxiemeNbAlea
-
%nombre aléatoire décimal (au millième) entre 0 et 10+1 (exclus), stocké dans \PremierDecAlea
Décimal entre 0 et $10,999\ldots$ : \NbAlea[3]{0}{10}{\PremierDecAlea}\PremierDecAlea
-
%liste de 6 nombres, sans répétitions, entre 1 et 50
Liste par défaut (6 entre 1 et 50) : \TirageAleatoireEntiers{\PremiereListeAlea}\PremiereListeAlea
\end{codetex}
@@ -4949,12 +4955,13 @@ $\ListeKeno$
\subsection{Idée}
\begin{codeidee}
-L'idée est de proposer une commande pour calculer un arrangement ou une combinaison, en utilisant les capacités de calcul du package \ctex{xfp}.
+L'idée est de proposer une commande pour calculer un arrangement ou une combinaison, en utilisant les capacités de calcul du package \ctex{xint} (\cmaj{2.5.4}).
\end{codeidee}
\begin{codetex}[listing only]
\Arrangement(*)[option]{p}{n}
\Combinaison(*)[option]{p}{n}
+\CalculAnp{p}{n} ou \CalculCnp{p}{n} dans un calcul via \xinteval{...}
\end{codetex}
\subsection{Utilisation}
@@ -4978,7 +4985,8 @@ et $\Arrangement[Notation]{3}{20}$ en formaté avec la notation au début.
\begin{codetex}[]
On a $\displaystyle\binom{20}{3}=\Combinaison*{3}{20}$ en non formaté,~
-et $\displaystyle\Combinaison[Notation]{3}{20}$ en formaté avec la notation au début.
+et $\displaystyle\Combinaison[Notation]{3}{20}$ en formaté avec la notation au début.\\
+Et $\dbinom{20}{3}+\dbinom{20}{4} = \num{\xinteval{\CalculCnp{3}{20}+\CalculCnp{4}{20}}}$.
\end{codetex}
\begin{codetex}[]
@@ -5237,7 +5245,9 @@ Quelques options pour cette commande :
\item la clé \Cle{Couleur} pour la couleur du \og rectangle \fg{} des restes ; \hfill{}défaut \Cle{red}
\item la clé \Cle{DecalH} pour gérer le décalage H du \og rectangle \fg{}, qui peut être donné soit sous la forme \Cle{Esp} ou soit sous la forme \Cle{espgauche/espdroite}; \hfill{}défaut \Cle{2pt}
\item la clé \Cle{DecalV} pour le décalage vertical du \og rectangle \fg{} ; \hfill{}défaut \Cle{3pt}
- \item la clé \Cle{Noeud} pour le préfixe du nœud du premier et du dernier reste (pour utilisation en \TikZ) ; \hfill{}défaut \Cle{EEE}
+ \item la clé \Cle{Noeud} pour le préfixe du nœud du premier et du dernier reste (pour utilisation en \TikZ) ;
+
+ \hfill{}défaut \Cle{EEE}
\item le booléen \Cle{Rect} pour afficher ou non le \og rectangle \fg{} des restes ; \hfill{}défaut \Cle{true}
\item le booléen \Cle{CouleurRes} pour afficher ou non la conversion en couleur (identique au rectangle). \hfill{}défaut \Cle{false}
\end{itemize}
@@ -5292,7 +5302,7 @@ On obtient donc \ConversionDepuisBaseDix[Couleur=ForestGreen,CouleurRes,Noeud=TE
\begin{codeidee}
L'idée est de proposer une \og présentation \fg{} de l'algorithme d'Euclide pour le calcul du PGCD de deux entiers.
-Le package \ctex{xintgcd} permet déjà de le faire, il s'agit ici de travailler sur la \textit{mise en forme} avec alignement des restes.
+Le package \ctex{xintgcd} permet déjà de le faire, il s'agit ici de travailler sur la \textit{mise en forme}.
\end{codeidee}
\begin{codetex}[listing only]
@@ -5300,7 +5310,6 @@ Le package \ctex{xintgcd} permet déjà de le faire, il s'agit ici de travailler
\end{codetex}
\begin{codetex}[listing only]
-...
\tikzstyle{every picture}+=[remember picture]
...
\PresentationPGCD{150}{27}
@@ -5311,9 +5320,7 @@ Le package \ctex{xintgcd} permet déjà de le faire, il s'agit ici de travailler
\end{codesortie}
\begin{codeattention}
-La mise en valeur du dernier reste non nul est géré par du code \TikZ, en mode \ctex{overlay}, donc il faut bien penser à déclarer dans le préambule :
-
-\hspace{5mm}\ctex{\textbackslash{}tikzstyle\{every picture\}+=[remember picture]}
+La mise en valeur du dernier reste non nul est géré par du code \TikZ, en mode \ctex{overlay}, donc il faut bien penser à déclarer dans le préambule : \ctex{\textbackslash{}tikzstyle\{every picture\}+=[remember picture]}
\end{codeattention}
\subsection{Options et clés}
@@ -5325,10 +5332,14 @@ Quelques options disponibles pour cette commande :
\item la clé \Cle{Couleur} qui correspond à la couleur pour la mise en valeur ; \hfill{}défaut \Cle{red}
\item la clé \Cle{DecalRect} qui correspond à l'écartement du rectangle de mise en valeur ; \hfill{}défaut \Cle{2pt}
\item le booléen \Cle{Rectangle} qui gère l'affichage ou non du rectangle de mise ne valeur ; \hfill{}défaut \Cle{true}
- \item la clé \Cle{Noeud} qui gère le préfixe du nom du nœud \TikZ{} du rectangle (pour exploitation ultérieure) ; \hfill{}défaut \Cle{FFF}
+ \item la clé \Cle{Noeud} qui gère le préfixe du nom du nœud \TikZ{} du rectangle (pour exploitation ultérieure) ;
+
+ \hfill{}défaut \Cle{FFF}
\item le booléen \Cle{CouleurResultat} pour mettre ou non en couleur de PGCD ; \hfill{}défaut \Cle{false}
\item le booléen \Cle{AfficheConclusion} pour afficher ou non la conclusion ; \hfill{}défaut \Cle{true}
- \item le booléen \Cle{AfficheDelimiteurs} pour afficher ou non les délimiteurs (accolade gauche et trait droit). \hfill{}défaut \Cle{true}
+ \item le booléen \Cle{AfficheDelimiteurs} pour afficher ou non les délimiteurs (accolade gauche et trait droit).
+
+ \hfill{}défaut \Cle{true}
\end{itemize}
\medskip
@@ -5592,7 +5603,7 @@ L'affichage des monômes est géré par le package \ctex{siunitx} et le tout est
Quelques clés et options sont disponibles :
\begin{itemize}
- \item la clé booléenne \Cle{Alea} pour autoriser les coefficients aléatoires (voir plus bas pour la syntaxe) ;\hfill{}défaut \Cle{false}
+ \item la clé booléenne \Cle{Alea} pour autoriser les coefficients aléatoires ;\hfill{}défaut \Cle{false}
\item la clé booléenne \Cle{Anegatif} pour autoriser $a$ à être négatif.\hfill{}défaut \Cle{true}
\end{itemize}
\end{codecles}
@@ -5601,7 +5612,7 @@ Quelques clés et options sont disponibles :
La clé \Cle{Alea} va modifier la manière de saisir les coefficients, il suffira dans ce cas de préciser les bornes, sous la forme \ctex{valmin,valmax}, de chacun des coefficients. C'est ensuite le package \ctex{xfp} qui va se charger de générer les coefficients.
\end{codeinfo}
-\begin{codetex}[sidebyside]
+\begin{codetex}[]
Avec $a$ entre 1 et 5 (et signe aléatoire) puis $b$ entre $-2$ et 7 puis $c$ entre $-10$ et 20 :
$f(x)=\EcritureTrinome[Alea]{1,5}{-5,5}{-10,10}$\\
@@ -6238,6 +6249,8 @@ La grille, créée en \TikZ, est portée par le rectangle de \og coins \fg{} $(0
\part{Historique}
+{\small \bverb|v 2.5.4|~:~~~~Modification des calculs (via \textsf{xint}) en combinatoire (page \pageref{combinatoire})
+
{\small \bverb|v 2.5.3|~:~~~~Modification du traitement des tests dans les arbres de probas (page \pageref{arbresprobas})
{\small \bverb|v 2.5.2|~:~~~~Correction d'un dysfonctionnement avec \textsf{tcolorbox 6.0}
diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
index 4f59788744..5dd1884d69 100644
--- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty
+++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
@@ -3,7 +3,8 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2023/02/19 2.5.3 Aide pour l'utilisation de LaTeX en lycee]
+\ProvidesPackage{ProfLycee}[2023/03/11 2.5.4 Aide pour l'utilisation de LaTeX en lycee]
+% 2.5.4 Amélioration des commandes de combinatoire avec calculs via xint (plus précis !)
% 2.5.3 Modification des tests d'arguments dans les probas (macros autorisées)
% 2.5.2 Correction d'un dysfonctionnement avec tcolorbox 6.0 :-(
% 2.5.1 Modification de la commande de conversion en fraction
@@ -3380,29 +3381,37 @@
}
%%------aNp/Cnp
+\NewDocumentCommand\CalculAnp{ m m }{%avec et pour xint, p/n
+ pfactorial(#2-#1,#2)
+}
+
+\NewDocumentCommand\CalculCnp{ m m }{%avec et pour xint, p/n
+ binomial(#2,#1)
+}
+
\setKVdefault[anpCnp]{%
Formule=false,%
Notation=false,%
NotationAncien=false
}
-\NewDocumentCommand\Arrangement{ s O{} m m }{%
+\NewDocumentCommand\Arrangement{ s O{} m m }{%p/n
\useKVdefault[anpCnp]%
\setKV[anpCnp]{#2}%
\ifboolKV[anpCnp]{Notation}{A_{#4}^{#3}=}{}%
\ifboolKV[anpCnp]{Formule}{\frac{#4!}{\inteval{#4-#3}!}=}{}%
\IfBooleanTF{#1}%
- {\fpeval{fact(#4)/fact(#4-#3)}}%non formaté
- {\num{\fpeval{fact(#4)/fact(#4-#3)}}}%formaté
+ {\xinteval{\CalculAnp{#3}{#4}}}%non formaté
+ {\num{\xinteval{\CalculAnp{#3}{#4}}}}%formaté
}
-\NewDocumentCommand\Combinaison{ s O{} m m }{%
+\NewDocumentCommand\Combinaison{ s O{} m m }{%p/n
\useKVdefault[anpCnp]%
\setKV[anpCnp]{#2}%
\ifboolKV[anpCnp]{Notation}{\binom{#4}{#3} =}{}%
\ifboolKV[anpCnp]{NotationAncien}{C_{#4}^{#3}=}{}%
\ifboolKV[anpCnp]{Formule}{\frac{#4!}{#3! \times \inteval{#4-#3}!}=}{}%
\IfBooleanTF{#1}%
- {\fpeval{fact(#4)/(fact(#3)*fact(#4-#3))}}%non formaté
- {\num{\fpeval{fact(#4)/(fact(#3)*fact(#4-#3))}}}%formaté
+ {\xinteval{\CalculCnp{#3}{#4}}}%non formaté
+ {\num{\xinteval{\CalculCnp{#3}{#4}}}}%formaté
}
\endinput \ No newline at end of file