summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/CHANGES50
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/README5
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/lichtspiel.jpgbin0 -> 35224 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdfbin148418 -> 274495 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex24
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.abstract.tex8
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib7
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex7
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex253
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex11
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex403
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex56
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex26
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex574
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex28
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdfbin1943237 -> 2591075 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex59
-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
26 files changed, 2246 insertions, 250 deletions
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/CHANGES b/Master/texmf-dist/doc/latex/tcolorbox/CHANGES
index 8cc95fb1e75..0c1acfe59f0 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/CHANGES
+++ b/Master/texmf-dist/doc/latex/tcolorbox/CHANGES
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 2.22 (2013/05/15)
+%% The LaTeX package tcolorbox - version 2.32 (2013/06/23)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2013 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
@@ -198,4 +198,50 @@ version 2.22 (2013/05/15)
- new feature: breakable boxes allow footnotes now (like minipages)
- new macro '\newtcbox'
-
+version 2.30 (2013/06/04)
+- bug fix: handling of 'before' and 'after' for \tcbox corrected
+- \tcbline now also works for centered environments
+- implementation for \tcbox made more efficient
+- new capture mode for automated content fit by font size adjustment
+ with the new macros '\tcboxfit' and '\newtcboxfit'
+ and the new keys 'fit', 'fit to', 'fit to height', 'fit basedim', 'fit skip',
+ 'fit maxstep'
+- new keys 'baseline', 'capture', 'hbox', 'minipage'
+- new stackable borderlines with the 'skins' library:
+ 'borderline', 'no borderline'
+- new keys for the 'skins' library:
+ 'enhanced standard', 'blank'
+- new key 'index format' for the 'documentation' library
+
+version 2.31 (2013/06/18)
+- several internal changes
+- library loading mechanism revisited
+- internal label change for '\tcbmaketheorem'
+- new library options 'most' and 'all'
+- \tcbline now also works for ragged environments
+- new keys:
+ 'flushleft title', 'flushleft upper', 'flushleft lower',
+ 'flushright title', 'flushright upper', 'flushright lower'
+- new key 'no listing options' for the 'listings' library
+- new shadow features for the 'skins' library with the options:
+ 'shadow', 'fuzzy shadow', 'drop shadow', 'drop fuzzy shadow', 'halo', 'fuzzy halo'
+- shadows for the 'beamer' skin changed to fuzzy
+- new library 'fitting' for the content fit operations.
+ NOTE: '\tcboxfit' and the fit options introduced in version 2.30 are moved
+ to this new library
+- the fit algorithm is completey revisited and extended
+- new macro '\tcbfontsize' ('fitting library') for relative font sizes
+- new keys for the 'fitting' library:
+ 'fit fontsize macros', 'fit height plus', 'fit width plus',
+ 'fit width from', 'fit height from'
+
+version 2.32 (2013/06/23)
+- bug fix: 'ams nodisplayskip lower' was applied to upper.
+- new option 'check odd page'
+- new environments for the 'skins' library:
+ 'tcbclipinterior', 'tcbclipframe', 'tcbcliptitle'
+- new keys for the 'skins' library:
+ 'watermark overzoom', 'clip watermark'
+ 'clip title', 'clip upper', 'clip lower'
+- NOTE: watermarks are now clipped by default.
+ To get the old behaviour add the option 'clip watermark=false'
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/README b/Master/texmf-dist/doc/latex/tcolorbox/README
index 0533f9b9f06..d87f56b89d8 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/README
+++ b/Master/texmf-dist/doc/latex/tcolorbox/README
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 2.22 (2013/05/15)
+%% The LaTeX package tcolorbox - version 2.32 (2013/06/23)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2013 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
@@ -31,6 +31,7 @@ Contents of the package
'tcolorbox.sty' LaTeX package file (style file)
'tcbbreakable.code.tex' LaTeX package file (library of tcolorbox)
'tcbdocumenation.code.tex' LaTeX package file (library of tcolorbox)
+ 'tcbfitting.code.tex' LaTeX package file (library of tcolorbox)
'tcbhooks.code.tex' LaTeX package file (library of tcolorbox)
'tcblistings.code.tex' LaTeX package file (library of tcolorbox)
'tcblistingsutf8.code.tex' LaTeX package file (library of tcolorbox)
@@ -42,6 +43,7 @@ Contents of the package
'tcolorbox-example.tex' Example file for package usage
'tcolorbox-example.pdf' Compiled example
'Basilica_5.png' Example picture
+ 'lichtspiel.jpg' Example picture
Installation
============
@@ -51,6 +53,7 @@ Alternatively, put the files to their respective locations within the TeX instal
'tcolorbox.sty' -> /tex/latex/tcolorbox
'tcbbreakable.code.tex' -> /tex/latex/tcolorbox
'tcbdocumenation.code.tex' -> /tex/latex/tcolorbox
+ 'tcbfitting.code.tex' -> /tex/latex/tcolorbox
'tcbhooks.code.tex' -> /tex/latex/tcolorbox
'tcblistings.code.tex' -> /tex/latex/tcolorbox
'tcblistingsutf8.code.tex' -> /tex/latex/tcolorbox
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/lichtspiel.jpg b/Master/texmf-dist/doc/latex/tcolorbox/lichtspiel.jpg
new file mode 100644
index 00000000000..76fb962f010
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tcolorbox/lichtspiel.jpg
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf
index 90967cf8fd0..811f18687a5 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex
index 6c84a9b1b61..ebad17baa6f 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.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)
%% tcolorbox-example.tex: an example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
@@ -18,8 +18,8 @@
%% This work consists of all files listed in README
%%
\documentclass{article}
-\usepackage{tikz,lipsum}
-\usepackage[listings,theorems,skins,breakable]{tcolorbox}
+\usepackage{tikz,lipsum,lmodern}
+\usepackage[most]{tcolorbox}
\begin{document}
@@ -122,7 +122,23 @@ We have given Theorem \ref{theorem:summation} on page \pageref{theorem:summation
\begin{tcolorbox}[enhanced,breakable,
colback=blue!5!white,colframe=blue!75!black,title=Breakable box,
watermark color=white,watermark text=\Roman{tcbbreakpart}]
- \lipsum[1-18]
+ \lipsum[1-12]
+\end{tcolorbox}
+
+%----------------------------------------------------------
+\clearpage
+\section{Fit Boxes}
+
+\begin{tcolorbox}[enhanced,fit to height=10cm,
+ colback=green!25!black!10!white,colframe=green!75!black,title=Fit box (10cm),
+ drop fuzzy shadow,watermark color=white,watermark text=Fit]
+ \lipsum[1-4]
+\end{tcolorbox}
+
+\begin{tcolorbox}[enhanced,fit to height=5cm,
+ colback=green!25!black!10!white,colframe=green!75!black,title=Fit box (5cm),
+ drop fuzzy shadow,watermark color=white,watermark text=Fit]
+ \lipsum[1-4]
\end{tcolorbox}
\end{document}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.abstract.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.abstract.tex
index 7d8ae3860b1..e2108ceb652 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.abstract.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.abstract.tex
@@ -20,12 +20,12 @@
saving and reuse of source code and text parts.
\end{absquote}
-\begin{tcolorbox}[breakable,skin=enhanced,title={Contents},fonttitle=\bfseries\Large,
+\begin{tcolorbox}[breakable,enhanced,title={Contents},fonttitle=\bfseries\Large,
colback=yellow!10!white,colframe=red!50!black,before=\par\bigskip\noindent,
- watermark color=yellow!75!red!25!white,
+ watermark color=yellow!75!red!25!white,pad at break=3mm,
watermark text={\bfseries\Large Contents},
- frame style={drop shadow}
- ]
+ shrink break goal=25pt,
+ drop fuzzy shadow]
\makeatletter
\@starttoc{toc}
\makeatother
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
index 1225e06ac09..54b2c68e534 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
@@ -115,3 +115,10 @@
date = {2011-11-10},
}
+@manual{robertson:2013a,
+ author = {Will Robertson},
+ title = {A couple of things involving environments},
+ url = {http://mirror.ctan.org/macros/latex/contrib/environ/environ.pdf},
+ date = {2013-04-01},
+}
+
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
index 11dca2965f4..b2a06f43b6c 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
@@ -73,14 +73,14 @@ Here, you see the lower part of the box.
\begin{docCommand}{tcbox}{\oarg{options}\marg{box content}}
- Creates a \refEnv{tcolorbox} which is fitted to the width of the given
+ Creates a colored box which is fitted to the width of the given
\meta{box content}. In principal, most \meta{options} for a \refEnv{tcolorbox}
can be used for |\tcbox| with some restrictions. A |\tcbox| cannot have
a lower part and cannot be broken.
\begin{dispExample}
\tcbset{colframe=blue!50!black,colback=white,colupper=red!50!black,
- fonttitle=\bfseries,before=,after=,center title}
+ fonttitle=\bfseries,nobeforeafter,center title}
Text \tcbox[tcbox raise base]{Hello World}\hfill
%
@@ -141,7 +141,6 @@ and options.
\end{docCommand}
-
\begin{docCommand}{newtcbox}{\marg{\texttt{\textbackslash}name}\oarg{number}\oarg{default}\marg{options}}
Creates a new macro \meta{\texttt{\textbackslash}name} based on \refCom{tcbox}.
Basically, |\newtcbox| operates like |\newcommand|.
@@ -173,3 +172,5 @@ and options.
\end{dispExample*}
\end{docCommand}
+
+
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
index cf5c9669d37..9a7b682057d 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
@@ -344,6 +344,12 @@ This is a \textbf{tcolorbox}.
\end{dispExample}
\end{docTcbKey}
+\bigskip
+\begin{marker}
+ More options for drawing a \refKey{/tcb/borderline} are provided by using skins documented in
+ Section \ref{sec:skins} from page \pageref{sec:skins}.
+\end{marker}
+
\clearpage
\begin{docTcbKey}{arc}{=\meta{length}}{no default, initially \texttt{1mm}}
@@ -904,10 +910,10 @@ This is the lower part.
\end{dispExample}
\end{docTcbKey}
+
\clearpage
\begin{docTcbKey}{center title}{}{style, no value, initially unset}
- This style sets \refKey{/tcb/before title} and \refKey{/tcb/after title}
- to |\begin{center}| and |\end{center}|.
+ This style sets \refKey{/tcb/before title} to |\centering|.
\begin{dispExample}
\tcbset{center title,colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries}
@@ -919,8 +925,7 @@ This is a \textbf{tcolorbox}.
\begin{docTcbKey}{center upper}{}{style, no value, initially unset}
- This style sets \refKey{/tcb/before upper} and \refKey{/tcb/after upper}
- to |\begin{center}| and |\end{center}|.
+ This style sets \refKey{/tcb/before upper} to |\centering|.
\begin{dispExample}
\tcbset{center upper,colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries}
@@ -932,8 +937,7 @@ This is a \textbf{tcolorbox}.
\begin{docTcbKey}{center lower}{}{style, no value, initially unset}
- This style sets \refKey{/tcb/before lower} and \refKey{/tcb/after lower}
- to |\begin{center}| and |\end{center}|.
+ This style sets \refKey{/tcb/before lower} to |\centering|.
\begin{dispExample}
\tcbset{center lower,colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries}
@@ -947,6 +951,101 @@ This is the lower part.
\clearpage
+\begin{docTcbKey}{flushleft title}{}{style, no value, initially unset}
+ This style sets \refKey{/tcb/before title} to |\raggedright|.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{flushleft title,colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries}
+
+\begin{tcolorbox}[title=My title which is
+ quite long but always flushed left]
+This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{flushleft upper}{}{style, no value, initially unset}
+ This style sets \refKey{/tcb/before upper} to |\raggedright|.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{flushleft upper,colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries}
+
+\begin{tcolorbox}[title=My title]
+This is a \textbf{tcolorbox}. Here, the
+content is flushed left.
+You see the effect on the right hand side.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{flushleft lower}{}{style, no value, initially unset}
+ This style sets \refKey{/tcb/before lower} to |\raggedright|.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{flushleft lower,colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries}
+
+\begin{tcolorbox}[title=My title]
+This is a \textbf{tcolorbox}. The upper part
+is not flushed left or right. This could be
+unpleasant for small boxes.
+\tcblower
+This is the lower part. Here, the
+content is flushed left.
+You see the effect on the right hand side.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\clearpage
+\begin{docTcbKey}{flushright title}{}{style, no value, initially unset}
+ This style sets \refKey{/tcb/before title} to |\raggedleft|.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{flushright title,colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries}
+
+\begin{tcolorbox}[title=My title]
+This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{flushright upper}{}{style, no value, initially unset}
+ This style sets \refKey{/tcb/before upper} to |\raggedleft|.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{flushright upper,colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries}
+
+\begin{tcolorbox}[title=My title]
+This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{flushright lower}{}{style, no value, initially unset}
+ This style sets \refKey{/tcb/before lower} to |\raggedleft|.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{flushright lower,colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries}
+
+\begin{tcolorbox}[title=My title]
+This is a \textbf{tcolorbox}.
+\tcblower
+This is the lower part.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+
+
+
+
+\clearpage
\begin{docTcbKey}{tabularx}{=\meta{preamble}}{style}
This style sets \refKey{/tcb/before upper} and \refKey{/tcb/after upper}
and several geometry keys to support a |tabularx| with the
@@ -1081,6 +1180,7 @@ This is a \textbf{tcolorbox}.
\end{tcolorbox}
\end{dispExample}
+\enlargethispage*{5mm}
\begin{dispExample}
% \usetikzlibrary{patterns} % preamble
% \tcbuselibrary{skins} % preamble
@@ -1101,6 +1201,7 @@ This is the lower part.
\end{dispExample}
\end{docTcbKey}
+\clearpage
\begin{docTcbKey}{no overlay}{}{style, no default, initially set}
Removes the overlay if set before.
\end{docTcbKey}
@@ -1202,14 +1303,32 @@ are drawn by the codes given with
\end{myexample}
\begin{myexample}
-\lipsum[2-14]
+\lipsum[2-11]
\end{myexample}
-\lipsum[15]% following text
+\lipsum[12]% following text
\end{dispListing*}
{\tcbusetemp}
+\begin{dispExample}
+% \tcbuselibrary{skins}
+\newtcolorbox{FancyTitle}[2][]{%
+ enhanced,colback=blue!10!white,colframe=orange,top=4mm,
+ enlarge top by=\baselineskip/2+1mm,
+ enlarge top at break by=0mm,pad at break=2mm,
+ fontupper=\normalsize,
+ overlay unbroken and first={%
+ \node[rectangle,rounded corners,draw=black,fill=blue!20!white,
+ inner sep=1mm,anchor=west,font=\small]
+ at ([xshift=4.5mm]frame.north west) {\strut\textbf{#2}};},
+ #1}%
+
+\begin{FancyTitle}{My fancy title}
+ \lipsum[1]
+\end{FancyTitle}
+\end{dispExample}
+
\clearpage
\subsection{Floating Objects}
\begin{docTcbKey}{floatplacement}{=\meta{values}}{no default, initially \texttt{htb}}
@@ -1449,6 +1568,11 @@ This behavior is controlled by the keys |before| and |after|.
\end{docTcbKey}
+\begin{docTcbKey}{baseline}{=\meta{length}}{no default, initially |0pt|}
+ Used to set the |\pgfsetbaseline| value of the resulting |tcolorbox|.
+\end{docTcbKey}
+
+
\clearpage
\subsection{Bounding Box}
Normally, every |tcolorbox| has a bounding box which fits exactly to the
@@ -1529,10 +1653,13 @@ This is a \textbf{tcolorbox}.
\item |none|: no switching.
\item |forced|: the values of the left and right enlargement are switched.
\item |evenpage|: if the page is an even page, the values of the left and
- right enlargement are switched. Note that the page number detection may
- fail in certain cases. For these cases, use the |forced| value.
+ right enlargement are switched. It is recommended to use this setting in
+ conjunction with \refKey{/tcb/check odd page}.
+ %Note that the page number detection may
+ %fail in certain cases. For these cases, use the |forced| value.
\end{itemize}
\begin{dispExample}
+% \usepackage{changepage} for 'check odd page'
\tcbset{colframe=blue!75!black,colback=white,
enlarge left by=-20mm,enlarge right by=5mm,width=\linewidth+15mm}
@@ -1542,7 +1669,7 @@ This is a \textbf{tcolorbox}.
\begin{tcolorbox}[toggle enlargement=forced]
This is a \textbf{tcolorbox}.
\end{tcolorbox}
-\begin{tcolorbox}[toggle enlargement=evenpage]
+\begin{tcolorbox}[toggle enlargement=evenpage,check odd page]
This page is an \ifthenelse{\isodd{\thepage}}{odd}{even} page.
Therefore, the left and right enlargements
\ifthenelse{\isodd{\thepage}}{are not}{are} toggled (with some luck).
@@ -1580,7 +1707,7 @@ lower part.
extrusion keys.
\begin{dispExample}
\tcbset{colframe=blue!75!black,colback=white,arc=0mm,boxrule=0.4pt,
- tcbox raise base,shrink tight}
+ nobeforeafter,tcbox raise base,shrink tight}
\begin{tcolorbox}
This is a \textbf{tcolorbox}.
@@ -1597,7 +1724,7 @@ Lorem \tcbox{ipsum} dolor sit amet, consectetuer adipiscing elit.
\begin{dispExample}
\tcbset{enhanced,colframe=red,colback=yellow!25!white,
frame style={opacity=0.25},interior style={opacity=0.5},
- tcbox raise base,shrink tight,extrude by=2mm}
+ nobeforeafter,tcbox raise base,shrink tight,extrude by=2mm}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit,
vestibulum ut, placerat ac, adipiscing vitae, felis.
@@ -1613,7 +1740,7 @@ Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
\begin{dispExample}
\tcbset{enhanced,colframe=red,colback=yellow!25!white,
frame style={opacity=0.25},interior style={opacity=0.5},
- tcbox raise base,shrink tight,extrude by=2mm}
+ nobeforeafter,tcbox raise base,shrink tight,extrude by=2mm}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit,
vestibulum ut, placerat ac, adipiscing vitae, felis.
@@ -1630,7 +1757,7 @@ Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
\begin{dispExample}
\tcbset{enhanced,colframe=red,colback=yellow!25!white,
frame style={opacity=0.25},interior style={opacity=0.5},
- tcbox raise base,shrink tight,extrude by=2mm}
+ nobeforeafter,tcbox raise base,shrink tight,extrude by=2mm}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit,
vestibulum ut, placerat ac, adipiscing vitae, felis.
@@ -1646,7 +1773,7 @@ Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
\begin{dispExample}
\tcbset{enhanced,colframe=red,colback=yellow!25!white,
frame style={opacity=0.25},interior style={opacity=0.5},
- tcbox raise base,shrink tight,extrude by=2mm}
+ nobeforeafter,tcbox raise base,shrink tight,extrude by=2mm}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit,
vestibulum ut, placerat ac, adipiscing vitae, felis.
@@ -1662,7 +1789,7 @@ Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
\begin{dispExample}
\tcbset{enhanced,colframe=red,colback=yellow!25!white,
frame style={opacity=0.25},interior style={opacity=0.5},
- tcbox raise base,shrink tight,extrude by=2mm}
+ nobeforeafter,tcbox raise base,shrink tight,extrude by=2mm}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit,
vestibulum ut, placerat ac, adipiscing vitae, felis. \tcbox{Curabitur} dictum
@@ -1674,6 +1801,66 @@ et malesuada fames ac turpis egestas. \tcbox{Mauris ut leo.}
\end{docTcbKey}
+\clearpage
+\subsection{Capture Mode}\label{subsec:capture}
+
+\begin{docTcbKey}{capture}{=\meta{mode}}{no default, initially |minipage|}
+ The capture \meta{mode} defines how the box content is processed.
+
+Feasible values for \meta{mode} are:
+\begin{itemize}
+\item |minipage|:\\
+ This is the default \meta{mode} for \refEnv{tcolorbox}.
+ The content may have an upper and a lower part. Optionally, the box
+ can be \refKey{/tcb/breakable}. The box content is put into a
+ minipage or into something similar to a minipage.
+\item |hbox|:\\
+ This is the default \meta{mode} for \refCom{tcbox}. The content cannot have
+ a lower part and cannot be broken. The colored box is sized according
+ to the dimensions of the content.
+ A shortcut to set this mode is \refKey{/tcb/hbox}.
+\item |fitbox|: (needs the 'fitting' library)\\
+ This is the default \meta{mode} for \refCom{tcboxfit}. The content cannot have
+ a lower part and cannot be broken.
+ The content is sized according to the dimensions of the colored box.
+ A shortcut to set this mode is \refKey{/tcb/fit}.
+\end{itemize}
+
+\begin{dispExample}
+\tcbset{colframe=blue!75!black,colback=white}
+
+\begin{tcolorbox}[capture=minipage]
+This is a tcolorbox.
+\end{tcolorbox}
+
+\begin{tcolorbox}[capture=hbox]
+This is a tcolorbox.
+\end{tcolorbox}
+
+\begin{tcolorbox}[capture=fitbox,height=9mm]% needs the 'fitting' library
+This is a tcolorbox.
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+
+\begin{docTcbKey}{hbox}{}{style, no default}
+ Shortcut for |capture=hbox|.
+\begin{dispExample}
+\tcbset{colframe=blue!75!black,colback=white}
+
+\begin{tcolorbox}[hbox]
+This is a tcolorbox.
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{minipage}{}{style, no default}
+ Shortcut for |capture=minipage|.
+\end{docTcbKey}
+
\clearpage
\subsection{Text Characteristics}
@@ -1740,3 +1927,35 @@ The library 'skins' adds more skins. The appropriate option keys for skins of
the core package are therefore described in section \ref{sec:skincorekeys} from
page \pageref{sec:skincorekeys}.
+\clearpage
+\subsection{Miscellaneous}
+
+\begin{docTcbKey}{check odd page}{\colOpt{=\meta{boolean value}}}{default |true|, initially |false|}
+If set to |true|, the even/odd page testing from the package |changepage|
+is applied. The \refKey{/tcb/toggle enlargement} check will use the
+|\ifoddpage| macro from this package.
+Note that you have to include the package |changepage| by hand\footnote{If |changepage| is
+not included, a compilation error will arise.}:
+
+\begin{dispListing}
+\usepackage{changepage}
+\strictpagecheck
+\end{dispListing}
+
+\medskip
+The macro |\ifoddpage| can be used inside overlay or watermark code to test if the
+box is on an odd page. This will work also for boxes in a break sequence.
+Note that you cannot use the test inside the normal
+box content.
+
+\begin{dispExample}
+% \usepackage{changepage}
+\tcbset{colframe=blue!75!black,colback=white}
+
+\begin{tcolorbox}[enhanced,
+ watermark text={\ifoddpage Odd\else Even\fi\ page!}]
+\lipsum[1]
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex
index 456556d55d3..24e8e35dffd 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex
@@ -290,6 +290,17 @@ This is my \colOpt{text}.
additional to \refKey{/tcb/after}.
\end{docTcbKey}
+\begin{docTcbKey}{index format}{=\meta{format}}{no default, initially |pgf|}
+ Determines the basic \meta{format} of the generated index.
+ Feasible values are:
+ \begin{itemize}
+ \item |pgf|: The index is formatted like in the |pgf| documentation.
+ \item |doc|: The index assumed to be formatted by |doc|/|ltxdoc|. A usage of |makeindex|
+ with |-s gind.ist| is assumed. The package |hypdoc| has to be loaded
+ \emph{before} |tcolorbox|.
+ \end{itemize}
+\end{docTcbKey}
+
\begin{docTcbKey}{index actual}{=\meta{character}}{no default, initially |@|}
Sets the character for 'actual' in automatic indexing.
\end{docTcbKey}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex
new file mode 100644
index 00000000000..171988fc395
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex
@@ -0,0 +1,403 @@
+% !TeX root = tcolorbox.tex
+% include file of tcolorbox.tex (manual of the LaTeX package tcolorbox)
+\clearpage
+\section{Library 'fitting'}\label{sec:fitting}
+The library is loaded by a package option or inside the preamble by:
+\begin{dispListing}
+\tcbuselibrary{fitting}
+\end{dispListing}
+
+\subsection{Macros of the Library}
+
+\begin{docCommand}{tcboxfit}{\oarg{options}\marg{box content}}
+ Creates a colored box where the given \meta{box content} is fitted to
+ the width and height of the box. A |tcboxfit| has to have a fixed height.
+ If no fixed height is given, a square box is constructed.
+ In principal, most \meta{options} for a \refEnv{tcolorbox}
+ can be used for |\tcboxfit| with some restrictions. A |\tcboxfit| cannot have
+ a lower part and cannot be broken.
+
+\enlargethispage*{1cm}
+\begin{dispExample}
+% \usepackage{lipsum}
+\tcbset{colframe=blue!50!black,colback=red!10!white,
+ boxsep=0pt,top=1mm,bottom=1mm,left=1mm,right=1mm,
+ nobeforeafter,width=(\linewidth-2mm)/3}
+
+\tcboxfit[height=8cm]{\lipsum[1]}\hfill
+\tcboxfit[height=4cm]{\lipsum[1]}\hfill
+\tcboxfit[height=2cm]{\lipsum[1]}
+
+\medskip
+\tcbset{width=(\linewidth-2mm)/2,colback=green!10!white,boxsep=1mm}
+\tcboxfit[height=4cm]{\lipsum[2]}\hfill
+\tcboxfit[height=4cm,title=With a title]{\lipsum[2]}
+\end{dispExample}
+\end{docCommand}
+
+
+\begin{docCommand}{newtcboxfit}{\marg{\texttt{\textbackslash}name}\oarg{number}\oarg{default}\marg{options}}
+ Creates a new macro \meta{\texttt{\textbackslash}name} based on \refCom{tcboxfit}.
+ Basically, |\newtcboxfit| operates like |\newcommand|.
+ The new macro \meta{\texttt{\textbackslash}name} optionally takes \meta{number}$+1$ arguments, where
+ \meta{default} is the default value for the optional first argument.
+ The \meta{options} are given to the underlying |tcboxfit|.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\newtcboxfit{\mybox}{colback=red!5!white,
+ colframe=red!75!black,width=4cm,
+ height=1.5cm,center upper}
+
+\mybox{This is my own box.}\par
+\mybox{This is my own box with more text
+ to be written.}
+\end{dispExample*}
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+% \usepackage{lipsum}
+\newtcboxfit{\mybox}[2]{colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries,
+ boxsep=1mm,left=0mm,right=0mm,top=0mm,
+ bottom=0mm,center upper,valign=center,
+ nobeforeafter,width=#1,height=#2}
+
+\mybox{2.5cm}{1cm}{First box}%
+\mybox{2.5cm}{1cm}{Second box with more text}\\
+\mybox{5cm}{2cm}{Third box with text}\\
+\mybox{5cm}{3cm}{\lipsum[1]}
+\end{dispExample*}
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+% \usepackage{lipsum}
+\newtcboxfit{\mybox}[2][]{colback=red!5!white,
+ colframe=red!75!black,
+ width=#2,height=#2/3*2,#1}
+
+\mybox[colback=yellow]{5cm}%
+ {\lipsum[2]}
+\end{dispExample*}
+\end{docCommand}
+
+
+\begin{docCommand}{tcbfontsize}{\marg{factor}}
+ Selects a font size inside a tcolorbox which is scaled with the given
+ \meta{factor} relative to \docAuxCommand{tcbfitdim}.%
+ %, see Subsection \ref{subsec:fit} from page \pageref{subsec:fit}.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{colback=red!5!white,colframe=red!75!black}
+\begin{tcolorbox}[fit basedim=10pt]
+ {\tcbfontsize{0.25} Very tiny,}\\
+ {\tcbfontsize{0.5} Small,}\\
+ {\tcbfontsize{1} Normal,}\\
+ {\tcbfontsize{2} Large,}\\
+ {\tcbfontsize{4} Huge.}
+\end{tcolorbox}
+\end{dispExample*}
+\end{docCommand}
+
+
+\clearpage
+\subsection{Option Keys of the Library}\label{subsec:fit}
+
+The font size for the content of a box with fixed width and fixed height
+can be adjusted automatically. This is called the \emph{fitbox capture mode}.
+Note that the fit control algorithm
+constructs a series of versions for the box and selects the 'best'.
+Therefore, the compilation time is quite longer than for a normal box.
+The algorithm will fail, if a different selected font size does not change the
+overall size of the box content.
+The \refCom{tcboxfit} macro uses this algorithm by default.
+
+\medskip
+\begin{marker}
+ The fit control keys are only applicable to unbreakable boxes without
+ a lower part.
+ The box content should not change counters.
+\end{marker}
+\medskip
+
+\enlargethispage*{5mm}
+\begin{docTcbKey}{fit}{}{style, initially unset}
+ Sets the \refKey{/tcb/capture} mode to |fitbox|, i.\,e.\ enables the
+ font size adjustment algorithm. Thereby, a \refEnv{tcolorbox} acts
+ like \refCom{tcboxfit} where the given \meta{box content} is fitted to
+ the width and height of the box. Therefore, the box has to have a fixed height.
+ If no fixed height is given, a square box is constructed.
+ The font dimension \docAuxCommand{tcbfitdim} can also be used to adjust
+ the margins of the box since a box with a tiny font may not need large
+ margins. The number of constructed boxes is saved to the macro \docAuxCommand{tcbfitsteps}
+ for analysis.
+
+\begin{dispExample}
+% \usepackage{lipsum}
+% \tcbuselibrary{skins}
+\newtcolorbox{fitting}[2][]{fit,height=#2,boxsep=1pt,valign=center,
+ top=0.4\tcbfitdim,bottom=0.4\tcbfitdim,
+ left=0.75\tcbfitdim,right=0.75\tcbfitdim,
+ enhanced,watermark text=\tcbfitsteps,
+ colframe=blue!75!black,colback=white,#1}
+
+\begin{fitting}{4cm}
+\lipsum[1]
+\end{fitting}
+
+\begin{fitting}{2cm}
+\lipsum[2]
+\end{fitting}
+
+\begin{fitting}{1cm}
+\lipsum[3]
+\end{fitting}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{fit to}{=\meta{width} and \meta{height}}{style, initially unset}
+ Shortcut for using \refKey{/tcb/fit} and setting the \meta{width} and \meta{height} values
+ separately.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{colback=red!5!white,colframe=red!75!black}
+
+\begin{tcolorbox}[fit to=3cm and 2cm]
+ This box content is fitted to the given
+ dimensions.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{fit to height}{=\meta{height}}{style, initially unset}
+ Shortcut for using \refKey{/tcb/fit} and setting the \meta{height} value separately.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{colback=red!5!white,colframe=red!75!black}
+
+\begin{tcolorbox}[fit to height=2cm]
+ This box content is fitted to the given
+ height.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+\begin{docTcbKey}{fit basedim}{=\meta{length}}{no default, initially |10pt|}
+ Sets the starting font dimension for the font size adjustment algorithm
+ to \meta{length}. The algorithm never enlarges this dimension.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{colback=red!5!white,colframe=red!75!black}
+
+\begin{tcolorbox}[fit to=4cm and 2cm]
+ Too few words for the box.
+\end{tcolorbox}
+
+\begin{tcolorbox}[fit to=4cm and 2cm,
+ fit basedim=50pt]
+ Enough words for the box.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{fit skip}{=\meta{real value}}{no default, initially |1.2|}
+ Sets the skip value of the selected font to \meta{real value} times \docAuxCommand{tcbfitdim}.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+% \usepackage{lipsum}
+\tcbset{colback=red!5!white,
+ colframe=red!75!black,left=1mm,
+ right=1mm,boxsep=0mm}
+
+\begin{tcolorbox}[fit to=5cm and 4cm,
+ fit skip=1.0 ]
+ \lipsum[1]
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+
+\clearpage
+\begin{docTcbKey}{fit fontsize macros}{}{style, initially unset}
+ Redefines the standard \LaTeX\ font size macros
+ |\tiny|, |\scriptsize|, |\footnotesize|, |\small|, |\normalsize|,
+ |\large|, |\Large|, |\LARGE|, |\huge|, and |\Huge|,
+ to set font sizes relative to
+ the current \docAuxCommand{tcbfitdim}. Note that the display skip values for
+ mathematical formulas are respected by the redefined macros.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+% \usepackage{lipsum}
+\tcbset{colback=red!5!white,
+ colframe=red!75!black,left=1mm,
+ right=1mm,boxsep=0mm}
+
+\begin{tcolorbox}[fit to height=4cm]
+ {\Large\bfseries This text is
+ not adapted:\par}
+ \lipsum[2]
+\end{tcolorbox}
+
+\begin{tcolorbox}[fit to height=4cm,
+ fit fontsize macros ]
+ {\Large\bfseries This text is adapted:\par}
+ \lipsum[2]
+\end{tcolorbox}
+\end{dispExample*}
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{colback=red!5!white,
+ colframe=red!75!black,left=1mm,
+ right=1mm,boxsep=0mm}
+
+\let\realHuge=\Huge
+
+\begin{tcolorbox}[fit basedim=7pt,
+ fontupper=\normalsize,
+ fit fontsize macros]
+The relative relative font size macros
+are also usable without the
+\textit{fit} algorithm.\par
+{\Huge Adapted Huge} ---
+{\realHuge Original Huge}
+\end{tcolorbox}
+
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\clearpage
+\begin{docTcbKey}{fit height plus}{=\meta{dimension}}{no default, initially |0pt|}
+ The box is allowed to enlarge the fixed height up to the given \meta{dimension},
+ before a font size fit is applied. An optional \refKey{/tcb/fit width plus}
+ is tried after the height adaption.
+\begin{dispExample}
+% \usepackage{lipsum}
+\tcbset{colback=red!5!white,colframe=red!75!black,left=1mm,top=1mm,bottom=1mm,
+ right=1mm,boxsep=0mm,width=3cm,height=3cm,nobeforeafter}
+
+\begin{tcolorbox}[fit]
+This is a tcolorbox.
+\end{tcolorbox}
+\begin{tcolorbox}[fit,fit height plus=1cm]
+This is a tcolorbox.
+\end{tcolorbox}
+\begin{tcolorbox}[fit]
+\lipsum[2]
+\end{tcolorbox}
+\begin{tcolorbox}[fit,fit height plus=1cm]
+\lipsum[2]
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{fit width plus}{=\meta{dimension}}{no default, initially |0pt|}
+ The box is allowed to enlarge the fixed width up to the given \meta{dimension},
+ before a font size fit is applied. An optional \refKey{/tcb/fit height plus}
+ is tried before the width adaption.
+ \enlargethispage*{1cm}
+\begin{dispExample}
+% \usepackage{lipsum}
+\tcbset{colback=red!5!white,colframe=red!75!black,left=1mm,top=1mm,bottom=1mm,
+ right=1mm,boxsep=0mm,width=3cm,height=3cm,nobeforeafter}
+
+\begin{tcolorbox}[fit]
+This is a tcolorbox.
+\end{tcolorbox}
+\begin{tcolorbox}[fit,fit width plus=1cm]
+This is a tcolorbox.
+\end{tcolorbox}
+\begin{tcolorbox}[fit]
+\lipsum[2]
+\end{tcolorbox}
+\begin{tcolorbox}[fit,fit width plus=1cm]
+\lipsum[2]
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{marker}
+Typically, the optional title of a |tcolorbox| is not part of the fit operation.
+If a \refKey{/tcb/fit width plus} is applied, the title is also adapted to
+the new width. If counters are increased inside the title text, they may be
+increased more than one time.
+\end{marker}
+
+
+\begin{docTcbKey}{fit width from}{=\meta{min} \texttt{to} \meta{max}}{style, no default}
+ Sets the box width to \meta{min} and allows the width to grow up to \meta{max}.
+\begin{dispExample}
+% \usepackage{lipsum}
+\tcbset{colback=red!5!white,colframe=red!75!black,left=1mm,top=1mm,bottom=1mm,
+ right=1mm,boxsep=0mm,height=4cm}
+
+\begin{tcolorbox}[fit,width=\linewidth/2]
+\lipsum[2]
+\end{tcolorbox}\par
+\begin{tcolorbox}[fit width from=\linewidth/2 to \linewidth]
+\lipsum[2]
+\end{tcolorbox}\par
+\end{dispExample}
+\end{docTcbKey}
+
+\clearpage
+\begin{docTcbKey}{fit height from}{=\meta{min} \texttt{to} \meta{max}}{style, no default}
+ Sets the box height to \meta{min} and allows the height to grow up to \meta{max}.
+\begin{dispExample}
+% \usepackage{lipsum}
+\newtcolorbox{mybox}{colback=red!5!white,colframe=red!75!black,left=1mm,top=1mm,
+ bottom=1mm,right=1mm,boxsep=0mm,width=4cm,nobeforeafter,
+ fit height from=1cm to 8cm}
+
+\begin{mybox}
+This is a tcolorbox.
+\end{mybox}
+\begin{mybox}
+This is a tcolorbox. This is a tcolorbox. This is a tcolorbox.
+\end{mybox}
+\begin{mybox}
+\lipsum[2]
+\end{mybox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\clearpage
+\begin{marker}
+The following options set control parameters for the fit algorithm.
+The algorithms is a bisection method which stops if certain stop conditions
+are fulfilled.
+The options should be seen as experimental and are likely to change in future versions,
+if necessary.
+\end{marker}
+
+\begin{docTcbKey}{fit maxstep}{=\meta{number}}{no default, initially |20|}
+ Sets the maximal step size for the font size adjustment algorithm.
+ In normal situations, the algorithm stops before reaching the intial value of 20 steps.
+ If the box content does not shrink, this value prevents an endless loop.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{fit maxfontdiff}{=\meta{dimension}}{no default, initially |0.1pt|}
+ The algorithm stops, if the font size is determined within a deviation of
+ \meta{dimension}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{fit maxfontdiffgap}{=\meta{dimension}}{no default, initially |1pt|}
+ The algorithm stops, if the number of lines is determined and the font size is
+ determined within a deviation of \meta{dimension}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{fit maxwidthdiff}{=\meta{dimension}}{no default, initially |1pt|}
+ The algorithm stops, if the (optionally) flexible box width
+ is determined within a deviation of \meta{dimension}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{fit maxwidthdiffgap}{=\meta{dimension}}{no default, initially |10pt|}
+ The algorithm stops, if the number of lines is determined and the (optionally) flexible box width
+ is determined within a deviation of \meta{dimension}.
+\end{docTcbKey}
+
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
index ed4187f3518..c6330c6a44a 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
@@ -25,6 +25,7 @@ With version 2.20, the often requested 'side by side' mode for listings has been
\begin{tcolorbox}[enhanced,boxrule=0mm,boxsep=0mm,frame hidden,interior hidden,
left=0mm,right=0mm,top=0mm,bottom=0mm,watermark opacity=0.25,watermark zoom=1.2,before=\par\smallskip,
+ clip watermark=false,
watermark tikz={%
\path[fill=yellow,draw=yellow!75!red] (0,0) circle (1cm);
\fill[red] (45:5mm) circle (1mm);
@@ -36,9 +37,20 @@ and ideas for new or better features.
\end{tcolorbox}
+\subsection{Installation}
+Typically, |tcolorbox| will be installed as part of a major \LaTeX\ distribution
+and there is nothing special to do for a user.
+
+If you intend to make a local
+installation \emph{by hand}, see the |README| file of the |tcolorbox| package
+for some hints. The short story is: you have to install not only
+|tcolorbox.sty| but also all |*.code.tex| files in the local |texmf| tree.
+
+
\subsection{Loading the Package}
The base package |tcolorbox| loads the packages
-|pgf| \cite{tantau:2010c} and |verbatim| \cite{schoepf:2001a}.
+|pgf| \cite{tantau:2010c}, |verbatim| \cite{schoepf:2001a},
+and |environ| \cite{robertson:2013a}.
|tcolorbox| itself is loaded in the usual manner in the preamble:
\begin{dispListing}
\usepackage{tcolorbox}
@@ -68,6 +80,12 @@ the preamble by applying the following macro with the same set of keys.
The following keys are used inside |\tcbuselibrary| respectively
|\usepackage| without the key tree path |/tcb/library/|.
+\begin{docTcbKey}[library]{skins}{}{no value}
+ Loads the package |tikz| \cite{tantau:2010c} and provides additional
+ styles (skins) for the appearance of the colored boxes; see
+ Section \ref{sec:skins} from page \pageref{sec:skins}.
+\end{docTcbKey}
+
\begin{docTcbKey}[library]{listings}{}{no value}
Loads the package |listings| \cite{heinz:2007a} and provides additional
macros for typesetting listings which are described in Section \ref{sec:listings}
@@ -89,26 +107,38 @@ The following keys are used inside |\tcbuselibrary| respectively
from page \pageref{sec:theorems}.
\end{docTcbKey}
-\begin{docTcbKey}[library]{documentation}{}{no value}
- Provides additional
- macros for typesetting \LaTeX\ documentations
- which are described in Section \ref{sec:documentation}
- from page \pageref{sec:documentation}.
-\end{docTcbKey}
-
-\begin{docTcbKey}[library]{skins}{}{no value}
- Loads the package |tikz| \cite{tantau:2010c} and provides additional
- styles (skins) for the appearance of the colored boxes; see
- Section \ref{sec:skins} from page \pageref{sec:skins}.
-\end{docTcbKey}
\begin{docTcbKey}[library]{breakable}{}{no value}
Provides support for automatic box breaking from one page to another;
see Section \ref{sec:breakable} from page \pageref{sec:breakable}.
\end{docTcbKey}
+\begin{docTcbKey}[library]{fitting}{}{no value}
+ Provides support for font size adaption of the box content to
+ the box dimensions;
+ see Section \ref{sec:fitting} from page \pageref{sec:fitting}.
+\end{docTcbKey}
+
\begin{docTcbKey}[library]{hooks}{}{no value}
Extends several option keys to 'hookable' keys;
see Section \ref{sec:hooks} from page \pageref{sec:hooks}.
\end{docTcbKey}
+\begin{docTcbKey}[library]{documentation}{}{no value}
+ Provides additional
+ macros for typesetting \LaTeX\ documentations
+ which are described in Section \ref{sec:documentation}
+ from page \pageref{sec:documentation}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[library]{most}{}{style, no value}
+ Loads all libraries except 'documentation'.
+ Use this shortcut, if you want to use all features of |tcolorbox|
+ with exception of the specialized 'documentation' library.
+\end{docTcbKey}
+
+\begin{docTcbKey}[library]{all}{}{style, no value}
+ Loads all libraries. Use this shortcut only, if you indend to use the
+ 'documentation' library.
+\end{docTcbKey}
+
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex
index 16cbbb6ccf0..c2a6f9ef860 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex
@@ -176,6 +176,20 @@ and in compiled form. Additionally, we use line numbers here.
\end{dispExample}
\end{docTcbKey}
+\begin{docTcbKey}{no listing options}{}{no value, initially unset}
+ Abbreviation for |listing options={}|.
+ This removes all options for the |listings| package.
+ This includes the |tcblisting| standard style |tcblatex| and the encoding presets.
+ Use this option, if you want to set the |listings| options outside of |tcblisting|, e.\,g.\ globally in
+ the preamble.
+\begin{dispExample}
+\begin{tcblisting}{no listing options}
+All \textit{listings} options removed.
+\end{tcblisting}
+\end{dispExample}
+\end{docTcbKey}
+
+\clearpage
\begin{docTcbKey}{listing style}{=\meta{style}}{no default, initially |tcblatex|}
Abbreviation for |listing options={style=...}|. This key sets a \meta{style}
@@ -227,6 +241,7 @@ This is a \LaTeX\ example.
\end{dispExample}
\end{docTcbKey}
+
\begin{docTcbKey}{listing only}{}{no value}
Typesets the environment content as listing.
\begin{dispExample}
@@ -274,7 +289,6 @@ This is a \LaTeX\ example.
\end{docTcbKey}
-
\begin{docTcbKey}{comment and listing}{}{no value}
Typesets a given comment in the upper part and
the environment content as listing in the lower part.
@@ -356,8 +370,8 @@ numbering.
texexp/.style={colframe=red!50!yellow!50!black, colback=red!50!yellow!5!white,
coltitle=red!50!yellow!3!white,
fonttitle=\small\sffamily\bfseries, fontupper=\small, fontlower=\small},
- example/.code 2 args={\refstepcounter{texexp}\label{#2}%
- \pgfkeysalso{texexp,title={Example \thetexexp: #1}}},
+ example/.style 2 args={texexp,
+ title={Example \refstepcounter{texexp}\label{#2}\thetexexp: #1}},
}
\end{dispListing}
\tcbusetemp
@@ -609,10 +623,10 @@ exercises is created quickly:
\begin{dispListing}
\newtcolorbox{texercise}[2][]{texercisestyle,
- code={\refstepcounter{texercise}\label{exe:#2}\writesol{#2}},
listing file={\solfile\thetexercise},
- title={Exercise \arabic{texercise}\hfill\mdseries Solution on page \pageref{sol:#2}},
- #1}
+ title={Exercise \refstepcounter{texercise}\label{exe:#2}\writesol{#2}%
+ \arabic{texercise}%
+ \hfill\mdseries Solution on page \pageref{sol:#2}},#1}
\end{dispListing}
\tcbusetemp
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
index 0bfdac01ef9..2be4be9a13b 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
@@ -596,7 +596,7 @@ This example uses a public domain picture from\\
\tcbset{colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries}
\begin{tcolorbox}[enhanced,title=My title,
- watermark tikz={\draw[line width=2mm] (interior) circle (1cm)
+ watermark tikz={\draw[line width=2mm] circle (1cm)
node{\fontfamily{ptm}\fontseries{b}\fontsize{20mm}{20mm}\selectfont ?};}]
\lipsum[1]
\tcblower
@@ -650,15 +650,15 @@ This example uses a public domain picture from\\
\enlargethispage{5mm}
\begin{docTcbKey}{watermark zoom}{=\meta{fraction}}{no default, initially |0.75|}
Sets the zoom value for a watermark. The zoom respects the aspect ratio.
- The value $1.0$ means to fill the whole box.
+ The value $1.0$ means to fill the whole box until the watermark touches the frame.
\begin{dispExample}
\tcbset{enhanced,colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
watermark text=Watermark,nobeforeafter,width=(\linewidth-2mm)/2}
-\begin{tcolorbox}[title=Zoom 1.00,watermark zoom=1.00]
+\begin{tcolorbox}[title=Zoom 1.0,watermark zoom=1.0]
\lipsum[2]
\end{tcolorbox}\hfill%
-\begin{tcolorbox}[title=Zoom 0.50,watermark zoom=0.50]
+\begin{tcolorbox}[title=Zoom 0.5,watermark zoom=0.5]
\lipsum[2]
\end{tcolorbox}%
\end{dispExample}
@@ -666,13 +666,40 @@ This example uses a public domain picture from\\
\clearpage
+\begin{docTcbKey}{watermark overzoom}{=\meta{fraction}}{no default, initially unset}
+ Sets the overzoom value for a watermark. The overzoom respects the aspect ratio.
+ The value $1.0$ means to fill the whole box until the watermark touches
+ all four sides of the frame.
+\begin{dispExample}
+\tcbset{enhanced,colback=white,colframe=blue!50!black,fonttitle=\bfseries,
+ watermark opacity=0.5,
+ watermark graphics=lichtspiel.jpg,nobeforeafter,width=(\linewidth-2mm)/2}
+
+\begin{tcolorbox}[title=Zoom 1.0,watermark zoom=1.0]
+\lipsum[1]
+\end{tcolorbox}\hfill%
+\begin{tcolorbox}[title=Overzoom 1.0,watermark overzoom=1.0]
+\lipsum[1]
+\end{tcolorbox}%
+\end{dispExample}
+\end{docTcbKey}
+
+\begin{marker}
+If a \refKey{/tcb/watermark overzoom} value of |1.0| is used in connection
+with invisible top and bottom rules which still have a thickness greater than |0pt|,
+the space of these invisible rules may not be covered by the watermark.
+For example, this situation may occur during the breaking of \refKey{/tcb/enhanced} boxes.
+To avoid this optical glitch, just set \refKey{/tcb/pad at break} to any desired value.
+\end{marker}
+
+\clearpage
\begin{docTcbKey}{watermark stretch}{=\meta{fraction}}{no default, initially unset}
Sets the stretch value for a watermark. The stretch value is applied to width
and height in relation to the box dimensions. It does not respect the aspect ratio.
The value $1.0$ means to fill the whole box.
\begin{dispExample}
-\tcbset{enhanced,colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
- watermark graphics=Basilica_5.png,watermark opacity=0.15,
+\tcbset{enhanced,colback=white,colframe=blue!50!black,fonttitle=\bfseries,
+ watermark graphics=lichtspiel.jpg,watermark opacity=0.5,
nobeforeafter,width=(\linewidth-2mm)/2}
\begin{tcolorbox}[title=Stretch 1.00,watermark stretch=1.00]
@@ -696,6 +723,476 @@ This example uses a public domain picture from\\
\end{dispExample}
\end{docTcbKey}
+\clearpage
+
+\begin{docTcbKey}{clip watermark}{\colOpt{=\meta{boolean value}}}{default |true|, initially |true|}
+ Sets the watermark to be clipped to the interior area.
+\begin{dispExample}
+\tcbset{enhanced,colback=white,colframe=blue!50!white,fonttitle=\bfseries,
+ watermark opacity=0.5,watermark stretch=1.00,arc=3mm,
+ watermark graphics=lichtspiel.jpg}
+
+\begin{tcolorbox}[title=Clip (default),clip watermark]
+\lipsum[1]
+\end{tcolorbox}
+
+\begin{tcolorbox}[title=No clip,clip watermark=false]
+\lipsum[1]
+\end{tcolorbox}%
+\end{dispExample}
+\end{docTcbKey}
+
+
+
+\clearpage
+\subsection{Clip Environments}\label{subsec:clipping}
+The following clip environments are applicable for all skins which
+use engines of type |path|, |pathfirst|, |pathmiddle|, or |pathlast|.
+Especially, the skin \refSkin{enhanced} supports \emph{all} of them
+and \refSkin{standard} \emph{none}. The typical area of application
+is inside overlay code, see Section \ref{subsec:overlays} from
+page \pageref{subsec:overlays}.
+
+
+\begin{docEnvironment}{tcbclipframe}{}
+Defines a |Tikz| scope which clips to the frame area path.
+\begin{dispExample}
+\makeatletter
+\newtcolorbox{picturebox}[2][]{%
+ enhanced,frame hidden,interior hidden,fonttitle=\bfseries,
+ overlay={\begin{tcbclipframe}\node at (frame)
+ {\includegraphics[width=\tcb@width,height=\tcb@height]{#2}};\end{tcbclipframe}%
+ \begin{tcbclipinterior}\fill[white,opacity=0.75]
+ (frame.south west) rectangle (frame.north east);\end{tcbclipinterior}},#1}
+\makeatother
+
+\begin{picturebox}[title=My Picture Box]{lichtspiel.jpg}
+\lipsum[1]
+\end{picturebox}
+\end{dispExample}
+\end{docEnvironment}
+
+\clearpage
+\begin{docEnvironment}{tcbclipinterior}{}
+Defines a |Tikz| scope which clips to the interior area path.
+\begin{dispExample}
+\begin{tcolorbox}[enhanced,title=My Title,
+ overlay={\begin{tcbclipinterior}
+ \draw[red,line width=1cm] (interior.north west)--(interior.south east);
+ \draw[red,line width=1cm] (interior.south west)--(interior.north east);
+ \end{tcbclipinterior}}]
+\lipsum[1]
+\end{tcolorbox}
+\end{dispExample}
+\end{docEnvironment}
+
+\begin{docEnvironment}{tcbcliptitle}{}
+Defines a |Tikz| scope which clips to the title area path.
+\begin{dispExample}
+\begin{tcolorbox}[enhanced,title=My Title,colframe=blue,colback=yellow!10!white,
+ overlay={\begin{tcbcliptitle}\node at (title)
+ {\includegraphics[width=\linewidth]{lichtspiel.jpg}};\end{tcbcliptitle}}]
+\lipsum[1]
+\end{tcolorbox}
+\end{dispExample}
+\end{docEnvironment}
+
+\clearpage
+\begin{docTcbKey}{clip title}{\colOpt{=\meta{boolean value}}}{default |true|, initially |false|}
+ Sets the title to be clipped to the title area.
+\begin{dispExample}
+\tcbset{enhanced,width=5cm,colframe=red!50!white,coltitle=black}
+
+\begin{tcolorbox}[title=\mbox{This is a title which is unbreakable and far too long}]
+This is a tcolorbox.
+\end{tcolorbox}
+
+\begin{tcolorbox}[title=\mbox{This is a title which is unbreakable and far too long},
+ clip title]
+This is a tcolorbox.
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{clip upper}{\colOpt{=\meta{boolean value}}}{default |true|, initially |false|}
+ Sets the upper part to be clipped to the interior area.
+\begin{dispExample}
+\newcommand{\mygraphics}[2][]{%
+ \tcbox[enhanced,boxsep=0pt,top=0pt,bottom=0pt,left=0pt,
+ right=0pt,boxrule=0.4pt,drop fuzzy shadow,clip upper,
+ colback=black!75!white,toptitle=2pt,bottomtitle=2pt,nobeforeafter,
+ center title,fonttitle=\small\sffamily,title=\detokenize{#2}]
+ {\includegraphics[width=\the\dimexpr(\linewidth-4mm)/2\relax]{#2}}}
+
+\mygraphics{lichtspiel.jpg}\hfill
+\mygraphics{Basilica_5.png}
+\end{dispExample}
+\end{docTcbKey}
+
+\clearpage
+The example for \refKey{/tcb/clip upper} sizes the box according to
+the dimensions of the picture. To do it the other way around, the watermark
+options provide an easy solution.
+\begin{dispExample}
+\newcommand{\mygraphics}[2][]{%
+ \tcbox[enhanced,capture=minipage,boxsep=0pt,top=0pt,bottom=0pt,left=0pt,
+ right=0pt,boxrule=0.4pt,drop fuzzy shadow,nobeforeafter,
+ colback=black!75!white,toptitle=2pt,bottomtitle=2pt,
+ center title,fonttitle=\small\sffamily,title=\detokenize{#2},
+ width=(\linewidth-4mm)/2,height=6cm,colbacktitle={black},
+ watermark zoom=1.0,watermark graphics={#2}]{}}
+
+\mygraphics{lichtspiel.jpg}\hfill
+\mygraphics{Basilica_5.png}
+\end{dispExample}
+
+
+\begin{docTcbKey}{clip lower}{\colOpt{=\meta{boolean value}}}{default |true|, initially |false|}
+ Sets the lower part to be clipped to the interior area.
+\begin{dispExample}
+\tcbset{enhanced,width=5cm,colframe=red!50!black,text and listing}
+
+\begin{tcblisting}{}
+Donau\-dampf\-schiff\-fahrts\-ka\-pi\-t\"ans\-m\"ut\-zen\-fran\-sen
+\end{tcblisting}
+
+\begin{tcblisting}{clip lower}
+Donau\-dampf\-schiff\-fahrts\-ka\-pi\-t\"ans\-m\"ut\-zen\-fran\-sen
+\end{tcblisting}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\clearpage
+\subsection{Border Line Option Keys}\label{subsec:borderline}
+The following border line options are applicable for most skins which
+use |tikzpicture| as \refKey{/tcb/graphical environment}.
+Therefore, the skin \refSkin{standard} does not support these border lines,
+but most other skins, e.\,g.\ \refSkin{enhanced}.
+
+The border lines are independent from the normal |tcolorbox| rules.
+They may be used with or without the \refKey{/tcb/segmentation engine}.
+
+The border lines are stackable, i.\,e.\ several different border lines can be
+used on the same |tcolorbox|. They are drawn \emph{after} the box frame and box
+interior and \emph{before} overlays or watermarks.
+
+\begin{marker}
+Technically, the normal |tcolorbox| rules result from a TikZ \emph{filling}
+process. The border lines are created by a TikZ \emph{drawing} process.
+This can be used to apply different effects.
+\end{marker}
+
+
+\begin{docTcbKey}{borderline}{=\marg{width}\marg{offset}\marg{options}}{no default, initially unset}
+ Adds a new border line to the stack of border lines.
+ This border line is drawn with the given \meta{width} and gets a
+ \meta{offset} computed from the frame outline. A positive \meta{offset} value
+ moves the borderline inside the |tcolorbox| and a negative \meta{offset} value
+ moves it outside without changing the bounding box.\\
+ The border line is drawn along a TikZ path with the given TikZ \meta{options}.
+ Note that the TikZ |line width| option should not be used here.\\
+ The border lines adapt to the rounded corners of the |tcolorbox|. An inside border
+ line will switch to sharp corners if necessary, an outside border line will
+ always be rounded if not set to |sharp corners|.
+\begin{dispExample}
+\begin{tcolorbox}[enhanced,title=Rounded corners,fonttitle=\bfseries,boxsep=5pt,
+ arc=8pt,
+ borderline={0.5pt}{0pt}{red},
+ borderline={0.5pt}{5pt}{blue,dotted},
+ borderline={0.5pt}{-5pt}{green,dashed} ]
+This is a tcolorbox.
+\end{tcolorbox}
+\bigskip
+\begin{tcolorbox}[enhanced,title=Sharp corners,fonttitle=\bfseries,boxsep=5pt,
+ arc=0pt,outer arc=0pt,
+ borderline={0.5pt}{0pt}{red},
+ borderline={0.5pt}{5pt}{blue,dotted},
+ borderline={0.5pt}{-5pt}{green,dashed,sharp corners} ]
+This is a tcolorbox.
+\end{tcolorbox}
+\end{dispExample}
+
+\begin{dispExample}
+% \usepackage{lipsum}
+\begin{tcolorbox}[enhanced,arc=3mm,boxrule=1.5mm,boxsep=1.5mm,
+ colback=yellow!20!white,
+ colframe=blue,
+ borderline={1mm}{1mm}{white},
+ borderline={1mm}{2mm}{red} ]
+ \lipsum[1]
+\end{tcolorbox}
+\end{dispExample}
+
+
+\begin{dispExample}
+% \usepackage{lipsum}
+\begin{tcolorbox}[enhanced,arc=3mm,boxrule=1.5mm,
+ frame hidden,colback=blue!10!white,
+ borderline={1mm}{0mm}{blue,dotted} ]
+ \lipsum[2]
+\end{tcolorbox}
+\end{dispExample}
+
+
+\begin{dispExample}
+% \usepackage{lipsum}
+\begin{tcolorbox}[enhanced,skin=enhancedmiddle,
+ frame hidden,interior hidden,top=0mm,bottom=0mm,boxsep=0mm,
+ borderline={0.75mm}{0mm}{red},
+ borderline={0.75mm}{0.75mm}{red!50!yellow},
+ borderline={0.75mm}{1.5mm}{yellow}, ]
+ \lipsum[3]
+\end{tcolorbox}
+\end{dispExample}
+
+\begin{dispExample}
+% \usepackage{lipsum}
+\newtcolorbox{mygreenbox}[2][]{%
+ enhanced,width=\linewidth-6pt,
+ enlarge top by=3pt,enlarge bottom by=3pt,
+ enlarge left by=3pt,enlarge right by=3pt,
+ title={#2},frame hidden,boxrule=0pt,top=1mm,bottom=1mm,
+ colframe=green!30!black, colbacktitle=green!50!yellow,
+ coltitle=black, colback=green!25!white,
+ borderline={0.5pt}{-0.5pt}{green!75!blue},
+ borderline={1pt}{-3pt}{green!50!blue},#1}
+
+\begin{mygreenbox}{My title}
+ \lipsum[4]
+\end{mygreenbox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{no borderline}{}{no default, initially set}
+ Removes all border lines if set before.
+\end{docTcbKey}
+
+
+\clearpage
+\subsection{Shadow Option Keys}\label{subsec:shadows}
+The following shadow options are applicable for most skins which
+use |tikzpicture| as \refKey{/tcb/graphical environment}.
+Therefore, the skin \refSkin{standard} does not support these shadows,
+but most other skins, e.\,g.\ \refSkin{enhanced}.
+
+The shadows are stackable, i.\,e.\ several different shadows can be
+used on the same |tcolorbox|. They are drawn \emph{before} the box frame is drawn.
+
+
+\begin{docTcbKey}{shadow}{=\marg{xshift}\marg{yshift}\marg{offset}\marg{options}}{no default}
+ Adds a new shadow to the stack of shadows.
+ This shadow is follows the outline of the |tcolorbox| but is shifted by
+ \meta{xshift} and \meta{yshift}. The \meta{offset} value is a distance value
+ from the frame outline. A positive \meta{offset} value shrinks the shadow
+ and a negative \meta{offset} value enlarges the shadow.
+ The shadow is filled along a TikZ path with the given TikZ \meta{options}.\\
+ The shadows adapt to the rounded corners of the |tcolorbox|. An shrinked shadow
+ will switch to sharp corners if necessary, an enlarged shadow may become
+ more rounded depending on several factors.
+ \begin{marker}
+ Shadows are not considered for the bounding box computation by default.
+ Large shadows may be overlaped by the following content. But, the
+ bounding box can be adapted if necessary.
+ \end{marker}
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{enhanced,colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries}
+
+\begin{tcolorbox}[title=My own shadow,
+ shadow={2mm}{-1mm}{0mm}{black!50!white}]
+This is a tcolorbox.
+\end{tcolorbox}
+\par\bigskip
+\begin{tcolorbox}[title=Another shadow,
+ shadow={-1mm}{-2mm}{0mm}{fill=blue,
+ opacity=0.5}]
+This is a tcolorbox.
+\end{tcolorbox}
+\par\bigskip
+\begin{tcolorbox}[title=Double shadow,
+ shadow={-1.5mm}{-1.5mm}{0mm}{fill=blue,
+ opacity=0.25},
+ shadow={1.5mm}{-1.5mm}{0mm}{fill=red,
+ opacity=0.25}]
+This is a tcolorbox.
+\end{tcolorbox}
+\par\bigskip
+\begin{tcolorbox}[title=Far shadow,
+ shadow={5.5mm}{-3.5mm}{2mm}{fill=black,
+ opacity=0.25}]
+This is a tcolorbox.
+\end{tcolorbox}
+\par\bigskip\bigskip
+\begin{tcolorbox}[title=Halo shadow,
+ shadow={0mm}{0mm}{-1.5mm}%
+ {fill=yellow!75!red,opacity=0.5}]
+This is a tcolorbox.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+\clearpage
+\begin{docTcbKey}{fuzzy shadow}{=\marg{xshift}\marg{yshift}\marg{offset}\marg{step}\marg{options}}{no default}
+ Adds a new fuzzy shadow to the stack of shadows. Actually, this option
+ adds seversal shadows which appear like a shadow with a fuzzy border.
+ This fuzzy shadow is follows the outline of the |tcolorbox| but is shifted by
+ \meta{xshift} and \meta{yshift}. The \meta{offset} value is a distance value
+ from the frame outline. A positive \meta{offset} value shrinks the shadow
+ and a negative \meta{offset} value enlarges the shadow.
+ The \marg{step} value describes a shrink
+ offset used for the combination of the partial shadows.
+ The shadow is filled along a TikZ path with the given TikZ \meta{options} but
+ any |opacity| value will be ignored.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{enhanced,colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries}
+
+\begin{tcolorbox}[title=My own shadow,
+ fuzzy shadow={2mm}{-1mm}{0mm}{0.1mm}%
+ {black!50!white}]
+This is a tcolorbox.
+\end{tcolorbox}
+\par\bigskip
+\begin{tcolorbox}[title=Another shadow,
+ fuzzy shadow={-1mm}{-2mm}{0mm}{0.2mm}%
+ {fill=blue}]
+This is a tcolorbox.
+\end{tcolorbox}
+\par\bigskip
+\begin{tcolorbox}[title=Double shadow,
+ fuzzy shadow={-1.5mm}{-1.5mm}{0mm}{0.1mm}%
+ {blue},
+ fuzzy shadow={1.5mm}{-1.5mm}{0mm}{0.1mm}%
+ {red}]
+This is a tcolorbox.
+\end{tcolorbox}
+\par\bigskip
+\begin{tcolorbox}[title=Far shadow,
+ fuzzy shadow={5.5mm}{-3.5mm}{0mm}{0.3mm}%
+ {black}]
+This is a tcolorbox.
+\end{tcolorbox}
+\par\bigskip\bigskip
+\begin{tcolorbox}[title=Glow shadow,
+ fuzzy shadow={0mm}{0mm}{-1.5mm}{0.15mm}%
+ {yellow!75!red}]
+This is a tcolorbox.
+\end{tcolorbox}
+\end{dispExample*}
+
+\begin{dispExample}
+\newtcolorbox{mybox}[1][]{enhanced,
+ fuzzy shadow={1.0mm}{-1.0mm}{0.12mm}{0mm}{blue!50!white},
+ fuzzy shadow={-1.0mm}{-1.0mm}{0.12mm}{0mm}{red!50!white},
+ fuzzy shadow={-1.0mm}{1.0mm}{0.12mm}{0mm}{green!50!white},
+ fuzzy shadow={1.0mm}{1.0mm}{0.12mm}{0mm}{yellow!50!white},#1
+}
+
+\begin{mybox}[title=A multi shadow box]
+This is a tcolorbox.
+\end{mybox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\clearpage
+
+\begin{docTcbKey}{drop shadow}{\colOpt{=\meta{color}}}{style, default |black!50!white|}
+ Adds a new shadow with standard dimensions to the stack of shadows.
+ Optionally, the \meta{color} for the shadow can be changed.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{enhanced,colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries}
+
+\begin{tcolorbox}[title=My own shadow,
+ drop shadow]
+This is a tcolorbox.
+\end{tcolorbox}
+\par\bigskip
+\begin{tcolorbox}[title=Another shadow,
+ drop shadow=blue]
+This is a tcolorbox.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{drop fuzzy shadow}{\colOpt{=\meta{color}}}{style, default |black!50!white|}
+ Adds a new fuzzy shadow with standard dimensions to the stack of shadows.
+ Optionally, the \meta{color} for the shadow can be changed.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{enhanced,colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries}
+
+\begin{tcolorbox}[title=My own shadow,
+ drop fuzzy shadow]
+This is a tcolorbox.
+\end{tcolorbox}
+\par\bigskip
+\begin{tcolorbox}[title=Another shadow,
+ drop fuzzy shadow=blue]
+This is a tcolorbox.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\clearpage
+\begin{docTcbKey}{halo}{=\meta{size} \texttt{with} \meta{color}}{style, default |0.9mm with yellow|}
+ Adds a new halo shadow with the given \meta{color}
+ which overlaps the colorbox an all sides by \meta{size}.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{enhanced,colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries}
+
+\begin{tcolorbox}[title=My own halo,halo]
+This is a tcolorbox.
+\end{tcolorbox}
+\par\bigskip\bigskip
+\begin{tcolorbox}[title=Another halo,
+ halo=2mm with green]
+This is a tcolorbox.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{fuzzy halo}{=\meta{size} \texttt{with} \meta{color}}{style, default |0.9mm with yellow|}
+ Adds a new fuzzy halo shadow with the given \meta{color}
+ which overlaps the colorbox an all sides by \meta{size} plus |0.48mm|.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\tcbset{enhanced,colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries}
+
+\begin{tcolorbox}[title=My own halo,fuzzy halo]
+This is a tcolorbox.
+\end{tcolorbox}
+\par\bigskip\bigskip
+\begin{tcolorbox}[title=Another halo,
+ fuzzy halo=2mm with green]
+This is a tcolorbox.
+\end{tcolorbox}
+\end{dispExample*}
+
+\begin{dispExample}
+\begin{tcolorbox}[blank,
+ fuzzy halo=2mm with red!50!white,
+ fuzzy halo=1mm with white,]
+\lipsum[1]
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+
+\begin{docTcbKey}{no shadow}{}{no default}
+ Removes all shadows if set before.
+\end{docTcbKey}
+
\clearpage
@@ -759,8 +1256,9 @@ This example uses a public domain picture from\\
\end{dispExample}
+
\clearpage
-\subsection{Skin family 'enhanced'}
+\subsection{Skin Family 'enhanced'}
\begin{marker}
If you like the standard appearance of a |tcolorbox| but you want to
have some 'enhanced' features, the |enhanced| skin is what you are looking for.
@@ -835,10 +1333,9 @@ have some 'enhanced' features, the |enhanced| skin is what you are looking for.
\begin{dispExample}
-% \usetikzlibrary{shadows} % preamble
% \usetikzlibrary{decorations.pathmorphing} % preamble
\tcbset{skin=enhanced,fonttitle=\bfseries,boxrule=1mm,
- frame style={draw=FireBrick,fill=Salmon,drop shadow},
+ frame style={draw=FireBrick,fill=Salmon},drop fuzzy shadow,
interior style={draw=FireBrick,top color=Salmon!10,bottom color=Salmon!20},
segmentation style={draw=FireBrick,solid,decorate,
decoration={coil,aspect=0,segment length=10.1mm}}}
@@ -851,9 +1348,37 @@ Of course, skins can be used for listings also.
\end{tcblisting}
\end{dispExample}
+\begin{docTcbKey}{enhanced standard}{}{style, no value}
+ For unbreakable boxes, this is identical to using \refKey{/tcb/enhanced}.
+ But, for breakable boxes, the \emph{break sequence} is identical to the \refSkin{standard} skin,
+ see Section \ref{subsec:breaksequence} from page \pageref{subsec:breaksequence}.
+\end{docTcbKey}
+
+
\clearpage
+\begin{docTcbKey}{blank}{}{style, initially unset}
+ This style relies on the skin \refSkin{enhanced}. All drawing operations
+ are disabled and all margins are set to |0pt|.
+\begin{dispExample}
+\begin{tcolorbox}[blank,watermark text=A blank box]
+\lipsum[1]
+\end{tcolorbox}
+\end{dispExample}
+
+\begin{dispExample}
+% \tcbuselibrary{fitting}
+\newtcboxfit{\mybox}[1]{blank,width=4cm,height=7cm,top=4pt,
+ watermark text=#1}
+
+\begin{tabular}{|c|c|c|}\hline
+A & B & C\\\hline
+\mybox{A}{\lipsum[1]} & \mybox{B}{\lipsum[2]} & \mybox{C}{\lipsum[3]}\\\hline
+\end{tabular}
+\end{dispExample}
+\end{docTcbKey}
+\clearpage
\begin{docCommand}{tcbline}{}
Sometimes, a line is only a line. With \refCom{tcblower} you separate
the box content into two functional units. |\tcbline| draws only a line
@@ -1139,7 +1664,7 @@ Nevertheless, this skin can be applied independently.
\end{dispExample}
\clearpage
-\subsection{Skin family 'bicolor'}
+\subsection{Skin Family 'bicolor'}
\begin{docSkin}{bicolor}
This skin is quite similar to the \refSkin{standard} and \refSkin{enhanced} skin.
But instead of a segmentation line, the optional lower part of the box is filled with a
@@ -1375,15 +1900,15 @@ Nevertheless, this skin can be applied independently.
\clearpage
-\subsection{Skin family 'beamer'}
+\subsection{Skin Family 'beamer'}
\begin{docSkin}{beamer}
This skin resembles boxes known from the |beamer| class and therefore is
called 'beamer'. It uses the normal colors from the core package but shades
- them a little bit. To use this skin, the |tikz| libraries |shadings|
- and |shadows| have to be included in the preamble by:
+ them a little bit. To use this skin, the |tikz| library |shadings|
+ has to be included in the preamble by:
\begin{dispListing}
-\usetikzlibrary{shadings,shadows}
+\usetikzlibrary{shadings}
\end{dispListing}
The appearance of the skin can be controlled by \refKey{/tcb/frame style}
and \refKey{/tcb/interior style}, if needed. Here, the \emph{segmentation}
@@ -1444,8 +1969,27 @@ This box looks like a box provided by the \texttt{beamer} class.
\end{dispExample}
+\begin{dispExample}
+\begin{tcolorbox}[beamer,colframe=blue,colback=black,
+ watermark graphics=lichtspiel.jpg,
+ coltext=white,watermark opacity=0.75,watermark stretch=1.0,
+ title=Beamer Box with background picture]
+\lipsum[1]
+\end{tcolorbox}
+\end{dispExample}
+
+
+\begin{dispExample}
+\newtcolorbox{myblock}[2][]{%
+ beamer,breakable,colback=LightBlue,colframe=DarkBlue,#1,title=#2}%
+
+\begin{myblock}{Beamerish \texttt{block}: \texttt{myblock}}
+\lipsum[1]
+\end{myblock}
+\end{dispExample}
+\clearpage
\begin{docSkin}{beamerfirst}
This is a flavor of \refSkin{beamer} which is used as a \emph{first} part
in a break sequence for \refSkin{beamer}.
@@ -1579,7 +2123,7 @@ Nevertheless, this skin can be applied independently.
\clearpage
-\subsection{Skin family 'widget'}
+\subsection{Skin Family 'widget'}
\begin{docSkin}{widget}
This skin uses the normal colors from the core package but shades
them a little bit. To use this skin, the |tikz| library |shadings|
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex
index 4700bdc5dbd..ba46a78dfe0 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex
@@ -412,11 +412,37 @@ referenced with the marker \texttt{cor:nullstellen}.\bigskip
\end{Theorem}
\end{dispExample}
+
+\begin{dispExample}
+% \tcbuselibrary{skins}
+\tcbmaketheorem{YetAnotherTheorem}{Theorem}{enhanced,frame hidden,
+ boxrule=2mm,titlerule=0mm,toptitle=1mm,bottomtitle=1mm,
+ fonttitle=\bfseries\large,fontupper=\normalsize,
+ coltitle=green!35!black,colbacktitle=green!15!white,
+ colback=green!50!yellow!15!white,
+ borderline={1pt}{0pt}{green!25!blue},
+ }{mytheorem}{theo}
+
+\begin{YetAnotherTheorem}{Mittelwertsatz f\"{u}r $n$ Variable}{mittelwertsatz_n}%
+ Es sei $n\in\mathbb{N}$, $D\subseteq\mathbb{R}^n$ eine offene Menge und
+ $f\in C^{1}(D,\mathbb{R})$. Dann gibt es auf jeder Strecke
+ $[x_0,x]\subset D$ einen Punkt $\xi\in[x_0,x]$, so dass gilt
+ \begin{equation*}
+ f(x)-f(x_0) = \operatorname{grad} f(\xi)^{\top}(x-x_0)
+ \end{equation*}
+\end{YetAnotherTheorem}
+\end{dispExample}
+
+
+\clearpage
You need more attention for your theorems? Here, you are \ldots
\begin{dispExample}
% tcbuselibrary{skins} % preamble
-\begin{Theorem}[enhanced,frame style={circular glow={fill=yellow}},
+\begin{Theorem}[enhanced,
+ fuzzy halo=3mm with yellow,
+ fuzzy halo=2mm with red,
+ fuzzy halo=1mm with yellow,
watermark color=red!35!white,
watermark text={Overacting\\Fundamental Theorem}]%
{Fundamental Theorem of Theorems}{fundamental}%
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
index 08269fd3609..80af6a0abdd 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex
index 2dc6d526ec6..0a157f82294 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex
@@ -1,5 +1,5 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 2.22 (2013/05/15)
+%% The LaTeX package tcolorbox - version 2.32 (2013/06/23)
%% tcolorbox.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
@@ -28,7 +28,6 @@
\usepackage[svgnames,table,hyperref]{xcolor}
\usepackage{tikz}
\usepackage[pdftex,bookmarks,raiselinks,pageanchor,hyperindex,colorlinks]{hyperref}
-\urlstyle{sf}
\usepackage[a4paper,left=2.5cm,right=2.5cm,top=1.5cm,bottom=1.5cm,
marginparsep=5mm,marginparwidth=10mm,
@@ -59,8 +58,12 @@
\usepackage{amsmath}
\usepackage{lipsum}
-\usepackage[listings,theorems,documentation,skins,breakable,hooks]{tcolorbox}
+\usepackage{changepage}
+\strictpagecheck
+
+\usepackage[all]{tcolorbox}
\tcbset{skin=enhanced}
+\urlstyle{sf}
\tcbmakedocSubKey{docTcbKey}{tcb}
\tcbmakedocSubKey{langTcbKey}{tcb/doclang}
@@ -73,7 +76,11 @@
\def\refSkin#1{\ref@doc{skin:#1}}
\makeatother
-\newenvironment{marker}[1][]{\begin{tcolorbox}[marker,#1]}{\end{tcolorbox}}
+\newtcolorbox{marker}[1][]{marker,#1}
+
+\def\version{2.32}%
+\def\datum{2013/06/23}%
+\makeindex
\hypersetup{
pdftitle={Manual for the tcolorbox package},
@@ -82,12 +89,6 @@
pdfkeywords={colored boxes, LaTeX examples, theorems}
}
-\def\version{2.22}%
-\def\datum{2013/05/15}%
-\makeindex
-
-
-
\newcounter{texexp}
\newcounter{texercise}
\newcounter{mytheorem}[section]
@@ -104,11 +105,12 @@
classoffset=1,
% tcolorbox macros
moretexcs={% core
- endtcolorbox,endtcbverbatimwrite,newtcolorbox,newtcbox,tcbusetemp,
- tcblower,tcbox,tcbset,tcbuselibrary,tcolorbox,tcbverbatimwrite,
+ endtcolorbox,endtcbverbatimwrite,newtcolorbox,newtcbox,newtcboxfit,tcbusetemp,
+ tcblower,tcbox,tcboxfit,tcbset,tcbuselibrary,tcolorbox,tcbverbatimwrite,
% listings
endtcblisting,newtcblisting,
tcblisting,tcbinputlisting,tcbuselistingtext,tcbuselistinglisting,tcbusetemplisting,
+ tcbfitdim,tcbfitsteps,
% theorems
tcbmaketheorem,tcboxmath,tcbhighmath,
% documentation
@@ -128,19 +130,19 @@
% tcolorbox options
morekeywords={% core
adjusted,adjust,after,arc,auto,autoparskip,align,
- before,bottom,boxsep,boxrule,bottomtitle,bottomrule,broken,
- collower,coltext,coltitle,colback,colframe,colupper,center,code,
+ before,bottom,boxsep,boxrule,bottomtitle,bottomrule,broken,basedim,
+ collower,coltext,coltitle,colback,colframe,colupper,center,code,capture,
equal,enlarge,enlargement,extrude,
- fontupper,fontlower,fonttitle,first,floatplacement,float,
+ fontupper,fontlower,fonttitle,first,floatplacement,float,fit,fontsize,flushleft,flushright,
group,gap,
height,
lowerbox,left,leftrule,lefttitle,leftupper,leftlower,lower,last,lefthand,
- middle,minimum,
+ middle,minimum,maxstep,macros,
notitle,natural,noparskip,nobeforeafter,nofloat,
parskip,parbox,
outer,oversize,overlay,
right,rightrule,righttitle,rightupper,rightlower,righthand,ratio,
- savelowerto,savedelimiter,space,split,shrink,sidebyside,
+ savelowerto,savedelimiter,space,split,shrink,sidebyside,skip,
title,top,toptitle,toprule,titlerule,tabularx,tikz,toggle,tight,tempfile,text,
upper,unbroken,
valign,
@@ -176,17 +178,17 @@
quote,
settings,
% skins
- beamer,bicolor,
+ beamer,bicolor,blank,borderline,clip,
colbacktitle,code,colbacklower,
- draft,
+ draft,drop,
enhanced,engine,
- frame,freelance,
+ frame,freelance,fuzzy,
graphical,geometry,graphics,
- hidden,
+ hidden,halo,
interior,
opacity,
nodes,
- skin,segmentation,stretch,standard,
+ skin,segmentation,stretch,standard,shadow,
titled,
watermark,widget,
zoom,
@@ -204,28 +206,31 @@
\tcbset{documentation listing style=mydocumentation,%
sbs/.style={sidebyside,before lower app={\tcbset{sidebyside=false}}},%
innerbox/.style={standard,frame style={},colback=black!5!white,colframe=black!75!white,coltext=black,coltitle=white,docexample/.style={docexample original},
- frame code,interior code,interior titled code,segmentation code},
+ frame code,interior code,interior titled code,segmentation code,no shadow},
docexample/.style={colframe=Navy!50!ExampleFrame,colback=Navy!5!ExampleBack,fontlower=\footnotesize,
- bicolor,colbacklower=ExampleBack!5!white,frame style={drop shadow},
+ bicolor,colbacklower=ExampleBack!5!white,drop fuzzy shadow,%,
before upper={\tcbset{innerbox}},before lower={\tcbset{innerbox}}},
docexample original/.style={colframe=ExampleFrame,colback=ExampleBack,fontlower=\footnotesize,frame style={}},
}
-%\includeonly{tcolorbox.doc.coremacros,tcolorbox.doc.theorems}
+%\includeonly{tcolorbox.doc.abstract}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
+
\include{tcolorbox.doc.abstract}
\include{tcolorbox.doc.intro}
\include{tcolorbox.doc.coremacros}
\include{tcolorbox.doc.coreoptions}
\include{tcolorbox.doc.verbatim}
+\include{tcolorbox.doc.skins}
\include{tcolorbox.doc.listings}
\include{tcolorbox.doc.theorems}
-\include{tcolorbox.doc.documentation}
-\include{tcolorbox.doc.skins}
\include{tcolorbox.doc.breakable}
+\include{tcolorbox.doc.fitting}
\include{tcolorbox.doc.hooks}
+\include{tcolorbox.doc.documentation}
\include{tcolorbox.doc.references}
\include{tcolorbox.doc.index}
\end{document}
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}}