texlive[63694] Master/texmf-dist: tcolorbox (22jun22)
commits+karl at tug.org
commits+karl at tug.org
Wed Jun 22 22:56:47 CEST 2022
Revision: 63694
http://tug.org/svn/texlive?view=revision&revision=63694
Author: karl
Date: 2022-06-22 22:56:47 +0200 (Wed, 22 Jun 2022)
Log Message:
-----------
tcolorbox (22jun22)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md
trunk/Master/texmf-dist/doc/latex/tcolorbox/README.md
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.pdf
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.pdf
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.sidebyside.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skincatalog.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.xparse.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md 2022-06-22 20:56:47 UTC (rev 63694)
@@ -22,6 +22,59 @@
+## [5.1.0] - 2022-06-22
+
+### Added
+- Options wrapping `\tl_if_blank:nTF` and `\tl_if_empty:nTF` (issue #179)
+ - Option `IfBlankTF`
+ - Option `IfBlankT`
+ - Option `IfBlankF`
+ - Option `IfEmptyTF`
+ - Option `IfEmptyT`
+ - Option `IfEmptyF`
+- Options to insert code at begin and end of floats (issue #172)
+ - Option `before float`
+ - Option `after float`
+ - Option `before float app`
+ - Option `before float pre`
+ - Option `after float app`
+ - Option `after float pre`
+- Library `skins`: overlap of lower part for `bicolor`, `tile`, and `beamer`
+ made configurable (issue #166) by
+ - Option `overlaplower`
+ - `\tcboverlaplower`
+- Library `documentation`: package warning, if `imakeidx` is loaded after the
+ library is loaded (issue #173)
+- Library `documentation`: gather index LaTeX macros and configure gathering (issue #174)
+ - Option `doclang/commands`
+ - Option `index gather colors`
+ - Option `index gather commands`
+ - Option `index gather counters`
+ - Option `index gather environments`
+ - Option `index gather keys`
+ - Option `index gather lengths`
+ - Option `index gather paths`
+ - Option `index gather values`
+ - Option `index gather all`
+ - Option `index gather none`
+
+### Changed
+- Required latex2e specified `\NeedsTeXFormat{LaTeX2e}[2020/10/01]` (issue #170)
+- Documentation: comment `default setting` for `every box on higher layers` (issue #168)
+- Documentation: hyperlinking keys and commands where not already done inside
+ the listings section (part of issue #175)
+- All contents of library `xparse` are moved to the `tcolorbox` main package and
+ to libraries `listings` and `fitting` respectively. `xparse` now only loads
+ the package `xparse` (issue #180)
+- Internal implementation of all `\new*` commands, e.g. `\newtcolorbox` changed.
+ Note that a missing backlash for `tcbox`-like commands
+ e.g. `\newtcbox{mybox}` instead of `\newtcbox{\mybox}` is no longer tolerated.
+
+### Fixed
+- With `parbox=false`, `before skip` was ignored in inner box (issue #171)
+
+
+
## [5.0.2] - 2022-01-07
### Changed
@@ -35,7 +88,6 @@
-
## [5.0.1] - 2021-12-20
### Fixed
@@ -44,6 +96,7 @@
This also affected boxes with sidebyside content
+
## [5.0.0] - 2021-12-16
### Added
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/README.md 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/README.md 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,4 +1,4 @@
-# The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+# The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
> Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
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 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcolorbox-example-poster.tex: a poster example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcolorbox-example.tex: an example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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-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 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,9 +1,9 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcolorbox-tutorial-poster.tex: a tutorial for poster creation with tcolorbox
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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.coremacros.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -3,6 +3,7 @@
\clearpage
\section{Macros for Box Creation}%
\tcbset{external/prefix=external/coremacros_}%
+\subsection{Using \texttt{tcolorbox} and \texttt{tcbox}}\label{subsec:macros_using}
\begin{docEnvironment}{tcolorbox}{\oarg{options}}
This is the main environment to create an accentuated colored text box with
rounded corners and, optionally, two parts. The appearance of this box
@@ -146,10 +147,7 @@
\end{docCommand}
\clearpage
-\begin{marker}
-See \Vref{subsec:xparse_tcolorbox} and \Vref{subsec:xparse_tcbox} for more
-elaborate methods to create new environments and commands.
-\end{marker}
+\subsection{Producing \texttt{tcolorbox} Environments and Commands}\label{subsec:macros_tcolorbox}
\begin{docCommand}{newtcolorbox}{\oarg{init options}\marg{name}\oarg{number}\oarg{default}\marg{options}}
Creates a new environment \meta{name} based on \refEnv{tcolorbox}.
@@ -211,6 +209,115 @@
\clearpage
+
+\begin{docCommand}{DeclareTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Creates a new environment \meta{name} based on \refEnv{tcolorbox}.\\
+ Basically, |\DeclareTColorBox| operates like |\DeclareDocumentEnvironment|. This means,
+ the new environment \meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refEnv{tcolorbox}.\\
+ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
+ automatically.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new environment is always created, irrespective of an already existing
+ environment with the same name.
+
+\begin{dispExample}
+% counter from previous example
+\DeclareTColorBox[use counter from=pabox]{mybox}{ O{red} m d"" !O{} }
+ {enhanced,colframe=#1!75!black,colback=#1!5!white,
+ fonttitle=\bfseries,title={\thetcbcounter~#2},
+ IfValueT={#3}{watermark text={#3}},#4}
+
+\begin{mybox}{My title}
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}[blue]{My title}
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}[green]{My title}"My Watermark"
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}[yellow]{My title}[colbacktitle=yellow!50!white,coltitle=black]
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}[purple]{My title}"All together"[coltitle=yellow]
+This is a tcolorbox.
+\end{mybox}
+\end{dispExample}
+\end{docCommand}
+
+\clearpage
+\begin{docCommand}{NewTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTColorBox}, but based on |\NewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ An error is issued if \meta{name} has already been defined.
+\end{docCommand}
+
+\begin{docCommand}{RenewTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTColorBox}, but based on |\RenewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ An existing environment is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTColorBox}, but based on |\ProvideDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ The environment \meta{name} is only created if it is not already defined.
+\end{docCommand}
+
+
+\clearpage
+
+\begin{docCommand}{DeclareTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Creates a new command \texttt{\textbackslash}\meta{name} based on \refEnv{tcolorbox}.
+ In contrast to \refCom{DeclareTColorBox}, also the \meta{content} of the |tcolorbox| is specified.\\
+ Basically, |\DeclareTotalTColorBox| operates like |\DeclareDocumentCommand|. This means,
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refEnv{tcolorbox} which is filled with
+ the specified \meta{content}.\\
+ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
+ automatically.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+
+\begin{dispExample}
+\DeclareTotalTColorBox{\diabox}{ O{} v m }
+ { bicolor,nobeforeafter,equal height group=diabox,width=5.7cm,
+ fonttitle=\bfseries\ttfamily,adjusted title={#2},center title,
+ colframe=blue!20!black,leftupper=0mm,rightupper=0mm,colback=black!75!white,#1}
+ { \tikz\path[fill zoom image={#2}] (0,0) rectangle (\linewidth,4cm);%
+ \tcblower#3}
+
+\diabox{blueshade.png}{Created with |GIMP|.\\\url{http://www.gimp.org}}
+\diabox{goldshade.png}{Created with |GIMP|.\\\url{http://www.gimp.org}}
+
+\end{dispExample}
+\end{docCommand}
+
+\begin{docCommand}{NewTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTColorBox}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
+\end{docCommand}
+
+\begin{docCommand}{RenewTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTColorBox}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An existing command is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTColorBox}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
+\end{docCommand}
+
+
+
+\clearpage
+\subsection{Producing \texttt{tcbox} Commands}\label{subsec:macros_tcbox}
+
\begin{docCommand}{newtcbox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\oarg{number}\oarg{default}\marg{options}}
Creates a new macro \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
Basically, |\newtcbox| operates like |\newcommand|.
@@ -265,18 +372,150 @@
The \xmybox[green]{quick} brown \xmybox{fox} \xmybox[blue]{jumps} over the
\xmybox[green]{lazy} \xmybox{dog}.
\end{dispExample}
-
\end{docCommand}
-\enlargethispage*{1cm}
+\clearpage
\begin{docCommand}{renewtcbox}{\oarg{init options}\brackets{\texttt{\textbackslash}\rmfamily\meta{name}}\oarg{number}\oarg{default}\marg{options}}
Operates like \refCom{newtcbox}, but based on |\renewcommand| instead of |\newcommand|.
An existing macro is redefined.
\end{docCommand}
+
+\begin{docCommand}{DeclareTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
+ Basically, |\DeclareTCBox| operates like |\DeclareDocumentCommand|. This means,
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refCom{tcbox}.\\
+ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
+ automatically.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+
+\begin{dispExample}
+% counter from previous example
+\DeclareTCBox[use counter from=pabox]{\mybox}{ s m s }
+{ nobeforeafter,colback=red!5!white,colframe=red!75!black,
+ title={#2 (Box \thetcbcounter)},fonttitle=\bfseries,
+ IfBooleanT={#1}{enhanced,drop shadow},
+ IfBooleanT={#3}{colbacktitle=red!50!white} }
+
+\mybox{Bird}{This is my first box.}
+ \hfill
+\mybox*{Tree}{This is my second box.}
+ \par\bigskip
+\mybox{Bike}*{This is my third box.}
+ \hfill
+\mybox*{City}*{This is my fourth box.}
+\end{dispExample}
+\end{docCommand}
+
+\begin{docCommand}{NewTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBox}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
+\end{docCommand}
+
+\begin{docCommand}{RenewTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBox}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An existing command is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBox}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
+\end{docCommand}
+
+
+
\clearpage
+\begin{docCommand}{DeclareTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
+ In contrast to \refCom{DeclareTCBox}, also the \meta{content} of the |tcbox| is specified.\\
+ Basically, |\DeclareTotalTCBox| operates like |\DeclareDocumentCommand|. This means,
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refCom{tcbox} which is filled with
+ the specified \meta{content}.\\
+ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
+ automatically.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+
+\begin{dispExample}
+\DeclareTotalTCBox{\myverb}{ O{red} v !O{} }
+{ fontupper=\ttfamily,nobeforeafter,tcbox raise base,arc=0pt,outer arc=0pt,
+ top=0pt,bottom=0pt,left=0mm,right=0mm,
+ leftrule=0pt,rightrule=0pt,toprule=0.3mm,bottomrule=0.3mm,boxsep=0.5mm,
+ colback=#1!10!white,colframe=#1!50!black,#3}{#2}
+
+To set a word \textbf{bold} in \myverb{\LaTeX}, use
+\myverb[green]{\textbf{bold}}. Alternatively, write
+\myverb[yellow]{{\bfseries bold}}.
+In \myverb[blue]{\LaTeX}[enhanced,fuzzy halo], other font settings are
+done in the same way, e.\,g. \myverb{\textit}, \myverb{\itshape}\\
+or \myverb[brown]{\texttt}, \myverb[brown]{\ttfamily}.
+\end{dispExample}
+
+The next example uses |\lstinline| from the |listings| package to
+typeset the verbatim content.
+
+\begin{dispExample}
+% \usepackage{listings} or \tcbuselibrary{listings}
+\DeclareTotalTCBox{\commandbox}{ s v }
+{verbatim,colupper=white,colback=black!75!white,colframe=black}
+{\IfBooleanT{#1}{\textcolor{red}{\ttfamily\bfseries > }}%
+ \lstinline[language=command.com,keywordstyle=\color{blue!35!white}\bfseries]^#2^}
+
+\commandbox*{cd "My Documents"} changes to directory \commandbox{My Documents}.
+
+\commandbox*{dir /A} lists the directory content.
+
+\commandbox*{copy example.txt d:\target} copies \commandbox{example.txt} to
+ \commandbox{d:\target}.
+\end{dispExample}
+\end{docCommand}
+
+\clearpage
+\begin{docCommand}{NewTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTCBox}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
+\end{docCommand}
+
+\begin{docCommand}{RenewTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTCBox}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An existing command is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTCBox}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
+\end{docCommand}
+
+
+\begin{docCommand}{tcboxverb}{\oarg{options}\marg{verbatim box content}}
+ Creates a colored box based on \refCom{tcbox} which is fitted to the width of the given
+ \meta{verbatim box content}.
+ The underlying \refCom{tcbox} is styled with
+ \refKey{/tcb/verbatim} plus the given \meta{options}.
+ The difference to \refCom{tcbox} is that the \meta{verbatim box content} is
+ interpreted \textit{verbatim}. Therefore, |\tcboxverb| acts similar to |\verb|.
+
+\begin{dispExample}
+\tcboxverb{\LaTeX}, \tcboxverb[colback=blue!10!white,colupper=blue]{\LaTeX},
+\tcboxverb[blank,fuzzy halo]{\LaTeX}, \tcboxverb[beamer]{\LaTeX},
+\tcboxverb[enhanced,skin=enhancedmiddle jigsaw,colframe=red]{\LaTeX}.
+\end{dispExample}
+\end{docCommand}
+
+
+
+%\clearpage
+\subsection{Redefining other Environments (Wrapping with \texttt{tcolorbox})}\label{subsec:macros_refine}
+
\begin{docCommand}[doc new=2014-10-20]{tcolorboxenvironment}{\marg{name}\marg{options}}
An existing environment \meta{name} is redefined to be boxed inside a
|tcolorbox| with the given \meta{options}.
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -2786,9 +2786,10 @@
\end{docTcbKey}
-\begin{docTcbKey}[][doc new=2014-09-19]{every float}{=\meta{code}}{no default, initially empty}
+\begin{docTcbKey}[][doc new=2014-09-19]{every float}{=\marg{code}}{no default, initially empty}
For floating objects, the \refKey{/tcb/before} and \refKey{/tcb/after}
- settings are ignored. Instead, the given \meta{code} is inserted before
+ settings are ignored. Instead, \refKey{/tcb/before float} and \refKey{/tcb/after float}
+ can be used. Further, with \refKey{/tcb/every float}, the given \meta{code} is inserted before
a floating box. If the box is \refKey{/tcb/breakable}, the given \meta{code} is
inserted before every part of the break sequence.
The most common use case is |every float=\centering|.
@@ -2804,7 +2805,33 @@
\end{docTcbKey}
+\begin{docTcbKeys}[
+ doc parameter = {=\marg{code}},
+ doc description = {no default, initially empty},
+ doc new = 2022-06-21,
+ ]
+ {
+ {
+ doc name = before float,
+ },
+ {
+ doc name = after float,
+ }
+ }
+ For floating objects, the \refKey{/tcb/before} and \refKey{/tcb/after}
+ settings are ignored. Code can be inserted after the begin of the float
+ environment and before \refKey{/tcb/every float} with
+ \refKey{/tcb/before float} and between the end of the box and the end
+ of the float environment with \refKey{/tcb/after float}.
+ \begin{marker}
+ These options are not compatible with \refKey{/tcb/breakable} floating objects
+ and are ignored, if the box is set to be breakable.
+ \end{marker}
+\end{docTcbKeys}
+
+
+
\clearpage
\subsection{Embedding into the Surroundings}\label{subsec:surroundings}
Typically, but not necessarily, a |tcolorbox| is put inside a separate paragraph
@@ -3778,6 +3805,7 @@
Higher layers are layers above the highest
managed layer number (4 by default).
\begin{dispListing}
+% default setting:
\tcbset{every box on higher layers/.style={reset,every box}}
\end{dispListing}
\end{docTcbKey}
@@ -3791,14 +3819,12 @@
\end{docCommand}
\begin{tcboutputlisting}
-% \usepackage{lipsum}
-% \tcbuselibrary{skins,breakable}
+% \usepackage{lipsum} \tcbuselibrary{skins,breakable}
\tcbset{colframe=red!75!black,fonttitle=\bfseries,
colback=red!5!white,
every box/.style={enhanced,watermark text=\thetcblayer,
before=\par\smallskip,after=\par\smallskip},
- every box on layer 2/.style={reset,every box,colback=yellow!10!white,
- drop fuzzy shadow}}
+ every box on layer 2/.append style={colback=yellow!10!white,drop fuzzy shadow}}
\begin{tcolorbox}[enhanced jigsaw,breakable,title=Layer 1 Box]
Here comes a footnote\footnote{Footnote from layer 1 box}.
\lipsum[2]
@@ -3953,6 +3979,7 @@
\refEnv{tcbwritetemp} and \refCom{tcbusetemp} implicitely.
\end{docTcbKey}
+\clearpage
\subsection{\texttt{\textbackslash tcbox} Specials}
The following options are applicable for \refCom{tcbox} and \refCom{tcboxmath}
only.
@@ -3981,6 +4008,21 @@
The resulting box behaves analogue to |\fbox|.
\end{docTcbKey}
+\begin{docTcbKey}{verbatim}{}{style, no value}
+ Sets options for a \textit{verbatim} style \refCom{tcbox}.
+ Since the indented boxes may contain only very few words, the
+ dimensions are made smaller and \refKey{/tcb/nobeforeafter}
+ and \refKey{/tcb/tcbox raise base} are set.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\DeclareTotalTCBox{\myverb}{ v }{verbatim,
+ colframe=red!75!black,colupper=blue}{#1}
+
+\myverb{\textbf} is a \myverb{\LaTeX} command.
+\end{dispExample*}
+\end{docTcbKey}
+
+
+
\clearpage
\begin{docTcbKey}[][doc new=2015-03-23]{tcbox width}{=\meta{mode}}{no default, initially \texttt{auto}}
Controls how \refCom{tcbox} respects a \refKey{/tcb/width} setting.
@@ -4506,8 +4548,187 @@
\end{exdispExample}
\end{docTcbKey}
+\clearpage
+\begin{docTcbKeys}[doc description = {no default}, doc new = 2022-05-25 ]
+ {
+ {
+ doc name = IfBlankTF,
+ doc parameter = {=\marg{token list}\marg{true options}\marg{false options}},
+ },
+ {
+ doc name = IfBlankT,
+ doc parameter = {=\marg{token list}\marg{true options}},
+ },
+ {
+ doc name = IfBlankF,
+ doc parameter = {=\marg{token list}\marg{false options}},
+ }
+ }
+ Wraps the |\tl_if_blank:n(TF)| command(s) of \textsf{expl3} for option setting.
+ If the \meta{token list} consists only of blank spaces, the \meta{true options} are set.
+ Otherwise, the \meta{false options} are set.
+\begin{dispExample}
+\newtcolorbox{mybox}[1]{ IfBlankF={#1}{title=`#1'} }
+
+\begin{mybox}{My title}
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}{ }
+This is a tcolorbox.
+\end{mybox}
+\end{dispExample}
+\end{docTcbKeys}
+
+\medskip
+
+\begin{docTcbKeys}[doc description = {no default}, doc new = 2022-05-25 ]
+ {
+ {
+ doc name = IfEmptyTF,
+ doc parameter = {=\marg{token list}\marg{true options}\marg{false options}},
+ },
+ {
+ doc name = IfEmptyT,
+ doc parameter = {=\marg{token list}\marg{true options}},
+ },
+ {
+ doc name = IfEmptyF,
+ doc parameter = {=\marg{token list}\marg{false options}},
+ }
+ }
+ Wraps the |\tl_if_empty:n(TF)| command(s) of \textsf{expl3} for option setting.
+ If the \meta{token list} is entirely empty, the \meta{true options} are set.
+ Otherwise, the \meta{false options} are set.
+\begin{dispExample}
+\newtcolorbox{mybox}[1]{ IfEmptyTF={#1}{colframe=red}{title=`#1'} }
+
+\begin{mybox}{My title}
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}{}
+This is a tcolorbox.
+\end{mybox}
+\end{dispExample}
+\end{docTcbKeys}
+
+
\clearpage
+
+\begin{docTcbKeys}[doc description = {no default}]
+ {
+ {
+ doc name = IfNoValueTF,
+ doc parameter = {=\marg{argument}\marg{true options}\marg{false options}},
+ },
+ {
+ doc name = IfNoValueT,
+ doc parameter = {=\marg{argument}\marg{true options}},
+ doc new = 2020-09-16,
+ },
+ {
+ doc name = IfNoValueF,
+ doc parameter = {=\marg{argument}\marg{false options}},
+ doc new = 2020-09-16,
+ }
+ }
+ Wraps the |\IfNoValue(TF)| command(s) of |xparse| for option setting.
+ If the \meta{argument} has no value, the \meta{true options} are set.
+ Otherwise, the \meta{false options} are set.
+\begin{dispExample}
+\DeclareTColorBox{mybox}{ o }{colframe=red!75!black,
+ IfNoValueTF={#1}{colback=red!5!white}{enhanced,interior style image=#1}}
+
+\begin{mybox}
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}[goldshade.png]
+This is a tcolorbox.
+\end{mybox}
+\end{dispExample}
+\end{docTcbKeys}
+
+\medskip
+
+\begin{docTcbKeys}[doc description = {no default}]
+ {
+ {
+ doc name = IfValueTF,
+ doc parameter = {=\marg{argument}\marg{true options}\marg{false options}},
+ },
+ {
+ doc name = IfValueT,
+ doc parameter = {=\marg{argument}\marg{true options}},
+ doc new = 2020-09-16,
+ },
+ {
+ doc name = IfValueF,
+ doc parameter = {=\marg{argument}\marg{false options}},
+ doc new = 2020-09-16,
+ }
+ }
+ Wraps the |\IfValue(TF)| command(s) of |xparse| for option setting.
+ If the \meta{argument} has a value, the \meta{true options} are set.
+ Otherwise, the \meta{false options} are set.
+\begin{dispExample}
+\DeclareTColorBox{mybox}{ o }{colframe=red!75!black,colback=red!5!white,
+ IfValueT={#1}{title={\flqq #1\frqq},fonttitle=\bfseries}}
+
+\begin{mybox}
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}[My title]
+This is a tcolorbox.
+\end{mybox}
+\end{dispExample}
+\end{docTcbKeys}
+
+%\medskip
+\clearpage
+
+\begin{docTcbKeys}[doc description = {no default}]
+ {
+ {
+ doc name = IfBooleanTF,
+ doc parameter = {=\marg{argument}\marg{true options}\marg{false options}},
+ },
+ {
+ doc name = IfBooleanT,
+ doc parameter = {=\marg{argument}\marg{true options}},
+ doc new = 2020-09-16,
+ },
+ {
+ doc name = IfBooleanF,
+ doc parameter = {=\marg{argument}\marg{false options}},
+ doc new = 2020-09-16,
+ }
+ }
+ Wraps the |\IfBoolean(TF)| command(s) of |xparse| for option setting.
+ If the \meta{argument} is |\BooleanTrue|, the \meta{true options} are set.
+ If the \meta{argument} is |\BooleanFalse|, the \meta{false options} are set.
+
+\begin{dispExample}
+\DeclareTColorBox{mybox}{ s }{colframe=red!75!black,
+ IfBooleanTF={#1}{colback=yellow!50!red}{colback=red!5!white}}
+
+\begin{mybox}
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}*
+This is a tcolorbox.
+\end{mybox}
+\end{dispExample}
+\end{docTcbKeys}
+
+
+
+
+\clearpage
\begin{docTcbKey}[][doc new=2016-10-21]{void}{}{no value, initially unset}
Annihilates the current |tcolorbox| as far as possible.
Basically, this comments out the whole |tcolorbox| by using a key.
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1378,6 +1378,7 @@
\end{docTcbKey}
\clearpage
+\enlargethispage*{1cm}
\begin{docTcbKey}{index annotate}{\colOpt{=true\textbar false}}{default |true|, initially |true|}
If set to |true|, the index entries are annotated with short descriptions
@@ -1392,6 +1393,63 @@
\end{docTcbKey}
+\begin{docTcbKeys}[
+ doc new={2022-06-20},
+ doc parameter = {\colOpt{=true\textbar false}},
+ doc description = {default |true|, initially |true|}
+ ]
+ {
+ {
+ doc name = index gather colors,
+ },
+ {
+ doc name = index gather commands,
+ },
+ {
+ doc name = index gather counters,
+ },
+ {
+ doc name = index gather environments,
+ },
+ {
+ doc name = index gather keys,
+ },
+ {
+ doc name = index gather lengths,
+ },
+ {
+ doc name = index gather paths,
+ },
+ {
+ doc name = index gather values,
+ }
+ }
+ If set to |true|, an additional index grouping is created where entries
+ are gathered, e.g. \refKey{/tcb/index gather counters} creates an index
+ entry `Colors', see \refKey{/tcb/doclang/colors}, which gets all colors
+ as sub entries.
+\end{docTcbKeys}
+
+
+\begin{docTcbKeys}[
+ doc new={2022-06-20},
+ doc parameter = {},
+ ]
+ {
+ {
+ doc name = index gather all,
+ doc description = {style, initially set}
+ },
+ {
+ doc name = index gather none,
+ doc description = {style}
+ },
+ }
+ Switches all index gather options from above to |true| (all) or |false| (none).
+\end{docTcbKeys}
+
+
+
\begin{docTcbKey}{color command}{=\meta{color}}{no default, initially |Definition|}
Sets the highlight color used by macro definitions.
\end{docTcbKey}
@@ -1464,6 +1522,10 @@
Heading text in the index for colors.
\end{langTcbKey}
+\begin{langTcbKey}[][doc new={2022-06-20}]{commands}{=\meta{text}}{no default, initially |Commands|}
+ Heading text in the index for commands.
+\end{langTcbKey}
+
\begin{langTcbKey}[][doc new={2015-01-08}]{counter}{=\meta{text}}{no default, initially |counter|}
Text used in the index for counters.
\end{langTcbKey}
@@ -1524,6 +1586,8 @@
Announcement text for updated content.
\end{langTcbKey}
+\clearpage
+
\begin{langTcbKey}{value}{=\meta{text}}{no default, initially |value|}
Text used in the index for values.
\end{langTcbKey}
@@ -1534,13 +1598,6 @@
-
-
-
-\clearpage
-
-
-
\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.fitting.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -36,14 +36,60 @@
\end{dispExample}
\end{docCommand}
+
\clearpage
-\begin{marker}
-See \Vref{subsec:xparse_tcboxfit} for more
-elaborate methods to create new commands.
-\end{marker}
-\enlargethispage*{2cm}
+\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 \refCom{tcbfitdim}.
+ Also see \refKey{/tcb/fit fontsize macros}
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\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,}\\
+ {\tcbfontsize{1} Normal,}\\
+ {\tcbfontsize{2} Large,}\\
+ {\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}
+
+
+\clearpage
+\subsection{Producing \texttt{tcboxfit} Commands}\label{subsec:fitting_new}
+
+
\begin{docCommand}{newtcboxfit}{\oarg{init options}\brackets{\texttt{\textbackslash}\rmfamily\meta{name}}\oarg{number}\oarg{default}\marg{options}}
Creates a new macro \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
Basically, |\newtcboxfit| operates like |\newcommand|.
@@ -96,53 +142,97 @@
\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}{DeclareTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
+ Basically, |\DeclareTCBoxFit| operates like |\DeclareDocumentCommand|. This means,
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refCom{tcboxfit}.\\
+ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
+ automatically.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+% \usepackage{lipsum}
-\begin{docCommand}{tcbfontsize}{\marg{factor}}
- Selects a font size inside a tcolorbox which is scaled with the given
- \meta{factor} relative to \refCom{tcbfitdim}.
- Also see \refKey{/tcb/fit fontsize macros}
+\DeclareTCBoxFit{\mybox}{ O{} m !o }
+ {colback=red!5!white,
+ colframe=red!75!black,
+ width=#2,height=#2/3*2,
+ IfValueT={#3}{height=#3},
+ #1}
-\begin{dispExample*}{sbs,lefthand ratio=0.6}
-\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,}\\
- {\tcbfontsize{1} Normal,}\\
- {\tcbfontsize{2} Large,}\\
- {\tcbfontsize{4} Huge.}
-\end{tcolorbox}
+\mybox[colback=yellow]{5cm}%
+ {\lipsum[2]}
+
+\mybox[colback=yellow]{5cm}[4cm]{\lipsum[2]}
\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}
+\begin{docCommand}{NewTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBoxFit}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
+\end{docCommand}
+\begin{docCommand}{RenewTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBoxFit}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An existing command is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBoxFit}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
+\end{docCommand}
+
\clearpage
+
+\begin{docCommand}{DeclareTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
+ In contrast to \refCom{DeclareTCBoxFit}, also the \meta{content} of the |tcboxfit| is specified.\\
+ Basically, |\DeclareTotalTCBoxFit| operates like |\DeclareDocumentCommand|. This means,
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refCom{tcboxfit} which is filled with
+ the specified \meta{content}.\\
+ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
+ automatically.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+
+\begin{dispExample}
+% \usepackage{lipsum}
+
+\DeclareTotalTCBoxFit{\multibox}{ O{} m O{10} m }
+ {nobeforeafter,colback=red!5!white,colframe=red!75!black,width=#2,height=#2/3*2,
+ valign=center,#1}
+ { \foreach \n in {1,...,#3} { #4} }
+
+\multibox{5cm}{I shall not repeat.}
+\multibox[colframe=blue!75!white]{5cm}[20]{I shall not repeat.}\\
+\multibox[colback=yellow,height=5cm]{14cm}[100]{I shall not repeat.}
+\end{dispExample}
+\end{docCommand}
+
+\begin{docCommand}{NewTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTCBoxFit}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
+\end{docCommand}
+
+\begin{docCommand}{RenewTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTCBoxFit}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An existing command is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTCBoxFit}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
+\end{docCommand}
+
+
+\clearpage
\subsection{Option Keys of the Library}\label{subsec:fit}
The font size for the content of a box with fixed width and fixed height
@@ -493,7 +583,7 @@
\end{docTcbKey}
\begin{dispExample}
% \usepackage{lipsum}
-\newtcboxfit{mybox}[1]{colback=red!5!white,colframe=red!75!black,left=1mm,top=1mm,
+\newtcboxfit{\mybox}[1]{colback=red!5!white,colframe=red!75!black,left=1mm,top=1mm,
bottom=1mm,right=1mm,boxsep=0mm,width=3.5cm,height=7cm,nobeforeafter,
before upper=\textcolor{blue}{\rule{5mm}{5mm}}\ ,
enhanced,watermark text={\tcbfitsteps},
@@ -510,7 +600,7 @@
\begin{dispExample}
% \usepackage{lipsum}
-\newtcboxfit{mybox}[2]{colback=red!5!white,colframe=red!75!black,left=1mm,top=1mm,
+\newtcboxfit{\mybox}[2]{colback=red!5!white,colframe=red!75!black,left=1mm,top=1mm,
size=tight,width=7.2cm,height=5cm,nobeforeafter,
before upper=\textcolor{blue}{\rule{5mm}{5mm}}\ ,
enhanced,fonttitle=\bfseries,adjusted title={#2},fit algorithm=#1}
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -133,6 +133,7 @@
\end{docTcbKey}
+\clearpage
\subsection{Embedding into the Surroundings}
The following option keys extend the options given in Subsection \ref{subsec:surroundings}
from page \pageref{subsec:surroundings}.
@@ -168,7 +169,25 @@
\end{tcolorbox}
\end{dispExample}
+\medskip
+\begin{docTcbKey}{before float app}{=\meta{code}}{no default}
+ Appends the given \meta{code} to \refKey{/tcb/before float} before the colored box.
+\end{docTcbKey}
+
+\begin{docTcbKey}{before float pre}{=\meta{code}}{no default}
+ Prepends the given \meta{code} to \refKey{/tcb/before float} before the colored box.
+\end{docTcbKey}
+
+\begin{docTcbKey}{after float app}{=\meta{code}}{no default}
+ Appends the given \meta{code} to \refKey{/tcb/after float} after the colored box.
+\end{docTcbKey}
+
+\begin{docTcbKey}{after float pre}{=\meta{code}}{no default}
+ Prepends the given \meta{code} to \refKey{/tcb/after float} after the colored box.
+\end{docTcbKey}
+
+
\clearpage
\subsection{Overlays}
The following option keys extend the options given in Subsection \ref{subsec:overlays}
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -8,7 +8,7 @@
\tcbset{external/prefix=external/listings_}%
\subsection{Loading the Libraries}
-In contrast to other |tcolorbox| libraries, the libraries
+In contrast to other \refEnv{tcolorbox} libraries, the libraries
\mylib{listings}, \mylib{listingsutf8}, and \mylib{minted} are concurrent in the sense that
they all do the same thing, i.\,e.\ displaying listings with or without typesetting
the listing in \LaTeX\ parallel.
@@ -77,7 +77,7 @@
The |minted| package uses the external tool |Pygments| \cite{pygments:web}
to apply syntax highlighting. It has to be installed and set up, before the
library can be used, see \cite{poore:minted} and \cite{pygments:web}.
-The |tcolorbox| library \mylib{minted} does not work, if the package
+The \refEnv{tcolorbox} library \mylib{minted} does not work, if the package
|minted| \cite{poore:minted} does not work.
\end{marker}
@@ -95,7 +95,7 @@
Controlled by the given \meta{options}, the
environment content is typeset normally and/or as a listing.
Furthermore, the \meta{options} control appearance and functions of
- the |tcolorbox|.
+ the \refEnv{tcolorbox}.
By default, the listing is interpreted as a \LaTeX\ listing.
\begin{dispExample}
\begin{tcblisting}{colback=red!5!white,colframe=red!75!black}
@@ -154,8 +154,8 @@
\clearpage
\begin{docEnvironment}{tcboutputlisting}{}
Saves the environment content to a file which is named by the key value of
- |listing file|. Later, this file can be loaded by
- |\tcbinputlisting| or |\tcbuselistingtext| or |\tcbuselistinglisting|.
+ \refKey{/tcb/listing file}. Later, this file can be loaded by
+ \refCom{tcbinputlisting} or \refCom{tcbuselistingtext} or \refCom{tcbuselistinglisting}.
\begin{dispListing}
\begin{tcboutputlisting}
This \textbf{text} is written to a standardized file for later usage.
@@ -165,8 +165,8 @@
\begin{docCommand}{tcbinputlisting}{\marg{options}}
- Creates a colored boxed based on a |tcolorbox|. The text content is read
- from a file named by the key value of |listing file|. Apart from that,
+ Creates a colored boxed based on a \refEnv{tcolorbox}. The text content is read
+ from a file named by the key value of \refKey{/tcb/listing file}. Apart from that,
the function is equal to that of \refEnv{tcblisting}.
\begin{dispExample}
\tcbinputlisting{colback=red!5!white,colframe=red!75!black,text only}
@@ -175,7 +175,7 @@
\end{docCommand}
\begin{docCommand}{tcbuselistingtext}{}
- Loads text from a file named by the key value of |listing file|.
+ Loads text from a file named by the key value of \refKey{/tcb/listing file}.
\begin{dispExample}
\tcbuselistingtext
\end{dispExample}
@@ -183,7 +183,7 @@
\begin{docCommand}{tcbuselistinglisting}{}
- Typesets text as listing from a file named by the key value of |listing file|.
+ Typesets text as listing from a file named by the key value of \refKey{/tcb/listing file}.
\begin{dispExample}
\tcbuselistinglisting
\end{dispExample}
@@ -197,12 +197,10 @@
\clearpage
+\subsection{Producing \texttt{tcblisting} Environments}\label{subsec:listing_newlistings}
+
\begin{marker}
-See \Vref{subsec:xparse_listing} and \Vref{subsec:xparse_inputlisting} for more
-elaborate methods to create new environments and commands.
-\end{marker}
-\begin{marker}
-If a new sort of |tcblisting| environments should be created with
+If a new sort of \refEnv{tcblisting} environments should be created with
one optional argument only, one is highly recommended to use
\refCom{DeclareTCBListing} or \refCom{NewTCBListing}
instead of \refCom{newtcblisting} to
@@ -211,10 +209,10 @@
\begin{docCommand}{newtcblisting}{\oarg{init options}\marg{name}\oarg{number}\oarg{default}\marg{options}}
Creates a new environment \meta{name} based on \refEnv{tcblisting}.
- Basically, |\newtcblisting| operates like |\newenvironment|. This means,
+ Basically, \refCom{newtcblisting} operates like |\newenvironment|. This means,
the new environment \meta{name} optionally takes \meta{number} arguments, where
\meta{default} is the default value for the optional first argument.
- The \meta{options} are given to the underlying |tcblisting|.
+ The \meta{options} are given to the underlying \refEnv{tcblisting}.
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
automatically.
The \meta{init options} allow setting up automatic numbering,
@@ -280,12 +278,119 @@
\clearpage
+
+\begin{docCommand}{DeclareTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Creates a new environment \meta{name} based on \refEnv{tcblisting}.\\
+ Basically, |\DeclareTCBListing| operates like |\DeclareDocumentEnvironment|. This means,
+ the new environment \meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refEnv{tcblisting}.\\
+ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
+ automatically.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new environment is always created, irrespective of an already existing
+ environment with the same name.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.5}
+\DeclareTCBListing{mybox}{ s O{} m }{%
+ colback=red!5!white,
+ colframe=red!75!black,
+ fonttitle=\bfseries,
+ IfBooleanTF={#1}
+ {listing side text}
+ {text side listing},
+ title={#3},#2}
+
+\begin{mybox}{Listing Box}
+This is my
+\LaTeX\ box.
+\end{mybox}
+\bigskip
+
+\begin{mybox}*{Listing Box}
+This is my
+\LaTeX\ box.
+\end{mybox}
+\bigskip
+
+\begin{mybox}[colback=yellow]
+ {Listing Box}
+This is my
+\LaTeX\ box.
+\end{mybox}
+\end{dispExample*}
+\end{docCommand}
+
+\begin{docCommand}{NewTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBListing}, but based on |\NewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ An error is issued if \meta{name} has already been defined.
+\end{docCommand}
+
+\begin{docCommand}{RenewTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBListing}, but based on |\RenewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ An existing environment is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBListing}, but based on |\ProvideDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ The environment \meta{name} is only created if it is not already defined.
+\end{docCommand}
+
+\clearpage
+
+\begin{marker}
+With date of 2018-05-12, the |xparse| \cite{latexproject:xparse} package
+changed the argument collection process (now part of the \LaTeX\ kernel).
+Spaces are ignored which leads to a serious change for listing environments
+ending with an optional argument like \verb+O{}+.
+The former behavior of respecting spaces can be preserved by adding a \flqq\verb+!+\frqq.
+Note that the following code uses \verb+!O{}+ now.
+\begin{itemize}
+\item For older |xparse| versions, the following code is correct when using \verb+O{}+.
+\item For |xparse| of 2018-05-12, only the first two examples of
+ the following code using \verb+O{}+ are really \flqq good\frqq\ -- all others do not work.
+\item For |xparse| of 2018-05-12 and later, the following code is correct when using \verb+!O{}+.
+\end{itemize}
+\end{marker}
+
+\begin{dispListing*}{title={Caveats of using an environment ending with an
+ optional argument},fonttitle=\bfseries}
+\DeclareTCBListing{mybox}{ !O{} }{listing only,#1}
+
+\begin{mybox}[colframe=red]
+\good
+\end{mybox}
+
+\begin{mybox}[colframe=red]\good\end{mybox}
+
+\begin{mybox}
+\good
+\end{mybox}
+
+\begin{mybox} \good\end{mybox}
+
+\begin{mybox}\bad!\end{mybox}
+
+\begin{mybox}
+[\good]
+\end{mybox}
+
+\begin{mybox} [\good]\end{mybox}
+
+\begin{mybox}[\bad!]\end{mybox}
+\end{dispListing*}
+
+
+\clearpage
+\subsection{Producing \texttt{tcbinputlisting} Commands}\label{subsec:listings_inputlisting}
+\enlargethispage*{1cm}
+
\begin{docCommand}{newtcbinputlisting}{\oarg{init options}\brackets{\texttt{\textbackslash}\rmfamily\meta{name}}\oarg{number}\oarg{default}\marg{options}}
Creates a new macro \texttt{\textbackslash}\meta{name} based on \refCom{tcbinputlisting}.
- Basically, |\newtcbinputlisting| operates like |\newcommand|.
+ Basically, \refCom{newtcbinputlisting} operates like |\newcommand|.
The new macro \texttt{\textbackslash}\meta{name} optionally takes \meta{number} arguments, where
\meta{default} is the default value for the optional first argument.
- The \meta{options} are given to the underlying |tcbinputlisting|.
+ The \meta{options} are given to the underlying \refCom{tcbinputlisting}.
The \meta{init options} allow setting up automatic numbering,
see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.
@@ -319,7 +424,47 @@
An existing macro is redefined.
\end{docCommand}
+\clearpage
+\begin{docCommand}{DeclareTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbinputlisting}.
+ Basically, |\DeclareTCBInputListing| operates like |\DeclareDocumentCommand|. This means,
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refCom{tcbinputlisting}.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+
+\begin{dispExample}
+% counter from previous example
+\DeclareTCBInputListing[use counter from=pabox]{\mylisting}{ O{} O{red} m }{%
+ listing file={#3},title=Listing~\thetcbcounter,
+ colback=#2!5!white,colframe=#2!50!black,colbacktitle=#2!75!black,
+ fonttitle=\bfseries,listing only,#1}
+
+\mylisting[before upper=\textit{This is the included file content:}]
+ [blue]{\jobname.tcbtemp}
+\end{dispExample}
+ \end{docCommand}
+
+\begin{docCommand}{NewTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBInputListing}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
+\end{docCommand}
+
+\begin{docCommand}{RenewTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBInputListing}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An existing command is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBInputListing}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
+\end{docCommand}
+
+
+
\clearpage
\subsection{Option Keys of the \mylib{listings} Library}\label{sec:speclistingkeys}
@@ -341,8 +486,8 @@
\begin{docTcbKey}{no listing options}{}{no value, initially unset}
Abbreviation for |listing options={}|.
This removes all options for the |listings| package.
- This includes the |tcblisting| standard style |tcblatex| and the encoding presets.
- Use this option, if you want to set the |listings| options outside of |tcblisting|, e.\,g.\ globally in
+ This includes the \refEnv{tcblisting} standard style |tcblatex| and the encoding presets.
+ Use this option, if you want to set the |listings| options outside of \refEnv{tcblisting}, e.\,g.\ globally in
the preamble.
\begin{dispExample}
\begin{tcblisting}{no listing options}
@@ -419,7 +564,7 @@
See further options in \Vref{sec:commonlistingkeys}.
\begin{marker}
-For an combined example of using |\lstinline| inside a |tcolorbox|, see
+For an combined example of using |\lstinline| inside a \refEnv{tcolorbox}, see
\refCom{DeclareTotalTCBox}.
\end{marker}
@@ -693,7 +838,7 @@
\begin{docTcbKey}[][doc new=2014-11-14]{comment style}{=\meta{options}}{no default, initially empty}
Sets the \meta{options} for \refKey{/tcb/tcbimage comment} and \refKey{/tcb/pdf comment}.
- These are |tcolorbox| options to customize the colored box drawn around the
+ These are \refEnv{tcolorbox} options to customize the colored box drawn around the
image(s), also image options encapsulated by \refKey{/tcb/graphics options},
and \refEnv{tcbraster} options for \refKey{/tcb/pdf comment}.
\end{docTcbKey}
@@ -755,10 +900,10 @@
\begin{docTcbKey}{listing outside text}{}{no value}
-Typesets the environment content side by side as listing in a |tcolorbox|
+Typesets the environment content side by side as listing in a \refEnv{tcolorbox}
and as compiled text outside the box in the right part of the page.
Nevertheless, the outside text is treated as \emph{lower} part of the
-|tcolorbox| and can be formatted with all lower part options.
+\refEnv{tcolorbox} and can be formatted with all lower part options.
The space partitioning is done with the side by side options from
\Fullref{sec:sidebyside}.
\begin{dispExample}
@@ -771,10 +916,10 @@
\clearpage
\begin{docTcbKey}{text outside listing}{}{no value}
-Typesets the environment content side by side as listing in a |tcolorbox|
+Typesets the environment content side by side as listing in a \refEnv{tcolorbox}
and as compiled text outside the box in the left part of the page.
Nevertheless, the outside text is treated as \emph{lower} part of the
-|tcolorbox| and can be formatted with all lower part options.
+\refEnv{tcolorbox} and can be formatted with all lower part options.
The space partitioning is done with the side by side options from
\Fullref{sec:sidebyside}.
\begin{dispExample}
@@ -814,10 +959,10 @@
\clearpage
\begin{docTcbKey}{listing outside comment}{}{no value}
-Typesets the environment content side by side as listing in a |tcolorbox|
+Typesets the environment content side by side as listing in a \refEnv{tcolorbox}
and a given comment outside the box in the right part of the page.
Nevertheless, the outside text is treated as \emph{lower} part of the
-|tcolorbox| and can be formatted with all lower part options.
+\refEnv{tcolorbox} and can be formatted with all lower part options.
The space partitioning is done with the side by side options from
\Fullref{sec:sidebyside}.
\begin{dispExample}
@@ -830,10 +975,10 @@
\begin{docTcbKey}{comment outside listing}{}{no value}
-Typesets the environment content side by side as listing in a |tcolorbox|
+Typesets the environment content side by side as listing in a \refEnv{tcolorbox}
and a given comment outside the box in the left part of the page.
Nevertheless, the outside text is treated as \emph{lower} part of the
-|tcolorbox| and can be formatted with all lower part options.
+\refEnv{tcolorbox} and can be formatted with all lower part options.
The space partitioning is done with the side by side options from
\Fullref{sec:sidebyside}.
\begin{dispExample}
@@ -847,10 +992,10 @@
\begin{docTcbKey}{listing above text}{}{no value}
- Typesets the environment content as listing in a |tcolorbox|
+ Typesets the environment content as listing in a \refEnv{tcolorbox}
and as compiled text outside and below the box.
The outside text is treated as \emph{lower} part of the
- |tcolorbox| and can be formatted with all lower part options.
+ \refEnv{tcolorbox} and can be formatted with all lower part options.
The distance between box and text is controlled by \refKey{/tcb/middle}.
\begin{dispExample}
\begin{tcblisting}{colback=red!5!white,colframe=red!75!black,listing above text}
@@ -870,10 +1015,10 @@
\clearpage
\begin{docTcbKey}{text above listing}{}{no value}
- Typesets the environment content as listing in a |tcolorbox|
+ Typesets the environment content as listing in a \refEnv{tcolorbox}
and as compiled text outside and above the box.
The outside text is treated as \emph{lower} part of the
- |tcolorbox| and can be formatted with all lower part options.
+ \refEnv{tcolorbox} and can be formatted with all lower part options.
The distance between box and text is controlled by \refKey{/tcb/middle}.
\begin{dispExample}
\begin{tcblisting}{colback=red!5!white,colframe=red!75!black,text above listing}
@@ -893,10 +1038,10 @@
\begin{docTcbKey}{listing above comment}{}{no value}
- Typesets the environment content as listing in a |tcolorbox|
+ Typesets the environment content as listing in a \refEnv{tcolorbox}
and a given comment outside and below the box.
The outside text is treated as \emph{lower} part of the
- |tcolorbox| and can be formatted with all lower part options.
+ \refEnv{tcolorbox} and can be formatted with all lower part options.
The distance between box and comment is controlled by \refKey{/tcb/middle}.
\begin{dispExample}
\begin{tcblisting}{colback=red!5!white,colframe=red!75!black,listing above comment,
@@ -917,10 +1062,10 @@
\clearpage
\begin{docTcbKey}{comment above listing}{}{no value}
- Typesets the environment content as listing in a |tcolorbox|
+ Typesets the environment content as listing in a \refEnv{tcolorbox}
and a given comment outside and above the box.
The outside text is treated as \emph{lower} part of the
- |tcolorbox| and can be formatted with all lower part options.
+ \refEnv{tcolorbox} and can be formatted with all lower part options.
The distance between box and comment is controlled by \refKey{/tcb/middle}.
\begin{dispExample}
\begin{tcblisting}{colback=red!5!white,colframe=red!75!black,comment above listing,
@@ -942,7 +1087,7 @@
\clearpage
\subsection{Option Keys for Processing and Full Document Examples}\label{sec:proclistingkeys}
A complete \LaTeX\ document including |\documentclass|, |\begin{document}|
-and |\end{document}| cannot be processed directly by |tcolorbox|.
+and |\end{document}| cannot be processed directly by \refEnv{tcolorbox}.
It always has to be compiled separately. There are two methods supported
by the package to process and display such a full document example:
\begin{itemize}
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty 2022-06-22 20:56:47 UTC (rev 63694)
@@ -3,6 +3,10 @@
\renewcommand*\l at subsection{\@dottedtocline{2}{1.5em}{2.7em}}
\renewcommand*\l at subsubsection{\@dottedtocline{3}{4.2em}{3.2em}}
+% prevent hypdoc from loading (sets hyperindex=false)
+\@namedef{ver at hypdoc.sty}{9999/12/31}
+\@namedef{opt at hypdoc.sty}{hypdoc}
+
\RequirePackage[T1]{fontenc}
\RequirePackage[utf8]{inputenc}
\RequirePackage[english]{babel}
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.sidebyside.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.sidebyside.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.sidebyside.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -245,14 +245,9 @@
\clearpage
-\subsection{Advanced Settings from the \mylib{xparse} Library}\label{subsec:sidebyside_xparse}
+\subsection{Advanced Settings}\label{subsec:sidebyside_xparse}
-\begin{marker}
-All following macros and options need the \mylib{xparse} library to be
-loaded, see \Fullref{sec:xparse}.
-\end{marker}
-
\begin{docCommand}[doc new=2015-11-20]{tcbsidebyside}{\oarg{options}\marg{left-handed content}\marg{right-handed content}}
Creates a colored box using more or less arbitrary \meta{options} for a \refEnv{tcolorbox}.
The \refKey{/tcb/sidebyside} option is set to |true| and the
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skincatalog.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skincatalog.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skincatalog.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -633,7 +633,7 @@
\begin{tcolorbox}[bicolor,
frame style={preaction={fill=blue!50!black},
pattern=checkerboard,pattern color=blue!50!gray},
- fonttitle=\bfseries,
+ fonttitle=\bfseries, overlaplower=0mm,
colback=blue!10, colbacklower=white, opacitybacklower=0.65,
title={Example for a semilucent lower part}]
This is the upper part.
@@ -644,6 +644,49 @@
\clearpage
+\begin{docTcbKey}[][doc new=2022-01-11]{overlaplower}{=\meta{length}}{no default, initially \texttt{0.1mm}}
+ The backgrounds of the lower parts for the skin families \enquote{bicolor}, \enquote{tile}, and \enquote{beamer}
+ are drawn differently than the backgrounds of the upper parts. If the distance between these
+ backgrounds of upper and lower parts is |0pt|, some previewers show the
+ frame color as thin line between upper and lower part. To avoid this glitch,
+ the lower part is drawn with an overlap of \meta{length} over the upper part.\par
+ This value can be adapted for special applications. For example,
+ semilucent lower parts better use |0pt|, see \refKey{/tcb/opacitybacklower}.
+ Also see \refCom{tcboverlaplower} for using a larger value.
+\end{docTcbKey}
+
+
+\begin{docCommand}[doc new=2022-01-11]{tcboverlaplower}{}
+ Macro which contains the length value set by \refKey{/tcb/overlaplower}.
+ May be used for fine positioning at the segmentation between upper and
+ lower part and should be seen \emph{read-only}.
+
+\begin{dispExample}
+\begin{tcolorbox}[bicolor, sharp corners,
+ colframe=blue!50!black, colback=blue!10, colbacklower=red!10,
+ top=5mm, bottom=2mm, middle=3.5mm, overlaplower=1.5mm,
+ underlay={
+ \node[minimum width=1cm,minimum height=0.5cm,outer sep=auto,
+ anchor=north east,fill=white] at (interior.north east)
+ {\itshape\small upper};
+ \node[minimum width=1cm,minimum height=0.5cm,outer sep=auto,
+ anchor=north east,fill=white]
+ at ([yshift=\tcboverlaplower]segmentation.east)
+ {\itshape\small lower};
+ }
+ ]
+This is the upper part.
+\tcblower
+And that is the lower part.
+\end{tcolorbox}
+\end{dispExample}
+
+\end{docCommand}
+
+
+
+\clearpage
+
\begin{docSkin}{bicolorfirst}
This is a flavor of \refSkin{bicolor} which is used as a \emph{first} part
in a break sequence for \refSkin{bicolor}.
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -748,7 +748,7 @@
\begin{docCommand}[doc new=2017-04-25]{tcbsegmentstate}{}
- This macro contains |0|, |1|, or |2|. Itis set for every unbroken box and every broken partial box
+ This macro contains |0|, |1|, or |2|. It is set for every unbroken box and every broken partial box
with the following meaning:
\begin{itemize}
\item\docValue{0}: The current (partial) box contains only an upper part.
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.xparse.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.xparse.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.xparse.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -7,635 +7,14 @@
\begin{dispListing}
\tcbuselibrary{xparse}
\end{dispListing}
-This also loads the package |xparse| \cite{latexproject:xparse}.
+This loads the package |xparse| \cite{latexproject:xparse}.
-The purpose of this library is to give comfortable access to the
-powerful document command production with |xparse| for |tcolorbox|.
-See the |xparse| package documentation \cite{latexproject:xparse}
-for details about the argument \meta{specification} used in this section.
+Note that up to version 5.0.2 this library contained code which
+needed the |xparse| package. Since nowadays this package has become
+basically a part of the \LaTeX\ kernel, the code of the library was
+migrated to other parts of the |tcolorbox| package. So, the remaining
+library is nearly a stub which only loads |xparse|.
-%\subsection{Producing Document Commands With \texttt{xparse}}
-
-
-\subsection{Option Keys}\label{subsec:xparse_options}
-
-\begin{docTcbKey}{verbatim}{}{style, no value}
- Sets options for a \textit{verbatim} style \refCom{tcbox}.
- Since the indented boxes may contain only very few words, the
- dimensions are made smaller and \refKey{/tcb/nobeforeafter}
- and \refKey{/tcb/tcbox raise base} are set.
-\begin{dispExample*}{sbs,lefthand ratio=0.6}
-\DeclareTotalTCBox{\myverb}{ v }{verbatim,
- colframe=red!75!black,colupper=blue}{#1}
-
-\myverb{\textbf} is a \myverb{\LaTeX} command.
-\end{dispExample*}
-\end{docTcbKey}
-
-
-\begin{docTcbKeys}[doc description = {no default}]
- {
- {
- doc name = IfNoValueTF,
- doc parameter = {=\marg{argument}\marg{true options}\marg{false options}},
- },
- {
- doc name = IfNoValueT,
- doc parameter = {=\marg{argument}\marg{true options}},
- doc new = 2020-09-16,
- },
- {
- doc name = IfNoValueF,
- doc parameter = {=\marg{argument}\marg{false options}},
- doc new = 2020-09-16,
- }
- }
- Wraps the |\IfNoValue(TF)| command(s) of |xparse| for option setting.
- If the \meta{argument} has no value, the \meta{true options} are set.
- Otherwise, the \meta{false options} are set.
-\begin{dispExample}
-\DeclareTColorBox{mybox}{ o }{colframe=red!75!black,
- IfNoValueTF={#1}{colback=red!5!white}{enhanced,interior style image=#1}}
-
-\begin{mybox}
-This is a tcolorbox.
-\end{mybox}
-
-\begin{mybox}[goldshade.png]
-This is a tcolorbox.
-\end{mybox}
-\end{dispExample}
-\end{docTcbKeys}
-
-\clearpage
-
-
-\begin{docTcbKeys}[doc description = {no default}]
- {
- {
- doc name = IfValueTF,
- doc parameter = {=\marg{argument}\marg{true options}\marg{false options}},
- },
- {
- doc name = IfValueT,
- doc parameter = {=\marg{argument}\marg{true options}},
- doc new = 2020-09-16,
- },
- {
- doc name = IfValueF,
- doc parameter = {=\marg{argument}\marg{false options}},
- doc new = 2020-09-16,
- }
- }
- Wraps the |\IfValue(TF)| command(s) of |xparse| for option setting.
- If the \meta{argument} has a value, the \meta{true options} are set.
- Otherwise, the \meta{false options} are set.
-\begin{dispExample}
-\DeclareTColorBox{mybox}{ o }{colframe=red!75!black,colback=red!5!white,
- IfValueT={#1}{title={\flqq #1\frqq},fonttitle=\bfseries}}
-
-\begin{mybox}
-This is a tcolorbox.
-\end{mybox}
-
-\begin{mybox}[My title]
-This is a tcolorbox.
-\end{mybox}
-\end{dispExample}
-\end{docTcbKeys}
-
-\medskip
-
-\begin{docTcbKeys}[doc description = {no default}]
- {
- {
- doc name = IfBooleanTF,
- doc parameter = {=\marg{argument}\marg{true options}\marg{false options}},
- },
- {
- doc name = IfBooleanT,
- doc parameter = {=\marg{argument}\marg{true options}},
- doc new = 2020-09-16,
- },
- {
- doc name = IfBooleanF,
- doc parameter = {=\marg{argument}\marg{false options}},
- doc new = 2020-09-16,
- }
- }
- Wraps the |\IfBoolean(TF)| command(s) of |xparse| for option setting.
- If the \meta{argument} is |\BooleanTrue|, the \meta{true options} are set.
- If the \meta{argument} is |\BooleanFalse|, the \meta{false options} are set.
-
-\begin{dispExample}
-\DeclareTColorBox{mybox}{ s }{colframe=red!75!black,
- IfBooleanTF={#1}{colback=yellow!50!red}{colback=red!5!white}}
-
-\begin{mybox}
-This is a tcolorbox.
-\end{mybox}
-
-\begin{mybox}*
-This is a tcolorbox.
-\end{mybox}
-\end{dispExample}
-\end{docTcbKeys}
-
-
-
-\clearpage
-\subsection{Producing \texttt{tcolorbox} Environments and Commands}\label{subsec:xparse_tcolorbox}
-
-\begin{docCommand}{DeclareTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
- Creates a new environment \meta{name} based on \refEnv{tcolorbox}.\\
- Basically, |\DeclareTColorBox| operates like |\DeclareDocumentEnvironment|. This means,
- the new environment \meta{name} is constructed with the given argument \meta{specification}.
- The \meta{options} are given to the underlying \refEnv{tcolorbox}.\\
- Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
- automatically.\\
- The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new environment is always created, irrespective of an already existing
- environment with the same name.
-
-\begin{dispExample}
-% counter from previous example
-\DeclareTColorBox[use counter from=pabox]{mybox}{ O{red} m d"" !O{} }
- {enhanced,colframe=#1!75!black,colback=#1!5!white,
- fonttitle=\bfseries,title={\thetcbcounter~#2},
- IfValueT={#3}{watermark text={#3}},#4}
-
-\begin{mybox}{My title}
-This is a tcolorbox.
-\end{mybox}
-
-\begin{mybox}[blue]{My title}
-This is a tcolorbox.
-\end{mybox}
-
-\begin{mybox}[green]{My title}"My Watermark"
-This is a tcolorbox.
-\end{mybox}
-
-\begin{mybox}[yellow]{My title}[colbacktitle=yellow!50!white,coltitle=black]
-This is a tcolorbox.
-\end{mybox}
-
-\begin{mybox}[purple]{My title}"All together"[coltitle=yellow]
-This is a tcolorbox.
-\end{mybox}
-\end{dispExample}
-\end{docCommand}
-
-\clearpage
-\begin{docCommand}{NewTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTColorBox}, but based on |\NewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
- An error is issued if \meta{name} has already been defined.
-\end{docCommand}
-
-\begin{docCommand}{RenewTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTColorBox}, but based on |\RenewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
- An existing environment is redefined.
-\end{docCommand}
-
-\begin{docCommand}{ProvideTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTColorBox}, but based on |\ProvideDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
- The environment \meta{name} is only created if it is not already defined.
-\end{docCommand}
-
-
-\clearpage
-
-\begin{docCommand}{DeclareTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Creates a new command \texttt{\textbackslash}\meta{name} based on \refEnv{tcolorbox}.
- In contrast to \refCom{DeclareTColorBox}, also the \meta{content} of the |tcolorbox| is specified.\\
- Basically, |\DeclareTotalTColorBox| operates like |\DeclareDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
- The \meta{options} are given to the underlying \refEnv{tcolorbox} which is filled with
- the specified \meta{content}.\\
- Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
- automatically.\\
- The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new command is always created, irrespective of an already existing
- command with the same name.
-
-\begin{dispExample}
-\DeclareTotalTColorBox{\diabox}{ O{} v m }
- { bicolor,nobeforeafter,equal height group=diabox,width=5.7cm,
- fonttitle=\bfseries\ttfamily,adjusted title={#2},center title,
- colframe=blue!20!black,leftupper=0mm,rightupper=0mm,colback=black!75!white,#1}
- { \tikz\path[fill zoom image={#2}] (0,0) rectangle (\linewidth,4cm);%
- \tcblower#3}
-
-\diabox{blueshade.png}{Created with |GIMP|.\\\url{http://www.gimp.org}}
-\diabox{goldshade.png}{Created with |GIMP|.\\\url{http://www.gimp.org}}
-
-\end{dispExample}
-\end{docCommand}
-
-\begin{docCommand}{NewTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTColorBox}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
-\end{docCommand}
-
-\begin{docCommand}{RenewTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTColorBox}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An existing command is redefined.
-\end{docCommand}
-
-\begin{docCommand}{ProvideTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTColorBox}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
- The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
-\end{docCommand}
-
-
-\clearpage
-\subsection{Producing \texttt{tcbox} Commands}\label{subsec:xparse_tcbox}
-
-
-\begin{docCommand}{DeclareTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
- Basically, |\DeclareTCBox| operates like |\DeclareDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
- The \meta{options} are given to the underlying \refCom{tcbox}.\\
- Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
- automatically.\\
- The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new command is always created, irrespective of an already existing
- command with the same name.
-
-\begin{dispExample}
-% counter from previous example
-\DeclareTCBox[use counter from=pabox]{\mybox}{ s m s }
-{ nobeforeafter,colback=red!5!white,colframe=red!75!black,
- title={#2 (Box \thetcbcounter)},fonttitle=\bfseries,
- IfBooleanT={#1}{enhanced,drop shadow},
- IfBooleanT={#3}{colbacktitle=red!50!white} }
-
-\mybox{Bird}{This is my first box.}
- \hfill
-\mybox*{Tree}{This is my second box.}
- \par\bigskip
-\mybox{Bike}*{This is my third box.}
- \hfill
-\mybox*{City}*{This is my fourth box.}
-\end{dispExample}
-\end{docCommand}
-
-\begin{docCommand}{NewTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBox}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
-\end{docCommand}
-
-\begin{docCommand}{RenewTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBox}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An existing command is redefined.
-\end{docCommand}
-
-\begin{docCommand}{ProvideTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBox}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
- The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
-\end{docCommand}
-
-
-
-\clearpage
-
-\begin{docCommand}{DeclareTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
- In contrast to \refCom{DeclareTCBox}, also the \meta{content} of the |tcbox| is specified.\\
- Basically, |\DeclareTotalTCBox| operates like |\DeclareDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
- The \meta{options} are given to the underlying \refCom{tcbox} which is filled with
- the specified \meta{content}.\\
- Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
- automatically.\\
- The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new command is always created, irrespective of an already existing
- command with the same name.
-
-\begin{dispExample}
-\DeclareTotalTCBox{\myverb}{ O{red} v !O{} }
-{ fontupper=\ttfamily,nobeforeafter,tcbox raise base,arc=0pt,outer arc=0pt,
- top=0pt,bottom=0pt,left=0mm,right=0mm,
- leftrule=0pt,rightrule=0pt,toprule=0.3mm,bottomrule=0.3mm,boxsep=0.5mm,
- colback=#1!10!white,colframe=#1!50!black,#3}{#2}
-
-To set a word \textbf{bold} in \myverb{\LaTeX}, use
-\myverb[green]{\textbf{bold}}. Alternatively, write
-\myverb[yellow]{{\bfseries bold}}.
-In \myverb[blue]{\LaTeX}[enhanced,fuzzy halo], other font settings are
-done in the same way, e.\,g. \myverb{\textit}, \myverb{\itshape}\\
-or \myverb[brown]{\texttt}, \myverb[brown]{\ttfamily}.
-\end{dispExample}
-
-The next example uses |\lstinline| from the |listings| package to
-typeset the verbatim content.
-
-\begin{dispExample}
-% \usepackage{listings} or \tcbuselibrary{listings}
-\DeclareTotalTCBox{\commandbox}{ s v }
-{verbatim,colupper=white,colback=black!75!white,colframe=black}
-{\IfBooleanT{#1}{\textcolor{red}{\ttfamily\bfseries > }}%
- \lstinline[language=command.com,keywordstyle=\color{blue!35!white}\bfseries]^#2^}
-
-\commandbox*{cd "My Documents"} changes to directory \commandbox{My Documents}.
-
-\commandbox*{dir /A} lists the directory content.
-
-\commandbox*{copy example.txt d:\target} copies \commandbox{example.txt} to
- \commandbox{d:\target}.
-\end{dispExample}
-\end{docCommand}
-
-\clearpage
-\begin{docCommand}{NewTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTCBox}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
-\end{docCommand}
-
-\begin{docCommand}{RenewTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTCBox}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An existing command is redefined.
-\end{docCommand}
-
-\begin{docCommand}{ProvideTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTCBox}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
- The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
-\end{docCommand}
-
-
-\begin{docCommand}{tcboxverb}{\oarg{options}\marg{verbatim box content}}
- Creates a colored box based on \refCom{tcbox} which is fitted to the width of the given
- \meta{verbatim box content}.
- The underlying \refCom{tcbox} is styled with
- \refKey{/tcb/verbatim} plus the given \meta{options}.
- The difference to \refCom{tcbox} is that the \meta{verbatim box content} is
- interpreted \textit{verbatim}. Therefore, |\tcboxverb| acts similar to |\verb|.
-
-\begin{dispExample}
-\tcboxverb{\LaTeX}, \tcboxverb[colback=blue!10!white,colupper=blue]{\LaTeX},
-\tcboxverb[blank,fuzzy halo]{\LaTeX}, \tcboxverb[beamer]{\LaTeX},
-\tcboxverb[enhanced,skin=enhancedmiddle jigsaw,colframe=red]{\LaTeX}.
-\end{dispExample}
-\end{docCommand}
-
-
-
-
-\clearpage
-\subsection{Producing \texttt{tcblisting} Environments}\label{subsec:xparse_listing}
-\begin{marker}
-Besides \mylib{xparse}, the following commands also need the \mylib{listings} library to be included.
-\end{marker}
-
-\begin{docCommand}{DeclareTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
- Creates a new environment \meta{name} based on \refEnv{tcblisting}.\\
- Basically, |\DeclareTCBListing| operates like |\DeclareDocumentEnvironment|. This means,
- the new environment \meta{name} is constructed with the given argument \meta{specification}.
- The \meta{options} are given to the underlying \refEnv{tcblisting}.\\
- Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
- automatically.\\
- The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new environment is always created, irrespective of an already existing
- environment with the same name.
-
-\begin{dispExample*}{sbs,lefthand ratio=0.5}
-\DeclareTCBListing{mybox}{ s O{} m }{%
- colback=red!5!white,
- colframe=red!75!black,
- fonttitle=\bfseries,
- IfBooleanTF={#1}
- {listing side text}
- {text side listing},
- title={#3},#2}
-
-\begin{mybox}{Listing Box}
-This is my
-\LaTeX\ box.
-\end{mybox}
-\bigskip
-
-\begin{mybox}*{Listing Box}
-This is my
-\LaTeX\ box.
-\end{mybox}
-\bigskip
-
-\begin{mybox}[colback=yellow]
- {Listing Box}
-This is my
-\LaTeX\ box.
-\end{mybox}
-\end{dispExample*}
-\end{docCommand}
-
-
-
-\begin{docCommand}{NewTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBListing}, but based on |\NewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
- An error is issued if \meta{name} has already been defined.
-\end{docCommand}
-
-\begin{docCommand}{RenewTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBListing}, but based on |\RenewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
- An existing environment is redefined.
-\end{docCommand}
-
-\begin{docCommand}{ProvideTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBListing}, but based on |\ProvideDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
- The environment \meta{name} is only created if it is not already defined.
-\end{docCommand}
-
-\clearpage
-
-
-\begin{marker}
-With date of 2018-05-12, the |xparse| \cite{latexproject:xparse} package
-changed the argument collection process.
-Now, spaces are ignored which leads to a serious change for listing environments
-ending with an optional argument like \verb+O{}+.
-The former behavior of respecting spaces can be preserved by adding a \flqq\verb+!+\frqq.
-Note that the following code uses \verb+!O{}+ now.
-\begin{itemize}
-\item For older |xparse| versions, the following code is correct when using \verb+O{}+.
-\item For |xparse| of 2018-05-12, only the first two examples of
- the following code using \verb+O{}+ are really \flqq good\frqq\ -- all others do not work.
-\item For |xparse| of 2018-05-12 and later, the following code is correct when using \verb+!O{}+.
-\end{itemize}
-\end{marker}
-
-
-
-
-
-\begin{dispListing*}{title={Caveats of using an environment ending with an
- optional argument},fonttitle=\bfseries}
-\DeclareTCBListing{mybox}{ !O{} }{listing only,#1}
-
-\begin{mybox}[colframe=red]
-\good
-\end{mybox}
-
-\begin{mybox}[colframe=red]\good\end{mybox}
-
-\begin{mybox}
-\good
-\end{mybox}
-
-\begin{mybox} \good\end{mybox}
-
-\begin{mybox}\bad!\end{mybox}
-
-\begin{mybox}
-[\good]
-\end{mybox}
-
-\begin{mybox} [\good]\end{mybox}
-
-\begin{mybox}[\bad!]\end{mybox}
-\end{dispListing*}
-
-\clearpage
-\subsection{Producing \texttt{tcbinputlisting} Commands}\label{subsec:xparse_inputlisting}
-\begin{marker}
-The following commands need the \mylib{listings} library to be included.
-\end{marker}
-
-
-\begin{docCommand}{DeclareTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbinputlisting}.
- Basically, |\DeclareTCBInputListing| operates like |\DeclareDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
- The \meta{options} are given to the underlying \refCom{tcbinputlisting}.\\
- The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new command is always created, irrespective of an already existing
- command with the same name.
-
-\begin{dispExample}
-% counter from previous example
-\DeclareTCBInputListing[use counter from=pabox]{\mylisting}{ O{} O{red} m }{%
- listing file={#3},title=Listing~\thetcbcounter,
- colback=#2!5!white,colframe=#2!50!black,colbacktitle=#2!75!black,
- fonttitle=\bfseries,listing only,#1}
-
-\mylisting[before upper=\textit{This is the included file content:}]
- [blue]{\jobname.tcbtemp}
-\end{dispExample}
- \end{docCommand}
-
-\begin{docCommand}{NewTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBInputListing}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
-\end{docCommand}
-
-\begin{docCommand}{RenewTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBInputListing}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An existing command is redefined.
-\end{docCommand}
-
-\begin{docCommand}{ProvideTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBInputListing}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
- The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
-\end{docCommand}
-
-
-\clearpage
-\subsection{Producing \texttt{tboxfit} Commands}\label{subsec:xparse_tcboxfit}
-\begin{marker}
-The following commands need the \mylib{fitting} library to be included.
-\end{marker}
-
-\begin{docCommand}{DeclareTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
- Basically, |\DeclareTCBoxFit| operates like |\DeclareDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
- The \meta{options} are given to the underlying \refCom{tcboxfit}.\\
- Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
- automatically.\\
- The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new command is always created, irrespective of an already existing
- command with the same name.
-
-\begin{dispExample*}{sbs,lefthand ratio=0.6}
-% \usepackage{lipsum}
-
-\DeclareTCBoxFit{\mybox}{ O{} m !o }
- {colback=red!5!white,
- colframe=red!75!black,
- width=#2,height=#2/3*2,
- IfValueT={#3}{height=#3},
- #1}
-
-\mybox[colback=yellow]{5cm}%
- {\lipsum[2]}
-
-\mybox[colback=yellow]{5cm}[4cm]{\lipsum[2]}
-\end{dispExample*}
-\end{docCommand}
-
-\begin{docCommand}{NewTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBoxFit}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
-\end{docCommand}
-
-\begin{docCommand}{RenewTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBoxFit}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An existing command is redefined.
-\end{docCommand}
-
-\begin{docCommand}{ProvideTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBoxFit}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
- The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
-\end{docCommand}
-
-\clearpage
-
-\begin{docCommand}{DeclareTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
- In contrast to \refCom{DeclareTCBoxFit}, also the \meta{content} of the |tcboxfit| is specified.\\
- Basically, |\DeclareTotalTCBoxFit| operates like |\DeclareDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
- The \meta{options} are given to the underlying \refCom{tcboxfit} which is filled with
- the specified \meta{content}.\\
- Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
- automatically.\\
- The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new command is always created, irrespective of an already existing
- command with the same name.
-
-\begin{dispExample}
-% \usepackage{lipsum}
-
-\DeclareTotalTCBoxFit{\multibox}{ O{} m O{10} m }
- {nobeforeafter,colback=red!5!white,colframe=red!75!black,width=#2,height=#2/3*2,
- valign=center,#1}
- { \foreach \n in {1,...,#3} { #4} }
-
-\multibox{5cm}{I shall not repeat.}
-\multibox[colframe=blue!75!white]{5cm}[20]{I shall not repeat.}\\
-\multibox[colback=yellow,height=5cm]{14cm}[100]{I shall not repeat.}
-\end{dispExample}
-\end{docCommand}
-
-\begin{docCommand}{NewTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTCBoxFit}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
-\end{docCommand}
-
-\begin{docCommand}{RenewTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTCBoxFit}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An existing command is redefined.
-\end{docCommand}
-
-\begin{docCommand}{ProvideTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTCBoxFit}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
- The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
-\end{docCommand}
+Instead of including the |xparse| library, it is recommended to include the
+|xparse| package directly, \textbf{if really needed} (the \LaTeX\ kernel contains
+essentially everything needed). The library is kept for compatibility.
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 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,9 +1,9 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcolorbox.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -25,9 +25,10 @@
% arara: pdflatex: { shell: yes, synctex: yes }
% arara: pdflatex: { shell: yes, synctex: yes }
%
-\PassOptionsToPackage{pdftex,bookmarks,raiselinks,pageanchor,hyperindex,colorlinks}{hyperref}
+\PassOptionsToPackage{pdftex,bookmarks,raiselinks,pageanchor,hyperindex,colorlinks,pdfusetitle,pdfpagelabels}{hyperref}
\documentclass[a4paper,11pt]{ltxdoc}
+
\usepackage{tcolorbox.doc.s_main}
\tcbEXTERNALIZE
\usepackage{tcolorbox.doc.s_snippet}
@@ -35,8 +36,8 @@
\tcbAUXmkdir{external}
\tcbAUXmkdir{solutions}
-\RequirePackage{csquotes}
-\RequirePackage[style=numeric-comp,sorting=nyt,
+%\usepackage{csquotes}
+\usepackage[style=numeric-comp,sorting=nyt,
maxnames=8,minnames=8,abbreviate=false,backend=biber,
bibencoding=latin1,texencoding=ascii]{biblatex}
\DeclareFieldFormat{url}{\newline\url{#1}}%
@@ -44,8 +45,8 @@
\setlength{\bibitemsep}{\smallskipamount}
\addbibresource{tcolorbox.doc.bib}
-\def\version{5.0.2}%
-\def\datum{2022/01/07}%
+\def\version{5.1.0}%
+\def\datum{2022/06/22}%
\makeindex
\hypersetup{
@@ -63,7 +64,7 @@
%\geometry{showframe}
%\tcbset{draftmode}
\tcbset{/tcb/external/-}% for final run
-%\includeonly{tcolorbox.doc.listings}
+%\includeonly{tcolorbox.doc.fitting,tcolorbox.doc.index}
%\hypersetup{colorlinks=false}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcbbreakable.code.tex: Code for breakable colorboxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\RequirePackage{pdfcol}
\pdfcolInitStack{tcb at breakable}
@@ -95,7 +95,6 @@
\@setminipage\tcb at hyph@fix%
\let\tcb at drawcolorbox\tcb at drawcolorbox@standalone%
\let\FN at pp@footnote\@empty% disable perpage mode of 'footmisc' package
- \ignorespaces%
}
\def\endtcb at vbox{%
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcbdocumentation.code.tex: Code for LaTeX documentations
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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,17 @@
%%
%% This work consists of all files listed in README
%%
-\tcb at set@library at version{5.0.2}
+\tcb at set@library at version{5.1.0}
\tcbuselibrary{listings,skins,xparse,external,raster}
-\ifdefined\printindex\else\RequirePackage{makeidx}[2000/03/29]\fi
+\ifdefined\printindex\else%
+ \RequirePackage{makeidx}[2000/03/29]%
+ \AddToHook{begindocument/before}{%
+ \@ifpackageloaded{imakeidx}{%
+ \tcb at warning{`imakeidx' package should be loaded before `documentation' library}%
+ }{}}%
+\fi
\RequirePackage{refcount}[2011/10/16]
\RequirePackage{hyperref}[2012/02/06]
\ifdefined\marginnote\else\RequirePackage{marginnote}[2012/03/29]\fi
@@ -88,7 +94,6 @@
\colOpt{{\ttfamily[}\meta{#1}{\ttfamily]}}}
\def\brackets#1{{\ttfamily\char`\{}#1{\ttfamily\char`\}}}
-\newif\iftcb at doc@toindex
\newif\iftcb at doc@colorize
\newif\iftcb at doc@annotate
@@ -102,6 +107,7 @@
environment content/.store in=\kvtcb at text@envcontent,
environment/.store in=\kvtcb at text@env,
environments/.store in=\kvtcb at text@envs,
+ commands/.store in=\kvtcb at text@coms,
index/.store in=\kvtcb at text@index,
key/.store in=\kvtcb at text@key,
keys/.store in=\kvtcb at text@keys,
@@ -182,7 +188,6 @@
after doc body/.style={after doc body command={#1},after doc body environment={#1}
,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}}}},
@@ -210,6 +215,7 @@
counter=counter,counters=Counters,
environment content=environment content,
environment=environment,environments=Environments,
+ commands=Commands,
path=path operation,paths=Path operations,
index=Index,
key=key,keys=Keys,
@@ -277,28 +283,28 @@
\iftcb at doc@colorize\textcolor{#2}{\tcb at cs{#1}}\else\tcb at cs{#1}\fi%
}
-\newrobustcmd{\tcbIndexPrintComC}[1]{\tcb at Index@Print at ComC{#1}{\kvtcb at col@command}}
+\NewDocumentCommand{\tcbIndexPrintComC}{m}{\tcb at Index@Print at ComC{#1}{\kvtcb at col@command}}
-\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}}
+\NewDocumentCommand{\tcbIndexPrintEnvCA}{m}{\tcb at Index@Print at CA{#1}{\kvtcb at col@environment}{\kvtcb at text@env}}
+\NewDocumentCommand{\tcbIndexPrintEnvC}{m}{\tcb at Index@Print at C{#1}{\kvtcb at col@environment}}
-\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}}
+\NewDocumentCommand{\tcbIndexPrintKeyCA}{m}{\tcb at Index@Print at CA{#1}{\kvtcb at col@key}{\kvtcb at text@key}}
+\NewDocumentCommand{\tcbIndexPrintKeyC}{m}{\tcb at Index@Print at C{#1}{\kvtcb at col@key}}
-\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}}
+\NewDocumentCommand{\tcbIndexPrintPathCA}{m}{\tcb at Index@Print at CA{#1}{\kvtcb at col@path}{\kvtcb at text@path}}
+\NewDocumentCommand{\tcbIndexPrintPathC}{m}{\tcb at Index@Print at C{#1}{\kvtcb at col@path}}
-\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}}
+\NewDocumentCommand{\tcbIndexPrintValCA}{m}{\tcb at Index@Print at CA{#1}{\kvtcb at col@value}{\kvtcb at text@value}}
+\NewDocumentCommand{\tcbIndexPrintValC}{m}{\tcb at Index@Print at C{#1}{\kvtcb at col@value}}
-\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}}
+\NewDocumentCommand{\tcbIndexPrintColCA}{m}{\tcb at Index@Print at CA{#1}{\kvtcb at col@color}{\kvtcb at text@color}}
+\NewDocumentCommand{\tcbIndexPrintColC}{m}{\tcb at Index@Print at C{#1}{\kvtcb at col@color}}
-\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}}
+\NewDocumentCommand{\tcbIndexPrintCountCA}{m}{\tcb at Index@Print at CA{#1}{\kvtcb at col@counter}{\kvtcb at text@counter}}
+\NewDocumentCommand{\tcbIndexPrintCountC}{m}{\tcb at Index@Print at C{#1}{\kvtcb at col@counter}}
-\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}}
+\NewDocumentCommand{\tcbIndexPrintLenCA}{m}{\tcb at Index@Print at ComCA{#1}{\kvtcb at col@length}{\kvtcb at text@length}}
+\NewDocumentCommand{\tcbIndexPrintLenC}{m}{\tcb at Index@Print at ComC{#1}{\kvtcb at col@length}}
\newenvironment{tcb at manual@entry}{\begin{list}{}{%
@@ -326,6 +332,29 @@
\ExplSyntaxOn
+\cs_new_nopar:Npn \__tcobox_new_bool_key:nn #1 #2
+ {
+ \bool_new:N #1
+ \tcbset
+ {
+ #2/.is~choice,
+ #2/true/.code = { \bool_set_true:N #1 },
+ #2/false/.code = { \bool_set_false:N #1 },
+ #2/.default = true,
+ }
+ }
+
+\__tcobox_new_bool_key:nn \l__tcobox_doc_toindex_bool { doc~into~index }
+\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_colors_bool { index~gather~colors }
+\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_commands_bool { index~gather~commands }
+\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_counters_bool { index~gather~counters }
+\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_environments_bool { index~gather~environments }
+\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_keys_bool { index~gather~keys }
+\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_lengths_bool { index~gather~lengths }
+\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_paths_bool { index~gather~paths }
+\__tcobox_new_bool_key:nn \l__tcobox_doc_gather_values_bool { index~gather~values }
+
+
\cs_new_nopar:Npn \__tcobox_sanitize_tl:n #1
{
\group_begin:
@@ -416,9 +445,14 @@
\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
+ \bool_if:NT \l__tcobox_doc_toindex_bool
+ {
+ \kvtcb at index@command{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintComC{\kvtcb at doc@index}}
+ \bool_if:NT \l__tcobox_doc_gather_commands_bool
+ {
+ \kvtcb at index@command{\kvtcb at text@coms\idx at level\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintComC{\kvtcb at doc@index}}
+ }
+ }
}
\cs_new:Npn \__tcobox_doc_head_command:
@@ -457,7 +491,7 @@
\NewDocumentEnvironment{docCommand*}{}
{
\group_begin:
- \tcb at doc@toindexfalse
+ \bool_set_false:N \l__tcobox_doc_toindex_bool
\begin{docCommand}
}
{
@@ -473,10 +507,14 @@
\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
+ \bool_if:NT \l__tcobox_doc_toindex_bool
+ {
+ \kvtcb at index@command{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintEnvCA{\kvtcb at doc@index}}
+ \bool_if:NT \l__tcobox_doc_gather_environments_bool
+ {
+ \kvtcb at index@command{\kvtcb at text@envs\idx at level\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintEnvC{\kvtcb at doc@index}}
+ }
+ }
}
\cs_new:Npn \__tcobox_doc_head_environment:
@@ -517,7 +555,7 @@
\NewDocumentEnvironment{docEnvironment*}{}
{
\group_begin:
- \tcb at doc@toindexfalse
+ \bool_set_false:N \l__tcobox_doc_toindex_bool
\begin{docEnvironment}
}
{
@@ -538,17 +576,21 @@
\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
+ \bool_if:NT \l__tcobox_doc_toindex_bool
+ {
+ \kvtcb at index@command{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintKeyCA{\kvtcb at doc@index}}
+ \bool_if:NT \l__tcobox_doc_gather_keys_bool
+ {
+ \tl_if_empty:NTF \kvtcb at doc@keypath
+ {
+ \kvtcb at index@command{\kvtcb at text@keys\idx at level\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintKeyC{\kvtcb at doc@index}}
+ }
+ {
+ \kvtcb at index@command{\kvtcb at 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}}
+ }
+ }
+ }
}
\cs_new:Npn \__tcobox_doc_head_key:
@@ -603,7 +645,7 @@
\NewDocumentEnvironment{docKey*}{}
{
\group_begin:
- \tcb at doc@toindexfalse
+ \bool_set_false:N \l__tcobox_doc_toindex_bool
\begin{docKey}
}
{
@@ -633,7 +675,7 @@
\NewDocumentEnvironment{#1*}{}
{
\group_begin:
- \tcb at doc@toindexfalse
+ \bool_set_false:N \l__tcobox_doc_toindex_bool
\begin{#1}
}
{
@@ -668,10 +710,14 @@
\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
+ \bool_if:NT \l__tcobox_doc_toindex_bool
+ {
+ \kvtcb at index@command{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintPathCA{\kvtcb at doc@index}}
+ \bool_if:NT \l__tcobox_doc_gather_paths_bool
+ {
+ \kvtcb at index@command{\kvtcb at text@paths\idx at level\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintPathC{\kvtcb at doc@index}}
+ }
+ }
}
\cs_new:Npn \__tcobox_doc_head_path:
@@ -710,7 +756,7 @@
\NewDocumentEnvironment{docPathOperation*}{}
{
\group_begin:
- \tcb at doc@toindexfalse
+ \bool_set_false:N \l__tcobox_doc_toindex_bool
\begin{docPathOperation}
}
{
@@ -756,7 +802,10 @@
\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}}
+ \bool_if:NT \l__tcobox_doc_gather_values_bool
+ {
+ \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:
}
@@ -770,7 +819,10 @@
\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}}
+ \bool_if:NT \l__tcobox_doc_gather_colors_bool
+ {
+ \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:
}
@@ -784,7 +836,10 @@
\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}}
+ \bool_if:NT \l__tcobox_doc_gather_counters_bool
+ {
+ \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:
}
@@ -798,7 +853,10 @@
\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}}
+ \bool_if:NT \l__tcobox_doc_gather_lengths_bool
+ {
+ \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:
}
@@ -887,17 +945,19 @@
\ExplSyntaxOn
\def\tcb at doc@index at doc{
- \def \__tcobox_index_command:
+ \cs_set_nopar:Npn \__tcobox_index_command:
{
- \iftcb at doc@toindex
- \SpecialMainIndex{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintComC{\kvtcb at doc@index}}
- \fi
+ \bool_if:NT \l__tcobox_doc_toindex_bool
+ {
+ \SpecialMainIndex{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintComC{\kvtcb at doc@index}}
+ }
}
- \def \__tcobox_index_environment:
+ \cs_set_nopar:Npn \__tcobox_index_environment:
{
- \iftcb at doc@toindex
- \SpecialMainEnvIndex{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintEnvC{\kvtcb at doc@index}}
- \fi
+ \bool_if:NT \l__tcobox_doc_toindex_bool
+ {
+ \SpecialMainEnvIndex{\kvtcb at doc@sortindex\idx at actual\tcbIndexPrintEnvC{\kvtcb at doc@index}}
+ }
}
\tcbset{index~german~settings}
\EnableCrossrefs
@@ -908,6 +968,28 @@
\def\tcb at doc@index at off{}
\tcbset{%
+ index gather all/.style={%
+ index gather colors=true,
+ index gather commands=true,
+ index gather counters=true,
+ index gather environments=true,
+ index gather keys=true,
+ index gather lengths=true,
+ index gather paths=true,
+ index gather values=true},
+ index gather none/.style={%
+ index gather colors=false,
+ index gather commands=false,
+ index gather counters=false,
+ index gather environments=false,
+ index gather keys=false,
+ index gather lengths=false,
+ index gather paths=false,
+ index gather values=false},
+}
+
+
+\tcbset{%
reset at documentation/.style={%
},
initialize at reset=reset at documentation,
@@ -921,6 +1003,7 @@
after doc body=,
documentation listing style=tcbdocumentation,
doc into index=true,
+ index gather all,
doc marginnote=,
color option=Option,
color definition=Definition,
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcbexternal.code.tex: Code for externalization
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\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 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcbfitting.code.tex: Code for fit boxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\newdimen\tcbfitdim
\newdimen\tcb at lowerfitdim
@@ -371,28 +371,101 @@
\tcb at ox{capture=fitbox,#1}{#2}%
}
-\long\def\tcb at newtcboxfit#1#2{\expandafter\tcb at newcommand\csname#1\endcsname{\tcboxfit[#2,options at for=#1]}}
-\long\def\tcb at newtcboxfit@#1[#2]#3{\expandafter\tcb at newcommand\csname#1\endcsname[#2]{\tcboxfit[#3,options at for=#1]}}
+\ExplSyntaxOn
-\long\def\tcb at newtcboxfit@@#1[#2][#3]#4{\expandafter\tcb at newcommand\csname#1\endcsname[#2][#3]{\tcboxfit[#4,options at for=#1]}}
-\long\def\tcb at new@tcboxfit@#1[#2]{%
- \@ifnextchar[{\tcb at newtcboxfit@@{#1}[#2]}{\tcb at newtcboxfit@{#1}[#2]}}
+\NewDocumentCommand \__tcobox_new_tcboxfit_ii:w { m +m m o +o +m }
+ {
+ \__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
+ \tl_if_novalue:nTF { #4 }
+ {
+ \exp_args:Nc #1 { #3 }{ \tcboxfit[#6,options at for=#3] }
+ }
+ {
+ \tl_if_novalue:nTF { #5 }
+ {
+ \exp_args:Nc #1 { #3 }[ #4 ]{ \tcboxfit[#6,options at for=#3] }
+ }
+ {
+ \exp_args:Nc #1 { #3 }[ #4 ][ #5 ]{ \tcboxfit[#6,options at for=#3] }
+ }
+ }
+ }
+\NewDocumentCommand \__tcobox_new_tcboxfit_i:w { m +o m }
+ {
+ \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
+ \exp_args:NNnV \__tcobox_new_tcboxfit_ii:w #1 {#2} \l_tmpa_tl
+ }
+\NewDocumentCommand \newtcboxfit { }
+ {
+ \__tcobox_new_tcboxfit_i:w \newcommand
+ }
+\NewDocumentCommand \renewtcboxfit { }
+ {
+ \__tcobox_new_tcboxfit_i:w \renewcommand
+ }
-\long\def\tcb at new@tcboxfit#1{%
- \@ifnextchar[{\tcb at new@tcboxfit@{#1}}{\tcb at newtcboxfit{#1}}}
-\def\newtcboxfit{%
- \let\tcb at newcommand\newcommand%
- \let\tcb at process@newtcolorbox at continue\tcb at new@tcboxfit%
- \tcb at process@newcommand}
+\cs_new:Npn \__tcobox_new_TCBoxFit:Nnnnn #1#2#3#4#5
+ {
+ \__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
+ \exp_args:Nc #1 { #3 }{ #4 }{ \tcboxfit[#5,options at for=#3] }
+ }
+\NewDocumentCommand \__tcobox_new_TCBoxFit:w { m +o m }
+ {
+ \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
+ \exp_args:NNnV \__tcobox_new_TCBoxFit:Nnnnn #1 {#2} \l_tmpa_tl
+ }
+\NewDocumentCommand \DeclareTCBoxFit { }
+ {
+ \__tcobox_new_TCBoxFit:w \DeclareDocumentCommand
+ }
+\NewDocumentCommand \NewTCBoxFit { }
+ {
+ \__tcobox_new_TCBoxFit:w \NewDocumentCommand
+ }
+\NewDocumentCommand \RenewTCBoxFit { }
+ {
+ \__tcobox_new_TCBoxFit:w \RewewDocumentCommand
+ }
+\NewDocumentCommand \ProvideTCBoxFit { }
+ {
+ \__tcobox_new_TCBoxFit:w \ProvideDocumentCommand
+ }
-\def\renewtcboxfit{%
- \let\tcb at newcommand\renewcommand%
- \let\tcb at process@newtcolorbox at continue\tcb at new@tcboxfit%
- \tcb at process@newcommand}
+\cs_new:Npn \__tcobox_new_TotalTCBoxFit:Nnnnnn #1#2#3#4#5#6
+ {
+ \__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
+ \exp_args:Nc #1 { #3 }{ #4 }{ \tcboxfit[#5,options at for=#3]{#6} }
+ }
+\NewDocumentCommand \__tcobox_new_TotalTCBoxFit:w { m +o m }
+ {
+ \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
+ \exp_args:NNnV \__tcobox_new_TotalTCBoxFit:Nnnnnn #1 {#2} \l_tmpa_tl
+ }
+\NewDocumentCommand \DeclareTotalTCBoxFit { }
+ {
+ \__tcobox_new_TotalTCBoxFit:w \DeclareDocumentCommand
+ }
+\NewDocumentCommand \NewTotalTCBoxFit { }
+ {
+ \__tcobox_new_TotalTCBoxFit:w \NewDocumentCommand
+ }
+\NewDocumentCommand \RenewTotalTCBoxFit { }
+ {
+ \__tcobox_new_TotalTCBoxFit:w \RewewDocumentCommand
+ }
+\NewDocumentCommand \ProvideTotalTCBoxFit { }
+ {
+ \__tcobox_new_TotalTCBoxFit:w \ProvideDocumentCommand
+ }
+
+
+\ExplSyntaxOff
+
+
\tcbset{%
reset at fitting/.style={%
fit algorithm=fontsize,%
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcbhooks.code.tex: Code for adding hooks
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\tcbset{%
before upper app/.code={\appto\kvtcb at before@upper{#1}},%
@@ -40,6 +40,11 @@
after app/.code={\appto\kvtcb at afterbox{#1}},%
after pre/.code={\preto\kvtcb at afterbox{#1}},%
%
+ before float app/.code={\appto\kvtcb at beforefloat{#1}},%
+ before float pre/.code={\preto\kvtcb at beforefloat{#1}},%
+ after float app/.code={\appto\kvtcb at afterfloat{#1}},%
+ after float pre/.code={\preto\kvtcb at afterfloat{#1}},%
+ %
overlay unbroken app/.code={\appto\tcb at overlay@unbroken{#1}},%
overlay unbroken pre/.code={\preto\tcb at overlay@unbroken{#1}},%
overlay first app/.code={\appto\tcb at overlay@first{#1}},%
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcblistings.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\RequirePackage{listings}[2007/02/22]
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\tcbuselibrary{pro at cessing}
@@ -276,50 +276,123 @@
\begingroup\tcbverbatimwrite{\kvtcb at listingfile}%
}{\endtcbverbatimwrite\endgroup}
-\long\def\tcb at newtcblisting#1#2{\tcb at newenvironment{#1}{\tcblisting{#2,options at for=#1}}{\endtcblisting}}
-\long\def\tcb at newtcblisting@#1[#2]#3{\tcb at newenvironment{#1}[#2]{\tcblisting{#3,options at for=#1}}{\endtcblisting}}
+\ExplSyntaxOn
-\long\def\tcb at newtcblisting@@#1[#2][#3]#4{\tcb at newenvironment{#1}[#2][#3]{\tcblisting{#4,options at for=#1}}{\endtcblisting}}
-\long\def\tcb at new@tcblisting@#1[#2]{%
- \@ifnextchar[{\tcb at newtcblisting@@{#1}[#2]}{\tcb at newtcblisting@{#1}[#2]}}
+\NewDocumentCommand \__tcobox_new_tcblisting:w { m +o m o +o +m }
+ {
+ \__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
+ \tl_if_novalue:nTF { #4 }
+ {
+ #1 { #3 }{ \tcblisting{#6,options at for=#3} }{ \endtcblisting }
+ }
+ {
+ \tl_if_novalue:nTF { #5 }
+ {
+ #1 { #3 }[ #4 ]{ \tcblisting{#6,options at for=#3} }{ \endtcblisting }
+ }
+ {
+ #1 { #3 }[ #4 ][ #5 ]{ \tcblisting{#6,options at for=#3} }{ \endtcblisting }
+ }
+ }
+ }
+\NewDocumentCommand \newtcblisting { }
+ {
+ \__tcobox_new_tcblisting:w \newenvironment
+ }
+\NewDocumentCommand \renewtcblisting { }
+ {
+ \__tcobox_new_tcblisting:w \renewenvironment
+ }
-\def\tcb at new@tcblisting#1{%
- \@ifnextchar[{\tcb at new@tcblisting@{#1}}{\tcb at newtcblisting{#1}}}
-\def\newtcblisting{%
- \let\tcb at newenvironment\newenvironment%
- \let\tcb at process@newtcolorbox at continue\tcb at new@tcblisting%
- \tcb at process@newenvironment}
+\NewDocumentCommand \__tcobox_new_TCBListing:w { m +o m +m +m }
+ {
+ \__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
+ #1 { #3 }{ #4 }{ \tcblisting{#5,options at for=#3} }{ \endtcblisting }
+ }
+\NewDocumentCommand \DeclareTCBListing { }
+ {
+ \__tcobox_new_TCBListing:w \DeclareDocumentEnvironment
+ }
+\NewDocumentCommand \NewTCBListing { }
+ {
+ \__tcobox_new_TCBListing:w \NewDocumentEnvironment
+ }
+\NewDocumentCommand \RenewTCBListing { }
+ {
+ \__tcobox_new_TCBListing:w \RenewDocumentEnvironment
+ }
+\NewDocumentCommand \ProvideTCBListing { }
+ {
+ \__tcobox_new_TCBListing:w \ProvideDocumentEnvironment
+ }
-\def\renewtcblisting{%
- \let\tcb at newenvironment\renewenvironment%
- \let\tcb at process@newtcolorbox at continue\tcb at new@tcblisting%
- \tcb at process@newenvironment}
-\long\def\tcb at newtcbinputlisting#1#2{\expandafter\tcb at newcommand\csname#1\endcsname{\tcbinputlisting{#2,options at for=#1}}}
+\NewDocumentCommand \__tcobox_new_tcbinputlisting_ii:w { m +m m o +o +m }
+ {
+ \__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
+ \tl_if_novalue:nTF { #4 }
+ {
+ \exp_args:Nc #1 { #3 }{ \tcbinputlisting{#6,options at for=#3} }
+ }
+ {
+ \tl_if_novalue:nTF { #5 }
+ {
+ \exp_args:Nc #1 { #3 }[ #4 ]{ \tcbinputlisting{#6,options at for=#3} }
+ }
+ {
+ \exp_args:Nc #1 { #3 }[ #4 ][ #5 ]{ \tcbinputlisting{#6,options at for=#3} }
+ }
+ }
+ }
+\NewDocumentCommand \__tcobox_new_tcbinputlisting_i:w { m +o m }
+ {
+ \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
+ \exp_args:NNnV \__tcobox_new_tcbinputlisting_ii:w #1 {#2} \l_tmpa_tl
+ }
+\NewDocumentCommand \newtcbinputlisting { }
+ {
+ \__tcobox_new_tcbinputlisting_i:w \newcommand
+ }
+\NewDocumentCommand \renewtcbinputlisting { }
+ {
+ \__tcobox_new_tcbinputlisting_i:w \renewcommand
+ }
-\long\def\tcb at newtcbinputlisting@#1[#2]#3{\expandafter\tcb at newcommand\csname#1\endcsname[#2]{\tcbinputlisting{#3,options at for=#1}}}
-\long\def\tcb at newtcbinputlisting@@#1[#2][#3]#4{\expandafter\tcb at newcommand\csname#1\endcsname[#2][#3]{\tcbinputlisting{#4,options at for=#1}}}
+\cs_new:Npn \__tcobox_new_TCBInputListing:Nnnnn #1#2#3#4#5
+ {
+ \__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
+ \exp_args:Nc #1 { #3 }{ #4 }{ \tcbinputlisting{#5,options at for=#3} }
+ }
+\NewDocumentCommand \__tcobox_new_TCBInputListing:w { m +o m }
+ {
+ \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
+ \exp_args:NNnV \__tcobox_new_TCBInputListing:Nnnnn #1 {#2} \l_tmpa_tl
+ }
+\NewDocumentCommand \DeclareTCBInputListing { }
+ {
+ \__tcobox_new_TCBInputListing:w \DeclareDocumentCommand
+ }
+\NewDocumentCommand \NewTCBInputListing { }
+ {
+ \__tcobox_new_TCBInputListing:w \NewDocumentCommand
+ }
+\NewDocumentCommand \RenewTCBInputListing { }
+ {
+ \__tcobox_new_TCBInputListing:w \RewewDocumentCommand
+ }
+\NewDocumentCommand \ProvideTCBInputListing { }
+ {
+ \__tcobox_new_TCBInputListing:w \ProvideDocumentCommand
+ }
-\long\def\tcb at new@tcbinputlisting@#1[#2]{%
- \@ifnextchar[{\tcb at newtcbinputlisting@@{#1}[#2]}{\tcb at newtcbinputlisting@{#1}[#2]}}
-\def\tcb at new@tcbinputlisting#1{%
- \@ifnextchar[{\tcb at new@tcbinputlisting@{#1}}{\tcb at newtcbinputlisting{#1}}}
+\ExplSyntaxOff
-\def\newtcbinputlisting{%
- \let\tcb at newcommand\newcommand%
- \let\tcb at process@newtcolorbox at continue\tcb at new@tcbinputlisting%
- \tcb at process@newcommand}
-\def\renewtcbinputlisting{%
- \let\tcb at newcommand\renewcommand%
- \let\tcb at process@newtcolorbox at continue\tcb at new@tcbinputlisting%
- \tcb at process@newcommand}
-
\tcbset{%
reset at listingscore/.style={%
listing file=\jobname.listing,
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\tcbuselibrary{listings}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcbmagazine.code.tex: Code for box sets and magazine styles
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\tcbuselibrary{breakable}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcbminted.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\RequirePackage{minted}[2021/12/24]
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcbposter.code.tex: Code for posters
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\tcbuselibrary{breakable,magazine,skins,fitting}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcbprocessing.code.tex: Code for conditional processing
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\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 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\newcounter{tcbrastercolumn}
\newcounter{tcbrasterrow}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcbskins.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\RequirePackage{tikz}[2010/10/13]
@@ -217,12 +217,12 @@
}
\def\tcb at drawspec@LR#1{%
- \tcb at pathbase{#1,segmentation at style}{interior.south west}{[yshift=0.1mm]segmentation.east}%
+ \tcb at pathbase{#1,segmentation at style}{interior.south west}{[yshift=\tcboverlaplower]segmentation.east}%
{\tcb at arc@ins at SW}{\tcb at arc@zpt}{\tcb at arc@zpt}{\tcb at arc@ins at SE}%
}
\def\tcb at drawspec@LS#1{%
- \tcb at pathbase{#1,segmentation at style}{interior.west|-frame.south}{[yshift=0.1mm]segmentation.east}%
+ \tcb at pathbase{#1,segmentation at style}{interior.west|-frame.south}{[yshift=\tcboverlaplower]segmentation.east}%
{\tcb at arc@zpt}{\tcb at arc@zpt}{\tcb at arc@zpt}{\tcb at arc@zpt}%
}
@@ -409,6 +409,7 @@
\fi}},%
colbacklower/.colorlet=tcbcolbacklower,%
opacitybacklower/.store in=\kvtcb at opacitybacklower,
+ overlaplower/.dimstore in=\tcboverlaplower,
clear at spec/.code={\tcb at spec{}},%
tikz/.code={\appto\tcb at tikz@option at hook{,#1}},%
tikz reset/.code={\let\tcb at tikz@option at hook\@empty},%
@@ -2001,7 +2002,7 @@
\tcbset{%
reset at skins/.style={%
frame style=,interior style=,segmentation style=, at title style=,%
- colbacklower=black!15!white,opacitybacklower=1.0,%
+ colbacklower=black!15!white,opacitybacklower=1.0,overlaplower=0.1mm,%
extend freelance=,extend freelancefirst=,extend freelancemiddle=,extend freelancelast=,%
clear at spec,%
watermark opacity=1.00,watermark color=tcbcolback!85!tcbcolframe,%
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\tcbuselibrary{skins}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcbtheorems.code.tex: Code for theorems in colorboxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\RequirePackage{amsmath}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcbvignette.code.tex: Code for ornamental frames
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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{5.0.2}
+\tcb at set@library at version{5.1.0}
\tcbuselibrary{skins}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcbxparse.code.tex: Code for xparse features
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 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,284 +18,6 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb at set@library at version{5.0.2}
+\tcb at set@library at version{5.1.0}
\RequirePackage{xparse}[2013/12/31]
-
-\tcbset{%
- IfNoValueTF/.code n args={3}{\IfNoValueTF{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},
- IfNoValueT/.code n args={2}{\IfNoValueT{#1}{\pgfkeysalso{#2}}},
- IfNoValueF/.code n args={2}{\IfNoValueF{#1}{\pgfkeysalso{#2}}},
- IfValueTF/.code n args={3}{\IfValueTF{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},
- IfValueT/.code n args={2}{\IfValueT{#1}{\pgfkeysalso{#2}}},
- IfValueF/.code n args={2}{\IfValueF{#1}{\pgfkeysalso{#2}}},
- IfBooleanTF/.code n args={3}{\IfBooleanTF{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},
- IfBooleanT/.code n args={2}{\IfBooleanT{#1}{\pgfkeysalso{#2}}},
- IfBooleanF/.code n args={2}{\IfBooleanF{#1}{\pgfkeysalso{#2}}},
- verbatim/.style={fontupper=\ttfamily,nobeforeafter,tcbox raise base,top=0pt,bottom=0pt,left=1mm,right=1mm,boxrule=0.3mm}
-}
-
-%-- tcolorbox --
-\long\def\tcb at New@TColorBox#1#2#3{%
- \tcb at newenvironment{#1}{#2}{\tcolorbox[#3,options at for=#1]}{\endtcolorbox}}
-
-\def\DeclareTColorBox{%
- \let\tcb at newenvironment\DeclareDocumentEnvironment%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TColorBox%
- \tcb at process@newenvironment}
-
-\def\NewTColorBox{%
- \let\tcb at newenvironment\NewDocumentEnvironment%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TColorBox%
- \tcb at process@newenvironment}
-
-\def\RenewTColorBox{%
- \let\tcb at newenvironment\RenewDocumentEnvironment%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TColorBox%
- \tcb at process@newenvironment}
-
-\def\ProvideTColorBox{%
- \let\tcb at newenvironment\ProvideDocumentEnvironment%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TColorBox%
- \tcb at process@newenvironment}
-
-%-- tcolorbox (total) --
-\long\def\tcb at New@TotalTColorBox#1#2#3#4{%
- \expandafter\tcb at newcommand\csname#1\endcsname{#2}{\begin{tcolorbox}[#3,options at for=#1]#4\end{tcolorbox}}}
-
-\def\DeclareTotalTColorBox{%
- \let\tcb at newcommand\DeclareDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TotalTColorBox%
- \tcb at process@newcommand}
-
-\def\NewTotalTColorBox{%
- \let\tcb at newcommand\NewDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TotalTColorBox%
- \tcb at process@newcommand}
-
-\def\RenewTotalTColorBox{%
- \let\tcb at newcommand\RenewDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TotalTColorBox%
- \tcb at process@newcommand}
-
-\def\ProvideTotalTColorBox{%
- \let\tcb at newcommand\ProvideDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TotalTColorBox%
- \tcb at process@newcommand}
-
-%-- tcbox --
-\long\def\tcb at New@TCBox#1#2#3{%
- \expandafter\tcb at newcommand\csname#1\endcsname{#2}{\tcbox[#3,options at for=#1]}}
-
-\def\DeclareTCBox{%
- \let\tcb at newcommand\DeclareDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBox%
- \tcb at process@newcommand}
-
-\def\NewTCBox{%
- \let\tcb at newcommand\NewDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBox%
- \tcb at process@newcommand}
-
-\def\RenewTCBox{%
- \let\tcb at newcommand\RenewDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBox%
- \tcb at process@newcommand}
-
-\def\ProvideTCBox{%
- \let\tcb at newcommand\ProvideDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBox%
- \tcb at process@newcommand}
-
-%-- tcbox (total) --
-\long\def\tcb at New@TotalTCBox#1#2#3#4{%
- \expandafter\tcb at newcommand\csname#1\endcsname{#2}{\tcbox[#3,options at for=#1]{#4}}}
-
-\def\DeclareTotalTCBox{%
- \let\tcb at newcommand\DeclareDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TotalTCBox%
- \tcb at process@newcommand}
-
-\def\NewTotalTCBox{%
- \let\tcb at newcommand\NewDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TotalTCBox%
- \tcb at process@newcommand}
-
-\def\RenewTotalTCBox{%
- \let\tcb at newcommand\RenewDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TotalTCBox%
- \tcb at process@newcommand}
-
-\def\ProvideTotalTCBox{%
- \let\tcb at newcommand\ProvideDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TotalTCBox%
- \tcb at process@newcommand}
-
-\DeclareTotalTCBox{\tcboxverb}{ O{} v }{verbatim,#1}{#2}
-
-%-- tcboxfit --
-\long\def\tcb at New@TCBoxFit#1#2#3{%
- \expandafter\tcb at newcommand\csname#1\endcsname{#2}{\tcboxfit[#3,options at for=#1]}}
-
-\def\DeclareTCBoxFit{%
- \let\tcb at newcommand\DeclareDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBoxFit%
- \tcb at process@newcommand}
-
-\def\NewTCBoxFit{%
- \let\tcb at newcommand\NewDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBoxFit%
- \tcb at process@newcommand}
-
-\def\RenewTCBoxFit{%
- \let\tcb at newcommand\RenewDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBoxFit%
- \tcb at process@newcommand}
-
-\def\ProvideTCBoxFit{%
- \let\tcb at newcommand\ProvideDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBoxFit%
- \tcb at process@newcommand}
-
-\long\def\tcb at New@TotalTCBoxFit#1#2#3#4{%
- \expandafter\tcb at newcommand\csname#1\endcsname{#2}{\tcboxfit[#3,options at for=#1]{#4}}}
-
-\def\DeclareTotalTCBoxFit{%
- \let\tcb at newcommand\DeclareDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TotalTCBoxFit%
- \tcb at process@newcommand}
-
-\def\NewTotalTCBoxFit{%
- \let\tcb at newcommand\NewDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TotalTCBoxFit%
- \tcb at process@newcommand}
-
-\def\RenewTotalTCBoxFit{%
- \let\tcb at newcommand\RenewDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TotalTCBoxFit%
- \tcb at process@newcommand}
-
-\def\ProvideTotalTCBoxFit{%
- \let\tcb at newcommand\ProvideDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TotalTCBoxFit%
- \tcb at process@newcommand}
-
-
-%-- tcblisting --
-\long\def\tcb at New@TCBListing#1#2#3{%
- \tcb at newenvironment{#1}{#2}{\tcblisting{#3,options at for=#1}}{\endtcblisting}}
-
-\def\DeclareTCBListing{%
- \let\tcb at newenvironment\DeclareDocumentEnvironment%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBListing%
- \tcb at process@newenvironment}
-
-\def\NewTCBListing{%
- \let\tcb at newenvironment\NewDocumentEnvironment%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBListing%
- \tcb at process@newenvironment}
-
-\def\RenewTCBListing{%
- \let\tcb at newenvironment\RenewDocumentEnvironment%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBListing%
- \tcb at process@newenvironment}
-
-\def\ProvideTCBListing{%
- \let\tcb at newenvironment\ProvideDocumentEnvironment%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBListing%
- \tcb at process@newenvironment}
-
-%-- tcbinputlisting --
-\long\def\tcb at New@TCBInputListing#1#2#3{%
- \expandafter\tcb at newcommand\csname#1\endcsname{#2}{\tcbinputlisting{#3,options at for=#1}}%
-}
-
-\def\DeclareTCBInputListing{%
- \let\tcb at newcommand\DeclareDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBInputListing%
- \tcb at process@newcommand}
-
-\def\NewTCBInputListing{%
- \let\tcb at newcommand\NewDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBInputListing%
- \tcb at process@newcommand}
-
-\def\RenewTCBInputListing{%
- \let\tcb at newcommand\RenewDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBInputListing%
- \tcb at process@newcommand}
-
-\def\ProvideTCBInputListing{%
- \let\tcb at newcommand\ProvideDocumentCommand%
- \let\tcb at process@newtcolorbox at continue\tcb at New@TCBInputListing%
- \tcb at process@newcommand}
-
-
-%-- sidebyside --
-
-\def\tcb at sbs@content at none{\tcb at sbs@text at left\tcblower\tcb at sbs@text at right}
-\def\tcb at sbs@content at left{\box\tcb at upperbox\tcblower\tcb at sbs@text at right}
-\def\tcb at sbs@content at right{\tcb at sbs@text at left\tcblower\box\tcb at lowerbox}
-\def\tcb at sbs@content at both{\box\tcb at upperbox\tcblower\box\tcb at lowerbox}
-
-\def\tcb at sbs@save at upper{%
- \sbox{\tcb at upperbox}{\color{tcbcolupper}\kvtcb at fontupper\kvtcb at halignupper\tcb at insert@before at upper\tcb at sbs@text at left\tcb at insert@after at upper}%
-}
-\def\tcb at sbs@save at lower{%
- \sbox{\tcb at lowerbox}{\color{tcbcollower}\kvtcb at fontlower\kvtcb at halignlower\tcb at insert@before at lower\tcb at sbs@text at right\tcb at insert@after at lower}%
-}
-
-\tcbset{%
- sidebyside adapt/.is choice,
- sidebyside adapt/none/.style={%
- sidebyside at adapt@process/.style={%
- code={\let\tcb at sbs@content\tcb at sbs@content at none},
- }%
- },
- sidebyside adapt/left/.style={%
- sidebyside at adapt@process/.style={%
- code={\tcb at sbs@save at upper\let\tcb at sbs@content\tcb at sbs@content at left},
- lefthand width=\wd\tcb at upperbox,
- }%
- },
- sidebyside adapt/right/.style={%
- sidebyside at adapt@process/.style={%
- code={\tcb at sbs@save at lower\let\tcb at sbs@content\tcb at sbs@content at right},
- righthand width=\wd\tcb at lowerbox,
- }%
- },
- sidebyside adapt/both/.style={%
- sidebyside at adapt@process/.style={%
- code={\tcb at sbs@save at upper\tcb at sbs@save at lower\let\tcb at sbs@content\tcb at sbs@content at both},
- text width=\wd\tcb at upperbox+\kvtcb at sbs@gap+\wd\tcb at lowerbox,
- lefthand width=\wd\tcb at upperbox,
- }%
- },
- %
- sidebyside switch/.is choice,
- sidebyside switch/true/.style={%
- sidebyside at switch/.code={%
- \tcb at swap{\tcb at sbs@text at left}{\tcb at sbs@text at right}
- }%
- },
- sidebyside switch/false/.style={%
- sidebyside at switch/.style=%
- },
- sidebyside switch/.default=true
-}
-
-
-\DeclareTotalTColorBox{\tcbsidebyside}{ +O{} +m +m }{%
- code={\long\def\tcb at sbs@text at left{#2}\long\def\tcb at sbs@text at right{#3}},%
- #1,%
- sidebyside,%
- sidebyside at switch,sidebyside at adapt@process%
-}{\tcb at sbs@content}
-
-
-\tcbset{%
- reset at xparse/.style={%
- sidebyside adapt=none,sidebyside switch=false,%
- },
- initialize at reset=reset at xparse,
-}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty 2022-06-22 20:53:07 UTC (rev 63693)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty 2022-06-22 20:56:47 UTC (rev 63694)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.0.2 (2022/01/07)
+%% The LaTeX package tcolorbox - version 5.1.0 (2022/06/22)
%% tcolorbox.sty: Text color boxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,9 +17,9 @@
%%
%% This work consists of all files listed in README
%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tcolorbox}[2022/01/07 version 5.0.2 text color boxes]
-\def\tcb at version{5.0.2}
+\NeedsTeXFormat{LaTeX2e}[2020/10/01]
+\ProvidesPackage{tcolorbox}[2022/06/22 version 5.1.0 text color boxes]
+\def\tcb at version{5.1.0}
\RequirePackage{pgf}[2008/01/15]
\RequirePackage{verbatim}[2003/08/22]
@@ -378,6 +378,8 @@
}},
beforeafter skip/.style={before skip={#1},after skip={#1}},
before nobreak/.store in=\kvtcb at beforebox@nobreak,
+ before float/.store in=\kvtcb at beforefloat,
+ after float/.store in=\kvtcb at afterfloat,
lowerbox/.is choice,
lowerbox/visible/.code={\tcb at lowerignoredfalse\tcb at lowervisibletrue},
lowerbox/invisible/.code={\tcb at lowerignoredfalse\tcb at lowervisiblefalse},
@@ -591,7 +593,14 @@
skin first is subskin of/.style 2 args={skin at local@first/.style={skin@#1,#2},skin first=local at first},%
skin middle is subskin of/.style 2 args={skin at local@middle/.style={skin@#1,#2},skin middle=local at middle},%
skin last is subskin of/.style 2 args={skin at local@last/.style={skin@#1,#2},skin last=local at last},%
- parbox/.store in=\kvtcb at parbox,
+ parbox/.is choice,
+ parbox/true/.code={%
+ \def\kvtcb at parbox{true}%
+ },
+ parbox/false/.code={%
+ \def\kvtcb at parbox{false}%
+ \appto\tcb at lateoptions@hook{\csname tcb at parbox@\kvtcb at parbox @indent\endcsname}%
+ },
parbox/.default=true,%
hyphenationfix/.is choice,%
hyphenationfix/.default=true,%
@@ -717,6 +726,41 @@
sidebyside align/center seam/.code={\def\kvtcb at sbs@align{center}\let\tcb at box@align\tcb at box@align at center},%
sidebyside align/bottom seam/.code={\def\kvtcb at sbs@align{bottom}\let\tcb at box@align\tcb at box@align at bottom},%
sidebyside gap/.dimstore in=\kvtcb at sbs@gap,%
+ sidebyside adapt/.is choice,
+ sidebyside adapt/none/.style={%
+ sidebyside at adapt@process/.style={%
+ code={\let\tcb at sbs@content\tcb at sbs@content at none},
+ }%
+ },
+ sidebyside adapt/left/.style={%
+ sidebyside at adapt@process/.style={%
+ code={\tcb at sbs@save at upper\let\tcb at sbs@content\tcb at sbs@content at left},
+ lefthand width=\wd\tcb at upperbox,
+ }%
+ },
+ sidebyside adapt/right/.style={%
+ sidebyside at adapt@process/.style={%
+ code={\tcb at sbs@save at lower\let\tcb at sbs@content\tcb at sbs@content at right},
+ righthand width=\wd\tcb at lowerbox,
+ }%
+ },
+ sidebyside adapt/both/.style={%
+ sidebyside at adapt@process/.style={%
+ code={\tcb at sbs@save at upper\tcb at sbs@save at lower\let\tcb at sbs@content\tcb at sbs@content at both},
+ text width=\wd\tcb at upperbox+\kvtcb at sbs@gap+\wd\tcb at lowerbox,
+ lefthand width=\wd\tcb at upperbox,
+ }%
+ },
+ sidebyside switch/.is choice,
+ sidebyside switch/true/.style={%
+ sidebyside at switch/.code={%
+ \tcb at swap{\tcb at sbs@text at left}{\tcb at sbs@text at right}
+ }%
+ },
+ sidebyside switch/false/.style={%
+ sidebyside at switch/.style=%
+ },
+ sidebyside switch/.default=true,
lefthand width/.code={\def\kvtcb at sbs@ratio{#1}\let\tcb at sbs@quota=\tcb at sbs@quota at leftwidth},
righthand width/.code={\def\kvtcb at sbs@ratio{#1}\let\tcb at sbs@quota=\tcb at sbs@quota at rightwidth},
lefthand ratio/.code={\def\kvtcb at sbs@ratio{#1}\let\tcb at sbs@quota=\tcb at sbs@quota at leftratio},
@@ -824,9 +868,31 @@
verbatim ignore percent/true/.code={\def\tcb at verbatim@change at percent{\catcode`\^^e=9}},
verbatim ignore percent/false/.code={\let\tcb at verbatim@change at percent\@empty},
verbatim ignore percent/.default=true,
+ verbatim/.style={fontupper=\ttfamily,nobeforeafter,tcbox raise base,top=0pt,bottom=0pt,left=1mm,right=1mm,boxrule=0.3mm},
wrap at environment/.is if=tcb at wrap@environment,
}
+\ExplSyntaxOn
+\tcbset
+ {
+ IfBlankTF/.code~n~args={3}{\tl_if_blank:nTF{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},
+ IfBlankT/.code~n~args={2}{\tl_if_blank:nT{#1}{\pgfkeysalso{#2}}},
+ IfBlankF/.code~n~args={2}{\tl_if_blank:nF{#1}{\pgfkeysalso{#2}}},
+ IfEmptyTF/.code~n~args={3}{\tl_if_empty:nTF{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},
+ IfEmptyT/.code~n~args={2}{\tl_if_empty:nT{#1}{\pgfkeysalso{#2}}},
+ IfEmptyF/.code~n~args={2}{\tl_if_empty:nF{#1}{\pgfkeysalso{#2}}},
+ IfNoValueTF/.code~n~args={3}{\tl_if_novalue:nTF{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},
+ IfNoValueT/.code~n~args={2}{\tl_if_novalue:nT{#1}{\pgfkeysalso{#2}}},
+ IfNoValueF/.code~n~args={2}{\tl_if_novalue:nF{#1}{\pgfkeysalso{#2}}},
+ IfValueTF/.code~n~args={3}{\tl_if_novalue:nTF{#1}{\pgfkeysalso{#3}}{\pgfkeysalso{#2}}},
+ IfValueT/.code~n~args={2}{\tl_if_novalue:nF{#1}{\pgfkeysalso{#2}}},
+ IfValueF/.code~n~args={2}{\tl_if_novalue:nT{#1}{\pgfkeysalso{#2}}},
+ IfBooleanTF/.code~n~args={3}{\IfBooleanTF{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},
+ IfBooleanT/.code~n~args={2}{\IfBooleanT{#1}{\pgfkeysalso{#2}}},
+ IfBooleanF/.code~n~args={2}{\IfBooleanF{#1}{\pgfkeysalso{#2}}},
+ }
+\ExplSyntaxOff
+
\def\kvtcb at beforebox{}
\def\kvtcb at afterbox{}
@@ -838,10 +904,16 @@
\fi%
}
+\def\tcb at parbox@true at indent{}%
+\def\tcb at parbox@false at indent{%
+ \preto\kvtcb at before@title{\noindent}%
+ \preto\kvtcb at before@upper{\noindent}%
+ \preto\kvtcb at before@lower{\noindent}%
+}%
+
\let\tcb at parboxrestore=\@parboxrestore
\def\tcb at parbox@false at settings{%
- \noindent%
\linewidth\hsize%
\@totalleftmargin\z@%
\leftskip\z at skip%
@@ -926,7 +998,7 @@
\ifx\kvtcb at title\@empty\tcb at hasTitlefalse\tcb at specialtitle@hook\else%
\tcb at hasTitletrue%
\tcbdimto\tcb at w@title{\kvtcb at width-(\kvtcb at left@rule+\kvtcb at right@rule+(\kvtcb at boxsep)*2+\kvtcb at lefttitle+\kvtcb at righttitle)}%
- \begin{tcb at savebox}{\tcb at titlebox}{\tcb at w@title}\color{tcbcoltitle}\kvtcb at fonttitle\kvtcb at haligntitle\kvtcb at before@title\kvtcb at title\kvtcb at after@title\end{tcb at savebox}%
+ \begin{tcb at savebox}{\tcb at titlebox}{\tcb at w@title}\tcb at lua@color{tcbcoltitle}\kvtcb at fonttitle\kvtcb at haligntitle\kvtcb at before@title\kvtcb at title\kvtcb at after@title\end{tcb at savebox}%
\fi%
}
@@ -983,6 +1055,18 @@
\fi%
}
+\def\tcb at sbs@content at none{\tcb at sbs@text at left\tcblower\tcb at sbs@text at right}
+\def\tcb at sbs@content at left{\box\tcb at upperbox\tcblower\tcb at sbs@text at right}
+\def\tcb at sbs@content at right{\tcb at sbs@text at left\tcblower\box\tcb at lowerbox}
+\def\tcb at sbs@content at both{\box\tcb at upperbox\tcblower\box\tcb at lowerbox}
+
+\def\tcb at sbs@save at upper{%
+ \sbox{\tcb at upperbox}{\color{tcbcolupper}\kvtcb at fontupper\kvtcb at halignupper\tcb at insert@before at upper\tcb at sbs@text at left\tcb at insert@after at upper}%
+}
+\def\tcb at sbs@save at lower{%
+ \sbox{\tcb at lowerbox}{\color{tcbcollower}\kvtcb at fontlower\kvtcb at halignlower\tcb at insert@before at lower\tcb at sbs@text at right\tcb at insert@after at lower}%
+}
+
\def\tcb at set@color#1{%
\edef\current at color{\@nameuse{\string\color@#1}}%
\colorlet{.}{#1}%
@@ -1829,8 +1913,8 @@
\ifx\kvtcb at float\@empty%
\tcb at set@normal at unbroken@beforeafter%
\else%
- \edef\tcb at before@unbroken{\noexpand\tcb at float@env at begin{tcbfloat}[\kvtcb at float]\noexpand\kvtcb at everyfloat}%
- \let\tcb at after@unbroken=\tcb at float@env at end%
+ \edef\tcb at before@unbroken{\noexpand\tcb at float@env at begin{tcbfloat}[\kvtcb at float]\noexpand\kvtcb at beforefloat\noexpand\kvtcb at everyfloat}%
+ \def\tcb at after@unbroken{\kvtcb at afterfloat\tcb at float@env at end}%
\fi%
\setcounter{tcbbreakpart}{1}%
% computation of total height
@@ -2048,45 +2132,199 @@
\kvtcb at init@hook%
}%
-\long\def\tcb at process@newtcolorbox#1#2{%
- \edef\tcb at new@boxname{#1}%
- \def\tcb at new@colopt{}%
- \long\def\temp at a{#2}%
- \ifx\temp at a\@empty\relax%
- \else%
- \tcb at proc@options at init{#2}{#1}%
- \fi%
- \preto\tcb at new@colopt{savedelimiter=#1}%
- \cslet{tcb at opt@#1}{\tcb at new@colopt}%
- \tcb at process@newtcolorbox at continue{#1}%
-}
-\newcommand\tcb at process@newenvironment[2][]{%
- \tcb at process@newtcolorbox{#2}{#1}%
-}
+\ExplSyntaxOn
-\long\def\tcb at newtcolorbox#1#2{\tcb at newenvironment{#1}{\tcolorbox[#2,options at for=#1]}{\endtcolorbox}}
+\cs_new:Npn \__tcobox_process_newtcolorbox:nn #1#2
+ {
+ \edef\tcb at new@boxname{#2}
+ \def\tcb at new@colopt{}
+ \tl_if_novalue:nF { #1 }
+ {
+ \tcb at proc@options at init{#1}{#2}
+ }
+ \preto\tcb at new@colopt{savedelimiter=#2}
+ \exp_args:Nc \cs_set_eq:NN { tcb at opt@#2 } \tcb at new@colopt
+ }
-\long\def\tcb at newtcolorbox@#1[#2]#3{\tcb at newenvironment{#1}[#2]{\tcolorbox[#3,options at for=#1]}{\endtcolorbox}}
-\long\def\tcb at newtcolorbox@@#1[#2][#3]#4{\tcb at newenvironment{#1}[#2][#3]{\tcolorbox[#4,options at for=#1]}{\endtcolorbox}}
+\cs_new:Npn \__tcobox_set_backslash_removed:Nn #1#2
+ {
+ \tl_set:Nn #1 { #2 }
+ \tl_trim_spaces:N #1
+ \tl_set:Nx #1 { \exp_last_unbraced:NV \cs_to_str:N #1 }
+ }
-\long\def\tcb at new@tcolorbox@#1[#2]{%
- \@ifnextchar[{\tcb at newtcolorbox@@{#1}[#2]}{\tcb at newtcolorbox@{#1}[#2]}}
-\def\tcb at new@tcolorbox#1{%
- \@ifnextchar[{\tcb at new@tcolorbox@{#1}}{\tcb at newtcolorbox{#1}}}
+\NewDocumentCommand \__tcobox_new_tcolorbox:w { m +o m o +o +m }
+ {
+ \__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
+ \tl_if_novalue:nTF { #4 }
+ {
+ #1 { #3 }{ \tcolorbox[#6,options at for=#3] }{ \endtcolorbox }
+ }
+ {
+ \tl_if_novalue:nTF { #5 }
+ {
+ #1 { #3 }[ #4 ]{ \tcolorbox[#6,options at for=#3] }{ \endtcolorbox }
+ }
+ {
+ #1 { #3 }[ #4 ][ #5 ]{ \tcolorbox[#6,options at for=#3] }{ \endtcolorbox }
+ }
+ }
+ }
+\NewDocumentCommand \newtcolorbox { }
+ {
+ \__tcobox_new_tcolorbox:w \newenvironment
+ }
+\NewDocumentCommand \renewtcolorbox { }
+ {
+ \__tcobox_new_tcolorbox:w \renewenvironment
+ }
-\def\newtcolorbox{%
- \let\tcb at newenvironment\newenvironment%
- \let\tcb at process@newtcolorbox at continue\tcb at new@tcolorbox%
- \tcb at process@newenvironment}
-\def\renewtcolorbox{%
- \let\tcb at newenvironment\renewenvironment%
- \let\tcb at process@newtcolorbox at continue\tcb at new@tcolorbox%
- \tcb at process@newenvironment}
+\NewDocumentCommand \__tcobox_new_TColorBox:w { m +o m +m +m }
+ {
+ \__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
+ #1 { #3 }{ #4 }{ \tcolorbox[#5,options at for=#3] }{ \endtcolorbox }
+ }
+\NewDocumentCommand \DeclareTColorBox { }
+ {
+ \__tcobox_new_TColorBox:w \DeclareDocumentEnvironment
+ }
+\NewDocumentCommand \NewTColorBox { }
+ {
+ \__tcobox_new_TColorBox:w \NewDocumentEnvironment
+ }
+\NewDocumentCommand \RenewTColorBox { }
+ {
+ \__tcobox_new_TColorBox:w \RenewDocumentEnvironment
+ }
+\NewDocumentCommand \ProvideTColorBox { }
+ {
+ \__tcobox_new_TColorBox:w \ProvideDocumentEnvironment
+ }
+
+\cs_new:Npn \__tcobox_new_TotalTColorBox:Nnnnnn #1#2#3#4#5#6
+ {
+ \__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
+ \exp_args:Nc #1 { #3 }{ #4 }{ \begin{tcolorbox}[#5,options at for=#3]#6\end{tcolorbox} }
+ }
+\NewDocumentCommand \__tcobox_new_TotalTColorBox:w { m +o m }
+ {
+ \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
+ \exp_args:NNnV \__tcobox_new_TotalTColorBox:Nnnnnn #1 {#2} \l_tmpa_tl
+ }
+\NewDocumentCommand \DeclareTotalTColorBox { }
+ {
+ \__tcobox_new_TotalTColorBox:w \DeclareDocumentCommand
+ }
+\NewDocumentCommand \NewTotalTColorBox { }
+ {
+ \__tcobox_new_TotalTColorBox:w \NewDocumentCommand
+ }
+\NewDocumentCommand \RenewTotalTColorBox { }
+ {
+ \__tcobox_new_TotalTColorBox:w \RenewDocumentCommand
+ }
+\NewDocumentCommand \ProvideTotalTColorBox { }
+ {
+ \__tcobox_new_TotalTColorBox:w \ProvideDocumentCommand
+ }
+
+
+\NewDocumentCommand \__tcobox_new_tcbox_ii:w { m +m m o +o +m }
+ {
+ \__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
+ \tl_if_novalue:nTF { #4 }
+ {
+ \exp_args:Nc #1 { #3 }{ \tcbox[#6,options at for=#3] }
+ }
+ {
+ \tl_if_novalue:nTF { #5 }
+ {
+ \exp_args:Nc #1 { #3 }[ #4 ]{ \tcbox[#6,options at for=#3] }
+ }
+ {
+ \exp_args:Nc #1 { #3 }[ #4 ][ #5 ]{ \tcbox[#6,options at for=#3] }
+ }
+ }
+ }
+\NewDocumentCommand \__tcobox_new_tcbox_i:w { m +o m }
+ {
+ \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
+ \exp_args:NNnV \__tcobox_new_tcbox_ii:w #1 {#2} \l_tmpa_tl
+ }
+\NewDocumentCommand \newtcbox { }
+ {
+ \__tcobox_new_tcbox_i:w \newcommand
+ }
+\NewDocumentCommand \renewtcbox { }
+ {
+ \__tcobox_new_tcbox_i:w \renewcommand
+ }
+
+
+\cs_new:Npn \__tcobox_new_TCBox:Nnnnn #1#2#3#4#5
+ {
+ \__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
+ \exp_args:Nc #1 { #3 }{ #4 }{ \tcbox[#5,options at for=#3] }
+ }
+\NewDocumentCommand \__tcobox_new_TCBox:w { m +o m }
+ {
+ \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
+ \exp_args:NNnV \__tcobox_new_TCBox:Nnnnn #1 {#2} \l_tmpa_tl
+ }
+\NewDocumentCommand \DeclareTCBox { }
+ {
+ \__tcobox_new_TCBox:w \DeclareDocumentCommand
+ }
+\NewDocumentCommand \NewTCBox { }
+ {
+ \__tcobox_new_TCBox:w \NewDocumentCommand
+ }
+\NewDocumentCommand \RenewTCBox { }
+ {
+ \__tcobox_new_TCBox:w \RewewDocumentCommand
+ }
+\NewDocumentCommand \ProvideTCBox { }
+ {
+ \__tcobox_new_TCBox:w \ProvideDocumentCommand
+ }
+
+
+\cs_new:Npn \__tcobox_new_TotalTCBox:Nnnnnn #1#2#3#4#5#6
+ {
+ \__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
+ \exp_args:Nc #1 { #3 }{ #4 }{ \tcbox[#5,options at for=#3]{#6} }
+ }
+\NewDocumentCommand \__tcobox_new_TotalTCBox:w { m +o m }
+ {
+ \__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
+ \exp_args:NNnV \__tcobox_new_TotalTCBox:Nnnnnn #1 {#2} \l_tmpa_tl
+ }
+\NewDocumentCommand \DeclareTotalTCBox { }
+ {
+ \__tcobox_new_TotalTCBox:w \DeclareDocumentCommand
+ }
+\NewDocumentCommand \NewTotalTCBox { }
+ {
+ \__tcobox_new_TotalTCBox:w \NewDocumentCommand
+ }
+\NewDocumentCommand \RenewTotalTCBox { }
+ {
+ \__tcobox_new_TotalTCBox:w \RewewDocumentCommand
+ }
+\NewDocumentCommand \ProvideTotalTCBox { }
+ {
+ \__tcobox_new_TotalTCBox:w \ProvideDocumentCommand
+ }
+
+
+\ExplSyntaxOff
+
+
\newcommand{\tcolorboxenvironment}[2]{%
\AddToHook{env/#1/before}{%
\begin{tcolorbox}[savedelimiter={#1},#2,wrap at environment,%
@@ -2097,48 +2335,16 @@
}%
}
-% auxiliary code to remove a leading backspace
-\newcommand{\tcb at remove@bs}[1]{%
- \ifcat\relax\noexpand#1%
- \expandafter\tcb at remove@bs at aux@i%
- \fi
- #1}
-\newcommand*{\tcb at remove@bs at aux@i}{%
- \romannumeral%
- \if\string\ \tcb at remove@bs at aux@ii\fi%
- \expandafter\tcb at remove@bs at aux@iii\string}
-\newcommand{\tcb at remove@bs at aux@ii}{}
-\long\def\tcb at remove@bs at aux@ii#1\tcb at remove@bs at aux@iii{%
- -\number\fi\expandafter\z@}
-\newcommand{\tcb at remove@bs at aux@iii}[1]{\z@}
+\DeclareTotalTCBox{\tcboxverb}{ O{} v }{verbatim,#1}{#2}
-\newcommand\tcb at process@newcommand[2][]{%
- \begingroup\edef\x{\endgroup\noexpand\tcb at process@newtcolorbox{\tcb at remove@bs{#2}}}\x{#1}%
-}
+\DeclareTotalTColorBox{\tcbsidebyside}{ +O{} +m +m }{%
+ code={\long\def\tcb at sbs@text at left{#2}\long\def\tcb at sbs@text at right{#3}},%
+ #1,%
+ sidebyside,%
+ sidebyside at switch,sidebyside at adapt@process%
+}{\tcb at sbs@content}
-\long\def\tcb at newtcbox#1#2{\expandafter\tcb at newcommand\csname#1\endcsname{\tcbox[#2,options at for=#1]}}
-\long\def\tcb at newtcbox@#1[#2]#3{\expandafter\tcb at newcommand\csname#1\endcsname[#2]{\tcbox[#3,options at for=#1]}}
-
-\long\def\tcb at newtcbox@@#1[#2][#3]#4{\expandafter\tcb at newcommand\csname#1\endcsname[#2][#3]{\tcbox[#4,options at for=#1]}}
-
-\long\def\tcb at new@tcbox@#1[#2]{%
- \@ifnextchar[{\tcb at newtcbox@@{#1}[#2]}{\tcb at newtcbox@{#1}[#2]}}
-
-\def\tcb at new@tcbox#1{%
- \@ifnextchar[{\tcb at new@tcbox@{#1}}{\tcb at newtcbox{#1}}}
-
-\def\newtcbox{%
- \let\tcb at newcommand\newcommand%
- \let\tcb at process@newtcolorbox at continue\tcb at new@tcbox%
- \tcb at process@newcommand}
-
-\def\renewtcbox{%
- \let\tcb at newcommand\renewcommand%
- \let\tcb at process@newtcolorbox at continue\tcb at new@tcbox%
- \tcb at process@newcommand}
-
-
\def\tcb at addcontentsline#1#2{%
\ifx\kvtcb at listentry\@empty%
\ifx\kvtcb at title\@empty%
@@ -2346,7 +2552,9 @@
standard,parbox,hyphenationfix=false,overlay=,
halign=justify,halign lower=justify,halign title=justify,
before title=,after title=,before upper=,after upper=,before lower=,after lower=,
+ before float=,after float=,
sidebyside=false,sidebyside align=center,sidebyside gap=10mm,
+ sidebyside adapt=none,sidebyside switch=false,%
lefthand ratio=0.5,check odd page=false,nophantom,
list entry=,no label type,
opacityupper=1.0,opacitylower=1.0,opacitytitle=1.0,opacityframe=1.0,opacityback=1.0, at opacitybacktitle=1.0,
More information about the tex-live-commits
mailing list.