summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-02-10 21:56:36 +0000
committerKarl Berry <karl@freefriends.org>2023-02-10 21:56:36 +0000
commit3b0d3c7d56297f17e5b8975206e930a619120b80 (patch)
tree4e127b1bbae06a4ccb605cbcb8bf2ac13eb77484 /Master/texmf-dist/tex/latex
parent7f6a139227f88e6783babdcd8891b9d19f18efc6 (diff)
tcolorbox (10feb23)
git-svn-id: svn://tug.org/texlive/trunk@65781 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex20
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex28
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex35
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex24
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex476
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex49
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty273
19 files changed, 518 insertions, 459 deletions
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
index e0fbb8bbf2a..5042be92d2b 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbbreakable.code.tex: Code for breakable colorboxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\RequirePackage{pdfcol}
\pdfcolInitStack{tcb@breakable}
@@ -69,7 +69,10 @@
\def\tcb@@break{\par\xleaders\vbox{\rule{0pt}{2\textheight}}\vskip 2\textheight\par}
-\def\tcb@vbox#1#2{%
+% #1 box
+% #2 width
+% #3 color (for color stack)
+\def\tcb@vbox#1#2#3{%
\edef\reserved@a{%
\endgroup%
\setbox#1\vbox{\hsize=#2%
@@ -81,7 +84,6 @@
\let\tcbbreak\tcb@@break%
\iftcb@usecolorstack%
\pdfcolSwitchStack{tcb@breakable}%
- \pdfcolSetCurrentColor%
\fi%
\color@begingroup%
\textwidth\hsize%
@@ -92,7 +94,9 @@
\c@mpfootnote\z@%
\let\@footnotetext\@mpfootnotetext%
\let\@listdepth\@mplistdepth \@mplistdepth\z@%
- \@setminipage\tcb@hyph@fix%
+ \@setminipage%
+ \color{#3}%
+ \tcb@hyph@fix%
\let\tcb@drawcolorbox\tcb@drawcolorbox@standalone%
\let\FN@pp@footnote\@empty% disable perpage mode of 'footmisc' package
}
@@ -178,7 +182,7 @@
\else%
\tcb@hasTitletrue%
\tcbdimto\tcb@w@title{\tcb@innerwidth-\kvtcb@boxsep*2-\kvtcb@lefttitle-\kvtcb@righttitle}%
- \begin{tcb@savebox}{\tcb@titlebox}{\tcb@w@title}\tcb@extras@followingtitle\color{tcbcoltitle}\kvtcb@fonttitle\kvtcb@haligntitle\kvtcb@followingtitle\end{tcb@savebox}%
+ \begin{tcb@savebox}{\tcb@titlebox}{\tcb@w@title}{tcbcoltitle}\tcb@extras@followingtitle\kvtcb@fonttitle\kvtcb@haligntitle\kvtcb@followingtitle\end{tcb@savebox}%
\tcbdimto\tcb@h@title{\ht\tcb@titlebox+\dp\tcb@titlebox}%
\tcbdimto\tcb@h@padtitle{\kvtcb@title@rule+\kvtcb@boxsep*2+\kvtcb@toptitle+\kvtcb@bottomtitle+\tcb@h@title}%
\fi%
@@ -328,14 +332,12 @@
\tcb@parfillskip@check%
\tcb@split@start%
\endgroup%
- \color{.}% hack for some special cases
\ifx\kvtcb@float\@empty\relax%
\aftergroup\tcb@use@after@lastbox%
\fi%
}
\def\tcb@split@pagebreak{%
- \tcb@undo@before%
\iftcb@multicol\columnbreak\else\pagebreak\fi%
\tcb@nobreak@warning%
\tcb@enlbreak@init\tcb@break@allowedfalse%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
index 0d4e728d763..33ed5d410ae 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbdocumentation.code.tex: Code for LaTeX documentations
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\tcbuselibrary{listings,skins,xparse,external,raster}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
index 9a0412f8747..d8be787d946 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbexternal.code.tex: Code for externalization
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\tcbuselibrary{pro@cessing}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
index f4afe5b9add..af6715af692 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbfitting.code.tex: Code for fit boxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\newdimen\tcbfitdim
\newdimen\tcb@lowerfitdim
@@ -240,7 +240,7 @@
\def\tcb@fit@@box{%
\iftcb@hasTitle%
\tcbdimto\tcb@w@title{\kvtcb@width-(\kvtcb@left@rule)-(\kvtcb@right@rule)-(\kvtcb@boxsep)*2-(\kvtcb@lefttitle)-(\kvtcb@righttitle)}%
- \begin{tcb@savebox}{\tcb@titlebox}{\tcb@w@title}\color{tcbcoltitle}\kvtcb@fonttitle\kvtcb@haligntitle\kvtcb@before@title\kvtcb@title\kvtcb@after@title\end{tcb@savebox}%
+ \begin{tcb@savebox}{\tcb@titlebox}{\tcb@w@title}{tcbcoltitle}\kvtcb@fonttitle\kvtcb@haligntitle\tcb@insert@before@title\kvtcb@title\tcb@insert@after@title\end{tcb@savebox}%
\tcbdimto\tcb@h@titletotal{\ht\tcb@titlebox+\dp\tcb@titlebox+\kvtcb@title@rule+(\kvtcb@boxsep)*2+\kvtcb@toptitle+\kvtcb@bottomtitle}%
\else%
\let\tcb@h@titletotal=\tcb@zpt%
@@ -266,8 +266,8 @@
%
\def\tcb@fit@@boxsave##1{%
\tcbdimto\tcb@innerwidth{\kvtcb@width-\kvtcb@left@rule-\kvtcb@right@rule}%
- \begin{tcb@savebox}{\tcb@upperbox}{##1}%
- \color{tcbcolupper}\kvtcb@fontupper\fontsize{\tcbfitdim}{\tcb@fit@@line}\selectfont%
+ \begin{tcb@savebox}{\tcb@upperbox}{##1}{tcbcolupper}%
+ \kvtcb@fontupper\fontsize{\tcbfitdim}{\tcb@fit@@line}\selectfont%
\kvtcb@halignupper\tcb@insert@before@upper#1\tcb@insert@after@upper%
\end{tcb@savebox}%
\advance\count@ 1\relax%
@@ -392,17 +392,19 @@
}
}
}
-\NewDocumentCommand \__tcobox_new_tcboxfit_i:w { m +o m }
+\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 { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcboxfit_i:w \newcommand
}
\NewDocumentCommand \renewtcboxfit { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcboxfit_i:w \renewcommand
}
@@ -412,25 +414,29 @@
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
\exp_args:Nc #1 { #3 }{ #4 }{ \tcboxfit[#5,options@for=#3] }
}
-\NewDocumentCommand \__tcobox_new_TCBoxFit:w { m +o m }
+\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 { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBoxFit:w \DeclareDocumentCommand
}
\NewDocumentCommand \NewTCBoxFit { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBoxFit:w \NewDocumentCommand
}
\NewDocumentCommand \RenewTCBoxFit { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBoxFit:w \RewewDocumentCommand
}
\NewDocumentCommand \ProvideTCBoxFit { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBoxFit:w \ProvideDocumentCommand
}
@@ -440,25 +446,29 @@
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
\exp_args:Nc #1 { #3 }{ #4 }{ \tcboxfit[#5,options@for=#3]{#6} }
}
-\NewDocumentCommand \__tcobox_new_TotalTCBoxFit:w { m +o m }
+\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 { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTCBoxFit:w \DeclareDocumentCommand
}
\NewDocumentCommand \NewTotalTCBoxFit { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTCBoxFit:w \NewDocumentCommand
}
\NewDocumentCommand \RenewTotalTCBoxFit { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTCBoxFit:w \RewewDocumentCommand
}
\NewDocumentCommand \ProvideTotalTCBoxFit { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTCBoxFit:w \ProvideDocumentCommand
}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
index 38bf638d87f..4d3069c5b37 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbhooks.code.tex: Code for adding hooks
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\tcbset{%
before upper app/.code={\appto\kvtcb@before@upper{#1}},%
@@ -112,18 +112,23 @@
finish middle and last pre/.style={finish middle pre={#1},finish last pre={#1}},%
finish first and middle pre/.style={finish first pre={#1},finish middle pre={#1}},%
%
- watermark tikz app/.style={overlay app={\tcb@drawspec@watermark@tikz{#1}}},
- watermark tikz pre/.style={overlay pre={\tcb@drawspec@watermark@tikz{#1}}},
- watermark tikz app on/.style args={#1 is #2}{overlay #1 app={\tcb@drawspec@watermark@tikz{#2}}},%
- watermark tikz pre on/.style args={#1 is #2}{overlay #1 pre={\tcb@drawspec@watermark@tikz{#2}}},%
- watermark graphics app/.style={overlay app={\tcb@drawspec@watermark@graphics{#1}}},
- watermark graphics pre/.style={overlay pre={\tcb@drawspec@watermark@graphics{#1}}},
- watermark graphics app on/.style args={#1 is #2}{overlay #1 app={\tcb@drawspec@watermark@graphics{#2}}},
- watermark graphics pre on/.style args={#1 is #2}{overlay #1 pre={\tcb@drawspec@watermark@graphics{#2}}},
- watermark text app/.style={overlay app={\tcb@drawspec@watermark@text{#1}}},
- watermark text pre/.style={overlay pre={\tcb@drawspec@watermark@text{#1}}},
- watermark text app on/.style args={#1 is #2}{overlay #1 app={\tcb@drawspec@watermark@text{#2}}},
- watermark text pre on/.style args={#1 is #2}{overlay #1 pre={\tcb@drawspec@watermark@text{#2}}},
+ watermark@overlay app/.style={overlay app={\tcb@drawspec@watermark{#1}}},
+ watermark@overlay pre/.style={overlay pre={\tcb@drawspec@watermark{#1}}},
+ watermark@overlay@on app/.style n args={2}{overlay #1 app={\tcb@drawspec@watermark{#2}}},
+ watermark@overlay@on pre/.style n args={2}{overlay #1 pred={\tcb@drawspec@watermark{#2}}},
+ %
+ watermark tikz app/.style={watermark@overlay app={fill@picture={#1}}},
+ watermark tikz pre/.style={watermark@overlay pre={fill@picture={#1}}},
+ watermark tikz app on/.style args={#1 is #2}{watermark@overlay@on app={#1}{fill@picture={#2}}},
+ watermark tikz pre on/.style args={#1 is #2}{watermark@overlay@on pre={#1}{fill@picture={#2}}},
+ watermark graphics app/.style={watermark@overlay app={fill@image={#1}}},
+ watermark graphics pre/.style={watermark@overlay pre={fill@image={#1}}},
+ watermark graphics app on/.style args={#1 is #2}{watermark@overlay@on app={#1}{fill@image={#2}}},
+ watermark graphics pre on/.style args={#1 is #2}{watermark@overlay@on pre={#1}{fill@image={#2}}},
+ watermark text app/.style={watermark@overlay app={fill@picture={\node[inner sep=0pt,align=flush center]{#1};}}},
+ watermark text pre/.style={watermark@overlay pre={fill@picture={\node[inner sep=0pt,align=flush center]{#1};}}},
+ watermark text app on/.style args={#1 is #2}{watermark@overlay@on app={#1}{fill@picture={\node[inner sep=0pt,align=flush center]{#2};}}},
+ watermark text pre on/.style args={#1 is #2}{watermark@overlay@on pre={#1}{fill@picture={\node[inner sep=0pt,align=flush center]{#2};}}},
%
minted options app/.code={\appto\kvtcb@minted@options{,#1}},
minted options pre/.code={\preto\kvtcb@minted@options{#1,}},
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
index 57093d0d48c..98fd687ea6f 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcblistings.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\RequirePackage{listings}[2007/02/22]
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex
index 28dac54eea2..5f91c91f291 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\tcbuselibrary{pro@cessing}
@@ -280,7 +280,7 @@
\ExplSyntaxOn
-\NewDocumentCommand \__tcobox_new_tcblisting:w { m +o m o +o +m }
+\NewDocumentCommand \__tcobox_new_tcblisting:w { m +O{} >{\TrimSpaces} m o +o +m }
{
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
\tl_if_novalue:nTF { #4 }
@@ -299,33 +299,39 @@
}
\NewDocumentCommand \newtcblisting { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcblisting:w \newenvironment
}
\NewDocumentCommand \renewtcblisting { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcblisting:w \renewenvironment
}
-\NewDocumentCommand \__tcobox_new_TCBListing:w { m +o m +m +m }
+\NewDocumentCommand \__tcobox_new_TCBListing:w { m +O{} >{\TrimSpaces} m +m +m }
{
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
#1 { #3 }{ #4 }{ \tcblisting{#5,options@for=#3} }{ \endtcblisting }
}
\NewDocumentCommand \DeclareTCBListing { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBListing:w \DeclareDocumentEnvironment
}
\NewDocumentCommand \NewTCBListing { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBListing:w \NewDocumentEnvironment
}
\NewDocumentCommand \RenewTCBListing { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBListing:w \RenewDocumentEnvironment
}
\NewDocumentCommand \ProvideTCBListing { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBListing:w \ProvideDocumentEnvironment
}
@@ -347,17 +353,19 @@
}
}
}
-\NewDocumentCommand \__tcobox_new_tcbinputlisting_i:w { m +o m }
+\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 { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcbinputlisting_i:w \newcommand
}
\NewDocumentCommand \renewtcbinputlisting { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcbinputlisting_i:w \renewcommand
}
@@ -374,18 +382,22 @@
}
\NewDocumentCommand \DeclareTCBInputListing { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBInputListing:w \DeclareDocumentCommand
}
\NewDocumentCommand \NewTCBInputListing { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBInputListing:w \NewDocumentCommand
}
\NewDocumentCommand \RenewTCBInputListing { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBInputListing:w \RewewDocumentCommand
}
\NewDocumentCommand \ProvideTCBInputListing { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBInputListing:w \ProvideDocumentCommand
}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
index eb618f90a52..fd4b66f3c59 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\tcbuselibrary{listings}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex
index 4aa35dac70e..8d1ba9b71f3 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbmagazine.code.tex: Code for box sets and magazine styles
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\tcbuselibrary{breakable}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex
index 73e4666affb..817ba635bfb 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbminted.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\RequirePackage{minted}[2021/12/24]
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex
index 3e208f58ed1..95c8b1f5076 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbposter.code.tex: Code for posters
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\tcbuselibrary{breakable,magazine,skins,fitting}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex
index 3d5fac78d0b..77c2182888b 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbprocessing.code.tex: Code for conditional processing
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\RequirePackage{pdftexcmds}
\RequirePackage{shellesc}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex
index d3e62b531ab..47e394433e0 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\newcounter{tcbrastercolumn}
\newcounter{tcbrasterrow}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
index 65a29a24c9c..183ed011dd9 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbskins.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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,10 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\RequirePackage{tikz}[2010/10/13]
+\RequirePackage{tikzfill.image}
\newenvironment{tikzpicture@tcb@hooked}{%
\edef\tcb@tikzpicture@begin{\noexpand\tikzpicture[\expandonce\tcb@tikz@option@hook]}%
@@ -1134,7 +1135,7 @@
\colorlet{tcbtranscol@back}{tcbcolbacktitle}%
\let\tcb@trans@skin@current\kvtcb@skin@current%
\let\tcb@trans@boxedstyle\kvtcb@style@boxedtitle%
- \setbox\tcb@titlebox\color@hbox\bgroup\color{tcbcoltitle}\kvtcb@fonttitle\kvtcb@before@boxedtitle\kvtcb@haligntitle\kvtcb@before@title\tcbtitletext\kvtcb@after@title\kvtcb@after@boxedtitle\egroup\color@endbox%
+ \setbox\tcb@titlebox\color@hbox\bgroup\color{tcbcoltitle}\kvtcb@fonttitle\kvtcb@before@boxedtitle\kvtcb@haligntitle\tcb@insert@before@title\tcbtitletext\tcb@insert@after@title\kvtcb@after@boxedtitle\egroup\color@endbox%
\setbox\tcb@titlebox\color@hbox\tcbox[skin=\tcb@trans@skin@current,colframe=tcbtranscol@frame,colback=tcbtranscol@back,%
code={\pgfkeysalsofrom\tcb@trans@boxedsize\pgfkeysalsofrom\tcb@trans@boxedstyle%
\ifcase#6
@@ -1210,77 +1211,55 @@
}
-\newbox\tcb@waterbox
-
-\def\tcb@setratio#1#2#3{\edef#1{\strip@pt\dimexpr\number\numexpr\number\dimexpr#2\relax*65536/\number\dimexpr#3\relax\relax sp\relax}}
-
-\def\tcb@setratiorobust#1#2#3{\ifdim\dimexpr#3<1pt\relax\tcb@setratio#1{#2}{1pt}\else\tcb@setratio#1{#2}{#3}\fi}
-
-\def\tcb@comp@waterbox@stretch#1#2#3{%
- \tcb@setratiorobust\tcb@scale@x{#1\dimexpr#2}{\wd\tcb@waterbox}%
- \tcb@setratiorobust\tcb@scale@y{#1\dimexpr#3}{\ht\tcb@waterbox+\dp\tcb@waterbox}%
-}
-
-\def\tcb@comp@waterbox@zoom#1#2#3{%
- \tcb@comp@waterbox@stretch{#1}{#2}{#3}%
- \ifdim\dimexpr\tcb@scale@x pt\relax<\dimexpr\tcb@scale@y pt\relax\let\tcb@scale@y=\tcb@scale@x\else\let\tcb@scale@x=\tcb@scale@y\fi%
-}
-
-\def\tcb@comp@waterbox@overzoom#1#2#3{%
- \tcb@comp@waterbox@stretch{#1}{#2}{#3}%
- \ifdim\dimexpr\tcb@scale@x pt\relax>\dimexpr\tcb@scale@y pt\relax\let\tcb@scale@y=\tcb@scale@x\else\let\tcb@scale@x=\tcb@scale@y\fi%
-}
-
-\def\tcb@comp@waterbox@shrink#1#2#3{%
- \tcb@comp@waterbox@zoom{#1}{#2}{#3}%
- \ifdim\dimexpr\tcb@scale@x pt\relax>1pt\relax%
- \edef\tcb@scale@x{1}\edef\tcb@scale@y{1}%
- \fi%
-}
-
-\def\tcb@box@scaled@waterbox{\scalebox{\tcb@scale@x}[\tcb@scale@y]{\box\tcb@waterbox}}
-
-\def\tcb@drawspec@watermark@@noclip{%
- \tcb@comp@wm%
- \node[opacity=\kvtcb@watermark@opacity,anchor=center] at (interior) {\tcb@box@scaled@waterbox};%
-}
-
-\def\tcb@drawspec@watermark@@clip{%
+\def\tcb@drawspec@watermark@@clip#1{%
\begin{tcbclipinterior}%
- \tcb@drawspec@watermark@@noclip%
+ \color{\kvtcb@watermark@color}%
+ \path[%
+ fill image opacity=\kvtcb@watermark@opacity,
+ fill image scale=\kvtcb@watermark@scale,
+ #1,
+ ]
+ (interior.south west) rectangle (interior.north east);
\end{tcbclipinterior}%
}
-\def\tcb@drawspec@watermark@tikz#1{%
- \setbox\tcb@waterbox=\color@hbox\pgfinterruptpicture{\pgfsetbaseline{0pt}\begin{tikzpicture}[color=\kvtcb@watermark@color]#1\end{tikzpicture}}\endpgfinterruptpicture\color@endbox%
- \tcb@drawspec@watermark%
-}
-
-\def\tcb@drawspec@watermark@graphics#1{%
- \setbox\tcb@waterbox=\color@hbox\pgfinterruptpicture{\includegraphics{#1}}\endpgfinterruptpicture\color@endbox%
- \tcb@drawspec@watermark%
-}
-
-\def\tcb@drawspec@watermark@text#1{%
- \tcb@drawspec@watermark@tikz{\node[inner sep=0pt,align=flush center]{#1};}%
+\def\tcb@drawspec@watermark@@noclip#1{%
+ \color{\kvtcb@watermark@color}%
+ \path[%
+ fill image opacity=\kvtcb@watermark@opacity,
+ fill image scale=(\kvtcb@watermark@scale)/4,
+ #1,
+ ]
+ ([xshift=-\tcb@innerwidth*2,yshift=-\tcb@innerheight*2]interior.center)
+ rectangle +(\tcb@innerwidth*4,\tcb@innerheight*4);
}
-
\tcbset{%
watermark opacity/.store in=\kvtcb@watermark@opacity,%
watermark color/.store in=\kvtcb@watermark@color,%
%
- watermark stretch/.code={\def\tcb@comp@wm{\tcb@comp@waterbox@stretch{#1}{\tcb@innerwidth}{\tcb@innerheight}}},%
- watermark zoom/.code={\def\tcb@comp@wm{\tcb@comp@waterbox@zoom{#1}{\tcb@innerwidth}{\tcb@innerheight}}},%
- watermark overzoom/.code={\def\tcb@comp@wm{\tcb@comp@waterbox@overzoom{#1}{\tcb@innerwidth}{\tcb@innerheight}}},%
- watermark shrink/.code={\def\tcb@comp@wm{\tcb@comp@waterbox@shrink{#1}{\tcb@innerwidth}{\tcb@innerheight}}},%
+ watermark stretch/.code={\def\kvtcb@watermark@scale{#1}%
+ \tikzset{fill@image/.style={fill stretch image={##1}},fill@picture/.style={fill stretch picture={##1}}}},%
+ watermark stretch/.default=1,
+ watermark zoom/.code={\def\kvtcb@watermark@scale{#1}%
+ \tikzset{fill@image/.style={fill zoom image={##1}},fill@picture/.style={fill zoom picture={##1}}}},%
+ watermark zoom/.default=1,
+ watermark overzoom/.code={\def\kvtcb@watermark@scale{#1}%
+ \tikzset{fill@image/.style={fill overzoom image={##1}},fill@picture/.style={fill overzoom picture={##1}}}},%
+ watermark overzoom/.default=1,
+ watermark shrink/.code={\def\kvtcb@watermark@scale{#1}%
+ \tikzset{fill@image/.style={fill shrink image={##1}},fill@picture/.style={fill shrink picture={##1}}}},%
+ watermark shrink/.default=1,
+%
+ watermark@overlay/.style={overlay={\tcb@drawspec@watermark{#1}}},
+ watermark@overlay@on/.style n args={2}{overlay #1={\tcb@drawspec@watermark{#2}}},
%
- watermark tikz/.style={overlay={\tcb@drawspec@watermark@tikz{#1}}},
- watermark tikz on/.style args={#1 is #2}{overlay #1={\tcb@drawspec@watermark@tikz{#2}}},%
- watermark graphics/.style={overlay={\tcb@drawspec@watermark@graphics{#1}}},
- watermark graphics on/.style args={#1 is #2}{overlay #1={\tcb@drawspec@watermark@graphics{#2}}},
- watermark text/.style={overlay={\tcb@drawspec@watermark@text{#1}}},
- watermark text on/.style args={#1 is #2}{overlay #1={\tcb@drawspec@watermark@text{#2}}},
+ watermark tikz/.style={watermark@overlay={fill@picture={#1}}},
+ watermark tikz on/.style args={#1 is #2}{watermark@overlay@on={#1}{fill@picture={#2}}},
+ watermark graphics/.style={watermark@overlay={fill@image={#1}}},
+ watermark graphics on/.style args={#1 is #2}{watermark@overlay@on={#1}{fill@image={#2}}},
+ watermark text/.style={watermark@overlay={fill@picture={\node[inner sep=0pt,align=flush center]{#1};}}},
+ watermark text on/.style args={#1 is #2}{watermark@overlay@on={#1}{fill@picture={\node[inner sep=0pt,align=flush center]{#2};}}},
no watermark/.style={no overlay},
clip watermark/.is choice,
clip watermark/true/.code={\let\tcb@drawspec@watermark=\tcb@drawspec@watermark@@clip},
@@ -1311,115 +1290,6 @@
}
-\def\tcb@process@ppbb{%
- \pgf@process{\pgfpointanchor{path picture bounding box}{south west}}%
- \pgf@xa\pgf@x\pgf@ya\pgf@y%
- \pgf@process{\pgfpointanchor{path picture bounding box}{north east}}%
- \pgf@xb\pgf@x\pgf@yb\pgf@y%
- \pgfsetfillopacity{\tcb@tikz@fill@graphics@opacity}%
- \pgfsetstrokeopacity{\tcb@tikz@fill@graphics@opacity}%
-}
-
-\def\tcb@process@ppbb@wh{%
- \tcb@process@ppbb%
- \tcbdimto\tcb@ppbb@width{\pgf@xb-\pgf@xa}%
- \tcbdimto\tcb@ppbb@height{\pgf@yb-\pgf@ya}%
-}
-
-\def\tcb@ppbb@textbox#1{\pgftext[x=\the\dimexpr\pgf@xa+\tcb@ppbb@width/2\relax,y=\pgf@ya+\tcb@ppbb@height/2]{#1}}
-
-\def\tcb@set@waterbox@to@graphics#1{%
- \setbox\tcb@waterbox=\color@hbox\pgfinterruptpicture%
- \begingroup\edef\x{\endgroup\noexpand\includegraphics[\tcb@tikz@fill@graphics@options]}\x{#1}%
- \endpgfinterruptpicture\color@endbox%
-}
-
-\def\tcb@set@waterbox@to@picture#1{%
- \setbox\tcb@waterbox=\color@hbox\pgfinterruptpicture{\pgfsetbaseline{0pt}\begin{tikzpicture}#1\end{tikzpicture}}\endpgfinterruptpicture\color@endbox%
-}
-
-\tikzset{%
- fill image opacity/.store in=\tcb@tikz@fill@graphics@opacity,%
- fill image opacity=1,%
- fill image scale/.store in=\tcb@tikz@fill@graphics@scale,%
- fill image scale=1,%
- fill image options/.store in=\tcb@tikz@fill@graphics@options,%
- fill image options=,%
- fill plain image/.style={path picture={%
- \tcb@process@ppbb@wh%
- \tcb@ppbb@textbox{\begingroup\edef\x{\endgroup\noexpand\includegraphics[\tcb@tikz@fill@graphics@options]}\x{#1}}%
- }},
- fill plain picture/.style={path picture={%
- \tcb@process@ppbb@wh%
- \tcb@set@waterbox@to@picture{#1}%
- \tcb@ppbb@textbox{\box\tcb@waterbox}%
- }},
- fill stretch image/.style={path picture={%
- \tcb@process@ppbb@wh%
- \tcb@ppbb@textbox{\begingroup\edef\x{\endgroup\noexpand\includegraphics[\tcb@tikz@fill@graphics@options,%
- width=\the\dimexpr\tcb@tikz@fill@graphics@scale\dimexpr\tcb@ppbb@width\relax,%
- height=\the\dimexpr\tcb@tikz@fill@graphics@scale\dimexpr\tcb@ppbb@height\relax]}\x{#1}}%
- }},
- fill stretch picture/.style={path picture={%
- \tcb@process@ppbb@wh%
- \tcb@set@waterbox@to@picture{#1}%
- \tcb@comp@waterbox@stretch{\tcb@tikz@fill@graphics@scale}{\tcb@ppbb@width}{\tcb@ppbb@height}%
- \tcb@ppbb@textbox{\tcb@box@scaled@waterbox}%
- }},
- fill@overzoom/.style={path picture={%
- \tcb@process@ppbb@wh%
- #1%
- \tcb@comp@waterbox@overzoom{\tcb@tikz@fill@graphics@scale}{\tcb@ppbb@width}{\tcb@ppbb@height}%
- \tcb@ppbb@textbox{\tcb@box@scaled@waterbox}%
- }},
- fill overzoom image/.style={fill@overzoom={\tcb@set@waterbox@to@graphics{#1}}},%
- fill overzoom picture/.style={fill@overzoom={\tcb@set@waterbox@to@picture{#1}}},%
- fill@zoom/.style={path picture={%
- \tcb@process@ppbb@wh%
- #1%
- \tcb@comp@waterbox@zoom{\tcb@tikz@fill@graphics@scale}{\tcb@ppbb@width}{\tcb@ppbb@height}%
- \tcb@ppbb@textbox{\tcb@box@scaled@waterbox}%
- }},
- fill zoom image/.style={fill@zoom={\tcb@set@waterbox@to@graphics{#1}}},%
- fill zoom picture/.style={fill@zoom={\tcb@set@waterbox@to@picture{#1}}},%
- fill@shrink/.style={path picture={%
- \tcb@process@ppbb@wh%
- #1%
- \tcb@comp@waterbox@shrink{\tcb@tikz@fill@graphics@scale}{\tcb@ppbb@width}{\tcb@ppbb@height}%
- \tcb@ppbb@textbox{\tcb@box@scaled@waterbox}%
- }},
- fill shrink image/.style={fill@shrink={\tcb@set@waterbox@to@graphics{#1}}},%
- fill shrink picture/.style={fill@shrink={\tcb@set@waterbox@to@picture{#1}}},%
- fill@tile/.style={path picture={%
- \tcb@process@ppbb%
- #1%
- \tcbdimto\tcb@ppbb@tilew{\wd\tcb@waterbox}%
- \tcbdimto\tcb@ppbb@tileh{\ht\tcb@waterbox+\dp\tcb@waterbox}%
- \pgf@xc\pgf@xa\pgf@yc\pgf@yb%
- \pgfutil@loop%
- \pgfutil@loop%
- \pgftext[x=\pgf@xc,y=\pgf@yc,left,top]{\copy\tcb@waterbox}%
- \ifdim\pgf@xc<\pgf@xb\relax%
- \advance\pgf@xc\tcb@ppbb@tilew%
- \pgfutil@repeat%
- \ifdim\pgf@yc>\pgf@ya\relax%
- \advance\pgf@yc-\tcb@ppbb@tileh%
- \pgf@xc\pgf@xa%
- \pgfutil@repeat%
- }},%
- fill tile image/.style={fill@tile={\tcb@set@waterbox@to@graphics{#1}}},%
- fill tile picture/.style={fill@tile={\tcb@set@waterbox@to@picture{#1}}},%
- fill tile picture*/.style 2 args={fill@tile={\tcb@set@waterbox@to@picture{#2}%
- \setbox\tcb@waterbox=\color@hbox\scalebox{#1}{\box\tcb@waterbox}\color@endbox}},%
- %
- fill plain image*/.style 2 args={fill image options={#1},fill plain image={#2}},%
- fill stretch image*/.style 2 args={fill image options={#1},fill stretch image={#2}},%
- fill overzoom image*/.style 2 args={fill image options={#1},fill overzoom image={#2}},%
- fill zoom image*/.style 2 args={fill image options={#1},fill zoom image={#2}},%
- fill shrink image*/.style 2 args={fill image options={#1},fill shrink image={#2}},%
- fill tile image*/.style 2 args={fill image options={#1},fill tile image={#2}},%
-}
-
\tcbset{%
frame style image/.style={frame style={fill=none,fill stretch image={#1}}},
frame style tile/.style 2 args={frame style={fill=none,fill tile image*={#1}{#2}}},
@@ -1815,104 +1685,6 @@
}
-\def\tcb@include@graphics{%
- \let\tcb@graphics@options\kvtcb@graphics@options%
- \ifnum\kvtcb@graphics@orientation>-1\relax%
- \setbox\tcb@waterbox=\color@hbox\begingroup\edef\x{\endgroup\noexpand\includegraphics[\tcb@graphics@options]}\x{\imagepath}\color@endbox%
- \ifcase\kvtcb@graphics@orientation\relax%
- \ifdim\wd\tcb@waterbox<\dimexpr\ht\tcb@waterbox+\dp\tcb@waterbox\relax%
- \appto\tcb@graphics@options{,angle=90}%
- \fi%
- \or%
- \ifdim\wd\tcb@waterbox<\dimexpr\ht\tcb@waterbox+\dp\tcb@waterbox\relax%
- \appto\tcb@graphics@options{,angle=-90}%
- \fi%
- \or%
- \ifdim\wd\tcb@waterbox>\dimexpr\ht\tcb@waterbox+\dp\tcb@waterbox\relax%
- \appto\tcb@graphics@options{,angle=90}%
- \fi%
- \or%
- \ifdim\wd\tcb@waterbox>\dimexpr\ht\tcb@waterbox+\dp\tcb@waterbox\relax%
- \appto\tcb@graphics@options{,angle=-90}%
- \fi%
- \fi%
- \fi%
- \ifdefstring{\kvtcb@capture}{hbox}{%
- \tcbox{%
- \begingroup\edef\x{\endgroup\noexpand\includegraphics[\tcb@graphics@options]}%
- \x{\imagepath}%
- }%
- }{%
- \iftcb@fixedheight%
- \begin{tcolorbox}%
- \begingroup\edef\x{\endgroup\noexpand\includegraphics[\tcb@graphics@options,width=\linewidth,height=\tcbtextheight,keepaspectratio]}%
- \x{\imagepath}%
- \end{tcolorbox}%
- \else%
- \ifdefempty\tcb@height@adjust{%
- \begin{tcolorbox}%
- \begingroup\edef\x{\endgroup\noexpand\includegraphics[\tcb@graphics@options,width=\linewidth]}%
- \x{\imagepath}%
- \end{tcolorbox}%
- }{% height fill
- \begin{tcolorbox}[underlay={%
- \begin{tcbclipinterior}%
- \path[fill zoom image*={\tcb@graphics@options}{\imagepath}]
- ([xshift=\kvtcb@boxsep+\kvtcb@leftupper,yshift=\kvtcb@boxsep+\kvtcb@bottom]interior.south west) rectangle
- ([xshift=-\kvtcb@boxsep-\kvtcb@rightupper,yshift=-\kvtcb@boxsep-\kvtcb@top]interior.north east);
- \end{tcbclipinterior}%
- }]%
- \end{tcolorbox}%
- }%
- \fi%
- }%
-}
-
-\def\tcb@scanfilename#1#2{%
- \begingroup%
- \everyeof{\noexpand}%
- \endlinechar -1%
- \catcode`\_=11%
- \catcode`\~=11%
- \edef\x{\scantokens\expandafter{#2}}%
- \expandafter\endgroup%
- \expandafter\def\expandafter #1\expandafter{\x}%
-}%
-
-
-\def\tcb@include@graphics@preparefile#1{%
- \tcb@scanfilename\tcb@temp{#1}%
- \filename@parse{\tcb@temp}%
- \ifx\filename@ext\relax%
- \let\imagename\filename@base%
- \else%
- \def\imagename{\filename@base\Gin@sepdefault\filename@ext}%
- \fi%
- \ifdefined\grffile@Ginclude@graphics%
- % grffile package loaded
- \ifx\kvtcb@graphics@directory\@empty%
- \def\imagepath{#1}%
- \else%
- \def\imagepath{\kvtcb@graphics@directory/#1}%
- \fi%
- \else%
- \ifx\kvtcb@graphics@directory\@empty%
- \edef\imagepath{#1}%
- \else%
- \edef\imagepath{\kvtcb@graphics@directory/#1}%
- \fi%
- \fi%
-}
-
-\newcommand{\tcbincludegraphics}[2][]{%
- \begingroup%
- \tcb@layer@pushup%
- \tcb@apply@box@options{enhanced,clip upper=true,valign=center,center upper,#1}%
- \tcb@include@graphics@preparefile{#2}%
- \edef\imagepage{1}%
- \tcb@include@graphics%
- \endgroup%
-}
\def\tcb@set@pdfpages#1#2{%
\IfFileExists{#2}{%
@@ -1940,20 +1712,158 @@
\relax%
}
-\newcommand{\tcbincludepdf}[2][]{%
- \tcb@include@graphics@preparefile{#2}%
- \tcb@set@pdfpages\pdfpages{\imagepath}%
- \foreach \imagepage in \kvtcb@graphics@pages%
- {%
- \begingroup%
- \tcb@layer@pushup%
- \tcb@apply@box@options{enhanced,clip upper=true,valign=center,center upper,#1}%
- \appto\kvtcb@graphics@options{,page=\imagepage}%
- \tcb@include@graphics%
- \endgroup%
- }%
+
+\ExplSyntaxOn
+
+\tl_new:N \l__tcobox_graphics_options_tl
+
+
+\cs_new:Npn \__tcobox_include_graphics:nn #1#2
+ {
+ \tl_set:Nn \l_tmpa_tl { \includegraphics }
+ \tl_put_right:Nx \l_tmpa_tl { [#1] }
+ \l_tmpa_tl {#2}
+ }
+
+
+\cs_new:Npn \__tcobox_include_graphics:
+ {
+ \tl_set_eq:NN \l__tcobox_graphics_options_tl \kvtcb@graphics@options
+
+ \int_compare:nNnT \kvtcb@graphics@orientation > {-1}
+ {
+ \hbox_set:Nn \l_tmpa_box
+ {
+ \__tcobox_include_graphics:nn { \l__tcobox_graphics_options_tl }{ \imagepath }
+ }
+ \if_case:w \kvtcb@graphics@orientation
+ \dim_compare:nNnT {\box_wd:N\l_tmpa_box} < {\box_ht_plus_dp:N \l_tmpa_box}
+ {
+ \tl_put_right:Nn \l__tcobox_graphics_options_tl {,angle=90}
+ }
+ \or:
+ \dim_compare:nNnT {\box_wd:N\l_tmpa_box} < {\box_ht_plus_dp:N \l_tmpa_box}
+ {
+ \tl_put_right:Nn \l__tcobox_graphics_options_tl {,angle=-90}
+ }
+ \or:
+ \dim_compare:nNnT {\box_wd:N\l_tmpa_box} > {\box_ht_plus_dp:N \l_tmpa_box}
+ {
+ \tl_put_right:Nn \l__tcobox_graphics_options_tl {,angle=90}
+ }
+ \or:
+ \dim_compare:nNnT {\box_wd:N\l_tmpa_box} > {\box_ht_plus_dp:N \l_tmpa_box}
+ {
+ \tl_put_right:Nn \l__tcobox_graphics_options_tl {,angle=-90}
+ }
+ \fi:
+ }
+
+ \tl_if_eq:NnTF \kvtcb@capture {hbox}
+ {
+ \tcbox
+ {
+ \__tcobox_include_graphics:nn { \l__tcobox_graphics_options_tl }{ \imagepath }
+ }
+ }
+ {
+ \legacy_if:nTF {tcb@fixedheight}
+ {
+ \begin{tcolorbox}
+ \__tcobox_include_graphics:nn { \l__tcobox_graphics_options_tl,width=\linewidth,height=\tcbtextheight,keepaspectratio }{ \imagepath }
+ \end{tcolorbox}
+ }
+ {
+ \tl_if_empty:NTF \tcb@height@adjust
+ {
+ \begin{tcolorbox}
+ \__tcobox_include_graphics:nn { \l__tcobox_graphics_options_tl,width=\linewidth }{ \imagepath }
+ \end{tcolorbox}%
+ }{% height fill
+ \begin{tcolorbox}[
+ underlay=
+ {
+ \begin{tcbclipinterior}
+ \path[fill~zoom~image*={\l__tcobox_graphics_options_tl}{\imagepath}]
+ ([xshift=\kvtcb@boxsep+\kvtcb@leftupper,yshift=\kvtcb@boxsep+\kvtcb@bottom]interior.south~west)~rectangle~
+ ([xshift=-\kvtcb@boxsep-\kvtcb@rightupper,yshift=-\kvtcb@boxsep-\kvtcb@top]interior.north~east);
+ \end{tcbclipinterior}
+ }]
+ \end{tcolorbox}
+ }
+ }
+ }
+ }
+
+
+\cs_new:Npn \__tcobox_include_graphics_preparefile:n #1
+ {
+ \file_parse_full_name:nNNN {#1} \l_tmpa_tl \imagename \l_tmpb_tl
+ \tl_put_right:NV \imagename \l_tmpb_tl
+ \tl_set_eq:NN \imagepath \imagename
+ \tl_if_empty:NF \l_tmpa_tl
+ {
+ \tl_put_left:Nn \imagepath {/}
+ \tl_if_eq:NnF \l_tmpa_tl {/}
+ {
+ \tl_put_left:NV \imagepath \l_tmpa_tl
+ }
+ }
+ \tl_if_empty:NF \kvtcb@graphics@directory
+ {
+ \tl_put_left:Nn \imagepath {/}
+ \tl_if_eq:NnF \kvtcb@graphics@directory {/}
+ {
+ \tl_put_left:NV \imagepath \kvtcb@graphics@directory
+ }
+ }
+ \tl_set_rescan:Nno \imagename
+ {
+ \char_set_catcode_letter:N \_
+ \char_set_catcode_letter:N \~
+ \char_set_catcode_letter:N \{
+ \char_set_catcode_letter:N \}
+ \char_set_catcode_letter:N \$
+ \char_set_catcode_letter:N \^
+ \char_set_catcode_letter:N \#
+ \char_set_catcode_letter:N \%
+ }
+ {
+ \imagename
+ }
+ }
+
+
+\NewDocumentCommand \tcbincludegraphics { +O{} m }
+ {
+ \group_begin:
+ \tcb@layer@pushup
+ \tcb@apply@box@options{enhanced,clip~upper=true,valign=center,center~upper,#1}
+ \__tcobox_include_graphics_preparefile:n {#2}
+ \cs_set:Npn \imagepage {1}
+ \__tcobox_include_graphics:
+ \group_end:
+ }
+
+
+\NewDocumentCommand \tcbincludepdf { +O{} m }
+ {
+ \__tcobox_include_graphics_preparefile:n {#2}
+ \tcb@set@pdfpages\pdfpages{\imagepath}
+ \foreach~\imagepage~in~\kvtcb@graphics@pages
+ {
+ \group_begin:
+ \tcb@layer@pushup
+ \tcb@apply@box@options{enhanced,clip~upper=true,valign=center,center~upper,#1}
+ \tl_put_right:Nn \kvtcb@graphics@options {,page=\imagepage}
+ \__tcobox_include_graphics:
+ \group_end:
+ }
}
+\ExplSyntaxOff
+
+
\tcbset{%
graphics options/.store in=\kvtcb@graphics@options,
graphics pages/.store in=\kvtcb@graphics@pages,
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
index 8d1fb2abcd1..183095ad64f 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\tcbuselibrary{skins}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
index dc6b5651e76..7135eaba320 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbtheorems.code.tex: Code for theorems in colorboxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\RequirePackage{amsmath}
@@ -147,18 +147,25 @@
}
-\NewDocumentCommand \__tcobox_new_tcbtheorem:w { m O{} m m +m m }
+\NewDocumentCommand \__tcobox_new_tcbtheorem_x:w { m O{} m m +m m }
{
- #1 [auto~counter,#2]{#3}[3][]
+ #1 [auto~counter,#2] {#3} { +O{} +o +m m }
{
#5,
- title = {\__tcobox_theo_title:nnn{#4}{\thetcbcounter}{##2}},
- list~entry = {\protect\numberline{\thetcbcounter}##2},
- nameref = {##2},
- theo@label = {#6}{##3},
+ title = {\__tcobox_theo_title:nnn{#4}{\thetcbcounter}{##3}},
+ IfValueTF = {##2}
+ {
+ list~entry = {\protect\numberline{\thetcbcounter}##2},
+ nameref = {##2},
+ }
+ {
+ list~entry = {\protect\numberline{\thetcbcounter}##3},
+ nameref = {##3},
+ },
+ theo@label = {#6}{##4},
##1
}
- #1 [#2,no~counter,list~inside=]{#3*}[2][]
+ #1 [#2,no~counter,list~inside=] {#3*} { +O{} +m }
{
#5,
title = {\__tcobox_theo_title:nnn{#4}{}{##2}},
@@ -167,15 +174,29 @@
}
-\NewDocumentCommand \newtcbtheorem {}
+\NewDocumentCommand \NewTcbTheorem {}
+ {
+ \__tcobox_new_tcbtheorem_x:w \NewTColorBox
+ }
+\NewCommandCopy\newtcbtheorem\NewTcbTheorem
+
+
+\NewDocumentCommand \RenewTcbTheorem {}
+ {
+ \__tcobox_new_tcbtheorem_x:w \RenewTColorBox
+ }
+\NewCommandCopy\renewtcbtheorem\RenewTcbTheorem
+
+
+\NewDocumentCommand \DeclareTcbTheorem {}
{
- \__tcobox_new_tcbtheorem:w \newtcolorbox
+ \__tcobox_new_tcbtheorem_x:w \DeclareTColorBox
}
-\NewDocumentCommand \renewtcbtheorem {}
+\NewDocumentCommand \ProvideTcbTheorem {}
{
- \__tcobox_new_tcbtheorem:w \renewtcolorbox
+ \__tcobox_new_tcbtheorem_x:w \ProvideTColorBox
}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex
index 900e14ad950..92d194860c3 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbvignette.code.tex: Code for ornamental frames
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\tcbuselibrary{skins}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
index 477ae4dc6c8..56ad29b0d4d 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbxparse.code.tex: Code for xparse features
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -18,6 +18,6 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{5.1.1}
+\tcb@set@library@version{6.0.0}
\RequirePackage{xparse}[2013/12/31]
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty b/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
index 21447f7a971..87d8d403093 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcolorbox.sty: Text color boxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 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,8 +18,8 @@
%% This work consists of all files listed in README
%%
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesPackage{tcolorbox}[2022/06/24 version 5.1.1 text color boxes]
-\def\tcb@version{5.1.1}
+\ProvidesPackage{tcolorbox}[2023/02/10 version 6.0.0 text color boxes]
+\def\tcb@version{6.0.0}
\RequirePackage{pgf}[2008/01/15]
\RequirePackage{verbatim}[2003/08/22]
@@ -142,7 +142,7 @@
\newcommand\tcbtitle{\ifx\tcbtitletext\@empty\else%
- \leavevmode{\color{tcbcoltitle}\kvtcb@fonttitle\kvtcb@haligntitle\kvtcb@before@title\tcbtitletext\kvtcb@after@title}\fi}
+ \leavevmode{\color{tcbcoltitle}\kvtcb@fonttitle\kvtcb@haligntitle\tcb@insert@before@title\tcbtitletext\tcb@insert@after@title}\fi}
\def\tcb@detach@title@code@{%
\let\tcbtitletext\kvtcb@title%
@@ -181,10 +181,16 @@
\def\tcb@insert@before@upper@noignore{\kvtcb@before@upper}
\def\tcb@insert@before@lower@ignore{\kvtcb@before@lower\ignorespaces}
\def\tcb@insert@before@lower@noignore{\kvtcb@before@lower}
+\def\tcb@insert@before@title@ignore{\kvtcb@before@title\ignorespaces}
+\def\tcb@insert@before@title@noignore{\kvtcb@before@title}
+
\def\tcb@insert@after@upper@unskip{\ifvmode\else\unskip\fi\kvtcb@after@upper}
\def\tcb@insert@after@upper@nounskip{\kvtcb@after@upper}
\def\tcb@insert@after@lower@unskip{\ifvmode\else\unskip\fi\kvtcb@after@lower}
\def\tcb@insert@after@lower@nounskip{\kvtcb@after@lower}
+\def\tcb@insert@after@title@unskip{\ifvmode\else\unskip\fi\kvtcb@after@title}
+\def\tcb@insert@after@title@nounskip{\kvtcb@after@title}
+
\tcbset{%
title/.store in=\kvtcb@title,
@@ -293,7 +299,7 @@
parfillskip restore/.default=true,%
parfillskip restore/true/.code={\let\tcb@parfillskip@check=\tcb@parfillskip@restore},%
parfillskip restore/false/.code={\let\tcb@parfillskip@check=\@empty},%
- before/.code={\def\kvtcb@beforebox{#1}\let\tcb@undo@before=\@empty\let\tcb@use@autoparskip=\relax},
+ before/.code={\def\kvtcb@beforebox{#1}\let\tcb@use@autoparskip=\relax},
after/.code={\def\kvtcb@afterbox{#1}\let\tcb@use@autoparskip=\relax},
before skip balanced/.style={before={%
\ifnum\lastnodetype=-1\relax%
@@ -306,18 +312,13 @@
\fi%
\else%
\ifdim\prevdepth<\z@\relax%
- \tcbdimto\tcb@prevdepth{\prevdepth}%
\addvspace{\glueexpr#1-\parskip}%
- \def\tcb@undo@before{\addvspace{-\glueexpr#1+\tcb@prevdepth}}%
\else%
\ifdim\prevdepth>.3\baselineskip\relax%
- \tcbdimto\tcb@prevdepth{\prevdepth}%
\addvspace{\glueexpr#1-\parskip}%
\else%
- \tcbdimto\tcb@prevdepth{.3\baselineskip}%
\addvspace{\glueexpr#1+.3\baselineskip-\prevdepth-\parskip}%
\fi%
- \def\tcb@undo@before{\addvspace{-\glueexpr#1+\tcb@prevdepth}}%
\fi%
\fi%
\nointerlineskip%
@@ -336,15 +337,13 @@
}},
beforeafter skip balanced/.style={before skip balanced={#1},after skip balanced={#1}},
autoparskip/.code={\let\tcb@use@autoparskip=\tcb@use@auto@parskip},
- parskip/.style={before={\ifnum\lastnodetype=-1\relax\else\par%
- \ifvmode\edef\tcb@prevdepth{\the\glueexpr\prevdepth+\lineskip+\parskip}%
- \def\tcb@undo@before{\addvspace{-\glueexpr\tcb@prevdepth}}%
- \pagebreak[0]\fi\fi\noindent},
+ parskip/.style={%
+ before={\ifnum\lastnodetype=-1\relax\else\par%
+ \ifvmode\pagebreak[0]\fi\fi\noindent},
after={\tcb@parfillskip@check\par}},
- noparskip/.style={before={\ifnum\lastnodetype=-1\relax\else\par%
- \ifvmode\edef\tcb@prevdepth{\the\glueexpr\prevdepth+\lineskip}%
- \def\tcb@undo@before{\addvspace{-\glueexpr\smallskipamount+\tcb@prevdepth}}%
- \pagebreak[0]\smallskip\fi\fi\noindent},
+ noparskip/.style={%
+ before={\ifnum\lastnodetype=-1\relax\else\par%
+ \ifvmode\pagebreak[0]\smallskip\fi\fi\noindent},
after={\tcb@parfillskip@check\par\smallskip}},
nobeforeafter/.style={before=,after=},
force nobeforeafter/.code={\tcbset@late@options{nobeforeafter}},
@@ -358,9 +357,7 @@
\addvspace{-\parskip}%
\fi%
\else%
- \tcbdimto\tcb@prevdepth{\prevdepth}%
\addvspace{\glueexpr#1-\parskip}%
- \def\tcb@undo@before{\addvspace{-\glueexpr#1+\tcb@prevdepth}}%
\fi%
\nointerlineskip%
\fi%
@@ -445,6 +442,8 @@
halign/center/.code={\let\kvtcb@halignupper=\tcb@raggedcenter@plain},
halign/justify/.code={\let\kvtcb@halignupper=\@empty},
halign upper/.style={halign=#1},
+ halign upper code/.store in=\kvtcb@halignupper,
+ halign code/.store in=\kvtcb@halignupper,
%
halign lower/.is choice,
halign lower/flush left/.code={\let\kvtcb@halignlower=\raggedright},
@@ -454,6 +453,7 @@
halign lower/right/.code={\let\kvtcb@halignlower=\tcb@raggedleft@plain},
halign lower/center/.code={\let\kvtcb@halignlower=\tcb@raggedcenter@plain},
halign lower/justify/.code={\let\kvtcb@halignlower=\@empty},
+ halign lower code/.store in=\kvtcb@halignlower,
%
halign title/.is choice,
halign title/flush left/.code={\let\kvtcb@haligntitle=\raggedright},
@@ -463,6 +463,7 @@
halign title/right/.code={\let\kvtcb@haligntitle=\tcb@raggedleft@plain},
halign title/center/.code={\let\kvtcb@haligntitle=\tcb@raggedcenter@plain},
halign title/justify/.code={\let\kvtcb@haligntitle=\@empty},
+ halign title code/.store in=\kvtcb@haligntitle,
%
valign scale limit/.store in=\kvtcb@valignscalelimit,
valign scale limit=1.1,
@@ -634,8 +635,6 @@
no overlay/.style={overlay=},%
standard/.style={skin=standard},%
standard jigsaw/.style={skin=standard jigsaw},%
- before title/.store in=\kvtcb@before@title,%
- after title/.store in=\kvtcb@after@title,%
before upper/.code={\def\kvtcb@before@upper{#1}\let\tcb@insert@before@upper\tcb@insert@before@upper@ignore},%
before upper*/.code={\def\kvtcb@before@upper{#1}\let\tcb@insert@before@upper\tcb@insert@before@upper@noignore},%
after upper/.code={\def\kvtcb@after@upper{#1}\let\tcb@insert@after@upper\tcb@insert@after@upper@unskip},%
@@ -644,6 +643,10 @@
before lower*/.code={\def\kvtcb@before@lower{#1}\let\tcb@insert@before@lower\tcb@insert@before@lower@noignore},%
after lower/.code={\def\kvtcb@after@lower{#1}\let\tcb@insert@after@lower\tcb@insert@after@lower@unskip},%
after lower*/.code={\def\kvtcb@after@lower{#1}\let\tcb@insert@after@lower\tcb@insert@after@lower@nounskip},%
+ before title/.code={\def\kvtcb@before@title{#1}\let\tcb@insert@before@title\tcb@insert@before@title@ignore},%
+ before title*/.code={\def\kvtcb@before@title{#1}\let\tcb@insert@before@title\tcb@insert@before@title@noignore},%
+ after title/.code={\def\kvtcb@after@title{#1}\let\tcb@insert@after@title\tcb@insert@after@title@unskip},%
+ after title*/.code={\def\kvtcb@after@title{#1}\let\tcb@insert@after@title\tcb@insert@after@title@nounskip},%
center title/.style={halign title=flush center},%
center upper/.style={halign upper=flush center},%
center lower/.style={halign lower=flush center},%
@@ -791,10 +794,7 @@
\tcbifoddpageoroneside{\tcbset{#1}}{\tcbset{#2}}%
},
phantom/.code={\appto\kvtcb@phantom{#1}},
- step and label/.style 2 args={phantom={\refstepcounter{#1}\tcb@set@label{#2}}},%
step/.style={phantom={\refstepcounter{#1}}},%
- label/.style={phantom={\tcb@set@label{#1}}},%
- phantomlabel/.style={phantom={\ifdefined\phantomsection\phantomsection\fi\tcb@set@label{#1}}},%
hypertarget/.style={phantom={\ifdefined\hypertarget\Hy@raisedlink{\hypertarget{#1}{}}\fi}},
bookmark*/.style 2 args={phantom={\ifdefined\bookmark%
\Hy@raisedlink{\hypertarget{tcb@\thetcolorboxnumber}{}}%
@@ -803,9 +803,6 @@
bookmark/.style={bookmark*={}{#1}},
index/.style={phantom={\index{#1}}},%
index*/.style 2 args={phantom={\index[#1]{#2}}},%
- nameref/.code={\tcb@gettitle{#1}},%
- label type/.store in=\kvtcb@label@type,%
- no label type/.style={label type=},%
add to list/.style 2 args={phantom={\tcb@addcontentsline{#1}{#2}}},
nophantom/.code={\def\kvtcb@phantom{}},%
shield externalize/.is choice,
@@ -819,6 +816,7 @@
options@for/.code={\letcs\tcb@new@colop{tcb@opt@#1}\pgfkeysalsofrom\tcb@new@colop},
list entry/.store in=\kvtcb@listentry,
list text/.style={list entry={\protect\numberline{\thetcbcounter}{\ignorespaces #1}}},
+ short title/.style={list text={#1},nameref={#1}},
title filled/.is if=tcb@titlefilled,%
@colbacktitle/.colorlet=tcbcolbacktitle,
colbacktitle/.style={title filled,@colbacktitle={#1}},
@@ -873,8 +871,67 @@
}
\ExplSyntaxOn
+
+\tl_new:N \l__tcobox_kv_labeltype_tl
+
+
+\cs_new:Npn \__tcobox_label_label:n #1
+ {
+ \quark_if_nil:NTF \l__tcobox_kv_labeltype_tl
+ {
+ \label{#1}
+ }
+ {
+ \exp_last_unbraced:NNV \label[\l__tcobox_kv_labeltype_tl]{#1}
+ }
+ }
+
+
+\cs_new:Npn \__tcobox_zcsetup_countertype:nn #1#2
+ {
+ \cs_if_exist:NT \zcsetup
+ {
+ \zcsetup { countertype={#1={#2}} }
+ }
+ }
+
+
+\cs_new:Npn \__tcobox_label_zlabel:n #1
+ {
+ \quark_if_nil:NF \l__tcobox_kv_labeltype_tl
+ {
+ \cs_if_exist:NT \tcbcounter
+ {
+ \exp_args:NVV \__tcobox_zcsetup_countertype:nn \tcbcounter \l__tcobox_kv_labeltype_tl
+ }
+ }
+ \cs_if_exist:NT \zlabel
+ {
+ \zlabel { #1 }
+ }
+ }
+
+
\tcbset
{
+ label /.style = { phantom={\__tcobox_label:n{#1}} },
+ phantomlabel /.style = { phantom={\cs_if_exist_use:N\phantomsection\__tcobox_label:n{#1}} },
+ step~and~label /.style~n~args = { 2 }{ phantom={\refstepcounter{#1}\__tcobox_label:n{#2}} },
+ nameref /.code =
+ {
+ \tcb@gettitle{#1}
+ \cs_if_exist:NT \zref@titleref@setcurrent { \zref@titleref@setcurrent{#1} }
+ },
+ label~type / .store~in = \l__tcobox_kv_labeltype_tl,
+ no~label~type / .style = { label~type=\q_nil },
+ label~is~label/.code=
+ {
+ \cs_set_eq:NN \__tcobox_label:n \__tcobox_label_label:n
+ },
+ label~is~zlabel/.code=
+ {
+ \cs_set_eq:NN \__tcobox_label:n \__tcobox_label_zlabel:n
+ },
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}}},
@@ -896,19 +953,11 @@
\def\kvtcb@beforebox{}
\def\kvtcb@afterbox{}
-\def\tcb@set@label#1{%
- \ifx\kvtcb@label@type\@empty%
- \label{#1}%
- \else%
- \label[\kvtcb@label@type]{#1}%
- \fi%
-}
-
\def\tcb@parbox@true@indent{}%
\def\tcb@parbox@false@indent{%
- \preto\kvtcb@before@title{\noindent}%
- \preto\kvtcb@before@upper{\noindent}%
- \preto\kvtcb@before@lower{\noindent}%
+ \preto\kvtcb@before@title{\vspace{-\parskip}\noindent}%
+ \preto\kvtcb@before@upper{\vspace{-\parskip}\noindent}%
+ \preto\kvtcb@before@lower{\vspace{-\parskip}\noindent}%
}%
\let\tcb@parboxrestore=\@parboxrestore
@@ -937,7 +986,10 @@
\let\tcb@minipage=\tcb@minipage@bottom
% lrbox with integrated minipage
-\def\tcb@lrbox#1#2{%
+% #1 box
+% #2 width
+% #3 color (for color stack)
+\def\tcb@lrbox#1#2#3{%
\edef\reserved@a{%
\endgroup
\setbox#1\hbox{%
@@ -945,20 +997,22 @@
\def\noexpand\@currenvir{\@currenvir}%
\def\noexpand\@currenvline{\on@line}}%
\reserved@a
- \@endpefalse
+ \@endpefalse%
\let\tcbbreak\par%
\csname tcb@parbox@use@\kvtcb@parbox\endcsname%
- \tcb@minipage#2\tcb@hyph@fix\ignorespaces}
+ \tcb@minipage{#2}%
+ \color{#3}%
+ \tcb@hyph@fix\ignorespaces}
\let\endtcb@lrbox=\endminipage
\let\tcb@savebox=\tcb@lrbox
\let\endtcb@savebox=\endtcb@lrbox
\def\tcb@saveupperbox{%
-\begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}\tcb@lua@color{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper}
+\begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper}
\def\tcb@savelowerbox{%
-\begin{tcb@savebox}{\tcb@lowerbox}{\tcb@w@lower}\tcb@lua@color{tcbcollower}\kvtcb@fontlower\kvtcb@halignlower\tcb@insert@before@lower}
+\begin{tcb@savebox}{\tcb@lowerbox}{\tcb@w@lower}{tcbcollower}\kvtcb@fontlower\kvtcb@halignlower\tcb@insert@before@lower}
% counter for float
@@ -974,11 +1028,11 @@
\tcbset{autoparskip/.style=noparskip}%
\fi%
\tcb@use@autoparskip%
-\ifx\luacolorProcessBox\@undefined%
- \def\tcb@lua@color#1{}%
-\else%
- \def\tcb@lua@color#1{\color{#1}}%
-\fi%
+%\ifx\luacolorProcessBox\@undefined%
+% \def\tcb@lua@color#1{}%
+%\else%
+% \def\tcb@lua@color#1{\color{#1}}%
+%\fi%
}
\long\def\tcb@colorbox{%
@@ -998,7 +1052,7 @@
\ifx\kvtcb@title\@empty\tcb@hasTitlefalse\tcb@specialtitle@hook\else%
\tcb@hasTitletrue%
\tcbdimto\tcb@w@title{\kvtcb@width-(\kvtcb@left@rule+\kvtcb@right@rule+(\kvtcb@boxsep)*2+\kvtcb@lefttitle+\kvtcb@righttitle)}%
- \begin{tcb@savebox}{\tcb@titlebox}{\tcb@w@title}\tcb@lua@color{tcbcoltitle}\kvtcb@fonttitle\kvtcb@haligntitle\kvtcb@before@title\kvtcb@title\kvtcb@after@title\end{tcb@savebox}%
+ \begin{tcb@savebox}{\tcb@titlebox}{\tcb@w@title}{tcbcoltitle}\kvtcb@fonttitle\kvtcb@haligntitle\tcb@insert@before@title\kvtcb@title\tcb@insert@after@title\end{tcb@savebox}%
\fi%
}
@@ -1067,24 +1121,12 @@
\sbox{\tcb@lowerbox}{\color{tcbcollower}\kvtcb@fontlower\kvtcb@halignlower\tcb@insert@before@lower\tcb@sbs@text@right\tcb@insert@after@lower}%
}
-\def\tcb@set@color#1{%
- \edef\current@color{\@nameuse{\string\color@#1}}%
- \colorlet{.}{#1}%
-}
-
-\def\tcb@reset@color{%
- \colorlet{.}{tcbcol@origin}%
- \edef\current@color{\@nameuse{\string\color@tcbcol@origin}}%
-}
-
\def\tcb@set@@upper@and@lower{%
- \colorlet{tcbcol@origin}{.}%
\let\tcb@insert@after@part=\tcb@insert@after@upper%
% switch for lower box
\def\tcblower{%
\tcb@insert@after@part%
\end{tcb@savebox}%
- \tcb@set@color{tcbcollower}%
\unless\iftcb@sidebyside%
\tcbdimto\tcb@w@lower{\tcb@innerwidth-\kvtcb@boxsep*2-\kvtcb@leftlower-\kvtcb@rightlower}%
\fi%
@@ -1099,7 +1141,6 @@
\fi%
\tcb@startbox}%
% start of upper box
- \tcb@set@color{tcbcolupper}%
\ifx\kvtcb@saveupperto\@empty%
\let\tcb@startbox\tcb@saveupperbox%
\let\endtcolorbox\tcb@endboxanddraw%
@@ -1321,7 +1362,6 @@
\def\tcb@endboxanddraw{%
\tcb@insert@after@part%
\end{tcb@savebox}%
- \tcb@reset@color%
\tcb@draw@color@box%
\tcb@finalize@environment%
}
@@ -1804,7 +1844,7 @@
}
\def\tcb@sbs@mix{%
- \begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper@real}%
+ \begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper@real}{tcbcolupper}%
\tcb@box@align{\tcb@upperbox}%
\iftcb@uppervisible%
\tcbdimto{\tcb@temp@wd}{\tcb@w@upper-\wd\tcb@upperbox+\kvtcb@sbs@gap}%
@@ -1957,13 +1997,11 @@
\long\def\tcbox@inner@hbox#1{%
\tcb@set@@phantom%
- \colorlet{tcbcol@origin}{.}%
- \tcb@set@color{tcbcolupper}%
\sbox\tcb@upperbox{\tcb@embed@tcbox{%
\csname tcb@parbox@use@\kvtcb@parbox\endcsname%
\@parboxrestore%
- \tcb@lua@color{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper#1\tcb@insert@after@upper}}%
- \tcb@reset@color%
+ \color{tcbcolupper}%
+ \kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper#1\tcb@insert@after@upper}}%
\tcbdimto\tcb@val@raisebase{\the\dimexpr\dp\tcb@upperbox+\kvtcb@bottom+\kvtcb@boxsep+\kvtcb@bottom@rule@stand+\kvtcb@bbbottom@stand\relax}%
\tcbdimto\kvtcb@width{\wd\tcb@upperbox+\kvtcb@left@rule+\kvtcb@leftupper+\kvtcb@boxsep*2+\kvtcb@rightupper+\kvtcb@right@rule}%
\tcb@hasLowerfalse%
@@ -1977,10 +2015,7 @@
\tcb@set@@phantom%
\tcb@set@@title%
\tcb@set@@dimensions%
- \colorlet{tcbcol@origin}{.}%
- \tcb@set@color{tcbcolupper}%
- \begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}\tcb@lua@color{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper#1\tcb@insert@after@upper\end{tcb@savebox}%
- \tcb@reset@color%
+ \begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper#1\tcb@insert@after@upper\end{tcb@savebox}%
\tcb@hasLowerfalse%
\tcb@draw@color@box%
}
@@ -2077,6 +2112,7 @@
}
\def\tcb@proc@counter@autoanduse#1{%
+ \let\tcb@tcbcounter@savetemp=\tcbcounter%
\letcs\tcbcounter{tcb@cnt@#1}%
\ifx\kvtcb@new@numberwithin\@empty%
\csxdef{the\tcbcounter}{\expandafter\noexpand\kvtcb@new@format{\tcbcounter}}%
@@ -2090,6 +2126,7 @@
\fi%
\global\csletcs{thetcb@cnt@#1}{the\tcbcounter}%
\appto\tcb@new@colopt{,code={\letcs\tcbcounter{tcb@cnt@#1}\letcs\thetcbcounter{thetcb@cnt@#1}\stepcounter{\tcbcounter}\preto\kvtcb@phantom{\addtocounter{\tcbcounter}{-1}\refstepcounter{\tcbcounter}}}}%
+ \let\tcbcounter=\tcb@tcbcounter@savetemp%
}
\def\tcb@proc@counter@auto#1{%
@@ -2135,16 +2172,20 @@
\ExplSyntaxOn
+\bool_new:N \l__tcobox_prevent_init_overwrite_bool
+
\cs_new:Npn \__tcobox_process_newtcolorbox:nn #1#2
{
- \edef\tcb@new@boxname{#2}
- \def\tcb@new@colopt{}
- \tl_if_novalue:nF { #1 }
+ \bool_lazy_and:nnF
+ { \l__tcobox_prevent_init_overwrite_bool }
+ { \cs_if_exist_p:c { tcb@opt@#2 } }
{
+ \edef\tcb@new@boxname{#2}
+ \def\tcb@new@colopt{}
\tcb@proc@options@init{#1}{#2}
+ \preto\tcb@new@colopt{savedelimiter=#2}
+ \exp_args:Nc \cs_set_eq:NN { tcb@opt@#2 } \tcb@new@colopt
}
- \preto\tcb@new@colopt{savedelimiter=#2}
- \exp_args:Nc \cs_set_eq:NN { tcb@opt@#2 } \tcb@new@colopt
}
@@ -2156,7 +2197,7 @@
}
-\NewDocumentCommand \__tcobox_new_tcolorbox:w { m +o m o +o +m }
+\NewDocumentCommand \__tcobox_new_tcolorbox:w { m +O{} >{\TrimSpaces} m o +o +m }
{
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
\tl_if_novalue:nTF { #4 }
@@ -2175,33 +2216,39 @@
}
\NewDocumentCommand \newtcolorbox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcolorbox:w \newenvironment
}
\NewDocumentCommand \renewtcolorbox { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcolorbox:w \renewenvironment
}
-\NewDocumentCommand \__tcobox_new_TColorBox:w { m +o m +m +m }
+\NewDocumentCommand \__tcobox_new_TColorBox:w { m +O{} >{\TrimSpaces} m +m +m }
{
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
#1 { #3 }{ #4 }{ \tcolorbox[#5,options@for=#3] }{ \endtcolorbox }
}
\NewDocumentCommand \DeclareTColorBox { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TColorBox:w \DeclareDocumentEnvironment
}
\NewDocumentCommand \NewTColorBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TColorBox:w \NewDocumentEnvironment
}
\NewDocumentCommand \RenewTColorBox { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TColorBox:w \RenewDocumentEnvironment
}
\NewDocumentCommand \ProvideTColorBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TColorBox:w \ProvideDocumentEnvironment
}
@@ -2211,25 +2258,29 @@
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
\exp_args:Nc #1 { #3 }{ #4 }{ \begin{tcolorbox}[#5,options@for=#3]#6\end{tcolorbox} }
}
-\NewDocumentCommand \__tcobox_new_TotalTColorBox:w { m +o m }
+\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 { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTColorBox:w \DeclareDocumentCommand
}
\NewDocumentCommand \NewTotalTColorBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTColorBox:w \NewDocumentCommand
}
\NewDocumentCommand \RenewTotalTColorBox { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTColorBox:w \RenewDocumentCommand
}
\NewDocumentCommand \ProvideTotalTColorBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTColorBox:w \ProvideDocumentCommand
}
@@ -2251,17 +2302,19 @@
}
}
}
-\NewDocumentCommand \__tcobox_new_tcbox_i:w { m +o m }
+\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 { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcbox_i:w \newcommand
}
\NewDocumentCommand \renewtcbox { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcbox_i:w \renewcommand
}
@@ -2271,25 +2324,29 @@
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
\exp_args:Nc #1 { #3 }{ #4 }{ \tcbox[#5,options@for=#3] }
}
-\NewDocumentCommand \__tcobox_new_TCBox:w { m +o m }
+\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 { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBox:w \DeclareDocumentCommand
}
\NewDocumentCommand \NewTCBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBox:w \NewDocumentCommand
}
\NewDocumentCommand \RenewTCBox { }
{
- \__tcobox_new_TCBox:w \RewewDocumentCommand
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
+ \__tcobox_new_TCBox:w \RenewDocumentCommand
}
\NewDocumentCommand \ProvideTCBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBox:w \ProvideDocumentCommand
}
@@ -2299,25 +2356,29 @@
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
\exp_args:Nc #1 { #3 }{ #4 }{ \tcbox[#5,options@for=#3]{#6} }
}
-\NewDocumentCommand \__tcobox_new_TotalTCBox:w { m +o m }
+\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 { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTCBox:w \DeclareDocumentCommand
}
\NewDocumentCommand \NewTotalTCBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTCBox:w \NewDocumentCommand
}
\NewDocumentCommand \RenewTotalTCBox { }
{
- \__tcobox_new_TotalTCBox:w \RewewDocumentCommand
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
+ \__tcobox_new_TotalTCBox:w \RenewDocumentCommand
}
\NewDocumentCommand \ProvideTotalTCBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTCBox:w \ProvideDocumentCommand
}
@@ -2418,9 +2479,11 @@
\let\tcb@verbatim@begin@hook\@empty
\let\tcb@verbatim@end@hook\@empty
\let\tcb@verbatim@change@percent\@empty
+\let\tcb@set@verbatim@finish\@empty
\def\tcbverbatimwrite#1{%
\@bsphack
+ \tcb@set@verbatim@finish%
\tcb@allocate@tcb@out%
\immediate\openout\tcb@out #1
\tcb@verbatim@begin@hook%
@@ -2439,6 +2502,41 @@
}
+\ExplSyntaxOn
+
+\cs_new_nopar:Npn \__tcobox_verbatim_finish:
+ {
+ \tl_set_rescan:Nnx \l_tmpa_tl
+ {
+ \char_set_catcode_space:n { 9 }
+ \char_set_catcode_space:n { 32 }
+ } { \the\verbatim@line }
+ \tl_if_blank:VF \l_tmpa_tl
+ {
+ \verbatim@processline
+ }
+ }
+
+\tcbset{%
+ verbatim~ignore~indention~at~end/.is~choice,
+ verbatim~ignore~indention~at~end/true/.code=
+ {
+ \cs_set:Npn \tcb@set@verbatim@finish
+ {
+ \cs_set_eq:NN \verbatim@finish \__tcobox_verbatim_finish:
+ }
+ },
+ verbatim~ignore~indention~at~end/false/.code=
+ {
+ \cs_set_eq:NN \tcb@set@verbatim@finish \prg_do_nothing:
+ },
+ verbatim~ignore~indention~at~end/.default=true,
+ verbatim~ignore~indention~at~end
+}
+
+\ExplSyntaxOff
+
+
% saving of the lower box
\def\tcb@lowerverbatim{%
@@ -2568,6 +2666,7 @@
\tcbset{%
minipage,savedelimiter=tcolorbox,%
set@extensions@preframe=,set@extensions@postframe=,set@extensions@final=,%
+ label is label,
}%
\def\tcbsetforeverylayer#1{\tcbset{initialize@reset={#1}}}