diff options
Diffstat (limited to 'Master/texmf-dist/tex')
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}}} |