From e3c18c7072eebabaa706008b7fa42c73ec2ff83e Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 13 Mar 2023 03:04:43 +0000 Subject: CTAN sync 202303130304 --- .../contrib/biblatex-contrib/biblatex-dw/CHANGES | 11 +- .../contrib/biblatex-contrib/biblatex-dw/LIESMICH | 2 +- .../contrib/biblatex-contrib/biblatex-dw/README | 2 +- .../biblatex-dw/doc/biblatex-dw-preamble.tex | 13 +- .../biblatex-dw/doc/biblatex-dw.pdf | Bin 163478 -> 163811 bytes .../biblatex-dw/doc/biblatex-dw.tex | 38 +- .../biblatex-dw/doc/de-biblatex-dw.pdf | Bin 177061 -> 179707 bytes .../biblatex-dw/doc/de-biblatex-dw.tex | 45 +- .../biblatex-dw/doc/examples/de-authortitle-dw.pdf | Bin 366984 -> 367662 bytes .../biblatex-dw/doc/examples/de-authortitle-dw.tex | 2 +- .../biblatex-dw/doc/examples/de-examples-dw.bib | 2 +- .../biblatex-dw/doc/examples/de-footnote-dw.pdf | Bin 372990 -> 373661 bytes .../biblatex-dw/doc/examples/de-footnote-dw.tex | 2 +- .../biblatex-dw/doc/examples/en-authortitle-dw.pdf | Bin 335887 -> 336551 bytes .../biblatex-dw/doc/examples/en-authortitle-dw.tex | 2 +- .../biblatex-dw/doc/examples/en-footnote-dw.pdf | Bin 342218 -> 342870 bytes .../biblatex-dw/doc/examples/en-footnote-dw.tex | 2 +- .../biblatex-dw/doc/examples/examples-dw.bib | 2 +- .../biblatex-contrib/biblatex-dw/latex/.DS_Store | Bin 0 -> 6148 bytes .../biblatex-dw/latex/bbx/authortitle-dw.bbx | 32 +- .../biblatex-dw/latex/bbx/footnote-dw.bbx | 2 +- .../biblatex-dw/latex/bbx/standard-dw.bbx | 6 +- .../biblatex-dw/latex/cbx/authortitle-dw.cbx | 4 +- .../biblatex-dw/latex/cbx/footnote-dw.cbx | 41 +- .../biblatex-dw/latex/cbx/standard-dw.cbx | 2 +- .../biblatex-dw/latex/lbx/english-dw.lbx | 2 +- .../biblatex-dw/latex/lbx/german-dw.lbx | 2 +- .../contrib/biblatex-contrib/biblatex-dw/todo.txt | 70 --- macros/latex/contrib/caption/CHANGELOG | 8 + macros/latex/contrib/caption/README | 8 +- macros/latex/contrib/caption/bicaption.dtx | 198 +++++---- macros/latex/contrib/caption/bicaption.pdf | Bin 150784 -> 181717 bytes macros/latex/contrib/caption/caption-ams-smf.dtx | 8 +- macros/latex/contrib/caption/caption-beamer.dtx | 6 +- .../latex/contrib/caption/caption-elsarticle.dtx | 8 +- macros/latex/contrib/caption/caption-koma.dtx | 90 ++-- macros/latex/contrib/caption/caption-memoir.dtx | 8 +- macros/latex/contrib/caption/caption-ntg.dtx | 8 +- macros/latex/contrib/caption/caption-thesis.dtx | 8 +- macros/latex/contrib/caption/caption.dtx | 479 ++++++++++++++------- macros/latex/contrib/caption/caption.ins | 2 +- macros/latex/contrib/caption/caption3.dtx | 162 ++++--- .../contrib/caption/fallback/v3.0/caption.dtx | 16 +- .../contrib/caption/fallback/v3.1/caption.dtx | 14 +- .../contrib/caption/fallback/v3.2/caption.dtx | 14 +- .../contrib/caption/fallback/v3.3/caption.dtx | 14 +- .../contrib/caption/fallback/v3.3/caption3.dtx | 21 +- .../contrib/caption/fallback/v3.4/caption.dtx | 13 +- .../contrib/caption/fallback/v3.4/caption3.dtx | 34 +- .../contrib/caption/fallback/v3.5/caption.dtx | 14 +- .../contrib/caption/fallback/v3.5/caption3.dtx | 34 +- macros/latex/contrib/caption/subcaption.dtx | 325 +++++++++----- macros/latex/contrib/caption/subcaption.pdf | Bin 221744 -> 256023 bytes .../latex/contrib/proflycee/doc/ProfLycee-doc.pdf | Bin 812020 -> 810431 bytes .../latex/contrib/proflycee/doc/ProfLycee-doc.tex | 89 ++-- macros/latex/contrib/proflycee/tex/ProfLycee.sty | 23 +- 56 files changed, 1102 insertions(+), 786 deletions(-) create mode 100644 macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/.DS_Store delete mode 100644 macros/latex/contrib/biblatex-contrib/biblatex-dw/todo.txt (limited to 'macros') 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 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 ************************************************************ 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 ************************************************************ 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 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/biblatex-dw.pdf 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 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/de-biblatex-dw.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/de-biblatex-dw.pdf 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 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-authortitle-dw.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-authortitle-dw.pdf 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 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-footnote-dw.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/de-footnote-dw.pdf 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 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-authortitle-dw.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-authortitle-dw.pdf 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 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-footnote-dw.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-dw/doc/examples/en-footnote-dw.pdf 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 Binary files /dev/null and b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/.DS_Store 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 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 % % \fi diff --git a/macros/latex/contrib/caption/bicaption.pdf b/macros/latex/contrib/caption/bicaption.pdf index 4e6d3efaab..67a6ac65d7 100644 Binary files a/macros/latex/contrib/caption/bicaption.pdf and b/macros/latex/contrib/caption/bicaption.pdf 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 = , 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 = , 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 @@ -1111,9 +1115,6 @@ \expandafter\let\expandafter\KV@errx\csname ORI@KV@errx\caption@keydepth\endcsname \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} @@ -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 Binary files a/macros/latex/contrib/caption/subcaption.pdf and b/macros/latex/contrib/caption/subcaption.pdf 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 Binary files a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf and b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf 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]{1000}{100}{950}{*} +\LoiNormaleGraphe + [AfficheM=false,CouleurCourbe=Blue,CouleurAire=LightBlue]{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]{0.05}{*}{32} +\LoiExpoGraphe + [AfficheM=false,CouleurCourbe=Blue,CouleurAire=LightBlue]{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 -- cgit v1.2.3