summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex')
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex164
1 files changed, 119 insertions, 45 deletions
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
index 70e36b1c073..d57cd4e4f01 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.36 (2015/01/09)
+%% The LaTeX package tcolorbox - version 3.40 (2015/01/14)
%% tcbbreakable.code.tex: Code for breakable colorboxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2014 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2015 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.36}
+\tcb@set@library@version{3.40}
\let\tcb@parboxrestore@true=\tcb@parboxrestore
\def\tcb@parboxrestore@false{\vskip-\parskip\linewidth\hsize\noindent}
@@ -354,25 +354,68 @@
\tcbdimto\tcb@h@upper{\ht\tcb@upperbox+\dp\tcb@upperbox}%
}
+
+\def\tcb@split@upper@box@and@assemble{%
+ \vfuzz=\maxdimen\vbadness=10000\savingvdiscards=1%
+ \setbox\tcb@upperbox=\vsplit\tcb@totalupperbox to\tcb@split@dim%
+ \edef\tcb@upper@box@badness{\the\badness}%
+ \ifnum\tcb@upper@box@badness=1000000\relax%
+ \setbox\tcb@totalupperbox=\vbox{%
+ \unvbox\tcb@upperbox%
+ \splitdiscards%
+ \unvbox\tcb@totalupperbox}%
+ \else%
+ \tcb@setbox@upper{\tcb@split@dim}{\tcb@upperbox}%
+ \fi%
+ \vbadness=\tcb@thevbadness\vfuzz=\tcb@thevfuzz\savingvdiscards=0%
+}
+
+
\def\tcb@split@upper@box{%
\vfuzz=\maxdimen\vbadness=10000%
\setbox\tcb@upperbox=\vsplit\tcb@totalupperbox to\tcb@split@dim%
+ \edef\tcb@upper@box@badness{\the\badness}%
+ \ifnum\tcb@upper@box@badness=1000000\relax%
+ \tcb@warning{The upper box part has become overfull}%
+ \fi%
\tcb@setbox@upper{\tcb@split@dim}{\tcb@upperbox}%
\vbadness=\tcb@thevbadness\vfuzz=\tcb@thevfuzz%
}
+
\def\tcb@setbox@lower#1#2{%
\tcb@setbox\tcb@lowerbox{#1}{#2}%
\tcbdimto\tcb@h@lower{\ht\tcb@lowerbox+\dp\tcb@lowerbox}%
}
+\def\tcb@split@lower@box@and@assemble{%
+ \vfuzz=\maxdimen\vbadness=10000\savingvdiscards=1%
+ \setbox\tcb@lowerbox=\vsplit\tcb@totallowerbox to\tcb@split@dim%
+ \edef\tcb@lower@box@badness{\the\badness}%
+ \ifnum\tcb@lower@box@badness=1000000\relax%
+ \setbox\tcb@totallowerbox=\vbox{%
+ \unvbox\tcb@lowerbox%
+ \splitdiscards%
+ \unvbox\tcb@totallowerbox}%
+ \else%
+ \tcb@setbox@lower{\tcb@split@dim}{\tcb@lowerbox}%
+ \fi%
+ \vbadness=\tcb@thevbadness\vfuzz=\tcb@thevfuzz\savingvdiscards=0%
+}
+
+
\def\tcb@split@lower@box{%
\vfuzz=\maxdimen\vbadness=10000%
\setbox\tcb@lowerbox=\vsplit\tcb@totallowerbox to\tcb@split@dim%
+ \edef\tcb@lower@box@badness{\the\badness}%
+ \ifnum\tcb@lower@box@badness=1000000\relax%
+ \tcb@warning{The lower box part has become overfull}%
+ \fi%
\tcb@setbox@lower{\tcb@split@dim}{\tcb@lowerbox}%
\vbadness=\tcb@thevbadness\vfuzz=\tcb@thevfuzz%
}
+
\def\tcb@split@setstate@first{%
\edef\tcb@split@state{first}%
\let\kvtcb@top@rule=\kvtcb@top@rule@stand%
@@ -412,6 +455,17 @@
}
+\def\tcb@split@break@to@start{%
+ \tcb@swap{\tcb@totalupperbox}{\tcb@upperbox}%
+ \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%
+ \let\tcb@split@next=\tcb@split@start%
+}
+
\def\tcb@split@first{%
\setcounter{tcbbreakpart}{1}%
\ifx\kvtcb@float\@empty%
@@ -463,29 +517,39 @@
\let\tcb@split@next=\relax%
\tcbdimto\tcb@split@dim{\tcb@h@page-\tcb@h@padding@first-\tcb@h@padtitle}%
\ifdim\tcb@split@dim<\tcb@h@upper\relax%
- \tcb@split@upper@box%
- \ifdim\wd\tcb@totalupperbox=0pt\relax%
- \iftcb@lowerspace%
- \tcb@sdraw@U%
- \let\tcb@split@next=\tcb@split@SL%
+ %
+ %
+ \iftcb@break@allowed%
+ \tcb@split@upper@box@and@assemble%
+ \ifnum\tcb@upper@box@badness=1000000\relax%
+ \tcb@split@break@to@start%
\else%
- \tcb@split@force@standalone%
- \tcb@drawcolorbox@standalone%
+ \ifdim\wd\tcb@totalupperbox=0pt\relax%
+ \iftcb@lowerspace%
+ \tcb@sdraw@U%
+ \let\tcb@split@next=\tcb@split@SL%
+ \else%
+ \tcb@split@force@standalone%
+ \tcb@drawcolorbox@standalone%
+ \fi%
+ \else%
+ \ifdim\dimexpr\tcb@h@upper=0pt\relax%
+ \tcb@split@break@to@start%
+ \else%
+ \tcb@sdraw@U%
+ \let\tcb@split@next=\tcb@split@USL%
+ \fi%
+ \fi%
\fi%
\else%
- \ifdim\dimexpr\tcb@h@upper=0pt\relax%
- \iftcb@break@allowed
- \tcb@swap{\tcb@totalupperbox}{\tcb@upperbox}%
- \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%
- \let\tcb@split@next=\tcb@split@start%
- \else%
+ \tcb@split@upper@box%
+ \ifdim\wd\tcb@totalupperbox=0pt\relax%
+ \iftcb@lowerspace%
\tcb@sdraw@U%
- \let\tcb@split@next=\tcb@split@USL%
+ \let\tcb@split@next=\tcb@split@SL%
+ \else%
+ \tcb@split@force@standalone%
+ \tcb@drawcolorbox@standalone%
\fi%
\else%
\tcb@sdraw@U%
@@ -494,23 +558,29 @@
\fi%
\else%
\tcb@swap{\tcb@totalupperbox}{\tcb@upperbox}%
- \tcbdimto\tcb@split@dim{\tcb@split@dim-\tcb@h@upper-\tcb@h@segment}
- \ifdim\tcb@split@dim<\kvtcb@breakminlines\baselineskip\relax%
- \tcb@sdraw@U%
- \iftcb@lowerspace%
- \let\tcb@split@next=\tcb@split@SL%
- \else%
- \let\tcb@split@next=\tcb@split@USL%
- \fi%
- \else
- \tcb@split@lower@box%
- \ifdim\wd\tcb@totallowerbox=0pt\relax%
- \tcb@split@force@standalone%
- \tcb@drawcolorbox@standalone%
- \else%
- \tcb@sdraw@USL%
- \let\tcb@split@next=\tcb@split@L%
+ \iftcb@lowerspace%
+ \tcbdimto\tcb@split@dim{\tcb@split@dim-\tcb@h@upper-\tcb@h@segment}%
+ \ifdim\tcb@split@dim<\kvtcb@breakminlines\baselineskip\relax%
+ \tcb@sdraw@U%
+ \let\tcb@split@next=\tcb@split@SL%
+ \else
+ \tcb@split@lower@box@and@assemble%
+ \ifnum\tcb@lower@box@badness=1000000\relax%
+ \tcb@sdraw@U%
+ \let\tcb@split@next=\tcb@split@SL%
+ \else%
+ \ifdim\wd\tcb@totallowerbox=0pt\relax%
+ \tcb@split@force@standalone%
+ \tcb@drawcolorbox@standalone%
+ \else%
+ \tcb@sdraw@USL%
+ \let\tcb@split@next=\tcb@split@L%
+ \fi%
+ \fi%
\fi%
+ \else%
+ \tcb@split@force@standalone%
+ \tcb@drawcolorbox@standalone%
\fi%
\fi%
\tcb@split@next%
@@ -568,13 +638,18 @@
\tcb@sdraw@U%
\let\tcb@split@next=\tcb@split@SL%
\else
- \tcb@split@lower@box%
- \ifdim\wd\tcb@totallowerbox=0pt\relax%
- \tcb@split@force@last%
- \tcb@sdraw@USL%
+ \tcb@split@lower@box@and@assemble%
+ \ifnum\tcb@lower@box@badness=1000000\relax%
+ \tcb@sdraw@U%
+ \let\tcb@split@next=\tcb@split@SL%
\else%
- \tcb@sdraw@USL%
- \let\tcb@split@next=\tcb@split@L%
+ \ifdim\wd\tcb@totallowerbox=0pt\relax%
+ \tcb@split@force@last%
+ \tcb@sdraw@USL%
+ \else%
+ \tcb@sdraw@USL%
+ \let\tcb@split@next=\tcb@split@L%
+ \fi%
\fi%
\fi%
\else%
@@ -851,4 +926,3 @@
},
initialize@reset=reset@breakable,
}
-