diff options
author | Karl Berry <karl@freefriends.org> | 2016-03-01 00:53:37 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-03-01 00:53:37 +0000 |
commit | 384f9a0c9aed29686dd44edf6a48b6b17739297e (patch) | |
tree | f6733d56e05ae705bc53370f682126714b5777f3 /Master/texmf-dist/tex/latex | |
parent | 6a2bf934fc548f066363cd953b7aaa6e5c38293a (diff) |
tcolorbox
git-svn-id: svn://tug.org/texlive/trunk@39894 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
16 files changed, 307 insertions, 120 deletions
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex index 51647e2965c..a66a929fae7 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcbbreakable.code.tex: Code for breakable colorboxes %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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{3.80} +\tcb@set@library@version{3.90} \let\tcb@parboxrestore@true=\tcb@parboxrestore \let\tcb@parboxrestore@false\tcb@parbox@false@settings @@ -276,11 +276,14 @@ } \def\tcb@height@fill@unbroken#1{% - \tcb@prepare@break@operation% - \tcb@breakat@init% - \tcbset{compress page=#1}% - \tcb@comp@h@page% - \tcbset{height=\tcb@h@page-\kvtcb@bbtop@stand-\kvtcb@bbbottom@stand,after=\eject}% + \ifnum\c@tcblayer<2\relax% + \tcb@ignorenobreaktrue% + \tcb@prepare@break@operation% + \tcb@breakat@init% + \tcbset{compress page=#1}% + \tcb@comp@h@page% + \tcbset{height=\tcb@h@page-\kvtcb@bbtop@stand-\kvtcb@bbbottom@stand}% + \fi% } \def\tcb@height@fill@unbroken@normal{\tcb@height@fill@unbroken{none}} @@ -305,6 +308,13 @@ \fi% } +\def\tcb@split@pagebreak{% + \tcb@undo@before% + \iftcb@multicol\columnbreak\else\pagebreak\fi% + \tcb@nobreak@warning% + \tcb@enlbreak@init\tcb@break@allowedfalse% +} + \def\tcb@split@start{% \tcb@breakat@init% \tcb@comp@h@page% @@ -318,9 +328,7 @@ \else% \iftcb@break@allowed% \ifdim\dimexpr\tcb@h@page-\tcb@h@padding-\tcb@h@padtitle<\kvtcb@breakminlines\baselineskip\relax% - \iftcb@multicol\columnbreak\else\pagebreak\fi% - \tcb@nobreak@warning% - \tcb@enlbreak@init\tcb@break@allowedfalse% + \tcb@split@pagebreak% \tcb@comp@h@page% \tcb@check@for@final@box% \iftcb@final@box% @@ -459,9 +467,7 @@ \tcb@swap{\tcb@totallowerbox}{\tcb@lowerbox}% \tcbdimto\tcb@h@upper{\ht\tcb@upperbox+\dp\tcb@upperbox}% \tcbdimto\tcb@h@lower{\ht\tcb@lowerbox+\dp\tcb@lowerbox}% - \iftcb@multicol\columnbreak\else\pagebreak\fi% - \tcb@nobreak@warning% - \tcb@enlbreak@init\tcb@break@allowedfalse% + \tcb@split@pagebreak% \let\tcb@split@next=\tcb@split@start% } @@ -749,6 +755,7 @@ \tcbdimto\tcb@natheight{\tcb@h@padtitle+\kvtcb@top@rule+\kvtcb@bottom@rule+\kvtcb@boxsep*2+\kvtcb@top+\kvtcb@bottom+\tcb@h@upper+\tcb@h@segment+\tcb@h@lower+\csname tcb@h@breaksep@\tcb@split@state\endcsname}% \csname tcb@break@ch@\tcb@split@state\endcsname% \tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}% + \tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}% \tcb@drawing@env@begin% \tcb@extensions@preframe% % draw frame and interior @@ -778,6 +785,7 @@ \tcbdimto\tcb@natheight{\tcb@h@padtitle+\kvtcb@top@rule+\kvtcb@bottom@rule+\kvtcb@boxsep*2+\kvtcb@top+\kvtcb@bottom+\tcb@h@upper+\csname tcb@h@breaksep@\tcb@split@state\endcsname}% \csname tcb@break@ch@\tcb@split@state\endcsname% \tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}% + \tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}% \tcb@drawing@env@begin% \tcb@extensions@preframe% % draw frame and interior @@ -803,6 +811,7 @@ \tcbdimto\tcb@natheight{\tcb@h@padtitle+\kvtcb@top@rule+\kvtcb@bottom@rule+\kvtcb@bottom+\kvtcb@boxsep+\tcb@h@segment+\tcb@h@lower+\csname tcb@h@breaksep@\tcb@split@state\endcsname}% \csname tcb@break@ch@\tcb@split@state\endcsname% \tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}% + \tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}% \tcb@drawing@env@begin% \tcb@extensions@preframe% % draw frame and interior @@ -831,6 +840,7 @@ \tcbdimto\tcb@natheight{\tcb@h@padtitle+\kvtcb@top@rule+\kvtcb@bottom@rule+\kvtcb@boxsep*2+\kvtcb@top+\kvtcb@bottom+\ht\tcb@lowerbox+\dp\tcb@lowerbox+\csname tcb@h@breaksep@\tcb@split@state\endcsname}% \csname tcb@break@ch@\tcb@split@state\endcsname% \tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}% + \tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}% \tcb@drawing@env@begin% \tcb@extensions@preframe% % draw frame and interior diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex index abd5dfb6e8b..f813d8ecb14 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcbdocumentation.code.tex: Code for LaTeX documentations %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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{3.80} +\tcb@set@library@version{3.90} \tcbuselibrary{listings,skins,xparse,external} @@ -310,8 +310,8 @@ \begin{tcb@doc@head}{doc@head@command}% \tcb@Print@Com{#2}\tcb@index@Com{#2}\protected@edef\@currentlabel{\noexpand\tcb@cs{#2}}\label{com:#2}{\ttfamily #3}% \tcb@doc@do@description% - \end{tcb@doc@head}\tcbset{before upper=}\kvtcb@doc@body@command@before}% - {\kvtcb@doc@body@command@after\end{tcb@manual@entry}} + \end{tcb@doc@head}\nobreak\tcbset{before upper=}\kvtcb@doc@body@command@before\ignorespaces}% + {\ifvmode\else\unskip\fi\kvtcb@doc@body@command@after\end{tcb@manual@entry}} \newenvironment{docCommand*}{\bgroup\tcb@doc@toindexfalse\begin{docCommand}}{\end{docCommand}\egroup} @@ -322,8 +322,8 @@ \strut~~\meta{\kvtcb@text@envcontent}\par% \strut\cs{end}\brackets{\tcb@Print@Env{#2}}% \tcb@doc@do@description% - \end{tcb@doc@head}\tcbset{before upper=}\kvtcb@doc@body@environment@before}% - {\kvtcb@doc@body@environment@after\end{tcb@manual@entry}} + \end{tcb@doc@head}\nobreak\tcbset{before upper=}\kvtcb@doc@body@environment@before\ignorespaces}% + {\ifvmode\else\unskip\fi\kvtcb@doc@body@environment@after\end{tcb@manual@entry}} \newenvironment{docEnvironment*}{\bgroup\tcb@doc@toindexfalse\begin{docEnvironment}}{\end{docEnvironment}\egroup} @@ -337,8 +337,8 @@ \tcb@index@KeyPath{#1}{#3}\protected@edef\@currentlabel{/#1/#3}\label{key:/#1/#3}{\ttfamily #4}% }% \tcb@doc@do@description% - \end{tcb@doc@head}\tcbset{before upper=}\kvtcb@doc@body@key@before}% - {\kvtcb@doc@body@key@after\end{tcb@manual@entry}} + \end{tcb@doc@head}\nobreak\tcbset{before upper=}\kvtcb@doc@body@key@before\ignorespaces}% + {\ifvmode\else\unskip\fi\kvtcb@doc@body@key@after\end{tcb@manual@entry}} \newenvironment{docKey*}{\bgroup\tcb@doc@toindexfalse\begin{docKey}}{\end{docKey}\egroup} diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex index c196548ff76..9f4a67717c8 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcbexternal.code.tex: Code for externalization %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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{3.80} +\tcb@set@library@version{3.90} { \catcode`\"=12 diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex index 82eb542c73f..14b76fc8a97 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcbfitting.code.tex: Code for fit boxes %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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{3.80} +\tcb@set@library@version{3.90} \newdimen\tcbfitdim \newdimen\tcb@lowerfitdim @@ -240,6 +240,7 @@ \long\def\tcbox@inner@fitbox#1{% \tcbset{breakable@false,sidebyside=false}% + \let\tcb@space\tcb@zpt% \let\tcb@val@raisebase=\tcb@zpt% \unless\ifdefined\kvtcb@height@fixed% \tcbset{height=\kvtcb@width}% diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex index 04549bd4554..63e0fb91139 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcbhooks.code.tex: Code for adding hooks %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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{3.80} +\tcb@set@library@version{3.90} \tcbset{% before upper app/.code={\appto\kvtcb@before@upper{#1}},% diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex index cdfbebbdff2..5c06ee8db89 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcblistings.code.tex: Code for colorboxes with listings %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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{3.80} +\tcb@set@library@version{3.90} \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 d6d296c9521..e5211fdc781 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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{3.80} +\tcb@set@library@version{3.90} \RequirePackage{pdftexcmds} diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex index 81cf7837dd7..9c3bc9dd7b6 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8 %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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{3.80} +\tcb@set@library@version{3.90} \RequirePackage{listingsutf8}[2011/11/10] \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 40a2828956b..d65b9e769ce 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcbmagazine.code.tex: Code for box sets and magazine styles %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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{3.80} +\tcb@set@library@version{3.90} \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 c02b6fb15c7..16af5e8e9f2 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcbminted.code.tex: Code for colorboxes with listings %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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{3.80} +\tcb@set@library@version{3.90} \RequirePackage{minted}[2011/09/17] diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex index 3c097718a3b..7d2269d3519 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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{3.80} +\tcb@set@library@version{3.90} \newcounter{tcbrastercolumn} \newcounter{tcbrasterrow} @@ -73,6 +73,23 @@ raster force size/.default=true,% raster force size/true/.code={\let\tcb@raster@set@size\tcbset@late@options},% raster force size/false/.code={\let\tcb@raster@set@size\tcbset},% + raster multicolumn/.code={% + \ifnum\numexpr\c@tcbrastercolumn+#1>\numexpr\kvtcb@raster@columns+1\relax + \tcb@warning{'raster multicolumn' combined too much columns}% + \else% + \tcbset@late@options{% + code={\preto\kvtcb@afterbox{\addtocounter{tcbrastercolumn}{\numexpr#1-1}}}, + width=(\tcb@raster@box@width+\kvtcb@raster@xskip)*#1-\kvtcb@raster@xskip}% + \fi% + }, + raster multirow/.code={% + \ifdefined\tcb@raster@box@height% + \tcbset@late@options{% + height=(\tcb@raster@box@height+\kvtcb@raster@yskip)*#1-\kvtcb@raster@yskip}% + \else% + \tcb@warning{'raster multirow' needs a fixed 'raster height'}% + \fi% + }, } \tcbset{ @@ -94,6 +111,18 @@ \let\tcb@raster@change@fitbox\@empty \def\tcb@raster@change@hbox{\tcbset{capture=minipage}} +\def\tcb@height@fill@unbroken@raster#1{% + \ifnum\c@tcblayer<2\relax% + \kvtcb@beforebox% + \def\kvtcb@beforebox{}% + \tcb@breakat@init% + \tcbset{compress page=#1}% + \tcb@comp@h@page% + \ifdim\tcb@h@page<0pt\relax\unkern\pagebreak\tcb@comp@h@page\kern\kvtcb@raster@skip@left\fi% + \tcbset{height=\tcb@h@page-\kvtcb@bbtop@stand-\kvtcb@bbbottom@stand}% + \fi% +} + \newenvironment{tcbraster}[1][]{% \tcb@layer@pushup% \stepcounter{tcbraster}% @@ -103,6 +132,7 @@ \let\tcb@raster@change@fitbox\@empty% \setcounter{tcbrastercolumn}{1}% \setcounter{tcbrasterrow}{1}% + \let\tcb@height@fill@unbroken\tcb@height@fill@unbroken@raster% \tcbset{every box on layer \the\numexpr\number\c@tcblayer+1\relax/.code={% \tcbset{raster every box/.try}% \ifodd\c@tcbrastercolumn\relax% @@ -194,3 +224,7 @@ \let\tcb@raster@change@fitbox=\tcb@raster@change@hbox% \let\tcbitem=\tcbitem@first% }{\end{tcolorbox}\end{tcbraster}} + +\newenvironment{tcboxedraster}[2][]{% + \tcolorbox[#2]\tcbraster[#1]}% + {\endtcbraster\endtcolorbox} diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex index ee765fe33ac..9bc4926d41d 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcbskins.code.tex: Code for colorboxes with different skins %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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{3.80} +\tcb@set@library@version{3.90} \RequirePackage{tikz}[2010/10/13] @@ -478,7 +478,10 @@ \tcbset{empty/.style={skin=empty},% blanker/.style={empty,arc=0pt,outer arc=0pt,boxsep=0pt,top=0pt,bottom=0pt,left=0pt,right=0pt,boxrule=0pt,% - bottomtitle=6pt,middle=3pt}} + bottomtitle=6pt,middle=3pt}, + blankest/.style={blanker,notitle, + no shadow,no underlay,no overlay,no finish,no borderline}, + } \tcb@new@skin{freelance}{base@unbroken,% frame engine=freelance,interior titled engine=freelance,interior engine=freelance,segmentation engine=freelance,title engine=freelance,% @@ -629,6 +632,19 @@ \tcb@drawspec@sbs@F{fill=tcbcol@backlower}\fi\else\tcb@drawspec@LR{fill=tcbcol@backlower}\fi\tcb@spec{}},% skin first=bicolormiddle,skin middle=bicolormiddle,skin last=bicolorlast} +\tcb@new@skin{tile}{skin@bicolor,frame engine=empty,% + skin first=tilefirst,skin middle=tilemiddle,skin last=tilelast} + +\tcbset{tile/.style={skin=tile,boxrule=0pt,sharp corners,title filled,fonttitle=\bfseries}} + +\tcb@new@skin{tilefirst}{skin@bicolorfirst,frame engine=empty,% + skin first=tilefirst,skin middle=tilemiddle,skin last=tilemiddle} + +\tcb@new@skin{tilemiddle}{skin@bicolormiddle,frame engine=empty,% + skin first=tilemiddle,skin middle=tilemiddle,skin last=tilemiddle} + +\tcb@new@skin{tilelast}{skin@bicolorlast,frame engine=empty,% + skin first=tilemiddle,skin middle=tilemiddle,skin last=tilelast} \tikzset{beamer@color/.style={fill=none,top color=tcbcol@back,bottom color=tcbcol@back!85!black}} @@ -949,21 +965,43 @@ no finish/.style={no finish unbroken,no finish first,no finish middle,no finish last},% } +\def\tcb@trans@set@boxedsize@copy@top{% + \begingroup\edef\x{\endgroup\noexpand\def\noexpand\tcb@trans@boxedsize{% + leftrule=\kvtcb@left@rule,rightrule=\kvtcb@right@rule, + toprule=\kvtcb@top@rule@stand,bottomrule=\kvtcb@title@rule, + boxsep=\kvtcb@boxsep,leftupper=\kvtcb@lefttitle,rightupper=\kvtcb@righttitle, + top=\kvtcb@toptitle,bottom=\kvtcb@bottomtitle,arc=\kvtcb@arc, + sharp corners=south, + }}\x}% +\def\tcb@trans@set@boxedsize@copy@bottom{% + \begingroup\edef\x{\endgroup\noexpand\def\noexpand\tcb@trans@boxedsize{% + leftrule=\kvtcb@left@rule,rightrule=\kvtcb@right@rule, + toprule=\kvtcb@title@rule,bottomrule=\kvtcb@bottom@rule@stand, + boxsep=\kvtcb@boxsep,leftupper=\kvtcb@lefttitle,rightupper=\kvtcb@righttitle, + top=\kvtcb@toptitle,bottom=\kvtcb@bottomtitle,arc=\kvtcb@arc, + sharp corners=north, + }}\x}% \tcbset{% + boxed title size/.is choice, + boxed title size/standard/.code={\def\tcb@trans@set@boxedsize##1{\let\tcb@trans@boxedsize\@empty}}, + boxed title size/title/.code={\def\tcb@trans@set@boxedsize##1{\def\tcb@trans@boxedsize{size=title}}}, + boxed title size/copy/.code={\def\tcb@trans@set@boxedsize##1{% + \ifstrequal{##1}{top}{\tcb@trans@set@boxedsize@copy@top}{\tcb@trans@set@boxedsize@copy@bottom}}}, before@boxed@title/.store in=\kvtcb@before@boxedtitle,% after@boxed@title/.store in=\kvtcb@after@boxedtitle,% - boxed title style/.store in=\kvtcb@style@boxedtitle,% + boxed title style/.code={\appto\kvtcb@style@boxedtitle{,#1}},% + no boxed title style/.code={\let\kvtcb@style@boxedtitle\@empty},% % varwidth boxed title/.style={before@boxed@title={\tcbdimto\tcb@w@title{#1}\begin{varwidth}{\tcb@w@title}},after@boxed@title={\end{varwidth}}},% - varwidth boxed title/.default={\kvtcb@width-\kvtcb@left@rule-\kvtcb@right@rule-\kvtcb@boxsep*2-\kvtcb@lefttitle-\kvtcb@righttitle}, + varwidth boxed title/.default={\kvtcb@width-(\kvtcb@left@rule)-(\kvtcb@right@rule)-(\kvtcb@boxsep)*2-(\kvtcb@lefttitle)-(\kvtcb@righttitle)}, varwidth boxed title*/.style={varwidth boxed title={\kvtcb@width+#1}}, - varwidth boxed title*/.default={-\kvtcb@left@rule-\kvtcb@right@rule-\kvtcb@boxsep*2-\kvtcb@lefttitle-\kvtcb@righttitle}, + varwidth boxed title*/.default={0pt-(\kvtcb@left@rule)-(\kvtcb@right@rule)-(\kvtcb@boxsep)*2-(\kvtcb@lefttitle)-(\kvtcb@righttitle)}, % minipage boxed title/.style={before@boxed@title={\tcbdimto\tcb@w@title{#1}\begin{minipage}{\tcb@w@title}},after@boxed@title={\end{minipage}}},% - minipage boxed title/.default={\kvtcb@width-\kvtcb@left@rule-\kvtcb@right@rule-\kvtcb@boxsep*2-\kvtcb@lefttitle-\kvtcb@righttitle}, + minipage boxed title/.default={\kvtcb@width-(\kvtcb@left@rule)-(\kvtcb@right@rule)-(\kvtcb@boxsep)*2-(\kvtcb@lefttitle)-(\kvtcb@righttitle)}, minipage boxed title*/.style={minipage boxed title={\kvtcb@width+#1}}, - minipage boxed title*/.default={-\kvtcb@left@rule-\kvtcb@right@rule-\kvtcb@boxsep*2-\kvtcb@lefttitle-\kvtcb@righttitle}, + minipage boxed title*/.default={0pt-(\kvtcb@left@rule)-(\kvtcb@right@rule)-(\kvtcb@boxsep)*2-(\kvtcb@lefttitle)-(\kvtcb@righttitle)}, % tikznode boxed title/.style={before@boxed@title={\centering\tcb@shield@externalize\begin{tikzpicture}\node[align=center,inner sep=0pt,outer sep=0pt,#1]\bgroup},after@boxed@title={\egroup;\end{tikzpicture}}},% hbox boxed title/.style={before@boxed@title=,after@boxed@title=},% @@ -998,11 +1036,14 @@ detach title, code={\def\tcb@specialtitle@hook{% \ifx\tcbtitletext\@empty\else% + \tcb@trans@set@boxedsize{#2}% \colorlet{tcbtranscol@frame}{tcbcol@frame}% \colorlet{tcbtranscol@back}{tcbcol@backtitle}% + \let\tcb@trans@skin@current\kvtcb@skin@current% \let\tcb@trans@boxedstyle\kvtcb@style@boxedtitle% - \setbox\tcb@titlebox\color@hbox\bgroup\color{tcbcol@title}\kvtcb@fonttitle\kvtcb@haligntitle\kvtcb@before@boxedtitle\kvtcb@before@title\tcbtitletext\kvtcb@after@title\kvtcb@after@boxedtitle\egroup\color@endbox% - \setbox\tcb@titlebox\color@hbox\tcbox[colframe=tcbtranscol@frame,colback=tcbtranscol@back,size=title,code={\pgfkeysalsofrom\tcb@trans@boxedstyle}]{\box\tcb@titlebox}\color@endbox% + \setbox\tcb@titlebox\color@hbox\bgroup\color{tcbcol@title}\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\tcbox[skin=\tcb@trans@skin@current,colframe=tcbtranscol@frame,colback=tcbtranscol@back,% + code={\pgfkeysalsofrom\tcb@trans@boxedsize\pgfkeysalsofrom\tcb@trans@boxedstyle}]{\box\tcb@titlebox}\color@endbox% % \tcbdimto\tcboxedtitleheight{\ht\tcb@titlebox+\dp\tcb@titlebox}% \tcbdimto\tcboxedtitlewidth{\wd\tcb@titlebox}% @@ -1028,6 +1069,33 @@ attach boxed title to bottom left/.style={attach@title@boxed@bottom={#1}{below right}{south west}}, attach boxed title to bottom center/.style={attach@title@boxed@bottom={#1}{below}{south}}, attach boxed title to bottom right/.style={attach@title@boxed@bottom={#1}{below left}{south east}}, + reduce@vertical@rules/.code={% + \ifdim\dimexpr\kvtcb@left@rule<\dimexpr\kvtcb@right@rule\relax% + \tcbdimto\tcb@temp{\kvtcb@left@rule/2}% + \else% + \tcbdimto\tcb@temp{\kvtcb@right@rule/2}% + \fi% + \tcbset{leftrule/.expanded=\the\dimexpr\kvtcb@left@rule-\tcb@temp\relax, + rightrule/.expanded=\the\dimexpr\kvtcb@right@rule-\tcb@temp\relax}% + }, + attach boxed title to bottom/.style={% + attach boxed title to bottom center={yshift*=\tcboxedtitleheight,#1}, + minipage boxed title,boxed title size=copy, + }, + attach boxed title to bottom*/.style={% + attach boxed title to bottom={#1}, + boxed title style={reduce@vertical@rules}, + }, + attach boxed title to top/.style={% + attach boxed title to top center={yshift*=-\tcboxedtitleheight,#1}, + minipage boxed title,boxed title size=copy, + }, + attach boxed title to top*/.style={% + attach boxed title to top={#1}, + boxed title style={reduce@vertical@rules}, + }, + flip title/.style={attach boxed title to bottom, + boxed title style={reduce@vertical@rules,#1}}, } @@ -1633,25 +1701,19 @@ \def\tcb@include@graphics{% \ifdefstring{\kvtcb@capture}{hbox}{% \tcbox{% - \edef\tcb@temp{\noexpand\includegraphics[\expandonce\kvtcb@graphics@options]}% - \tcb@temp{\imagepath}% + \begingroup\edef\x{\endgroup\noexpand\includegraphics[\expandonce\kvtcb@graphics@options]}% + \x{\imagepath}% }% }{% \iftcb@fixedheight% - \begin{tcolorbox}[underlay={% - \begin{tcbclipinterior}% - \edef\tcb@temp{\noexpand\tikzset{fill image options={\expandonce\kvtcb@graphics@options}}}% - \tcb@temp% - \path[fill zoom image={\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}% - }]% + \begin{tcolorbox}% + \begingroup\edef\x{\endgroup\noexpand\includegraphics[\expandonce\kvtcb@graphics@options,height=\tcbtextheight]}% + \x{\imagepath}% \end{tcolorbox}% \else% \begin{tcolorbox}% - \edef\tcb@temp{\noexpand\includegraphics[\expandonce\kvtcb@graphics@options,width=\linewidth]}% - \tcb@temp{\imagepath}% + \begingroup\edef\x{\endgroup\noexpand\includegraphics[\expandonce\kvtcb@graphics@options,width=\linewidth]}% + \x{\imagepath}% \end{tcolorbox}% \fi% }% @@ -1752,7 +1814,7 @@ watermark zoom=0.75,clip watermark,% clip title=false,clip upper=false,clip lower=false,% no borderline,smart shadow arc,no shadow,no underlay,no finish,tikz reset,at begin tikz reset,at end tikz reset,% - boxed title style=,hbox boxed title,code={\let\tcb@specialgeonodes@hook\relax},% + boxed title size=title,no boxed title style,hbox boxed title,code={\let\tcb@specialgeonodes@hook\relax},% graphics options=,graphics pages={1,...,\pdfpages},graphics directory=,% }, initialize@reset=reset@skins, diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex index 98ec28d47c4..6325257bebd 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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{3.80} +\tcb@set@library@version{3.90} \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 3365d806cbd..e01802d9c7b 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcbtheorems.code.tex: Code for theorems in colorboxes %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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{3.80} +\tcb@set@library@version{3.90} \RequirePackage{amsmath} diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex index 9da5627107d..63d673d955f 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcbxparse.code.tex: Code for xparse features %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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{3.80} +\tcb@set@library@version{3.90} \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 7462c504629..6bfd79d8556 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 3.80 (2015/11/27) +%% The LaTeX package tcolorbox - version 3.90 (2016/02/29) %% tcolorbox.sty: Text color boxes %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2006-2016 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} -\ProvidesPackage{tcolorbox}[2015/11/27 version 3.80 text color boxes] -\def\tcb@version{3.80} +\ProvidesPackage{tcolorbox}[2016/02/29 version 3.90 text color boxes] +\def\tcb@version{3.90} \RequirePackage{pgf}[2008/01/15] \RequirePackage{verbatim}[2003/08/22] @@ -255,18 +255,28 @@ float*/.default=\kvtcb@floatplacement, every float/.store in=\kvtcb@everyfloat,% nofloat/.style={float=}, - before/.code={\def\kvtcb@beforebox{#1}\let\tcb@use@autoparskip=\relax}, + before/.code={\def\kvtcb@beforebox{#1}\let\tcb@undo@before=\@empty\let\tcb@use@autoparskip=\relax}, after/.code={\def\kvtcb@afterbox{#1}\let\tcb@use@autoparskip=\relax}, autoparskip/.code={\let\tcb@use@autoparskip=\tcb@use@auto@parskip}, - parskip/.style={before={\par\pagebreak[0]\parindent=0pt},after={\par}}, - noparskip/.style={before={\ifnum\lastnodetype=-1\relax\else\par\smallskip\pagebreak[0]\fi\parindent=0pt},after={\par\smallskip}}, + 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\parindent=0pt}, + after={\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\parindent=0pt}, + after={\par\smallskip}}, nobeforeafter/.style={before=,after=}, force nobeforeafter/.code={\tcbset@late@options{nobeforeafter}}, before skip/.style={before={% \ifnum\lastnodetype=-1\relax% \else% - \par\ifvmode\nointerlineskip% - \addvspace{\glueexpr#1-\parskip}% + \par% + \ifvmode\tcbdimto\tcb@prevdepth{\prevdepth}\nointerlineskip% + \addvspace{\glueexpr#1-\parskip}% + \def\tcb@undo@before{\addvspace{-\glueexpr#1+\tcb@prevdepth}}% \fi% \fi% \lineskip=0pt\noindent% @@ -286,23 +296,43 @@ upperbox/invisible/.code={\tcb@uppervisiblefalse}, visible/.style={upperbox=visible,lowerbox=visible}, invisible/.style={upperbox=invisible,lowerbox=invisible}, - natural height/.code={\tcb@fixedheightfalse\let\tcb@ch=\tcb@ch@natural\let\tcb@height@adjust\@empty}, - height/.code={\tcb@fixedheighttrue\tcb@dim@to\kvtcb@height@fixed{#1}\let\tcb@ch=\tcb@ch@fixed\let\tcb@height@adjust\@empty}, - text height/.code={\tcb@fixedheighttrue\tcb@dim@to\kvtcb@height@fixed{#1}\let\tcb@ch=\tcb@ch@innerfixed\let\tcb@height@adjust\@empty}, - add to height/.code={\ifdefined\kvtcb@height@fixed\tcbdimto\kvtcb@height@fixed{\kvtcb@height@fixed+(#1)}\fi}, +% natural height/.code={\tcb@fixedheightfalse\let\tcb@ch=\tcb@ch@natural\let\tcb@height@adjust\@empty}, + natural height/.code={\tcb@fixedheightfalse\tcb@@ch@@operation{\tcb@ch@natural}}, +% height/.code={\tcb@fixedheighttrue\tcb@dim@to\kvtcb@height@fixed{#1}\let\tcb@ch=\tcb@ch@fixed\let\tcb@height@adjust\@empty}, + height/.code={\tcb@fixedheighttrue\tcb@dim@to\kvtcb@height@fixed{#1}\tcb@@ch@@operation{\tcb@ch@fixed}}, +% text height/.code={\tcb@fixedheighttrue\tcb@dim@to\kvtcb@height@fixed{#1}\let\tcb@ch=\tcb@ch@innerfixed\let\tcb@height@adjust\@empty}, + text height/.code={\tcb@fixedheighttrue\tcb@dim@to\kvtcb@height@fixed{#1}\tcb@@ch@@operation{\tcb@ch@innerfixed}}, + add to height/.code={\iftcb@fixedheight\tcbdimto\kvtcb@height@fixed{\kvtcb@height@fixed+(#1)}\fi}, + add to natural height/.code={\tcb@fixedheightfalse\def\kvtcb@height@natural@plus{#1}\tcb@@ch@@operation{\tcb@ch@natural@plus}}, height plus/.dimstore in=\kvtcb@height@fixed@plus,% height from/.style args={#1 to #2}{height={#1},height plus={#2-(#1)}},% height fill/.is choice,% height fill/false/.code={\let\tcb@height@adjust\@empty},% square/.style={height=\kvtcb@width}, - equal height group/.code={\edef\tcb@ehgid{#1}\let\tcb@ch=\tcb@ch@equalheight}, +% equal height group/.code={\edef\tcb@ehgid{#1}\let\tcb@ch=\tcb@ch@equalheight\let\tcb@height@adjust\@empty}, + equal height group/.code={\tcb@fixedheightfalse\edef\tcb@ehgid{#1}\tcb@@ch@@operation{\tcb@ch@equalheight}}, minimum for equal height group/.code args={#1:#2}{\edef\tcb@ehgid{#1}\tcb@ehgadd{#2}}, use height from group/.code={\ifcsundef{tcb@ehg@height@#1}{}{\tcbset{height=\csuse{tcb@ehg@height@#1}}}}, - space/.code={\def\tcb@height@fraction{#1}\let\tcb@ch@fixed@both=\tcb@ch@fixed@space}, + use height from group/.default={\csuse{tcb@ehgid}}, + space/.code={\def\tcb@height@fraction{#1}% + \let\tcb@ch@fixed@both=\tcb@ch@fixed@space% + \let\tcb@ch@fixed@upper=\tcb@ch@fixed@upper@standard% + }, space to upper/.style={space=1}, space to lower/.style={space=0}, space to both/.style={space=0.5}, - split/.code={\def\tcb@height@fraction{#1}\let\tcb@ch@fixed@both=\tcb@ch@fixed@split}, + split/.code={\def\tcb@height@fraction{#1}% + \let\tcb@ch@fixed@both=\tcb@ch@fixed@space% + \let\tcb@ch@fixed@upper=\tcb@ch@fixed@upper@standard% + }, + space to/.code={% + \ifcsdef{tcb@space@\thetcolorboxnumber}{% + \letcs{\tcb@space}{tcb@space@\thetcolorboxnumber}% + }{}% + \let#1\tcb@space% + \let\tcb@ch@fixed@both=\tcb@ch@fixed@spacesave% + \let\tcb@ch@fixed@upper=\tcb@ch@fixed@spacesave% + }, % halign/.is choice, halign/flush left/.code={\let\kvtcb@halignupper=\raggedright}, @@ -419,7 +449,7 @@ skin first/.store in=\kvtcb@skin@first, skin middle/.store in=\kvtcb@skin@middle, skin last/.store in=\kvtcb@skin@last, - skin/.style={skin@#1}, + skin/.style={code={\edef\kvtcb@skin@current{#1}},skin@#1}, skin first is subskin of/.style 2 args={skin@local@first/.style={skin@#1,#2},skin first=local@first},% skin middle is subskin of/.style 2 args={skin@local@middle/.style={skin@#1,#2},skin middle=local@middle},% skin last is subskin of/.style 2 args={skin@local@last/.style={skin@#1,#2},skin last=local@last},% @@ -461,10 +491,10 @@ after title/.store in=\kvtcb@after@title,% before upper/.store in=\kvtcb@before@upper,% after upper/.store in=\kvtcb@after@upper,% - after upper*/.style={after upper={\unskip#1}},% + after upper*/.style={after upper={\ifvmode\else\unskip\fi#1}},% before lower/.store in=\kvtcb@before@lower,% after lower/.store in=\kvtcb@after@lower,% - after lower*/.style={after lower={\unskip#1}},% + after lower*/.style={after lower={\ifvmode\else\unskip\fi#1}},% center title/.style={halign title=flush center},% center upper/.style={halign upper=flush center},% center lower/.style={halign lower=flush center},% @@ -490,13 +520,9 @@ \begin{varwidth}{\tcb@w@upper}},after upper={\end{varwidth}}},% varwidth upper/.default=\kvtcb@width, text fill/.style={before upper={% - \iftcb@fixedheight% - \tcbdimto\tcb@temp{\kvtcb@top@rule@stand+\kvtcb@bottom@rule@stand+\kvtcb@boxsep*2+\kvtcb@top+\kvtcb@bottom}% - \iftcb@hasTitle% - \tcbdimto\tcb@temp{\tcb@temp+\ht\tcb@titlebox+\dp\tcb@titlebox+\kvtcb@title@rule+\kvtcb@boxsep*2+\kvtcb@toptitle+\kvtcb@bottomtitle}% - \fi% - \tcbdimto\tcb@temp{\kvtcb@height@fixed-\tcb@temp}% - \edef\tcb@temp{\noexpand\minipage[c][\tcb@temp]}% + \ifdim\dimexpr\tcbtextheight>0pt\relax% + %\iftcb@fixedheight% + \edef\tcb@temp{\noexpand\minipage[c][\tcbtextheight]}% \else% \let\tcb@temp\minipage% \fi% @@ -753,7 +779,16 @@ \tcbdimto\tcb@width{\kvtcb@width}% \tcbdimto\tcb@innerwidth{\tcb@width-\kvtcb@left@rule-\kvtcb@right@rule}% \tcbdimto\tcb@w@upper{\tcb@innerwidth-\kvtcb@boxsep*2-\kvtcb@leftupper-\kvtcb@rightupper}% + \let\tcbtextwidth=\tcb@w@upper% \tcbdimto\kvtcb@arc{\kvtcb@arc}% + % computation of text height + \iftcb@fixedheight% + \tcbdimto\tcbtextheight{\kvtcb@top@rule@stand+\kvtcb@bottom@rule@stand+\kvtcb@boxsep*2+\kvtcb@top+\kvtcb@bottom}% + \iftcb@hasTitle% + \tcbdimto\tcbtextheight{\tcbtextheight+\ht\tcb@titlebox+\dp\tcb@titlebox+\kvtcb@title@rule+\kvtcb@boxsep*2+\kvtcb@toptitle+\kvtcb@bottomtitle}% + \fi% + \tcbdimto\tcbtextheight{\kvtcb@height@fixed-\tcbtextheight}% + \fi% } \def\tcb@set@@sidebyside{% @@ -935,6 +970,9 @@ } \long\def\tcb@apply@box@options#1{% + \let\tcb@space\tcb@zpt% + \let\tcbtextheight\tcb@zpt% + \let\tcbtextwidth\tcb@zpt% \tcbset{#1}\tcb@lateoptions@hook\tcb@afteroptions@hook% \if@nobreak% \let\iftcb@nobreak\@firstoftwo% @@ -968,27 +1006,64 @@ \let\endtcolorbox=\tcb@endboxanddraw % height computations +\def\tcb@@ch@@operation#1{% + \let\tcb@ch=#1% + \let\tcb@height@adjust\@empty% +} + + \def\tcb@ch@natural{% \let\tcb@height\tcb@natheight% + \let\tcbheightspace\tcb@zpt% \tcbdimto\tcb@height@upper{\ht\tcb@upperbox+\dp\tcb@upperbox}% \iftcb@lowerspace% \tcbdimto\tcb@height@lower{\ht\tcb@lowerbox+\dp\tcb@lowerbox}% \fi% } -\def\tcb@ch@fixed@upper{% - \tcbdimto\tcb@height@upper{\ht\tcb@upperbox+\dp\tcb@upperbox+\tcb@height-\tcb@natheight}% +\def\tcb@ch@natural@plus{% + \tcbdimto\tcbheightspace{\kvtcb@height@natural@plus}% + \tcbdimto\tcb@height{\tcb@natheight+\tcbheightspace}% + \iftcb@lowerspace\tcb@ch@fixed@both\else\tcb@ch@fixed@upper\fi% +} + + +\def\tcb@ch@fixed@upper@standard{% + \tcbdimto\tcb@height@upper{\ht\tcb@upperbox+\dp\tcb@upperbox+\tcbheightspace}% } \def\tcb@ch@fixed@space{% - \tcbdimto\tcb@height@space{\tcb@height-\tcb@natheight}% - \tcbdimto\tcb@height@spaceupper{\tcb@height@fraction\dimexpr\tcb@height@space\relax}% + %\tcbdimto\tcb@height@space{\tcb@height-\tcb@natheight}% + \tcbdimto\tcb@height@spaceupper{\tcb@height@fraction\dimexpr\tcbheightspace\relax}% \tcbdimto\tcb@height@upper{\ht\tcb@upperbox+\dp\tcb@upperbox+\tcb@height@spaceupper}% - \tcbdimto\tcb@height@lower{\ht\tcb@lowerbox+\dp\tcb@lowerbox+\tcb@height@space-\tcb@height@spaceupper}% + \tcbdimto\tcb@height@lower{\ht\tcb@lowerbox+\dp\tcb@lowerbox+\tcbheightspace-\tcb@height@spaceupper}% +} + +\def\tcb@savespace#1#2{% + \immediate\write\@auxout{\string\csgdef{tcb@space@#1}{#2}}% +} + +\def\tcb@ch@fixed@spacesave{% + %\tcbdimto\tcb@height@space{\tcb@height-\tcb@natheight}% + \tcbdimto\tcb@space{\tcb@space+\tcbheightspace}% + \ifdim\dimexpr\tcb@space<0pt\relax + \let\tcb@space\tcb@zpt% + \else% + \ifdim\dimexpr\tcb@space>\tcb@height\relax + \let\tcb@space\tcb@height% + \fi% + \fi% + \begingroup\edef\x{\endgroup\noexpand\tcb@savespace{\thetcolorboxnumber}{\tcb@space}}\x% + \tcbdimto\tcb@height@upper{\ht\tcb@upperbox+\dp\tcb@upperbox+\tcbheightspace}% + \let\tcbheightspace\tcb@zpt% + \iftcb@lowerspace% + \tcbdimto\tcb@height@lower{\ht\tcb@lowerbox+\dp\tcb@lowerbox}% + \fi% } \def\tcb@ch@fixed@split{% - \tcbdimto\tcb@height@space{\tcb@height-\tcb@natheight+\ht\tcb@upperbox+\dp\tcb@upperbox+\ht\tcb@lowerbox+\dp\tcb@lowerbox}% +% \tcbdimto\tcb@height@space{\tcb@height-\tcb@natheight+\ht\tcb@upperbox+\dp\tcb@upperbox+\ht\tcb@lowerbox+\dp\tcb@lowerbox}% + \tcbdimto\tcb@height@space{\tcbheightspace+\ht\tcb@upperbox+\dp\tcb@upperbox+\ht\tcb@lowerbox+\dp\tcb@lowerbox}% \tcbdimto\tcb@height@upper{\tcb@height@fraction\dimexpr\tcb@height@space\relax}% \tcbdimto\tcb@height@lower{\tcb@height@space-\tcb@height@upper}% } @@ -997,6 +1072,7 @@ \ifdim\tcb@natheight<\dimexpr\kvtcb@height@fixed\relax% \tcbdimto\tcb@height{\kvtcb@height@fixed}% \else% + \tcbdimto\tcb@space{\tcb@space+\kvtcb@height@fixed-\tcb@natheight}% \tcbdimto\tcb@temp{\kvtcb@height@fixed+\kvtcb@height@fixed@plus}% \ifdim\tcb@natheight>\tcb@temp\relax% \let\tcb@height\tcb@temp% @@ -1004,6 +1080,7 @@ \let\tcb@height\tcb@natheight% \fi% \fi% + \tcbdimto\tcbheightspace{\tcb@height-\tcb@natheight}% \iftcb@lowerspace\tcb@ch@fixed@both\else\tcb@ch@fixed@upper\fi% } @@ -1037,16 +1114,18 @@ } \def\tcb@ch@equalheight{% - \tcb@ehgadd{\tcb@natheight}% + \tcbdimto\tcb@ehg@currentheight{\tcb@natheight-\tcb@space}% + \tcb@ehgadd{\tcb@ehg@currentheight}% \ifcsdef{tcb@ehg@height@\tcb@ehgid}{% - \ifdim\csuse{tcb@ehg@height@\tcb@ehgid}<\tcb@natheight\relax% - \let\tcb@height\tcb@natheight% + \ifdim\csuse{tcb@ehg@height@\tcb@ehgid}<\tcb@ehg@currentheight\relax% + \let\tcb@height\tcb@ehg@currentheight% \else% \letcs{\tcb@height}{tcb@ehg@height@\tcb@ehgid}% \fi% }{% - \let\tcb@height\tcb@natheight% + \let\tcb@height\tcb@ehg@currentheight% }% + \tcbdimto\tcbheightspace{\tcb@height-\tcb@natheight}% \iftcb@lowerspace\tcb@ch@fixed@both\else\tcb@ch@fixed@upper\fi% } @@ -1509,6 +1588,7 @@ \fi% \tcb@ch% \tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}% + \tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}% \tcb@drawing@env@begin% \pgfsetbaseline{\the\dimexpr\kvtcb@baseline-\kvtcb@bbbottom\relax}% \tcb@extensions@preframe% |