summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-06-23 23:43:36 +0000
committerKarl Berry <karl@freefriends.org>2013-06-23 23:43:36 +0000
commit3f214aab9775b3253253bc72fa7a58a0278206d4 (patch)
tree95424a0f9a874d042df4d3762e2a677ea15b010b /Master/texmf-dist/tex
parent0ade4baaa2b1857abfa6b1385ca4a72b9c68a08b (diff)
tcolorbox (23jun13)
git-svn-id: svn://tug.org/texlive/trunk@30869 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex32
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex48
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex269
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex25
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex9
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex5
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex363
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex11
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty223
9 files changed, 828 insertions, 157 deletions
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
index b6b98be075f..455d18d6686 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 2.22 (2013/05/15)
+%% The LaTeX package tcolorbox - version 2.32 (2013/06/23)
%% tcbbreakable.code.tex: Code for breakable colorboxes
%%
%% -------------------------------------------------------------------------------------------
@@ -17,8 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\makeatletter
-\def\tcblibrary@breakable@loaded{}
+\tcb@set@library@version{2.32}
\let\tcb@parboxrestore@true=\tcb@parboxrestore
\def\tcb@parboxrestore@false{\vskip-\parskip}
@@ -103,9 +102,6 @@
\tcb@comp@h@page%
%
% height calculation
- %\tcbdimto\tcb@h@padding{\kvtcb@bbtop@stand+\kvtcb@bbbottom@stand+\kvtcb@top@rule@stand+\kvtcb@bottom@rule@stand+\kvtcb@boxsep*2+\kvtcb@top+\kvtcb@bottom}%
- %
- %\tcbdimto\tcb@h@total{\tcb@h@before+\tcb@h@after+\tcb@h@padding+\tcb@h@padtitle+\tcb@h@upper+\tcb@h@segment+\tcb@h@lower}%
\tcb@comp@h@total@standalone%
%
\let\tcb@split@next=\relax%
@@ -251,7 +247,7 @@
\tcbdimto\tcb@split@dim{\tcb@h@page-\tcb@h@before-\tcb@h@padding@first-\tcb@h@padtitle}%
\ifdim\tcb@split@dim<\tcb@h@upper\relax%
\tcb@split@upper@box%
- \ifvoid\tcb@totalupperbox%
+ \ifdim\wd\tcb@totalupperbox=0pt\relax%
\iftcb@lowerspace%
\tcb@sdraw@U%
\let\tcb@split@next=\tcb@split@SL%
@@ -275,7 +271,7 @@
\fi%
\else
\tcb@split@lower@box%
- \ifvoid\tcb@totallowerbox%
+ \ifdim\wd\tcb@totallowerbox=0pt\relax%
\tcb@split@force@standalone%
\tcb@drawcolorbox@standalone%
\else%
@@ -318,7 +314,7 @@
\tcbdimto\tcb@split@dim{\tcb@h@page-\tcb@h@padding@middle-\tcb@h@padtitle}%
\ifdim\tcb@split@dim<\tcb@h@upper\relax%
\tcb@split@upper@box%
- \ifvoid\tcb@totalupperbox%
+ \ifdim\wd\tcb@totalupperbox=0pt\relax%
\iftcb@lowerspace%
\tcb@sdraw@U%
\let\tcb@split@next=\tcb@split@SL%
@@ -339,7 +335,7 @@
\let\tcb@split@next=\tcb@split@SL%
\else
\tcb@split@lower@box%
- \ifvoid\tcb@totallowerbox%
+ \ifdim\wd\tcb@totallowerbox=0pt\relax%
\tcb@split@force@last%
\tcb@sdraw@USL%
\else%
@@ -374,7 +370,7 @@
\tcb@split@setstate@middle%
\tcbdimto\tcb@split@dim{\tcb@h@page-\tcb@h@padding@middle+\kvtcb@top+\kvtcb@boxsep-\tcb@h@padtitle-\tcb@h@segment}%
\tcb@split@lower@box%
- \ifvoid\tcb@totallowerbox%
+ \ifdim\wd\tcb@totallowerbox=0pt\relax%
\tcb@split@force@last%
\tcb@sdraw@SL%
\else
@@ -403,7 +399,7 @@
\tcb@split@setstate@middle%
\tcbdimto\tcb@split@dim{\tcb@h@page-\tcb@h@padding@middle-\tcb@h@padtitle}%
\tcb@split@lower@box%
- \ifvoid\tcb@totallowerbox%
+ \ifdim\wd\tcb@totallowerbox=0pt\relax%
\tcb@split@force@last%
\tcb@sdraw@L%
\else
@@ -424,6 +420,7 @@
\csname tcb@before@\tcb@split@state\endcsname%
\begin{\kvtcb@graphenv}%
\tcb@bbdraw%
+ \tcb@extensions@preframe%
% draw frame and interior
\csname tcb@drawframe@\kvtcb@engine@frame\endcsname%
\iftcb@hasTitle%
@@ -435,7 +432,7 @@
\iftcb@hasTitle%
\csname tcb@drawtitle@\kvtcb@engine@title\endcsname%
\fi%
- \csname tcb@overlay@\tcb@split@state\endcsname%
+ \tcb@extensions@postframe%
% draw text boxes
\tcb@tdraw@title%
\tcb@tdraw@upper%
@@ -454,6 +451,7 @@
\csname tcb@before@\tcb@split@state\endcsname%
\begin{\kvtcb@graphenv}%
\tcb@bbdraw%
+ \tcb@extensions@preframe%
% draw frame and interior
\csname tcb@drawframe@\kvtcb@engine@frame\endcsname%
\iftcb@hasTitle%
@@ -464,7 +462,7 @@
\iftcb@hasTitle%
\csname tcb@drawtitle@\kvtcb@engine@title\endcsname%
\fi%
- \csname tcb@overlay@\tcb@split@state\endcsname%
+ \tcb@extensions@postframe%
% draw text boxes
\tcb@tdraw@title%
\tcb@tdraw@upper%
@@ -482,6 +480,7 @@
\csname tcb@before@\tcb@split@state\endcsname%
\begin{\kvtcb@graphenv}%
\tcb@bbdraw%
+ \tcb@extensions@preframe%
% draw frame and interior
\csname tcb@drawframe@\kvtcb@engine@frame\endcsname%
\iftcb@hasTitle%
@@ -493,7 +492,7 @@
\iftcb@hasTitle%
\csname tcb@drawtitle@\kvtcb@engine@title\endcsname%
\fi%
- \csname tcb@overlay@\tcb@split@state\endcsname%
+ \tcb@extensions@postframe%
% draw text boxes
\tcb@tdraw@title%
\tcb@tdraw@lower%
@@ -511,6 +510,7 @@
\csname tcb@before@\tcb@split@state\endcsname%
\begin{\kvtcb@graphenv}%
\tcb@bbdraw%
+ \tcb@extensions@preframe%
% draw frame and interior
\csname tcb@drawframe@\kvtcb@engine@frame\endcsname%
\iftcb@hasTitle%
@@ -521,7 +521,7 @@
\iftcb@hasTitle%
\csname tcb@drawtitle@\kvtcb@engine@title\endcsname%
\fi%
- \csname tcb@overlay@\tcb@split@state\endcsname%
+ \tcb@extensions@postframe%
% draw text boxes
\tcb@tdraw@title%
\tcb@tdraw@lower%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
index 7cb9b5cf1d2..2bd4ad3b087 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 2.22 (2013/05/15)
+%% The LaTeX package tcolorbox - version 2.32 (2013/06/23)
%% tcbdocumentation.code.tex: Code for LaTeX documentations
%%
%% -------------------------------------------------------------------------------------------
@@ -17,8 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\makeatletter
-\def\tcblibrary@documentation@loaded{}
+\tcb@set@library@version{2.32}
\tcbuselibrary{listings}
@@ -84,6 +83,7 @@
index actual/.store in=\idx@actual,
index quote/.store in=\idx@quote,
index level/.store in=\idx@level,
+ index format/.store in=\idx@format,
}
% styles
@@ -104,6 +104,7 @@
% presets
\tcbset{
+ index format=pgf,
english language,
documentation listing style=tcbdocumentation,
index default settings,
@@ -114,7 +115,9 @@
after example=,
}
-\AtBeginDocument{\hypersetup{
+\AtBeginDocument{%
+ \csname tcb@doc@index@\idx@format\endcsname%
+ \hypersetup{
citecolor=\kvtcb@colhyper,
linkcolor=\kvtcb@colhyper,
urlcolor=\kvtcb@colhyper,
@@ -208,22 +211,31 @@
{\endlist}
%--- index macros taken from pgfmanual-en-macros
-\def\index@prologue{\section*{\kvtcb@text@index}\addcontentsline{toc}{section}{\kvtcb@text@index}%
- \par\noindent%
-}
-\c@IndexColumns=2
+\def\tcb@doc@index@pgf{%
+ \def\index@prologue{\section*{\kvtcb@text@index}\addcontentsline{toc}{section}{\kvtcb@text@index}%
+ \par\noindent%
+ }%
+ \c@IndexColumns=2
\def\theindex{\@restonecoltrue
\columnseprule \z@ \columnsep 29\p@
\twocolumn[\index@prologue]%
- \parindent -30pt%
- \columnsep 15pt%
- \parskip 0pt plus 1pt%
- \leftskip 30pt%
- \rightskip 0pt plus 2cm%
- \small%
- \def\@idxitem{\par}%
- \let\item\@idxitem\ignorespaces}
- \def\endtheindex{\onecolumn}
-\def\noindexing{\let\index=\@gobble}
+ \parindent -30pt%
+ \columnsep 15pt%
+ \parskip 0pt plus 1pt%
+ \leftskip 30pt%
+ \rightskip 0pt plus 2cm%
+ \small%
+ \def\@idxitem{\par}%
+ \let\item\@idxitem\ignorespaces}
+ \def\endtheindex{\onecolumn}%
+ \def\noindexing{\let\index=\@gobble}%
+}
+\def\tcb@doc@index@doc{%
+ \let\index@Com=\SpecialMainIndex%%
+ \let\index@Env=\SpecialMainEnvIndex%
+ \tcbset{index german settings}%
+ \EnableCrossrefs%
+ \PageIndex%
+}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
new file mode 100644
index 00000000000..174b062f093
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
@@ -0,0 +1,269 @@
+%% The LaTeX package tcolorbox - version 2.32 (2013/06/23)
+%% tcbfitting.code.tex: Code for fit boxes
+%%
+%% -------------------------------------------------------------------------------------------
+%% Copyright (c) 2006-2012 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% -------------------------------------------------------------------------------------------
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `author-maintained'.
+%%
+%% This work consists of all files listed in README
+%%
+%\makeatletter
+\tcb@set@library@version{2.32}
+
+\newdimen\tcbfitdim
+\newdimen\tcb@lowerfitdim
+\newdimen\tcb@upperfitdim
+\newif\iftcb@continue
+
+\tcbset{%
+ fit/.style={capture=fitbox},%
+ fit to/.style args={#1 and #2}{capture=fitbox,width=#1,height=#2},%
+ fit to height/.style={capture=fitbox,height=#1},%
+ fit basedim/.code={\def\kvtcb@fit@basedim{#1}\tcbfitdim\kvtcb@fit@basedim},%
+ fit skip/.store in=\kvtcb@fit@skip,%
+ fit fontsize macros/.code={%
+ \renewcommand\tiny{\tcb@setfontsize\tiny{0.5}}%
+ \renewcommand\scriptsize{\tcb@setfontsize\scriptsize{0.7}}%
+ \renewcommand\footnotesize{\tcb@setfontsize\footnotesize{0.8}}%
+ \renewcommand\small{\tcb@setfontsize\small{0.9}}%
+ \renewcommand\normalsize{\tcb@setfontsize\normalsize{1}}%
+ \renewcommand\large{\tcb@setfontsize\large{1.2}}%
+ \renewcommand\Large{\tcb@setfontsize\Large{1.44}}%
+ \renewcommand\LARGE{\tcb@setfontsize\LARGE{1.728}}%
+ \renewcommand\huge{\tcb@setfontsize\huge{2.0736}}%
+ \renewcommand\Huge{\tcb@setfontsize\Huge{2.48832}}},%
+ fit height plus/.dimstore in=\kvtcb@fit@plus@height,%
+ fit width plus/.dimstore in=\kvtcb@fit@plus@width,%
+ fit height from/.style args={#1 to #2}{fit,height={#1},fit height plus={#2-#1}},
+ fit width from/.style args={#1 to #2}{fit,width={#1},fit width plus={#2-#1}},
+ fit maxstep/.store in=\kvtcb@fit@maxstep,%
+ fit maxfontdiff/.store in=\kvtcb@fit@maxfontdiff,%
+ fit maxfontdiffgap/.store in=\kvtcb@fit@maxfontdiffgap,%
+ fit maxwidthdiff/.store in=\kvtcb@fit@maxwidthdiff,%
+ fit maxwidthdiffgap/.store in=\kvtcb@fit@maxwidthdiffgap,%
+}
+
+\tcbset{%
+ fit basedim=10pt,fit skip=1.2,
+ fit height plus=0pt,fit width plus=0pt,
+ fit maxstep=20,fit maxfontdiff=0.1pt,fit maxfontdiffgap=1pt,
+ fit maxwidthdiff=1pt,fit maxwidthdiffgap=10pt,
+}
+
+\def\tcb@@capture@fitbox{%
+ \let\endtcolorbox=\relax%
+ \Collect@Body\tcbox@inner@fitbox%
+}
+
+
+\def\tcbfontsize#1{\fontsize{#1\tcbfitdim}{#1\dimexpr\kvtcb@fit@skip\tcbfitdim}\selectfont}
+
+\def\tcb@setfontsize#1#2{\@setfontsize#1{#2\tcbfitdim}{#2\dimexpr\kvtcb@fit@skip\tcbfitdim}}
+
+\long\def\tcbox@inner@fitbox#1{%
+ \tcbset{breakable@false,sidebyside=false}%
+ \let\tcb@val@raisebase=\tcb@zpt%
+ \unless\ifdefined\tcb@height@fixed%
+ \tcbset{height=\kvtcb@width}%
+ \fi%
+ \tcb@hasLowerfalse%
+ %
+ \count@\z@%
+ \tcbfitdim\kvtcb@fit@basedim%
+ %
+ %
+ \def\tcb@fit@@box{%
+ \tcbdimto\tcb@fit@@line{\kvtcb@fit@skip\tcbfitdim}%
+ \tcbdimto\tcb@w@upper{\tcb@width-\kvtcb@left@rule-\kvtcb@right@rule-\kvtcb@boxsep*2-\kvtcb@leftupper-\kvtcb@rightupper}%
+ \begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}%
+ \color{\kvtcb@colupper}%
+ \kvtcb@fontupper\fontsize{\tcbfitdim}{\tcb@fit@@line}\selectfont%
+ \kvtcb@before@upper#1\kvtcb@after@upper%
+ \end{tcb@savebox}%
+ \tcbdimto\tcb@fit@@h{\ht\tcb@upperbox+\dp\tcb@upperbox}%
+ \tcbdimto\tcb@fit@@target{\tcb@height@fixed-\kvtcb@top@rule@stand-\kvtcb@bottom@rule@stand-\kvtcb@top-\kvtcb@bottom-\kvtcb@boxsep*2-\tcb@h@titletotal}%
+ \advance\count@ 1\relax%
+ }%
+ \def\tcb@fit@@box@titled{%
+ \tcb@set@@dim@and@title%
+ \iftcb@hasTitle%
+ \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%
+ \fi%
+ \tcb@fit@@box%
+ }
+ %
+ \tcb@fit@@box@titled%
+ %
+ % height fit
+ \ifdim\kvtcb@fit@plus@height>0pt\relax%
+ \let\tcb@fit@@minheight=\tcb@height@fixed%
+ \ifdim\dimexpr\tcb@fit@@h>\tcb@fit@@target\relax%
+ \ifdim\dimexpr\tcb@fit@@h>\dimexpr\tcb@fit@@target+\kvtcb@fit@plus@height\relax%
+ \tcbdimto\tcb@height@fixed{\tcb@height@fixed+\kvtcb@fit@plus@height}%
+ \tcbdimto\tcb@fit@@target{\tcb@fit@@target+\kvtcb@fit@plus@height}%
+ \else%
+ \tcbdimto\tcb@height@fixed{\tcb@height@fixed+\tcb@fit@@h-\tcb@fit@@target}%
+ \let\tcb@fit@@target=\tcb@fit@@h%
+ \fi%
+ \fi%
+ \fi%
+ %
+ % width fit
+ \ifdim\kvtcb@fit@plus@width>0pt\relax%
+ \ifnum\count@<\kvtcb@fit@maxstep\relax%
+ \ifdim\dimexpr\tcb@fit@@h>\tcb@fit@@target\relax%
+ \tcb@lowerfitdim\kvtcb@width%
+ \tcb@upperfitdim\dimexpr\kvtcb@width+\kvtcb@fit@plus@width\relax%
+ \tcbdimto\kvtcb@width{\tcb@upperfitdim}%
+ \tcb@fit@@box@titled%
+ \ifdim\dimexpr\tcb@fit@@h>\tcb@fit@@target\relax%
+ \else%
+ \ifnum\count@<\kvtcb@fit@maxstep\relax%
+ \tcbdimto\tcb@fit@@gap{\tcb@fit@@target-\tcb@fit@@h}%
+ \tcbdimto\kvtcb@width{(\tcb@lowerfitdim+\tcb@upperfitdim)/2}%
+ \loop%
+ \tcb@fit@@box@titled%
+ \tcb@continuetrue%
+ \ifnum\count@<\kvtcb@fit@maxstep\relax%
+ \ifdim\dimexpr\tcb@upperfitdim-\tcb@lowerfitdim<\kvtcb@fit@maxwidthdiff\relax%
+ \tcb@continuefalse%
+ \else%
+ \ifdim\dimexpr\tcb@upperfitdim-\tcb@lowerfitdim<\kvtcb@fit@maxwidthdiffgap\relax%
+ \ifdim\dimexpr\tcb@fit@@gap<\tcb@fit@@line\relax%
+ \tcb@continuefalse%
+ \fi%
+ \fi%
+ \fi%
+ \else%
+ \tcb@continuefalse%
+ \fi%
+ \iftcb@continue%
+ \ifdim\dimexpr\tcb@fit@@h>\tcb@fit@@target\relax%
+ \tcb@lowerfitdim\kvtcb@width%
+ \tcbdimto\kvtcb@width{(\tcb@lowerfitdim+\tcb@upperfitdim)/2}%
+ \else%
+ \tcb@upperfitdim\kvtcb@width%
+ \tcbdimto\tcb@fit@@gap{\tcb@fit@@target-\tcb@fit@@h}%
+ \tcbdimto\kvtcb@width{(\tcb@lowerfitdim+\tcb@upperfitdim)/2}%
+ \fi%
+ \else%
+ \ifdim\dimexpr\tcb@fit@@h>\tcb@fit@@target\relax%
+ \tcbdimto\kvtcb@width{\tcb@upperfitdim}%
+ \tcb@fit@@box@titled%
+ \fi%
+ \fi%
+ \iftcb@continue \repeat%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ %
+ % font fit
+ \ifnum\count@<\kvtcb@fit@maxstep\relax%
+ \ifdim\dimexpr\tcb@fit@@h>\tcb@fit@@target\relax%
+ \tcb@continuetrue%
+ \loop%
+ \tcbfitdim.5\tcbfitdim%
+ \tcb@fit@@box%
+ \ifnum\count@=\kvtcb@fit@maxstep\relax%
+ \tcb@continuefalse%
+ \else%
+ \ifdim\dimexpr\tcb@fit@@h>\tcb@fit@@target\relax%
+ \ifdim\tcbfitdim<18000sp\relax%
+ \count@\kvtcb@fit@maxstep\relax%
+ \tcb@continuefalse%
+ \fi%
+ \else%
+ \tcb@continuefalse%
+ \fi%
+ \fi%
+ \iftcb@continue \repeat%
+ \ifnum\count@<\kvtcb@fit@maxstep\relax%
+ \tcbdimto\tcb@fit@@gap{\tcb@fit@@target-\tcb@fit@@h}%
+ \tcb@lowerfitdim\tcbfitdim%
+ \tcb@upperfitdim2\tcbfitdim%
+ \tcbfitdim1.5\tcbfitdim%
+ \loop%
+ \tcb@fit@@box%
+ \tcb@continuetrue%
+ \ifnum\count@<\kvtcb@fit@maxstep\relax%
+ \ifdim\dimexpr\tcb@upperfitdim-\tcb@lowerfitdim<\kvtcb@fit@maxfontdiff\relax%
+ \tcb@continuefalse%
+ \else%
+ \ifdim\dimexpr\tcb@upperfitdim-\tcb@lowerfitdim<\kvtcb@fit@maxfontdiffgap\relax%
+ \ifdim\dimexpr\tcb@fit@@gap<\tcb@fit@@line\relax%
+ \tcb@continuefalse%
+ \fi%
+ \fi%
+ \fi%
+ \else%
+ \tcb@continuefalse%
+ \fi%
+ \iftcb@continue%
+ \ifdim\dimexpr\tcb@fit@@h>\tcb@fit@@target\relax%
+ \tcb@upperfitdim\tcbfitdim%
+ \advance\tcbfitdim\tcb@lowerfitdim%
+ \tcbfitdim0.5\tcbfitdim%
+ \else%
+ \tcbdimto\tcb@fit@@gap{\tcb@fit@@target-\tcb@fit@@h}%
+ \tcb@lowerfitdim\tcbfitdim%
+ \advance\tcbfitdim\tcb@upperfitdim%
+ \tcbfitdim0.5\tcbfitdim%
+ \fi%
+ \else%
+ \ifdim\dimexpr\tcb@fit@@h>\tcb@fit@@target\relax%
+ \tcbfitdim\tcb@lowerfitdim%
+ \tcb@fit@@box%
+ \fi%
+ \fi%
+ \iftcb@continue \repeat%
+ \fi%
+ \fi%
+ \fi%
+ %
+ % last height fit
+ \ifdim\kvtcb@fit@plus@height>0pt\relax%
+ \ifdim\dimexpr\tcb@fit@@h<\tcb@fit@@target\relax%
+ \tcbdimto\tcb@temp{\tcb@height@fixed+\tcb@fit@@h-\tcb@fit@@target}%
+ \ifdim\dimexpr\tcb@temp<\tcb@fit@@minheight\relax%
+ \else%
+ \let\tcb@height@fixed=\tcb@temp%
+ \fi%
+ \fi%
+ \fi%
+ %
+ \edef\tcbfitsteps{\the\count@}%
+ \tcb@draw@color@box%
+}
+
+
+\newcommand{\tcboxfit}[2][]{%
+ \tcb@ox{capture=fitbox,#1}{#2}%
+}
+
+\long\def\tcb@newtcboxfit#1#2{\newcommand{#1}{\tcboxfit[#2]}}
+
+\long\def\tcb@new@tcboxfit#1[#2]#3{\newcommand{#1}[#2]{\tcboxfit[#3]}}
+
+\long\def\tcb@new@@tcboxfit#1[#2][#3]#4{\newcommand{#1}[#2][#3]{\tcboxfit[#4]}}
+
+\long\def\new@tcboxfit#1[#2]{%
+ \@ifnextchar[{\tcb@new@@tcboxfit{#1}[#2]}{\tcb@new@tcboxfit{#1}[#2]}}
+
+\long\def\newtcboxfit#1{%
+ \@ifnextchar[{\new@tcboxfit{#1}}{\tcb@newtcboxfit{#1}}}
+
+
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
index 3a5dbc4f98f..1cc71312634 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 2.22 (2013/05/15)
+%% The LaTeX package tcolorbox - version 2.32 (2013/06/23)
%% tcbhooks.code.tex: Code for adding hooks
%%
%% -------------------------------------------------------------------------------------------
@@ -17,27 +17,8 @@
%%
%% This work consists of all files listed in README
%%
-\makeatletter
-\def\tcblibrary@hooks@loaded{}
-
-% expandonce from etoolbox
-\newcommand{\tcb@expandonce}[1]{\unexpanded\expandafter{#1}}
-
-% slim version of etoolbox'es more general macro
-\newcommand{\tcb@appto}[2]{%
- \ifx#1\relax%
- \edef#1{\unexpanded{#2}}%
- \else%
- \edef#1{\tcb@expandonce#1\unexpanded{#2}}%
- \fi}
-
-% slim version of etoolbox'es more general macro
-\newcommand{\tcb@preto}[2]{%
- \ifx#1\relax%
- \edef#1{\unexpanded{#2}}%
- \else%
- \edef#1{\unexpanded{#2}\tcb@expandonce#1}%
- \fi}
+%\makeatletter
+\tcb@set@library@version{2.32}
\tcbset{%
before upper app/.code={\tcb@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 3c12ec06328..e3b5c89614e 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 2.22 (2013/05/15)
+%% The LaTeX package tcolorbox - version 2.32 (2013/06/23)
%% tcblistings.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -17,8 +17,8 @@
%%
%% This work consists of all files listed in README
%%
-\makeatletter
-\def\tcblibrary@listings@loaded{}
+%\makeatletter
+\tcb@set@library@version{2.32}
\RequirePackage{listings}[2007/02/22]
@@ -119,8 +119,9 @@
\tcbset{%
listing file/.store in=\kvtcb@listingfile,%
listing options/.store in=\kvtcb@listingoptions,%
- comment/.store in=\kvtcb@listingcomment,%
listing style/.style={listing options={style=#1}},%
+ no listing options/.style={listing options=},%
+ comment/.store in=\kvtcb@listingcomment,%
listing and text/.code={\tcb@set@listing@process{\tcb@listing@listingAndText}},%
text and listing/.code={\tcb@set@listing@process{\tcb@listing@textAndListing}},%
listing and comment/.code={\tcb@set@listing@process{\tcb@listing@listingAndComment}},%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
index bc2b02ebd0b..9288f75428e 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 2.22 (2013/05/15)
+%% The LaTeX package tcolorbox - version 2.32 (2013/06/23)
%% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8
%%
%% -------------------------------------------------------------------------------------------
@@ -17,8 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\makeatletter
-\def\tcblibrary@listingsutf8@loaded{}
+\tcb@set@library@version{2.32}
\RequirePackage{listingsutf8}[2011/11/10]
\tcbuselibrary{listings}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
index 9c2bf760b1f..0d585183416 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 2.22 (2013/05/15)
+%% The LaTeX package tcolorbox - version 2.32 (2013/06/23)
%% tcbskins.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,8 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\makeatletter
-\def\tcblibrary@skins@loaded{}
+\tcb@set@library@version{2.32}
\RequirePackage{tikz}[2010/10/13]
@@ -118,9 +117,10 @@
}
\long\def\tcb@pseudo@segmentation#1{%
-{\parskip\z@\par\nointerlineskip}\begingroup%
+{\parskip\z@\par\nointerlineskip\hfilneg\kern-\@totalleftmargin}\begingroup%
\begin{tikzpicture}%
- \path[use as bounding box] (0,{\the\dimexpr-\kvtcb@middle-\kvtcb@boxsep\relax}) rectangle (0,{\the\dimexpr\kvtcb@middle+\kvtcb@boxsep\relax});
+ \path[use as bounding box] (0,{\the\dimexpr-\kvtcb@middle-\kvtcb@boxsep\relax})
+ rectangle (\linewidth,{\the\dimexpr\kvtcb@middle+\kvtcb@boxsep\relax});
\node[line width=0mm,inner sep=0mm,draw=none,fill=none,rectangle,
name=segmentation,at={({\the\dimexpr-#1-\kvtcb@boxsep\relax},0)},right,%
minimum width=\tcb@innerwidth,minimum height=\the\dimexpr\kvtcb@middle*2\relax]{};
@@ -268,43 +268,66 @@
}
-\tcbset{skin@enhanced/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+\tcbset{%
+ base@unbroken/.style={%
+ clear@spec,graphical environment=tikzpicture,geometry nodes,%
+ set@extensions@preframe={\tcb@draw@shadow@unbroken},%
+ set@extensions@postframe={\tcb@draw@border@unbroken\tcb@apply@overlay},%
+ },%
+ base@first/.style={%
+ clear@spec,graphical environment=tikzpicture,geometry nodes,%
+ set@extensions@preframe={\tcb@draw@shadow@first},%
+ set@extensions@postframe={\tcb@draw@border@first\tcb@apply@overlay},%
+ },%
+ base@middle/.style={%
+ clear@spec,graphical environment=tikzpicture,geometry nodes,%
+ set@extensions@preframe={\tcb@draw@shadow@middle},%
+ set@extensions@postframe={\tcb@draw@border@middle\tcb@apply@overlay},%
+ },%
+ base@last/.style={%
+ clear@spec,graphical environment=tikzpicture,geometry nodes,%
+ set@extensions@preframe={\tcb@draw@shadow@last},%
+ set@extensions@postframe={\tcb@draw@border@last\tcb@apply@overlay},%
+ },%
+}
+
+\tcbset{skin@enhanced/.style={base@unbroken,%
frame engine=path,interior titled engine=path,
interior engine=path,segmentation engine=path,title engine=path,
skin first=enhancedfirst,skin middle=enhancedmiddle,skin last=enhancedlast},
- enhanced/.style={skin=enhanced}}
+ enhanced/.style={skin=enhanced},%
+ enhanced standard/.style={skin=enhanced,
+ skin first=enhanced,skin middle=enhanced,skin last=enhanced},%
+ blank/.style={enhanced,frame hidden,interior hidden,segmentation hidden,%
+ arc=0pt,boxsep=0pt,top=0pt,bottom=0pt,left=0pt,right=0pt,boxrule=0pt,%
+ bottomtitle=6pt,middle=3pt},%
+}
-\tcbset{skin@enhancedfirst/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+\tcbset{skin@enhancedfirst/.style={base@first,%
frame engine=pathfirst,interior titled engine=pathfirst,
interior engine=pathfirst,segmentation engine=path,title engine=pathfirst,
skin first=enhancedfirst,skin middle=enhancedmiddle,skin last=enhancedmiddle
}}
-\tcbset{skin@enhancedmiddle/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+\tcbset{skin@enhancedmiddle/.style={base@middle,%
frame engine=pathmiddle,interior titled engine=pathmiddle,
interior engine=pathmiddle,segmentation engine=path,title engine=pathmiddle,
skin first=enhancedmiddle,skin middle=enhancedmiddle,skin last=enhancedmiddle
}}
-\tcbset{skin@enhancedlast/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+\tcbset{skin@enhancedlast/.style={base@last,%
frame engine=pathlast,interior titled engine=pathlast,
interior engine=pathlast,segmentation engine=path,title engine=pathlast,
skin first=enhancedmiddle,skin middle=enhancedmiddle,skin last=enhancedlast
}}
-\tcbset{skin@freelance/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+\tcbset{skin@freelance/.style={base@unbroken,%
frame engine=freelance,interior titled engine=freelance,
interior engine=freelance,segmentation engine=freelance,title engine=freelance,
skin first=freelance,skin middle=freelance,skin last=freelance},
freelance/.style={skin=freelance}}
-\tcbset{skin@bicolor/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+\tcbset{skin@bicolor/.style={base@unbroken,%
frame engine=path,interior titled engine=freelance,
interior engine=freelance,segmentation engine=freelance,title engine=path,
interior titled code={%
@@ -329,8 +352,7 @@
skin first=bicolorfirst,skin middle=bicolormiddle,skin last=bicolorlast},
bicolor/.style={skin=bicolor}}
-\tcbset{skin@bicolorfirst/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+\tcbset{skin@bicolorfirst/.style={base@first,%
frame engine=pathfirst,interior titled engine=freelance,
interior engine=freelance,segmentation engine=freelance,title engine=pathfirst,
interior titled code={%
@@ -355,8 +377,7 @@
skin first=bicolorfirst,skin middle=bicolormiddle,skin last=bicolormiddle
}}
-\tcbset{skin@bicolormiddle/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+\tcbset{skin@bicolormiddle/.style={base@middle,%
frame engine=pathmiddle,interior titled engine=freelance,
interior engine=freelance,segmentation engine=freelance,title engine=pathmiddle,
interior titled code={%
@@ -381,8 +402,7 @@
skin first=bicolormiddle,skin middle=bicolormiddle,skin last=bicolormiddle
}}
-\tcbset{skin@bicolorlast/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+\tcbset{skin@bicolorlast/.style={base@last,%
frame engine=pathlast,interior titled engine=freelance,
interior engine=freelance,segmentation engine=freelance,title engine=pathlast,
interior titled code={%
@@ -411,8 +431,7 @@
\tikzset{beamer@color/.style={top color=\kvtcb@colback,bottom color=\kvtcb@colback!85!black}}
\tcbset{%
- skin@beamer/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+ skin@beamer/.style={base@unbroken,%
frame engine=path,interior titled engine=freelance,
interior engine=freelance,segmentation engine=freelance,title engine=path,
interior titled code={%
@@ -431,12 +450,12 @@
segmentation code={\iftcb@sidebyside\tcb@drawlower@path\else\tcb@drawspec@LR{beamer@color}\fi},%
skin first=beamerfirst,skin middle=beamermiddle,skin last=beamerlast},
beamer/.style={skin=beamer,boxrule=0mm,titlerule=1mm,toptitle=0.5mm,arc=2mm,fonttitle=\bfseries,
- frame style={fill=\kvtcb@colframe,drop shadow}},
+ drop fuzzy shadow,
+ },
}
\tcbset{%
- skin@beamerfirst/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+ skin@beamerfirst/.style={base@first,%
frame engine=pathfirst,interior titled engine=freelance,
interior engine=freelance,segmentation engine=freelance,title engine=pathfirst,
interior titled code={%
@@ -455,8 +474,7 @@
skin first=beamerfirst,skin middle=beamermiddle,skin last=beamermiddle}}
\tcbset{%
- skin@beamermiddle/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+ skin@beamermiddle/.style={base@middle,%
frame engine=pathmiddle,interior titled engine=freelance,
interior engine=freelance,segmentation engine=freelance,title engine=pathmiddle,
interior titled code={%
@@ -476,8 +494,7 @@
skin first=beamermiddle,skin middle=beamermiddle,skin last=beamermiddle}}
\tcbset{%
- skin@beamerlast/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+ skin@beamerlast/.style={base@last,%
frame engine=pathlast,interior titled engine=freelance,
interior engine=freelance,segmentation engine=freelance,title engine=pathlast,
interior titled code={%
@@ -508,8 +525,7 @@
\tikzset{widget@color/.style={left color=\kvtcb@colframe!75!white,right color=\kvtcb@colframe!75!white!25!\kvtcb@colback}}
-\tcbset{skin@widget/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+\tcbset{skin@widget/.style={base@unbroken,%
frame engine=path,interior titled engine=path,
interior engine=path,segmentation engine=freelance,title engine=freelance,
title code={{\tcb@spec{widget@color}\tcb@drawtitle@path}},
@@ -519,16 +535,14 @@
titlerule=0mm,toprule at break=0mm},
}
-\tcbset{skin@widgetfirst/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+\tcbset{skin@widgetfirst/.style={base@first,%
frame engine=pathfirst,interior titled engine=pathfirst,
interior engine=pathfirst,segmentation engine=freelance,title engine=freelance,
title code={{\tcb@spec{widget@color}\tcb@drawtitle@pathfirst}},
segmentation code={\tcb@drawspec@widgetsegment},%
skin first=widgetfirst,skin middle=widgetmiddle,skin last=widgetmiddle}}
-\tcbset{skin@widgetmiddle/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+\tcbset{skin@widgetmiddle/.style={base@middle,%
frame engine=pathmiddle,interior titled engine=pathmiddle,
interior engine=pathmiddle,segmentation engine=freelance,title engine=freelance,
title code={{\tcb@spec{widget@color}\tcb@drawtitle@pathmiddle}},
@@ -536,13 +550,12 @@
skin first=widgetmiddle,skin middle=widgetmiddle,skin last=widgetmiddle}}
-\tcbset{skin@widgetlast/.style={clear@spec,%
- graphical environment=tikzpicture,geometry nodes,
+\tcbset{skin@widgetlast/.style={base@last,%
frame engine=pathlast,interior titled engine=pathlast,
interior engine=pathlast,segmentation engine=freelance,title engine=freelance,
title code={{\tcb@spec{widget@color}\tcb@drawtitle@pathlast}},
segmentation code={\tcb@drawspec@widgetsegment},%
- skin first=widgetmiddle,skin middle=widgetmiddle,skin last=widgetlast}}
+ skin first=widgetmiddle,skin middle=widgetmiddle,skin last=widgetlast}}
\tcbset{skin@draft/.style={clear@spec,%
@@ -590,7 +603,7 @@
+(\tcb@w@lower,\tcb@height@upper);
\fi%
\or%
- \ifvoid\tcb@upperbox
+ \ifdim\wd\tcb@upperbox=0pt\relax
\path[fill=white,draw,dotted]
([xshift={\kvtcb@boxsep},yshift={\kvtcb@boxsep+\tcb@break@bottomsep}]interior.south west) rectangle
([xshift={-\kvtcb@boxsep},yshift={-\kvtcb@boxsep-\tcb@break@topsep}]interior.north east);
@@ -627,9 +640,46 @@
\path[draw=blue!10!white,double,line width=1pt,dashed,opacity=0.3] (current bounding box.south west) rectangle (current bounding box.north east);
\pgfsetfillopacity{0.3}
},
- interior titled code=,interior code=,overlay=,},
+ set@extensions@postframe={},%
+ interior titled code=,interior code=,},
draft/.style={skin=draft}}
+\def\tcb@clip@interior{%
+ \begingroup%
+ \tcbset{interior hidden}%
+ \tcb@spec{forced clip}%
+ \def\tcb@spec##1{}%
+ \iftcb@hasTitle%
+ \csname tcb@drawwithtitle@\kvtcb@engine@interiortitled\endcsname%
+ \else%
+ \csname tcb@drawwithouttitle@\kvtcb@engine@interior\endcsname%
+ \fi%
+ \endgroup%
+}
+
+\def\tcb@clip@frame{%
+ \begingroup%
+ \tcbset{frame hidden}%
+ \tcb@spec{forced clip}%
+ \def\tcb@spec##1{}%
+ \csname tcb@drawframe@\kvtcb@engine@frame\endcsname%
+ \endgroup%
+}
+
+\def\tcb@clip@title{%
+ \begingroup%
+ \tcbset{title hidden}%
+ \tcb@spec{forced clip}%
+ \def\tcb@spec##1{}%
+ \iftcb@hasTitle%
+ \csname tcb@drawtitle@\kvtcb@engine@title\endcsname%
+ \fi%
+ \endgroup%
+}
+
+\newenvironment{tcbclipinterior}{\begin{scope}\tcb@clip@interior}{\end{scope}}
+\newenvironment{tcbclipframe}{\begin{scope}\tcb@clip@frame}{\end{scope}}
+\newenvironment{tcbcliptitle}{\begin{scope}\tcb@clip@title}{\end{scope}}
\newbox\tcb@waterbox
@@ -648,11 +698,23 @@
\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@drawspec@watermark{%
+\def\tcb@comp@wm@overzoom{%
+ \tcb@setratiorobust\tcb@scale@x{\dimexpr\kvtcb@watermark@factor\dimexpr\tcb@innerwidth\relax\relax}{\wd\tcb@waterbox}%
+ \tcb@setratiorobust\tcb@scale@y{\dimexpr\kvtcb@watermark@factor\dimexpr\tcb@innerheight\relax\relax}{\ht\tcb@waterbox+\dp\tcb@waterbox}%
+ \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@drawspec@watermark@@noclip{%
\tcb@comp@wm%
\node[opacity=\kvtcb@watermark@opacity,anchor=center] at (interior) {\scalebox{\tcb@scale@x}[\tcb@scale@y]{\box\tcb@waterbox}};%
}
+\def\tcb@drawspec@watermark@@clip{%
+ \begin{tcbclipinterior}%
+ \tcb@drawspec@watermark@@noclip%
+ \end{tcbclipinterior}%
+}
+
\def\tcb@drawspec@watermark@tikz#1{%
\setbox\tcb@waterbox=\hbox{\pgfinterruptpicture{\begin{tikzpicture}[color=\kvtcb@watermark@color]#1\end{tikzpicture}}\endpgfinterruptpicture}%
\tcb@drawspec@watermark%
@@ -667,10 +729,13 @@
\tcb@drawspec@watermark@tikz{\node[inner sep=0pt,align=flush center]{#1};}%
}
+\tikzset{forced clip/.code={\tikz@addmode{\tikz@mode@cliptrue}\let\tikz@options=\pgfutil@empty}}
+
\tcbset{%
watermark opacity/.store in=\kvtcb@watermark@opacity,%
watermark color/.store in=\kvtcb@watermark@color,%
watermark zoom/.code={\def\kvtcb@watermark@factor{#1}\let\tcb@comp@wm=\tcb@comp@wm@zoom},%
+ watermark overzoom/.code={\def\kvtcb@watermark@factor{#1}\let\tcb@comp@wm=\tcb@comp@wm@overzoom},%
watermark stretch/.code={\def\kvtcb@watermark@factor{#1}\let\tcb@comp@wm=\tcb@comp@wm@stretch},%
%
watermark tikz/.style={overlay={\tcb@drawspec@watermark@tikz{#1}}},
@@ -680,10 +745,48 @@
watermark text/.style={overlay={\tcb@drawspec@watermark@text{#1}}},
watermark text on/.style args={#1 is #2}{overlay #1={\tcb@drawspec@watermark@text{#2}}},
no watermark/.style={no overlay},
+ clip watermark/.is choice,
+ clip watermark/true/.code={\let\tcb@drawspec@watermark=\tcb@drawspec@watermark@@clip},
+ clip watermark/false/.code={\let\tcb@drawspec@watermark=\tcb@drawspec@watermark@@noclip},
+ clip watermark/.default=true,
%
watermark opacity=1.00,
watermark color=\kvtcb@colback!85!\kvtcb@colframe,
watermark zoom=0.75,
+ clip watermark,
+}
+
+\def\tcb@tdraw@title@clip{%
+ \begin{tcbcliptitle}%
+ \tcb@tdraw@title@core%
+ \end{tcbcliptitle}%
+}
+
+\def\tcb@tdraw@upper@clip{%
+ \begin{tcbclipinterior}%
+ \tcb@tdraw@upper@core%
+ \end{tcbclipinterior}%
+}
+
+\def\tcb@tdraw@lower@clip{%
+ \begin{tcbclipinterior}%
+ \tcb@tdraw@lower@core%
+ \end{tcbclipinterior}%
+}
+
+\tcbset{%
+ clip title/.is choice,
+ clip title/true/.code={\let\tcb@tdraw@title=\tcb@tdraw@title@clip},
+ clip title/false/.code={\let\tcb@tdraw@title=\tcb@tdraw@title@core},
+ clip title/.default=true,
+ clip upper/.is choice,
+ clip upper/true/.code={\let\tcb@tdraw@upper=\tcb@tdraw@upper@clip},
+ clip upper/false/.code={\let\tcb@tdraw@upper=\tcb@tdraw@upper@core},
+ clip upper/.default=true,
+ clip lower/.is choice,
+ clip lower/true/.code={\let\tcb@tdraw@lower=\tcb@tdraw@lower@clip},
+ clip lower/false/.code={\let\tcb@tdraw@lower=\tcb@tdraw@lower@core},
+ clip lower/.default=true,
}
@@ -703,7 +806,175 @@
width=\the\dimexpr\linewidth+1.6cm\relax,
frame style={top color=\kvtcb@colframe,bottom color=\kvtcb@colframe,middle color=yellow!75!\kvtcb@colframe},
title style={left color=\kvtcb@colframe,right color=\kvtcb@colframe,middle color=yellow!75!\kvtcb@colframe},
- watermark tikz={\draw[line width=2mm] (interior) circle (1cm) node{\fontfamily{ptm}\fontseries{b}\fontsize{20mm}{20mm}\selectfont!};},
+ watermark tikz={\draw[line width=2mm] circle (1cm) node{\fontfamily{ptm}\fontseries{b}\fontsize{20mm}{20mm}\selectfont!};},
watermark zoom=0.75,
}}
+
+\def\tcb@border@prepare#1#2{%
+ \tcbdimto\tcb@border@ts{#2+(#1)/2}%
+ \ifdim\dimexpr\tcb@outer@arc>\tcb@border@ts\relax%
+ \tcbdimto\tcb@border@arc{\tcb@outer@arc-\tcb@border@ts}%
+ \else%
+ \let\tcb@border@arc=\tcb@zpt%
+ \fi%
+}
+
+\def\tcb@border@unbroken#1#2#3{%
+ \tcb@border@prepare{#1}{#2}%
+ \draw[line width=#1,rounded corners=\tcb@border@arc,#3]
+ ([xshift=\tcb@border@ts,yshift=\tcb@border@ts]frame.south west)%
+ rectangle ([xshift=-\tcb@border@ts,yshift=-\tcb@border@ts]frame.north east);%
+}
+
+\def\tcb@border@first#1#2#3{%
+ \tcb@border@prepare{#1}{#2}%
+ \draw[line width=#1,rounded corners=\tcb@border@arc,#3]
+ ([xshift=\tcb@border@ts]frame.south west) --
+ ([xshift=\tcb@border@ts,yshift=-\tcb@border@ts]frame.north west) --
+ ([xshift=-\tcb@border@ts,yshift=-\tcb@border@ts]frame.north east) --
+ ([xshift=-\tcb@border@ts]frame.south east);%
+}
+
+\def\tcb@border@middle#1#2#3{%
+ \tcb@border@prepare{#1}{#2}%
+ \draw[line width=#1,#3]
+ ([xshift=\tcb@border@ts]frame.north west) -- ([xshift=\tcb@border@ts]frame.south west);%
+ \draw[line width=#1,#3]
+ ([xshift=-\tcb@border@ts]frame.north east) -- ([xshift=-\tcb@border@ts]frame.south east);%
+}
+
+\def\tcb@border@last#1#2#3{%
+ \tcb@border@prepare{#1}{#2}%
+ \draw[line width=#1,rounded corners=\tcb@border@arc,#3]
+ ([xshift=\tcb@border@ts]frame.north west) --
+ ([xshift=\tcb@border@ts,yshift=\tcb@border@ts]frame.south west) --
+ ([xshift=-\tcb@border@ts,yshift=\tcb@border@ts]frame.south east) --
+ ([xshift=-\tcb@border@ts]frame.north east);%
+}
+
+
+\def\tcb@draw@border@unbroken{%
+ \let\tcb@border=\tcb@border@unbroken%
+ \kvtcb@borderline%
+}
+
+\def\tcb@draw@border@first{%
+ \let\tcb@border=\tcb@border@first%
+ \kvtcb@borderline%
+}
+
+\def\tcb@draw@border@middle{%
+ \let\tcb@border=\tcb@border@middle%
+ \kvtcb@borderline%
+}
+
+\def\tcb@draw@border@last{%
+ \let\tcb@border=\tcb@border@last%
+ \kvtcb@borderline%
+}
+
+\tcbset{%
+ border@line app/.code={\tcb@appto\kvtcb@borderline{#1}},%
+ borderline/.style args={#1#2#3}{border@line app={\tcb@border{#1}{#2}{#3}}},%
+ no borderline/.code={\def\kvtcb@borderline{}},%
+ %
+ no borderline,%
+}
+
+\def\tcb@shadow@prepare#1#2{%
+ \ifdim#2>0pt\relax\tcbdimto\tcb@shadow@ts{#1-#2/2}%%
+ \else\tcbdimto\tcb@shadow@ts{#1+#2/2}\fi%
+ \ifdim\dimexpr\tcb@outer@arc>\tcb@shadow@ts\relax%
+ \tcbdimto\tcb@shadow@arc{\tcb@outer@arc-\tcb@shadow@ts}%
+ \else%
+ \let\tcb@shadow@arc=\tcb@zpt%
+ \fi%
+}
+
+\def\tcb@shadow@unbroken#1#2#3#4{%
+ \tcb@shadow@prepare{#3}{#1}%
+ \fill[line width=0pt,rounded corners=\tcb@shadow@arc,#4]%
+ ([xshift=#1+#3,yshift=#2+#3]frame.south west)%
+ rectangle ([xshift=#1-#3,yshift=#2-#3]frame.north east);%
+}
+
+
+\def\tcb@shadow@first#1#2#3#4{%
+ \tcb@shadow@prepare{#3}{#1}%
+ \fill[line width=0pt,rounded corners=\tcb@shadow@arc,#4]
+ ([xshift=#1+#3,yshift=#2+#3]frame.south west) --
+ ([xshift=#1+#3,yshift=#2-#3]frame.north west) --
+ ([xshift=#1-#3,yshift=#2-#3]frame.north east)[sharp corners] --
+ ([xshift=#1-#3,yshift=#2+#3]frame.south east) -- cycle;%
+}
+
+\def\tcb@shadow@middle#1#2#3#4{%
+ \tcb@shadow@prepare{#3}{#1}%
+ \fill[line width=0pt,sharp corners,#4]%
+ ([xshift=#1+#3,yshift=#2+#3]frame.south west)%
+ rectangle ([xshift=#1-#3,yshift=#2-#3]frame.north east);%
+}
+
+\def\tcb@shadow@last#1#2#3#4{%
+ \tcb@shadow@prepare{#3}{#1}%
+ \fill[line width=0pt,rounded corners=\tcb@shadow@arc,#4]
+ ([xshift=#1-#3,yshift=#2-#3]frame.north east) --
+ ([xshift=#1-#3,yshift=#2+#3]frame.south east) --
+ ([xshift=#1+#3,yshift=#2+#3]frame.south west)[sharp corners] --
+ ([xshift=#1+#3,yshift=#2-#3]frame.north west) -- cycle;%
+}
+
+\def\tcb@draw@shadow@unbroken{%
+ \let\tcb@shadow=\tcb@shadow@unbroken%
+ \kvtcb@shadow%
+}
+
+\def\tcb@draw@shadow@first{%
+ \let\tcb@shadow=\tcb@shadow@first%
+ \kvtcb@shadow%
+}
+
+\def\tcb@draw@shadow@middle{%
+ \let\tcb@shadow=\tcb@shadow@middle%
+ \kvtcb@shadow%
+}
+
+\def\tcb@draw@shadow@last{%
+ \let\tcb@shadow=\tcb@shadow@last%
+ \kvtcb@shadow%
+}
+
+
+\tcbset{%
+ shad@w app/.code={\tcb@appto\kvtcb@shadow{#1}},%
+ shadow/.style args={#1#2#3#4}{shad@w app={\tcb@shadow{#1}{#2}{#3}{#4}}},%
+ no shadow/.code={\def\kvtcb@shadow{}},%
+ fuzzy shadow/.style args={#1#2#3#4#5}{shad@w app={%
+ \begin{scope}[#5]%
+ \tcb@shadow{#1}{#2}{\the\dimexpr#3-4\dimexpr#4\relax}{opacity=0.01}%
+ \tcb@shadow{#1}{#2}{\the\dimexpr#3-3\dimexpr#4\relax}{opacity=0.02}%
+ \tcb@shadow{#1}{#2}{\the\dimexpr#3-2\dimexpr#4\relax}{opacity=0.04}%
+ \tcb@shadow{#1}{#2}{\the\dimexpr#3-#4\relax}{opacity=0.07}%
+ \tcb@shadow{#1}{#2}{#3}{opacity=0.11}%
+ \tcb@shadow{#1}{#2}{\the\dimexpr#3+#4\relax}{opacity=0.11}%
+ \tcb@shadow{#1}{#2}{\the\dimexpr#3+2\dimexpr#4\relax}{opacity=0.07}%
+ \tcb@shadow{#1}{#2}{\the\dimexpr#3+3\dimexpr#4\relax}{opacity=0.04}%
+ \tcb@shadow{#1}{#2}{\the\dimexpr#3+4\dimexpr#4\relax}{opacity=0.02}%
+ \tcb@shadow{#1}{#2}{\the\dimexpr#3+5\dimexpr#4\relax}{opacity=0.01}%
+ \end{scope}}},%
+ %
+ drop shadow/.style={shadow={0.9mm}{-0.9mm}{0mm}{opacity=0.5,#1}},
+ drop shadow/.default={black!50!white},%
+ halo/.style args={#1 with #2}{shadow={0mm}{0mm}{-#1}{opacity=0.5,#2}},
+ halo/.default={0.9mm with yellow},%
+ drop fuzzy shadow/.style={fuzzy shadow={1.0mm}{-1.0mm}{0mm}{0.12mm}{#1}},
+ drop fuzzy shadow/.default={black!50!white},%
+ fuzzy halo/.style args={#1 with #2}{fuzzy shadow={0mm}{0mm}{-#1}{0.12mm}{#2}},
+ fuzzy halo/.default={1.0mm with yellow},%
+ %
+ no shadow,%
+ %
+ %
+}
+
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
index 4bb334b5d5b..b587416f7a6 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 2.22 (2013/05/15)
+%% The LaTeX package tcolorbox - version 2.32 (2013/06/23)
%% tcbtheorems.code.tex: Code for theorems in colorboxes
%%
%% -------------------------------------------------------------------------------------------
@@ -17,8 +17,8 @@
%%
%% This work consists of all files listed in README
%%
-\makeatletter
-\def\tcblibrary@theorems@loaded{}
+%\makeatletter
+\tcb@set@library@version{2.32}
\RequirePackage{amsmath}
@@ -26,8 +26,7 @@
\tcbset{
theorem/.code args={#1#2#3#4}{%
- \refstepcounter{#2}\label{#4}%
- \pgfkeysalso{title={\setbox\z@=\hbox{#1~\csname the#2\endcsname:\ }\hangindent\wd\z@\hangafter=1 \mbox{#1~\csname the#2\endcsname:\ }#3}}},%
+ \pgfkeysalso{title={\refstepcounter{#2}\setbox\z@=\hbox{#1~\csname the#2\endcsname:\ }\hangindent\wd\z@\hangafter=1 \mbox{#1~\csname the#2\endcsname:\label{#4}\ }#3}}},%
math upper/.style={before upper=$\displaystyle,after upper=$},%
math lower/.style={before lower=$\displaystyle,after lower=$},%
math/.style={math upper,math lower},%
@@ -50,7 +49,7 @@
ams gather* lower/.style={before lower=\tcb@hack@amsmath\csname gather*\endcsname,after lower=\endgather},%
ams gather*/.style={ams gather* upper,ams gather* lower},%
ams nodisplayskip upper/.style={before upper=\vskip-\abovedisplayskip},%
- ams nodisplayskip lower/.style={before upper=\vskip-\abovedisplayskip},%
+ ams nodisplayskip lower/.style={before lower=\vskip-\abovedisplayskip},%
ams nodisplayskip/.style={ams nodisplayskip upper,ams nodisplayskip lower},%
highlight math style/.style={highlight math/.style={#1}},%
highlight math style={colframe=red,colback=yellow!25!white,notitle},%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty b/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
index 8238c1589b5..a4f76aab89b 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 2.22 (2013/05/15)
+%% The LaTeX package tcolorbox - version 2.32 (2013/06/23)
%% tcolorbox.sty: Text color boxes
%%
%% -------------------------------------------------------------------------------------------
@@ -18,10 +18,12 @@
%% This work consists of all files listed in README
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tcolorbox}[2013/05/15 version 2.22 text color boxes]
+\ProvidesPackage{tcolorbox}[2013/06/23 version 2.32 text color boxes]
+\def\tcb@version{2.32}
\RequirePackage{pgf}[2008/01/15]
\RequirePackage{verbatim}[2003/08/22]
+\RequirePackage{environ}[2013/04/01]
% register
\newif\iftcb@lowerignored
@@ -42,6 +44,7 @@
\def\tcbset{\pgfqkeys{/tcb}}
+\def\tcb@dim@to#1#2{\def#1{\the\dimexpr#2\relax}}
\def\tcbdimto#1#2{\edef#1{\the\dimexpr#2\relax}}
\def\tcb@zpt{0pt}
@@ -87,12 +90,14 @@
\tcbdimto\tcb@w@upper{\tcb@w@sbs-\tcb@w@lower}%
}
-\tcbset{
+\pgfkeys{/handlers/.dimstore in/.code=\pgfkeysalso{\pgfkeyscurrentpath/.code=\def#1{\the\dimexpr##1\relax}}}
+
+\tcbset{%
title/.store in=\kvtcb@title,
notitle/.style={title=},
adjust text/.store in=\kvtcb@adjusttext,
adjusted title/.style={title={#1\vphantom{\kvtcb@adjusttext}}},
- width/.store in=\kvtcb@width,
+ width/.dimstore in=\kvtcb@width,
boxsep/.store in=\kvtcb@boxsep,
toprule/.code={%
\def\kvtcb@top@rule@stand{#1}%
@@ -157,7 +162,7 @@
lowerbox/invisible/.code={\tcb@lowerignoredfalse\tcb@lowervisiblefalse},
lowerbox/ignored/.code={\tcb@lowerignoredtrue\tcb@lowervisiblefalse},
natural height/.code={\let\tcb@ch=\tcb@ch@natural},
- height/.code={\def\tcb@height@fixed{#1}\let\tcb@ch=\tcb@ch@fixed},
+ height/.code={\tcb@dim@to\tcb@height@fixed{#1}\let\tcb@ch=\tcb@ch@fixed},
equal height group/.code={\edef\tcb@ehgid{#1}\let\tcb@ch=\tcb@ch@equalheight},
minimum for equal height group/.code args={#1:#2}{\edef\tcb@ehgid{#1}\tcb@ehgadd{#2}},
space/.code={\def\tcb@height@fraction{#1}\let\tcb@ch@fixed@both=\tcb@ch@fixed@space},
@@ -186,13 +191,18 @@
title engine/.store in=\kvtcb@engine@title,
geometry nodes/.store in=\kvtcv@geonodes,
geometry nodes/.default=true,%
+ set@extensions@preframe/.store in=\tcb@extensions@preframe,%
+ set@extensions@postframe/.store in=\tcb@extensions@postframe,%
skin first/.store in=\kvtcb@skin@first,
skin middle/.store in=\kvtcb@skin@middle,
skin last/.store in=\kvtcb@skin@last,
skin@standard/.style={frame engine=standard,interior titled engine=standard,
interior engine=standard,segmentation engine=standard,title engine=standard,
graphical environment=pgfpicture,
- geometry nodes=false,skin first=standard,skin middle=standard,skin last=standard},
+ geometry nodes=false,
+ set@extensions@preframe=,%
+ set@extensions@postframe={\tcb@apply@overlay},%
+ skin first=standard,skin middle=standard,skin last=standard},
skin/.style={skin@#1},
parbox/.store in=\kvtcv@parbox,
parbox/.default=true,%
@@ -223,9 +233,15 @@
after upper/.store in=\kvtcb@after@upper,%
before lower/.store in=\kvtcb@before@lower,%
after lower/.store in=\kvtcb@after@lower,%
- center title/.style={before title=\begin{center},after title=\end{center}},%
- center upper/.style={before upper=\begin{center},after upper=\end{center}},%
- center lower/.style={before lower=\begin{center},after lower=\end{center}},%
+ center title/.style={before title=\centering},%
+ center upper/.style={before upper=\centering},%
+ center lower/.style={before lower=\centering},%
+ flushleft title/.style={before title=\raggedright},%
+ flushleft upper/.style={before upper=\raggedright},%
+ flushleft lower/.style={before lower=\raggedright},%
+ flushright title/.style={before title=\raggedleft},%
+ flushright upper/.style={before upper=\raggedleft},%
+ flushright lower/.style={before lower=\raggedleft},%
tabularx*/.style 2 args={%
boxsep=0pt,top=0pt,bottom=0pt,leftupper=0pt,rightupper=0pt,
toptitle=1mm,bottomtitle=1mm,boxrule=0.5mm,
@@ -233,14 +249,15 @@
\tcb@hack@currenvir\tabularx{\linewidth}{#2}},
after upper=\endtabularx},
tabularx/.style={tabularx*={}{#1}},
- tikz upper/.style={before upper=\begin{center}\begin{tikzpicture}[#1],after upper=\end{tikzpicture}\end{center}},%
- tikz lower/.style={before lower=\begin{center}\begin{tikzpicture}[#1],after lower=\end{tikzpicture}\end{center}},%
+ tikz upper/.style={before upper=\centering\tikzpicture[#1],after upper=\endtikzpicture},%
+ tikz lower/.style={before lower=\centering\tikzpicture[#1],after lower=\endtikzpicture},%
oversize/.style={%
width=\the\dimexpr\dimexpr\linewidth\relax+\kvtcb@left@rule+\kvtcb@leftupper+\kvtcb@boxsep*2+\kvtcb@rightupper+\kvtcb@right@rule\relax,%
enlarge left by=\the\dimexpr-\kvtcb@left@rule-\kvtcb@leftupper-\kvtcb@boxsep\relax,%
enlarge right by=\the\dimexpr-\kvtcb@boxsep-\kvtcb@rightupper-\kvtcb@right@rule\relax},%
- tcbox raise/.store in=\kvtcb@box@raise,%
- tcbox raise base/.style={tcbox raise=\the\dimexpr-\tcb@temp@dp-\kvtcb@bbbottom@stand\relax},%
+ baseline/.store in=\kvtcb@baseline,%
+ tcbox raise/.style={baseline=-#1},%
+ tcbox raise base/.style={baseline=\tcb@val@raisebase},%
shrink tight/.style={boxsep=0mm,top=-\kvtcb@top@rule@stand,bottom=-\kvtcb@bottom@rule@stand,left=-\kvtcb@left@rule,right=-\kvtcb@right@rule},%
extrude left by/.code={\tcbdimto\kvtcb@leftupper{\kvtcb@leftupper+#1}\tcbdimto\kvtcb@bbleft{\kvtcb@bbleft-#1}},%
extrude right by/.code={\tcbdimto\kvtcb@rightupper{\kvtcb@rightupper+#1}\tcbdimto\kvtcb@bbright{\kvtcb@bbright-#1}},%
@@ -259,6 +276,15 @@
\let\endtcb@savebox=\endtcb@lrbox%
\let\tcb@drawcolorbox=\tcb@drawcolorbox@standalone},
code/.code={#1},
+ capture/.store in=\kvtcb@capture,%
+ hbox/.style={capture=hbox},%
+ minipage/.style={capture=minipage},%
+ check odd page/.is choice,
+ check odd page/true/.code={\let\tcb@checkoddpage=\checkoddpage%
+ \let\tcb@setbb@toggle@evenpage=\tcb@setbb@toggle@evenpage@strict},
+ check odd page/false/.code={\let\tcb@checkoddpage=\relax%
+ \let\tcb@setbb@toggle@evenpage=\tcb@setbb@toggle@evenpage@easy},
+ check odd page/.default=true,
}
\tcbset{notitle,width=\linewidth,boxsep=1mm,boxrule=0.5mm,adjust text={\"Apgjy},
@@ -270,8 +296,9 @@
toggle enlargement=none,toptitle=0mm,bottomtitle=0mm,
standard,parbox,overlay=,auto outer arc,
before title=,after title=,before upper=,after upper=,before lower=,after lower=,
- tcbox raise=0pt,sidebyside=false,sidebyside align=center,sidebyside gap=10mm,
- lefthand ratio=0.5,
+ baseline=0pt,sidebyside=false,sidebyside align=center,sidebyside gap=10mm,
+ lefthand ratio=0.5,capture=minipage,check odd page=false,
+ set@extensions@preframe=,set@extensions@postframe=,%
}%
\let\tcb@parboxrestore=\@parboxrestore
@@ -330,15 +357,20 @@
\long\def\tcb@colorbox{%
\@ifnextchar[{\tcb@@icolorbox}{\tcb@@icolorbox[]}}
-\long\def\tcb@@icolorbox[#1]{%
- % setting the keys
- \tcbset{#1}%
- \tcb@hasLowerfalse%
+\def\tcb@set@@dim@and@title{%
% computation of text width
\tcbdimto\tcb@width{\kvtcb@width}%
\tcbdimto\tcb@innerwidth{\tcb@width-\kvtcb@left@rule-\kvtcb@right@rule}%
\tcbdimto\tcb@temp{\tcb@innerwidth-\kvtcb@boxsep*2}%
\tcbdimto\tcb@w@upper{\tcb@temp-\kvtcb@leftupper-\kvtcb@rightupper}%
+ \ifx\kvtcb@title\@empty\tcb@hasTitlefalse\else%
+ \tcb@hasTitletrue%
+ \tcbdimto\tcb@w@title{\tcb@temp-\kvtcb@lefttitle-\kvtcb@righttitle}%
+ \begin{tcb@savebox}{\tcb@titlebox}{\tcb@w@title}\color{\kvtcb@coltitle}\kvtcb@fonttitle\kvtcb@before@title\kvtcb@title\kvtcb@after@title\end{tcb@savebox}%
+ \fi%
+}
+
+\def\tcb@set@@sidebyside{%
\iftcb@sidebyside%
\tcbset{breakable@false}%
\def\tcb@minipage{\csname tcb@minipage@\kvtcb@sbs@align\endcsname}%
@@ -346,11 +378,9 @@
\tcbdimto\tcb@w@sbs{\tcb@w@upper@real-\kvtcb@sbs@gap}%
\tcb@sbs@quota%
\fi%
- \ifx\kvtcb@title\@empty\tcb@hasTitlefalse\else%
- \tcb@hasTitletrue%
- \tcbdimto\tcb@w@title{\tcb@temp-\kvtcb@lefttitle-\kvtcb@righttitle}%
- \begin{tcb@savebox}{\tcb@titlebox}{\tcb@w@title}\color{\kvtcb@coltitle}\kvtcb@fonttitle\kvtcb@before@title\kvtcb@title\kvtcb@after@title\end{tcb@savebox}%
- \fi%
+}
+
+\def\tcb@set@@upper@and@lower{%
\let\tcb@after@box=\kvtcb@after@upper%
% switch for lower box
\def\tcblower{%
@@ -376,6 +406,25 @@
\tcb@saveupperbox%
}
+
+\def\tcb@@capture@minipage{%
+ \let\tcb@val@raisebase=\tcb@zpt%
+ \tcb@set@@dim@and@title%
+ \tcb@set@@sidebyside%
+ \tcb@set@@upper@and@lower%
+}
+
+\def\tcb@@capture@hbox{%
+ \let\endtcolorbox=\relax%
+ \Collect@Body\tcbox@inner@hbox%
+}
+
+\long\def\tcb@@icolorbox[#1]{%
+ \tcbset{capture=minipage,#1}%
+ \tcb@hasLowerfalse%
+ \csname tcb@@capture@\kvtcb@capture\endcsname%
+}
+
\let\tcolorbox\tcb@colorbox
\def\tcb@endboxanddraw{%
@@ -520,39 +569,49 @@
{\pgfpoint{\the\dimexpr\tcb@width+\kvtcb@bbleft\relax}{\the\dimexpr\tcb@height+\kvtcb@bbtop\relax}}%
}
-\def\tcb@setbb@toggle@evenpage{%
+\def\tcb@setbb@toggle@evenpage@easy{%
\ifodd\thepage\tcb@setbb@toggle@none\else\tcb@setbb@toggle@forced\fi%
}
+\let\tcb@setbb@toggle@evenpage=\tcb@setbb@toggle@evenpage@easy
+
+\def\tcb@setbb@toggle@evenpage@strict{%
+ \ifoddpage\tcb@setbb@toggle@none\else\tcb@setbb@toggle@forced\fi%
+}
+
\def\tcb@creategeonodes@false{}
\def\tcb@bbdraw{%
+ \tcb@checkoddpage%
\csname tcb@setbb@toggle@\kvtcb@bbtoggle\endcsname%
\pgfusepath{use as bounding box}%
\csname tcb@creategeonodes@\kvtcv@geonodes\endcsname%
}
-\def\tcb@tdraw@title{%
+\def\tcb@tdraw@title@core{%
\iftcb@hasTitle%
\pgftext[x=\the\dimexpr\kvtcb@left@rule+\kvtcb@boxsep+\kvtcb@lefttitle\relax,
y=\the\dimexpr\tcb@height-\kvtcb@top@rule-\kvtcb@boxsep-\kvtcb@toptitle\relax,
left,top]{\usebox{\tcb@titlebox}}%
\fi%
}
+\let\tcb@tdraw@title=\tcb@tdraw@title@core
-\def\tcb@tdraw@upper{%
+\def\tcb@tdraw@upper@core{%
\csname tcb@dbox@\kvtcb@valign\endcsname{\the\dimexpr\kvtcb@left@rule+\kvtcb@boxsep+\kvtcb@leftupper\relax}%
{\the\dimexpr\tcb@innerheight+\kvtcb@bottom@rule-\kvtcb@boxsep-\tcb@break@topsep-\kvtcb@top-\tcb@height@upper\relax}%
{\tcb@height@upper}{\tcb@upperbox}%
}
+\let\tcb@tdraw@upper=\tcb@tdraw@upper@core
-\def\tcb@tdraw@lower{%
+\def\tcb@tdraw@lower@core{%
\iftcb@lowervisible%
\csname tcb@dbox@\kvtcb@valignlower\endcsname{\the\dimexpr\kvtcb@left@rule+\kvtcb@boxsep+\kvtcb@leftlower\relax}%
{\the\dimexpr\kvtcb@bottom@rule+\kvtcb@boxsep+\tcb@break@bottomsep+\kvtcb@bottom\relax}%
{\tcb@height@lower}{\tcb@lowerbox}%
\fi%
}
+\let\tcb@tdraw@lower=\tcb@tdraw@lower@core
\def\tcb@sbs@mix{%
\begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper@real}
@@ -594,8 +653,10 @@
\tcb@drawcolorbox%
}
+\def\tcb@apply@overlay{\csname tcb@overlay@\tcb@split@state\endcsname}%
\def\tcb@drawcolorbox{%
+ \edef\tcb@split@state{unbroken}%
\let\kvtcb@top@rule=\kvtcb@top@rule@stand%
\let\kvtcb@bottom@rule=\kvtcb@bottom@rule@stand%
\let\kvtcb@bbtop=\kvtcb@bbtop@stand%
@@ -622,6 +683,8 @@
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\begin{tcb@float}\begin{\kvtcb@graphenv}%
\tcb@bbdraw%
+ \pgfsetbaseline{\the\dimexpr\kvtcb@baseline-\kvtcb@bbbottom\relax}%
+ \tcb@extensions@preframe%
% draw frame and interior
\csname tcb@drawframe@\kvtcb@engine@frame\endcsname%
\iftcb@hasTitle%
@@ -637,7 +700,7 @@
\iftcb@hasTitle%
\csname tcb@drawtitle@\kvtcb@engine@title\endcsname%
\fi%
- \tcb@overlay@unbroken%
+ \tcb@extensions@postframe%
% draw text boxes
\tcb@tdraw@title%
\tcb@tdraw@upper%
@@ -645,23 +708,44 @@
\end{\kvtcb@graphenv}\end{tcb@float}%
}
+\def\tcb@draw@border#1{}
+
\let\tcb@drawcolorbox@standalone=\tcb@drawcolorbox
-\newcommand{\tcbox}[2][]{%
+\long\def\tcbox@inner@hbox#1{%
+ \tcbset{breakable@false,sidebyside=false}%
+ \setbox\tcb@upperbox=\hbox{\begingroup\color{\kvtcb@colupper}\kvtcb@fontupper\kvtcb@before@upper\ignorespaces#1\unskip\kvtcb@after@upper\endgroup}%
+ \tcbdimto{\tcb@temp@wd}{\wd\tcb@upperbox}%
+ \tcbdimto{\tcb@val@raisebase}{\the\dimexpr\dp\tcb@upperbox+\kvtcb@bottom+\kvtcb@boxsep+\kvtcb@bottom@rule@stand+\kvtcb@bbbottom@stand\relax}%
+ \tcbset{width=\the\dimexpr\tcb@temp@wd+\kvtcb@left@rule+\kvtcb@leftupper+\kvtcb@boxsep*2+\kvtcb@rightupper+\kvtcb@right@rule\relax}%
+ \tcb@hasLowerfalse%
+ \tcb@set@@dim@and@title%
+ \tcb@draw@color@box%
+}
+
+\long\def\tcbox@inner@minipage#1{%
+ \tcbset{breakable@false,sidebyside=false}%
+ \let\tcb@val@raisebase=\tcb@zpt%
+ \tcb@set@@dim@and@title%
+ \begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}\color{\kvtcb@colupper}\kvtcb@fontupper\kvtcb@before@upper#1\kvtcb@after@upper\end{tcb@savebox}%
+ \tcbdimto{\tcb@temp@wd}{\wd\tcb@upperbox}%
+ \tcbset{width=\the\dimexpr\tcb@temp@wd+\kvtcb@left@rule+\kvtcb@leftupper+\kvtcb@boxsep*2+\kvtcb@rightupper+\kvtcb@right@rule\relax}%
+ \tcb@hasLowerfalse%
+ \tcb@draw@color@box%
+}
+
+
+\long\def\tcb@ox#1#2{%
\begingroup%
- \tcbset{#1,breakable@false}%
- \setbox0=\hbox{\begingroup\color{\kvtcb@colupper}\kvtcb@fontupper\kvtcb@before@upper\ignorespaces#2\kvtcb@after@upper\endgroup}%
- \tcbdimto{\tcb@temp@wd}{\wd0}%
- \tcbdimto{\tcb@temp@dp}{\dp0+\kvtcb@bottom+\kvtcb@boxsep+\kvtcb@bottom@rule@stand}%
- \let\kvtcb@fontupper=\relax%
- \let\kvtcb@before@upper\relax%
- \let\kvtcb@after@upper\relax%
- \raisebox{\kvtcb@box@raise}{\begin{tcolorbox}[width=\the\dimexpr\tcb@temp@wd+\kvtcb@left@rule+\kvtcb@leftupper+\kvtcb@boxsep*2+\kvtcb@rightupper+\kvtcb@right@rule\relax]%
- \unhbox0%
- \end{tcolorbox}}%
+ \tcbset{#1}%
+ \csname tcbox@inner@\kvtcb@capture\endcsname{#2}%
\endgroup%
}
+\newcommand{\tcbox}[2][]{%
+ \tcb@ox{capture=hbox,#1}{#2}%
+}
+
\long\def\tcb@newtcolorbox#1#2{\newenvironment{#1}{\tcolorbox[savedelimiter=#1,#2]}{\endtcolorbox}}
\long\def\tcb@new@tcolorbox#1[#2]#3{\newenvironment{#1}[#2]{\tcolorbox[savedelimiter=#1,#3]}{\endtcolorbox}}
@@ -674,6 +758,7 @@
\long\def\newtcolorbox#1{%
\@ifnextchar[{\new@tcolorbox{#1}}{\tcb@newtcolorbox{#1}}}
+
\long\def\tcb@newtcbox#1#2{\newcommand{#1}{\tcbox[#2]}}
\long\def\tcb@new@tcbox#1[#2]#3{\newcommand{#1}[#2]{\tcbox[#3]}}
@@ -686,6 +771,7 @@
\long\def\newtcbox#1{%
\@ifnextchar[{\new@tcbox{#1}}{\tcb@newtcbox{#1}}}
+
% verbatim output as in 'verbatim'
\newwrite\tcb@out
@@ -733,15 +819,64 @@
\def\tcbusetemp{\input{\kvtcb@tempfile}}
+% expandonce from etoolbox
+\newcommand{\tcb@expandonce}[1]{\unexpanded\expandafter{#1}}
+
+% slim version of etoolbox'es more general macro
+\newcommand{\tcb@appto}[2]{%
+ \ifx#1\relax%
+ \edef#1{\unexpanded{#2}}%
+ \else%
+ \edef#1{\tcb@expandonce#1\unexpanded{#2}}%
+ \fi}
+
+% slim version of etoolbox'es more general macro
+\newcommand{\tcb@preto}[2]{%
+ \ifx#1\relax%
+ \edef#1{\unexpanded{#2}}%
+ \else%
+ \edef#1{\unexpanded{#2}\tcb@expandonce#1}%
+ \fi}
% libraries
\def\tcb@optionlist{}
+\def\tcb@set@library@version#1{%
+ \def\tcb@library@version{#1}%
+ \typeout{Library (tcolorbox): '\tcb@library@inload' version '\tcb@library@version'}
+ \tcb@check@library@version%
+}
+
+\def\tcb@check@library@version{%
+ \ifx\tcb@library@version\tcb@version\else%
+ \PackageError{tcolorbox}{tcolorbox version '\tcb@version' loads library '\tcb@library@inload' with version '\tcb@library@version'}
+ \fi%
+}
+
\def\tcbuselibrary#1{\tcbset{library/.cd,#1}}
+\@onlypreamble\tcbuselibrary
+
+\providecommand{\tcbpkgprefix}{}
+
+\def\tcb@load@library#1#2{%
+ \pgfkeysifdefined{/tcb/libload/#1}{}{%
+ \pgfkeyssetvalue{/tcb/libload/#1}{}%
+ \def\tcb@library@inload{#2}%
+ \def\tcb@library@version{-}%
+ \edef\tcb@at@catcode{\the\catcode`@}%
+ \catcode`\@11\relax%
+ \input\tcbpkgprefix#2\relax%
+ \catcode`\@\tcb@at@catcode\relax%
+ \tcb@check@library@version}{}%
+}
\def\tcb@add@library#1#2{%
- \tcbset{library/#1/.code={\@ifundefined{tcblibrary@#1@loaded}{\input #2}{}}}%
- \DeclareOption{#1}{\edef\tcb@optionlist{\tcb@optionlist,#1}}%
+ \tcbset{library/#1/.code={\tcb@load@library{#1}{#2}}}%
+ \DeclareOption{#1}{\tcb@appto\tcb@optionlist{,#1}}%
+}
+\def\tcb@add@library@style#1#2{%
+ \tcbset{library/#1/.style={#2}}%
+ \DeclareOption{#1}{\tcb@appto\tcb@optionlist{,#1}}%
}
\tcb@add@library{listings}{tcblistings.code.tex}
@@ -751,6 +886,10 @@
\tcb@add@library{skins}{tcbskins.code.tex}
\tcb@add@library{breakable}{tcbbreakable.code.tex}
\tcb@add@library{hooks}{tcbhooks.code.tex}
+\tcb@add@library{fitting}{tcbfitting.code.tex}
+
+\tcb@add@library@style{most}{skins,breakable,listingsutf8,hooks,theorems,fitting}
+\tcb@add@library@style{all}{most,documentation}
\ProcessOptions*
\edef\tcb@temp{\noexpand\tcbuselibrary{\tcb@optionlist}}