texlive[69370] Master/texmf-dist: tcolorbox (10jan24)

commits+karl at tug.org commits+karl at tug.org
Wed Jan 10 21:44:05 CET 2024


Revision: 69370
          https://tug.org/svn/texlive?view=revision&revision=69370
Author:   karl
Date:     2024-01-10 21:44:04 +0100 (Wed, 10 Jan 2024)
Log Message:
-----------
tcolorbox (10jan24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md
    trunk/Master/texmf-dist/doc/latex/tcolorbox/README.md
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.pdf
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.pdf
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.graphics.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.magazine.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.poster.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.raster.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
    trunk/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md	2024-01-10 20:44:04 UTC (rev 69370)
@@ -22,6 +22,64 @@
 
 
 
+## [6.2.0]
+
+### Added
+- New convenience options for box content additions (issue #250)
+    - Option `environment upper`
+    - Option `environment upper args`
+    - Option `environment lower`
+    - Option `environment lower args`
+    - Option `environment title`
+    - Option `environment title args`
+- Library `hooks`:
+    - Option `environment upper app`
+    - Option `environment upper args app`
+    - Option `environment lower app`
+    - Option `environment lower args app`
+    - Option `environment title app`
+    - Option `environment title args app`
+    - Option `environment upper pre`
+    - Option `environment upper args pre`
+    - Option `environment lower pre`
+    - Option `environment lower args pre`
+    - Option `environment title pre`
+    - Option `environment title args pre`
+- Library `documentation`:
+    - Option `index key formatter`
+    - Option `index keys formatter`
+    - Root (`/`) of a documented key made configurable (issue #259):
+        - Option `doc key prefix`
+
+### Changed
+- Minor implementation change to `redirectlowerto` (issue #240)
+- `pgfkeys` mentioned in the documentation (issue #241)
+- Distinct `savelowerto`/`redirectlowerto` file names inside the documentation (issue #248)
+- Updated documentation and warnings for the interaction between `saveto`
+    and `savelowerto` (issue #249)
+- Improved some `\sarg` examples in the documentation (issue #256)
+- Small typos in the documentation (issue #261)
+- Recording macros rewritten in expl3 code (part of issue #255)    
+- Usage of expl3 scratch variables like `\l_tmpa_tl` replaced by package variables like `\l__tcobox_tmpa_tl`
+- Library `documentation`:
+    - Expl3 arg-spec of internal macro corrected (issue #257)
+    - `\tcbmakedocSubKey` and `\tcbmakedocSubKeys` take options now (issue #259)
+- Library `external`: package loading of `pdftexcmds` and `shellesc` removed.
+    Expl3 functions are used as drop-in replacements (part of issue #255)
+- Libraries `listings`, `listingsutf8`, and `minted`: 
+    package loading of `pdftexcmds` and `shellesc` removed (part of issue #255)
+- Needed LaTeX version updated to 2021-11-15    
+
+### Removed
+- Loading of the `xparse` library dropped inside the `documentation` library since all
+    needed features are part of the LaTeX format now (issue #254)
+
+### Fixed
+- Several documentation typos and minor improvements (PR/issue #251 and PR/issue #252)
+- Extra top space if `parbox=false` and tcolorbox starts with a list (issue #262)
+
+
+
 ## [6.1.0] - 2023-09-26
 
 ### Added

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/README.md	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/README.md	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,7 +1,7 @@
-# The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+# The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 
 
-> Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+> Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 
 > This work may be distributed and/or modified under the
 > conditions of the LaTeX Project Public License, either version 1.3

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcolorbox-example-poster.tex: a poster example for tcolorbox
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcolorbox-example.tex: an example for tcolorbox
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -147,7 +147,7 @@
   fonttitle=\bfseries, title=Box with a watermark picture]
   Here, you see my nice box with a picture as a watermark.
   This picture is automatically resized to fit the dimensions
-  of my box. Instead of a picure, some text could be used or
+  of my box. Instead of a picture, some text could be used or
   arbitrary graphical code. See the documentation for more options.
 \end{tcolorbox}
 

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,9 +1,9 @@
 % \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcolorbox-tutorial-poster.tex: a tutorial for poster creation with tcolorbox
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib	2024-01-10 20:44:04 UTC (rev 69370)
@@ -2,8 +2,8 @@
    author    = {Carsten Heinz and Brooks Moses and Jobst Hoffmann},
    title     = {The Listings Package},
    url       = {https://mirror.ctan.org/macros/latex/contrib/listings/listings.pdf},
-   version   = {1.8d},
-   date      = {2020-03-24},
+   version   = {1.9},
+   date      = {2023-02-27},
    language  = {english}
 }
 
@@ -11,7 +11,7 @@
    author    = {Rainer Sch{\"o}pf and Bernd Raichle and Chris Rowley},
    title     = {A New Implementation of {\LaTeX}'s verbatim and verbatim* Environments},
    url       = {https://mirror.ctan.org/macros/latex/required/tools/verbatim.pdf},
-   date      = {2001-03-12},
+   date      = {2023-11-06},
 }
 
 @techreport{sturm:mathe1,
@@ -72,9 +72,9 @@
 @manual{tantau:beamer,
    author    = {Till Tantau and Joseph Wright and Vedran Mileti\'{c}},
    title     = {The Beamer Class},
-   subtitle  = {User Guide for version 3.68},
+   subtitle  = {User Guide for version 3.71},
    url       = {https://mirrors.ctan.org/macros/latex/contrib/beamer/doc/beameruserguide.pdf},
-   date      = {2022-09-17},
+   date      = {2024-01-06},
 }
 
 
@@ -82,7 +82,7 @@
   author    = {David Carlisle},
   title     = {The file ltxdoc.dtx for use with \LaTeXe},
   url       = {https://mirror.ctan.org/macros/latex/base/ltxdoc.pdf},
-  date      = {2019-09-16}
+  date      = {2023-03-28}
 }
 
 
@@ -90,15 +90,15 @@
   author    = {David Carlisle},
   title     = {The tabularx package},
   url       = {https://mirror.ctan.org/macros/latex/required/tools/tabularx.pdf},
-  date      = {2020-01-15}
+  date      = {2023-07-08}
 }
 
 
- at manual{mittelbach:2011a,
+ at manual{mittelbach:doc,
   author    = {Frank Mittelbach},
   title     = {The doc and shortvrb Packages},
   url       = {https://mirror.ctan.org/macros/latex/base/doc.dtx},
-  date      = {2011-06-30}
+  date      = {2022-11-13}
 }
 
 
@@ -106,18 +106,10 @@
    author    = {Frank Mittelbach},
    title     = {An environment for multicolumn output},
    url       = {https://mirror.ctan.org/macros/latex/required/tools/multicol.pdf},
-   date      = {2022-10-31},
+   date      = {2023-11-21},
 }
 
 
- at manual{breitenlohner:1998a,
-   author    = {Peter Breitenlohner},
-   title     = {The $\varepsilon$-\TeX\ manual},
-   version   = {2},
-   url       = {https://mirrors.ctan.org/systems/doc/etex/etex_man.pdf},
-   date      = {1998-02},
-}
-
 @manual{oberdiek:listingsutf8,
    author    = {Heiko Oberdiek},
    title     = {The listingsutf8 package},
@@ -155,13 +147,13 @@
    title     = {The minted package},
    subtitle  = {Highlighted source code in \LaTeX},
    url       = {https://mirror.ctan.org/macros/latex/contrib/minted/minted.pdf},
-   date      = {2022-12-12},
+   date      = {2023-12-18},
 }
 
 @online{pygments:web,
   title        = {Pygments},
   subtitle     = {Python syntax highlighter},
-  date         = {2023},
+  date         = {2024},
   url          = {https://pygments.org/},
 }
 
@@ -169,7 +161,7 @@
    author    = {The \LaTeX3 Project},
    title     = {The xparse Package},
    url       = {https://mirror.ctan.org/macros/latex/contrib/l3packages/xparse.pdf},
-   date      = {2023-02-02},
+   date      = {2023-10-10},
 }
 
 
@@ -185,7 +177,7 @@
    author    = {Sebastian Rahtz and Heiko Oberdiek},
    title     = {Hypertext marks in \LaTeX: a manual for hyperref},
    url       = {https://mirrors.ctan.org/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf},
-   date      = {2023-02-07},
+   date      = {2023-11-26},
    language  = {english}
 }
 
@@ -194,7 +186,7 @@
    author    = {Heiko Oberdiek},
    title     = {The bookmark package},
    url       = {https://mirrors.ctan.org/macros/latex/contrib/bookmark/bookmark.pdf},
-   date      = {2020-11-06},
+   date      = {2023-12-10},
    language  = {english}
 }
 
@@ -203,7 +195,7 @@
    author    = {Heiko Oberdiek},
    title     = {The zref package},
    url       = {https://mirrors.ctan.org/macros/latex/contrib/zref/zref.pdf},
-   date      = {2022-04-07},
+   date      = {2023-09-14},
    language  = {english}
 }
 
@@ -211,9 +203,9 @@
 @manual{barros:zref-clever,
    author    = {Gustavo Barros},
    title     = {The zref-clever package},
-   url       = {https://mirrors.ctan.org/macros/latex/contrib/zref-clever/zref-clever.pdf},
-   date      = {2023-01-03},
-   language  = {english}    
+   url       = {https://mirrors.ctan.org/macros/latex/contrib/zref-clever/zref-clever-doc.pdf},
+   date      = {2023-11-14},
+   language  = {english}
 }
 
 

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -292,7 +292,7 @@
     unbroken box or the first part of a \emph{break sequence}.
   \item\docValue{none}:
     The break algorithm respects the target size of the given glue values
-    on the page. This was the inital value before version |3.34|.
+    on the page. This was the initial value before version |3.34|.
   \end{itemize}
   \begin{marker}
   Note that the box \emph{content} is not influenced by this option.
@@ -510,7 +510,7 @@
   If a breakable box contains an \emph{upper part} and a \emph{lower part} and
   the break happens at the \emph{segmentation} between both parts, then
   \begin{itemize}
-  \item the segmenation line (or similar) is drawn as first element of the
+  \item the segmentation line (or similar) is drawn as first element of the
     partial box containing the \emph{lower part}, if \refKey{/tcb/segmentation at break}
     is set to be |true|.
   \item the segmenation line (or similar) is not drawn at all, if
@@ -773,7 +773,7 @@
   information and just use it as you would use |\pagebreak|.\par\smallskip
   For an \emph{unbreakable box}, \refCom{tcbbreak} is identical to insert |\par|,
   i.e.\ it just starts a new paragraph.\par\smallskip
-  Also see \refKey{/tcb/break at} for defining height dependend breaks.
+  Also see \refKey{/tcb/break at} for defining height dependent breaks.
 
 \begin{dispListing}
 % \usepackage{lipsum,multicol}  % preamble

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -281,7 +281,8 @@
   the specified \meta{content}.\\
   Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
   automatically.
-  Also note that \refKey{/tcb/saveto} and \refKey{/tcb/savelowerto}
+  Also note that \refKey{/tcb/saveto}, \refKey{/tcb/savelowerto},
+  and \refKey{/tcb/redirectlowerto}
   cannot be used with \refCom{NewTotalTColorBox} and friends.\\
   The \meta{init options} allow setting up automatic numbering,
   see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -4,7 +4,11 @@
 \section{Option Keys}\label{sec:optkeys}%
 \tcbset{external/prefix=external/coreoptions_}%
 For the \meta{options} in \refEnv{tcolorbox} respectively \refCom{tcbset}
-the following |pgf| keys can be applied. The key tree path |/tcb/| is not to
+the following |pgf| keys can be applied%
+\footnote{Strictly speaking, they are \texttt{pgfkeys} keys.
+  The \texttt{pgfkeys} package is auto-loaded by \texttt{pgf} and is
+  documented in \cite[Part~VII]{tantau:tikz_and_pgf}.}.
+The key tree path |/tcb/| is not to
 be used inside these macros. It is easy to add your own style keys using
 the syntax for |pgf| keys, see \cite{tantau:tikz_and_pgf,sturm:latex} or the examples
 starting from page~\pageref{sec:latextutorial}.
@@ -272,8 +276,10 @@
   This is the counterpart of \refKey{/tcb/savelowerto}, but it saves not
   only the upper part but the whole content. If a lower part is present,
   it is also saved including \refCom{tcblower}.
+  An empty \meta{file name} deactivates \refKey{/tcb/saveto}.
   \begin{marker}
-  This option cannot be combined with \refKey{/tcb/savelowerto}.
+  This option cannot be combined with \refKey{/tcb/savelowerto} or
+  \refKey{/tcb/redirectlowerto}.
   \end{marker}
 
 \begin{exdispExample}{saveto_1}
@@ -315,6 +321,12 @@
   \item\docValue{ignored}: the lower part is not used (here).
   \end{itemize}
   The last two values are usually applied in connection with |savelowerto|.
+
+  \begin{marker}
+  The lower part is always typeset into a box which is used or dropped
+  accordingly. The only exception is applying \refKey{/tcb/redirectlowerto}.
+  \end{marker}
+
 \begin{exdispExample}{lowerbox}
 \begin{tcolorbox}[lowerbox=invisible,colback=white]
 This is a \textbf{tcolorbox}.
@@ -331,8 +343,14 @@
 \end{docTcbKey}
 
 
+\clearpage
 \begin{docTcbKey}[][doc updated=2014-11-28]{savelowerto}{=\meta{file name}}{no default, initially empty}
   Saves the content of the lower part into a file for an optional later usage.
+  An empty \meta{file name} deactivates \refKey{/tcb/savelowerto}.
+  \begin{marker}
+  This option cannot be combined with \refKey{/tcb/saveto}.
+  \end{marker}
+
 \begin{exdispExample}{savelowerto}
 \begin{tcolorbox}[lowerbox=invisible,savelowerto=\jobname_bspsave.tex,colback=white]
 This is a \textbf{tcolorbox}.
@@ -346,18 +364,23 @@
 \end{exdispExample}
 \end{docTcbKey}
 
+\medskip
 
-\clearpage
 \begin{docTcbKey}[][doc new=2023-07-17]{redirectlowerto}{=\meta{file name}}{no default, initially empty}
   This is a combination of \refKey{/tcb/savelowerto} and \refKey{/tcb/lowerbox}|=|\docValue{ignored}
   \emph{and additionally} avoids typesetting the content of the lower part.
   This can be useful, if the lower part contains counters or similar.
+  An empty \meta{file name} deactivates the saving, but the \refKey{/tcb/lowerbox}
+  setting will still be \docValue{ignored}.
+  \begin{marker}
+  This option cannot be combined with \refKey{/tcb/saveto}.
+  \end{marker}
 \begin{exdispExample}{redirectlowerto}
 
 \setcounter{enumi}{1}
 Test counter: \theenumi
 
-\begin{tcolorbox}[redirectlowerto=\jobname_bspsave.tex,colback=white]
+\begin{tcolorbox}[redirectlowerto=\jobname_bspsave2.tex,colback=white]
 This is a \textbf{tcolorbox}.
 \tcblower
 This is the lower part.\stepcounter{enumi}
@@ -365,7 +388,7 @@
 \end{tcolorbox}
 
 Now, we load the saved text:\\
-\input{\jobname_bspsave.tex}
+\input{\jobname_bspsave2.tex}
 \end{exdispExample}
 \end{docTcbKey}
 
@@ -425,7 +448,7 @@
 \clearpage
 \begin{docTcbKey}{savedelimiter}{=\meta{name}}{no default, initially \texttt{tcolorbox}}
   Used in connection with new environment definitions which extend
-  |tcolorbox| and use or allow the option |savelowerto|.
+  |tcolorbox| and use or allow the option \refKey{/tcb/savelowerto} or \refKey{/tcb/redirectlowerto}.
   To catch the end of the new box environment \meta{name} has to be the name of
   this environment. Additionally, the environment definition has to use
   |\tcolorbox| instead of
@@ -433,7 +456,7 @@
 \begin{exdispExample}{savedelimiter1}
 \newenvironment{mybox}[1]{%
   \tcolorbox[savedelimiter=mybox,
-             savelowerto=\jobname_bspsave2.tex,lowerbox=ignored,
+             savelowerto=\jobname_bspsave3.tex,lowerbox=ignored,
              colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
              title={#1}]}%
   {\endtcolorbox}
@@ -446,17 +469,17 @@
 
 Now, the saved part is used:
 \begin{tcolorbox}[colback=green!5]
-\input{\jobname_bspsave2.tex}
+\input{\jobname_bspsave3.tex}
 \end{tcolorbox}
 \end{exdispExample}
 
 \enlargethispage*{1cm}
 
-The |savedelimiter| is used implicitely with \refCom{newtcolorbox} which
+The |savedelimiter| is used implicitly with \refCom{newtcolorbox} which
 allows a more convenient usage:
 \begin{exdispExample}{savedelimiter2}
 \newtcolorbox{mybox}[1]{%
-             savelowerto=\jobname_bspsave2.tex,lowerbox=ignored,
+             savelowerto=\jobname_bspsave4.tex,lowerbox=ignored,
              colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
              title={#1}}%
 
@@ -468,7 +491,7 @@
 
 Now, the saved part is used:
 \begin{tcolorbox}[colback=green!5]
-\input{\jobname_bspsave2.tex}
+\input{\jobname_bspsave4.tex}
 \end{tcolorbox}
 \end{exdispExample}
 \end{docTcbKey}
@@ -2631,8 +2654,101 @@
 \end{exdispExample*}
 \end{docTcbKey}
 
+\clearpage
 
+\begin{docTcbKeys}[
+    doc new = 2023-10-16,
+    doc description = style,
+  ]
+  {
+    { doc name = environment upper, doc parameter={=\meta{name}} },
+    { doc name = environment upper args, doc parameter={=\marg{name}\marg{code}} }
+  }
+  This shortcut style sets \refKey{/tcb/before upper*}
+  to |\begin|\marg{name} and \refKey{/tcb/after upper*}
+  to |\end|\marg{name}, i.e. the upper part is enclosed by the environment \meta{name}.
+  The second variant also places \meta{code} after |\begin|\marg{name}.
+\begin{exdispExample}{environment_upper_1}
+\begin{tcolorbox}[colback=yellow!30, colframe=yellow!80!black,
+  environment upper=itemize
+]
+  \item one
+  \item two
+\end{tcolorbox}
+\end{exdispExample}
+  Note that you may need \emph{additional} brackets around \meta{code}, if
+  \meta{code} contains some para\-meter(s) for the environment \meta{name}.
+\begin{exdispExample}{environment_upper_2}
+\begin{tcolorbox}[center upper,
+  colback=yellow!30, colframe=yellow!80!black,
+  environment upper args={tabular}{{cc}}
+]
+  one & two \\
+  three & four\\
+\end{tcolorbox}
+\end{exdispExample}
+\begin{exdispExample}{environment_upper_3}
+\begin{tcolorbox}[colback=yellow!30, colframe=yellow!80!black,
+  environment upper args = {list}{{\bfseries Fact:}
+    {\setlength\itemsep{0pt}\setlength\parsep{0pt}}},
+]
+  \item Blue is red
+  \item Red is green
+\end{tcolorbox}
+\end{exdispExample}
+\end{docTcbKeys}
+
+
+\begin{marker}
+\refKey{/tcb/environment upper} and friends (following) cannot be used to
+wrap another |tcolorbox|-based environment, i.e. never use
+|/tcb/environment upper=tcolorbox| or
+|/tcb/environment upper=etc-derived-from-tcolorbox|.
+\end{marker}
+
+
 \clearpage
+
+\begin{docTcbKeys}[
+    doc new = 2023-10-16,
+    doc description = style,
+  ]
+  {
+    { doc name = environment lower, doc parameter={=\meta{name}} },
+    { doc name = environment lower args, doc parameter={=\marg{name}\marg{code}} }
+  }
+  This shortcut style sets \refKey{/tcb/before lower*}
+  to |\begin|\marg{name} and \refKey{/tcb/after lower*}
+  to |\end|\marg{name}, i.e. the lower part is enclosed by the environment \meta{name}.
+  The second variant also places \meta{code} after |\begin|\marg{name}.
+  Note that you may need \emph{additional} brackets around \meta{code}, if
+  \meta{code} contains some para\-meter(s) for the environment \meta{name}.
+
+  See \refKey{/tcb/environment upper} for analog examples.
+\end{docTcbKeys}
+
+
+\begin{docTcbKeys}[
+    doc new = 2023-10-16,
+    doc description = style,
+  ]
+  {
+    { doc name = environment title, doc parameter={=\meta{name}} },
+    { doc name = environment title args, doc parameter={=\marg{name}\marg{code}} }
+  }
+  This shortcut style sets \refKey{/tcb/before title*}
+  to |\begin|\marg{name} and \refKey{/tcb/after title*}
+  to |\end|\marg{name}, i.e. the title text is enclosed by the environment \meta{name}.
+  The second variant also places \meta{code} after |\begin|\marg{name}.
+  Note that you may need \emph{additional} brackets around \meta{code}, if
+  \meta{code} contains some para\-meter(s) for the environment \meta{name}.
+
+  See \refKey{/tcb/environment upper} for analog examples.
+\end{docTcbKeys}
+
+
+
+\clearpage
 \subsection{Overlays}\label{subsec:overlays}
 With an overlay, arbitrary \meta{graphical code} can be added to a
 |tcolorbox|. This code is executed \emph{after} the frame and interior are
@@ -3848,7 +3964,7 @@
   \item For layer 2 and above (nested boxes), a \refKey{/tcb/reset} followed by
     \refKey{/tcb/every box} option list is applied.
     Every resettable options given by a preceding \refCom{tcbset}
-    and by the sourrounding box(es) are reset.
+    and by the surrounding box(es) are reset.
   \end{itemize}
 \item The \meta{options} given to the |tcolorbox| are applied.
   Or, if the box was generated by \refCom{newtcolorbox} or friends,
@@ -4013,7 +4129,7 @@
 
 \clearpage
 \subsection{Text Characteristics}
-\begin{docTcbKey}[][doc updated=2015-10-14]{parbox}{\colOpt{=true\textbar false}}{default |true|, initially |true|}
+\begin{docTcbKey}[][doc updated=2024-01-10]{parbox}{\colOpt{=true\textbar false}}{default |true|, initially |true|}
   The text inside a |tcolorbox| is formatted using a \LaTeX\ |minipage|
   if the box is unbreakable. If breakable, the box tries a mimicry of
   a |minipage|. In a |minipage| or |parbox|, paragraphs are formatted slightly different
@@ -4072,7 +4188,7 @@
 \subsection{Files}
 \begin{docTcbKey}{tempfile}{=\meta{file name}}{no default, initially \cs{jobname.tcbtemp}}
   Sets \meta{file name} as name for the temporary file which is used inside
-  \refEnv{tcbwritetemp} and \refCom{tcbusetemp} implicitely.
+  \refEnv{tcbwritetemp} and \refCom{tcbusetemp} implicitly.
 \end{docTcbKey}
 
 \clearpage
@@ -4430,7 +4546,7 @@
 \refKey{/tcb/toggle enlargement}, and
 \refKey{/tcb/if odd page}
 automatically set |check odd page|, but for
-\refCom{tcbifoddpage} this option has to be set explicitely.
+\refCom{tcbifoddpage} this option has to be set explicitly.
 \end{docTcbKey}
 
 \enlargethispage*{1cm}
@@ -4451,7 +4567,7 @@
 only acts upon the \emph{first} box. If the setting should be
 repeated for every partial box of the break sequence, the option should be
 packed into \refKey{/tcb/extras}. In this case, \refKey{/tcb/check odd page}
-has to be set explicitely! Also see \refKey{/tcb/if odd page*}.
+has to be set explicitly! Also see \refKey{/tcb/if odd page*}.
 \end{marker}
 \end{docTcbKey}
 
@@ -4638,7 +4754,7 @@
 \emph{plus} any settings given by \refCom{tcbsetforeverylayer}.
 \refKey{/tcb/savedelimiter}, \refKey{/tcb/capture}, and
 \refKey{/tcb/shield externalize} keep their values.
-Also, all raster values (see \Vref{sec:raster}) are not resetted.
+Also, all raster values (see \Vref{sec:raster}) are not reset.
 
 This option is useful for boxes in boxes where the inner box should not inherit
 the settings of the outer box.

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -18,7 +18,6 @@
 the library \mylib{skins}, see \Vref{sec:skins},
 the library \mylib{raster}, see \Vref{sec:raster},
 the library \mylib{listings}, see \Vref{sec:listings},
-the library \mylib{xparse}, see \Vref{sec:xparse},
 and a bunch of packages, namely
 |makeidx|, |marginnote|, |refcount|, and |hyperref|.
 The packages |pifont| and |marvosym| should be installed for some symbols, but
@@ -73,10 +72,9 @@
 \end{docCommand}
 \end{dispExample}
 \begin{dispExample}
-\begin{docCommand}[color definition=blue]{foomakedocSubKey*}%
-    {\marg{name}\marg{key path}}
-  Creates a new environment \meta{name} based on \refEnv{docKey} for the
-  documentation of keys with the given \meta{key path}.
+\begin{docCommand}[doc no index,color definition=blue]{section}%
+    {\sarg\marg{title}}
+  Starts a section. The star variant is unnumbered.
 \end{docCommand}
 \end{dispExample}
 \end{docEnvironment}
@@ -98,14 +96,12 @@
 \begin{dispExample}
 \begin{docCommands}[
     doc no index,  %  no index entries for this example
-    doc name      = newtheorem,
-    doc parameter = \marg{envname},
+    doc name      = newtheorem
   ]
   {
-    {  },
+    { doc parameter = \sarg\marg{envname} },
     { doc parameter = \marg{envname}\oarg{numbered within} },
-    { doc parameter = \oarg{numbered like}\marg{envname} },
-    { doc name      = newtheorem* },
+    { doc parameter = \oarg{numbered like}\marg{envname} }
   }
   example
 \end{docCommands}
@@ -352,7 +348,7 @@
   }
   Documents an auxiliary or minor \LaTeX\ environment with given \meta{name}.
   The given \meta{options} are set with \refCom{tcbset}.
-  This macro is automatically indexed indexed for \refCom{docAuxEnvironment}
+  This macro is automatically indexed for \refCom{docAuxEnvironment}
   and has no index entry for \refCom{docAuxEnvironment*}.
 \begin{dispExample}
 The environment \docAuxEnvironment{fooauxenv} holds some interesting data.
@@ -452,7 +448,7 @@
 \end{docCommand}
 
 \begin{docCommand}{meta}{\marg{text}}
-  Macro from |doc| \cite{mittelbach:2011a} to typeset a meta \meta{text}.
+  Macro from |doc| \cite{mittelbach:doc} to typeset a meta \meta{text}.
   The library overwrites the original macro.
 \begin{dispExample}
 This is a \meta{text}.
@@ -564,10 +560,11 @@
 \end{docEnvironment}
 
 \clearpage
-\begin{docCommand}[doc updated=2020-04-22]{tcbmakedocSubKey}{\marg{name}\marg{key path}}
+\begin{docCommand}[doc updated=2023-12-01]{tcbmakedocSubKey}{\oarg{options}\marg{name}\marg{key path}}
   Creates a new environment \meta{name} based on \refEnv{docKey} for the
   documentation of keys with the given \meta{key path} as root.
   The new environment \meta{name} takes the same para\-meters as \refEnv{docKey} itself.
+  The given \meta{options} are prepended to options of the \meta{name} environment.
   A second starred environment \meta{name} is also created, which is identical
   to \meta{name} but without index entry.
 \begin{dispExample}
@@ -584,10 +581,12 @@
 \end{docCommand}
 
 
-\begin{docCommand}[doc new=2020-04-22]{tcbmakedocSubKeys}{\marg{name}\marg{key path}}
+\begin{docCommand}[doc new and updated={2020-04-22}{2023-12-01}]{tcbmakedocSubKeys}{\oarg{options}\marg{name}\marg{key path}}
   Creates a new environment \meta{name} based on \refEnv{docKeys} for the
   documentation of keys with the given \meta{key path} as root.
   The new environment \meta{name} takes the same para\-meters as \refEnv{docKeys} itself.
+  The given \meta{options} are prepended to options of the \meta{name} environment
+  (see \refKey{/tcb/index key formatter} for an example).
 \begin{dispExample}
 \tcbmakedocSubKeys{docFooKeys}{foo}
 
@@ -826,6 +825,85 @@
 
 \clearpage
 
+\begin{docTcbKeys}[
+    doc new         = {2023-12-01},
+    doc name        = doc key prefix,
+    doc parameter   = {=\meta{key prefix}},
+    doc description = {no default, initially |/|},
+  ]{}
+  Sets the \meta{key prefix} (root path) of the key to document.
+  This prefix is prepended to \refKey{/tcb/doc keypath}, if
+  \refKey{/tcb/doc keypath} is not empty.
+  The default |/| setting is intended for |pgfkeys|.
+  For |l3keys|, setting \refKey{/tcb/doc key prefix} to be empty is more
+  appropriate, since their path starts with a module name without |/|.
+\begin{dispExample}
+\begin{docKeys}[
+    doc no index,  %  no index entries for this example
+    doc key prefix  = ,
+    doc keypath     = tcobox,% module name
+    doc name        = my_l3_key,
+    doc parameter   = {=\meta{some value}},
+    doc description = example,
+  ] {}
+  Documentation of a key using |l3keys|.
+\end{docKeys}
+\end{dispExample}
+\end{docTcbKeys}
+
+
+
+\begin{docTcbKeys}[
+    doc new         = {2023-12-01},
+    doc parameter   = \colOpt{=\meta{macro}},
+    doc description = {no default, initially empty},
+  ]{
+    {
+      doc name = index key formatter,
+    },
+    {
+      doc name = index keys formatter,
+    }
+  }
+Sets \meta{macro} as formatter for the text given by
+\refKey{/tcb/doclang/key} or
+\refKey{/tcb/doclang/keys} inside the index.
+The \meta{macro} has to take one mandatory
+argument (the language text).
+The intended purpose is to differentiate between different sorts of
+keys, if necessary, e.g.\ between |pgfkeys| and |l3keys|.
+If these options are used without value, the formatters are reset to
+their standard behavior.
+
+\begin{dispExample}
+% See index of this documentation to recognize the effect
+\newcommand{\myFormatPgfkeysIndex}[1]{#1 (\textsf{pgfkeys})}
+\newcommand{\myFormatExplkeysIndex}[1]{#1 (\textsf{l3keys})}
+
+\tcbmakedocSubKey[
+    index key formatter=\myFormatPgfkeysIndex,
+    index keys formatter=\myFormatPgfkeysIndex
+  ]{docFooPgfkey}{foopgf}
+\tcbmakedocSubKey[
+    doc key prefix=,
+    index key formatter=\myFormatExplkeysIndex,
+    index keys formatter=\myFormatExplkeysIndex
+  ]{docFooExplkey}{fooexpl}
+
+\begin{docFooPgfkey}{foo pgf}{=\meta{name}}{no default, initially empty}
+  content
+\end{docFooPgfkey}
+
+\begin{docFooExplkey}{foo expl}{=\meta{name}}{no default, initially empty}
+  content
+\end{docFooExplkey}
+\end{dispExample}
+\end{docTcbKeys}
+
+
+
+\clearpage
+
 \begin{docTcbKey}{doc description}{=\meta{description}}{no default, initially empty}
   Sets a (short!) additional \meta{description} for
   \refEnv{docCommand}, \refEnv{docEnvironment}, or \refEnv{docPathOperation}.
@@ -871,7 +949,7 @@
 \begin{docTcbKey}[][doc new={2020-04-23}]{doc sort index}{=\meta{text}}{no default, initially unset}
   If used inside the option list of \refEnv{docCommand}, \refEnv{docEnvironment},
   \refEnv{docKey}, etc, then \meta{text} is used
-  for as sort key for the index instead of the name of the definition.
+  as sort key for the index instead of the name of the definition.
 \begin{dispListing}
 \begin{docCommands}[
     doc name        = l_tcobox_example_tl,
@@ -907,7 +985,7 @@
 \end{docTcbKey}
 
 \begin{docTcbKey}[][doc new=2014-09-19]{doc new}{=\meta{date}}{style, no default}
-  Adds a a marginnote with a \enquote{New: \meta{date}} message at the beginning of
+  Adds a marginnote with a \enquote{New: \meta{date}} message at the beginning of
   the upper box part. The intended use is inside the option list of
   \refEnv{docCommand}, \refEnv{docEnvironment}, etc.
   \makeatletter\renewcommand*{\tcbdocnew}[1]{\kvtcb at text@new: #1}\makeatother%
@@ -1096,7 +1174,7 @@
 \tcbset{doc head key={boxsep=4pt,arc=4pt,boxrule=0.6pt,
   frame style=fill,interior style=fill,colframe=green!50!black}}
 
-\begin{docKey}{/foo/myKey}{}{no value}
+\begin{docKey}[foo]{myKey}{}{no value}
   This is the documentation of \refKey{/foo/myKey}.
 \end{docKey}
 \end{dispExample}

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -368,7 +368,7 @@
   initially |true|}
 If set to |true|, the |\begin| and |\end| code of \refKey{/tcb/external/environment}
 is appended with a percent sign. For verbatim environments, this option
-typically has to be se to |false|.
+typically has to be set to |false|.
 \end{extTcbKey}
 
 
@@ -391,9 +391,7 @@
 
 \begin{extTcbKey}[][doc new=2015-03-11]{compiler}{=\meta{text}}{no default,
   initially \texttt{pdflatex}}
-  Sets the name of the compiler for the snippets. Note that this compiler
-  has to support the |\pdfmdfivesum| primitive e.g. using the
-  |pdftexcmds| package. This should work for |xelatex| and |lualatex|.
+  Sets the name of the compiler for the snippets.
 \end{extTcbKey}
 
 \begin{extTcbKey}[][doc new=2015-03-11]{runs}{=\meta{number}}{no default,
@@ -605,14 +603,17 @@
   not created.}\\
   Depending on operating system and compiler, an |external| subdirectory is
   automatically created or not. If not, create such a directory manually
-  or add the following to your document\footnote{The |shellesc| package
-  is loaded automatically by the library.}:
+  or add the following to your document:
 \begin{dispListing}
-\ShellEscape{mkdir external}
+\ExplSyntaxOn
+\sys_shell_now:n { mkdir~external }
+\ExplSyntaxOff
 \end{dispListing}
 or
 \begin{dispListing}
-\ShellEscape{mkdir -p external}
+\ExplSyntaxOn
+\sys_shell_now:n { mkdir~-p~external }
+\ExplSyntaxOff
 \end{dispListing}
   If the combination of \refKey{/tcb/external/prefix} and chosen snippet
   name points to another subdirectory than |external|, this has to be

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -392,7 +392,7 @@
 \begin{tcolorbox}[fit basedim=7pt,
   fontupper=\normalsize,
   fit fontsize macros]
-The relative relative font size macros
+The relative font size macros
 are also usable without the
 \textit{fit} algorithm.\par
 {\Huge Adapted Huge} ---
@@ -530,7 +530,7 @@
     \begin{marker}
     The used font has to be freely scalable for this method!
     Other content than text is not scaled down.
-    The aspect ratio is fully garanteed.
+    The aspect ratio is fully guaranteed.
     \end{marker}
   \item\docValue{fontsize*}:\tcbdocmarginnote{\tcbdocnew{2014-10-29}}
     First, the \docValue{fontsize} algorithm is applied. If the font was scaled down
@@ -538,7 +538,7 @@
     \begin{marker}
     The used font has to be freely scalable for this method!
     Other content than text may be slightly rescaled.
-    The aspect ratio cannot be fully garanteed.
+    The aspect ratio cannot be fully guaranteed.
     \end{marker}
   \item\docValue{areasize}:
     The algorithm calculates the area size for the text without scaling the font.
@@ -546,7 +546,7 @@
     steps. Finally, it is scaled down with a standard |\resizebox| macro.
     \begin{marker}
     The used font has not to be scalable. Every box content is scaled down.
-    The aspect ratio cannot be fully garanteed.
+    The aspect ratio cannot be fully guaranteed.
     \end{marker}
   \item\docValue{areasize*}:\tcbdocmarginnote{\tcbdocnew{2014-10-29}}
     The \docValue{areasize} algorithm is applied, but if the content was scaled
@@ -553,7 +553,7 @@
     down and the resulting height is too small, the box is squeezed to fit the area.
     \begin{marker}
     The used font has not to be scalable. Every box content is scaled down.
-    The aspect ratio cannot be fully garanteed.
+    The aspect ratio cannot be fully guaranteed.
     \end{marker}
   \item\docValue{hybrid}:
     First, this algorithm estimates the needed font size in one or two steps.
@@ -561,7 +561,7 @@
     \begin{marker}
     The used font has to be freely scalable for this method!
     Other content than text may be slightly rescaled.
-    The aspect ratio cannot be fully garanteed.
+    The aspect ratio cannot be fully guaranteed.
     \end{marker}
   \item\docValue{hybrid*}:\tcbdocmarginnote{\tcbdocnew{2014-10-29}}
     First, this algorithm estimates the needed font size in one or two steps.
@@ -569,7 +569,7 @@
     \begin{marker}
     The used font has to be freely scalable for this method!
     Other content than text may be slightly rescaled.
-    The aspect ratio cannot be fully garanteed.
+    The aspect ratio cannot be fully guaranteed.
     \end{marker}
   \item\docValue{squeeze}:
     The text box is brutally scaled down to fit.
@@ -659,7 +659,7 @@
     switched off (including the ones for the finally used box).
   \item\docValue{on}: All warnings for all auxiliary boxes are displayed.
   \item\docValue{final}: Only warnings for the finally used box are displayed.
-    Note that an additional box has to be contructed for theses messages.
+    Note that an additional box has to be constructed for these messages.
   \end{itemize}
 \end{docTcbKey}
 

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.graphics.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.graphics.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.graphics.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -104,6 +104,7 @@
 \begin{docTcbKey}[][doc new and updated={2014-11-14}{2018-03-18}]{graphics options}{=\meta{options}}{no default, initially empty}
 Used for \refCom{tcbincludegraphics} and \refCom{tcbincludepdf} to
 specify |\includegraphics| \meta{options}.
+Note that \meta{options} will be fully expanded.
 
 \begin{dispExample}
 % \tcbuselibrary{raster}

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -132,7 +132,105 @@
   Prepends the given \meta{code} to \refKey{/tcb/after lower} or \refKey{/tcb/after lower*} \emph{after} the content of the lower part.
 \end{docTcbKey}
 
+\clearpage
 
+\begin{docTcbKeys}[
+    doc new = 2023-11-13,
+    doc description = style,
+  ]
+  {
+    { doc name = environment title app, doc parameter={=\meta{name}} },
+    { doc name = environment title args app, doc parameter={=\marg{name}\marg{code}} }
+  }
+  This shortcut style sets \refKey{/tcb/before title app}
+  to |\begin|\marg{name} and \refKey{/tcb/after title pre}
+  to |\end|\marg{name}, i.e. the title text is enclosed by the environment \meta{name}.
+  The second variant also places \meta{code} after |\begin|\marg{name}.
+  Note that you may need \emph{additional} brackets around \meta{code}, if
+  \meta{code} contains some para\-meter(s) for the environment \meta{name}.
+\end{docTcbKeys}
+
+\begin{docTcbKeys}[
+    doc new = 2023-11-13,
+    doc description = style,
+  ]
+  {
+    { doc name = environment title pre, doc parameter={=\meta{name}} },
+    { doc name = environment title args pre, doc parameter={=\marg{name}\marg{code}} }
+  }
+  This shortcut style sets \refKey{/tcb/before title pre}
+  to |\begin|\marg{name} and \refKey{/tcb/after title app}
+  to |\end|\marg{name}, i.e. the title text is enclosed by the environment \meta{name}.
+  The second variant also places \meta{code} after |\begin|\marg{name}.
+  Note that you may need \emph{additional} brackets around \meta{code}, if
+  \meta{code} contains some para\-meter(s) for the environment \meta{name}.
+\end{docTcbKeys}
+
+\begin{docTcbKeys}[
+    doc new = 2023-11-13,
+    doc description = style,
+  ]
+  {
+    { doc name = environment upper app, doc parameter={=\meta{name}} },
+    { doc name = environment upper args app, doc parameter={=\marg{name}\marg{code}} }
+  }
+  This shortcut style sets \refKey{/tcb/before upper app}
+  to |\begin|\marg{name} and \refKey{/tcb/after upper pre}
+  to |\end|\marg{name}, i.e. the upper part is enclosed by the environment \meta{name}.
+  The second variant also places \meta{code} after |\begin|\marg{name}.
+  Note that you may need \emph{additional} brackets around \meta{code}, if
+  \meta{code} contains some para\-meter(s) for the environment \meta{name}.
+\end{docTcbKeys}
+
+\begin{docTcbKeys}[
+    doc new = 2023-11-13,
+    doc description = style,
+  ]
+  {
+    { doc name = environment upper pre, doc parameter={=\meta{name}} },
+    { doc name = environment upper args pre, doc parameter={=\marg{name}\marg{code}} }
+  }
+  This shortcut style sets \refKey{/tcb/before upper pre}
+  to |\begin|\marg{name} and \refKey{/tcb/after upper app}
+  to |\end|\marg{name}, i.e. the upper part is enclosed by the environment \meta{name}.
+  The second variant also places \meta{code} after |\begin|\marg{name}.
+  Note that you may need \emph{additional} brackets around \meta{code}, if
+  \meta{code} contains some para\-meter(s) for the environment \meta{name}.
+\end{docTcbKeys}
+
+\begin{docTcbKeys}[
+    doc new = 2023-11-13,
+    doc description = style,
+  ]
+  {
+    { doc name = environment lower app, doc parameter={=\meta{name}} },
+    { doc name = environment lower args app, doc parameter={=\marg{name}\marg{code}} }
+  }
+  This shortcut style sets \refKey{/tcb/before lower app}
+  to |\begin|\marg{name} and \refKey{/tcb/after lower pre}
+  to |\end|\marg{name}, i.e. the lower part is enclosed by the environment \meta{name}.
+  The second variant also places \meta{code} after |\begin|\marg{name}.
+  Note that you may need \emph{additional} brackets around \meta{code}, if
+  \meta{code} contains some para\-meter(s) for the environment \meta{name}.
+\end{docTcbKeys}
+
+\begin{docTcbKeys}[
+    doc new = 2023-11-13,
+    doc description = style,
+  ]
+  {
+    { doc name = environment lower pre, doc parameter={=\meta{name}} },
+    { doc name = environment lower args pre, doc parameter={=\marg{name}\marg{code}} }
+  }
+  This shortcut style sets \refKey{/tcb/before lower pre}
+  to |\begin|\marg{name} and \refKey{/tcb/after lower app}
+  to |\end|\marg{name}, i.e. the lower part is enclosed by the environment \meta{name}.
+  The second variant also places \meta{code} after |\begin|\marg{name}.
+  Note that you may need \emph{additional} brackets around \meta{code}, if
+  \meta{code} contains some para\-meter(s) for the environment \meta{name}.
+\end{docTcbKeys}
+
+
 \clearpage
 \subsection{Embedding into the Surroundings}
 The following option keys extend the options given in Subsection \ref{subsec:surroundings}

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.magazine.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.magazine.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.magazine.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -174,7 +174,7 @@
 If the first box part should fill the rest of the available space of
 the current page, you can use |\pagegoal-\pagetotal| minus some distance for
 the first element of \refKey{/tcb/break at}. You may want to have some
-additional distance to the preceeding text.
+additional distance to the preceding text.
 
 \begin{dispListing}
 % \usepackage{lipsum}

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.poster.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.poster.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.poster.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -16,7 +16,7 @@
 depending on the actual project.
 \begin{itemize}
 \item The \mylib{raster} library has a flow oriented concept, just like a
-  convential text flow. The text flow (box flow) is a merely endless ribbon
+  conventional text flow. The text flow (box flow) is a merely endless ribbon
   which gets broken into lines (and paragraphs) and the lines are broken
   into pages. \mylib{raster} shapes the boxes to convenient sizes to fill
   lines and pages in a pleasant way.

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.raster.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.raster.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.raster.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -7,13 +7,7 @@
 \begin{dispListing}
 \tcbuselibrary{raster}
 \end{dispListing}
-%This also loads the package |xparse| \cite{latexproject:xparse}.
 
-%The purpose of this library is to give comfortable access to the
-%powerful document command production with |xparse| for |tcolorbox|.
-%See the |xparse| package documentation \cite{latexproject:xparse}
-%for details about the argument \meta{specification} used in this section.
-
 \subsection{Concept of Rasters}\label{subsec:raster_overview}
 
 A \emph{raster} is used to align several colored boxes in a regular way.
@@ -855,7 +849,7 @@
 \item For fixed height boxes/rasters using \refKey{/tcb/raster height},
   the height of boxes is available by \refCom{tcbtextheight}. This can be
   used to size deeper layered boxes/rasters.
-\item For boxes/rasters layed out using \refKey{/tcb/raster equal height},
+\item For boxes/rasters laid out using \refKey{/tcb/raster equal height},
   space can be distributed by \refKey{/tcb/space to}.
   It can take several compilations until all spaces are distributed correctly.
 \end{itemize}

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty	2024-01-10 20:44:04 UTC (rev 69370)
@@ -12,7 +12,7 @@
 \RequirePackage[english]{babel}
 \RequirePackage{lmodern,parskip,array,ifthen,calc}
 \RequirePackage{amsmath,amssymb}
-\RequirePackage[svgnames,table,hyperref]{xcolor}
+\RequirePackage[svgnames,table]{xcolor}
 
 \RequirePackage{tikz}
 \usetikzlibrary{shadings,shadows}
@@ -205,6 +205,7 @@
     meta,marg,
     oarg,
     refCom,refEnv,refKey,
+    sarg,
     tcbmakedocSubKey,tcbdocmarginnote,tcbdocnew,tcbdocupdated,
     % skins
     tcbincludegraphics,tcbincludepdf,pdfpages,imagepage,imagepath,imagename,

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -2087,13 +2087,13 @@
   from the frame outline.  A positive \meta{offset} value shrinks the shadow
   and a negative \meta{offset} value enlarges the shadow.
   The shadow is filled along a \tikzname\  path with the given \tikzname\  \meta{options}.\\
-  The shadows adapt to the rounded corners of the |tcolorbox|. An shrinked shadow
+  The shadows adapt to the rounded corners of the |tcolorbox|. A shrinked shadow
   will switch to sharp corners if necessary, an enlarged shadow may become
   more rounded depending on several factors. But \refKey{/tcb/sharp corners}
   have sharp shadows.
   \begin{marker}
   Shadows are not considered for the bounding box computation by default.
-  Large shadows may be overlaped by the following content. But, the
+  Large shadows may be overlapped by the following content. But, the
   bounding box can be adapted if necessary.
   \end{marker}
 
@@ -2955,7 +2955,7 @@
 
 \clearpage
 \subsection{Draft Mode}\label{subsec:draftmode}
-To reduce the compiliation time while drafting a document, the \emph{draft mode}
+To reduce the compilation time while drafting a document, the \emph{draft mode}
 can be applied. Basically, it changes all skins to \refSkin{spartan} and
 sets the \refKey{/tcb/fit algorithm} to |squeeze|. Especially,
 when fuzzy shadows are used, the speedup will be considerable high.

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -838,7 +838,7 @@
 \bigskip
 \begin{marker}
   All described options like \refKey{/tcb/ams gather upper}, \refKey{/tcb/ams gather lower},
-  \refKey{/tcb/ams gather} are (partially) setting (overwritting) the
+  \refKey{/tcb/ams gather} are (partially) setting (overwriting) the
   keys \refKey{/tcb/before upper}, \refKey{/tcb/after upper},
   \refKey{/tcb/before lower}, \refKey{/tcb/after lower}.\par
   Therefore, e.\,g.\ |\tcbset{ams gather,before upper={\text{Pythagoras:}}}|

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,9 +1,9 @@
 % \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcolorbox.tex: Manual
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -51,8 +51,8 @@
 \setlength{\bibitemsep}{\smallskipamount}
 \addbibresource{tcolorbox.doc.bib}
 
-\def\version{6.1.0}%
-\def\datum{2023/09/26}%
+\def\version{6.2.0}%
+\def\datum{2024/01/10}%
 \makeindex
 
 \hypersetup{
@@ -65,12 +65,10 @@
 \usepackage{pgfplots}
 \pgfplotsset{compat=1.17}
 
-\nocite{breitenlohner:1998a}
-
 %\geometry{showframe}
 %\tcbset{draftmode}
 \tcbset{/tcb/external/-}% for final run
-%\includeonly{tcolorbox.doc.coreoptions}
+%\includeonly{tcolorbox.doc.initoptions,tcolorbox.doc.index}
 %\hypersetup{colorlinks=false}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcbbreakable.code.tex: Code for breakable colorboxes
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
 %%
 %% This work consists of all files listed in README
 %%
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \RequirePackage{pdfcol}
 \pdfcolInitStack{tcb at breakable}

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcbdocumentation.code.tex: Code for LaTeX documentations
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -17,9 +17,9 @@
 %%
 %% This work consists of all files listed in README
 %%
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
-\tcbuselibrary{listings,skins,xparse,external,raster}
+\tcbuselibrary{listings,skins,external,raster}
 
 \ifdefined\printindex\else%
   \RequirePackage{makeidx}[2000/03/29]%
@@ -198,6 +198,11 @@
   keywords bold/.default=true,%
   keywords bold/true/.code={\let\tcb at doc@bfseries\bfseries},
   keywords bold/false/.code={\let\tcb at doc@bfseries\mdseries},
+  doc key prefix/.store in=\kvtcb at doc@keyprefix,
+  index key formatter/.code={\let\kvtcb at doc@format at key=#1},
+  index keys formatter/.code={\let\kvtcb at doc@format at keys=#1},
+  index key formatter/.default=\@firstofone,
+  index keys formatter/.default=\@firstofone,
 }
 
 
@@ -289,7 +294,7 @@
 \NewDocumentCommand{\tcbIndexPrintEnvCA}{m}{\tcb at Index@Print at CA{#1}{\kvtcb at col@environment}{\kvtcb at text@env}}
 \NewDocumentCommand{\tcbIndexPrintEnvC}{m}{\tcb at Index@Print at C{#1}{\kvtcb at col@environment}}
 
-\NewDocumentCommand{\tcbIndexPrintKeyCA}{m}{\tcb at Index@Print at CA{#1}{\kvtcb at col@key}{\kvtcb at text@key}}
+\NewDocumentCommand{\tcbIndexPrintKeyCA}{m}{\tcb at Index@Print at CA{#1}{\kvtcb at col@key}}
 \NewDocumentCommand{\tcbIndexPrintKeyC}{m}{\tcb at Index@Print at C{#1}{\kvtcb at col@key}}
 
 \NewDocumentCommand{\tcbIndexPrintPathCA}{m}{\tcb at Index@Print at CA{#1}{\kvtcb at col@path}{\kvtcb at text@path}}
@@ -333,7 +338,7 @@
 \ExplSyntaxOn
 
 
-\cs_new_nopar:Npn \__tcobox_new_bool_key:nn #1 #2
+\cs_new_nopar:Npn \__tcobox_new_bool_key:Nn #1 #2
   {
     \bool_new:N #1
     \tcbset
@@ -345,15 +350,15 @@
       }
   }
 
-\__tcobox_new_bool_key:nn \l__tcobox_doc_toindex_bool { doc~into~index }
-\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_colors_bool       { index~gather~colors }
-\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_commands_bool     { index~gather~commands }
-\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_counters_bool     { index~gather~counters }
-\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_environments_bool { index~gather~environments }
-\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_keys_bool         { index~gather~keys }
-\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_lengths_bool      { index~gather~lengths }
-\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_paths_bool        { index~gather~paths }
-\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_values_bool       { index~gather~values }
+\__tcobox_new_bool_key:Nn \l__tcobox_doc_toindex_bool { doc~into~index }
+\__tcobox_new_bool_key:Nn \l__tcobox_doc_gather_colors_bool       { index~gather~colors }
+\__tcobox_new_bool_key:Nn \l__tcobox_doc_gather_commands_bool     { index~gather~commands }
+\__tcobox_new_bool_key:Nn \l__tcobox_doc_gather_counters_bool     { index~gather~counters }
+\__tcobox_new_bool_key:Nn \l__tcobox_doc_gather_environments_bool { index~gather~environments }
+\__tcobox_new_bool_key:Nn \l__tcobox_doc_gather_keys_bool         { index~gather~keys }
+\__tcobox_new_bool_key:Nn \l__tcobox_doc_gather_lengths_bool      { index~gather~lengths }
+\__tcobox_new_bool_key:Nn \l__tcobox_doc_gather_paths_bool        { index~gather~paths }
+\__tcobox_new_bool_key:Nn \l__tcobox_doc_gather_values_bool       { index~gather~values }
 
 
 \cs_new_nopar:Npn \__tcobox_sanitize_tl:n #1
@@ -397,8 +402,8 @@
 % main documentation environments
 
 \seq_new:N \g__tcobox_label_seq
+\seq_new:N \l__tcobox_tmpa_seq
 
-
 \cs_new:Npn \__tcobox_doc_entry_begin:nnn #1#2#3
   {
     \tcbset{doc~name=, doc~parameter=, doc~description=, #1}
@@ -406,12 +411,12 @@
     \seq_gclear:N \g__tcobox_label_seq
     \begin{tcbraster}[raster~columns=1,raster~row~skip=0pt,
       raster~after~skip=4.1pt,raster~force~size=false,doc at raster@#3]
-    \seq_set_from_clist:Nn \l_tmpa_seq {#2}
-    \seq_if_empty:NT \l_tmpa_seq
+    \seq_set_from_clist:Nn \l__tcobox_tmpa_seq {#2}
+    \seq_if_empty:NT \l__tcobox_tmpa_seq
     {
-      \seq_put_left:Nn \l_tmpa_seq {}
+      \seq_put_left:Nn \l__tcobox_tmpa_seq {}
     }
-    \seq_map_inline:Nn \l_tmpa_seq
+    \seq_map_inline:Nn \l__tcobox_tmpa_seq
       {
         \group_begin:
         \tcbset{##1}
@@ -460,11 +465,11 @@
   {
     \__tcobox_print_command:
     \__tcobox_index_command:
-    \seq_if_in:NVF \g__tcobox_label_seq \kvtcb at doc@label
+    \seq_if_in:NoF \g__tcobox_label_seq { \kvtcb at doc@label }
       {
         \protected at edef\@currentlabel{\noexpand\tcb at cs{\kvtcb at doc@name}}
         \label{com:\kvtcb at doc@label}
-        \seq_gput_left:NV \g__tcobox_label_seq \kvtcb at doc@label
+        \seq_gput_right:No \g__tcobox_label_seq { \kvtcb at doc@label }
       }
     {\ttfamily\kvtcb at doc@parameter}
     \tcb at doc@do at description
@@ -522,11 +527,11 @@
   {
     \strut\cs{begin}\brackets{\__tcobox_print_environment:}
     \__tcobox_index_environment:
-    \seq_if_in:NVF \g__tcobox_label_seq \kvtcb at doc@label
+    \seq_if_in:NoF \g__tcobox_label_seq { \kvtcb at doc@label }
       {
         \protected at edef\@currentlabel{\kvtcb at doc@name}
         \label{env:\kvtcb at doc@label}
-        \seq_gput_left:NV \g__tcobox_label_seq \kvtcb at doc@label
+        \seq_gput_right:No \g__tcobox_label_seq { \kvtcb at doc@label }
       }
     {\ttfamily\kvtcb at doc@parameter}\par
     \strut{\ttfamily\nobreakspace\nobreakspace}\meta{\kvtcb at text@envcontent}\par
@@ -570,7 +575,7 @@
     \textcolor{\kvtcb at col@key}{\tcb at doc@bfseries\ttfamily
     \tl_if_empty:NF \kvtcb at doc@keypath
       {
-        /\__tcobox_sanitize_tl:V\kvtcb at doc@keypath/
+        \kvtcb at doc@keyprefix\__tcobox_sanitize_tl:V\kvtcb at doc@keypath/
       }
     \__tcobox_sanitize_tl:V\kvtcb at doc@name}
   }
@@ -579,15 +584,15 @@
   {
     \bool_if:NT \l__tcobox_doc_toindex_bool
       {
-        \kvtcb at index@command{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintKeyCA{\kvtcb at doc@index}}
+        \kvtcb at index@command{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintKeyCA{\kvtcb at doc@index}{\kvtcb at doc@format at key\kvtcb at text@key}}
         \bool_if:NT \l__tcobox_doc_gather_keys_bool
           {
             \tl_if_empty:NTF \kvtcb at doc@keypath
               {
-                \kvtcb at index@command{\kvtcb at text@keys\idx at level\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintKeyC{\kvtcb at doc@index}}
+                \kvtcb at index@command{\kvtcb at doc@format at keys\kvtcb at text@keys\idx at level\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintKeyC{\kvtcb at doc@index}}
               }
               {
-                \kvtcb at index@command{\kvtcb at text@keys\idx at level\kvtcb at doc@keypath\idx at actual\tcbIndexPrintKeyC{/\kvtcb at doc@keypath/}
+                \kvtcb at index@command{\kvtcb at doc@format at keys\kvtcb at text@keys\idx at level\kvtcb at doc@keypath\idx at actual\tcbIndexPrintKeyC{\kvtcb at doc@keyprefix\kvtcb at doc@keypath/}
                   \idx at level\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintKeyC{\kvtcb at doc@index}}
               }
           }
@@ -600,20 +605,20 @@
     \__tcobox_index_key:
     \tl_if_empty:NTF \kvtcb at doc@keypath
       {
-        \seq_if_in:NVF \g__tcobox_label_seq \kvtcb at doc@label
+        \seq_if_in:NoF \g__tcobox_label_seq { \kvtcb at doc@label }
           {
             \protected at edef\@currentlabel{\kvtcb at doc@name}
             \label{key:\kvtcb at doc@label}
-            \seq_gput_left:NV \g__tcobox_label_seq \kvtcb at doc@label
+            \seq_gput_right:No \g__tcobox_label_seq { \kvtcb at doc@label }
           }
       }
       {
-        \tl_set:Nx \l_tmpa_tl {/\kvtcb at doc@keypath/\kvtcb at doc@label}
-        \seq_if_in:NVF \g__tcobox_label_seq \l_tmpa_tl
+        \tl_set:Ne \l__tcobox_tmpa_tl {\kvtcb at doc@keyprefix\kvtcb at doc@keypath/\kvtcb at doc@label}
+        \seq_if_in:NoF \g__tcobox_label_seq { \l__tcobox_tmpa_tl }
           {
-            \protected at edef\@currentlabel{/\kvtcb at doc@keypath/\kvtcb at doc@name}
-            \label{key:/\kvtcb at doc@keypath/\kvtcb at doc@label}
-            \seq_gput_left:NV \g__tcobox_label_seq \l_tmpa_tl
+            \protected at edef\@currentlabel{\kvtcb at doc@keyprefix\kvtcb at doc@keypath/\kvtcb at doc@name}
+            \label{key:\kvtcb at doc@keyprefix\kvtcb at doc@keypath/\kvtcb at doc@label}
+            \seq_gput_right:No \g__tcobox_label_seq { \l__tcobox_tmpa_tl }
           }
       }
     {\ttfamily\kvtcb at doc@parameter}
@@ -655,17 +660,18 @@
   }
 
 
-\NewDocumentCommand \tcbmakedocSubKey { m m }
+\NewDocumentCommand \tcbmakedocSubKey { +O{} m m }
   {
-    \NewDocumentEnvironment{#1}{ O{} +O{} m m +m }
+    \NewDocumentEnvironment{#2}{ O{} +O{} m m +m }
       {
         \__tcobox_doc_entry_begin:nnn
           {
-            doc at sub@keypath=#2,
+            doc at sub@keypath=#3,
             doc~keypath=##1,
             doc~name={##3},
             doc~parameter={##4},
             doc~description={##5},
+            #1,
             ##2
           }
           {}{key}
@@ -673,27 +679,28 @@
       {
         \__tcobox_doc_entry_end:n { key }
       }
-    \NewDocumentEnvironment{#1*}{}
+    \NewDocumentEnvironment{#2*}{}
       {
         \group_begin:
         \bool_set_false:N \l__tcobox_doc_toindex_bool
-        \begin{#1}
+        \begin{#2}
       }
       {
-        \end{#1}
+        \end{#2}
         \group_end:
       }
   }
 
 
-\NewDocumentCommand \tcbmakedocSubKeys { m m }
+\NewDocumentCommand \tcbmakedocSubKeys { +O{} m m }
   {
-    \NewDocumentEnvironment{#1}{ +O{} +m }
+    \NewDocumentEnvironment{#2}{ +O{} +m }
       {
         \__tcobox_doc_entry_begin:nnn
           {
-            doc at sub@keypath=#2,
+            doc at sub@keypath=#3,
             doc~keypath=,
+            #1,
             ##1
           }
           {##2}{key}
@@ -725,11 +732,11 @@
   {
     \colFade{\tcb at cs{path~...}}~\__tcobox_print_path:
     \__tcobox_index_path:
-    \seq_if_in:NVF \g__tcobox_label_seq \kvtcb at doc@label
+    \seq_if_in:NoF \g__tcobox_label_seq { \kvtcb at doc@label }
       {
         \protected at edef\@currentlabel{\kvtcb at doc@name}
         \label{path:\kvtcb at doc@label}
-        \seq_gput_left:NV \g__tcobox_label_seq \kvtcb at doc@label
+        \seq_gput_right:No \g__tcobox_label_seq { \kvtcb at doc@label }
       }
     {\ttfamily\kvtcb at doc@parameter{}~\colFade{...;}}
     \tcb at doc@do at description
@@ -1017,6 +1024,9 @@
   index annotate=true,
   english language,
   keywords bold,
+  doc key prefix={/},
+  index key formatter,
+  index keys formatter,
 }
 
 % deprecated

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcbexternal.code.tex: Code for externalization
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -17,17 +17,10 @@
 %%
 %% This work consists of all files listed in README
 %%
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \tcbuselibrary{pro at cessing}
 
-{
-\catcode`\"=12
-\xdef\tcbexternal at normal@dq{"}
-\catcode`\"=13
-\gdef\tcbexternal at activate@normal at dq{\let"=\tcbexternal at normal@dq}
-}
-
 \long\def\tcbifexternal#1#2{%
   \ifdefined\TCBEXTERNALINPUT%
     #1%
@@ -65,31 +58,44 @@
   \edef\tcbexternal at job@pdf{\expandonce{\tcbexternal at job@name.pdf}}%
 }
 
-\def\tcbexternal at corecompile{%
-  \begingroup%
-  \ifnum\the\catcode`\"=13 \tcbexternal at activate@normal at dq\fi%
-  \message{=== Compile external '\tcbexternal at job@name': }%
-  \tcb at allocate@tcb at out%
-  \immediate\openout\tcb at out="\tcbexternal at run@tex"
-  \immediate\write\tcb at out{\string\gdef\string\TCBEXTERNALINPUT{"\tcbexternal at job@source"}}%
-  \immediate\write\tcb at out{\string\gdef\string\TCBEXTERNALSAFETY{\tcbexternal at safety}}%
-  \immediate\write\tcb at out{\string\gdef\string\TCBEXTERNALPREAMBLE{\expandonce{\tcbexternal at preamble}}}%
-  \ifdefempty{\tcbexternal at preclass}{}{\immediate\write\tcb at out{\expandonce{\tcbexternal at preclass}}}%
-  \immediate\write\tcb at out{\string\input{"\jobname.tex"}}%
-  \immediate\closeout\tcb at out%
-  \foreach \n in {1,...,\tcbexternal at runs}
-  {%
-    \ShellEscape{%
-      \tcbexternal at compiler\space
-      -shell-escape
-      -halt-on-error
-      -interaction=batchmode
-      -jobname="\tcbexternal at job@name"
-      "\tcbexternal at run@tex"
-    }%
-  }%
-  \endgroup%
-}
+\ExplSyntaxOn
+\cs_new_protected:Npn \tcbexternal at corecompile
+  {
+    \group_begin:
+    \char_set_catcode_other:n { `\" }
+    \iow_term:e { ===~Compile~external~'\tcbexternal at job@name':~ }
+    \iow_open:Nn \g__tcobox_out_iow { \tcbexternal at run@tex }
+    \iow_now:Ne \g__tcobox_out_iow
+      {
+        \token_to_str:N \gdef \token_to_str:N \TCBEXTERNALINPUT
+          { "\tcbexternal at job@source" } \iow_newline:
+        \token_to_str:N \gdef \token_to_str:N \TCBEXTERNALSAFETY
+          { \tcbexternal at safety } \iow_newline:
+        \token_to_str:N \gdef \token_to_str:N \TCBEXTERNALPREAMBLE
+          { \exp_not:o \tcbexternal at preamble }
+      }
+    \tl_if_empty:NF \tcbexternal at preclass
+      {
+        \iow_now:NV \g__tcobox_out_iow \tcbexternal at preclass
+      }
+    \iow_now:Ne \g__tcobox_out_iow
+        { \token_to_str:N \input {"\jobname.tex"} }
+    \iow_close:N \g__tcobox_out_iow
+    \int_step_inline:nn { \tcbexternal at runs }
+      {
+        \sys_shell_now:e
+          {
+            \tcbexternal at compiler \c_space_tl
+            -shell-escape~
+            -halt-on-error~
+            -interaction=batchmode~
+            -jobname="\tcbexternal at job@name"~
+            "\tcbexternal at run@tex"
+          }
+      }
+    \group_end:
+  }
+\ExplSyntaxOff
 
 \def\tcbexternal at compile#1{%
   \tcbiffileprocess{#1}%
@@ -239,8 +245,8 @@
     \let\tcbexternal at out@end=\@empty%
   },
   minipage/.code={%
-    \appto\tcbexternal at out@begin{\immediate\write\tcb at out{\string\begin{minipage}{\the\dimexpr#1\relax}\string\ignorespaces\@percentchar}}%
-    \preto\tcbexternal at out@end{\immediate\write\tcb at out{\string\end{minipage}\@percentchar}}%
+    \appto\tcbexternal at out@begin{\tcb at iow@write{\string\begin{minipage}{\the\dimexpr#1\relax}\string\ignorespaces\@percentchar}}%
+    \preto\tcbexternal at out@end{\tcb at iow@write{\string\end{minipage}\@percentchar}}%
   },
   minipage/.default=\linewidth,
   %
@@ -247,14 +253,14 @@
   environment with percent/.is choice,
   environment with percent/true/.style={%
     /tcb/external/environment/.code={%
-      \appto\tcbexternal at out@begin{\immediate\write\tcb at out{\string\begin{##1}\@percentchar}}%
-      \preto\tcbexternal at out@end{\immediate\write\tcb at out{\string\end{##1}\@percentchar}}%
+      \appto\tcbexternal at out@begin{\tcb at iow@write{\string\begin{##1}\@percentchar}}%
+      \preto\tcbexternal at out@end{\tcb at iow@write{\string\end{##1}\@percentchar}}%
     }
   },
   environment with percent/false/.style={%
     /tcb/external/environment/.code={%
-      \appto\tcbexternal at out@begin{\immediate\write\tcb at out{\string\begin{##1}}}%
-      \preto\tcbexternal at out@end{\immediate\write\tcb at out{\string\end{##1}}}%
+      \appto\tcbexternal at out@begin{\tcb at iow@write{\string\begin{##1}}}%
+      \preto\tcbexternal at out@end{\tcb at iow@write{\string\end{##1}}}%
     }
   },
   environment with percent/.default=true,

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcbfitting.code.tex: Code for fit boxes
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -18,7 +18,7 @@
 %% This work consists of all files listed in README
 %%
 %\makeatletter
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \newdimen\tcbfitdim
 \newdimen\tcb at lowerfitdim
@@ -394,8 +394,8 @@
   }
 \NewDocumentCommand \__tcobox_new_tcboxfit_i:w { m +O{} m }
   {
-    \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
-    \exp_args:NNnV \__tcobox_new_tcboxfit_ii:w #1 {#2} \l_tmpa_tl
+    \__tcobox_set_backslash_removed:Nn \l__tcobox_tmpa_tl { #3 }
+    \exp_args:NNnV \__tcobox_new_tcboxfit_ii:w #1 {#2} \l__tcobox_tmpa_tl
   }
 \NewDocumentCommand \newtcboxfit { }
   {
@@ -416,8 +416,8 @@
   }
 \NewDocumentCommand \__tcobox_new_TCBoxFit:w { m +O{} m }
   {
-    \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
-    \exp_args:NNnV \__tcobox_new_TCBoxFit:Nnnnn #1 {#2} \l_tmpa_tl
+    \__tcobox_set_backslash_removed:Nn \l__tcobox_tmpa_tl { #3 }
+    \exp_args:NNnV \__tcobox_new_TCBoxFit:Nnnnn #1 {#2} \l__tcobox_tmpa_tl
   }
 \NewDocumentCommand \DeclareTCBoxFit { }
   {
@@ -448,8 +448,8 @@
   }
 \NewDocumentCommand \__tcobox_new_TotalTCBoxFit:w { m +O{} m }
   {
-    \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
-    \exp_args:NNnV \__tcobox_new_TotalTCBoxFit:Nnnnnn #1 {#2} \l_tmpa_tl
+    \__tcobox_set_backslash_removed:Nn \l__tcobox_tmpa_tl { #3 }
+    \exp_args:NNnV \__tcobox_new_TotalTCBoxFit:Nnnnnn #1 {#2} \l__tcobox_tmpa_tl
   }
 \NewDocumentCommand \DeclareTotalTCBoxFit { }
   {

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcbhooks.code.tex: Code for adding hooks
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -18,7 +18,7 @@
 %% This work consists of all files listed in README
 %%
 %\makeatletter
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \tcbset{%
   before upper app/.code={\appto\kvtcb at before@upper{#1}},%
@@ -136,3 +136,36 @@
   listing options pre/.code={\preto\kvtcb at listingoptions{#1,}},
 }
 
+\ExplSyntaxOn
+\tcbset {
+  __environment-app / .style~n~args = { 3 }
+    {
+      before~#1~app = { \begin{#2} #3 },
+      after~#1~pre  = { \end{#2} }
+    },
+  environment~upper~app / .value~required,
+  environment~lower~app / .value~required,
+  environment~title~app / .value~required,
+  environment~upper~app / .style = { __environment-app = {upper}{#1}{ } },
+  environment~lower~app / .style = { __environment-app = {lower}{#1}{ } },
+  environment~title~app / .style = { __environment-app = {title}{#1}{ } },
+  environment~upper~args~app / .style~n~args = { 2 }{ __environment-app = {upper}{#1}{#2} },
+  environment~lower~args~app / .style~n~args = { 2 }{ __environment-app = {lower}{#1}{#2} },
+  environment~title~args~app / .style~n~args = { 2 }{ __environment-app = {title}{#1}{#2} },
+  __environment-pre / .style~n~args = { 3 }
+    {
+      before~#1~pre = { \begin{#2} #3 },
+      after~#1~app  = { \end{#2} }
+    },
+  environment~upper~pre / .value~required,
+  environment~lower~pre / .value~required,
+  environment~title~pre / .value~required,
+  environment~upper~pre / .style = { __environment-pre = {upper}{#1}{ } },
+  environment~lower~pre / .style = { __environment-pre = {lower}{#1}{ } },
+  environment~title~pre / .style = { __environment-pre = {title}{#1}{ } },
+  environment~upper~args~pre / .style~n~args = { 2 }{ __environment-pre = {upper}{#1}{#2} },
+  environment~lower~args~pre / .style~n~args = { 2 }{ __environment-pre = {lower}{#1}{#2} },
+  environment~title~args~pre / .style~n~args = { 2 }{ __environment-pre = {title}{#1}{#2} },
+}
+\ExplSyntaxOff
+

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcblistings.code.tex: Code for colorboxes with listings
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -18,7 +18,7 @@
 %% This work consists of all files listed in README
 %%
 %\makeatletter
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \RequirePackage{listings}[2007/02/22]
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -18,7 +18,7 @@
 %% This work consists of all files listed in README
 %%
 %\makeatletter
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \tcbuselibrary{pro at cessing}
 
@@ -164,17 +164,31 @@
   \begin{tcolorbox}[capture=\tcb at listing@capture,savedelimiter=tcolorbox]\tcb at listing@process\end{tcolorbox}%
 }
 
-\long\def\tcb at run@system at command#1{%
-  \ifcase\pdf at shellescape\relax
-    \tcb at error{You must invoke LaTeX with the -shell-escape flag}{Pass the -shell-escape flag to LaTeX.}%
-  \or\or
-    \tcb at warning{System call with restricted shell escape may fail}%
-  \fi%
-  \ShellEscape{#1}%
-  \relax%
+\ExplSyntaxOn
+\cs_new_protected:Npn \__tcbox_run_system_command:n #1
+  {
+    \sys_if_shell:TF
+      {
+        \sys_if_shell_restricted:T
+          {
+            \tcb at warning{System~call~with~restricted~shell~escape~may~fail}
+          }
+      }
+      {
+        \tcb at error{You~must~invoke~LaTeX~with~the~-shell-escape~flag}
+          {Pass~the~-shell-escape~flag~to~LaTeX.}
+      }
+    \sys_shell_now:e {#1}
+  }
+
+\tcbset
+{
+  run~system~command/.style={process~code={\__tcbox_run_system_command:n{#1}}},
 }
 
+\ExplSyntaxOff
 
+
 \tcbset{%
   listing file/.store in=\kvtcb at listingfile,%
   comment/.store in=\kvtcb at listingcomment,%
@@ -219,7 +233,6 @@
   process code/.code={\appto\tcb at listing@process at hook{#1}},%
   no process/.code={\def\tcb at listing@process at hook{}},%
   compilable listing/.style={listing file={\jobname-listing-\thetcblistingcount.tex}},
-  run system command/.style={process code={\tcb at run@system at command{#1}}},%
   run at system@command/.style 2 args={run system command={#1\space#2\space\filename at area\filename at base}},%
   run pdflatex/.style={run at system@command={pdflatex}{#1}},%
   run xelatex/.style={run at system@command={xelatex}{#1}},%
@@ -355,8 +368,8 @@
   }
 \NewDocumentCommand \__tcobox_new_tcbinputlisting_i:w { m +O{} m }
   {
-    \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
-    \exp_args:NNnV \__tcobox_new_tcbinputlisting_ii:w #1 {#2} \l_tmpa_tl
+    \__tcobox_set_backslash_removed:Nn \l__tcobox_tmpa_tl { #3 }
+    \exp_args:NNnV \__tcobox_new_tcbinputlisting_ii:w #1 {#2} \l__tcobox_tmpa_tl
   }
 \NewDocumentCommand \newtcbinputlisting { }
   {
@@ -377,8 +390,8 @@
   }
 \NewDocumentCommand \__tcobox_new_TCBInputListing:w { m +O{} m }
   {
-    \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
-    \exp_args:NNnV \__tcobox_new_TCBInputListing:Nnnnn #1 {#2} \l_tmpa_tl
+    \__tcobox_set_backslash_removed:Nn \l__tcobox_tmpa_tl { #3 }
+    \exp_args:NNnV \__tcobox_new_TCBInputListing:Nnnnn #1 {#2} \l__tcobox_tmpa_tl
   }
 \NewDocumentCommand \DeclareTCBInputListing { }
   {

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
 %%
 %% This work consists of all files listed in README
 %%
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \tcbuselibrary{listings}
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcbmagazine.code.tex: Code for box sets and magazine styles
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
 %%
 %% This work consists of all files listed in README
 %%
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \tcbuselibrary{breakable}
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcbminted.code.tex: Code for colorboxes with listings
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -18,7 +18,7 @@
 %% This work consists of all files listed in README
 %%
 %\makeatletter
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \RequirePackage{minted}[2021/12/24]
 
@@ -35,21 +35,21 @@
       {
         \usemintedstyle { #4 }
       }
-    \tl_set:Nn \l_tmpa_tl { \inputminted[#1 }
+    \tl_set:Nn \l__tcobox_tmpa_tl { \inputminted[#1 }
     \cs_if_exist:NT \tcb at listing@capture
       {
         \str_if_eq:VnT \tcb at listing@capture { hbox }
           {
-            \tl_put_right:Nn \l_tmpa_tl { ,envname=BVerbatim }
+            \tl_put_right:Nn \l__tcobox_tmpa_tl { ,envname=BVerbatim }
           }
       }
-    \tl_put_right:Nn \l_tmpa_tl { ] }
+    \tl_put_right:Nn \l__tcobox_tmpa_tl { ] }
     \file_if_exist:nTF { \minted at outputdir #3 }
       {
-        \l_tmpa_tl { #2 }{ \minted at outputdir #3 }
+        \l__tcobox_tmpa_tl { #2 }{ \minted at outputdir #3 }
       }
       {
-        \l_tmpa_tl { #2 }{ #3 }
+        \l__tcobox_tmpa_tl { #2 }{ #3 }
       }
   }
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcbposter.code.tex: Code for posters
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
 %%
 %% This work consists of all files listed in README
 %%
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \tcbuselibrary{breakable,magazine,skins,fitting}
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcbprocessing.code.tex: Code for conditional processing
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -17,64 +17,54 @@
 %%
 %% This work consists of all files listed in README
 %%
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
-\RequirePackage{pdftexcmds}
-\RequirePackage{shellesc}
+\ExplSyntaxOn
 
-\ifdefined\pdf at filemdfivesum\else% XeLaTeX presumed ...
-  \def\pdf at filemdfivesum#1{\mdfivesum file {#1}}%
-\fi
-\ifdefined\pdf at filemoddate\else% very poor XeLaTeX bypassing
-  \def\pdf at filemoddate#1{}%
-\fi
+\bool_new:N \l__tcobox_proc_hash_equal_bool
 
-\def\tcbproc at readmdfive#1#2{%
-  \edef\tcbprocmdfivesum{\pdf at filemdfivesum{#1}}%
-  \IfFileExists{#2}{\input{#2}}{\def\tcbproclastmdfivesum{}}%
-}
+\cs_new_protected:Npn \__tcobox_proc_compute_hash:nn #1#2
+  {
+    \tl_set:Ne \l__tcobox_tmpa_tl { \file_mdfive_hash:n { #1 } }
+    \file_get:nnN { #2 } { } \l__tcobox_tmpb_tl
+    \str_if_eq:eeTF { \l__tcobox_tmpa_tl } { \tl_trim_spaces:o { \l__tcobox_tmpb_tl } }
+      {
+        \bool_set_true:N \l__tcobox_proc_hash_equal_bool
+      }
+      {
+        \bool_set_false:N \l__tcobox_proc_hash_equal_bool
+        \iow_open:Nn \g__tcobox_out_iow { #2 }
+        \iow_now:NV \g__tcobox_out_iow \l__tcobox_tmpa_tl
+        \iow_close:N \g__tcobox_out_iow
+      }
+  }
 
-\def\tcbproc at writemdfive#1{%
-  \tcb at allocate@tcb at out%
-  \immediate\openout\tcb at out=#1%
-  \immediate\write\tcb at out{\string\def\string\tcbproclastmdfivesum{\tcbprocmdfivesum}\@percentchar}%
-  \immediate\closeout\tcb at out%
-}
+\prg_new_protected_conditional:Npnn \__tcobox_if_file_process:nnnn #1#2#3#4 { TF }
+  {
+    \__tcobox_proc_compute_hash:nn {#2} {#3}
+    \int_case:nn {#1}
+      {
+        {0} { \prg_return_true: }
+        {1}
+          {
+            \bool_if:NTF \l__tcobox_proc_hash_equal_bool
+              {
+                \file_if_exist:nTF {#4}
+                  {
+                    \file_compare_timestamp:nNnTF {#4} < {#3}
+                      { \prg_return_true: }
+                      { \prg_return_false: }
+                  }
+                  { \prg_return_true: }
+              }
+              {
+                \prg_return_true:
+              }
+          }
+        {2} { \prg_return_false: }
+      }
+  }
 
-\newrobustcmd{\iftcb at process@on}[3]{%
-  \tcbproc at readmdfive{#1}{#2}%
-  \ifdefstrequal{\tcbproclastmdfivesum}{\tcbprocmdfivesum}{}{\tcbproc at writemdfive{#2}}%
-  \expandafter\@firstoftwo%
-}
+\cs_gset_eq:NN \tcbiffileprocess \__tcobox_if_file_process:nnnnTF
 
-\newrobustcmd{\iftcb at process@conditional}[3]{%
-  \tcbproc at readmdfive{#1}{#2}%
-  \ifdefstrequal{\tcbproclastmdfivesum}{\tcbprocmdfivesum}{%
-    \IfFileExists{#3}{%
-      \ifnum\pdf at strcmp{\pdf at filemoddate{#2}}{\pdf at filemoddate{#3}}>0\relax%
-        \expandafter\@firstoftwo%
-      \else%
-        \expandafter\@secondoftwo%
-      \fi%
-    }{\expandafter\@firstoftwo}%
-  }{%
-    \tcbproc at writemdfive{#2}%
-    \expandafter\@firstoftwo%
-  }%
-}
-
-\newrobustcmd{\iftcb at process@off}[3]{%
-  \tcbproc at readmdfive{#1}{#2}%
-  \ifdefstrequal{\tcbproclastmdfivesum}{\tcbprocmdfivesum}{}{\tcbproc at writemdfive{#2}}%
-  \expandafter\@secondoftwo%
-}%
-
-\newrobustcmd{\tcbiffileprocess}[1]{%
-  \ifcase\numexpr#1\relax%
-    \expandafter\iftcb at process@on%
-  \or%
-    \expandafter\iftcb at process@conditional%
-  \else%
-    \expandafter\iftcb at process@off%
-  \fi%
-}
+\ExplSyntaxOff

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
 %%
 %% This work consists of all files listed in README
 %%
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \newcounter{tcbrastercolumn}
 \newcounter{tcbrasterrow}

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcbskins.code.tex: Code for colorboxes with different skins
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
 %%
 %% This work consists of all files listed in README
 %%
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \RequirePackage{tikz}[2010/10/13]
 \RequirePackage{tikzfill.image}
@@ -1720,7 +1720,7 @@
 
 \cs_new:Npn \__tcobox_include_graphics:nn #1#2
   {
-    \includegraphics [#1] {#2}
+    \includegraphics [{#1}] {#2}
   }
 \cs_generate_variant:Nn \__tcobox_include_graphics:nn {en}
 
@@ -1730,27 +1730,27 @@
 
     \int_compare:nNnT \kvtcb at graphics@orientation > {-1}
       {
-        \hbox_set:Nn \l_tmpa_box
+        \hbox_set:Nn \l__tcobox_tmpa_box
           {
             \__tcobox_include_graphics:en { \l__tcobox_graphics_options_tl }{ \imagepath }
           }
         \if_case:w \kvtcb at graphics@orientation
-          \dim_compare:nNnT {\box_wd:N\l_tmpa_box} < {\box_ht_plus_dp:N \l_tmpa_box}
+          \dim_compare:nNnT {\box_wd:N\l__tcobox_tmpa_box} < {\box_ht_plus_dp:N \l__tcobox_tmpa_box}
             {
               \tl_put_right:Nn \l__tcobox_graphics_options_tl {,angle=90}
             }
         \or:
-          \dim_compare:nNnT {\box_wd:N\l_tmpa_box} < {\box_ht_plus_dp:N \l_tmpa_box}
+          \dim_compare:nNnT {\box_wd:N\l__tcobox_tmpa_box} < {\box_ht_plus_dp:N \l__tcobox_tmpa_box}
             {
               \tl_put_right:Nn \l__tcobox_graphics_options_tl {,angle=-90}
             }
         \or:
-          \dim_compare:nNnT {\box_wd:N\l_tmpa_box} > {\box_ht_plus_dp:N \l_tmpa_box}
+          \dim_compare:nNnT {\box_wd:N\l__tcobox_tmpa_box} > {\box_ht_plus_dp:N \l__tcobox_tmpa_box}
             {
               \tl_put_right:Nn \l__tcobox_graphics_options_tl {,angle=90}
             }
         \or:
-          \dim_compare:nNnT {\box_wd:N\l_tmpa_box} > {\box_ht_plus_dp:N \l_tmpa_box}
+          \dim_compare:nNnT {\box_wd:N\l__tcobox_tmpa_box} > {\box_ht_plus_dp:N \l__tcobox_tmpa_box}
             {
               \tl_put_right:Nn \l__tcobox_graphics_options_tl {,angle=-90}
             }
@@ -1769,7 +1769,7 @@
           {
             \begin{tcolorbox}
               \__tcobox_include_graphics:en { \l__tcobox_graphics_options_tl,width=\linewidth,height=\tcbtextheight,keepaspectratio }{ \imagepath }
-          \end{tcolorbox}
+            \end{tcolorbox}
           }
           {
             \tl_if_empty:NTF \tcb at height@adjust
@@ -1776,7 +1776,7 @@
             {
               \begin{tcolorbox}
                 \__tcobox_include_graphics:en { \l__tcobox_graphics_options_tl,width=\linewidth }{ \imagepath }
-              \end{tcolorbox}%
+              \end{tcolorbox}
             }{% height fill
               \begin{tcolorbox}[
                 underlay=
@@ -1796,15 +1796,15 @@
 
 \cs_new:Npn \__tcobox_include_graphics_preparefile:n #1
   {
-    \file_parse_full_name:nNNN {#1} \l_tmpa_tl \imagename \l_tmpb_tl
-    \tl_put_right:NV \imagename \l_tmpb_tl
+    \file_parse_full_name:nNNN {#1} \l__tcobox_tmpa_tl \imagename \l__tcobox_tmpb_tl
+    \tl_put_right:NV \imagename \l__tcobox_tmpb_tl
     \tl_set_eq:NN \imagepath \imagename
-    \tl_if_empty:NF \l_tmpa_tl
+    \tl_if_empty:NF \l__tcobox_tmpa_tl
       {
         \tl_put_left:Nn \imagepath {/}
-        \tl_if_eq:NnF \l_tmpa_tl {/}
+        \tl_if_eq:NnF \l__tcobox_tmpa_tl {/}
           {
-            \tl_put_left:NV \imagepath \l_tmpa_tl
+            \tl_put_left:NV \imagepath \l__tcobox_tmpa_tl
           }
       }
     \tl_if_empty:NF \kvtcb at graphics@directory

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
 %%
 %% This work consists of all files listed in README
 %%
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \tcbuselibrary{skins}
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcbtheorems.code.tex: Code for theorems in colorboxes
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -18,7 +18,7 @@
 %% This work consists of all files listed in README
 %%
 %\makeatletter
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \RequirePackage{amsmath}
 
@@ -107,7 +107,7 @@
       }
       {
         % box display name and number
-        \hbox_set:Nn \l_tmpa_box
+        \hbox_set:Nn \l__tcobox_tmpa_box
           {
             \__tcobox_theo_format:nn{#1}{#2}
             \bool_if:NF \l__tcobox_theo_headempty_bool
@@ -119,18 +119,18 @@
         % set (hanging) indent for name and number
         \str_if_eq:VnTF \l__tcobox_theo_hanging_indent_tl { auto }
           {
-            \hangindent \box_wd:N \l_tmpa_box
+            \hangindent \box_wd:N \l__tcobox_tmpa_box
             \hangafter = 1
           }
           {
-            \dim_set:Nn \l_tmpa_dim { \l__tcobox_theo_hanging_indent_tl }
-            \if_dim:w \l_tmpa_dim = \c_zero_dim
+            \dim_set:Nn \l__tcobox_tmpa_dim { \l__tcobox_theo_hanging_indent_tl }
+            \if_dim:w \l__tcobox_tmpa_dim = \c_zero_dim
             \else:
-              \if_dim:w \l_tmpa_dim > \c_zero_dim
-                \hangindent \l_tmpa_dim
+              \if_dim:w \l__tcobox_tmpa_dim > \c_zero_dim
+                \hangindent \l__tcobox_tmpa_dim
                 \hangafter = 1
               \else:
-                \hangindent -\l_tmpa_dim
+                \hangindent -\l__tcobox_tmpa_dim
                 \hangafter = -1
               \fi:
             \fi:
@@ -137,7 +137,7 @@
           }
         % insert box with name and number
         \mode_leave_vertical:
-        \box_use_drop:N \l_tmpa_box
+        \box_use_drop:N \l__tcobox_tmpa_box
         % insert formated title
         \group_begin:
           \__tcobox_theo_format_description:n{#3}

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcbvignette.code.tex: Code for ornamental frames
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
 %%
 %% This work consists of all files listed in README
 %%
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \tcbuselibrary{skins}
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcbxparse.code.tex: Code for xparse features
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -18,6 +18,6 @@
 %% This work consists of all files listed in README
 %%
 %\makeatletter
-\tcb at set@library at version{6.1.0}
+\tcb at set@library at version{6.2.0}
 
 \RequirePackage{xparse}[2013/12/31]

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty	2024-01-10 20:43:48 UTC (rev 69369)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty	2024-01-10 20:44:04 UTC (rev 69370)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 6.1.0 (2023/09/26)
+%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
 %% tcolorbox.sty: Text color boxes
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -17,9 +17,9 @@
 %%
 %% This work consists of all files listed in README
 %%
-\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesPackage{tcolorbox}[2023/09/26 version 6.1.0 text color boxes]
-\def\tcb at version{6.1.0}
+\NeedsTeXFormat{LaTeX2e}[2021-11-15]
+\ProvidesPackage{tcolorbox}[2024/01/10 version 6.2.0 text color boxes]
+\def\tcb at version{6.2.0}
 
 \RequirePackage{pgf}[2008/01/15]
 \RequirePackage{verbatim}[2003/08/22]
@@ -55,6 +55,19 @@
 \newcounter{tcblayer}
 \newcounter{tcolorbox at number}
 
+\ExplSyntaxOn
+\bool_new:N \l__tcobox_prevent_init_overwrite_bool
+\box_new:N \l__tcobox_tmpa_box
+\dim_new:N \l__tcobox_tmpa_dim
+\fp_new:N \l__tcobox_tmpa_fp
+\iow_new:N \g__tcobox_out_iow
+\iow_new:N \g__tcobox_record_iow
+\str_new:N \l__tcobox_record_file_str
+\tl_new:N \l__tcobox_kv_labeltype_tl
+\tl_new:N \l__tcobox_tmpa_tl
+\tl_new:N \l__tcobox_tmpb_tl
+\ExplSyntaxOff
+
 \def\tcb at info#1{\PackageInfo{tcolorbox}{#1}}
 \def\tcb at warning#1{\PackageWarning{tcolorbox}{#1}}
 \def\tcb at error#1#2{\PackageError{tcolorbox}{#1}{#2}}
@@ -287,7 +300,7 @@
   fontlower/.store in=\kvtcb at fontlower,
   tempfile/.store in=\kvtcb at tempfile,
   savelowerto/.code={\tcb at redirectlowertofalse\def\kvtcb at savelowerto{#1}},
-  redirectlowerto/.code={\tcb at lowerignoredtrue\tcb at lowervisiblefalse\tcb at redirectlowertotrue\def\kvtcb at savelowerto{#1}},
+  redirectlowerto/.code={\pgfkeysalso{lowerbox=ignored}\tcb at redirectlowertotrue\def\kvtcb at savelowerto{#1}},
   saveto/.store in=\kvtcb at saveupperto,
   savedelimiter/.estore in=\kvtcb at savedelimiter,
   floatplacement/.store in=\kvtcb at floatplacement,
@@ -888,9 +901,33 @@
   wrap at environment/.is if=tcb at wrap@environment,
 }
 
+
+\def\kvtcb at beforebox{}
+\def\kvtcb at afterbox{}
+
+
 \ExplSyntaxOn
 
-\tl_new:N \l__tcobox_kv_labeltype_tl
+\tcbset
+{
+  __environment / .style~n~args = { 3 }
+    {
+      before~#1* = { \begin{#2} #3 },
+      after~#1*  = { \end{#2} }
+    },
+  environment~upper / .value~required,
+  environment~lower / .value~required,
+  environment~title / .value~required,
+  environment~upper / .style = { __environment = {upper}{#1}{ } },
+  environment~lower / .style = { __environment = {lower}{#1}{ } },
+  environment~title / .style = { __environment = {title}{#1}{ } },
+  environment~upper~args / .value~required,
+  environment~lower~args / .value~required,
+  environment~title~args / .value~required,
+  environment~upper~args / .style~n~args = { 2 }{ __environment = {upper}{#1}{#2} },
+  environment~lower~args / .style~n~args = { 2 }{ __environment = {lower}{#1}{#2} },
+  environment~title~args / .style~n~args = { 2 }{ __environment = {title}{#1}{#2} },
+}
 
 
 \cs_new:Npn \__tcobox_label_label:n #1
@@ -965,26 +1002,39 @@
     IfBooleanT/.code~n~args={2}{\IfBooleanT{#1}{\pgfkeysalso{#2}}},
     IfBooleanF/.code~n~args={2}{\IfBooleanF{#1}{\pgfkeysalso{#2}}},
   }
-\ExplSyntaxOff
 
-\def\kvtcb at beforebox{}
-\def\kvtcb at afterbox{}
-
 \IfFormatAtLeastTF{2023-06-01}
   {
-    \def\tcb at set@parbox at indent@{%
-      \noindent%
-      \let\tcb at set@parbox at indent\@empty%
+    \def\tcb at set@parbox at indent@{
+      \exp_args:Nne \hook_gput_next_code:nn {para/begin}
+         { \__tcobox_set_parbox_indent:n { \thetcolorboxnumber } }
+      \let\tcb at set@parbox at indent\@empty
     }
   }
   {
     % Note: To be removed in future
-    \def\tcb at set@parbox at indent@{%
-      \vspace{-\parskip}\noindent%
-      \let\tcb at set@parbox at indent\@empty%
+    \def\tcb at set@parbox at indent@{
+      \vspace{-\parskip}
+      \noindent
+      \let\tcb at set@parbox at indent\@empty
     }
   }
 
+\cs_new_protected:Npn \__tcobox_set_parbox_indent:n #1
+  {
+    \bool_lazy_and:nnT
+      % if not inside a nested tcolorbox
+      { \int_compare_p:nNn { #1 } = { \thetcolorboxnumber } }
+      % and if inside a "tcb at savebox" env (upper or lower part is non-empty),
+      % hence not at the time of using saved \tcb at upperbox or \tcb at lowerbox
+      { \cs_if_exist_p:N \tcbbreak }
+      {
+        \OmitIndent
+      }
+  }
+
+\ExplSyntaxOff
+
 \def\tcb at parbox@true at indent{}%
 \def\tcb at parbox@false at indent{%
   \preto\kvtcb at before@title{\tcb at set@parbox at indent}%
@@ -1183,8 +1233,19 @@
     \expandafter\let\csname end\kvtcb at savedelimiter\expandafter\endcsname\csname tcb at endupperverbatimanddraw\endcsname%
     \ifx\kvtcb at savelowerto\@empty%
     \else%
-      \tcb at warning{'saveto' and 'savelowerto' cannot be combined. I deactivate 'savelowerto'}%
-      \tcbset{savelowerto=}%
+      \iftcb at redirectlowerto%
+        \tcb at warning{%
+          'saveto' and 'redirectlowerto' cannot be combined.\MessageBreak
+          I deactivate 'redirectlowerto' but retain its\MessageBreak
+          'lowerbox' setting}%
+        \tcb at redirectlowertofalse%
+        \tcbset{savelowerto=}%
+      \else%
+        \tcb at warning{%
+          'saveto' and 'savelowerto' cannot be combined.\MessageBreak
+          I deactivate 'savelowerto'}%
+        \tcbset{savelowerto=}%
+      \fi%
     \fi%
   \fi%
   \tcb at startbox%
@@ -1462,19 +1523,19 @@
 \ExplSyntaxOn
 \def\tcb at ch@fixed at spacesave
   {
-    \fp_set:Nn \l_tmpa_fp { \tcb at space+\tcbheightspace }
-    \fp_compare:nTF { \l_tmpa_fp < 0 }
+    \fp_set:Nn \l__tcobox_tmpa_fp { \tcb at space+\tcbheightspace }
+    \fp_compare:nTF { \l__tcobox_tmpa_fp < 0 }
       {
-        \fp_zero_new:N \l_tmpa_fp
+        \fp_zero:N \l__tcobox_tmpa_fp
       }
       {
-        \fp_compare:nT { \l_tmpa_fp > \tcb at height }
+        \fp_compare:nT { \l__tcobox_tmpa_fp > \tcb at height }
           {
-            \fp_set:Nn \l_tmpa_fp { \tcb at height }
+            \fp_set:Nn \l__tcobox_tmpa_fp { \tcb at height }
           }
       }
-    \tcbdimto\tcb at space { \fp_to_dim:n { trunc(\l_tmpa_fp,2) } }
-    \use:x { \exp_not:N\tcb at savespace{\thetcolorboxnumber}{\tcb at space} }
+    \tcbdimto\tcb at space { \fp_to_dim:n { trunc(\l__tcobox_tmpa_fp,2) } }
+    \use:e { \exp_not:N\tcb at savespace{\thetcolorboxnumber}{\tcb at space} }
     \tcbdimto\tcb at height@upper{\ht\tcb at upperbox+\dp\tcb at upperbox+\tcbheightspace}
     \let\tcbheightspace\tcb at zpt
     \iftcb at lowerspace
@@ -2236,8 +2297,6 @@
 
 \ExplSyntaxOn
 
-\bool_new:N \l__tcobox_prevent_init_overwrite_bool
-
 \cs_new:Npn \__tcobox_process_newtcolorbox:nn #1#2
   {
     \bool_lazy_and:nnF
@@ -2257,7 +2316,7 @@
   {
     \tl_set:Nn #1 { #2 }
     \tl_trim_spaces:N #1
-    \tl_set:Nx #1 { \exp_last_unbraced:NV \cs_to_str:N #1 }
+    \tl_set:Ne #1 { \exp_last_unbraced:NV \cs_to_str:N #1 }
   }
 
 
@@ -2324,8 +2383,8 @@
   }
 \NewDocumentCommand \__tcobox_new_TotalTColorBox:w { m +O{} m }
   {
-    \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
-    \exp_args:NNnV \__tcobox_new_TotalTColorBox:Nnnnnn #1 {#2} \l_tmpa_tl
+    \__tcobox_set_backslash_removed:Nn \l__tcobox_tmpa_tl { #3 }
+    \exp_args:NNnV \__tcobox_new_TotalTColorBox:Nnnnnn #1 {#2} \l__tcobox_tmpa_tl
   }
 \NewDocumentCommand \DeclareTotalTColorBox { }
   {
@@ -2368,8 +2427,8 @@
   }
 \NewDocumentCommand \__tcobox_new_tcbox_i:w { m +O{} m }
   {
-    \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
-    \exp_args:NNnV \__tcobox_new_tcbox_ii:w #1 {#2} \l_tmpa_tl
+    \__tcobox_set_backslash_removed:Nn \l__tcobox_tmpa_tl { #3 }
+    \exp_args:NNnV \__tcobox_new_tcbox_ii:w #1 {#2} \l__tcobox_tmpa_tl
   }
 \NewDocumentCommand \newtcbox { }
   {
@@ -2390,8 +2449,8 @@
   }
 \NewDocumentCommand \__tcobox_new_TCBox:w { m +O{} m }
   {
-    \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
-    \exp_args:NNnV \__tcobox_new_TCBox:Nnnnn #1 {#2} \l_tmpa_tl
+    \__tcobox_set_backslash_removed:Nn \l__tcobox_tmpa_tl { #3 }
+    \exp_args:NNnV \__tcobox_new_TCBox:Nnnnn #1 {#2} \l__tcobox_tmpa_tl
   }
 \NewDocumentCommand \DeclareTCBox { }
   {
@@ -2422,8 +2481,8 @@
   }
 \NewDocumentCommand \__tcobox_new_TotalTCBox:w { m +O{} m }
   {
-    \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
-    \exp_args:NNnV \__tcobox_new_TotalTCBox:Nnnnnn #1 {#2} \l_tmpa_tl
+    \__tcobox_set_backslash_removed:Nn \l__tcobox_tmpa_tl { #3 }
+    \exp_args:NNnV \__tcobox_new_TotalTCBox:Nnnnnn #1 {#2} \l__tcobox_tmpa_tl
   }
 \NewDocumentCommand \DeclareTotalTCBox { }
   {
@@ -2494,9 +2553,8 @@
     \ifnum\c at tocdepth<1\relax
       \tcb at warning{'tocdepth'~value~lower~than~1~for~'tcblistof'}
     \fi
-    \tl_set:Nx \l_tmpa_tl {\tl_trim_spaces:n{#1}}
-    \tl_set:Nx \l_tmpb_tl {\str_range:Nnn \l_tmpa_tl {2}{8}}
-    \str_if_eq:VnT \l_tmpb_tl { chapter }
+    \tl_set:Ne \l__tcobox_tmpa_tl {\tl_trim_spaces:n{#1}}
+    \str_if_eq:eeT { \str_range:Nnn \l__tcobox_tmpa_tl {2}{8} } { chapter }
       {
         \if at twocolumn
           \@restonecoltrue\onecolumn
@@ -2504,8 +2562,7 @@
           \@restonecolfalse
         \fi
       }
-    \tl_set:Nx \l_tmpa_tl {\str_item:Nn \l_tmpa_tl {-1}}
-    \str_if_eq:VnTF \l_tmpa_tl { * }
+    \str_if_eq:eeTF { \str_item:Nn \l__tcobox_tmpa_tl {-1} } { * }
       {
         #1{#4}
         \IfNoValueTF{#3}
@@ -2535,10 +2592,11 @@
 
 % verbatim output as in 'verbatim'
 
-\def\tcb at allocate@tcb at out{%
-  \newwrite\tcb at out%
-  \xdef\tcb at allocate@tcb at out{}%
-}
+\ExplSyntaxOn
+\cs_new_protected:Npn \tcb at iow@open  { \iow_open:Nn \g__tcobox_out_iow }
+\cs_new_protected:Npn \tcb at iow@write { \iow_now:Ne  \g__tcobox_out_iow }
+\cs_new_protected:Npn \tcb at iow@close { \iow_close:N \g__tcobox_out_iow }
+\ExplSyntaxOff
 
 \let\tcb at verbatim@begin at hook\@empty
 \let\tcb at verbatim@end at hook\@empty
@@ -2548,20 +2606,17 @@
 \def\tcbverbatimwrite#1{%
   \@bsphack
   \tcb at set@verbatim at finish%
-  \tcb at allocate@tcb at out%
-  \immediate\openout\tcb at out #1
+  \tcb at iow@open{#1}%
   \tcb at verbatim@begin at hook%
   \let\do\@makeother\dospecials
   \tcb at verbatim@change at percent\catcode`\^^M\active \catcode`\^^I=12
-  \def\verbatim at processline{%
-    \immediate\write\tcb at out
-      {\the\verbatim at line}}%
+  \def\verbatim at processline{\tcb at iow@write{\the\verbatim at line}}%
   \verbatim at start}%'
 
 
 \def\endtcbverbatimwrite{%
   \tcb at verbatim@end at hook%
-  \immediate\closeout\tcb at out
+  \tcb at iow@close
   \@esphack%
 }
 
@@ -2570,12 +2625,12 @@
 
 \cs_new_nopar:Npn \__tcobox_verbatim_finish:
   {
-    \tl_set_rescan:Nnx \l_tmpa_tl
+    \tl_set_rescan:Nne \l__tcobox_tmpa_tl
       {
         \char_set_catcode_space:n { 9 }
         \char_set_catcode_space:n { 32 }
       } { \the\verbatim at line }
-    \tl_if_blank:VF \l_tmpa_tl
+    \tl_if_blank:VF \l__tcobox_tmpa_tl
       {
         \verbatim at processline
       }
@@ -2646,37 +2701,43 @@
 
 % recording
 
-\def\tcb at allocate@tcb at record@out{%
-  \newwrite\tcb at record@out%
-  \xdef\tcb at allocate@tcb at record@out{}%
-}
+\ExplSyntaxOn
 
+\cs_new_protected:Npn \__tcobox_record:n #1
+  {
+    \iow_now:Ne \g__tcobox_record_iow { #1 }
+  }
 
-\def\tcb at null#1{}
-\newcommand{\tcb at record}[1]{\immediate\write\tcb at record@out{#1}}
+\NewDocumentCommand \tcbstartrecording { O{\jobname.records} }
+  {
+    \cs_set_eq:NN \tcbrecord \__tcobox_record:n
+    \str_set:Ne \l__tcobox_record_file_str { #1 }
+    \iow_open:Nn \g__tcobox_record_iow { \l__tcobox_record_file_str }
+  }
 
-\newcommand{\tcbstartrecording}[1][\jobname.records]{%
-  \let\tcbrecord\tcb at record%
-  \edef\tcb at record@file{#1}%
-  \tcb at allocate@tcb at record@out%
-  \immediate\openout\tcb at record@out\tcb at record@file%
-}
+\NewDocumentCommand \tcbstoprecording { }
+  {
+    \iow_close:N \g__tcobox_record_iow
+    \cs_set_eq:NN \tcbrecord \use_none:n
+  }
 
-\newcommand{\tcbstoprecording}{%
-  \immediate\closeout\tcb at record@out%
-  \let\tcbrecord\tcb at null%
-}
-
-\tcbset{%
+\tcbset{
   record/.style={phantom={\tcbrecord{#1}}},
-  no recording/.code={\let\tcbrecord\tcb at null},
-  no recording
+  no~recording/.code={ \cs_set_eq:NN \tcbrecord \use_none:n },
+  no~recording
 }
 
-\newcommand{\tcbinputrecords}[1][\tcb at record@file]{%
-  \IfFileExists{#1}{\input{#1}}{\tcb at error{record file `#1' not found}{The record file `#1' was not found}}%
-}
+\NewDocumentCommand \tcbinputrecords { O{\l__tcobox_record_file_str} }
+  {
+    \file_if_exist_input:nF {#1}
+      {
+        \tcb at error{record~file~`#1'~not~found}
+          {The~record~file~`#1'~was~not~found}
+      }
+  }
 
+\ExplSyntaxOff
+
 \tcb at new@skin{standard}{frame engine=standard,interior titled engine=standard,
   interior engine=standard,segmentation engine=standard,title engine=standard,
   graphical environment=pgfpicture,geometry nodes=false,



More information about the tex-live-commits mailing list.