texlive[54928] Master/texmf-dist: tcolorbox (28apr20)

commits+karl at tug.org commits+karl at tug.org
Tue Apr 28 23:11:42 CEST 2020


Revision: 54928
          http://tug.org/svn/texlive?view=revision&revision=54928
Author:   karl
Date:     2020-04-28 23:11:42 +0200 (Tue, 28 Apr 2020)
Log Message:
-----------
tcolorbox (28apr20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/tcolorbox/CHANGES
    trunk/Master/texmf-dist/doc/latex/tcolorbox/README
    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.abstract.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.beamer.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.coreoptions.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.initoptions.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex
    trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.poster.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.vignette.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
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/CHANGES	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/CHANGES	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,7 +1,7 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
 %% -------------------------------------------------------------------------------------------
 %%
 %% This work may be distributed and/or modified under the
@@ -1114,3 +1114,33 @@
   'raster before skip' and 'raster after skip' did not accept glue anymore.
 - new initialization option (#80): 'reset counter on overlays'
 
+version 4.30 (2020/04/28)
+- bug fix (#88): 'parskip' and 'noparskip' had side-effects for the box content
+                 in combination with 'height fill' and 'parbox=false'
+- bug fix (#90) in library 'documentation':
+  initialize 'doc description' for every docXXX to be empty
+- Internal box counter renamed to remove warnings when using \includeonly
+- library 'documentation':
+  * major code overhaul to support simultaneous documentation of
+    similar commands, environments, keys, path operations (#89).
+  * Note that the new code reserves a small additional amount of vertical space
+    for documented macros which may result in changed page breaks.
+  * Note that documentation heads are now embedded inside a 'raster'
+    which requires other customizations for vertical space (if needed)
+  * new macros and environments: 'docCommands', 'docEnvironments',
+      'docKeys', '\tcbmakedocSubKeys', 'docPathOperations'
+  * new options: 'doc index' (#91), 'doc name', 'doc parameter',
+      'doc keypath', 'doc sort index', 'doc no index',
+      'doc raster command', 'doc raster environment', 'doc raster key',
+      'doc raster path', 'doc raster'
+  * additional option setting for: '\docAuxCommand', '\docAuxEnvironment',
+      '\docAuxKey', '\docValue', '\docColor', '\docCounter', '\docLength'
+  * superfluous and undocumented opton 'color frame' removed (#94)
+  * '\refAux' and '\refAuxcs' are not longer colored, if colorlinks=false (#95)
+- library 'listingsutf8':
+  safeguard against compiling with other engines than pdf(la)tex (#92)
+- library 'fitting':
+  '\tcbfitdim' is described in more detail (#96)
+- library 'poster':
+  poster width and height caveats described in more detail (#98)
+

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/README	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/README	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,7 +1,7 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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-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	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcolorbox-example-poster.tex: a poster example for tcolorbox
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcolorbox-example.tex: an example for tcolorbox
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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,6 +17,9 @@
 %%
 %% This work consists of all files listed in README
 %%
+% arara: pdflatex: {  }
+% arara: pdflatex: { synctex: yes }
+%
 \documentclass{article}
 \usepackage{tikz,lipsum,lmodern}
 \usepackage[most]{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	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,9 +1,9 @@
 % \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcolorbox-tutorial-poster.tex: a tutorial for poster creation with tcolorbox
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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.abstract.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.abstract.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.abstract.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -79,7 +79,7 @@
   \footnote{Prof.~Dr.~Dr.~Thomas F.~Sturm, Institut f\"{u}r Mathematik und Informatik,
     Universit\"{a}t der Bundeswehr M\"{u}nchen, D-85577 Neubiberg, Germany;
      email: \href{mailto:thomas.sturm at unibw.de}{thomas.sturm at unibw.de}}\par\medskip
-\normalsize\url{http://www.ctan.org/pkg/tcolorbox}\par
+\normalsize\url{https://www.ctan.org/pkg/tcolorbox}\par
 \url{https://github.com/T-F-S/tcolorbox}}
 \end{center}
 \bigskip
@@ -98,6 +98,7 @@
   interior style={fill overzoom image=goldshade.png,fill image opacity=0.25},
   colbacktitle=red!50!yellow!75!black,
   enlargepage flexible=\baselineskip,pad at break*=3mm,
+  height fixed for=first and middle,
   watermark color=yellow!75!red!25!white,
   watermark text={\bfseries\Large Contents},
   attach boxed title to top center={yshift=-0.25mm-\tcboxedtitleheight/2,yshifttext=2mm-\tcboxedtitleheight/2},

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.beamer.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.beamer.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.beamer.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -91,6 +91,7 @@
 \end{dispListing}
 \end{docTcbKey}
 
+\clearpage
 
 \begin{docTcbKey}[][doc new={2019-03-01}]{alert}{=\textless\meta{overlay specification}\textgreater}{style, no default, initially unset}
 Sets the \refKey{/tcb/beamer alerted} style in dependency of

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,9 +1,9 @@
- at manual{hoffmann:2018a,
+ at manual{hoffmann:listings,
    author    = {Carsten Heinz and Brooks Moses and Jobst Hoffmann},
    title     = {The Listings Package},
-   url       = {http://mirror.ctan.org/macros/latex/contrib/listings/listings.pdf},
-   version   = {1.7},
-   date      = {2018-09-02},
+   url       = {https://mirror.ctan.org/macros/latex/contrib/listings/listings.pdf},
+   version   = {1.8d},
+   date      = {2020-03-24},
    language  = {english}
 }
 
@@ -10,11 +10,11 @@
 @manual{schoepf:2001a,
    author    = {Rainer Sch{\"o}pf and Bernd Raichle and Chris Rowley},
    title     = {A New Implementation of {\LaTeX}'s verbatim and verbatim* Environments},
-   url       = {http://mirror.ctan.org/macros/latex/required/tools/verbatim.pdf},
+   url       = {https://mirror.ctan.org/macros/latex/required/tools/verbatim.pdf},
    date      = {2001-03-12},
 }
 
- at techreport{sturm:2007b,
+ at techreport{sturm:mathe1,
    author      = {Thomas F. Sturm},
    title       = {Mathematik 1 (B.Eng.)},
    type        = {Vorlesungs-Skriptum},
@@ -21,11 +21,11 @@
    institution = {Universit{\"a}t der Bundeswehr M{\"u}nchen},
    address     = {Neubiberg},
    url         = {https://www.unibw.de/bw/professuren/thomas-sturm},
-   year        = 2007,
+   year        = 2019,
    language    = {german}
 }
 
- at techreport{sturm:2008b,
+ at techreport{sturm:mathe2,
    author      = {Thomas F. Sturm},
    title       = {Mathematik 2 (B.Eng.)},
    type        = {Vorlesungs-Skriptum},
@@ -32,11 +32,11 @@
    institution = {Universit{\"a}t der Bundeswehr M{\"u}nchen},
    address     = {Neubiberg},
    url         = {https://www.unibw.de/bw/professuren/thomas-sturm},
-   year        = 2008,
+   year        = 2019,
    language    = {german}
 }
 
- at techreport{sturm:2010a,
+ at techreport{sturm:mathe3,
    author      = {Thomas F. Sturm},
    title       = {H{\"o}here Mathematik: Fortgeschrittene mathematische Methoden (M.Eng.)},
    type        = {Vorlesungs-Skriptum},
@@ -43,19 +43,19 @@
    institution = {Universit{\"a}t der Bundeswehr M{\"u}nchen},
    address     = {Neubiberg},
    url         = {https://www.unibw.de/bw/professuren/thomas-sturm},
-   year        = 2010,
+   year        = 2019,
    language    = {german}
 }
 
- at book{sturm:2016e,
+ at book{sturm:latex,
    author      = {Thomas F. Sturm},
    title       = {\LaTeX -- Einf\xFChrung in das Textsatzsystem},
    publisher   = {Leibnitz Universit\xE4t Hannover IT Services (LUIS)},
    address     = {Hannover},
-   edition     = 11,
+   edition     = 12,
    series      = {IT-Handb\"ucher},
    url         = {https://www.luis.uni-hannover.de/buch.html?&titel=latex},
-   date        = {2016-08},
+   date        = {2019-07},
    language    = {german}
 }
 
@@ -63,9 +63,9 @@
 @manual{tantau:tikz_and_pgf,
    author    = {Till Tantau},
    title     = {The TikZ and PGF Packages},
-   subtitle  = {Manual for version 3.1.1},
-   url       = {http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf},
-   date      = {2019-02-02},
+   subtitle  = {Manual for version 3.1.5b},
+   url       = {https://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf},
+   date      = {2020-01-08},
 }
 
 
@@ -72,25 +72,25 @@
 @manual{tantau:beamer,
    author    = {Till Tantau and Joseph Wright and Vedran Mileti\'{c}},
    title     = {The Beamer Class},
-   subtitle  = {User Guide for version 3.55},
-   url       = {http://mirrors.ctan.org/macros/latex/contrib/beamer/doc/beameruserguide.pdf},
-   date      = {2018-12-02},
+   subtitle  = {User Guide for version 3.57},
+   url       = {https://mirrors.ctan.org/macros/latex/contrib/beamer/doc/beameruserguide.pdf},
+   date      = {2019-09-30},
 }
 
 
- at manual{carlisle:2007a,
+ at manual{carlisle:ltxdoc,
   author    = {David Carlisle},
   title     = {The file ltxdoc.dtx for use with \LaTeXe},
-  url       = {http://mirror.ctan.org/macros/latex/base/ltxdoc.dtx},
-  date      = {2007-11-11}
+  url       = {https://mirror.ctan.org/macros/latex/base/ltxdoc.pdf},
+  date      = {2019-09-16}
 }
 
 
- at manual{carlisle:2016a,
+ at manual{carlisle:tabularx,
   author    = {David Carlisle},
   title     = {The tabularx package},
-  url       = {http://mirror.ctan.org/macros/latex/required/tools/tabularx.pdf},
-  date      = {2016-02-03}
+  url       = {https://mirror.ctan.org/macros/latex/required/tools/tabularx.pdf},
+  date      = {2020-01-15}
 }
 
 
@@ -97,38 +97,48 @@
 @manual{mittelbach:2011a,
   author    = {Frank Mittelbach},
   title     = {The doc and shortvrb Packages},
-  url       = {http://mirror.ctan.org/macros/latex/base/doc.dtx},
+  url       = {https://mirror.ctan.org/macros/latex/base/doc.dtx},
   date      = {2011-06-30}
 }
 
+
+ at manual{mittelbach:multicol,
+   author    = {Frank Mittelbach},
+   title     = {An environment for multicolumn output},
+   url       = {https://mirror.ctan.org/macros/latex/required/tools/multicol.pdf},
+   date      = {2020-02-02},
+}
+
+
 @manual{breitenlohner:1998a,
    author    = {Peter Breitenlohner},
    title     = {The $\varepsilon$-\TeX\ manual},
    version   = {2},
-   url       = {http://mirrors.ctan.org/systems/doc/etex/etex_man.pdf},
+   url       = {https://mirrors.ctan.org/systems/doc/etex/etex_man.pdf},
    date      = {1998-02},
 }
 
- at manual{oberdiek:2016b,
+ at manual{oberdiek:listingsutf8,
    author    = {Heiko Oberdiek},
    title     = {The listingsutf8 package},
-   url       = {http://mirror.ctan.org/macros/latex/contrib/oberdiek/listingsutf8.pdf},
-   date      = {2016-05-16},
+   url       = {http://mirrors.ctan.org/macros/latex/contrib/listingsutf8/listingsutf8.pdf},
+   date      = {2019-12-10},
 }
 
+
 @manual{robertson:2014a,
    author    = {Will Robertson},
    title     = {A couple of things involving environments},
-   url       = {http://mirror.ctan.org/macros/latex/contrib/environ/environ.pdf},
+   url       = {https://mirror.ctan.org/macros/latex/contrib/environ/environ.pdf},
    date      = {2014-05-04},
 }
 
 
- at manual{lehmann:2018a,
+ at manual{lehmann:etoolbox,
    author    = {Philipp Lehman and Joseph Wright},
    title     = {The etoolbox Package},
-   url       = {http://mirror.ctan.org/macros/latex/contrib/etoolbox/etoolbox.pdf},
-   date      = {2018-08-19},
+   url       = {https://mirror.ctan.org/macros/latex/contrib/etoolbox/etoolbox.pdf},
+   date      = {2019-09-21},
 }
 
 
@@ -135,23 +145,16 @@
 @manual{cubitt:2018a,
    author    = {Toby Cubitt},
    title     = {The cleveref Package},
-   url       = {http://mirror.ctan.org/macros/latex/contrib/cleveref/cleveref.pdf},
+   url       = {https://mirror.ctan.org/macros/latex/contrib/cleveref/cleveref.pdf},
    date      = {2018-03-27},
 }
 
- at manual{rudolph:2011a,
-   author    = {Konrad Rudolph},
-   title     = {The minted package},
-   subtitle  = {Highlighted source code in \LaTeX},
-   url       = {http://mirror.ctan.org/macros/latex/contrib/minted/minted.pdf},
-   date      = {2011-09-17},
-}
 
 @manual{poore:minted,
    author    = {Geoffrey M. Poore},
    title     = {The minted package},
    subtitle  = {Highlighted source code in \LaTeX},
-   url       = {http://mirror.ctan.org/macros/latex/contrib/minted/minted.pdf},
+   url       = {https://mirror.ctan.org/macros/latex/contrib/minted/minted.pdf},
    date      = {2017-07-19},
 }
 
@@ -158,15 +161,15 @@
 @online{pygments:web,
   title        = {Pygments},
   subtitle     = {Python syntax highlighter},
-  date         = {2018},
-  url          = {http://pygments.org/},
+  date         = {2019},
+  url          = {https://pygments.org/},
 }
 
 @manual{latexproject:xparse,
    author    = {The \LaTeX3 Project},
    title     = {The xparse Package},
-   url       = {http://mirror.ctan.org/macros/latex/contrib/l3packages/xparse.pdf},
-   date      = {2018-10-17},
+   url       = {https://mirror.ctan.org/macros/latex/contrib/l3packages/xparse.pdf},
+   date      = {2020-03-06},
 }
 
 
@@ -173,31 +176,24 @@
 @manual{arseneau:2011a,
    author    = {Donald Arseneau},
    title     = {The varwidth package},
-   url       = {http://mirrors.ctan.org/macros/latex/contrib/varwidth/varwidth-doc.pdf},
+   url       = {https://mirrors.ctan.org/macros/latex/contrib/varwidth/varwidth-doc.pdf},
    date      = {2011-09-26},
 }
 
- at manual{mittelbach:2015a,
-   author    = {Frank Mittelbach},
-   title     = {An environment for multicolumn output},
-   url       = {http://mirror.ctan.org/macros/latex/required/tools/multicol.pdf},
-   date      = {2015-09-30},
-}
 
-
 @manual{rahtz:hyperref,
    author    = {Sebastian Rahtz and Heiko Oberdiek},
    title     = {Hypertext marks in \LaTeX: a manual for hyperref},
-   url       = {http://mirrors.ctan.org/macros/latex/contrib/hyperref/doc/manual.pdf},
-   date      = {2018-09},
+   url       = {https://mirrors.ctan.org/macros/latex/contrib/hyperref/doc/manual.pdf},
+   date      = {2020-01},
    language  = {english}
 }
 
 
- at manual{oberdiek:2016a,
+ at manual{oberdiek:bookmark,
    author    = {Heiko Oberdiek},
    title     = {The bookmark package},
-   url       = {http://mirrors.ctan.org/macros/latex/contrib/oberdiek/bookmark.pdf},
-   date      = {2016-05-17},
+   url       = {https://mirrors.ctan.org/macros/latex/contrib/bookmark/bookmark.pdf},
+   date      = {2019-12-03},
    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	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -239,6 +239,7 @@
 \end{dispExample}
 \end{docTcbKey}
 
+\enlargethispage*{1cm}
 
 \begin{docTcbKey}{enlargepage}{=\meta{length}\colOpt{/\meta{length}/\ldots/\meta{length}}}{no default, initially |0pt|}
   Inserts a |\enlargethispage|\marg{length} to the pages of the break sequence,
@@ -367,6 +368,8 @@
   and \refKey{/tcb/pad after break}.
 \end{docTcbKey}
 
+\enlargethispage*{5mm}
+
 \begin{docTcbKey}{pad at break*}{=\meta{length}}{style, no default}
   Sets \refKey{/tcb/pad at break} to \meta{length} and
   \refKey{/tcb/enlargepage flexible} to an appropriate value such that
@@ -529,7 +532,6 @@
   \refKey{/tcb/extras} overwrites this key.
 \end{docTcbKey}
 
-\enlargethispage*{1cm}
 \begin{docTcbKey}[][doc new=2015-07-16]{extras unbroken and last}{=\marg{options}}{no default, initially unset}
   This is an abbreviation for setting
   \refKey{/tcb/extras unbroken} and
@@ -537,6 +539,7 @@
   \refKey{/tcb/extras} overwrites this key.
 \end{docTcbKey}
 
+\clearpage
 
 \begin{docTcbKey}[][doc new=2015-07-16]{extras first and middle}{=\marg{options}}{no default, initially unset}
   This is an abbreviation for setting
@@ -545,7 +548,6 @@
   \refKey{/tcb/extras} overwrites this key.
 \end{docTcbKey}
 
-\clearpage
 
 \begin{docTcbKey}[][doc new=2018-07-26]{extras title after break}{=\marg{options}}{no default, initially unset}
   If the box has a \refKey{/tcb/title after break}, then the \meta{options}
@@ -609,7 +611,7 @@
 \begin{tcolorbox}[enhanced jigsaw,size=small,breakable,colback=yellow!10!white,
   colframe=red!50!white,break at=3cm,height fixed for=all]
 Unbreakable |tcolorbox|es can be used without special care inside a
-|multicols| environment from the |multicol| package \cite{mittelbach:2015a}.
+|multicols| environment from the |multicol| package \cite{mittelbach:multicol}.
 
 Since version 3.10, a breakable |tcolorbox| detects, if it is used inside
 a |multicols| environment. But choosing break points for a breakable box

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -6,7 +6,7 @@
 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
 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:2016e} or the examples
+the syntax for |pgf| keys, see \cite{tantau:tikz_and_pgf,sturm:latex} or the examples
 starting from page~\pageref{sec:latextutorial}.
 
 
@@ -738,6 +738,7 @@
   Shortcut for setting \refKey{/tcb/halign lower} to \docValue{flush right}.
 \end{docTcbKey}
 
+\clearpage
 
 \begin{docTcbKey}[][doc updated=2015-05-07]{flushleft title}{}{style, no value}
   Shortcut for setting \refKey{/tcb/halign title} to \docValue{flush left}.
@@ -751,7 +752,6 @@
   Shortcut for setting \refKey{/tcb/halign title} to \docValue{flush right}.
 \end{docTcbKey}
 
-\clearpage
 
 \begin{marker}
 The vertical alignment settings are only relevant for boxes which are larger
@@ -1151,6 +1151,7 @@
 \end{exdispExample}
 \end{docTcbKey}
 
+\enlargethispage*{1cm}
 
 \begin{docTcbKey}{right}{=\meta{length}}{style, no default, initially \texttt{4mm}}
   Sets the right space between all text parts and frame (additional to |boxsep|).
@@ -1165,6 +1166,7 @@
 \end{exdispExample}
 \end{docTcbKey}
 
+\clearpage
 
 \begin{docTcbKey}[][doc new=2017-02-16]{right*}{=\meta{length}}{style, no default}
   Sets \refKey{/tcb/right} such that \meta{length} is the distance between
@@ -2395,7 +2397,7 @@
   This style sets \refKey{/tcb/before upper} and \refKey{/tcb/after upper}
   and several geometry keys to support a |tabularx| with the
   given \meta{preamble}.
-  The packages |tabularx| \cite {carlisle:2016a}, |array|, and |colortbl|
+  The packages |tabularx| \cite {carlisle:tabularx}, |array|, and |colortbl|
   have to be loaded separately.
 \begin{exdispExample}{tabularx_1}
 % \usepackage{array,tabularx}
@@ -3046,6 +3048,7 @@
   the box follows a heading.
 \end{docTcbKey}
 
+\enlargethispage*{1cm}
 
 \begin{docTcbKey}[][doc new=2017-02-23]{parfillskip restore}{\colOpt{=true\textbar false}}{default |true|, initially |true|}
   If this option is set to be |true|, the minimum value of |\parfillskip| is
@@ -4085,7 +4088,7 @@
 
 
 \begin{docTcbKey}[][doc new=2017-02-10]{bookmark}{=\meta{text}}{no default, initially unset}
-  Sets a PDF bookmark with the given \meta{text}, if the package |bookmark| \cite{oberdiek:2016a}
+  Sets a PDF bookmark with the given \meta{text}, if the package |bookmark| \cite{oberdiek:bookmark}
   is loaded. This bookmark is set with an automated destination (the current box)
   and is set one level below the current bookmark level.
   \begin{dispExample*}{sbs,lefthand ratio=0.7}
@@ -4102,7 +4105,7 @@
 
 \begin{docTcbKey}[][doc new=2017-02-10]{bookmark*}{=\marg{options}\marg{text}}{no default, initially unset}
   Identical to \refKey{/tcb/bookmark}, but additional \meta{options}
-  from the package |bookmark| \cite{oberdiek:2016a} can be given.
+  from the package |bookmark| \cite{oberdiek:bookmark} can be given.
   \begin{dispExample*}{sbs,lefthand ratio=0.7}
 % \usepackage{bookmark}%
 \begin{tcolorbox}[colback=red!10,colframe=red!50!black,

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -8,14 +8,17 @@
 Till Tantau's |pgf| \cite{tantau:tikz_and_pgf} documentation.
 Typically, this library is assumed to be used in conjunction with the
 class |ltxdoc| or alike.
+Denis Bitouz\'e, Muzimuzhi, and many others provided very valuable input for this library.
 
 The library is loaded by a package option or inside the preamble by:
 \begin{dispListing}
   \tcbuselibrary{documentation}
 \end{dispListing}
-This also loads the library \mylib{listings}, see \Vref{sec:listings},
+This also loads
 the library \mylib{skins}, see \Vref{sec:skins},
-the library \mylib{xparse}\tcbdocmarginnote{\tcbdocnew{2014-09-19}}, see \Vref{sec:xparse},
+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
 |pifont|, |marvosym|, |makeidx|, |marginnote|, |refcount|, and |hyperref|.
 
@@ -50,9 +53,12 @@
 \end{dispListing}
 
 
+%\clearpage
+%-------------------------------------------------------------------------------
 \subsection{Macros of the Library}
-\enlargethispage*{15mm}
-\begin{docEnvironment}[doclang/environment content=command description]{docCommand}{\oarg{options}\marg{name}\marg{parameters}}
+
+\begin{docEnvironment}[doclang/environment content=command description,doc updated=2020-04-22]
+    {docCommand}{\oarg{options}\marg{name}\marg{parameters}}
   Documents a \LaTeX\ macro with given \meta{name} where \meta{name} is
   written without backslash. The given \meta{options} are set with \refCom{tcbset}.
   This macro takes mandatory or optional \meta{parameters}.
@@ -74,15 +80,43 @@
 \end{docEnvironment}
 
 
-\begin{docEnvironment}[doclang/environment content=command description]{docCommand*}{\oarg{options}\marg{name}\marg{parameters}}
+\begin{docEnvironment}[doclang/environment content=command description,doc updated=2020-04-22]
+    {docCommand*}{\oarg{options}\marg{name}\marg{parameters}}
   Identical to \refEnv{docCommand}, but without index entry.
 \end{docEnvironment}
 
 
-%\clearpage
+\begin{docEnvironment}[doclang/environment content=command description,doc new=2020-04-22]
+    {docCommands}{\oarg{options}\brackets{\marg{variant1},\marg{variant2},...}}
+  Documents several (similar) \LaTeX\ macro variants simultaneously.
+  The given \meta{options} are set with \refCom{tcbset} and are valid for
+  all variants and the documentation text.
+  Every variant is described by an option set \meta{variant1}, \meta{variant2}, and so on.
+  The most crucial options are \refKey{/tcb/doc name} and \refKey{/tcb/doc parameter}.
+\begin{dispExample}
+\begin{docCommands}[
+    doc no index,  %  no index entries for this example
+    doc name      = newtheorem,
+    doc parameter = \marg{envname},
+  ]
+  {
+    {  },
+    { doc parameter = \marg{envname}\oarg{numbered within} },
+    { doc parameter = \oarg{numbered like}\marg{envname} },
+    { doc name      = newtheorem* },
+  }
+  example
+\end{docCommands}
+\end{dispExample}
+\end{docEnvironment}
+
+
+
+\clearpage
 {\let\xdocEnvironment\docEnvironment
 \let\endxdocEnvironment\enddocEnvironment
-\begin{xdocEnvironment}[doclang/environment content=environment description]{docEnvironment}{\oarg{options}\marg{name}\marg{parameters}}
+\begin{xdocEnvironment}[doclang/environment content=environment description,doc updated=2020-04-22]
+    {docEnvironment}{\oarg{options}\marg{name}\marg{parameters}}
   Documents a \LaTeX\ environment with given \meta{name}.
   The given \meta{options} are set with \refCom{tcbset}.
   This environment takes mandatory or optional \meta{parameters}.
@@ -106,12 +140,56 @@
 
 {\let\xdocEnvironment\docEnvironment
 \let\endxdocEnvironment\enddocEnvironment
-\begin{xdocEnvironment}[doclang/environment content=environment description]{docEnvironment*}{\oarg{options}\marg{name}\marg{parameters}}
+\begin{xdocEnvironment}[doclang/environment content=environment description,doc updated=2020-04-22]
+    {docEnvironment*}{\oarg{options}\marg{name}\marg{parameters}}
   Identical to \refEnv{docEnvironment}, but without index entry.
 \end{xdocEnvironment}}
 
+
 \clearpage
-\begin{docEnvironment}[doclang/environment content=key description,doc updated=2014-09-29]{docKey}{\oarg{key path}\oarg{options}\marg{name}\marg{parameters}\marg{description}}
+{\let\xdocEnvironment\docEnvironment
+\let\endxdocEnvironment\enddocEnvironment
+\begin{xdocEnvironment}[doclang/environment content=environment description,doc new=2020-04-22]
+    {docEnvironments}{\oarg{options}\brackets{\marg{variant1},\marg{variant2},...}}
+  Documents several (similar) \LaTeX\ environment variants simultaneously.
+  The given \meta{options} are set with \refCom{tcbset} and are valid for
+  all variants and the documentation text.
+  Every variant is described by an option set \meta{variant1}, \meta{variant2}, and so on.
+  The most crucial options are \refKey{/tcb/doc name} and \refKey{/tcb/doc parameter}.
+\begin{dispExample}
+\begin{docEnvironments}[
+    doc no index,   %  no index entries for this example
+    doc parameter = \oarg{options}\marg{title},
+    doclang/environment content = box content,
+  ]
+  {
+    {
+      doc name        = redbox,
+      doc description = a red colored box,
+    },
+    {
+      doc name        = greenbox,
+      doc description = a green colored box,
+    },
+    {
+      doc name        = bluebox,
+      doc description = a blue colored box,
+    },
+    {
+      doc name        = custombox,
+      doc parameter   = \oarg{options}\marg{color}\marg{title},
+      doc description = a colored box,
+    },
+  }
+  example
+\end{docEnvironments}
+\end{dispExample}
+\end{xdocEnvironment}}
+
+
+\clearpage
+\begin{docEnvironment}[doclang/environment content=key description,doc updated=2020-04-22]
+    {docKey}{\oarg{key path}\oarg{options}\marg{name}\marg{parameters}\marg{description}}
   Documents a key with given \meta{name} and an optional \meta{key path}.
   The given \meta{options} are set with \refCom{tcbset}.
   This key takes mandatory or optional \meta{parameters} as value
@@ -126,15 +204,46 @@
 \end{docEnvironment}
 
 
-\begin{docEnvironment}[doclang/environment content=key description,doc updated=2014-09-29]{docKey*}{\oarg{key path}\oarg{options}\marg{name}\marg{parameters}\marg{description}}
+\begin{docEnvironment}[doclang/environment content=key description,doc updated=2020-04-22]
+    {docKey*}{\oarg{key path}\oarg{options}\marg{name}\marg{parameters}\marg{description}}
   Identical to \refEnv{docKey}, but without index entry.
 \end{docEnvironment}
 
 
+\begin{docEnvironment}[doclang/environment content=key description,doc new=2020-04-22]
+    {docKeys}{\oarg{options}\brackets{\marg{variant1},\marg{variant2},...}}
+  Documents several (similar) key variants simultaneously.
+  The given \meta{options} are set with \refCom{tcbset} and are valid for
+  all variants and the documentation text.
+  Every variant is described by an option set \meta{variant1}, \meta{variant2}, and so on.
+  The most crucial options are
+  \refKey{/tcb/doc keypath}, \refKey{/tcb/doc name}, \refKey{/tcb/doc parameter},
+  and \refKey{/tcb/doc description}.
+\begin{dispExample}
+\begin{docKeys}[
+    doc no index,   %  no index entries for this example
+    doc keypath   = mykeyroot,
+    doc parameter = {=\meta{length}},
+  ]
+  {
+    {
+      doc name        = width,
+      doc description = initially \texttt{10cm},
+    },
+    {
+      doc name        = height,
+      doc description = initially \texttt{7cm},
+    },
+  }
+  example
+\end{docKeys}
+\end{dispExample}
+\end{docEnvironment}
 
 
+\clearpage
 \begin{docEnvironment}[doclang/environment content=operation description,
-    doc new=2019-09-18]{docPathOperation}{\oarg{options}\marg{name}\marg{parameters}}
+    doc new and updated={2019-09-18}{2020-04-22}]{docPathOperation}{\oarg{options}\marg{name}\marg{parameters}}
   Documents a \tikzname\ path operation with given \meta{name}.
   The given \meta{options} are set with \refCom{tcbset}.
   This \tikzname\ path operation takes mandatory or optional \meta{parameters}.
@@ -149,113 +258,191 @@
 
 
 \begin{docEnvironment}[doclang/environment content=command description,
-    doc new=2019-09-17]{docPathOperation*}{\oarg{options}\marg{name}\marg{parameters}}
+    doc new and updated={2019-09-18}{2020-04-22}]{docPathOperation*}{\oarg{options}\marg{name}\marg{parameters}}
   Identical to \refEnv{docPathOperation}, but without index entry.
 \end{docEnvironment}
 
 
+\begin{docEnvironment}[doclang/environment content=command description,
+    doc new={2020-04-22}]{docPathOperations}{\oarg{options}\brackets{\marg{variant1},\marg{variant2},...}}
+  Documents several (similar) \tikzname\ path operation variants simultaneously.
+  The given \meta{options} are set with \refCom{tcbset} and are valid for
+  all variants and the documentation text.
+  Every variant is described by an option set \meta{variant1}, \meta{variant2}, and so on.
+  The most crucial options are \refKey{/tcb/doc name} and \refKey{/tcb/doc parameter}.
+\begin{dispExample}
+\begin{docPathOperations}[
+    doc no index,   %  no index entries for this example
+  ]
+  {
+    {
+      doc name      = rectangle,
+      doc parameter = \meta{corner or cycle},
+    },
+    {
+      doc name      = circle,
+      doc parameter = \oarg{options},
+    },
+    {
+      doc name      = ellipse,
+      doc parameter = \oarg{options},
+    },
+  }
+  example
+\end{docPathOperations}
+\end{dispExample}
+\end{docEnvironment}
 
 
-
-
-
-
-
-\begin{docCommand}{docValue}{\marg{name}}
+\clearpage
+\begin{docCommands}[doc parameter=\oarg{options}\marg{name}]
+  {
+    {
+      doc name = docValue,
+      doc updated=2020-04-23,
+    },
+    {
+      doc name = docValue*,
+    },
+  }
   Documents a value with given \meta{name}. Typically, this is a value for a key.
-  This value is automatically indexed.
+  The given \meta{options} are set with \refCom{tcbset}.
+  This value is automatically indexed for \refCom{docValue}
+  and has no index entry for \refCom{docValue*}.
 \begin{dispExample}
-A feasible value for \refKey{/foo/footitle} is \docValue{foovalue}.
+A feasible value for \refKey{/foo/footitle} is \docValue*{foovalue}.
 \end{dispExample}
-\end{docCommand}
+\end{docCommands}
 
 
-\begin{docCommand}{docValue*}{\marg{name}}
-  Identical to \refCom{docValue}, but without index entry.
-\end{docCommand}
 
-\clearpage
-
-\begin{docCommand}[doc updated=2014-10-09]{docAuxCommand}{\marg{name}}
+\begin{docCommands}[doc parameter=\oarg{options}\marg{name}]
+  {
+    {
+      doc name    = docAuxCommand,
+      doc updated = 2020-04-23,
+    },
+    {
+      doc name = docAuxCommand*,
+    },
+  }
   Documents an auxiliary or minor \LaTeX\ macro with given \meta{name}
   where \meta{name} is written without backslash.
-  This macro is automatically indexed.
+  The given \meta{options} are set with \refCom{tcbset}.
+  This macro is automatically indexed for \refCom{docAuxCommand}
+  and has no index entry for \refCom{docAuxCommand*}.
 \begin{dispExample}
 The macro \docAuxCommand{fooaux} holds some interesting data.
 \end{dispExample}
-\end{docCommand}
+\end{docCommands}
 
-\begin{docCommand}[doc updated=2014-10-09]{docAuxCommand*}{\marg{name}}
-  Identical to \refCom{docAuxCommand}, but without index entry.
-\end{docCommand}
 
-\begin{docCommand}{docAuxEnvironment}{\marg{name}}
+
+\begin{docCommands}[doc parameter=\oarg{options}\marg{name}]
+  {
+    {
+      doc name    = docAuxEnvironment,
+      doc updated = 2020-04-23,
+    },
+    {
+      doc name = docAuxEnvironment*,
+    },
+  }
   Documents an auxiliary or minor \LaTeX\ environment with given \meta{name}.
-  This macro is automatically indexed.
+  The given \meta{options} are set with \refCom{tcbset}.
+  This macro is automatically indexed indexed for \refCom{docAuxEnvironment}
+  and has no index entry for \refCom{docAuxEnvironment*}.
 \begin{dispExample}
 The environment \docAuxEnvironment{fooauxenv} holds some interesting data.
 \end{dispExample}
-\end{docCommand}
+\end{docCommands}
 
-\begin{docCommand}{docAuxEnvironment*}{\oarg{key path}\marg{name}}
-  Identical to \refCom{docAuxEnvironment}, but without index entry.
-\end{docCommand}
 
-
-
-\begin{docCommand}{docAuxKey}{\oarg{key path}\marg{name}}
+\begin{docCommands}[doc parameter=\oarg{key path}\oarg{options}\marg{name}]
+  {
+    {
+      doc name    = docAuxKey,
+      doc updated = 2020-04-23,
+    },
+    {
+      doc name = docAuxKey*,
+    },
+  }
   Documents an auxiliary key with given \meta{name} and an optional \meta{key path}.
-  It is automatically indexed.
+  The given \meta{options} are set with \refCom{tcbset}.
+  It is automatically indexed for \refCom{docAuxKey}
+  and has no index entry for \refCom{docAuxKey*}.
 \begin{dispExample}
 The key \docAuxKey[foo]{fooaux} holds some interesting data.
 \end{dispExample}
-\end{docCommand}
+\end{docCommands}
 
 
-\begin{docCommand}{docAuxKey*}{\oarg{key path}\marg{name}}
-  Identical to \refCom{docAuxKey}, but without index entry.
-\end{docCommand}
 
-
-\begin{docCommand}[doc new=2015-01-08]{docCounter}{\marg{name}}
-  Documents a counter with given \meta{name}. The counter is automatically indexed.
+\begin{docCommands}[doc parameter=\oarg{options}\marg{name}]
+  {
+    {
+      doc name    = docCounter,
+      doc updated = 2020-04-23,
+    },
+    {
+      doc name = docCounter*,
+    },
+  }
+  Documents a counter with given \meta{name}.
+  The given \meta{options} are set with \refCom{tcbset}.
+  The counter is automatically indexed for \refCom{docCounter}
+  and has no index entry for \refCom{docCounter*}.
 \begin{dispExample}
 The counter \docCounter{foocounter} can be used for computation.
 \end{dispExample}
-\end{docCommand}
+\end{docCommands}
 
-\begin{docCommand}[doc new=2015-01-08]{docCounter*}{\marg{name}}
-  Identical to \refCom{docCounter}, but without index entry.
-\end{docCommand}
 
-\begin{docCommand}[doc new=2015-01-08]{docLength}{\marg{name}}
-  Documents a counter with given \meta{name}. The counter is automatically indexed.
+\clearpage
+\begin{docCommands}[doc parameter=\oarg{options}\marg{name}]
+  {
+    {
+      doc name    = docLength,
+      doc updated = 2020-04-23,
+    },
+    {
+      doc name = docLength*,
+    },
+  }
+  Documents a length with given \meta{name}.
+  The given \meta{options} are set with \refCom{tcbset}.
+  The length is automatically indexed for \refCom{docLength}
+  and has no index entry for \refCom{docLength*}.
 \begin{dispExample}
 The length \docLength{foolength} can be used for computation.
 \end{dispExample}
-\end{docCommand}
+\end{docCommands}
 
-\begin{docCommand}[doc new=2015-01-08]{docLength*}{\marg{name}}
-  Identical to \refCom{docLength}, but without index entry.
-\end{docCommand}
 
-\clearpage
-
-\begin{docCommand}{docColor}{\marg{name}}
-  Documents a color with given \meta{name}. The color is automatically indexed.
+\begin{docCommands}[doc parameter=\oarg{options}\marg{name}]
+  {
+    {
+      doc name    = docColor,
+      doc updated = 2020-04-23,
+    },
+    {
+      doc name = docColor*,
+    },
+  }
+  Documents a color with given \meta{name}.
+  The given \meta{options} are set with \refCom{tcbset}.
+  The color is automatically indexed for \refCom{docColor}
+  and has no index entry for \refCom{docColor*}.
 \begin{dispExample}
 The color \docColor{foocolor} is available.
 \end{dispExample}
-\end{docCommand}
+\end{docCommands}
 
-\begin{docCommand}{docColor*}{\marg{name}}
-  Identical to \refCom{docColor}, but without index entry.
-\end{docCommand}
 
 
-
 \begin{docCommand}{cs}{\marg{name}}
-  Macro from |ltxdoc| \cite{carlisle:2007a} to typeset a command word \meta{name}
+  Macro from |ltxdoc| \cite{carlisle:ltxdoc} to typeset a command word \meta{name}
   where the backslash is prefixed. The library overwrites the original macro.
 \begin{dispExample}
 This is a \cs{foocommand}.
@@ -272,7 +459,7 @@
 
 
 \begin{docCommand}{marg}{\marg{text}}
-  Macro from |ltxdoc| \cite{carlisle:2007a} to typeset a \meta{text} with
+  Macro from |ltxdoc| \cite{carlisle:ltxdoc} to typeset a \meta{text} with
   curly brackets as a mandatory argument. The library overwrites the original macro.
 \begin{dispExample}
 This is a mandatory \marg{argument}.
@@ -280,7 +467,7 @@
 \end{docCommand}
 
 \begin{docCommand}{oarg}{\marg{text}}
-  Macro from |ltxdoc| \cite{carlisle:2007a} to typeset a \meta{text} with
+  Macro from |ltxdoc| \cite{carlisle:ltxdoc} to typeset a \meta{text} with
   square brackets as an optional argument. The library overwrites the original macro.
 \begin{dispExample}
 This is an optional \oarg{argument}.
@@ -287,6 +474,7 @@
 \end{dispExample}
 \end{docCommand}
 
+\clearpage
 
 \begin{docCommand}{brackets}{\marg{text}}
   Sets the given \meta{text} with curly brackets.
@@ -295,7 +483,6 @@
 \end{dispExample}
 \end{docCommand}
 
-\clearpage
 
 {\let\xdispExample\dispExample
   \let\endxdispExample\enddispExample
@@ -367,9 +554,9 @@
 \end{docEnvironment}
 
 \clearpage
-\begin{docCommand}{tcbmakedocSubKey}{\marg{name}\marg{key path}}
+\begin{docCommand}[doc updated=2020-04-22]{tcbmakedocSubKey}{\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 default.
+  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.
   A second starred environment \meta{name} is also created, which is identical
   to \meta{name} but without index entry.
@@ -387,6 +574,34 @@
 \end{docCommand}
 
 
+\begin{docCommand}[doc new=2020-04-22]{tcbmakedocSubKeys}{\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.
+\begin{dispExample}
+\tcbmakedocSubKeys{docFooKeys}{foo}
+
+\begin{docFooKeys}[
+    doc parameter   = {=\meta{nothing}},
+    doc description = {no default, initially empty},
+  ]
+  {
+    {
+      doc name = foodummy 2,
+    },
+    {
+      doc name = foo another dummy 2,
+      doc no index,
+    }
+  }
+Some description.
+\end{docFooKeys}
+\end{dispExample}
+\end{docCommand}
+
+
+\clearpage
+
 \begin{docCommand}{refCom}{\marg{name}}
   References a documented \LaTeX\ macro with given \meta{name} where \meta{name} is
   written without backslash. The page reference is suppressed if it links
@@ -421,7 +636,7 @@
 \end{dispExample}
 \end{docCommand}
 
-\clearpage
+
 \begin{docCommand}{refKey}{\marg{name}}
   References a documented key with given \meta{name} where \meta{name}
   is the full path name of the key.
@@ -440,6 +655,7 @@
 \end{dispExample}
 \end{docCommand}
 
+\clearpage
 
 \begin{docCommand}[doc new=2019-09-17]{refPathOperation}{\marg{name}}
   References a documented \tikzname\ path operation with given \meta{name}.
@@ -459,24 +675,25 @@
 
 
 
-\begin{docCommand}{refAux}{\marg{name}}
-  References some auxiliary environment, key, value, or color. The hyperlink color is
-  used, but there is no real link.
+\begin{docCommand}[doc updated=2020-02-11]{refAux}{\marg{name}}
+  References some auxiliary environment, key, value, or color.
+  The \meta{name} is colored according to \refKey{/tcb/color hyperlink},
+  if |hyperref| colorlinks are set, but there is no real link.
 \begin{dispExample}
 Some pages back, one can see \refAux{/foo/footitle} as an example.
 \end{dispExample}
 \end{docCommand}
 
-\begin{docCommand}{refAuxcs}{\marg{name}}
+\begin{docCommand}[doc updated=2020-02-11]{refAuxcs}{\marg{name}}
   References some auxiliary macro \meta{name} where \meta{name} is
-  written without backslash. The hyperlink color is
-  used, but there is no real link.
+  written without backslash.
+  The \meta{name} is colored according to \refKey{/tcb/color hyperlink},
+  if |hyperref| colorlinks are set, but there is no real link.
 \begin{dispExample}
 Some pages back, one can see \refAuxcs{fooaux} as an example.
 \end{dispExample}
 \end{docCommand}
 
-\clearpage
 
 \begin{docCommand}{colDef}{\marg{text}}
 Sets \meta{text} with the command color, see \refKey{/tcb/color command}.
@@ -492,6 +709,7 @@
 \end{dispExample}
 \end{docCommand}
 
+\clearpage
 
 \begin{docCommand}[doc new=2019-09-18]{colFade}{\marg{text}}
   Sets \meta{text} with the fade color, see \refKey{/tcb/color fade}.
@@ -538,8 +756,459 @@
 
 
 \clearpage
-\subsection{Option Keys of the Library}
+%-------------------------------------------------------------------------------
+\subsection{Entry Content Option Keys}
 
+
+\begin{docTcbKey}[][doc new={2020-04-22}]{doc name}{=\meta{name}}{no default, initially empty}
+  Sets the \meta{name} of the entry to document, i.e. the \meta{name} of the
+  command, environment, key, etc. For \refEnv{docCommand}, \refEnv{docEnvironment}, etc.
+  the \meta{name} is set by a mandatory parameter, but can also be set
+  by \refKey{/tcb/doc name}.
+  \refKey{/tcb/doc name} also sets \meta{name} to
+  \refKey{/tcb/doc label}, \refKey{/tcb/doc index},
+  and \refKey{/tcb/doc sort index}.
+\begin{dispExample}
+\begin{docCommands}[
+    doc no index,  %  no index entries for this example
+    doc name      = bfseries,
+  ] {}
+  Font setting to bold face.
+\end{docCommands}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc new={2020-04-22}]{doc parameter}{=\meta{parameters}}{no default, initially empty}
+  Sets the \meta{parameters} of the entry to document, i.e. the \meta{parameters} of the
+  command, environment, key, etc. For \refEnv{docCommand}, \refEnv{docEnvironment}, etc.
+  the \meta{parameters} is set by a mandatory option, but can also be set
+  by \refKey{/tcb/doc parameter}.
+\begin{dispExample}
+\begin{docCommands}[
+    doc no index,  %  no index entries for this example
+    doc name      = textbf,
+    doc parameter = \marg{text},
+  ] {}
+  Sets \meta{text} in bold face.
+\end{docCommands}
+\end{dispExample}
+\end{docTcbKey}
+
+
+
+\begin{docTcbKey}[][doc new={2020-04-22}]{doc keypath}{=\meta{key path}}{no default, initially empty}
+  Sets the \meta{key path} of the key to document. For \refEnv{docKey}
+  and \refEnv{docKey*} the \meta{key path}  is set by a specialized option,
+  but can also be set by \refKey{/tcb/doc keypath}.
+\begin{dispExample}
+\begin{docKeys}[
+    doc no index,  %  no index entries for this example
+    doc keypath     = tikz,
+    doc name        = fill,
+    doc parameter   = \colOpt{=\meta{color}},
+    doc description = default is scope's color setting,
+  ] {}
+  This option causes the path to be filled.
+\end{docKeys}
+\end{dispExample}
+\end{docTcbKey}
+
+\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}.
+  Such a description is
+  mandatory for \refEnv{docKey}.
+\begin{dispExample}
+\begin{docCommand*}[doc description=my description]{myCommandF}{\marg{argument}}
+  This is the documentation of \refCom{myCommandF} which takes one \meta{argument}.
+  \refCom{myCommandF} does some funny things with its \meta{argument}.
+\end{docCommand*}
+\end{dispExample}
+\begin{marker}
+Note that the description \meta{text} may overlap with the text on the left
+hand side if too long. Linebreaks can be used inside the \meta{text}.
+\end{marker}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc new={2019-09-18}]{doc label}{=\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 labeling instead of the name of the definition.
+\begin{dispExample}
+\begin{docPathOperation*}[doc label=pathline]{-{}-}{\meta{coordinate or cycle}}
+  This is the documentation of \refPathOperation{pathline}.
+\end{docPathOperation*}
+\end{dispExample}
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new={2020-01-07}]{doc 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 the index instead of the name of the definition.
+\begin{dispExample}
+\begin{docPathOperation}[doc index=foo path (horizontal then vertical),
+    doc label=pathline2]{-\textbar}{\meta{coordinate or cycle}}
+  This is the documentation of \refPathOperation{pathline2}.
+\end{docPathOperation}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\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.
+\begin{dispListing}
+\begin{docCommands}[
+    doc name        = l_tcobox_example_tl,
+    doc sort index  = example_tl,  % sorted unter e like example
+  ]{}
+\end{docCommands}
+\end{dispListing}
+\end{docTcbKey}
+
+\clearpage
+
+\begin{docTcbKey}{doc into index}{\colOpt{=true\textbar false}}{default |true|, initially |true|}
+  If set to |false|, no index entries are written for the main documentation
+  environments. The same effect is achieved by using e.\,g.\ \refEnv{docCommand*}
+  instead of \refEnv{docCommand}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc new={2020-04-22}]{doc no index}{}{style, initially unset}
+  If set, no index entries are written for the main documentation
+  environments. This is a shortcut for using \refKey{/tcb/doc into index}|=false|.
+\end{docTcbKey}
+
+
+
+\begin{docTcbKey}[][doc new=2014-09-19]{doc marginnote}{=\meta{options}}{no default, initially empty}
+  Sets style \meta{options} for the displayed box of the \refCom{tcbdocmarginnote} command.
+\begin{dispExample}
+\tcbset{doc marginnote={colframe=blue!50!white,colback=blue!5!white}}%
+This is some text\tcbdocmarginnote{Note A}
+which is commented by a note inside the margin.
+\end{dispExample}
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2014-09-19]{doc new}{=\meta{date}}{style, no default}
+  Adds a a marginnote with a 'New: \meta{data}' 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%
+\begin{dispExample}
+\begin{docCommand}[doc new=2000-01-01]{foosomething}{\marg{text}}
+Some command for something.
+\end{docCommand}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc new=2014-09-19]{doc updated}{=\meta{date}}{style, no default}
+  Adds a marginnote with a 'Updated: \meta{data}' message at the beginning of
+  the upper box part. See \refKey{/tcb/doc new}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc new=2014-09-19]{doc new and updated}{=\marg{new date}\marg{update date}}{style, no default}
+  Adds a marginnote with 'New: \meta{new date}' and 'Updated: \meta{update data}' messages at the beginning of
+  the upper box part. See \refKey{/tcb/doc new}.
+\end{docTcbKey}
+
+
+
+\clearpage
+%-------------------------------------------------------------------------------
+\subsection{Entry Customization Option Keys}
+
+
+\begin{docTcbKey}{doc left}{=\meta{length}}{no default, initially |2em|}
+  Sets the left hand offset of the documentation texts from
+  \refEnv{docCommand}, \refEnv{docEnvironment}, \refEnv{docKey}, etc, to \meta{length}.
+\begin{dispExample}
+\begin{docCommand*}[doc left=2cm,doc left indent=-2cm]{myCommandA}{\marg{argument}}
+  This is the documentation of \refCom{myCommandA} which takes one \meta{argument}.
+  \refCom{myCommandA} does some funny things with its \meta{argument}.
+\end{docCommand*}
+\end{dispExample}
+\end{docTcbKey}
+
+\begin{docTcbKey}{doc right}{=\meta{length}}{no default, initially |0em|}
+  Sets the right hand offset of the documentation texts from
+  \refEnv{docCommand}, \refEnv{docEnvironment}, \refEnv{docKey}, etc, to \meta{length}.
+\begin{dispExample}
+\begin{docCommand*}[doc right=2cm]{myCommandB}{\marg{argument}}
+  This is the documentation of \refCom{myCommandB} which takes one \meta{argument}.
+  \refCom{myCommandB} does some funny things with its \meta{argument}.
+\end{docCommand*}
+\end{dispExample}
+\end{docTcbKey}
+
+\begin{docTcbKey}{doc left indent}{=\meta{length}}{no default, initially |-2em|}
+  Sets the left hand indent of documentation heads from
+  \refEnv{docCommand}, \refEnv{docEnvironment}, \refEnv{docKey}, etc, to \meta{length}.
+\begin{dispExample}
+\begin{docCommand*}[doc left indent=2cm]{myCommandC}{\marg{argument}}
+  This is the documentation of \refCom{myCommandC} which takes one \meta{argument}.
+  \refCom{myCommandC} does some funny things with its \meta{argument}.
+\end{docCommand*}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{doc right indent}{=\meta{length}}{no default, initially |0pt|}
+  Sets the right hand indent of documentation heads from
+  \refEnv{docCommand}, \refEnv{docEnvironment}, \refEnv{docKey}, etc, to \meta{length}.
+\begin{dispExample}
+\begin{docCommand*}[doc right indent=-10mm,doc right=10mm,
+    doc description=test value]{myCommandD}{\marg{argument}}
+  This is the documentation of \refCom{myCommandD} which takes one \meta{argument}.
+  \refCom{myCommandD} does some funny things with its \meta{argument}.
+\end{docCommand*}
+\end{dispExample}
+\end{docTcbKey}
+
+\clearpage
+The head lines of the main documentation environments \refEnv{docCommand},
+\refEnv{docEnvironment}, \refEnv{docKey}, etc, are |tcolorbox|es inside a
+\refEnv{tcbraster}.
+Options to the surrounding |tcbraster|s and the embedded
+|tcolorbox|es can be given using the following keys.
+
+
+\begin{docTcbKeys}[
+  doc name        = doc raster command,
+  doc parameter   = {=\meta{options}},
+  doc description = {no default, initially empty},
+  doc new         = 2020-04-24,
+]{}
+  Sets \meta{options} for the surrounding \refEnv{tcbraster} of\\
+  \refEnv{docCommand}, \refEnv{docCommand*}, and \refEnv{docCommands}.
+
+\begin{dispExample}
+\tcbset{doc raster command={raster before skip=7mm,raster after skip=0mm}}
+
+The is an example text.
+
+\begin{docCommand*}{myCommandI}{\marg{argument}}
+  This is the documentation of \refCom{myCommandI} which takes one \meta{argument}.
+  \refCom{myCommandI} does some funny things with its \meta{argument}.
+\end{docCommand*}
+\end{dispExample}
+
+\end{docTcbKeys}
+
+
+\begin{docTcbKeys}[
+  doc name        = doc raster environment,
+  doc parameter   = {=\meta{options}},
+  doc description = {no default, initially empty},
+  doc new         = 2020-04-24,
+]{}
+  Sets \meta{options} for the surrounding \refEnv{tcbraster} of\\
+  \refEnv{docEnvironment}, \refEnv{docEnvironment*}, and \refEnv{docEnvironments}.
+\end{docTcbKeys}
+
+
+\begin{docTcbKeys}[
+  doc name        = doc raster key,
+  doc parameter   = {=\meta{options}},
+  doc description = {no default, initially empty},
+  doc new         = 2020-04-24,
+]{}
+  Sets \meta{options} for the surrounding \refEnv{tcbraster} of\\
+  \refEnv{docKey}, \refEnv{docKey*}, and \refEnv{docKeys}.
+\end{docTcbKeys}
+
+
+\begin{docTcbKeys}[
+  doc name        = doc raster path,
+  doc parameter   = {=\meta{options}},
+  doc description = {no default, initially empty},
+  doc new         = 2020-04-24,
+]{}
+  Sets \meta{options} for the surrounding \refEnv{tcbraster} of\\
+  \refEnv{docPathOperation}, \refEnv{docPathOperation*}, and \refEnv{docPathOperations}.
+\end{docTcbKeys}
+
+
+\begin{docTcbKeys}[
+  doc name        = doc raster,
+  doc parameter   = {=\meta{options}},
+  doc description = {no default, initially empty},
+  doc new         = 2020-04-24,
+]{}
+  Shortcut for setting the same \meta{options} for
+  \refKey{/tcb/doc raster command}, \refKey{/tcb/doc raster environment},
+  \refKey{/tcb/doc raster key}, and \refKey{/tcb/doc raster path}.
+\end{docTcbKeys}
+
+
+\begin{docTcbKey}{doc head command}{=\meta{options}}{no default, initially empty}
+  Sets \meta{options} for the head line of
+  \refEnv{docCommand}, \refEnv{docCommand*}, and \refEnv{docCommands}.
+\begin{dispExample}
+\tcbset{doc head command={interior style={fill,left color=red!20!white,
+  right color=blue!20!white}}}
+
+\begin{docCommand*}{myCommandE}{\marg{argument}}
+  This is the documentation of \refCom{myCommandE} which takes one \meta{argument}.
+  \refCom{myCommandE} does some funny things with its \meta{argument}.
+\end{docCommand*}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\clearpage
+
+\begin{docTcbKey}{doc head environment}{=\meta{options}}{no default, initially empty}
+  Sets \meta{options} for the head line of
+  \refEnv{docEnvironment}, \refEnv{docEnvironment*}, and \refEnv{docEnvironments}.
+\begin{dispExample}
+\tcbset{doc head environment={beamer,boxsep=2pt,arc=2pt,colback=green!20!white}}
+
+\begin{docEnvironment*}{myEnvironment}{\marg{argument}}
+  This is the documentation of \refEnv{myEnvironment} which
+  takes one \meta{argument}.
+\end{docEnvironment*}
+\end{dispExample}
+\end{docTcbKey}
+
+\begin{docTcbKey}{doc head key}{=\meta{options}}{no default, initially empty}
+  Sets \meta{options} for the head line of
+  \refEnv{docKey}, \refEnv{docKey*}, and \refEnv{docKeys}.
+\begin{dispExample}
+\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}
+  This is the documentation of \refKey{/foo/myKey}.
+\end{docKey}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc new=2019-09-18]{doc head path}{=\meta{options}}{no default, initially empty}
+  Sets \meta{options} for the head line of
+  \refEnv{docPathOperation}, \refEnv{docPathOperation*}, and \refEnv{docPathOperations}.
+\begin{dispExample}
+\tcbset{doc head command={interior style={fill,left color=red!7!white,
+  right color=blue!7!white}}}
+
+\begin{docPathOperation*}{-{}-}{\meta{coordinate or cycle}}
+  This is the documentation of \refPathOperation{-{}-}.
+\end{docPathOperation*}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc updated=2019-09-18]{doc head}{=\meta{options}}{no default, initially empty}
+  Shortcut for setting the same \meta{options} for
+  \refKey{/tcb/doc head command}, \refKey{/tcb/doc head environment},
+  \refKey{/tcb/doc head key}, and \refKey{/tcb/doc head path}.
+\end{docTcbKey}
+
+
+\clearpage
+
+The description texts of the main documentation environments \refEnv{docCommand},
+\refEnv{docEnvironment}, \refEnv{docKey}, etc, are set in a compact form without
+indention and |parskip=0pt|. This settings can overruled by using the following
+keys to insert code before (or after) the description texts.
+
+\begin{docTcbKey}[][doc new=2015-10-09]{before doc body command}{=\meta{code}}{no default, initially empty}
+  Executes \meta{code} before the description texts
+  of \refEnv{docCommand} and \refEnv{docCommand*}.
+\begin{dispExample}
+\tcbset{before doc body command={%
+    \setlength{\parindent}{2.5em}%
+    \setlength{\parskip}{1ex plus 0.75ex minus 0.25ex}%
+}}
+
+\begin{docCommand*}{myCommandG}{\marg{argument}}
+  This is the documentation of \refCom{myCommandG} which takes one \meta{argument}.
+  \refCom{myCommandG} does some funny things with its \meta{argument}.
+\end{docCommand*}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc new=2015-10-09]{after doc body command}{=\meta{code}}{no default, initially empty}
+  Executes \meta{code} after the description texts
+  of \refEnv{docCommand} and \refEnv{docCommand*}.
+\begin{dispExample}
+\tcbset{after doc body command={%
+    \hfill\nolinebreak[1]\hspace*{\fill}\textcolor{red}{$\diamondsuit$}%
+}}
+
+\begin{docCommand*}{myCommandH}{\marg{argument}}
+  This is the documentation of \refCom{myCommandH} which takes one \meta{argument}.
+  \refCom{myCommandH} does some funny things with its \meta{argument}.
+\end{docCommand*}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc new=2015-10-09]{before doc body environment}{=\meta{code}}{no default, initially empty}
+  Executes \meta{code} before the description texts
+  of \refEnv{docEnvironment} and \refEnv{docEnvironment*}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-10-09]{after doc body environment}{=\meta{code}}{no default, initially empty}
+  Executes \meta{code} after the description texts
+  of \refEnv{docEnvironment} and \refEnv{docEnvironment*}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc new=2015-10-09]{before doc body key}{=\meta{code}}{no default, initially empty}
+  Executes \meta{code} before the description texts
+  of \refEnv{docKey} and \refEnv{docKey*}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-10-09]{after doc body key}{=\meta{code}}{no default, initially empty}
+  Executes \meta{code} after the description texts
+  of \refEnv{docKey} and \refEnv{docKey*}.
+\end{docTcbKey}
+
+\clearpage
+
+\begin{docTcbKey}[][doc new=2019-09-18]{before doc body path}{=\meta{code}}{no default, initially empty}
+  Executes \meta{code} before the description texts
+  of \refEnv{docPathOperation} and \refEnv{docPathOperation*}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2019-09-18]{after doc body path}{=\meta{code}}{no default, initially empty}
+  Executes \meta{code} after the description texts
+  of \refEnv{docPathOperation} and \refEnv{docPathOperation*}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc new and updated={2015-10-09}{2019-09-18}]{before doc body}{=\meta{options}}{no default, initially empty}
+  Shortcut for setting the same \meta{options} for
+  \refKey{/tcb/before doc body command}, \refKey{/tcb/before doc body environment},
+  \refKey{/tcb/before doc body key}, and \refKey{/tcb/before doc body path}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new and updated={2015-10-09}{2019-09-18}]{after doc body}{=\meta{options}}{no default, initially empty}
+  Shortcut for setting the same \meta{options} for
+  \refKey{/tcb/after doc body command}, \refKey{/tcb/after doc body environment},
+  \refKey{/tcb/after doc body key}, and \refKey{/tcb/after doc body path}.
+\end{docTcbKey}
+
+
+
+
+
+
+
+\clearpage
+\subsection{General Customization Option Keys}
+
 \begin{docTcbKey}[][doc updated=2015-03-16]{docexample}{}{style, no value}
   Sets the style for \refEnv{dispExample} and \refEnv{dispListing}
   with the colors |ExampleBack| and |ExampleFrame|.
@@ -556,7 +1225,7 @@
 \end{docTcbKey}
 
 \begin{docTcbKey}{documentation listing options}{=\meta{key list}}{no default,\\\hspace*{\fill} initially |style=tcbdocumentation|}
-  Sets the options from the package |listings| \cite{hoffmann:2018a}.
+  Sets the options from the package |listings| \cite{hoffmann:listings}.
   They are used inside \refEnv{dispExample} and \refEnv{dispListing} to typeset
   the listings. Note that this is not identical to the key
   \refKey{/tcb/listing options} which is used for 'normal' listings.\\
@@ -566,7 +1235,7 @@
 \begin{docTcbKey}{documentation listing style}{=\meta{listing style}}{no default, initially |tcbdocumentation|}
   Abbreviation for |documentation listing options={style=...}|.
   This key sets a \meta{style}
-  for the |listings| package, see \cite{hoffmann:2018a}.
+  for the |listings| package, see \cite{hoffmann:listings}.
   Note that this is not identical to the key
   \refKey{/tcb/listing style} which is used for 'normal' listings.\\
   Used for \refKey{/tcb/listing engine}|=listings| only.
@@ -667,7 +1336,8 @@
   \item\docValue{pgf}: Alias for |pgfsection|.
   \item\docValue{doc}: The index is assumed to be formatted by |doc| or |ltxdoc|. The usage of |makeindex|
     with |-s gind.ist| is assumed. The package |hypdoc| has to be loaded
-    \emph{before} |tcolorbox|.
+    \emph{before} |tcolorbox|. Only a limited set of customizations will
+    work! This option cannot be unset when used!
   \item\docValue{off}: The index is not formatted by |tcolorbox|. Use this, if
     the index is formatted by other package like |imakeidx|.
   \end{itemize}
@@ -771,6 +1441,9 @@
 
 
 \clearpage
+%-------------------------------------------------------------------------------
+\subsection{Language Option Keys}
+
 The following keys are provided for language specific settings.
 The English language is predefined.
 
@@ -856,271 +1529,13 @@
 
 
 
-\clearpage
-\begin{docTcbKey}{doc left}{=\meta{length}}{no default, initially |2em|}
-  Sets the left hand offset of the documentation texts from
-  \refEnv{docCommand}, \refEnv{docEnvironment}, \refEnv{docKey}, etc, to \meta{length}.
-\begin{dispExample}
-\begin{docCommand*}[doc left=2cm,doc left indent=-2cm]{myCommandA}{\marg{argument}}
-  This is the documentation of \refCom{myCommandA} which takes one \meta{argument}.
-  \refCom{myCommandA} does some funny things with its \meta{argument}.
-\end{docCommand*}
-\end{dispExample}
-\end{docTcbKey}
 
-\begin{docTcbKey}{doc right}{=\meta{length}}{no default, initially |0em|}
-  Sets the right hand offset of the documentation texts from
-  \refEnv{docCommand}, \refEnv{docEnvironment}, \refEnv{docKey}, etc, to \meta{length}.
-\begin{dispExample}
-\begin{docCommand*}[doc right=2cm]{myCommandB}{\marg{argument}}
-  This is the documentation of \refCom{myCommandB} which takes one \meta{argument}.
-  \refCom{myCommandB} does some funny things with its \meta{argument}.
-\end{docCommand*}
-\end{dispExample}
-\end{docTcbKey}
 
-\begin{docTcbKey}{doc left indent}{=\meta{length}}{no default, initially |-2em|}
-  Sets the left hand indent of documentation heads from
-  \refEnv{docCommand}, \refEnv{docEnvironment}, \refEnv{docKey}, etc, to \meta{length}.
-\begin{dispExample}
-\begin{docCommand*}[doc left indent=2cm]{myCommandC}{\marg{argument}}
-  This is the documentation of \refCom{myCommandC} which takes one \meta{argument}.
-  \refCom{myCommandC} does some funny things with its \meta{argument}.
-\end{docCommand*}
-\end{dispExample}
-\end{docTcbKey}
 
-\enlargethispage*{10mm}
-\begin{docTcbKey}{doc right indent}{=\meta{length}}{no default, initially |0pt|}
-  Sets the right hand indent of documentation heads from
-  \refEnv{docCommand}, \refEnv{docEnvironment}, \refEnv{docKey}, etc, to \meta{length}.
-\begin{dispExample}
-\begin{docCommand*}[doc right indent=-10mm,doc right=10mm,
-    doc description=test value]{myCommandD}{\marg{argument}}
-  This is the documentation of \refCom{myCommandD} which takes one \meta{argument}.
-  \refCom{myCommandD} does some funny things with its \meta{argument}.
-\end{docCommand*}
-\end{dispExample}
-\end{docTcbKey}
-
 \clearpage
-The head lines of the main documentation environments \refEnv{docCommand},
-\refEnv{docEnvironment}, \refEnv{docKey}, etc, are set inside |tcolorbox|es.
-Options to these |tcolorbox|es can be given using the following keys.
 
-\begin{docTcbKey}{doc head command}{=\meta{options}}{no default, initially empty}
-  Sets \meta{options} for the head line of \refEnv{docCommand} and \refEnv{docCommand*}.
-\begin{dispExample}
-\tcbset{doc head command={interior style={fill,left color=red!20!white,
-  right color=blue!20!white}}}
 
-\begin{docCommand*}{myCommandE}{\marg{argument}}
-  This is the documentation of \refCom{myCommandE} which takes one \meta{argument}.
-  \refCom{myCommandE} does some funny things with its \meta{argument}.
-\end{docCommand*}
-\end{dispExample}
-\end{docTcbKey}
 
-\begin{docTcbKey}{doc head environment}{=\meta{options}}{no default, initially empty}
-  Sets \meta{options} for the head line of \refEnv{docEnvironment} and \refEnv{docEnvironment*}.
-\begin{dispExample}
-\tcbset{doc head environment={beamer,boxsep=2pt,arc=2pt,colback=green!20!white,
-  after=\par\smallskip}}
-
-\begin{docEnvironment*}{myEnvironment}{\marg{argument}}
-  This is the documentation of \refEnv{myEnvironment} which
-  takes one \meta{argument}.
-\end{docEnvironment*}
-\end{dispExample}
-\end{docTcbKey}
-
-\begin{docTcbKey}{doc head key}{=\meta{options}}{no default, initially empty}
-  Sets \meta{options} for the head line of \refEnv{docKey} and \refEnv{docKey*}.
-\begin{dispExample}
-\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}
-  This is the documentation of \refKey{/foo/myKey}.
-\end{docKey*}
-\end{dispExample}
-\end{docTcbKey}
-
-\clearpage
-\begin{docTcbKey}[][doc new=2019-09-18]{doc head path}{=\meta{options}}{no default, initially empty}
-  Sets \meta{options} for the head line of \refEnv{docPathOperation} and \refEnv{docPathOperation*}.
-\begin{dispExample}
-\tcbset{doc head command={interior style={fill,left color=red!7!white,
-  right color=blue!7!white}}}
-
-\begin{docPathOperation*}{-{}-}{\meta{coordinate or cycle}}
-  This is the documentation of \refPathOperation{-{}-}.
-\end{docPathOperation*}
-\end{dispExample}
-\end{docTcbKey}
-
-
-\begin{docTcbKey}[][doc updated=2019-09-18]{doc head}{=\meta{options}}{no default, initially empty}
-  Shortcut for setting the same \meta{options} for
-  \refKey{/tcb/doc head command}, \refKey{/tcb/doc head environment},
-  \refKey{/tcb/doc head key}, and \refKey{/tcb/doc head path}.
-\end{docTcbKey}
-
-
-The description texts of the main documentation environments \refEnv{docCommand},
-\refEnv{docEnvironment}, \refEnv{docKey}, etc, are set in a compact form without
-indention and |parskip=0pt|. This settings can overruled by using the following
-keys to insert code before (or after) the description texts.
-
-\begin{docTcbKey}[][doc new=2015-10-09]{before doc body command}{=\meta{code}}{no default, initially empty}
-  Executes \meta{code} before the description texts
-  of \refEnv{docCommand} and \refEnv{docCommand*}.
-\begin{dispExample}
-\tcbset{before doc body command={%
-    \setlength{\parindent}{2.5em}%
-    \setlength{\parskip}{1ex plus 0.75ex minus 0.25ex}%
-}}
-
-\begin{docCommand*}{myCommandG}{\marg{argument}}
-  This is the documentation of \refCom{myCommandG} which takes one \meta{argument}.
-  \refCom{myCommandG} does some funny things with its \meta{argument}.
-\end{docCommand*}
-\end{dispExample}
-\end{docTcbKey}
-
-
-\begin{docTcbKey}[][doc new=2015-10-09]{after doc body command}{=\meta{code}}{no default, initially empty}
-  Executes \meta{code} after the description texts
-  of \refEnv{docCommand} and \refEnv{docCommand*}.
-\begin{dispExample}
-\tcbset{after doc body command={%
-    \hfill\nolinebreak[1]\hspace*{\fill}\textcolor{red}{$\diamondsuit$}%
-}}
-
-\begin{docCommand*}{myCommandH}{\marg{argument}}
-  This is the documentation of \refCom{myCommandH} which takes one \meta{argument}.
-  \refCom{myCommandH} does some funny things with its \meta{argument}.
-\end{docCommand*}
-\end{dispExample}
-\end{docTcbKey}
-
-\clearpage
-\begin{docTcbKey}[][doc new=2015-10-09]{before doc body environment}{=\meta{code}}{no default, initially empty}
-  Executes \meta{code} before the description texts
-  of \refEnv{docEnvironment} and \refEnv{docEnvironment*}.
-\end{docTcbKey}
-
-\begin{docTcbKey}[][doc new=2015-10-09]{after doc body environment}{=\meta{code}}{no default, initially empty}
-  Executes \meta{code} after the description texts
-  of \refEnv{docEnvironment} and \refEnv{docEnvironment*}.
-\end{docTcbKey}
-
-
-\begin{docTcbKey}[][doc new=2015-10-09]{before doc body key}{=\meta{code}}{no default, initially empty}
-  Executes \meta{code} before the description texts
-  of \refEnv{docKey} and \refEnv{docKey*}.
-\end{docTcbKey}
-
-\begin{docTcbKey}[][doc new=2015-10-09]{after doc body key}{=\meta{code}}{no default, initially empty}
-  Executes \meta{code} after the description texts
-  of \refEnv{docKey} and \refEnv{docKey*}.
-\end{docTcbKey}
-
-\begin{docTcbKey}[][doc new=2019-09-18]{before doc body path}{=\meta{code}}{no default, initially empty}
-  Executes \meta{code} before the description texts
-  of \refEnv{docPathOperation} and \refEnv{docPathOperation*}.
-\end{docTcbKey}
-
-\begin{docTcbKey}[][doc new=2019-09-18]{after doc body path}{=\meta{code}}{no default, initially empty}
-  Executes \meta{code} after the description texts
-  of \refEnv{docPathOperation} and \refEnv{docPathOperation*}.
-\end{docTcbKey}
-
-
-\begin{docTcbKey}[][doc new and updated={2015-10-09}{2019-09-18}]{before doc body}{=\meta{options}}{no default, initially empty}
-  Shortcut for setting the same \meta{options} for
-  \refKey{/tcb/before doc body command}, \refKey{/tcb/before doc body environment},
-  \refKey{/tcb/before doc body key}, and \refKey{/tcb/before doc body path}.
-\end{docTcbKey}
-
-\begin{docTcbKey}[][doc new and updated={2015-10-09}{2019-09-18}]{after doc body}{=\meta{options}}{no default, initially empty}
-  Shortcut for setting the same \meta{options} for
-  \refKey{/tcb/after doc body command}, \refKey{/tcb/after doc body environment},
-  \refKey{/tcb/after doc body key}, and \refKey{/tcb/after doc body path}.
-\end{docTcbKey}
-
-
-%\clearpage
-\begin{docTcbKey}{doc description}{=\meta{text}}{no default, initially empty}
-  Sets a (short!) additional description \meta{text} for
-  \refEnv{docCommand}, \refEnv{docEnvironment}, or \refEnv{docPathOperation}.
-  Such a description is
-  mandatory for \refEnv{docKey}.
-\begin{dispExample}
-\begin{docCommand*}[doc description=my description]{myCommandF}{\marg{argument}}
-  This is the documentation of \refCom{myCommandF} which takes one \meta{argument}.
-  \refCom{myCommandF} does some funny things with its \meta{argument}.
-\end{docCommand*}
-\end{dispExample}
-\begin{marker}
-Note that the description \meta{text} may overlap with the text on the left
-hand side if too long. Linebreaks can be used inside the \meta{text}.
-\end{marker}
-\end{docTcbKey}
-
-\clearpage
-\begin{docTcbKey}[][doc new={2019-09-18}]{doc label}{=\meta{text}}{no default, initially unset}
-  If used inside the option list of \refEnv{docCommand}, \refEnv{docEnvironment},
-  \refEnv{docKey}, or \refEnv{docPathOperation}, then \meta{text} is used
-  for labeling instead of the name of the definition.
-\begin{dispExample}
-\begin{docPathOperation*}[doc label=pathline]{-{}-}{\meta{coordinate or cycle}}
-  This is the documentation of \refPathOperation{pathline}.
-\end{docPathOperation*}
-\end{dispExample}
-\end{docTcbKey}
-
-
-\begin{docTcbKey}{doc into index}{\colOpt{=true\textbar false}}{default |true|, initially |true|}
-  If set to |false|, no index entries are written for the main documentation
-  environments. The same effect is achieved by using e.\,g.\ \refEnv{docCommand*}
-  instead of \refEnv{docCommand}.
-\end{docTcbKey}
-
-\begin{docTcbKey}[][doc new=2014-09-19]{doc marginnote}{=\meta{options}}{no default, initially empty}
-  Sets style \meta{options} for the displayed box of the \refCom{tcbdocmarginnote} command.
-\begin{dispExample}
-\tcbset{doc marginnote={colframe=blue!50!white,colback=blue!5!white}}%
-This is some text\tcbdocmarginnote{Note A}
-which is commented by a note inside the margin.
-\end{dispExample}
-\end{docTcbKey}
-
-\begin{docTcbKey}[][doc new=2014-09-19]{doc new}{=\meta{date}}{style, no default}
-  Adds a a marginnote with a 'New: \meta{data}' 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%
-\begin{dispExample}
-\begin{docCommand}[doc new=2000-01-01]{foosomething}{\marg{text}}
-Some command for something.
-\end{docCommand}
-\end{dispExample}
-\end{docTcbKey}
-
-
-\begin{docTcbKey}[][doc new=2014-09-19]{doc updated}{=\meta{date}}{style, no default}
-  Adds a marginnote with a 'Updated: \meta{data}' message at the beginning of
-  the upper box part. See \refKey{/tcb/doc new}.
-\end{docTcbKey}
-
-
-\begin{docTcbKey}[][doc new=2014-09-19]{doc new and updated}{=\marg{new date}\marg{update date}}{style, no default}
-  Adds a marginnote with 'New: \meta{new date}' and 'Updated: \meta{update data}' messages at the beginning of
-  the upper box part. See \refKey{/tcb/doc new}.
-\end{docTcbKey}
-
-
 \subsection{Predefined Colors of the Library}\tcbdocmarginnote{\tcbdocupdated{2019-09-18}}
 The following colors are predefined. They are used as default colors
 in some library commands.

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -18,7 +18,7 @@
   Fills the current path with an external image referenced by \meta{file name}.
   The image is put in the center of the path, but it is not resized to fit into
   the path area.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[draw,fill plain image=goldshade.png]
   (2.75,-0.75) -- (3,0) -- (2.75,0.75)
@@ -34,9 +34,10 @@
   The image is put in the center of the path, but it is not resized to fit into
   the path area.
   The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
-\path[draw,fill plain image*={width=2.5cm}{goldshade.png}]
+\path[draw,
+    fill plain image*={width=2.5cm}{goldshade.png}]
   (2.75,-0.75) -- (3,0) -- (2.75,0.75)
   \foreach \w in {45,90,...,315}
     { -- (\w:1.5cm) } -- cycle;
@@ -49,7 +50,7 @@
   Fills the current path with the given \meta{graphical code}.
   The result is put in the center of the path, but it is not resized to fit into
   the path area. Note that this is almost identical to the standard |path picture| option.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[draw,fill plain picture={%
   \draw[red!50!yellow,line width=2mm]
@@ -70,7 +71,7 @@
 \begin{docTikzKey}{fill stretch image}{=\meta{file name}}{no default, initially unset}
   Fills the current path with an external image referenced by \meta{file name}.
   The image is stretched to fill the path area.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[fill stretch image=goldshade.png]
   (2.75,-0.75) -- (3,0) -- (2.75,0.75)
@@ -85,7 +86,7 @@
   Fills the current path with an external image referenced by \meta{file name}.
   The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
   The image is stretched to fill the path area.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[fill stretch image*=
   {angle=90,origin=c}{goldshade.png}]
@@ -100,7 +101,7 @@
 \begin{docTikzKey}{fill stretch picture}{=\meta{graphical code}}{no default, initially unset}
   Fills the current path with the given \meta{graphical code}.
   The result is stretched to fill the path area.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[draw,fill stretch picture={%
   \draw[red!50!yellow,line width=2mm]
@@ -121,7 +122,7 @@
 \begin{docTikzKey}{fill overzoom image}{=\meta{file name}}{no default, initially unset}
   Fills the current path with an external image referenced by \meta{file name}.
   The image is zoomed such that the path area fills the image.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[fill overzoom image=goldshade.png]
   (2.75,-0.75) -- (3,0) -- (2.75,0.75)
@@ -136,7 +137,7 @@
   Fills the current path with an external image referenced by \meta{file name}.
   The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
   The image is zoomed such that the path area fills the image.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[fill overzoom image*=
   {angle=90,origin=c}{goldshade.png}]
@@ -151,7 +152,7 @@
 \begin{docTikzKey}{fill overzoom picture}{=\meta{graphical code}}{no default, initially unset}
   Fills the current path with the given \meta{graphical code}.
   The result is zoomed such that the path area fills the image.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[draw,fill overzoom picture={%
   \draw[red!50!yellow,line width=2mm]
@@ -173,7 +174,7 @@
   Fills the current path with an external image referenced by \meta{file name}.
   The image is zoomed such that it fits inside the path area.
   Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[draw,fill zoom image=goldshade.png]
   (2.75,-0.75) -- (3,0) -- (2.75,0.75)
@@ -189,7 +190,7 @@
   The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
   The image is zoomed such that it fits inside the path area.
   Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[draw,fill zoom image*=
   {angle=90,origin=c}{goldshade.png}]
@@ -205,7 +206,7 @@
   Fills the current path with the given \meta{graphical code}.
   The result is zoomed such that it fits inside the path area.
   Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[draw,fill zoom picture={%
   \draw[red!50!yellow,line width=2mm]
@@ -228,7 +229,7 @@
   The image is zoomed such that it fits inside the path area, but it never
   gets enlarged.
   Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[draw,fill shrink image=goldshade.png]
   (2.75,-0.75) -- (3,0) -- (2.75,0.75)
@@ -245,9 +246,10 @@
   The image is zoomed such that it fits inside the path area, but it never
   gets enlarged.
   Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
-\path[draw,fill shrink image*={width=1.5cm}{goldshade.png}]
+\path[draw,
+    fill shrink image*={width=1.5cm}{goldshade.png}]
   (2.75,-0.75) -- (3,0) -- (2.75,0.75)
   \foreach \w in {45,90,...,315}
     { -- (\w:1.5cm) } -- cycle;
@@ -261,7 +263,7 @@
   The result is zoomed such that it fits inside the path area, but it never
   gets enlarged.
   Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[draw,fill shrink picture={%
   \draw[red!50!yellow,line width=2mm]
@@ -281,7 +283,7 @@
 \subsection{Fill Tile}
 \begin{docTikzKey}{fill tile image}{=\meta{file name}}{no default, initially unset}
   Fills the current path with a tile pattern using an external image referenced by \meta{file name}.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[fill tile image=pink_marble.png]
   (2.75,-0.75) -- (3,0) -- (2.75,0.75)
@@ -295,7 +297,7 @@
 \begin{docTikzKey}{fill tile image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
   Fills the current path with a tile pattern using an external image referenced by \meta{file name}.
   The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[fill tile image*={width=1cm}{pink_marble.png}]
   (2.75,-0.75) -- (3,0) -- (2.75,0.75)
@@ -307,7 +309,7 @@
 
 \begin{docTikzKey}{fill tile picture}{=\meta{graphical code}}{no default, initially unset}
   Fills the current path with a tile pattern using the given \meta{graphical code}.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[draw,fill tile picture={%
   \draw[red!50!yellow,line width=2mm]
@@ -326,7 +328,7 @@
 \begin{docTikzKey}{fill tile picture*}{=\marg{fraction}\marg{graphical code}}{no default, initially unset}
   Fills the current path with a tile pattern using the given \meta{graphical code}.
   The graphic is resized by \meta{fraction}.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[draw,fill tile picture*={0.25}{%
   \draw[red!50!yellow,line width=2mm]
@@ -384,7 +386,7 @@
   for the image fill options. This can be just together with
   \refKey{/tikz/fill stretch image}, \refKey{/tikz/fill overzoom image}, \refKey{/tikz/fill zoom image},
   and \refKey{/tikz/fill tile image}.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
 \path[fill image options={width=1cm},
   fill tile image=pink_marble.png]
@@ -429,7 +431,7 @@
 straightens the arcs. To say it more prosaic, the little arcs are replaced
 by little straight lines.
 
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
 \begin{tikzpicture}
   \draw[thick,rounded corners=8pt]
     (0,0) -- (0,2) -- (1,3.25) -- (2,2) -- (2,0)

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -93,14 +93,32 @@
   An existing macro is redefined.
 \end{docCommand}
 
-\enlargethispage*{1cm}
+
+\clearpage
+
+\begin{docCommands}[
+    doc name        = tcbfitdim,
+    doc description = {read-only \LaTeX\ length},
+    doc updated     = 2020-04-24,
+  ]{}
+  This is a \LaTeX\ length adapted automatically by most variants of
+  \refKey{/tcb/fit algorithm}. Therefore, it never is to be
+  changed by the user, but may be applied read-only.
+  The \refCom{tcbfitdim} corresponds to the font size and may also
+  be used to calculate box margins or other distances in dependency.
+  The initial and maximum value for \refCom{tcbfitdim} is set by
+  \refKey{/tcb/fit basedim}.
+\end{docCommands}
+
+
 \begin{docCommand}{tcbfontsize}{\marg{factor}}
   Selects a font size inside a tcolorbox which is scaled with the given
-  \meta{factor} relative to \docAuxCommand{tcbfitdim}.%
-  %, see Subsection \ref{subsec:fit} from page \pageref{subsec:fit}.
+  \meta{factor} relative to \refCom{tcbfitdim}.
+  Also see \refKey{/tcb/fit fontsize macros}
 
 \begin{dispExample*}{sbs,lefthand ratio=0.6}
-\tcbset{colback=red!5!white,colframe=red!75!black}
+\tcbset{colback=red!5!white,size=small,
+  colframe=red!75!black}
 \begin{tcolorbox}[fit basedim=10pt]
   {\tcbfontsize{0.25} Very tiny,}\\
   {\tcbfontsize{0.5} Small,}\\
@@ -109,6 +127,18 @@
   {\tcbfontsize{4} Huge.}
 \end{tcolorbox}
 \end{dispExample*}
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{colback=red!5!white,size=small,
+  colframe=red!75!black}
+\begin{tcolorbox}[fit basedim=10pt,
+    fit to height=2cm]
+  {\tcbfontsize{0.25} Very tiny,}\\
+  {\tcbfontsize{0.5} Small,}\\
+  {\tcbfontsize{1} Normal,}\\
+  {\tcbfontsize{2} Large,}\\
+  {\tcbfontsize{4} Huge.}
+\end{tcolorbox}
+\end{dispExample*}
 \end{docCommand}
 
 
@@ -124,6 +154,7 @@
 overall size of the box content.
 The \refCom{tcboxfit} macro uses this algorithm by default.
 
+
 \medskip
 \begin{marker}
   The fit control keys are only applicable to unbreakable boxes without
@@ -139,7 +170,7 @@
   like \refCom{tcboxfit} where the given \meta{box content} is fitted to
   the width and height of the box. Therefore, the box has to have a fixed height.
   If no fixed height is given, a square box is constructed.
-  The font dimension \docAuxCommand{tcbfitdim} can also be used to adjust
+  The font dimension \refCom{tcbfitdim} can also be used to adjust
   the margins of the box since a box with a tiny font may not need large
   margins. The number of constructed boxes is saved to the macro \docAuxCommand{tcbfitsteps}
   for analysis.
@@ -196,6 +227,8 @@
 \begin{docTcbKey}{fit basedim}{=\meta{length}}{no default, initially |10pt|}
   Sets the starting font dimension for the font size adjustment algorithm
   to \meta{length}. The algorithm never enlarges this dimension.
+  Therefore, the final \refCom{tcbfitdim} is identical to or small than
+  \meta{length}.
 
 \begin{dispExample*}{sbs,lefthand ratio=0.6}
 \tcbset{colback=red!5!white,colframe=red!75!black}
@@ -213,7 +246,7 @@
 
 
 \begin{docTcbKey}{fit skip}{=\meta{real value}}{no default, initially |1.2|}
-  Sets the skip value of the selected font to \meta{real value} times \docAuxCommand{tcbfitdim}.
+  Sets the skip value of the selected font to \meta{real value} times \refCom{tcbfitdim}.
 
 \begin{dispExample*}{sbs,lefthand ratio=0.6}
 % \usepackage{lipsum}
@@ -236,8 +269,9 @@
   |\tiny|, |\scriptsize|, |\footnotesize|, |\small|, |\normalsize|,
   |\large|, |\Large|, |\LARGE|, |\huge|, and |\Huge|,
   to set font sizes relative to
-  the current \docAuxCommand{tcbfitdim}. Note that the display skip values for
+  the current \refCom{tcbfitdim}. Note that the display skip values for
   mathematical formulas are respected by the redefined macros.
+  Also see \refCom{tcbfontsize}.
 
 \begin{dispExample*}{sbs,lefthand ratio=0.6}
 % \usepackage{lipsum}
@@ -395,7 +429,8 @@
 \clearpage
 \begin{docTcbKey}{fit algorithm}{=\meta{name}}{no default, initially |fontsize|}
 Sets the algorithm for the fitting process \emph{after} optionally width and height
-are adapted.
+are adapted. In the following, adapting the font size means adapting
+\refCom{tcbfitdim}.
   Feasible values for \meta{name} are:
   \begin{itemize}
   \item\docValue{fontsize} (initial):

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -369,6 +369,8 @@
 \end{dispExample}
 \end{docTcbKey}
 
+\enlargethispage*{1cm}
+
 \begin{docTcbKey}{watermark tikz app on}{=\meta{part} is \meta{graphical code}}{no default}
   Appends a \refKey{/tcb/watermark tikz on} the named \meta{part} of a break sequence.
 \end{docTcbKey}

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.initoptions.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.initoptions.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.initoptions.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -106,6 +106,7 @@
 be used to overrule a previous option.
 \end{newTcbKey}
 
+\enlargethispage*{1cm}
 
 \begin{newTcbKey}[][doc new=2019-10-18]{reset counter on overlays}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
 For |beamer| slides, this invokes the |\resetcounteronoverlays| command
@@ -218,7 +219,7 @@
 \item\docValue{figures}: blend into the standard |figure| environment.
 \item\docValue{tables}: blend into the standard |table| environment.
 \item\docValue{listings}: blend into the standard |lstlisting| environment
-  of the package |listings| \cite{hoffmann:2018a}.
+  of the package |listings| \cite{hoffmann:listings}.
   \begin{marker}
   Note that |blend into=listings| can only be used in the document content
   or, preferably, inside a |\AtBeginDocument| clause! Using it without

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -4,7 +4,7 @@
 \section{Introduction}%
 \tcbset{external/prefix=external/intro_}%
 The package originates from the first edition of my book
-\flqq{\citetitle{sturm:2016e}\frqq~\cite{sturm:2016e}
+\flqq{\citetitle{sturm:latex}\frqq~\cite{sturm:latex}
 in about 2006.
 For the \LaTeX\ examples and tutorials given there, I wanted to have
 accentuated and colored boxes to display source code and
@@ -11,15 +11,12 @@
 compiled text in combination.
 Since, in my opinion, this type of boxes is also quite useful to highlight definitions
 and theorems, I applied them for my lecture notes in
-mathematics \cite{sturm:2007b,sturm:2008b,sturm:2010a}
+mathematics \cite{sturm:mathe1,sturm:mathe2,sturm:mathe3}
 as well.
 With this package, you are invited to apply these boxes for similar projects.
 
-Starting with version 2.00, for all internal calculations
-$\varepsilon$-\TeX\ \cite{breitenlohner:1998a} expressions are used
-in replacement of the package |calc|.
-The breaking news for version 2.00 is the support for breakable boxes.
-This new feature allows new applications of the package without
+The breaking news for version 2.00 was the support for breakable boxes.
+This feature allows new applications of the package without
 affecting the core package too much if you do not need boxes to break automatically.
 With version 2.20, the often requested 'side by side' mode for listings has been added.
 With version 3.00, boxed titles are introduced together with improved
@@ -52,7 +49,7 @@
 \subsection{Loading the Package}
 The base package |tcolorbox| loads the packages
 |pgf| \cite{tantau:tikz_and_pgf}, |verbatim| \cite{schoepf:2001a},
-|etoolbox| \cite{lehmann:2018a},
+|etoolbox| \cite{lehmann:etoolbox},
 and |environ| \cite{robertson:2014a}.
 |tcolorbox| itself is loaded in the usual manner in the preamble:
 \begin{dispListing}
@@ -101,14 +98,14 @@
 \end{docTcbKey}
 
 \begin{docTcbKey}[library]{listings}{}{\mylib{listings}}
-  Loads the package |listings| \cite{hoffmann:2018a} and provides additional
+  Loads the package |listings| \cite{hoffmann:listings} and provides additional
   macros for typesetting listings which are described in Section~\ref{sec:listings}
   from page~\pageref{sec:listings}.
 \end{docTcbKey}
 
 \begin{docTcbKey}[library]{listingsutf8}{}{\mylib{listingsutf8}}
-  Loads the packages |listings| \cite{hoffmann:2018a} and
-  |listingsutf8| \cite{oberdiek:2016b} for UTF-8 support.
+  Loads the packages |listings| \cite{hoffmann:listings} and
+  |listingsutf8| \cite{oberdiek:listingsutf8} for UTF-8 support.
   This is a variant of the library \mylib{listings}
   and is described in Section \ref{sec:listings}
   from page~\pageref{sec:listings}.
@@ -186,7 +183,7 @@
 \end{docTcbKey}
 
 \begin{docTcbKey}[library]{all}{}{style, no value}
-  Loads all libraries. Use this shortcut only, if you indend to use the
+  Loads all libraries. Use this shortcut only, if you intend to use the
   \mylib{documentation} library.
 \end{docTcbKey}
 

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -27,12 +27,12 @@
 
 
 \subsubsection{Loading \mylib{listings}}
-This library uses the package |listings| \cite{hoffmann:2018a} to typeset
+This library uses the package |listings| \cite{hoffmann:listings} to typeset
 listings. It is loaded by a package option or inside the preamble by:
 \begin{dispListing}
 \tcbuselibrary{listings}
 \end{dispListing}
-This also loads the package |listings| \cite{hoffmann:2018a}.
+This also loads the package |listings| \cite{hoffmann:listings}.
 
 The \refKey{/tcb/listing engine} is set to |listings| by the library.
 To reactivate this setting, if overwritten by other libraries, use
@@ -43,9 +43,11 @@
 \subsubsection{Loading \mylib{listingsutf8}}
 \begin{marker}
 This library is not needed (and troublesome) when using Xe\LaTeX\ or Lua\LaTeX.
+Therefore, loading this library is automatically replaced by loading
+\mylib{listings} only, if pdf\LaTeX\ is \emph{not} used.
 \end{marker}
 To extend |listings| for UTF-8 encoded sources, you can use the support from
-the package |listingsutf8| \cite{oberdiek:2016b} by loading the library
+the package |listingsutf8| \cite{oberdiek:listingsutf8} by loading the library
 variant \mylib{listingsutf8}.
 \begin{dispListing}
 \tcbuselibrary{listingsutf8}
@@ -52,8 +54,8 @@
 \tcbset{listing utf8=latin1}% optional; 'latin1' is the default.
 \end{dispListing}
 This also loads the library \mylib{listings}
-and the packages |listings| \cite{hoffmann:2018a}
-and |listingsutf8| \cite{oberdiek:2016b}.
+and the packages |listings| \cite{hoffmann:listings}
+and |listingsutf8| \cite{oberdiek:listingsutf8}.
 
 The \refKey{/tcb/listing engine} is set to |listings| by the library.
 To reactivate this setting, if overwritten by other libraries, use
@@ -322,7 +324,7 @@
 \subsection{Option Keys of the \mylib{listings} Library}\label{sec:speclistingkeys}
 
 \begin{docTcbKey}{listing options}{=\meta{key list}}{no default, initially |style=tcblatex|}
-  Sets the options from the package |listings| \cite{hoffmann:2018a}
+  Sets the options from the package |listings| \cite{hoffmann:listings}
   which are used during typesetting of the listing.
   For \LaTeX\ listings, there is a predefined |listings| style named |tcblatex|
   which can be used.
@@ -352,7 +354,7 @@
 
 \begin{docTcbKey}{listing style}{=\meta{style}}{no default, initially |tcblatex|}
   Abbreviation for |listing options={style=...}|. This key sets a \meta{style}
-  for the |listings| package, see \cite{hoffmann:2018a}.
+  for the |listings| package, see \cite{hoffmann:listings}.
   For \LaTeX, there is a predefined style named |tcblatex|.
 \begin{dispExample}
 \begin{tcblisting}{colback=red!5!white,colframe=red!75!black,
@@ -425,6 +427,8 @@
 \subsection{Option Keys of the \mylib{listingsutf8} Library}
 \begin{marker}
 The \mylib{listingsutf8} library is not needed (and troublesome) when using Xe\LaTeX\ or Lua\LaTeX.
+Therefore, loading this library is automatically replaced by loading
+\mylib{listings} only, if pdf\LaTeX\ is \emph{not} used.
 \end{marker}
 
 The \mylib{listingsutf8} library is an extension of the
@@ -433,10 +437,10 @@
 
 \begin{docTcbKey}{listing utf8}{=\meta{one-byte-encoding}}{style, no default, initially |latin1|}
   Abbreviation for using \refKey{/tcb/listing inputencoding}
-  together with UTF-8 support from the package |listingsutf8| \cite{oberdiek:2016b}.
+  together with UTF-8 support from the package |listingsutf8| \cite{oberdiek:listingsutf8}.
   This option is available only for the library variant \mylib{listingsutf8}.
   The \meta{one-byte-encoding} is one of
-  the applicable encodings from \cite{oberdiek:2016b}, e.\,g.\ |latin1|
+  the applicable encodings from \cite{oberdiek:listingsutf8}, e.\,g.\ |latin1|
   which is the default.\par
   Be aware that this means restriction to this specific \meta{one-byte-encoding}:
   e.\,g.\ |latin1| comprises umlauts and other accented characters, but not
@@ -635,7 +639,7 @@
 \end{dispExample}
 \end{docTcbKey}
 
-%\enlargethispage*{1cm}
+\clearpage
 
 \begin{docTcbKey}[][doc new=2014-11-14]{pdf comment}{\colOpt{=\meta{filename}}}{style, default listing file, initially unset}
   Uses a PDF file denoted by \meta{filename} as \textit{comment} for the listing.
@@ -744,6 +748,7 @@
 \end{dispExample}
 \end{docTcbKey}
 
+\clearpage
 
 \begin{docTcbKey}{text outside listing}{}{no value}
 Typesets the environment content side by side as listing in a |tcolorbox|
@@ -760,7 +765,7 @@
 \end{docTcbKey}
 
 
-\clearpage
+
 \begin{docTcbKey}{listing side comment}{}{style, no value}
 Typesets the environment content side by side as listing in the left (upper)
 part and a given comment in the right (lower) part.
@@ -786,8 +791,8 @@
 \end{dispExample}
 \end{docTcbKey}
 
+\clearpage
 
-\enlargethispage*{2cm}
 \begin{docTcbKey}{listing outside comment}{}{no value}
 Typesets the environment content side by side as listing in a |tcolorbox|
 and a given comment outside the box in the right part of the page.
@@ -820,7 +825,7 @@
 \end{docTcbKey}
 
 
-\clearpage
+
 \begin{docTcbKey}{listing above text}{}{no value}
   Typesets the environment content as listing in a |tcolorbox|
   and as compiled text outside and below the box.
@@ -842,6 +847,7 @@
   The distance between box and text is controlled by \refKey{/tcb/after}.
 \end{docTcbKey}
 
+\clearpage
 
 \begin{docTcbKey}{text above listing}{}{no value}
   Typesets the environment content as listing in a |tcolorbox|
@@ -865,7 +871,7 @@
 \end{docTcbKey}
 
 
-\clearpage
+
 \begin{docTcbKey}{listing above comment}{}{no value}
   Typesets the environment content as listing in a |tcolorbox|
   and a given comment outside and below the box.
@@ -888,6 +894,7 @@
   The distance between box and comment is controlled by \refKey{/tcb/after}.
 \end{docTcbKey}
 
+\clearpage
 
 \begin{docTcbKey}{comment above listing}{}{no value}
   Typesets the environment content as listing in a |tcolorbox|

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.poster.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.poster.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.poster.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -194,12 +194,17 @@
 
 \begin{posterTcbKey}[][doc new=2017-07-03]{width}{=\meta{length}}{no default, initially \cs{linewidth}}
   Sets \meta{length} as width of the poster. For a typical poster, this has not
-  to be set manually.
+  to be set manually. Especially, if \refKey{/tcb/posterset/coverage} is present,
+  use |coverage={width=|\meta{length}|}| instead to change the overall width.
 \end{posterTcbKey}
 
+\enlargethispage*{1cm}
+
 \begin{posterTcbKey}[][doc new=2017-07-03]{height}{=\meta{length}}{no default, initially unset}
   Sets \meta{length} as height of the poster. For a typical poster, this has not
   to be set manually, but is set automatically to an appropriate value.
+  If \refKey{/tcb/posterset/coverage} is present, use only one if any option
+  |coverage={height=|\meta{length}|}| or |poster={height=|\meta{length}|}|.
 \end{posterTcbKey}
 
 
@@ -248,6 +253,11 @@
   \refKey{/tcb/top}, \refKey{/tcb/bottom}.
 \item Poster background can be changed by \refKey{/tcb/colback},
   \refKey{/tcb/interior style}, \refKey{/tcb/interior style image}, etc.
+\item Do not use \refKey{/tcb/poster/width} and \refKey{/tcb/poster/height}
+  in combination with a \emph{coverage}. Note that you may use
+  \refKey{/tcb/width} and \refKey{/tcb/height} inside
+  the \emph{coverage} \meta{option list}. Note that this also is not
+  necessary when \refKey{/tcb/spread} is applied.
 \end{itemize}
 \end{postersetTcbKey}
 
@@ -556,7 +566,8 @@
 \end{exdispExample}
 \end{posterlocTcbKey}
 
-\enlargethispage*{2cm}
+\clearpage
+
 \begin{docTcbKey}[][doc new=2017-07-03]{placeholder}{}{style, no value}
   If the box content of a \refKey{/tcb/posterloc/sequence} is too short
   to fill all reserved box parts, the empty boxes are drawn with
@@ -578,7 +589,7 @@
 \end{docTcbKey}
 
 
-\clearpage
+
 \begin{posterlocTcbKey}[][doc new=2017-07-03]{xshift}{=\meta{length}}{no default, initially |0pt|}
   Horizontal shift of a box by \meta{length}.
 \begin{exdispExample}{xshift}
@@ -592,6 +603,7 @@
 \end{exdispExample}
 \end{posterlocTcbKey}
 
+\clearpage
 
 \begin{posterlocTcbKey}[][doc new=2017-07-03]{yshift}{=\meta{length}}{no default, initially |0pt|}
   Vertical shift of a box by \meta{length}.

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	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty	2020-04-28 21:11:42 UTC (rev 54928)
@@ -66,6 +66,7 @@
 \urlstyle{sf}
 
 \tcbmakedocSubKey{docTcbKey}{tcb}
+\tcbmakedocSubKeys{docTcbKeys}{tcb}
 \tcbmakedocSubKey{langTcbKey}{tcb/doclang}
 \tcbmakedocSubKey{newTcbKey}{tcb/new}
 \tcbmakedocSubKey{boxTcbKey}{tcb/boxtitle}
@@ -78,27 +79,64 @@
 
 \def\tikzname{Ti\emph{k}Z}
 
+
 \newrobustcmd{\tcbIndexPrintSkinCA}[1]{\tcb at Index@Print at CA{#1}{\kvtcb at col@key}{Skin}}
 \newrobustcmd{\tcbIndexPrintSkinC}[1]{\tcb at Index@Print at C{#1}{\kvtcb at col@key}}
-\def\tcb at index@Skin#1{\iftcb at doc@toindex\index{#1\idx at actual\tcbIndexPrintSkinCA{#1}}\index{Skins\idx at level#1\idx at actual\tcbIndexPrintSkinC{#1}}\fi}%
-
-\newenvironment{docSkin}[2][]{\begin{tcb at manual@entry}%
-  \begin{tcb at doc@head}{colback=magenta!5!white,interior style=fill,#1}%
-  \hypertarget{skin:#2}{\tcb at Print@Key{/tcb/skin=}\tcb at Print@Val{#2}\tcb at index@Skin{#2}\protected at edef\@currentlabel{#2}\label{skin:#2}\hfill(skin)}%
-  \end{tcb at doc@head}}%
-  {\end{tcb at manual@entry}}
 \def\refSkin{\tcb at ref@doc{skin}}
 
 \newrobustcmd{\tcbIndexPrintFadCA}[1]{\tcb at Index@Print at CA{#1}{\kvtcb at col@value}{fading}}
 \newrobustcmd{\tcbIndexPrintFadC}[1]{\tcb at Index@Print at C{#1}{\kvtcb at col@value}}
-\def\tcb at Print@Fad#1{\textcolor{\kvtcb at col@value}{\bfseries\tcb at scantokens{#1}}}
-\def\tcb at index@Fad#1{\iftcb at doc@toindex\kvtcb at index@command{#1\idx at actual\tcbIndexPrintFadCA{#1}}\kvtcb at index@command{Fadings\idx at level#1\idx at actual\tcbIndexPrintFadC{#1}}\fi}
 
-\DeclareDocumentCommand\docFading{sm}{%
-  \tcb at Print@Fad{#2}%
-  \IfBooleanTF{#1}{}{\tcb at index@Fad{#2}}%
-}
 
+\ExplSyntaxOn
+
+\NewDocumentEnvironment{docSkin}{ O{} m }
+  {
+    \__tcobox_doc_entry_begin:nnn
+      {
+        doc~keypath=tcb,
+        doc~name={skin},
+        doc~label={skin=#2},
+        doc~parameter={=\docValue*[nophantom]{#2}},
+        doc~description={skin},
+        #1,
+        doc~no~index,
+        doc~head~key =
+        {
+          colback=magenta!5!white,interior~style=fill,
+          phantom=
+            {
+              \protected at edef\@currentlabel{#2}
+              \label{skin:#2}
+              \index{#2\idx at actual\tcbIndexPrintSkinCA{#2}}
+              \index{Skins\idx at level#2\idx at actual\tcbIndexPrintSkinC{#2}}
+            },
+        }
+      }
+      {}{key}
+  }
+  {
+    \__tcobox_doc_entry_end:n { key }
+  }
+
+
+\NewDocumentCommand \docFading { s +O{} m }
+  {
+    \group_begin:
+    \tcbset{doc~name={#3},#2}
+    \textcolor{\kvtcb at col@value}{\__tcobox_print_docname:}
+    \IfBooleanF{#1}
+      {
+        \kvtcb at index@command{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintFadCA{\kvtcb at doc@index}}
+        \kvtcb at index@command{Fadings\idx at level\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintFadC{\kvtcb at doc@index}}
+      }
+    \group_end:
+  }
+
+\ExplSyntaxOff
+
+
+
 \newtcolorbox{marker}[1][]{enhanced,
   before skip=2mm,after skip=3mm,
   boxrule=0.4pt,left=5mm,right=2mm,top=1mm,bottom=1mm,
@@ -202,6 +240,7 @@
   documentation listing style=mydocumentation,%
   sbs/.style={sidebyside,before lower app={\tcbset{sidebyside=false}}},%
   innerbox/.style={reset,documentation listing style=mydocumentation,
+    doc keypath/.store in=\kvtcb at doc@keypath,
     docexample/.style={docexample original},%
     },
   beforeafter example/.style={

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -2764,7 +2764,7 @@
   Such, the |tcolorbox| is made a clickable button (depending on the previewer).
   \begin{dispExample*}{sbs,lefthand ratio=0.7}
 \begin{tcolorbox}[enhanced,colback=red!50,
-  hyperurl=http://www.ctan.org/pkg/tcolorbox]
+  hyperurl=https://www.ctan.org/pkg/tcolorbox]
 View CTAN with a browser.
 \end{tcolorbox}
   \end{dispExample*}
@@ -2813,6 +2813,8 @@
   \meta{options} are applied.
 \end{docTcbKey}
 
+\enlargethispage*{1cm}
+
 \begin{docTcbKey}[][doc new=2017-02-03]{hyperurl* node}{=\marg{options}\marg{url}\marg{node}}{no default, initially unset}
   Identical to \refKey{/tcb/hyperurl node}, but additional |hyperref| \cite{rahtz:hyperref}
   \meta{options} are applied.
@@ -2945,7 +2947,9 @@
   \end{marker}
 \end{docCommand}
 
-\enlargethispage*{2cm}
+
+\clearpage
+
 \begin{docTcbKey}{draftmode}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
   If set to |true|, the \emph{draft mode} is started.
   If set to |false|, the \emph{draft mode} is stopped.
@@ -3630,6 +3634,8 @@
   \end{itemize}
 \end{docSkin}
 
+\clearpage
+
 \begin{docTcbKey}{bicolor}{}{style, no value}
   This is an abbreviation for setting |skin=bicolor|.
 \end{docTcbKey}
@@ -3659,6 +3665,8 @@
 \end{tcbraster}
 \end{dispExample}
 
+\enlargethispage*{1cm}
+
 \begin{docTcbKey}{colbacklower}{=\meta{color}}{no default, initially \texttt{black!15!white}}
   Sets the background \meta{color} of the lower part. It depends on the skin,
   if this value is used.
@@ -4659,7 +4667,9 @@
 %\tcbuselibrary{skins,breakable}
 \tikzset{coltria/.style={fill=red!15!white}}
 
-\newtcolorbox{freebox}[1][]{empty,breakable,leftrule=5mm,left=2mm,
+\newtcolorbox{freebox}[1][]{empty,
+  breakable,height fixed for=first and middle,
+  leftrule=5mm,left=2mm,
   frame style={fill,top color=red!75!black,bottom color=red!75!black,middle color=red},
   colback=yellow!50!white,
   watermark color=red!50!yellow!75!white,
@@ -4926,6 +4936,8 @@
 See \refKey{/tcb/skin middle is subskin of} for a substitute of this key.
 \end{docTcbKey}
 
+\enlargethispage*{1cm}
+
 \begin{docTcbKey}{extend freelancelast}{=\meta{options}}{no default, initially empty}
 The \meta{options} are added to the skin definition of \refSkin{freelancelast} which
 is used as last part of the break sequence of \refSkin{freelance}.

Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.vignette.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.vignette.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.vignette.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -138,6 +138,7 @@
 \end{tikzpicture}
 \end{dispExample*}
 
+\enlargethispage*{1cm}
 
 \begin{vigTcbKey}[][doc new=2016-04-22]{inside node}{=\meta{name}}{style, initally unset}
   Places the \refCom{tcbvignette} inside the node with the given \meta{name}.
@@ -151,6 +152,7 @@
 \end{dispExample*}
 \end{vigTcbKey}
 
+\clearpage
 
 \begin{vigTcbKey}[][doc new=2016-04-22]{outside node}{=\meta{name}}{style, initally unset}
   Places the \refCom{tcbvignette} outside the node with the given \meta{name}.
@@ -221,6 +223,8 @@
 \end{dispExample*}
 \end{vigTcbKey}
 
+\clearpage
+
 \begin{vigTcbKey}[][doc new=2016-04-22]{vertical size}{=\meta{length}}{style, initially |2mm|}
   Sets \refKey{/tcb/vig/north size} and \refKey{/tcb/vig/south size},
   to the given \meta{length}.
@@ -280,7 +284,6 @@
 \end{dispExample*}
 \end{vigTcbKey}
 
-\clearpage
 
 \begin{vigTcbKey}[][doc new=2016-04-22]{east style}{=\marg{style}}{no default, initially |red!75!black|}
   Sets \tikzname\ \meta{style} options for the east \emph{vignette} part.
@@ -292,6 +295,7 @@
 \end{dispExample*}
 \end{vigTcbKey}
 
+\clearpage
 
 \begin{vigTcbKey}[][doc new=2016-04-22]{west style}{=\marg{style}}{no default, initially |red!75!white|}
   Sets \tikzname\ \meta{style} options for the west \emph{vignette} part.
@@ -363,6 +367,7 @@
 \end{vigTcbKey}
 
 
+
 \begin{vigTcbKey}[][doc new=2016-04-22]{base color}{=\meta{color}}{no default}
   Sets the base color for \refKey{/tcb/vig/raised color},
   \refKey{/tcb/vig/lowered color}, \refKey{/tcb/finish fading vignette}.
@@ -455,6 +460,8 @@
 \end{tcboxedraster}
 
 
+\clearpage
+
 \begin{vigTcbKey}[][doc new=2016-04-22]{fade in}{\colOpt{=\marg{style}}}{style, default |white|}
   Sets the four style options
   \refKey{/tcb/vig/north style},

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	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,9 +1,9 @@
 % \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcolorbox.tex: Manual
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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,12 +18,12 @@
 %%
 %% This work consists of all files listed in README
 %%
-% arara: pdflatex: { shell: yes }
+% arara: pdflatex: { shell: yes, synctex: yes }
 % arara: biber
-% arara: pdflatex: { shell: yes }
-% arara: pdflatex: { shell: yes }
 % arara: pdflatex: { shell: yes, synctex: yes }
 % arara: pdflatex: { shell: yes, synctex: yes }
+% arara: pdflatex: { shell: yes, synctex: yes }
+% arara: pdflatex: { shell: yes, synctex: yes }
 %
 \documentclass[a4paper,11pt]{ltxdoc}
 
@@ -43,8 +43,8 @@
 \setlength{\bibitemsep}{\smallskipamount}
 \addbibresource{tcolorbox.doc.bib}
 
-\def\version{4.22}%
-\def\datum{2019/11/15}%
+\def\version{4.30}%
+\def\datum{2020/04/28}%
 \makeindex
 
 \hypersetup{
@@ -55,11 +55,17 @@
 }
 
 \usepackage{pgfplots}
+\pgfplotsset{compat=1.17}
 
+\nocite{breitenlohner:1998a}
+
+%\geometry{showframe}
 %\tcbset{draftmode}
 \tcbset{/tcb/external/-}% for final run
-%\includeonly{tcolorbox.doc.initoptions}
+%\includeonly{tcolorbox.doc.picturecredits}
 
+%\hypersetup{colorlinks=false}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \begin{document}
 \input{tcolorbox.doc.abstract}

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcbbreakable.code.tex: Code for breakable colorboxes
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \let\tcb at parboxrestore@true=\tcb at parboxrestore
 \let\tcb at parboxrestore@false\tcb at parbox@false at settings

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcbdocumentation.code.tex: Code for LaTeX documentations
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
-\tcbuselibrary{listings,skins,xparse,external}
+\tcbuselibrary{listings,skins,xparse,external,raster}
 
 \RequirePackage{pifont}[2005/04/12]
 \RequirePackage{marvosym}[2011/07/20]
@@ -83,10 +83,8 @@
   {\ttfamily\char`\{}\meta{#1}{\ttfamily\char`\}}}
 \def\oarg#1{%
   \colOpt{{\ttfamily[}\meta{#1}{\ttfamily]}}}
+\def\brackets#1{{\ttfamily\char`\{}#1{\ttfamily\char`\}}}
 
-\newrobustcmd\tcb at cs[1]{{\catcode`\_=12\relax\catcode`\@11\relax\ttfamily\char`\\\scantokens{#1}\unskip}}
-\newrobustcmd\tcb at scantokens[1]{{\catcode`\_=12\relax\catcode`\@11\relax\ttfamily\scantokens{#1}\unskip}}
-
 \newif\iftcb at doc@toindex
 \newif\iftcb at doc@colorize
 \newif\iftcb at doc@annotate
@@ -135,7 +133,6 @@
     color value={#1},color color={#1},color counter={#1},color length={#1}, color path={#1}},
   color option/.store in=\kvtcb at col@opt,
   color hyperlink/.store in=\kvtcb at colhyper,
-  color frame/.store in=\kvtcb at colhyper,
   index actual/.store in=\idx at actual,
   index quote/.store in=\idx at quote,
   index level/.store in=\idx at level,
@@ -154,7 +151,21 @@
   doc head path/.style={doc at head@path/.style={#1}},
   doc head/.style={doc head command={#1},doc head environment={#1},doc head key={#1},
     doc head path={#1}},
+  doc raster command/.style={doc at raster@command/.style={#1}},
+  doc raster environment/.style={doc at raster@environment/.style={#1}},
+  doc raster key/.style={doc at raster@key/.style={#1}},
+  doc raster path/.style={doc at raster@path/.style={#1}},
+  doc raster/.style={doc raster command={#1},doc raster environment={#1},doc raster key={#1},
+    doc raster path={#1}},
   doc label/.store in=\kvtcb at doc@label,
+  doc index/.store in=\kvtcb at doc@index,
+  doc sort index/.store in=\kvtcb at doc@sortindex,
+  doc at name/.store in=\kvtcb at doc@name,
+  doc parameter/.store in=\kvtcb at doc@parameter,
+  doc name/.style={doc at name={#1},doc label={#1},doc index={#1},doc sort index={#1}},
+  doc keypath/.store in=\kvtcb at doc@keypath,
+  doc at sub@keypath/.style={doc keypath/.code={
+    \ifblank{##1}{\def\kvtcb at doc@keypath{#1}}{\def\kvtcb at doc@keypath{#1/##1}}}},
   before doc body command/.store in=\kvtcb at doc@body at command@before,
   after doc body command/.store in=\kvtcb at doc@body at command@after,
   before doc body environment/.store in=\kvtcb at doc@body at environment@before,
@@ -169,6 +180,7 @@
     ,after doc body key={#1},after doc body path={#1}},
   doc description/.store in=\kvtcb at doc@description,%
   doc into index/.is if=tcb at doc@toindex,%
+  doc no index/.style={doc into index=false},
   doc updated/.style={before upper={\tcbdocmarginnote{\tcbdocupdated{#1}}}},
   doc new/.style={before upper={\tcbdocmarginnote{\tcbdocnew{#1}}}},
   doc new and updated/.style 2 args={before upper={\tcbdocmarginnote{\tcbdocnew{#1}\\\tcbdocupdated{#2}}}},
@@ -263,48 +275,29 @@
 }
 
 \newrobustcmd{\tcbIndexPrintComC}[1]{\tcb at Index@Print at ComC{#1}{\kvtcb at col@command}}
-\def\tcb at Print@Com#1{\textcolor{\kvtcb at col@command}{\tcb at doc@bfseries\tcb at cs{#1}}}
 
 \newrobustcmd{\tcbIndexPrintEnvCA}[1]{\tcb at Index@Print at CA{#1}{\kvtcb at col@environment}{\kvtcb at text@env}}
 \newrobustcmd{\tcbIndexPrintEnvC}[1]{\tcb at Index@Print at C{#1}{\kvtcb at col@environment}}
-\def\tcb at Print@Env#1{\textcolor{\kvtcb at col@environment}{\tcb at doc@bfseries\tcb at scantokens{#1}}}
 
 \newrobustcmd{\tcbIndexPrintKeyCA}[1]{\tcb at Index@Print at CA{#1}{\kvtcb at col@key}{\kvtcb at text@key}}
 \newrobustcmd{\tcbIndexPrintKeyC}[1]{\tcb at Index@Print at C{#1}{\kvtcb at col@key}}
-\def\tcb at Print@Key#1{\textcolor{\kvtcb at col@key}{\tcb at doc@bfseries\tcb at scantokens{#1}}}
 
 \newrobustcmd{\tcbIndexPrintPathCA}[1]{\tcb at Index@Print at CA{#1}{\kvtcb at col@path}{\kvtcb at text@path}}
 \newrobustcmd{\tcbIndexPrintPathC}[1]{\tcb at Index@Print at C{#1}{\kvtcb at col@path}}
-\def\tcb at Print@Path#1{\textcolor{\kvtcb at col@path}{\tcb at doc@bfseries\tcb at scantokens{#1}}}
 
 \newrobustcmd{\tcbIndexPrintValCA}[1]{\tcb at Index@Print at CA{#1}{\kvtcb at col@value}{\kvtcb at text@value}}
 \newrobustcmd{\tcbIndexPrintValC}[1]{\tcb at Index@Print at C{#1}{\kvtcb at col@value}}
-\def\tcb at Print@Val#1{\textcolor{\kvtcb at col@value}{\tcb at doc@bfseries\tcb at scantokens{#1}}}
 
 \newrobustcmd{\tcbIndexPrintColCA}[1]{\tcb at Index@Print at CA{#1}{\kvtcb at col@color}{\kvtcb at text@color}}
 \newrobustcmd{\tcbIndexPrintColC}[1]{\tcb at Index@Print at C{#1}{\kvtcb at col@color}}
-\def\tcb at Print@Col#1{\textcolor{\kvtcb at col@color}{\tcb at doc@bfseries\tcb at scantokens{#1}}}
 
 \newrobustcmd{\tcbIndexPrintCountCA}[1]{\tcb at Index@Print at CA{#1}{\kvtcb at col@counter}{\kvtcb at text@counter}}
 \newrobustcmd{\tcbIndexPrintCountC}[1]{\tcb at Index@Print at C{#1}{\kvtcb at col@counter}}
-\def\tcb at Print@Count#1{\textcolor{\kvtcb at col@counter}{\tcb at doc@bfseries\tcb at scantokens{#1}}}
 
 \newrobustcmd{\tcbIndexPrintLenCA}[1]{\tcb at Index@Print at ComCA{#1}{\kvtcb at col@length}{\kvtcb at text@length}}
 \newrobustcmd{\tcbIndexPrintLenC}[1]{\tcb at Index@Print at ComC{#1}{\kvtcb at col@length}}
-\def\tcb at Print@Len#1{\textcolor{\kvtcb at col@length}{\tcb at doc@bfseries\tcb at cs{#1}}}
 
-\def\tcb at index@Com#1{\iftcb at doc@toindex\kvtcb at index@command{#1\idx at actual\tcbIndexPrintComC{#1}}\fi}
-\def\tcb at index@Env#1{\iftcb at doc@toindex\kvtcb at index@command{#1\idx at actual\tcbIndexPrintEnvCA{#1}}\kvtcb at index@command{\kvtcb at text@envs\idx at level#1\idx at actual\tcbIndexPrintEnvC{#1}}\fi}
-\def\tcb at index@Key#1{\iftcb at doc@toindex\kvtcb at index@command{#1\idx at actual\tcbIndexPrintKeyCA{#1}}\kvtcb at index@command{\kvtcb at text@keys\idx at level#1\idx at actual\tcbIndexPrintKeyC{#1}}\fi}%
-\def\tcb at index@KeyPath#1#2{\iftcb at doc@toindex\kvtcb at index@command{#2\idx at actual\tcbIndexPrintKeyCA{#2}}\kvtcb at index@command{\kvtcb at text@keys\idx at level#1\idx at actual\tcbIndexPrintKeyC{/#1/}\idx at level#2\idx at actual\tcbIndexPrintKeyC{#2}}\fi}%
-\def\tcb at index@Path#1{\iftcb at doc@toindex\kvtcb at index@command{#1\idx at actual\tcbIndexPrintPathCA{#1}}\kvtcb at index@command{\kvtcb at text@paths\idx at level#1\idx at actual\tcbIndexPrintPathC{#1}}\fi}
-\def\tcb at index@Val#1{\iftcb at doc@toindex\kvtcb at index@command{#1\idx at actual\tcbIndexPrintValCA{#1}}\kvtcb at index@command{\kvtcb at text@values\idx at level#1\idx at actual\tcbIndexPrintValC{#1}}\fi}
-\def\tcb at index@Col#1{\iftcb at doc@toindex\kvtcb at index@command{#1\idx at actual\tcbIndexPrintColCA{#1}}\kvtcb at index@command{\kvtcb at text@colors\idx at level#1\idx at actual\tcbIndexPrintColC{#1}}\fi}
-\def\tcb at index@Count#1{\iftcb at doc@toindex\kvtcb at index@command{#1\idx at actual\tcbIndexPrintCountCA{#1}}\kvtcb at index@command{\kvtcb at text@counters\idx at level#1\idx at actual\tcbIndexPrintCountC{#1}}\fi}
-\def\tcb at index@Len#1{\iftcb at doc@toindex\kvtcb at index@command{#1\idx at actual\tcbIndexPrintLenCA{#1}}\kvtcb at index@command{\kvtcb at text@lengths\idx at level#1\idx at actual\tcbIndexPrintLenC{#1}}\fi}
 
-\def\brackets#1{{\ttfamily\char`\{}#1{\ttfamily\char`\}}}
-
 \newenvironment{tcb at manual@entry}{\begin{list}{}{%
   \setlength{\leftmargin}{\kvtcb at doc@left}%
   \setlength{\itemindent}{0pt}%
@@ -313,121 +306,506 @@
   \setlength{\rightmargin}{\kvtcb at doc@right}%
   }\item}{\end{list}}
 
-\def\tcb at manual@top#1{\itemsep=0pt\parskip=0pt\item\strut{#1}\par\topsep=0pt}
-
 \def\tcb at doc@do at description{%
-  \ifx\kvtcb at doc@description\@empty\else\tcblower\raggedleft(\kvtcb at doc@description)\fi%
+  \ifx\kvtcb at doc@description\@empty\else\tcblower\raggedleft\strut(\kvtcb at doc@description)\strut\fi%
 }
 
 \newtcolorbox{tcb at doc@head}[1]{blank,colback=white,colframe=white,
   code={\tcbdimto\tcb at temp@grow at left{-\kvtcb at doc@indentleft}%
         \tcbdimto\tcb at temp@grow at right{-\kvtcb at doc@indentright}},
-  grow to left by=\tcb at temp@grow at left,%
+  grow to left by=\tcb at temp@grow at left,
   grow to right by=\tcb at temp@grow at right,
   sidebyside,sidebyside align=top,
   sidebyside gap=-\tcb at w@upper at real,
-  phantom=\phantomsection,%
-  enlarge bottom by=-0.2\baselineskip,#1}
+  phantom=\phantomsection,#1}
 
+
+\ExplSyntaxOn
+
+
+\cs_new_nopar:Npn \__tcobox_sanitize_tl:n #1
+  {
+    \group_begin:
+    \tl_rescan:nn
+      {
+        \char_set_catcode_letter:N \_
+        \char_set_catcode_letter:N \@
+      }
+      {
+        #1
+      }
+    \group_end:
+  }
+\cs_generate_variant:Nn \__tcobox_sanitize_tl:n { V }
+
+
+\cs_new_nopar:Npn \__tcobox_print_docname:
+  {
+    \texttt{\tcb at doc@bfseries\__tcobox_sanitize_tl:V\kvtcb at doc@name}
+  }
+
+\cs_new_nopar:Npn \__tcobox_print_cs_docname:
+  {
+    \texttt{\tcb at doc@bfseries\c_backslash_str\__tcobox_sanitize_tl:V\kvtcb at doc@name}
+  }
+
+
+\NewDocumentCommand \tcb at scantokens { m }
+  {
+    \texttt{\__tcobox_sanitize_tl:n{#1}}
+  }
+
+\NewDocumentCommand \tcb at cs { m }
+  {
+    \texttt{\c_backslash_str\__tcobox_sanitize_tl:n{#1}}
+  }
+
+
 % main documentation environments
-\newenvironment{docCommand}[3][]{\tcbset{doc label={#2},#1}%
-  \begin{tcb at manual@entry}%
-  \begin{tcb at doc@head}{doc at head@command}%
-  \tcb at Print@Com{#2}\tcb at index@Com{#2}\protected at edef\@currentlabel{\noexpand\tcb at cs{#2}}\label{com:\kvtcb at doc@label}{\ttfamily #3}%
-  \tcb at doc@do at description%
-  \end{tcb at doc@head}\nobreak\tcbset{before upper=}\kvtcb at doc@body at command@before\ignorespaces}%
-  {\ifvmode\else\unskip\fi\kvtcb at doc@body at command@after\end{tcb at manual@entry}}
 
-\newenvironment{docCommand*}{\bgroup\tcb at doc@toindexfalse\begin{docCommand}}{\end{docCommand}\egroup}
+\seq_new:N \g__tcobox_label_seq
 
-\newenvironment{docEnvironment}[3][]{\tcbset{doc label={#2},#1}%
-  \begin{tcb at manual@entry}%
-  \begin{tcb at doc@head}{doc at head@environment}%
-  \strut\cs{begin}\brackets{\tcb at Print@Env{#2}}\tcb at index@Env{#2}\protected at edef\@currentlabel{#2}\label{env:\kvtcb at doc@label}{\ttfamily #3}\par%
-  \strut~~\meta{\kvtcb at text@envcontent}\par%
-  \strut\cs{end}\brackets{\tcb at Print@Env{#2}}%
-  \tcb at doc@do at description%
-  \end{tcb at doc@head}\nobreak\tcbset{before upper=}\kvtcb at doc@body at environment@before\ignorespaces}%
-  {\ifvmode\else\unskip\fi\kvtcb at doc@body at environment@after\end{tcb at manual@entry}}
 
-\newenvironment{docEnvironment*}{\bgroup\tcb at doc@toindexfalse\begin{docEnvironment}}{\end{docEnvironment}\egroup}
+\cs_new:Npn \__tcobox_doc_entry_begin:nnn #1#2#3
+  {
+    \tcbset{doc~name=, doc~parameter=, doc~description=, #1}
+    \begin{tcb at manual@entry}
+    \seq_clear: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_put_left:Nn \l_tmpa_seq {}
+    }
+    \seq_map_inline:Nn \l_tmpa_seq
+      {
+        \group_begin:
+        \tcbset{##1}
+        \begin{tcb at doc@head}{doc at head@#3}
+        \strut
+        \use:c { __tcobox_doc_head_#3: }
+        \strut
+        \end{tcb at doc@head}
+        \group_end:
+      }
+    \end{tcbraster}
+    \seq_clear:N \g__tcobox_label_seq
+    \nobreak
+    \tcbset{before~upper=}
+    \use:c { kvtcb at doc@body@#3 at before }
+    \ignorespaces
+  }
 
-\NewDocumentEnvironment{docKey}{ O{} +O{} m m +m }{\tcbset{doc label={#3},#2,doc description={#5}}%
-  \begin{tcb at manual@entry}%
-  \begin{tcb at doc@head}{doc at head@key}%
-  \ifblank{#1}{%
-    \tcb at Print@Key{#3}\tcb at index@Key{#3}\protected at edef\@currentlabel{#3}\label{key:\kvtcb at doc@label}{\ttfamily #4}%
-  }{%
-    \tcb at Print@Key{/#1/#3}%
-    \tcb at index@KeyPath{#1}{#3}\protected at edef\@currentlabel{/#1/#3}\label{key:/#1/\kvtcb at doc@label}{\ttfamily #4}%
-  }%
-  \tcb at doc@do at description%
-  \end{tcb at doc@head}\nobreak\tcbset{before upper=}\kvtcb at doc@body at key@before\ignorespaces}%
-  {\ifvmode\else\unskip\fi\kvtcb at doc@body at key@after\end{tcb at manual@entry}}
 
-\newenvironment{docKey*}{\bgroup\tcb at doc@toindexfalse\begin{docKey}}{\end{docKey}\egroup}
+\cs_new:Npn \__tcobox_doc_entry_end:n #1
+  {
+    \ifvmode\else\unskip\fi
+    \use:c { kvtcb at doc@body@#1 at after }
+    \end{tcb at manual@entry}
+  }
 
-\def\tcbmakedocSubKey#1#2{%
-  \NewDocumentEnvironment{#1}{ O{} +O{} m m +m }{%
-    \ifblank{##1}{\def\tcb at key@path{#2}}{\def\tcb at key@path{#2/##1}}%
-    \begin{docKey}[\tcb at key@path][##2]{##3}{##4}{##5}}%
-      {\end{docKey}}%
-  \newenvironment{#1*}{\bgroup\tcb at doc@toindexfalse\begin{#1}}{\end{#1}\egroup}%
-}
 
-\newenvironment{docPathOperation}[3][]{\tcbset{doc label={#2},#1}%
-  \begin{tcb at manual@entry}%
-  \begin{tcb at doc@head}{doc at head@path}%
-  \colFade{\tcb at cs{path ...}}\
-  \tcb at Print@Path{#2}\tcb at index@Path{#2}\protected at edef\@currentlabel{#2}\label{path:\kvtcb at doc@label}{\ttfamily #3}%
-  \ \colFade{\tcb at scantokens{...;}}
-  \tcb at doc@do at description%
-  \end{tcb at doc@head}\nobreak\tcbset{before upper=}\kvtcb at doc@body at path@before\ignorespaces}%
-  {\ifvmode\else\unskip\fi\kvtcb at doc@body at path@after\end{tcb at manual@entry}}
+\cs_new_nopar:Npn \__tcobox_print_command:
+  {
+    \textcolor{\kvtcb at col@command}{\__tcobox_print_cs_docname:}
+  }
 
-\newenvironment{docPathOperation*}{\bgroup\tcb at doc@toindexfalse\begin{docPathOperation}}{\end{docPathOperation}\egroup}
+\cs_new_nopar:Npn \__tcobox_index_command:
+  {
+    \iftcb at doc@toindex
+      \kvtcb at index@command{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintComC{\kvtcb at doc@index}}
+    \fi
+  }
 
-\DeclareDocumentCommand\docAuxCommand{sm}{%
-  \tcb at Print@Com{#2}%
-  \IfBooleanTF{#1}{}{\tcb at index@Com{#2}}%
-}
+\cs_new:Npn \__tcobox_doc_head_command:
+  {
+    \__tcobox_print_command:
+    \__tcobox_index_command:
+    \seq_if_in:NVF \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
+      }
+    {\ttfamily\kvtcb at doc@parameter}
+    \tcb at doc@do at description
+  }
 
-\DeclareDocumentCommand\docAuxEnvironment{sm}{%
-  \tcb at Print@Env{#2}%
-  \IfBooleanTF{#1}{}{\tcb at index@Env{#2}}%
-}
 
-\DeclareDocumentCommand\docAuxKey{sO{}m}{%
-  \ifblank{#2}{%
-    \tcb at Print@Key{#3}%
-    \IfBooleanTF{#1}{}{\tcb at index@Key{#3}}%
-  }{%
-    \tcb at Print@Key{/#2/#3}%
-    \IfBooleanTF{#1}{}{\tcb at index@KeyPath{#2}{#3}}%
-}}
+\NewDocumentEnvironment{docCommands}{ +O{} +m }
+  {
+    \__tcobox_doc_entry_begin:nnn {#1}{#2}{command}
+  }
+  {
+    \__tcobox_doc_entry_end:n { command }
+  }
 
-\DeclareDocumentCommand\docColor{sm}{%
-  \tcb at Print@Col{#2}%
-  \IfBooleanTF{#1}{}{\tcb at index@Col{#2}}%
-}
 
-\DeclareDocumentCommand\docCounter{sm}{%
-  \tcb at Print@Count{#2}%
-  \IfBooleanTF{#1}{}{\tcb at index@Count{#2}}%
-}
+\NewDocumentEnvironment{docCommand}{ +O{} m +m }
+  {
+    \__tcobox_doc_entry_begin:nnn {doc~name={#2},doc~parameter={#3},#1}{}{command}
+  }
+  {
+    \__tcobox_doc_entry_end:n { command }
+  }
 
-\DeclareDocumentCommand\docLength{sm}{%
-  \tcb at Print@Len{#2}%
-  \IfBooleanTF{#1}{}{\tcb at index@Len{#2}}%
-}
 
-\DeclareDocumentCommand\docValue{sm}{%
-  \tcb at Print@Val{#2}%
-  \IfBooleanTF{#1}{}{\tcb at index@Val{#2}}%
-}
+\NewDocumentEnvironment{docCommand*}{}
+  {
+    \group_begin:
+    \tcb at doc@toindexfalse
+    \begin{docCommand}
+  }
+  {
+    \end{docCommand}
+    \group_end:
+  }
 
+
+\cs_new_nopar:Npn \__tcobox_print_environment:
+  {
+    \textcolor{\kvtcb at col@environment}{\__tcobox_print_docname:}
+  }
+
+\cs_new_nopar:Npn \__tcobox_index_environment:
+  {
+    \iftcb at doc@toindex
+      \kvtcb at index@command{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintEnvCA{\kvtcb at doc@index}}
+      \kvtcb at index@command{\kvtcb at text@envs\idx at level\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintEnvC{\kvtcb at doc@index}}
+    \fi
+  }
+
+\cs_new:Npn \__tcobox_doc_head_environment:
+  {
+    \strut\cs{begin}\brackets{\__tcobox_print_environment:}
+    \__tcobox_index_environment:
+    \seq_if_in:NVF \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
+      }
+    {\ttfamily\kvtcb at doc@parameter}\par
+    \strut\nobreakspace\nobreakspace\meta{\kvtcb at text@envcontent}\par
+    \strut\cs{end}\brackets{\__tcobox_print_environment:}
+    \tcb at doc@do at description
+  }
+
+
+\NewDocumentEnvironment{docEnvironments}{ +O{} +m }
+  {
+    \__tcobox_doc_entry_begin:nnn {#1}{#2}{environment}
+  }
+  {
+    \__tcobox_doc_entry_end:n { environment }
+  }
+
+
+\NewDocumentEnvironment{docEnvironment}{ +O{} m +m }
+  {
+    \__tcobox_doc_entry_begin:nnn {doc~name={#2},doc~parameter={#3},#1}{}{environment}
+  }
+  {
+    \__tcobox_doc_entry_end:n { environment }
+  }
+
+
+\NewDocumentEnvironment{docEnvironment*}{}
+  {
+    \group_begin:
+    \tcb at doc@toindexfalse
+    \begin{docEnvironment}
+  }
+  {
+    \end{docEnvironment}
+    \group_end:
+  }
+
+
+\cs_new_nopar:Npn \__tcobox_print_key:
+  {
+    \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/
+      }
+    \__tcobox_sanitize_tl:V\kvtcb at doc@name}
+  }
+
+\cs_new_nopar:Npn \__tcobox_index_key:
+  {
+    \iftcb at doc@toindex
+      \kvtcb at index@command{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintKeyCA{\kvtcb at doc@index}}
+      \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 text@keys\idx at level\kvtcb at doc@keypath\idx at actual\tcbIndexPrintKeyC{/\kvtcb at doc@keypath/}
+            \idx at level\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintKeyC{\kvtcb at doc@index}}
+        }
+    \fi
+  }
+
+\cs_new:Npn \__tcobox_doc_head_key:
+  {
+    \__tcobox_print_key:
+    \__tcobox_index_key:
+    \tl_if_empty:NTF \kvtcb at doc@keypath
+      {
+        \seq_if_in:NVF \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
+          }
+      }
+      {
+        \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
+          {
+            \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
+          }
+      }
+    {\ttfamily\kvtcb at doc@parameter}
+    \tcb at doc@do at description
+  }
+
+
+\NewDocumentEnvironment{docKeys}{ +O{} +m }
+  {
+    \__tcobox_doc_entry_begin:nnn {doc~keypath=,#1}{#2}{key}
+  }
+  {
+    \__tcobox_doc_entry_end:n { key }
+  }
+
+
+\NewDocumentEnvironment{docKey}{ O{} +O{} m m +m }
+  {
+    \__tcobox_doc_entry_begin:nnn
+      {
+        doc~keypath=#1,doc~name={#3},doc~parameter={#4},doc~description={#5},#2
+      }
+      {}{key}
+  }
+  {
+    \__tcobox_doc_entry_end:n { key }
+  }
+
+
+\NewDocumentEnvironment{docKey*}{}
+  {
+    \group_begin:
+    \tcb at doc@toindexfalse
+    \begin{docKey}
+  }
+  {
+    \end{docKey}
+    \group_end:
+  }
+
+
+\NewDocumentCommand \tcbmakedocSubKey { m m }
+  {
+    \NewDocumentEnvironment{#1}{ O{} +O{} m m +m }
+      {
+        \__tcobox_doc_entry_begin:nnn
+          {
+            doc at sub@keypath=#2,
+            doc~keypath=##1,
+            doc~name={##3},
+            doc~parameter={##4},
+            doc~description={##5},
+            ##2
+          }
+          {}{key}
+      }
+      {
+        \__tcobox_doc_entry_end:n { key }
+      }
+    \NewDocumentEnvironment{#1*}{}
+      {
+        \group_begin:
+        \tcb at doc@toindexfalse
+        \begin{#1}
+      }
+      {
+        \end{#1}
+        \group_end:
+      }
+  }
+
+
+\NewDocumentCommand \tcbmakedocSubKeys { m m }
+  {
+    \NewDocumentEnvironment{#1}{ +O{} +m }
+      {
+        \__tcobox_doc_entry_begin:nnn
+          {
+            doc at sub@keypath=#2,
+            doc~keypath=,
+            ##1
+          }
+          {##2}{key}
+      }
+      {
+        \__tcobox_doc_entry_end:n { key }
+      }
+  }
+
+
+\cs_new_nopar:Npn \__tcobox_print_path:
+  {
+    \textcolor{\kvtcb at col@path}{\__tcobox_print_docname:}
+  }
+
+\cs_new_nopar:Npn \__tcobox_index_path:
+  {
+    \iftcb at doc@toindex
+      \kvtcb at index@command{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintPathCA{\kvtcb at doc@index}}
+      \kvtcb at index@command{\kvtcb at text@paths\idx at level\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintPathC{\kvtcb at doc@index}}
+    \fi
+  }
+
+\cs_new:Npn \__tcobox_doc_head_path:
+  {
+    \colFade{\tcb at cs{path~...}}~\__tcobox_print_path:
+    \__tcobox_index_path:
+    \seq_if_in:NVF \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
+      }
+    {\ttfamily\kvtcb at doc@parameter{}~\colFade{...;}}
+    \tcb at doc@do at description
+  }
+
+
+\NewDocumentEnvironment{docPathOperations}{ +O{} +m }
+  {
+    \__tcobox_doc_entry_begin:nnn {#1}{#2}{path}
+  }
+  {
+    \__tcobox_doc_entry_end:n { path }
+  }
+
+
+\NewDocumentEnvironment{docPathOperation}{ +O{} m +m }
+  {
+    \__tcobox_doc_entry_begin:nnn {doc~name={#2},doc~parameter={#3},#1}{}{path}
+  }
+  {
+    \__tcobox_doc_entry_end:n { path }
+  }
+
+
+\NewDocumentEnvironment{docPathOperation*}{}
+  {
+    \group_begin:
+    \tcb at doc@toindexfalse
+    \begin{docPathOperation}
+  }
+  {
+    \end{docPathOperation}
+    \group_end:
+  }
+
+
+\NewDocumentCommand \docAuxCommand { s +O{} m }
+  {
+    \group_begin:
+    \tcbset{doc~name={#3},#2}
+    \__tcobox_print_command:
+    \IfBooleanF{#1}{\__tcobox_index_command:}
+    \group_end:
+  }
+
+\NewDocumentCommand \docAuxEnvironment { s +O{} m }
+  {
+    \group_begin:
+    \tcbset{doc~name={#3},#2}
+    \__tcobox_print_environment:
+    \IfBooleanF{#1}{\__tcobox_index_environment:}
+    \group_end:
+  }
+
+
+\NewDocumentCommand \docAuxKey { s O{} +O{} m }
+  {
+    \group_begin:
+    \tcbset{doc~keypath={#2},doc~name={#4},#3}
+    \__tcobox_print_key:
+    \IfBooleanF{#1}{\__tcobox_index_key:}
+    \group_end:
+  }
+
+
+\NewDocumentCommand \docValue { s +O{} m }
+  {
+    \group_begin:
+    \tcbset{doc~name={#3},#2}
+    \textcolor{\kvtcb at col@value}{\__tcobox_print_docname:}
+    \IfBooleanF{#1}
+      {
+        \kvtcb at index@command{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintValCA{\kvtcb at doc@index}}
+        \kvtcb at index@command{\kvtcb at text@values\idx at level\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintValC{\kvtcb at doc@index}}
+      }
+    \group_end:
+  }
+
+
+\NewDocumentCommand \docColor { s +O{} m }
+  {
+    \group_begin:
+    \tcbset{doc~name={#3},#2}
+    \textcolor{\kvtcb at col@color}{\__tcobox_print_docname:}
+    \IfBooleanF{#1}
+      {
+        \kvtcb at index@command{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintColCA{\kvtcb at doc@index}}
+        \kvtcb at index@command{\kvtcb at text@colors\idx at level\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintColC{\kvtcb at doc@index}}
+      }
+    \group_end:
+  }
+
+
+\NewDocumentCommand \docCounter { s +O{} m }
+  {
+    \group_begin:
+    \tcbset{doc~name={#3},#2}
+    \textcolor{\kvtcb at col@counter}{\__tcobox_print_docname:}
+    \IfBooleanF{#1}
+      {
+        \kvtcb at index@command{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintCountCA{\kvtcb at doc@index}}
+        \kvtcb at index@command{\kvtcb at text@counters\idx at level\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintCountC{\kvtcb at doc@index}}
+      }
+    \group_end:
+  }
+
+
+\NewDocumentCommand \docLength { s +O{} m }
+  {
+    \group_begin:
+    \tcbset{doc~name={#3},#2}
+    \textcolor{\kvtcb at col@length}{\__tcobox_print_cs_docname:}
+    \IfBooleanF{#1}
+      {
+        \kvtcb at index@command{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintLenCA{\kvtcb at doc@index}}
+        \kvtcb at index@command{\kvtcb at text@lengths\idx at level\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintLenC{\kvtcb at doc@index}}
+      }
+    \group_end:
+  }
+
+
+\ExplSyntaxOff
+
+
 \setrefcountdefault{-1}
-\DeclareDocumentCommand\tcb at ref@doc{msm}{%
+\NewDocumentCommand\tcb at ref@doc{msm}{%
   \hyperref[#1:#3]{\texttt{\ref*{#1:#3}}%
   \IfBooleanTF{#2}{}{%
     \ifnum\getpagerefnumber{#1:#3}=\thepage%
@@ -441,8 +819,15 @@
 \def\refKey{\tcb at ref@doc{key}}
 \def\refPathOperation{\tcb at ref@doc{path}}
 
-\def\refAux#1{\textcolor{\kvtcb at colhyper}{\tcb at scantokens{#1}}}
-\def\refAuxcs#1{\textcolor{\kvtcb at colhyper}{\tcb at cs{#1}}}
+\AtBeginDocument{%
+  \ifHy at colorlinks
+    \def\refAux#1{\textcolor{\kvtcb at colhyper}{\tcb at scantokens{#1}}}%
+    \def\refAuxcs#1{\textcolor{\kvtcb at colhyper}{\tcb at cs{#1}}}%
+  \else
+    \def\refAux#1{\tcb at scantokens{#1}}%
+    \def\refAuxcs#1{\tcb at cs{#1}}%
+  \fi%
+}
 
 \newenvironment{absquote}
                {\list{}{\leftmargin2cm\rightmargin\leftmargin}%
@@ -496,8 +881,20 @@
 \let\tcb at doc@index at pgf=\tcb at doc@index at pgfsection%
 
 \def\tcb at doc@index at doc{%
-  \let\tcb at index@Com=\SpecialMainIndex%%
-  \let\tcb at index@Env=\SpecialMainEnvIndex%
+  \ExplSyntaxOn
+  \def \__tcobox_index_command:
+  {
+    \iftcb at doc@toindex
+      \SpecialMainIndex{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintComC{\kvtcb at doc@index}}
+    \fi
+  }
+  \def \__tcobox_index_environment:
+  {
+    \iftcb at doc@toindex
+      SpecialMainEnvIndex{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintEnvC{\kvtcb at doc@index}}
+    \fi
+  }
+  \ExplSyntaxOff
   \tcbset{index german settings}%
   \EnableCrossrefs%
   \PageIndex%
@@ -507,19 +904,19 @@
 
 \tcbset{%
   reset at documentation/.style={%
-    },
-  documentation listing style=tcbdocumentation,
+  },
+  initialize at reset=reset at documentation,
   doc left=2em,
   doc right=0pt,
   doc left indent=-2em,
   doc right indent=0pt,
   doc head=,
+  doc raster=,
   before doc body=,
   after doc body=,
-  doc description=,
+  documentation listing style=tcbdocumentation,
   doc into index=true,
   doc marginnote=,
-  initialize at reset=reset at documentation,
   color option=Option,
   color definition=Definition,
   color hyperlink=Hyperlink,

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcbexternal.code.tex: Code for externalization
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \tcbuselibrary{pro at cessing}
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcbfitting.code.tex: Code for fit boxes
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \newdimen\tcbfitdim
 \newdimen\tcb at lowerfitdim

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcbhooks.code.tex: Code for adding hooks
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \tcbset{%
   before upper app/.code={\appto\kvtcb at before@upper{#1}},%

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcblistings.code.tex: Code for colorboxes with listings
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \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	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \tcbuselibrary{pro at cessing}
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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,11 +17,22 @@
 %%
 %% This work consists of all files listed in README
 %%
-\tcb at set@library at version{4.22}
+\tcb at set@library at version{4.30}
 
-\RequirePackage{listingsutf8}[2011/11/10]
 \tcbuselibrary{listings}
 
+\RequirePackage{iftex}
+\ifpdftex
+  \let\tcb at temp\relax%
+\else
+  \tcb at info{Library `listingsutf8' is compatible with pdftex only.
+            Library `listings` is loaded instead.}%
+  \let\tcb at temp\endinput
+\fi
+\tcb at temp
+
+\RequirePackage{listingsutf8}[2011/11/10]
+
 \tcbset{
   listing utf8/.style={listing inputencoding=utf8/#1},
 }

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcbmagazine.code.tex: Code for box sets and magazine styles
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \tcbuselibrary{breakable}
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcbminted.code.tex: Code for colorboxes with listings
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \RequirePackage{minted}[2011/09/17]
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcbposter.code.tex: Code for posters
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \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	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcbprocessing.code.tex: Code for conditional processing
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \RequirePackage{pdftexcmds}
 \RequirePackage{shellesc}

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \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	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcbskins.code.tex: Code for colorboxes with different skins
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \RequirePackage{tikz}[2010/10/13]
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \tcbuselibrary{skins}
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcbtheorems.code.tex: Code for theorems in colorboxes
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \RequirePackage{amsmath}
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcbvignette.code.tex: Code for ornamental frames
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \tcbuselibrary{skins}
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcbxparse.code.tex: Code for xparse features
 %%
 %% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 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{4.22}
+\tcb at set@library at version{4.30}
 
 \RequirePackage{xparse}[2013/12/31]
 

Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty	2020-04-28 21:11:08 UTC (rev 54927)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty	2020-04-28 21:11:42 UTC (rev 54928)
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.22 (2019/11/15)
+%% The LaTeX package tcolorbox - version 4.30 (2020/04/28)
 %% tcolorbox.sty: Text color boxes
 %%
 %% -------------------------------------------------------------------------------------------
@@ -18,8 +18,8 @@
 %% This work consists of all files listed in README
 %%
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tcolorbox}[2019/11/15 version 4.22 text color boxes]
-\def\tcb at version{4.22}
+\ProvidesPackage{tcolorbox}[2020/04/28 version 4.30 text color boxes]
+\def\tcb at version{4.30}
 
 \RequirePackage{pgf}[2008/01/15]
 \RequirePackage{verbatim}[2003/08/22]
@@ -50,8 +50,9 @@
 
 \newcounter{tcbbreakpart}
 \newcounter{tcblayer}
-\newcount\tcolorbox at number
+\newcounter{tcolorbox at number}
 
+\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}}
 
@@ -289,12 +290,12 @@
   parskip/.style={before={\ifnum\lastnodetype=-1\relax\else\par%
       \ifvmode\edef\tcb at prevdepth{\the\glueexpr\prevdepth+\lineskip+\parskip}%
       \def\tcb at undo@before{\addvspace{-\glueexpr\tcb at prevdepth}}%
-      \pagebreak[0]\fi\fi\parindent\z@},
+      \pagebreak[0]\fi\fi\noindent},
     after={\tcb at parfillskip@check\par}},
   noparskip/.style={before={\ifnum\lastnodetype=-1\relax\else\par%
       \ifvmode\edef\tcb at prevdepth{\the\glueexpr\prevdepth+\lineskip}%
       \def\tcb at undo@before{\addvspace{-\glueexpr\smallskipamount+\tcb at prevdepth}}%
-      \pagebreak[0]\smallskip\fi\fi\parindent\z@},
+      \pagebreak[0]\smallskip\fi\fi\noindent},
     after={\tcb at parfillskip@check\par\smallskip}},
   nobeforeafter/.style={before=,after=},
   force nobeforeafter/.code={\tcbset at late@options{nobeforeafter}},
@@ -973,14 +974,18 @@
   \Collect at Body\tcbox at inner@hbox at collected%
 }
 
+% save 'comment' from 'verbatim'
+\let\tcb at verbatim@comment\comment
+\let\tcb at verbatim@endcomment\endcomment
+
 \def\tcb@@end at v@@d{%
-  \endcomment%
+  \tcb at verbatim@endcomment%
   \tcb at layer@dec%
 }
 
 \def\tcb@@capture at v@@d{%
   \let\endtcolorbox\tcb@@end at v@@d%
-  \comment%
+  \tcb at verbatim@comment%
 }
 
 \long\def\tcbox at inner@hbox at collected#1{%
@@ -989,8 +994,8 @@
 }
 
 \def\tcb at count@boxes{%
-  \global\advance\tcolorbox at number by 1\relax%
-  \edef\thetcolorboxnumber{\number\tcolorbox at number}%
+  \global\advance\c at tcolorbox@number by 1\relax%
+  \edef\thetcolorboxnumber{\number\c at tcolorbox@number}%
   \expandafter\ifx\csname tcolorboxpage@\thetcolorboxnumber\endcsname\relax%
     \edef\thetcolorboxpage{\number\c at page}%
   \else%
@@ -1000,8 +1005,6 @@
 
 \def\tcolorbox at label{\@newl at bel{tcolorboxpage}}%
 
-%\write\@auxout{\string\providecommand\string\tcolorbox at label[2]{}}%
-
 \def\tcolorbox at savepage#1{%
     \@bsphack%
     \write\@auxout{\string\tcolorbox at label{#1}{\number\c at page}}%
@@ -1074,7 +1077,7 @@
 
 \def\tcb at layer@pushup{%
   \tcb at count@boxes%
-  \global\advance\tcolorbox at number by -1\relax%
+  \global\advance\c at tcolorbox@number by -1\relax%
   \stepcounter{tcblayer}%
   \ifnum\c at tcblayer>1%
     \tcbset{breakable at true/.code=}%



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