summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/tcolorbox
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-05-08 22:44:24 +0000
committerKarl Berry <karl@freefriends.org>2014-05-08 22:44:24 +0000
commit1e84af656d85ead0ddce5b7b00f799f28bc11ab5 (patch)
treec66b3e248e8b924c83f82f1ab9b41e0e8c6f0e22 /Master/texmf-dist/doc/latex/tcolorbox
parentc5778aa8ea29b815c23121b64498d6ff17698765 (diff)
tcolorbox (8may14)
git-svn-id: svn://tug.org/texlive/trunk@33921 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/tcolorbox')
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/CHANGES54
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/README2
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdfbin346958 -> 361320 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex10
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.abstract.tex9
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex33
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex8
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex218
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex415
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex105
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex2
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex1945
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex645
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex76
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.xparse.tex2
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdfbin3935391 -> 4268812 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex22
17 files changed, 2621 insertions, 925 deletions
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/CHANGES b/Master/texmf-dist/doc/latex/tcolorbox/CHANGES
index c4ac9d1920e..af5d9d6bc49 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.80 (2014/03/31)
+%% The LaTeX package tcolorbox - version 3.00 (2014/05/08)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2014 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
@@ -465,3 +465,55 @@ version 2.80 (2014/03/31)
'\DeclareTotalTCBoxFit', '\NewTotalTCBoxFit', '\RenewTotalTCBoxFit', '\ProvideTotalTCBoxFit',
'\tcboxverb'
+version 3.00 (2014/05/08)
+- bug fix: 'title code app', 'title code pre' changed wrong code
+- documentation corrections
+- implementation of graphical engines changed (!)
+- note: optical backward compatibility issues with breakable 'freelance' boxes possible
+- 'frame code' and similar options are moved from the 'skins' library to the core package
+- 'enlarge top at break by' and 'enlarge bottom at break by' moved from 'breakable' library to the core package
+- new macros:
+ '\tcbnewsubskin'
+- new options:
+ 'skin first is subskin of', 'skin middle is subskin of', 'skin last is subskin of',
+ 'enlarge top initially by', 'enlarge finally last by', 'overlay unbroken and last'
+ 'size', 'on line', 'varwidth upper',
+ 'frame empty', 'interior empty', 'interior titled empty', 'segmentation empty', 'title empty'
+- new TikZ options:
+ 'tcb fill frame', 'tcb fill interior', 'tcb fill title'
+ 'fill plain picture', 'fill stretch picture', 'fill overzoom picture',
+ 'fill zoom picture', 'fill shrink picture', 'fill tile picture', 'fill tile picture*'
+- library 'skins' new options (concerning 'underlay', 'finish' and 'boxed title'):
+ 'underlay unbroken', 'underlay first', 'underlay middle', 'underlay last',
+ 'underlay', 'underlay broken', 'underlay unbroken and first',
+ 'underlay middle and last', 'underlay unbroken and last',
+ 'no underlay unbroken', 'no underlay first',
+ 'no underlay middle', 'no underlay last', 'no underlay',
+ 'finish unbroken', 'finish first', 'finish middle', 'finish last',
+ 'finish', 'finish broken', 'finish unbroken and first',
+ 'finish middle and last', 'finish unbroken and last',
+ 'no finish unbroken', 'no finish first',
+ 'no finish middle', 'no finish last', 'no finish',
+ 'empty', 'blanker',
+ 'boxed title style', 'varwidth boxed title', 'varwidth boxed title*',
+ 'minipage boxed title', 'minipage boxed title*', 'tikznode boxed title',
+ 'hbox boxed title', 'boxtitle/xshift', 'boxtitle/yshift', 'boxtitle/yshifttext',
+ 'boxtitle/yshift*', 'attach boxed title to top left', 'attach boxed title to top center',
+ 'attach boxed title to top right', 'attach boxed title to bottom left',
+ 'attach boxed title to bottom center', 'attach boxed title to bottom right',
+- new engine and skin 'empty'
+- implementation of 'show bounding box' changed to be a border line.
+- library 'hooks' new options:
+ 'underlay unbroken pre', 'underlay first pre', 'underlay middle pre',
+ 'underlay last pre', 'underlay pre', 'underlay broken pre',
+ 'underlay unbroken and first pre', 'underlay middle and last pre',
+ 'underlay unbroken and last pre'
+ 'finish unbroken pre', 'finish first pre', 'finish middle pre',
+ 'finish last pre', 'finish pre', 'finish broken pre',
+ 'finish unbroken and first pre', 'finish middle and last pre',
+ 'finish unbroken and last pre'
+ 'overlay unbroken and last app', 'overlay unbroken and last pre'
+- library 'theorems':
+ * new options:
+ 'description color', 'description font', 'description formatter'
+
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/README b/Master/texmf-dist/doc/latex/tcolorbox/README
index df41ec73ef9..992e29b2d02 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.80 (2014/03/31)
+%% The LaTeX package tcolorbox - version 3.00 (2014/05/08)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2014 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf
index 59d8060bc48..02a0b4d8d19 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 4072f2d5c67..b1ed837ee2c 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.80 (2014/03/31)
+%% The LaTeX package tcolorbox - version 3.00 (2014/05/08)
%% tcolorbox-example.tex: an example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
@@ -74,6 +74,14 @@
\end{tcolorbox}
+\begin{tcolorbox}[enhanced,attach boxed title to top center={yshift=-3mm,yshifttext=-1mm},
+ colback=blue!5!white,colframe=blue!75!black,colbacktitle=red!80!black,
+ title=My title,fonttitle=\bfseries,
+ boxed title style={size=small,colframe=red!50!black} ]
+ This box uses a \textit{boxed title}. The box of the title can
+ be formatted independently from the main box.
+\end{tcolorbox}
+
\clearpage
%----------------------------------------------------------
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 405f891259a..b1ca770328c 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.abstract.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.abstract.tex
@@ -67,6 +67,15 @@ cover page. Printing the pages starting with page 2 or page 3 should work.
colbacktitle=red!50!yellow!75!black,
watermark color=yellow!75!red!25!white,pad at break=3mm,
watermark text={\bfseries\Large Contents},
+ attach boxed title to top center={yshift=-0.25mm-\tcboxedtitleheight/2,yshifttext=2mm-\tcboxedtitleheight/2},
+ boxed title style={enhanced,boxrule=0.5mm,
+ frame code={ \path[tcb fill frame] ([xshift=-4mm]frame.west) -- (frame.north west)
+ -- (frame.north east) -- ([xshift=4mm]frame.east)
+ -- (frame.south east) -- (frame.south west) -- cycle; },
+ interior code={ \path[tcb fill interior] ([xshift=-2mm]interior.west)
+ -- (interior.north west) -- (interior.north east)
+ -- ([xshift=2mm]interior.east) -- (interior.south east) -- (interior.south west)
+ -- cycle;} },
%enlargepage=2\baselineskip,
drop fuzzy shadow]
\makeatletter
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex
index 19d9f143bdb..1fca8ae8497 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex
@@ -245,23 +245,13 @@ parameters. The differences are:
{\tcbusetemp}
+\begin{marker}
+Also see \refKey{/tcb/enlarge top at break by}
+and \refKey{/tcb/enlarge bottom at break by}.
+\end{marker}
-\begin{docTcbKey}{enlarge top at break by}{=\meta{length}}{no default, initially \texttt{0mm}}
- Enlarges the bounding box distance to the top of the box by \meta{length}
- \emph{if} the box is \refKey{/tcb/breakable}.
- In this case, it is applied to \emph{middle} and \emph{last} parts in a
- break sequence.
- \refKey{/tcb/enlarge top by} overwrites this key.
-\end{docTcbKey}
-\begin{docTcbKey}{enlarge bottom at break by}{=\meta{length}}{no default, initially \texttt{0mm}}
- Enlarges the bounding box distance to the bottom of the box by \meta{length}
- \emph{if} the box is \refKey{/tcb/breakable}.
- In this case, it is applied to \emph{first} and \emph{middle} parts in a
- break sequence. \refKey{/tcb/enlarge bottom by} overwrites this key.
-\end{docTcbKey}
-
\clearpage
\subsection{Break Sequence for the Skins}\label{subsec:breaksequence}
@@ -303,10 +293,12 @@ the \emph{break sequence} parts are displayed.
\tcbbreakskininto{enhancedmiddle jigsaw}{enhancedmiddle jigsaw}{enhancedmiddle jigsaw}{enhancedmiddle jigsaw}{}
\tcbbreakskininto{enhancedlast jigsaw}{enhancedmiddle jigsaw}{enhancedmiddle jigsaw}{enhancedlast jigsaw}{}
\clearpage
-\tcbbreakskininto{freelance}{freelancefirst}{freelancemiddle}{freelancelast}{}
-\tcbbreakskininto{freelancefirst}{freelancefirst}{freelancemiddle}{freelancemiddle}{}
-\tcbbreakskininto{freelancemiddle}{freelancemiddle}{freelancemiddle}{freelancemiddle}{}
-\tcbbreakskininto{freelancelast}{freelancemiddle}{freelancemiddle}{freelancelast}{}
+{\tcbset{borderline={2pt}{0pt}{black!10!white}}%
+\tcbbreakskininto{empty}{emptyfirst}{emptymiddle}{emptylast}{}
+\tcbbreakskininto{emptyfirst}{emptyfirst}{emptymiddle}{emptymiddle}{}
+\tcbbreakskininto{emptymiddle}{emptymiddle}{emptymiddle}{emptymiddle}{}
+\tcbbreakskininto{emptylast}{emptymiddle}{emptymiddle}{emptylast}{}
+}
\clearpage
\tcbbreakskininto{bicolor}{bicolorfirst}{bicolormiddle}{bicolorlast}{bicolor}
\tcbbreakskininto{bicolorfirst}{bicolorfirst}{bicolormiddle}{bicolormiddle}{bicolor}
@@ -323,6 +315,11 @@ the \emph{break sequence} parts are displayed.
\tcbbreakskininto{widgetmiddle}{widgetmiddle}{widgetmiddle}{widgetmiddle}{widget}
\tcbbreakskininto{widgetlast}{widgetmiddle}{widgetmiddle}{widgetlast}{widget}
\tcbbreakskininto{draft}{draft}{draft}{draft}{draft}
+\clearpage
+\tcbbreakskininto{freelance}{freelancefirst}{freelancemiddle}{freelancelast}{}
+\tcbbreakskininto{freelancefirst}{freelancefirst}{freelancemiddle}{freelancemiddle}{}
+\tcbbreakskininto{freelancemiddle}{freelancemiddle}{freelancemiddle}{freelancemiddle}{}
+\tcbbreakskininto{freelancelast}{freelancemiddle}{freelancemiddle}{freelancelast}{}
\clearpage
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 88786d44a05..52a0694b74a 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
@@ -139,7 +139,7 @@ Text \tcbox[tcbox raise base]{Hello World}\hfill
% Fitted width box (like hbox or makebox)
\tcbox{Hello\\World!}
-% Fitted width box (using a TikZ node)
+% Fitted width box (using a \tikzname\ node)
\tcbox[tikznode]{Hello\\World!}
\end{dispExample}
@@ -183,6 +183,8 @@ This is my own box with a mandatory title.
\begin{dispExample*}{sbs,lefthand ratio=0.6}
\newtcolorbox{mybox}[2][]{colback=red!5!white,
colframe=red!75!black,fonttitle=\bfseries,
+ colbacktitle=red!85!black,enhanced,
+attach boxed title to top center={yshift=-2mm},
title=#2,#1}
\begin{mybox}[colback=yellow]{Hello there}
@@ -249,11 +251,11 @@ numbered title and options.
\end{dispExample*}
\begin{dispExample}
-\newtcbox{\mybox}[1][red]{nobeforeafter,tcbox raise base,
+\newtcbox{\mybox}[1][red]{on line,
arc=0pt,outer arc=0pt,colback=#1!10!white,colframe=#1!50!black,
boxsep=0pt,left=1pt,right=1pt,top=2pt,bottom=2pt,
boxrule=0pt,bottomrule=1pt,toprule=1pt}
-\newtcbox{\xmybox}[1][red]{nobeforeafter,tcbox raise base,
+\newtcbox{\xmybox}[1][red]{on line,
arc=7pt,colback=#1!10!white,colframe=#1!50!black,
before upper={\rule[-3pt]{0pt}{10pt}},boxrule=1pt,
boxsep=0pt,left=6pt,right=6pt,top=2pt,bottom=2pt}
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 13d272bb058..751b79b6f23 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
@@ -101,7 +101,8 @@ The optional \meta{text} is set between the formatted title and the box content.
\bigskip
\begin{marker}
-More title options are documented in \Vref{subsec:contentadditions}.
+More title options are documented in \Vref{subsec:contentadditions}
+and \Vref{subsec:skinboxedtitle}.
\end{marker}
@@ -111,9 +112,9 @@ More title options are documented in \Vref{subsec:contentadditions}.
Controls the treatment of the lower part of the box.
Feasible values for \meta{mode} are:
\begin{itemize}
- \item |visible|: usual type setting of the lower part,
- \item |invisible|: empty space instead of the lower part contents,
- \item |ignored|: the lower part is not used (here).
+ \item\docValue{visible}: usual type setting of the lower part,
+ \item\docValue{invisible}: empty space instead of the lower part contents,
+ \item\docValue{ignored}: the lower part is not used (here).
\end{itemize}
The last two values are usually applied in connection with |savelowerto|.
\begin{dispExample}
@@ -702,6 +703,56 @@ This is the lower part.
\end{dispExample}
\end{docTcbKey}
+\clearpage
+\begin{docTcbKey}{size}{=\meta{name}}{no default, initially \texttt{normal}}
+ Sets all geometry keys with exception of \refKey{/tcb/width} to
+ predefined length values.
+ For \meta{name}, the following values are feasible:
+ \begin{itemize}
+ \item\docValue{normal}: normal sized boxes e.g. of width |\linewidth|.
+ \item\docValue{title}: title line sized boxes.
+ \item\docValue{small}: small boxes e.g. for keyword highlighting.
+ \item\docValue{fbox}: identical to the standard |\fbox|.
+ \item\docValue{tight}: no padding space at all.
+ \item\docValue{minimal}: no padding space, no box rules.
+ \end{itemize}
+
+\begin{dispExample}
+\tcbset{colback=red!5!white,colframe=red!75!black}
+
+\foreach \s in {minimal,tight,fbox,small,title,normal} {
+ \tcbox[size=\s,on line]{\s} }
+
+\foreach \s in {minimal,tight,fbox,small,title,normal} {
+ \tcbox[size=\s,on line,title=Test]{\s} }
+
+\foreach \s in {minimal,tight,fbox,small,title,normal} {
+ \begin{tcolorbox}[size=\s,on line,title=Test,width=2.2cm]
+ \s \tcblower lower\end{tcolorbox} }
+\end{dispExample}
+
+\bigskip
+
+\begin{tcolorbox}[tabularx={l|XXXXXX},title=Predefined values,
+enhanced,fonttitle=\small\bfseries,fontupper=\small\ttfamily,
+colback=yellow!10!white,colframe=red!50!black,colbacktitle=Salmon!30!white,
+coltitle=black,center title
+]
+ & normal & title & small & fbox & tight & minimal\\\hline
+boxrule & 0.5mm & 0.4mm & 0.3mm & 0.4pt & 0.4pt & 0.0pt \\
+boxsep & 1.0mm & 1.0mm & 1.0mm & 3.0pt & 0.0pt & 0.0pt \\
+left & 4.0mm & 2.0mm & 1.0mm & 0.0pt & 0.0pt & 0.0pt \\
+right & 4.0mm & 2.0mm & 1.0mm & 0.0pt & 0.0pt & 0.0pt \\
+top & 2.0mm & 0.25mm & 0.0mm & 0.0pt & 0.0pt & 0.0pt \\
+bottom & 2.0mm & 0.25mm & 0.0mm & 0.0pt & 0.0pt & 0.0pt \\
+toptitle & 0.0mm & 0.0mm & 0.0mm & 0.0pt & 0.0pt & 0.0pt \\
+bottomtitle & 0.0mm & 0.0mm & 0.0mm & 0.0pt & 0.0pt & 0.0pt \\
+middle & 2.0mm & 0.75mm & 0.5mm & 1.0pt & 0.2pt & 0.0pt \\
+arc & 1.0mm & 0.75mm & 0.5mm & 1.0pt & 0.0pt & 0.0pt \\
+outer arc & auto & auto & auto & auto & 0.0pt & 0.0pt \\
+\end{tcolorbox}
+\end{docTcbKey}
+
\clearpage
\begin{docTcbKey}{oversize}{\colOpt{=\meta{length}}}{style, default |0pt|}
@@ -738,9 +789,9 @@ This is the lower part.
According to the \meta{toggle preset}, the left and the right settings of
the |tcolorbox| are switched or not. Feasible values are:
\begin{itemize}
- \item |none|: no switching.
- \item |forced|: the values of the left and right rules and spaces are switched.
- \item |evenpage|: if the page is an even page, the values of the left and
+ \item\docValue{none}: no switching.
+ \item\docValue{forced}: the values of the left and right rules and spaces are switched.
+ \item\docValue{evenpage}: if the page is an even page, the values of the left and
right rules and spaces are switched. It is recommended that one use this setting in
conjunction with \refKey{/tcb/check odd page}.
\end{itemize}
@@ -1410,12 +1461,12 @@ One & Two & Three \\\hline\hline
\clearpage
\begin{docTcbKey}{tikz upper}{\colOpt{=\meta{options}}}{style}
This style adds a centered |tikzpicture| environment to the start and end
- of the upper part. The \meta{options} may be given as TikZ picture options.
+ of the upper part. The \meta{options} may be given as \tikzname\ picture options.
\begin{dispExample}
% \usepackage{tikz}
\begin{tcolorbox}[tikz upper,fonttitle=\bfseries,colback=white,colframe=black,
- title=TikZ drawing]
+ title=\tikzname\ drawing]
\path[fill=yellow,draw=yellow!75!red] (0,0) circle (1cm);
\fill[red] (45:5mm) circle (1mm);
\fill[red] (135:5mm) circle (1mm);
@@ -1426,7 +1477,7 @@ One & Two & Three \\\hline\hline
\begin{docTcbKey}{tikz lower}{\colOpt{=\meta{options}}}{style}
This style adds a centered |tikzpicture| environment to the start and end
- of the lower part. The \meta{options} may be given as TikZ picture options.
+ of the lower part. The \meta{options} may be given as \tikzname\ picture options.
\begin{dispExample}
% \usepackage{tikz}
% \usetikzlibrary{skins,listings}
@@ -1434,7 +1485,7 @@ One & Two & Three \\\hline\hline
bicolor,colback=LightBlue!50!white,colbacklower=white,colframe=black,
righthand width=3cm}
-\begin{tcblisting}{title=TikZ drawing}
+\begin{tcblisting}{title=\tikzname\ drawing}
\path[fill=yellow,draw=yellow!75!red]
(0,0) circle (1cm);
\fill[red] (45:5mm) circle (1mm);
@@ -1449,7 +1500,7 @@ One & Two & Three \\\hline\hline
\clearpage
\begin{docTcbKey}{tikznode upper}{\colOpt{=\meta{options}}}{style}
This style places the upper part content into a centered
- TikZ node. The \meta{options} may be given as TikZ node options.
+ \tikzname\ node. The \meta{options} may be given as \tikzname\ node options.
This style is especially useful for boxes with multiline texts which are
fitted to the text width.
\begin{dispExample}
@@ -1464,7 +1515,7 @@ One & Two & Three \\\hline\hline
\begin{docTcbKey}{tikznode lower}{\colOpt{=\meta{options}}}{style}
This style places the lower part content into a centered
- TikZ node. The \meta{options} may be given as TikZ node options.
+ \tikzname\ node. The \meta{options} may be given as \tikzname\ node options.
\begin{dispExample}
% \usepackage{tikz}
\begin{tcolorbox}[bicolor,colback=LightBlue!50!white,colbacklower=white,
@@ -1481,7 +1532,26 @@ Lower part.
the same time.
\end{docTcbKey}
-%\clearpage
+
+\begin{docTcbKey}{varwidth upper}{\colOpt{=\meta{length}}}{style, default \refKey{/tcb/width}}
+ This style places the upper part content into a |varwidth| environment.
+ This style needs the |varwidth| package to be loaded manually.
+ The resulting box has a maximal width of \meta{length}.
+ This option is only senseful for a \refCom{tcbox}.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+% \usepackage{varwidth}
+\newtcbox{\varbox}{colframe=red!50!black,
+ colback=red!10!white,varwidth upper}
+
+\varbox{Short text.}
+\varbox{This box contains is a longer text
+ which is broken.}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+
+\clearpage
\begin{docTcbKey}{code}{=\meta{code}}{no default, initially unset}
The given \meta{code} is executed immediately. This option is useful
to place some arbitrary code into an option list.
@@ -1607,6 +1677,12 @@ This is the lower part.
\refKey{/tcb/overlay} overwrites this key.
\end{docTcbKey}
+\begin{docTcbKey}{overlay unbroken and last}{=\meta{graphical code}}{no default, initially unset}
+ This is an optimized abbreviation for setting
+ \refKey{/tcb/overlay unbroken} and
+ \refKey{/tcb/overlay last} together.
+ \refKey{/tcb/overlay} overwrites this key.
+\end{docTcbKey}
\begin{dispListing*}{breakable,before upper={This example demonstrates
@@ -1663,25 +1739,25 @@ are drawn by the codes given with
{\tcbusetemp}
-\begin{dispExample}
-% \tcbuselibrary{skins}
-% \newcounter{example}
-\newtcolorbox[use counter=example]{FancyTitle}[3][]{%
- 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,label={#3},
- 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{Example \thetcbcounter: #2}};},
- #1}%
-
-\begin{FancyTitle}{My fancy title}{fancy:title}
- \lipsum[1]
-\end{FancyTitle}
-\end{dispExample}
+%\begin{dispExample}
+%% \tcbuselibrary{skins}
+%% \newcounter{example}
+%\newtcolorbox[use counter=example]{FancyTitle}[3][]{%
+% 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,label={#3},
+% 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{Example \thetcbcounter: #2}};},
+% #1}%
+
+%\begin{FancyTitle}{My fancy title}{fancy:title}
+% \lipsum[1]
+%\end{FancyTitle}
+%\end{dispExample}
\clearpage
\subsection{Floating Objects}
@@ -1960,15 +2036,17 @@ actual bounding box. For this, the library \mylib{skins} has to be included and
\refKey{/tcb/enhanced} has to be set.
\end{marker}
-\begin{docTcbKey}{enlarge top by}{=\meta{length}}{no default, initially |0mm|}
+\begin{docTcbKey}{enlarge top initially by}{=\meta{length}}{no default, initially |0mm|}
Enlarges the bounding box distance to the top of the box by \meta{length}.
+ If the box is \emph{breakable}, only the first box of the break sequence
+ gets enlarged. \refKey{/tcb/enlarge top by} overwrites this key.
\begin{dispExample}
\tcbset{colframe=blue!75!black,colback=white}
-\begin{tcolorbox}[enlarge top by=-5mm]
+\begin{tcolorbox}[enlarge top initially by=-5mm]
This is a \textbf{tcolorbox}.
\end{tcolorbox}
-\begin{tcolorbox}[enlarge top by=5mm,enhanced,show bounding box]
+\begin{tcolorbox}[enlarge top initially by=5mm,enhanced,show bounding box]
This is a \textbf{tcolorbox}.
\end{tcolorbox}
\end{dispExample}
@@ -1976,23 +2054,56 @@ This is a \textbf{tcolorbox}.
-\begin{docTcbKey}{enlarge bottom by}{=\meta{length}}{no default, initially |0mm|}
+\begin{docTcbKey}{enlarge bottom finally by}{=\meta{length}}{no default, initially |0mm|}
Enlarges the bounding box distance to the bottom of the box by \meta{length}.
+ If the box is \emph{breakable}, only the last box of the break sequence
+ gets enlarged. \refKey{/tcb/enlarge bottom by} overwrites this key.
\begin{dispExample}
\tcbset{colframe=blue!75!black,colback=white}
-\begin{tcolorbox}[enlarge bottom by=5mm]
+\begin{tcolorbox}[enlarge bottom finally by=5mm]
This is a \textbf{tcolorbox}.
\end{tcolorbox}
-\begin{tcolorbox}[enlarge bottom by=-5mm,enhanced,show bounding box]
+\begin{tcolorbox}[enlarge bottom finally by=-5mm,enhanced,show bounding box]
This is a \textbf{tcolorbox}.
\end{tcolorbox}
\end{dispExample}
\end{docTcbKey}
+\clearpage
+
+
+\begin{docTcbKey}{enlarge top at break by}{=\meta{length}}{no default, initially \texttt{0mm}}
+ Enlarges the bounding box distance to the top of the box by \meta{length},
+ \emph{if} the box is \refKey{/tcb/breakable}.
+ In this case, it is applied to \emph{middle} and \emph{last} parts in a
+ break sequence.
+ \refKey{/tcb/enlarge top by} overwrites this key.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{enlarge bottom at break by}{=\meta{length}}{no default, initially \texttt{0mm}}
+ Enlarges the bounding box distance to the bottom of the box by \meta{length},
+ \emph{if} the box is \refKey{/tcb/breakable}.
+ In this case, it is applied to \emph{first} and \emph{middle} parts in a
+ break sequence. \refKey{/tcb/enlarge bottom by} overwrites this key.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{enlarge top by}{=\meta{length}}{no default, initially |0mm|}
+ Enlarges the bounding box distance to the top of the box by \meta{length}.
+ \refKey{/tcb/enlarge top initially by} and
+ \refKey{/tcb/enlarge top at break by} are set to \meta{length}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{enlarge bottom by}{=\meta{length}}{no default, initially |0mm|}
+ Enlarges the bounding box distance to the bottom of the box by \meta{length}.
+ \refKey{/tcb/enlarge bottom finally by} and
+ \refKey{/tcb/enlarge bottom at break by} are set to \meta{length}.
+\end{docTcbKey}
-\clearpage
\begin{docTcbKey}{enlarge left by}{=\meta{length}}{no default, initially |0mm|}
Enlarges the bounding box distance to the left side of the box by \meta{length}.
\begin{dispExample}
@@ -2022,6 +2133,7 @@ This is a \textbf{tcolorbox}.
\end{dispExample}
\end{docTcbKey}
+\clearpage
\begin{docTcbKey}{enlarge by}{=\meta{length}}{no default, initially |0mm|}
Enlarges the bounding box distance to all sides of the box by \meta{length}.
\begin{dispExample}
@@ -2036,7 +2148,7 @@ This is a \textbf{tcolorbox}.
\end{dispExample}
\end{docTcbKey}
-\clearpage
+
\begin{docTcbKey}{grow to left by}{=\meta{length}}{no default, initially |0mm|}
Enlarges the current box size by \meta{length} and
enlarges (shrinks) the bounding box distance to the left side of the box by
@@ -2499,7 +2611,7 @@ only.
% Sets the line width of the right rule to \meta{length}.
\begin{dispExample}
\tcbset{colframe=blue!50!black,colback=white,colupper=red!50!black,
- fonttitle=\bfseries,before=,after=,center title}
+ fonttitle=\bfseries,nobeforeafter,center title}
Test\dotfill
\tcbox[tcbox raise base]{Hello World 1}\dotfill
@@ -2513,14 +2625,20 @@ Test\dotfill
the base of the environmental line; see example above.
\end{docTcbKey}
-\enlargethispage*{10mm}
-\subsection{Skins}
-There are additional option keys which change the appearance of a |tcolorbox|.
-If only the core package is used, there is only one \emph{skin} and these
-keys are meaningless.
-The library \mylib{skins} adds more skins. The appropriate option keys for skins of
-the core package are therefore described in \Vref{sec:skincorekeys} from
-page \pageref{sec:skincorekeys}.
+\begin{docTcbKey}{on line}{}{style, no value, initially unset}
+ Combines \refKey{/tcb/tcbox raise base} with \refKey{/tcb/nobeforeafter}.
+ The resulting box behaves analogue to |\fbox|.
+\end{docTcbKey}
+
+
+
+%\subsection{Skins}
+%There are additional option keys which change the appearance of a |tcolorbox|.
+%If only the core package is used, there is only one \emph{skin} and these
+%keys are meaningless.
+%The library \mylib{skins} adds more skins. The appropriate option keys for skins of
+%the core package are therefore described in \Vref{sec:skincorekeys} from
+%page \pageref{sec:skincorekeys}.
\clearpage
\subsection{Counters, Labels and References}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex
new file mode 100644
index 00000000000..ced3f0ffd01
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex
@@ -0,0 +1,415 @@
+% !TeX root = tcolorbox.tex
+% include file of tcolorbox.tex (manual of the LaTeX package tcolorbox)
+\clearpage
+\section{\tikzname\ Image and Picture Fill Extensions}\label{sec:tikzimagefilling}
+The \mylib{skins} library adds some image and picture fill options to the vast option set of
+\tikzname\ \cite{tantau:2013a}. These options can be used in any |tikzpicture|.
+For the following options, the \mylib{skins} library has to be loaded
+by a package option or inside the preamble by:
+\begin{dispListing}
+\tcbuselibrary{skins}
+\end{dispListing}
+
+See \Vref{sec:skins} for the documentation of all other options of the \mylib{skins} library.
+
+\subsection{Fill Plain}
+\begin{docTikzKey}{fill plain image}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The image is put in the center of the path, but it is not resized to fit into
+ the path area.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[draw,fill plain image=goldshade.png]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill plain image*}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The image is put in the center of the path, but it is not resized to fit into
+ the path area.
+ The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[draw,fill plain image*={width=2.5cm}{goldshade.png}]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill plain picture}{=\meta{graphical code}}{no default, initially unset}
+ Fills the current path with the given \meta{graphical code}.
+ The result is put in the center of the path, but it is not resized to fit into
+ the path area. Note that this is almost identical to the standard |path picture| option.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[draw,fill plain picture={%
+ \draw[red!50!yellow,line width=2mm]
+ (0,0) circle (1cm);
+ \draw[red,line width=5mm] (-1,-1) -- (1,1);
+ \draw[red,line width=5mm] (-1,1) -- (1,-1);
+ }]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\clearpage
+\subsection{Fill Stretch}
+\begin{docTikzKey}{fill stretch image}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The image is stretched to fill the path area.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[fill stretch image=goldshade.png]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill stretch image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
+ The image is stretched to fill the path area.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[fill stretch image*=
+ {angle=90,origin=c}{goldshade.png}]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill stretch picture}{=\meta{graphical code}}{no default, initially unset}
+ Fills the current path with the given \meta{graphical code}.
+ The result is stretched to fill the path area.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[draw,fill stretch picture={%
+ \draw[red!50!yellow,line width=2mm]
+ (0,0) circle (1cm);
+ \draw[red,line width=5mm] (-1,-1) -- (1,1);
+ \draw[red,line width=5mm] (-1,1) -- (1,-1);
+ }]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\clearpage
+\subsection{Fill Overzoom}
+\begin{docTikzKey}{fill overzoom image}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The image is zoomed such that the path area fills the image.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[fill overzoom image=goldshade.png]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill overzoom image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
+ The image is zoomed such that the path area fills the image.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[fill overzoom image*=
+ {angle=90,origin=c}{goldshade.png}]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill overzoom picture}{=\meta{graphical code}}{no default, initially unset}
+ Fills the current path with the given \meta{graphical code}.
+ The result is zoomed such that the path area fills the image.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[draw,fill overzoom picture={%
+ \draw[red!50!yellow,line width=2mm]
+ (0,0) circle (1cm);
+ \draw[red,line width=5mm] (-1,-1) -- (1,1);
+ \draw[red,line width=5mm] (-1,1) -- (1,-1);
+ }]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\clearpage
+\subsection{Fill Zoom}
+\begin{docTikzKey}{fill zoom image}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The image is zoomed such that it fits inside the path area.
+ Typically, some parts of the path area will stay unfilled.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[draw,fill zoom image=goldshade.png]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill zoom image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
+ The image is zoomed such that it fits inside the path area.
+ Typically, some parts of the path area will stay unfilled.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[draw,fill zoom image*=
+ {angle=90,origin=c}{goldshade.png}]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill zoom picture}{=\meta{graphical code}}{no default, initially unset}
+ Fills the current path with the given \meta{graphical code}.
+ The result is zoomed such that it fits inside the path area.
+ Typically, some parts of the path area will stay unfilled.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[draw,fill zoom picture={%
+ \draw[red!50!yellow,line width=2mm]
+ (0,0) circle (1cm);
+ \draw[red,line width=5mm] (-1,-1) -- (1,1);
+ \draw[red,line width=5mm] (-1,1) -- (1,-1);
+ }]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\clearpage
+\subsection{Fill Shrink}
+\begin{docTikzKey}{fill shrink image}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The image is zoomed such that it fits inside the path area, but it never
+ gets enlarged.
+ Typically, some parts of the path area will stay unfilled.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[draw,fill shrink image=goldshade.png]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill shrink image*}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
+ The image is zoomed such that it fits inside the path area, but it never
+ gets enlarged.
+ Typically, some parts of the path area will stay unfilled.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[draw,fill shrink image*={width=1.5cm}{goldshade.png}]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill shrink picture}{=\meta{graphical code}}{no default, initially unset}
+ Fills the current path with the given \meta{graphical code}.
+ The result is zoomed such that it fits inside the path area, but it never
+ gets enlarged.
+ Typically, some parts of the path area will stay unfilled.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[draw,fill shrink picture={%
+ \draw[red!50!yellow,line width=2mm]
+ (0,0) circle (1cm);
+ \draw[red,line width=5mm] (-1,-1) -- (1,1);
+ \draw[red,line width=5mm] (-1,1) -- (1,-1);
+ }]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\clearpage
+\subsection{Fill Tile}
+\begin{docTikzKey}{fill tile image}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with a tile pattern using an external image referenced by \meta{file name}.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[fill tile image=pink_marble.png]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill tile image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
+ Fills the current path with a tile pattern using an external image referenced by \meta{file name}.
+ The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[fill tile image*={width=1cm}{pink_marble.png}]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+\begin{docTikzKey}{fill tile picture}{=\meta{graphical code}}{no default, initially unset}
+ Fills the current path with a tile pattern using the given \meta{graphical code}.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[draw,fill tile picture={%
+ \draw[red!50!yellow,line width=2mm]
+ (0,0) circle (1cm);
+ \draw[red,line width=5mm] (-1,-1) -- (1,1);
+ \draw[red,line width=5mm] (-1,1) -- (1,-1);
+ }]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill tile picture*}{=\marg{fraction}\marg{graphical code}}{no default, initially unset}
+ Fills the current path with a tile pattern using the given \meta{graphical code}.
+ The graphic is resized by \meta{fraction}.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[draw,fill tile picture*={0.25}{%
+ \draw[red!50!yellow,line width=2mm]
+ (0,0) circle (1cm);
+ \draw[red,line width=5mm] (-1,-1) -- (1,1);
+ \draw[red,line width=5mm] (-1,1) -- (1,-1);
+ }]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\clearpage
+\subsection{Filling Options}
+\begin{docTikzKey}{fill image opacity}{=\meta{fraction}}{no default, initially |1.0|}
+ Sets the fill opacity for the image or picture fill options to the given \meta{fraction}.
+\begin{dispExample}
+\begin{tikzpicture}
+\path[fill stretch image=goldshade.png] (0,0) circle (1cm);
+\path[fill=red,fill stretch image=goldshade.png,fill image opacity=0.75]
+ (2,0) circle (1cm);
+\path[fill=red,fill stretch image=goldshade.png,fill image opacity=0.5]
+ (4,0) circle (1cm);
+\path[fill=red,fill stretch image=goldshade.png,fill image opacity=0.25]
+ (6,0) circle (1cm);
+\path[fill=red] (8,0) circle (1cm);
+\end{tikzpicture}
+\end{dispExample}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill image scale}{=\meta{fraction}}{no default, initially |1.0|}
+ Stretches, zooms, overzooms or shrinks the image or picture to the given \meta{fraction} of the
+ width and height of the current path.
+\begin{dispExample}
+\begin{tikzpicture}
+\path[draw,fill zoom image=goldshade.png]
+ (0,0) rectangle +(2,2);
+
+\path[draw,fill zoom image=goldshade.png,fill image scale=0.75]
+ (3,0) rectangle +(2,2);
+
+\path[draw,fill zoom image=goldshade.png,fill image scale=1.5]
+ (6,0) rectangle +(2,2);
+\end{tikzpicture}
+\end{dispExample}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill image options}{=\meta{graphics options}}{no default, initially empty}
+ The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command
+ for the image fill options. This can be just together with
+ \refKey{/tikz/fill stretch image}, \refKey{/tikz/fill overzoom image}, \refKey{/tikz/fill zoom image},
+ and \refKey{/tikz/fill tile image}.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tikzpicture}
+\path[fill image options={width=1cm},
+ fill tile image=pink_marble.png]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6,center lower,fonttitle=\bfseries,
+ title=Image blending example}
+\begin{tikzpicture}[every node/.style=
+ {circle,minimum width=2cm}]
+\node[fill stretch image=blueshade.png]
+ (A) at (120:3cm) {A};
+\node[fill stretch image=goldshade.png]
+ (B) at (60:3cm) {B};
+\node[
+ preaction={fill stretch image=blueshade.png},
+ fill stretch image=goldshade.png,
+ fill image opacity=0.5] (C) {C};
+\path (A) -- node{$+$} (B);
+\draw[->,very thick] (A)--(C);
+\draw[->,very thick] (B)--(C);
+\end{tikzpicture}
+\end{dispExample*}
+
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex
index 75045520293..f645129006b 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex
@@ -243,7 +243,6 @@ Here, we apply a second overlay.
Prepends the given \meta{graphical code} to \refKey{/tcb/overlay last}.
\end{docTcbKey}
-
\begin{docTcbKey}{overlay broken app}{=\meta{graphical code}}{no default}
Appends the given \meta{graphical code} to \refKey{/tcb/overlay broken}.
\end{docTcbKey}
@@ -268,6 +267,15 @@ Here, we apply a second overlay.
Prepends the given \meta{graphical code} to \refKey{/tcb/overlay middle and last}.
\end{docTcbKey}
+\begin{docTcbKey}{overlay unbroken and last app}{=\meta{graphical code}}{no default}
+ Appends the given \meta{graphical code} to \refKey{/tcb/overlay unbroken and last}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{overlay unbroken and last pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/overlay unbroken and last}.
+\end{docTcbKey}
+
+
\clearpage
\subsection{Watermarks}
The following option keys extend the options given in Subsection \ref{subsec:watermarks}
@@ -361,16 +369,97 @@ This example uses a public domain picture from\\
\end{docTcbKey}
+\clearpage
+\subsection{Underlays}
+The following option keys extend the options given in \Vref{subsec:skinunderlay}.
+There are no |app| type keys since underlays are stackable by default.
+
+\begin{docTcbKey}{underlay pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/underlay}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{underlay unbroken pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/underlay unbroken}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{underlay first pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/underlay first}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{underlay middle pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/underlay middle}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{underlay last pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/underlay last}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{underlay broken pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/underlay broken}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{underlay unbroken and first pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/underlay unbroken and first}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{underlay middle and last pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/underlay middle and last}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{underlay unbroken and last pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/underlay unbroken and last}.
+\end{docTcbKey}
+
+
+
+\clearpage
+\subsection{Finishes}
+The following option keys extend the options given in \Vref{subsec:skinfinish}.
+There are no |app| type keys since finishes are stackable by default.
+
+
+\begin{docTcbKey}{finish pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/finish}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{finish unbroken pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/finish unbroken}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{finish first pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/finish first}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{finish middle pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/finish middle}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{finish last pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/finish last}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{finish broken pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/finish broken}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{finish unbroken and first pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/finish unbroken and first}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{finish middle and last pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/finish middle and last}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{finish unbroken and last pre}{=\meta{graphical code}}{no default}
+ Prepends the given \meta{graphical code} to \refKey{/tcb/finish unbroken and last}.
+\end{docTcbKey}
+
+
+
\subsection{Skin Code}
The following option keys extend the options given in Subsection \ref{subsec:addcodeoptions}
from page \pageref{subsec:addcodeoptions}.
-\begin{marker}
-The following code options are applicable only for skins which
-use engines of type |freelance|. If you intend to add only a few things
-to an existing skin, you should consider using overlays instead.
-\end{marker}
-
\begin{docTcbKey}{frame code app}{=\meta{graphical code}}{no default}
Appends the given \meta{graphical code} to \refKey{/tcb/frame code}.
\end{docTcbKey}
@@ -382,7 +471,7 @@ to an existing skin, you should consider using overlays instead.
\begin{docTcbKey}{interior titled code app}{=\meta{graphical code}}{no default}
Appends the given \meta{graphical code} to \refKey{/tcb/interior titled code}.
\begin{dispExample}
-\begin{tcolorbox}[title=My title,freelance,colframe=Navy,
+\begin{tcolorbox}[title=My title,enhanced,colframe=Navy,
frame code app={\draw[yellow,line width=1cm] (
frame.south west)--(frame.north east);},
interior titled code app={\draw[red,line width=1cm]
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 f87ee2dda89..17a7a0eae36 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
@@ -21,6 +21,8 @@ The breaking news for version 2.00 is the support for breakable boxes.
This new feature allows new applications of the package without
affecting the core package too much if you do not need boxes to break automatically.
With version 2.20, the often requested 'side by side' mode for listings has been added.
+With version 3.00, boxed titles are introduced together with improved
+customization options for overlays, underlays, finishes, and own code extensions.
\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,
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 6709336a0b2..b92c20b75bf 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
@@ -9,202 +9,6 @@ The library is loaded by a package option or inside the preamble by:
This also loads the package |tikz| \cite{tantau:2013a}. Typically but not necessarily,
the following skins use |tikz| instead of |pgf|.
-\subsection{Technical Overview and Core Package Option Keys}\label{sec:skincorekeys}
-From a technical point of view, a \emph{skin} is a style definition for the
-appearance of a |tcolorbox|. The core package provides some additional
-option keys for skins but only a single skin called \refSkin{standard}.
-The \mylib{skins} library adds several more skins. To change a skin, only one
-option from the core package has to be set.
-
-\begin{docTcbKey}{skin}{=\meta{name}}{style, no default, initially \texttt{standard}}
- Sets the current skin to \meta{name}. This is a style definition which sets all the following
- keys, i.\,e.\ for many use cases there is nothing more to do.
-\begin{dispExample}
-\tcbset{colback=Salmon!50!white,colframe=FireBrick!75!black,
- width=(\linewidth-8mm)/2,before=,after=\hfill,equal height group=ske}
-
-\begin{tcolorbox}[adjusted title=My title]
- This is my content.
-\end{tcolorbox}
-\begin{tcolorbox}[skin=beamer,beamer,adjusted title=My title]
- This is my content.
-\end{tcolorbox}
-\end{dispExample}
-\end{docTcbKey}
-
-
-\begin{marker}
- On first read, you may skip the rest of this subsection and proceed to
- Subsection \ref{subsec:addstyleoptions} on page \pageref{subsec:addstyleoptions}.
- All following keys in this subsection are automatically set by the selected skin
- and you may never have to temper with them.
- Nevertheless, they can be used after a skin was selected to modify
- this skin.
-\end{marker}
-
-
-\begin{docTcbKey}{skin first}{=\meta{name}}{style, no default, initially \texttt{standard}}
- If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
- then the skin for the \emph{first} part of the break sequence
- is set to \meta{name}, see Subsection \ref{subsec:breaksequence} on page \pageref{subsec:breaksequence}.
- Typically, this key is set by a \refKey{/tcb/skin}.
-\end{docTcbKey}
-
-
-\begin{docTcbKey}{skin middle}{=\meta{name}}{style, no default, initially \texttt{standard}}
- If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
- then the skin for the \emph{middle} parts (if any) of the break sequence
- is set to \meta{name}, see Subsection \ref{subsec:breaksequence} on page \pageref{subsec:breaksequence}.
- Typically, this key is set by a \refKey{/tcb/skin}.
-\end{docTcbKey}
-
-
-\begin{docTcbKey}{skin last}{=\meta{name}}{style, no default, initially \texttt{standard}}
- If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
- then the skin for the \emph{last} part of the break sequence
- is set to \meta{name}, see Subsection \ref{subsec:breaksequence} on page \pageref{subsec:breaksequence}.
- Typically, this key is set by a \refKey{/tcb/skin}.
-\end{docTcbKey}
-
-
-
-
-\begin{docTcbKey}{graphical environment}{=\meta{name}}{no default, initially \texttt{pgfpicture}}
- Sets the graphical environment for the |tcolorbox| to \meta{name}.
- Feasible values are |pgfpicture| and |tikzpicture| or environments which
- inherit from one of these two. This key is set by a \refKey{/tcb/skin} and
- may seldom be used directly.
-\end{docTcbKey}
-
-The skin of a |tcolorbox| is drawn by up to four \emph{engines}.
-Afterwards, the text content is drawn which is not part of a skin.
-The four steps are:
-\begin{enumerate}
-\item The \emph{frame} of the box.
-\item The \emph{interior} of the box. The interior of a box with title is
- drawn differently from a box without title.
-\item The \emph{segmentation} (line) of the box, if there is a lower part.
-\item The \emph{title area} of the box, if there is a title.
-\end{enumerate}
-
-Every engine for the up to four steps can be set to one of the following types:
-\begin{enumerate}
-\item\docValue{standard}: the original code from the core package.
-\item\docValue{path}: a |tikz| path which can be controlled by options.
-\item\docValue{pathfirst}: a |tikz| path which can be controlled by options.
-\item\docValue{pathmiddle}: a |tikz| path which can be controlled by options.
-\item\docValue{pathlast}: a |tikz| path which can be controlled by options.
-\item\docValue{freelance}: arbitrary user code.
-\item\docValue{spartan}: a quite spartan code.
-\end{enumerate}
-%\clearpage
-
-\begin{docTcbKey}{frame engine}{=\meta{name}}{no default, initially \texttt{standard}}
- Sets the \emph{frame} drawing engine for a box to \meta{name}.
- Typically, this key is set by a \refKey{/tcb/skin}.
- Feasible values for \meta{name} are:
- \begin{itemize}
- \item\docValue{standard}: the original code from the core package,
- \item\docValue{path}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
- \item\docValue{pathjigsaw}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
- \item\docValue{pathfirst}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
- \item\docValue{pathfirstjigsaw}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
- \item\docValue{pathmiddle}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
- \item\docValue{pathmiddlejigsaw}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
- \item\docValue{pathlast}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
- \item\docValue{pathlastjigsaw}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
- \item\docValue{freelance}: arbitrary user code which is given by \refKey{/tcb/frame code}.
- \item\docValue{spartan}: a quite spartan code.
-\end{itemize}
-\end{docTcbKey}
-
-\begin{docTcbKey}{interior titled engine}{=\meta{name}}{no default, initially \texttt{standard}}
- Sets the \emph{interior} drawing engine for a titled box to \meta{name}.
- Typically, this key is set by a \refKey{/tcb/skin}.
- Feasible values for \meta{name} are:
- \begin{itemize}
- \item\docValue{standard}: the original code from the core package,
- \item\docValue{path}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
- \item\docValue{pathfirst}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
- \item\docValue{pathmiddle}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
- \item\docValue{pathlast}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
- \item\docValue{freelance}: arbitrary user code which is given by \refKey{/tcb/interior titled code}.
- \item\docValue{spartan}: a quite spartan code.
- \end{itemize}
-\end{docTcbKey}
-
-\clearpage
-\begin{docTcbKey}{interior engine}{=\meta{name}}{no default, initially \texttt{standard}}
- Sets the \emph{interior} drawing engine for an untitled box to \meta{name}.
- Typically, this key is set by a \refKey{/tcb/skin}.
- Feasible values for \meta{name} are:
- \begin{itemize}
- \item\docValue{standard}: the original code from the core package,
- \item\docValue{path}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
- \item\docValue{pathfirst}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
- \item\docValue{pathmiddle}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
- \item\docValue{pathlast}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
- \item\docValue{freelance}: arbitrary user code which is given by \refKey{/tcb/interior code}.
- \item\docValue{spartan}: a quite spartan code.
- \end{itemize}
-\end{docTcbKey}
-
-\begin{docTcbKey}{segmentation engine}{=\meta{name}}{no default, initially \texttt{standard}}
- Sets the \emph{segmentation} (line) drawing engine for a box to \meta{name}.
- Typically, this key is set by a \refKey{/tcb/skin}.
- Feasible values for \meta{name} are:
- \begin{itemize}
- \item\docValue{standard}: the original code from the core package,
- \item\docValue{path}: a |tikz| path which is controlled by \refKey{/tcb/segmentation style},
- \item\docValue{freelance}: arbitrary user code which is given by \refKey{/tcb/segmentation code}.
- \item\docValue{spartan}: a quite spartan code.
- \end{itemize}
-\end{docTcbKey}
-
-\begin{docTcbKey}{title engine}{=\meta{name}}{no default, initially \texttt{standard}}
- Sets the \emph{title area} drawing engine for a titled box to \meta{name}.
- Typically, this key is set by a \refKey{/tcb/skin}.
- Feasible values for \meta{name} are:
- \begin{itemize}
- \item\docValue{standard}: the original code from the core package,
- \item\docValue{path}: a |tikz| path which is controlled by \refKey{/tcb/title style},
- \item\docValue{pathfirst}: a |tikz| path which is controlled by \refKey{/tcb/title style},
- \item\docValue{pathmiddle}: a |tikz| path which is controlled by \refKey{/tcb/title style},
- \item\docValue{pathlast}: a |tikz| path which is controlled by \refKey{/tcb/title style},
- \item\docValue{freelance}: arbitrary user code which is given by \refKey{/tcb/title code}.
- \item\docValue{spartan}: a quite spartan code.
- \end{itemize}
-\end{docTcbKey}
-
-\begin{docTcbKey}{geometry nodes}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
- If set to |true|, up to four |tikz| nodes are defined for a |tcolorbox|
- which are named |frame|, |interior|, |segmentation|, and |title|. These nodes
- describe the boundaries of the equally named parts of a |tcolorbox|.
- They are used by all engines of type |path| and they may be used by engines
- of type |freelance|. Typically, this key is set by a \refKey{/tcb/skin}.
-\begin{dispExample}
-\tcbset{colback=Salmon!50!white,colframe=FireBrick!75!black,
- width=(\linewidth-8mm)/2,before=,after=\hfill,equal height group=geon}
-
-\begin{tcolorbox}[adjusted title=The title]
- The upper part.\tcblower The lower part.
-\end{tcolorbox}
-\begin{tcolorbox}[adjusted title=The title,skin=freelance,
- frame code={\path[draw=red,fill=red!25]
- (frame.south west) rectangle (frame.north east);},
- interior titled code={\path[draw=blue,fill=blue!25]
- (interior.south west) rectangle (interior.north east);},
- segmentation code={\path[draw=green,fill=green!25]
- (segmentation.south west) rectangle (segmentation.north east);},
- title code={\path[draw=black,fill=brown!75!black]
- (title.south west) rectangle (title.north east);}]
- The upper part.\tcblower The lower part.
-\end{tcolorbox}
-\end{dispExample}
-\end{docTcbKey}
-
-
-\clearpage
\subsection{Style Option Keys}\label{subsec:addstyleoptions}
The following style options are applicable for all skins which
use engines of type |path|, |pathfirst|, |pathmiddle|, or |pathlast|.
@@ -216,8 +20,7 @@ and \refSkin{standard} \emph{none}.
for drawing the \emph{frame} of the box.\\
This option is available if the \refKey{/tcb/frame engine} is set to
|path|, |pathfirst|, |pathmiddle|, or |pathlast|.
- It is \emph{not} available for |standard| and it \emph{may} be
- applicable for |freelance|.
+ It is \emph{not} available for |standard|.
\begin{dispExample*}{sbs,lefthand ratio=0.66}
\tcbset{colback=red!5!white,fonttitle=\bfseries}
@@ -248,7 +51,7 @@ This is the lower part.
\end{dispExample*}
\end{docTcbKey}
-
+\clearpage
\begin{docTcbKey}{frame style tile}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
Fills the frame with a tile pattern based on an external image referenced by \meta{file name}.
The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
@@ -267,11 +70,12 @@ This is the lower part.
\end{dispExample*}
\end{docTcbKey}
-\clearpage
+
\begin{docTcbKey}{frame hidden}{}{style, no value}
This is a shortcut for |frame style={draw=none,fill=none}|.
Depending on the skin, this option switches off the drawing of the
frame.
+ Alternatively, use \refKey{/tcb/frame empty}.
\begin{dispExample*}{sbs,lefthand ratio=0.66}
\tcbset{colback=red!5!white,colframe=red!75!black,
fonttitle=\bfseries,coltitle=black}
@@ -293,8 +97,7 @@ This is the lower part.
This option is available if the \refKey{/tcb/interior titled engine}
or \refKey{/tcb/interior engine} is set to
|path|, |pathfirst|, |pathmiddle|, or |pathlast|.
- It is \emph{not} available for |standard| and it \emph{may} be
- applicable for |freelance|.
+ It is \emph{not} available for |standard|.
\begin{dispExample*}{sbs,lefthand ratio=0.66}
\tcbset{colframe=red!75!black,fonttitle=\bfseries}
@@ -308,7 +111,7 @@ This is the lower part.
\end{dispExample*}
\end{docTcbKey}
-
+\clearpage
\begin{docTcbKey}{interior style image}{=\meta{file name}}{no default, initially unset}
Fills the interior with an external image referenced by \meta{file name}.
For advanced features like blending of a picture with the background,
@@ -325,7 +128,7 @@ This is the lower part.
\end{dispExample*}
\end{docTcbKey}
-\clearpage
+
\begin{docTcbKey}{interior style tile}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
Fills the interior with a tile pattern based on an external image referenced by \meta{file name}.
The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
@@ -349,6 +152,7 @@ This is the lower part.
This is a shortcut for |interior style={draw=none,fill=none}|.
Depending on the skin, this option switches off the drawing of the
interior.
+ Alternatively, use \refKey{/tcb/interior empty} and/or \refKey{/tcb/interior titled empty}.
\begin{dispExample*}{sbs,lefthand ratio=0.66}
\tcbset{frame style={top color=red!20!white,
bottom color=red!20!white!75!black},
@@ -363,14 +167,13 @@ This is the lower part.
\end{dispExample*}
\end{docTcbKey}
-
+\clearpage
\begin{docTcbKey}{segmentation style}{=\meta{\texttt{\upshape tikz} keys}}{style, no default}
The \meta{\texttt{\upshape tikz} keys} are used inside the |tikz| path command
for drawing the \emph{segmentation} line of the box.\\
This option is available if the \refKey{/tcb/segmentation engine}
is set to |path|.
- It is \emph{not} available for |standard| and it \emph{may} be
- applicable for |freelance|.
+ It is \emph{not} available for |standard|.
\begin{dispExample*}{sbs,lefthand ratio=0.66}
\tcbset{colback=red!5!white,colframe=red!75!black,
fonttitle=\bfseries}
@@ -386,12 +189,12 @@ This is the lower part.
\end{docTcbKey}
-\clearpage
\begin{docTcbKey}{segmentation hidden}{}{style, no value}
This is a shortcut for |segmentation style={draw=none,fill=none}|.
Depending on the skin, this option switches off the drawing of the
segmentation line. See also \refKey{/tcb/lower separated} which
has the same effect for most skins.
+ Alternatively, use \refKey{/tcb/segmentation empty}.
\begin{dispExample*}{sbs,lefthand ratio=0.66}
\tcbset{colback=red!5!white,colframe=red!75!black,
fonttitle=\bfseries}
@@ -411,8 +214,7 @@ This is the lower part.
for drawing the \emph{title area} of the box.\\
This option is available if the \refKey{/tcb/title engine} is set to
|path|, |pathfirst|, |pathmiddle|, or |pathlast|.
- It is \emph{not} available for |standard| and it \emph{may} be
- applicable for |freelance|.
+ It is \emph{not} available for |standard|.
\begin{dispExample*}{sbs,lefthand ratio=0.66}
\tcbset{colback=red!5!white,colframe=red!75!black,
coltitle=blue!50!black,fonttitle=\bfseries}
@@ -427,7 +229,7 @@ This is the lower part.
\end{dispExample*}
\end{docTcbKey}
-
+\clearpage
\begin{docTcbKey}{title style image}{=\meta{file name}}{no default, initially unset}
Fills the title area with an external image referenced by \meta{file name}.
For advanced features like blending of a picture with the background,
@@ -446,7 +248,7 @@ This is the lower part.
\end{dispExample*}
\end{docTcbKey}
-\clearpage
+
\begin{docTcbKey}{title style tile}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
Fills the title area with a tile pattern based on an external image referenced by \meta{file name}.
The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
@@ -471,6 +273,7 @@ This is the lower part.
This is a shortcut for |title style={draw=none,fill=none}|.
Depending on the skin, this option switches off the drawing of the
title background. See also \refKey{/tcb/title filled} for a similar effect.
+ Alternatively, use \refKey{/tcb/title empty}.
\begin{dispExample*}{sbs,lefthand ratio=0.66}
\tcbset{colback=red!5!white,colframe=red!75!black,
fonttitle=\bfseries}
@@ -484,114 +287,428 @@ This is the lower part.
\end{dispExample*}
\end{docTcbKey}
-
-
\clearpage
-\subsection{Code Option Keys}\label{subsec:addcodeoptions}
-The following code options are applicable for all skins which
-use engines of type |freelance|.
-Especially, the skin \refSkin{freelance} supports \emph{all} of them,
-\refSkin{standard} and \refSkin{enhanced} \emph{none} of them.
+The combined \tikzname\ style applied to frame, interior, and title
+background can used by authors in customizing code.
-\begin{docTcbKey}{frame code}{\colOpt{=\meta{graphical code}}}{code, default from |standard|}
- The given \meta{graphical code} is used for drawing the \emph{frame} of the box.\\
- This option is available only if the \refKey{/tcb/frame engine} is set to |freelance|.
-\begin{dispExample}
-\tcbset{colback=red!5!white,colframe=red!75!black}
+\begin{docTikzKey}{tcb fill frame}{}{style, no value}
+This is a \tikzname\ style which is finally applied to the \emph{frame}
+of the box.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+% \tcbuselibrary{hooks}
+\tcbset{enhanced,colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries,
+ frame code app={\path[tcb fill frame]
+ ([yshift=-2mm]frame.north)
+ circle (8mm); } }
-\begin{tcolorbox}[freelance,frame code={
- \foreach \n in {north east,north west,south east,south west}
- {\path [fill=red!75!black] (interior.\n) circle (3mm); }; }]
+\begin{tcolorbox}[title=My title]
This is a \textbf{tcolorbox}.
\tcblower
This is the lower part.
\end{tcolorbox}
-\end{dispExample}
-\end{docTcbKey}
+\end{dispExample*}
+\end{docTikzKey}
-\begin{docTcbKey}{interior titled code}{\colOpt{=\meta{graphical code}}}{code, default from |standard|}
- The given \meta{graphical code} is used
- for drawing the \emph{interior} of the box, if the box comes with a title.\\
- This option is available only if the \refKey{/tcb/interior titled engine} is set to |freelance|.
-\begin{dispExample}
-\tcbset{colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries}
-\begin{tcolorbox}[freelance,title=My title,interior titled code={
- \path[draw=red!5!white,line width=5mm,line cap=round]
- ([xshift=3mm,yshift=-3mm]interior.north west)
- --([xshift=-3mm,yshift=3mm]interior.south east)
- ([xshift=3mm,yshift=3mm]interior.south west)
- --([xshift=-3mm,yshift=-3mm]interior.north east);}]
+\begin{docTikzKey}{tcb fill interior}{}{style, no value}
+This is a \tikzname\ style which is finally applied to the \emph{interior}
+of the box.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+% \tcbuselibrary{hooks}
+\tcbset{enhanced,colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries,
+ interior titled code app={\path[tcb fill interior]
+ ([yshift=-0.1pt]interior.north east)
+ --([yshift=3pt]interior.north)
+ --([yshift=-0.1pt]interior.north west)
+ --cycle;} }
+
+\begin{tcolorbox}[title=My title]
This is a \textbf{tcolorbox}.
\tcblower
This is the lower part.
\end{tcolorbox}
-\end{dispExample}
-\end{docTcbKey}
+\end{dispExample*}
+\end{docTikzKey}
-\clearpage
-\begin{docTcbKey}{interior code}{\colOpt{=\meta{graphical code}}}{code, default from |standard|}
- The given \meta{graphical code} is used
- for drawing the \emph{interior} of the box, if the box is without a title.\\
- This option is available only if the \refKey{/tcb/interior engine} is set to |freelance|.
-\begin{dispExample}
-\tcbset{colback=red!5!white,colframe=red!75!black}
+\begin{docTikzKey}{tcb fill title}{}{style, no value}
+This is a \tikzname\ style which is finally applied to the \emph{title area}
+of the box.
-\begin{tcolorbox}[freelance,interior code={
- \path[draw=red!5!white,line width=5mm,line cap=round]
- ([xshift=3mm,yshift=-3mm]interior.north west)
- --([xshift=-3mm,yshift=3mm]interior.south east)
- ([xshift=3mm,yshift=3mm]interior.south west)
- --([xshift=-3mm,yshift=-3mm]interior.north east);}]
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+% \tcbuselibrary{hooks}
+\tcbset{enhanced,colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries,
+ colbacktitle=blue!75!black,
+ title code app={\path[tcb fill title]
+ (title) circle (5mm); } }
+
+\begin{tcolorbox}[title=My title]
This is a \textbf{tcolorbox}.
\tcblower
This is the lower part.
\end{tcolorbox}
-\end{dispExample}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\clearpage
+\subsection{Boxed Title Option Keys}\label{subsec:skinboxedtitle}
+
+The following options place the title text into an own \refCom{tcbox}.
+This boxed title can be customized independently from the main box using
+\refKey{/tcb/boxed title style}.
+The placement can be influenced by \meta{boxtitle options}.
+
+\begin{docTcbKey}{attach boxed title to top left}{\colOpt{=\meta{boxtitle options}}}{style, default empty}
+The title is boxed with a \refCom{tcbox} and attached to
+the top left corner of the main box.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tcolorbox}[enhanced,title=My title,
+ attach boxed title to top left]
+ This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
\end{docTcbKey}
-\begin{docTcbKey}{segmentation code}{\colOpt{=\meta{graphical code}}}{code, default from |standard|}
- The given \meta{graphical code} is used for drawing the
- \emph{segmentation} area of the box.\\
- This option is available only if the \refKey{/tcb/segmentation engine} is set to |freelance|.
-\begin{dispExample}
-\tcbset{colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries}
+\begin{docTcbKey}{attach boxed title to top center}{\colOpt{=\meta{boxtitle options}}}{style, default empty}
+The title is boxed with a \refCom{tcbox} and attached to
+the top of the main box.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tcolorbox}[enhanced,title=My title,
+ attach boxed title to top center]
+ This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
-\begin{tcolorbox}[freelance,title=My title,segmentation code={
- \path[top color=red!5!white,bottom color=red!5!white,middle color=blue]
- (segmentation.south west) rectangle (segmentation.north east);}]
-This is a \textbf{tcolorbox}.
-\tcblower
-This is the lower part.
+\begin{docTcbKey}{attach boxed title to top right}{\colOpt{=\meta{boxtitle options}}}{style, default empty}
+The title is boxed with a \refCom{tcbox} and attached to
+the top right corner of the main box.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tcolorbox}[enhanced,title=My title,
+ attach boxed title to top right]
+ This is a \textbf{tcolorbox}.
\end{tcolorbox}
-\end{dispExample}
+\end{dispExample*}
+\end{docTcbKey}
+
+\begin{docTcbKey}{attach boxed title to bottom left}{\colOpt{=\meta{boxtitle options}}}{style, default empty}
+The title is boxed with a \refCom{tcbox} and attached to
+the bottom left corner of the main box.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tcolorbox}[enhanced,title=My title,
+ attach boxed title to bottom left]
+ This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+\begin{docTcbKey}{attach boxed title to bottom center}{\colOpt{=\meta{boxtitle options}}}{style, default empty}
+The title is boxed with a \refCom{tcbox} and attached to
+the bottom of the main box.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tcolorbox}[enhanced,title=My title,
+ attach boxed title to bottom center]
+ This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
\end{docTcbKey}
+\begin{docTcbKey}{attach boxed title to bottom right}{\colOpt{=\meta{boxtitle options}}}{style, default empty}
+The title is boxed with a \refCom{tcbox} and attached to
+the bottom right corner of the main box.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tcolorbox}[enhanced,title=My title,
+ attach boxed title to bottom right]
+ This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
\clearpage
-\begin{docTcbKey}{title code}{\colOpt{=\meta{graphical code}}}{code, default from |standard|}
- The given \meta{graphical code} is used for drawing the
- \emph{title} area of the box.\\
- This option is available only if the \refKey{/tcb/title engine} is set to |freelance|.
-\begin{dispExample}
-\tcbset{colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
- coltitle=black}
-\begin{tcolorbox}[freelance,title=My title,title code={
- \path[draw=yellow,solid,decorate,line width=2mm,
- decoration={coil,aspect=0,segment length=10.1mm}]
- ([xshift=1mm]title.west) -- ([xshift=-1mm]title.east);}]
-This is a \textbf{tcolorbox}.
-\tcblower
-This is the lower part.
+The \meta{boxtitle options} of the keys described above are shift values.
+The dimensions of the boxed title are stored into two macros
+\docAuxCommand{tcboxedtitleheight} and
+\docAuxCommand{tcboxedtitlewidth}. These macros can be used inside the
+following \meta{boxtitle options}:
+
+\begin{boxTcbKey}{xshift}{=\meta{length}}{no default, initially |0pt|}
+The boxed title is shifted by \meta{length} in the horizontal direction.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tcolorbox}[enhanced,title=My title,
+ attach boxed title to top left={xshift=-2mm},
+ boxed title style={size=small,colback=blue}]
+ This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+\end{boxTcbKey}
+
+\begin{boxTcbKey}{yshift}{=\meta{length}}{no default, initially |0pt|}
+The boxed title is shifted by \meta{length} in the vertical direction.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tcolorbox}[enhanced,title=My title,
+ attach boxed title to top center=
+ {yshift=-\tcboxedtitleheight/2},
+ boxed title style={size=small,colback=blue}]
+ This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+\end{boxTcbKey}
+
+\begin{boxTcbKey}{yshifttext}{=\meta{length}}{no default, initially |0pt|}
+The text inside the main box by \meta{length} to give room for e.\,g.\ a sunken title.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tcolorbox}[enhanced,title=My title,
+ attach boxed title to top center=
+ {yshift=-3mm,yshifttext=-1mm},
+ boxed title style={size=small,colback=blue}]
+ This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+\end{boxTcbKey}
+
+\begin{boxTcbKey}{yshift*}{=\meta{length}}{no default, initially |0pt|}
+Sets \refKey{/tcb/boxtitle/yshift} and \refKey{/tcb/boxtitle/yshifttext}
+the same time.\\
+\refKey{/tcb/boxtitle/yshifttext} is only set if necessary.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tcolorbox}[enhanced,title=My title,
+ attach boxed title to top center={yshift*=-3mm},
+ boxed title style={size=small,colback=blue}]
+ This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+\end{boxTcbKey}
+
+\begin{marker}
+The bounding box of the resulting total |tcolorbox| is adapted automatically to the
+\emph{vertical} dimensions of the boxed title. Possible horizontal enlargements
+are \emph{not} automatically computed.
+\end{marker}
+
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tcolorbox}[enhanced,title=My title,
+ attach boxed title to top left=
+ {xshift=-2mm,yshift=-2mm},
+ boxed title style={size=small,colback=blue},
+ show bounding box]
+ This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+
+
+\clearpage
+\begin{marker}
+ The boxed title options are implemented as an underlay, see \Vref{subsec:skinunderlay}.
+ Therefore, a boxed title is not drawn, if a skin does not support underlays
+ like \refSkin{standard}. Still, the room for the boxed
+ titles gets reserved in these cases.
+\end{marker}
+
+\begin{marker}
+ A \tikzname\ node |title| is produced by a boxed title. This node is accessible
+ insided underlays, overlays and finishes, but \emph{not} inside
+ \refKey{/tcb/frame code} or \refKey{/tcb/interior code}.
+\end{marker}
+
+
+\begin{docTcbKey}{boxed title style}{=\meta{options}}{style, initially empty}
+By default, a boxed title is dimensioned with \refKey{/tcb/size}|=|\docValue*{title}
+and inherits \refKey{/tcb/colframe} of the main box.
+Also, the \refKey{/tcb/colback} is inherited from the main \refKey{/tcb/colbacktitle}.
+Font and color of the title text are set as usual.
+All other \meta{options} are set by the |boxed title style| key.
+Since a boxed title is set by \refCom{tcbox}, all |tcolorbox| options are
+applicable here.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tcolorbox}[enhanced,title=My title,
+ fonttitle=\bfseries,coltitle=green!25!black,
+ attach boxed title to top center=
+ {yshift=-2mm,yshifttext=-1mm},
+ boxed title style={colframe=green!75!black,
+ colback=yellow!50!green}]
+ This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+
+\enlargethispage*{2cm}
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\begin{tcolorbox}[enhanced,title=My title,
+ colframe=red!50!black,colback=red!10!white,
+ arc=1mm,colbacktitle=red!10!white,
+ fonttitle=\bfseries,coltitle=red!50!black,
+ attach boxed title to top left=
+ {xshift=3.2mm,yshift=-0.50mm},
+ boxed title style={enhanced,
+ skin=enhancedfirst jigsaw,
+ size=small,arc=1mm,bottom=-1mm,
+ interior style={top color=red!30!white,
+ bottom color=red!20!white}}]
+ This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+
+\begin{dispExample}
+\begin{tcolorbox}[enhanced,title=My title,
+ colframe=blue!50!black,colback=blue!10!white,colbacktitle=blue!5!yellow!10!white,
+ fonttitle=\bfseries,coltitle=black,attach boxed title to top center=
+ {yshift=-0.25mm-\tcboxedtitleheight/2,yshifttext=2mm-\tcboxedtitleheight/2},
+ boxed title style={enhanced,boxrule=0.5mm,
+ frame code={ \path[tcb fill frame] ([xshift=-4mm]frame.west) -- (frame.north west)
+ -- (frame.north east) -- ([xshift=4mm]frame.east)
+ -- (frame.south east) -- (frame.south west) -- cycle; },
+ interior code={ \path[tcb fill interior] ([xshift=-2mm]interior.west)
+ -- (interior.north west) -- (interior.north east)
+ -- ([xshift=2mm]interior.east) -- (interior.south east) -- (interior.south west)
+ -- cycle;} }]
+ \lipsum[2]
\end{tcolorbox}
\end{dispExample}
\end{docTcbKey}
\clearpage
+\begin{docTcbKey}{hbox boxed title}{}{no value, initially set}
+The title text content is captured with a horizontal box.
+Especially, there are no linebreak possible.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\newtcolorbox{mybox}[1]{hbox boxed title,
+ enhanced,attach boxed title to top center=
+ {yshift=-3mm,yshifttext=-1mm},
+ boxed title style={size=small,colback=red},
+ title={#1}}
+
+\begin{mybox}{Short title}
+ This is a \textbf{tcolorbox}.
+\end{mybox}\bigskip
+
+\begin{mybox}{This title is not really very short}
+ This is a \textbf{tcolorbox}.
+\end{mybox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{minipage boxed title}{\colOpt{=\meta{length}}}{initially unset}
+The title text content is captured with a minipage with a width of \meta{length}.
+By default, the resulting boxed title is somewhat smaller than the main box.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\newtcolorbox{mybox}[1]{minipage boxed title,
+ enhanced,attach boxed title to top center=
+ {yshift=-3mm,yshifttext=-1mm},
+ boxed title style={size=small,colback=red},
+ center title,title={#1}}
+
+\begin{mybox}{Short title}
+ This is a \textbf{tcolorbox}.
+\end{mybox}\bigskip
+
+\begin{mybox}{This title is not really very short}
+ This is a \textbf{tcolorbox}.
+\end{mybox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{minipage boxed title*}{\colOpt{=\meta{length}}}{initially unset}
+The title text content is captured with a minipage with a width of main box width plus \meta{length}.
+By default, the resulting boxed title is somewhat smaller than the main box.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\newtcolorbox{mybox}[1]{minipage boxed title*=-2cm,
+ enhanced,attach boxed title to top center=
+ {yshift=-3mm,yshifttext=-1mm},
+ boxed title style={size=small,colback=red},
+ center title,title={#1}}
+
+\begin{mybox}{Short title}
+ This is a \textbf{tcolorbox}.
+\end{mybox}\bigskip
+
+\begin{mybox}{This title is not really very short}
+ This is a \textbf{tcolorbox}.
+\end{mybox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\clearpage
+\begin{docTcbKey}{tikznode boxed title}{=\meta{options}}{initially unset}
+The title text content is captured with a \tikzname\ node with given \tikzname\ \meta{options}.
+The text is centered by default
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+\newtcolorbox{mybox}[1]{tikznode boxed title,
+ enhanced,attach boxed title to top center=
+ {yshift=-3mm,yshifttext=-1mm},
+ boxed title style={size=small,colback=red},
+ title={#1}}
+
+\begin{mybox}{Short title}
+ This is a \textbf{tcolorbox}.
+\end{mybox}\bigskip
+
+\begin{mybox}{This title\\is not really\\very short}
+ This is a \textbf{tcolorbox}.
+\end{mybox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{varwidth boxed title}{\colOpt{=\meta{length}}}{initially unset}
+The title text content is captured with a |varwidth| environment with a width of \meta{length}.
+This style needs the |varwidth| package to be loaded manually.
+By default, the resulting boxed title is somewhat smaller than the main box.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+% \usepackage{varwidth}
+\newtcolorbox{mybox}[1]{varwidth boxed title,
+ enhanced,attach boxed title to top center=
+ {yshift=-3mm,yshifttext=-1mm},
+ boxed title style={size=small,colback=red},
+ center title,title={#1}}
+
+\begin{mybox}{Short title}
+ This is a \textbf{tcolorbox}.
+\end{mybox}\bigskip
+
+\begin{mybox}{This title is not really very short}
+ This is a \textbf{tcolorbox}.
+\end{mybox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{varwidth boxed title*}{\colOpt{=\meta{length}}}{initially unset}
+The title text content is captured with a |varwidth| environment with a width of main box width plus \meta{length}.
+This style needs the |varwidth| package to be loaded manually.
+By default, the resulting boxed title is somewhat smaller than the main box.
+\begin{dispExample*}{sbs,lefthand ratio=0.66}
+% \usepackage{varwidth}
+\newtcolorbox{mybox}[1]{varwidth boxed title*=-2cm,
+ enhanced,attach boxed title to top center=
+ {yshift=-3mm,yshifttext=-1mm},
+ boxed title style={size=small,colback=red},
+ center title,title={#1}}
+
+\begin{mybox}{Short title}
+ This is a \textbf{tcolorbox}.
+\end{mybox}\bigskip
+
+\begin{mybox}{This title is not really very short}
+ This is a \textbf{tcolorbox}.
+\end{mybox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\clearpage
\subsection{Watermark Option Keys}\label{subsec:watermarks}
The following watermark options are applicable for all skins which
use |tikzpicture| as \refKey{/tcb/graphical environment}.
@@ -631,13 +748,13 @@ But a mixture is possible with the \mylib{hooks} library, see Section \ref{sec:h
\refKey{/tcb/breakable}.\\
Feasible values for \meta{part} are:
\begin{itemize}
- \item |broken|: all broken box parts,
- \item |unbroken|: unbroken boxes only,
- \item |first|: first parts of a break sequence,
- \item |middle|: middle parts of a break sequence,
- \item |last|: last parts of a break sequence,
- \item |unbroken and first|: unbroken boxes and first parts of a break sequence,
- \item |middle and last|: middle and last parts of a break sequence.
+ \item\docValue{broken}: all broken box parts,
+ \item\docValue{unbroken}: unbroken boxes only,
+ \item\docValue{first}: first parts of a break sequence,
+ \item\docValue{middle}: middle parts of a break sequence,
+ \item\docValue{last}: last parts of a break sequence,
+ \item\docValue{unbroken and first}: unbroken boxes and first parts of a break sequence,
+ \item\docValue{middle and last}: middle and last parts of a break sequence.
\end{itemize}
\end{docTcbKey}
@@ -673,13 +790,13 @@ This example uses a public domain picture from\\
\refKey{/tcb/breakable}.\\
Feasible values for \meta{part} are:
\begin{itemize}
- \item |broken|: all broken box parts,
- \item |unbroken|: unbroken boxes only,
- \item |first|: first parts of a break sequence,
- \item |middle|: middle parts of a break sequence,
- \item |last|: last parts of a break sequence,
- \item |unbroken and first|: unbroken boxes and first parts of a break sequence,
- \item |middle and last|: middle and last parts of a break sequence.
+ \item\docValue{broken}: all broken box parts,
+ \item\docValue{unbroken}: unbroken boxes only,
+ \item\docValue{first}: first parts of a break sequence,
+ \item\docValue{middle}: middle parts of a break sequence,
+ \item\docValue{last}: last parts of a break sequence,
+ \item\docValue{unbroken and first}: unbroken boxes and first parts of a break sequence,
+ \item\docValue{middle and last}: middle and last parts of a break sequence.
\end{itemize}
\end{docTcbKey}
@@ -715,13 +832,13 @@ This example uses a public domain picture from\\
\refKey{/tcb/breakable}.\\
Feasible values for \meta{part} are:
\begin{itemize}
- \item |broken|: all broken box parts,
- \item |unbroken|: unbroken boxes only,
- \item |first|: first parts of a break sequence,
- \item |middle|: middle parts of a break sequence,
- \item |last|: last parts of a break sequence,
- \item |unbroken and first|: unbroken boxes and first parts of a break sequence,
- \item |middle and last|: middle and last parts of a break sequence.
+ \item\docValue{broken}: all broken box parts,
+ \item\docValue{unbroken}: unbroken boxes only,
+ \item\docValue{first}: first parts of a break sequence,
+ \item\docValue{middle}: middle parts of a break sequence,
+ \item\docValue{last}: last parts of a break sequence,
+ \item\docValue{unbroken and first}: unbroken boxes and first parts of a break sequence,
+ \item\docValue{middle and last}: middle and last parts of a break sequence.
\end{itemize}
\end{docTcbKey}
@@ -1013,8 +1130,8 @@ 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.
+Technically, the normal |tcolorbox| rules result from a \tikzname\ \emph{filling}
+process. The border lines are created by a \tikzname\ \emph{drawing} process.
This can be used to apply different effects.
\end{marker}
@@ -1025,8 +1142,8 @@ This can be used to apply different effects.
\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 line is drawn along a \tikzname\ path with the given \tikzname\ \meta{options}.
+ Note that the \tikzname\ |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|.
@@ -1106,10 +1223,9 @@ This is a tcolorbox.
\begin{docTcbKey}{show bounding box}{\colOpt{=\meta{color}}}{default |red|, initially unset}
- Technically, this option is no borderline option but an overlay option, see
- \Vref{subsec:overlays}. It is documented here, because it needs a
- |tikzpicture| environment and it displays the bounding box borderline of
- a |tcolorbox|. Its intended use is debugging and fine tuning.
+ Displays the bounding box borderline of a |tcolorbox|.
+ Its intended use is debugging and fine tuning.
+ It should not be part of a final document.
The optional \meta{color} is the base color for the bounding box
borderline.
\begin{dispExample}
@@ -1150,7 +1266,7 @@ used on the same |tcolorbox|. They are drawn \emph{before} the box frame is draw
\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 shadow is filled along a \tikzname\ path with the given \tikzname\ \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.
@@ -1207,7 +1323,7 @@ This is a tcolorbox.
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
+ The shadow is filled along a \tikzname\ path with the given \tikzname\ \meta{options} but
any |opacity| value will be ignored.
\begin{dispExample*}{sbs,lefthand ratio=0.6}
\tcbset{enhanced,colback=red!5!white,
@@ -1556,7 +1672,7 @@ equivalent to the preceding examples.
\clearpage
-\subsection{TikZ Picture Option Keys}\label{subsec:tikzpicture}
+\subsection{\tikzname\ Picture Option Keys}\label{subsec:tikzpicture}
The following general options are applicable for skins which
use |tikzpicture| as \refKey{/tcb/graphical environment}.
Therefore, the skin \refSkin{standard} does not support these options,
@@ -1601,7 +1717,7 @@ Sold!
\begin{docTcbKey}{at begin tikz}{=\meta{tikz code}}{no default, initially empty}
The given \meta{tikz code} is executed at the beginning of the |tikzpicture| environment
- after the TikZ option |execute at begin picture| was applied.
+ after the \tikzname\ option |execute at begin picture| was applied.
If this option is applied a second time, the new \meta{tikz code} is appended to the current code.
\end{docTcbKey}
@@ -1613,7 +1729,7 @@ Sold!
\begin{docTcbKey}{at end tikz}{=\meta{tikz code}}{no default, initially empty}
The given \meta{tikz code} is executed at the ending of the |tikzpicture| environment
- before the TikZ option |execute at end picture| was applied.
+ before the \tikzname\ option |execute at end picture| was applied.
If this option is applied a second time, the new \meta{tikz code} is appended to the current code.
\end{docTcbKey}
@@ -1626,7 +1742,7 @@ Sold!
\clearpage
\begin{docTcbKey}{rotate}{=\meta{angle}}{no default, initially unset}
Rotates the |tcolorbox| by the given \meta{angle}. Note that this is
- a TikZ coordinate transformation i.e. not all graphical elements like shadings
+ a \tikzname\ coordinate transformation i.e. not all graphical elements like shadings
will really be rotated.
\begin{dispExample*}{sbs,lefthand ratio=0.66}
\tcbset{enhanced,colback=red!5!white,
@@ -1640,7 +1756,7 @@ This is a tcolorbox.
\begin{docTcbKey}{scale}{=\meta{fraction}}{no default, initially unset}
Scales the |tcolorbox| by the given \meta{fraction}. Note that this is
- a TikZ coordinate transformation i.e. not all graphical elements like line widths
+ a \tikzname\ coordinate transformation i.e. not all graphical elements like line widths
will really be scaled.
\begin{dispExample*}{sbs,lefthand ratio=0.66}
\tcbset{enhanced,colback=red!5!white,
@@ -1658,7 +1774,7 @@ This is a tcolorbox.
\begin{docTcbKey}{remember}{}{style, initially unset}
Shortcut for |tikz={remember picture}|. This allows one to reference nodes
- in other TikZ pictures.
+ in other \tikzname\ pictures.
\begin{dispExample}
\begin{tcolorbox}[enhanced,remember,colback=red!5!white,colframe=red!75!black,
fonttitle=\bfseries,title=The four corners of a paper,
@@ -1676,7 +1792,7 @@ This is a tcolorbox.
\tcbinterruptdraftmode%
\begin{docTcbKey}{remember as}{=\meta{name}}{style, no default, initially unset}
The |frame| node will be remembered by the given \meta{name} to be referenced
- in other TikZ pictures.
+ in other \tikzname\ pictures.
\begin{dispExample}
% \usepackage{lipsum}
\newtcolorbox{mybox}[1][]{enhanced,colframe=blue!75!black,colback=blue!10!white,
@@ -1710,6 +1826,265 @@ This is a test.
\end{docTcbKey}
\tcbcontinuedraftmode%
+
+\clearpage
+\subsection{Underlay Option Keys}\label{subsec:skinunderlay}
+
+Underlays are quite similar to overlays described in \Vref{subsec:overlays}.
+Underlays are drawn \emph{after} the frame and interior are
+drawn and \emph{before} overlays and the text content is drawn; see
+\Vref{subsec:tcolorboxdrawing} for the general drawing scheme.
+
+The differences between underlays and overlays are:
+\begin{itemize}
+\item Underlays are not applicable for the skins
+ \refSkin{standard} and
+ \refSkin{standard jigsaw},
+ whereas overlays are applicable also for these skins.
+ The skin \refSkin{spartan} supports underlays but no overlays.
+ \begin{marker}
+ If an underlay is used with the \refSkin{standard} skin, it is silently ignored.
+ \end{marker}
+\item Underlays are stackable, i.\,e.\ several different underlays can be
+ used on the same |tcolorbox|. Overlays are not stackable by default (but with
+ some help of the library \mylib{hooks}).
+\item Boxed titles are implemented with underlays (\Vref{subsec:skinboxedtitle}),
+ watermarks are implemented with overlays (\Vref{subsec:watermarks}).
+\end{itemize}
+
+
+\begin{docTcbKey}{underlay}{=\meta{graphical code}}{no default, initially unset}
+ Adds \meta{graphical code} to the box drawing process. This \meta{graphical code}
+ is drawn \emph{after} the frame and interior and \emph{before} the text content.
+\begin{dispExample}
+\newtcolorbox{mybox}[1][]{enhanced,colback=red!5!white,
+ colbacktitle=red!85!black!50!white,
+ colframe=red!75!black,fonttitle=\bfseries,watermark color=yellow!50!white,
+ underlay={\begin{tcbclipinterior}
+ \draw[red!40!white,line width=1cm] (interior.south west)--(interior.north east);
+ \end{tcbclipinterior}},
+ attach boxed title to top center={yshift=-2mm},#1}
+
+\begin{mybox}[title=My box,watermark text=My Watermark]
+\lipsum[2]
+\end{mybox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{no underlay}{}{style, no default, initially set}
+ Removes the underlay if set before.
+\end{docTcbKey}
+
+\clearpage
+\begin{docTcbKey}{underlay broken}{=\meta{graphical code}}{no default, initially unset}
+ If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
+ then the \meta{graphical code} is added to the box drawing process.
+ \refKey{/tcb/underlay} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}{underlay unbroken}{=\meta{graphical code}}{no default, initially unset}
+ If the box is set to be \refKey{/tcb/breakable} but \emph{is not} broken actually
+ or if the box is set to be \refKey{/tcb/unbreakable},
+ then the \meta{graphical code} is added to the box drawing process.
+ \refKey{/tcb/underlay} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}{no underlay unbroken}{}{style, no default, initially set}
+ Removes the unbroken underlay if set before.
+\end{docTcbKey}
+
+\begin{docTcbKey}{underlay first}{=\meta{graphical code}}{no default, initially unset}
+ If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
+ then the \meta{graphical code} is added to the box drawing process for
+ the \emph{first} part of the break sequence.
+ \refKey{/tcb/underlay} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}{no underlay first}{}{style, no default, initially set}
+ Removes the first underlay if set before.
+\end{docTcbKey}
+
+\begin{docTcbKey}{underlay middle}{=\meta{graphical code}}{no default, initially unset}
+ If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
+ then the \meta{graphical code} is added to the box drawing process for
+ the \emph{middle} parts (if any) of the break sequence.
+ \refKey{/tcb/underlay} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}{no underlay middle}{}{style, no default, initially set}
+ Removes the middle underlay if set before.
+\end{docTcbKey}
+
+\begin{docTcbKey}{underlay last}{=\meta{graphical code}}{no default, initially unset}
+ If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
+ then the \meta{graphical code} is added to the box drawing process for
+ the \emph{last} part of the break sequence.
+ \refKey{/tcb/underlay} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}{no underlay last}{}{style, no default, initially set}
+ Removes the last underlay if set before.
+\end{docTcbKey}
+
+\begin{docTcbKey}{underlay unbroken and first}{=\meta{graphical code}}{no default, initially unset}
+ This is an abbreviation for setting
+ \refKey{/tcb/underlay unbroken} and
+ \refKey{/tcb/underlay first} together.
+ \refKey{/tcb/underlay} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}{underlay middle and last}{=\meta{graphical code}}{no default, initially unset}
+ This is an abbreviation for setting
+ \refKey{/tcb/underlay middle} and
+ \refKey{/tcb/underlay last} together.
+ \refKey{/tcb/underlay} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}{underlay unbroken and last}{=\meta{graphical code}}{no default, initially unset}
+ This is an abbreviation for setting
+ \refKey{/tcb/underlay unbroken} and
+ \refKey{/tcb/underlay last} together.
+ \refKey{/tcb/underlay} overwrites this key.
+\end{docTcbKey}
+
+
+
+\clearpage
+\subsection{Finish Option Keys}\label{subsec:skinfinish}
+
+Finishes are quite similar to underlays described in \Vref{subsec:skinunderlay}
+and overlays described in \Vref{subsec:overlays}.
+Finishes are drawn \emph{after} the text content is drawn; see
+\Vref{subsec:tcolorboxdrawing} for the general drawing scheme.
+Therefore, a finish will reduce the readability of the text content.
+
+Finishes are intended for special effects like highlights or glosses or text over text.
+
+\begin{itemize}
+\item Finishes are only applicable for the skins
+ \refSkin{enhanced},
+ \refSkin{empty},
+ \refSkin{freelance},
+ \refSkin{bicolor},
+ \refSkin{beamer}, and
+ \refSkin{widget}.
+ \begin{marker}
+ If a finish is used with the \refSkin{standard} skin, it is silently ignored.
+ \end{marker}
+\item Finishes are stackable, i.\,e.\ several different finishes can be
+ used on the same |tcolorbox|.
+\end{itemize}
+
+\enlargethispage*{2cm}
+\begin{docTcbKey}{finish}{=\meta{graphical code}}{no default, initially unset}
+ Adds \meta{graphical code} to the box drawing process. This \meta{graphical code}
+ is drawn \emph{after} the text content.
+\begin{dispExample}
+\newtcolorbox{mybox}[1][]{enhanced,colback=red!5!white,
+ colbacktitle=red!85!black!50!white,colframe=red!75!black,fonttitle=\bfseries,
+ finish={\begin{tcbclipframe}
+ \path[bottom color=black,top color=black!50!white,opacity=0.1]
+ (frame.south west) -- (frame.south east) -- (frame.north east) -- cycle;
+ \path[top color=white,bottom color=black!50!white,opacity=0.1]
+ (frame.south west) -- (frame.north east) -- (frame.north west) -- cycle;
+ \end{tcbclipframe}},#1}
+
+\begin{mybox}[title=My box]
+\lipsum[2]
+\end{mybox}
+\end{dispExample}
+\begin{dispExample}
+\newtcolorbox{mybox}[1][]{enhanced,colback=red!5!white,
+ colbacktitle=red!85!black!50!white,colframe=red!75!black,fonttitle=\bfseries,
+ finish={\node[draw,fill=white,fill opacity=0.85,inner sep=5mm,
+ rounded corners] at (frame.center) {\Huge\bfseries Finish!};},#1}
+
+\begin{mybox}[title=My box]
+\lipsum[2]
+\end{mybox}
+\end{dispExample}
+\end{docTcbKey}
+
+\clearpage
+\begin{docTcbKey}{no finish}{}{style, no default, initially set}
+ Removes the finish if set before.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{finish broken}{=\meta{graphical code}}{no default, initially unset}
+ If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
+ then the \meta{graphical code} is added to the box drawing process.
+ \refKey{/tcb/finish} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}{finish unbroken}{=\meta{graphical code}}{no default, initially unset}
+ If the box is set to be \refKey{/tcb/breakable} but \emph{is not} broken actually
+ or if the box is set to be \refKey{/tcb/unbreakable},
+ then the \meta{graphical code} is added to the box drawing process.
+ \refKey{/tcb/finish} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}{no finish unbroken}{}{style, no default, initially set}
+ Removes the unbroken finish if set before.
+\end{docTcbKey}
+
+\begin{docTcbKey}{finish first}{=\meta{graphical code}}{no default, initially unset}
+ If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
+ then the \meta{graphical code} is added to the box drawing process for
+ the \emph{first} part of the break sequence.
+ \refKey{/tcb/finish} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}{no finish first}{}{style, no default, initially set}
+ Removes the first finish if set before.
+\end{docTcbKey}
+
+\begin{docTcbKey}{finish middle}{=\meta{graphical code}}{no default, initially unset}
+ If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
+ then the \meta{graphical code} is added to the box drawing process for
+ the \emph{middle} parts (if any) of the break sequence.
+ \refKey{/tcb/finish} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}{no finish middle}{}{style, no default, initially set}
+ Removes the middle finish if set before.
+\end{docTcbKey}
+
+\begin{docTcbKey}{finish last}{=\meta{graphical code}}{no default, initially unset}
+ If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
+ then the \meta{graphical code} is added to the box drawing process for
+ the \emph{last} part of the break sequence.
+ \refKey{/tcb/finish} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}{no finish last}{}{style, no default, initially set}
+ Removes the last finish if set before.
+\end{docTcbKey}
+
+\begin{docTcbKey}{finish unbroken and first}{=\meta{graphical code}}{no default, initially unset}
+ This is an abbreviation for setting
+ \refKey{/tcb/finish unbroken} and
+ \refKey{/tcb/finish first} together.
+ \refKey{/tcb/finish} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}{finish middle and last}{=\meta{graphical code}}{no default, initially unset}
+ This is an abbreviation for setting
+ \refKey{/tcb/finish middle} and
+ \refKey{/tcb/finish last} together.
+ \refKey{/tcb/finish} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}{finish unbroken and last}{=\meta{graphical code}}{no default, initially unset}
+ This is an abbreviation for setting
+ \refKey{/tcb/finish unbroken} and
+ \refKey{/tcb/finish last} together.
+ \refKey{/tcb/finish} overwrites this key.
+\end{docTcbKey}
+
+
+
\clearpage
\subsection{Jigsaw Skin Variants}\label{subsec:skinjigsaw}
As described in \Vref{sec:skincorekeys}, a |tcolorbox| is drawn by up to
@@ -2055,6 +2430,10 @@ Of course, skins can be used for listings also.
\end{tcblisting}
\end{dispExample}
+
+\clearpage
+
+
\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,
@@ -2062,27 +2441,15 @@ Of course, skins can be used for listings also.
\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|.
+ are hidden and all margins are set to |0pt|. See \refKey{/tcb/blanker}
+ for switching off the drawing engines.
\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
@@ -2478,219 +2845,6 @@ Nevertheless, this skin can be applied independently.
\end{dispExample}
-\clearpage
-\subsection{Skin Family 'freelance'}
-\begin{marker}
-This skin family is intended for the experienced user who looks for special
-customizations of a |tcolorbox|. It gives full freedom for the appearance,
-but it requires some |tikz| coding. For small adaptions, you may want to use
-overlays instead, see \Vref{subsec:overlays}.
-\end{marker}
-
-\begin{docSkin}{freelance}
- This skin gives full freedom for the appearance of the |tcolorbox|.
- All drawing engines are set to type |freelance|; they use the |tikz| package
- and compute the \refKey{/tcb/geometry nodes}.
- This skin is useful for boxes which should differ much from the normal
- appearance. Note that this difference has to be programmed by the user.
- The drawing code can be given
- with the following option keys. As default value, the code from the |standard|
- skin is set.
-\begin{tcolorbox}[skintable=freelance]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |freelance|\\
- \refKey{/tcb/interior titled engine}: \> |freelance|\\
- \refKey{/tcb/interior engine}: \> |freelance|\\
- \refKey{/tcb/segmentation engine}: \> |freelance|\\
- \refKey{/tcb/title engine}: \> |freelance|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-\begin{docTcbKey}{freelance}{}{style, no value}
- This is an abbreviation for setting |skin=freelance|.
-\end{docTcbKey}
-
-\begin{dispExample}
-\tcbset{freelance,equal height group=freelance,
- colback=LightGreen,colframe=DarkGreen,
- width=(\linewidth-6mm)/4,nobeforeafter,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm}
-%
-\begin{tcolorbox}
- This is my content.
-\end{tcolorbox}\hfill
-\begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
-\end{tcolorbox}\hfill
-\begin{tcolorbox}[adjusted title=My title]
- This is my content.
-\end{tcolorbox}\hfill
-\begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
-\end{tcolorbox}
-\end{dispExample}
-
-\clearpage
-\begin{dispExample}
- \tcbset{skin=freelance,boxrule=2mm,enlarge top by=2mm,enlarge bottom by=2mm,
- enlarge left by=3mm,enlarge right by=3mm,width=\linewidth-6mm,
- frame code={\path[top color=FireBrick,bottom color=FireBrick,middle color=FireBrick!50,
- draw=FireBrick!75!black,double=Gold,rounded corners=1mm]
- (frame.south west) -- ([xshift=-3mm]frame.west) -- (frame.north west)
- -- ([yshift=2mm]frame.north) -- (frame.north east) -- ([xshift=3mm]frame.east)
- -- (frame.south east) -- ([yshift=-2mm]frame.south) -- cycle;},
- interior titled code={\path[outer color=Gold,inner color=white,draw=Gold,
- double=FireBrick!75!black,rounded corners=5mm]
- (interior.south west) rectangle (interior.north east);},
- segmentation code={\path[draw=FireBrick,opacity=0.25] ([xshift=2cm]segmentation.west)
- -- (segmentation.north) -- ([xshift=-2cm]segmentation.east)
- -- (segmentation.south) -- cycle;}}
-
-\begin{tcolorbox}[title=My title]
- This is the upper part.
- \tcblower
- This is the lower part.
-\end{tcolorbox}
-\end{dispExample}
-
-
-\begin{docSkin}{freelancefirst}
- This skin equals \refSkin{freelance} with exception of the break sequence,
- see \Vref{subsec:breaksequence}. It is used as first part of the
- break sequence of \refSkin{freelance}. \refKey{/tcb/extend freelancefirst}
- can be used to customize this part.
-\end{docSkin}
-
-\begin{docSkin}{freelancemiddle}
- This skin equals \refSkin{freelance} with exception of the break sequence,
- see \Vref{subsec:breaksequence}. It is used as middle part of the
- break sequence of \refSkin{freelance}. \refKey{/tcb/extend freelancemiddle}
- can be used to customize this part.
-\end{docSkin}
-
-\begin{docSkin}{freelancelast}
- This skin equals \refSkin{freelance} with exception of the break sequence,
- see \Vref{subsec:breaksequence}. It is used as last part of the
- break sequence of \refSkin{freelance}. \refKey{/tcb/extend freelancelast}
- can be used to customize this part.
-\end{docSkin}
-
-
-\begin{docTcbKey}{extend freelance}{=\meta{graphical code}}{no default, initially empty}
-The \meta{graphical code} is added to the skin definition of \refSkin{freelance}.
-\end{docTcbKey}
-
-\begin{docTcbKey}{extend freelancefirst}{=\meta{graphical code}}{no default, initially empty}
-The \meta{graphical code} is added to the skin definition of \refSkin{freelancefirst} which
-is used as first part of the break sequence of \refSkin{freelance}.
-Refer to the following example for usage.
-\end{docTcbKey}
-
-\begin{docTcbKey}{extend freelancemiddle}{=\meta{graphical code}}{no default, initially empty}
-The \meta{graphical code} is added to the skin definition of \refSkin{freelancemiddle} which
-is used as middle part of the break sequence of \refSkin{freelance}.
-Refer to the following example for usage.
-\end{docTcbKey}
-
-\enlargethispage*{1cm}
-\begin{docTcbKey}{extend freelancelast}{=\meta{graphical code}}{no default, initially empty}
-The \meta{graphical code} is added to the skin definition of \refSkin{freelancelast} which
-is used as last part of the break sequence of \refSkin{freelance}.
-Refer to the following example for usage.
-\end{docTcbKey}
-
-
-\begin{dispListing*}{breakable,before upper={This example demonstrates
-a breakable freelance box. Here, we define an environment |freebox|.
-The first application of |freebox| produces an unbroken |tcolorbox|.
-The box is drawn by the code given by \refKey{/tcb/frame code}
-and \refKey{/tcb/interior code}.\par
-The second application of |freebox| is broken into several parts which
-are drawn by the codes given by
-\refKey{/tcb/extend freelancefirst},
-\refKey{/tcb/extend freelancemiddle}, and
-\refKey{/tcb/extend freelancelast}.
-\par\bigskip
-}}
-% Preamble:
-%\usepackage{tikz,lipsum}
-%\tcbuselibrary{skins,breakable}
-\tikzset{colframe/.style={fill,top color=red!75!black,bottom color=red!75!black,
- middle color=red},
- colint/.style={fill=yellow!50!white}, coltria/.style={fill=red!15!white}}
-
-\newtcolorbox{freebox}[1][]{freelance,breakable,leftrule=5mm,left=2mm,
- watermark color=red!50!yellow!75!white,
- watermark text on=unbroken is unbroken box,
- watermark text on=first is first part,
- watermark text on=middle is middle part,
- watermark text on=last is last part,
- % code for unbroken boxes:
- frame code={\path[colframe] (frame.south west)--(frame.north west)
- --([xshift=-5mm]frame.north east)--([yshift=-5mm]frame.north east)
- --([yshift=5mm]frame.south east)--([xshift=-5mm]frame.south east)--cycle; },
- interior code={\path[colint] (interior.south west)--(interior.north west)
- --([xshift=-4.8mm]interior.north east)--([yshift=-4.8mm]interior.north east)
- --([yshift=4.8mm]interior.south east)--([xshift=-4.8mm]interior.south east)
- --cycle; },
- % code for the first part of a break sequence:
- extend freelancefirst={%
- frame code={\path[colframe] (frame.south west)--(frame.north west)
- --([xshift=-5mm]frame.north east)--([yshift=-5mm]frame.north east)
- --(frame.south east)--cycle;
- \path[coltria] ([xshift=2.5mm,yshift=1mm]frame.south west) -- +(120:2mm)
- -- +(60:2mm)-- cycle; },
- interior code={\path[colint] (interior.south west|-frame.south)
- --(interior.north west)--([xshift=-4.8mm]interior.north east)
- --([yshift=-4.8mm]interior.north east)--(interior.south east|-frame.south)
- --cycle; },
- },%
- % code for the middle part of a break sequence:
- extend freelancemiddle={%
- frame code={\path[colframe] (frame.south west)--(frame.north west)
- --(frame.north east)--(frame.south east)--cycle;
- \path[coltria] ([xshift=2.5mm,yshift=-1mm]frame.north west) -- +(240:2mm)
- -- +(300:2mm) -- cycle;
- \path[coltria] ([xshift=2.5mm,yshift=1mm]frame.south west) -- +(120:2mm)
- -- +(60:2mm) -- cycle;
- },
- interior code={\path[colint] (interior.south west|-frame.south)
- --(interior.north west|-frame.north)--(interior.north east|-frame.north)
- --(interior.south east|-frame.south)--cycle; },
- },
- % code for the last part of a break sequence:
- extend freelancelast={%
- frame code={\path[colframe] (frame.south west)--(frame.north west)
- --(frame.north east)--([yshift=5mm]frame.south east)
- --([xshift=-5mm]frame.south east)--cycle;
- \path[coltria] ([xshift=2.5mm,yshift=-1mm]frame.north west) -- +(240:2mm)
- -- +(300:2mm) -- cycle;
- },
- interior code={\path[colint] (interior.south west)
- --(interior.north west|-frame.north)--(interior.north east|-frame.north)
- --([yshift=4.8mm]interior.south east)--([xshift=-4.8mm]interior.south east)
- --cycle; },
- },
- #1}
-
-\begin{freebox}
-\lipsum[1]
-\end{freebox}
-
-\begin{freebox}
-\lipsum[1-12]
-\end{freebox}
-\end{dispListing*}
-{\tcbusetemp}
-
-
\clearpage
\subsection{Skin Family 'bicolor'}
@@ -2703,9 +2857,9 @@ are drawn by the codes given by
\refKey{/tcb/interior titled engine}: \=\kill
\refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |path|\\
- \refKey{/tcb/interior titled engine}: \> |freelance|\\
- \refKey{/tcb/interior engine}: \> |freelance|\\
- \refKey{/tcb/segmentation engine}: \> |freelance|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
\refKey{/tcb/title engine}: \> |path|
\end{tabbing}
\end{tcolorbox}
@@ -2806,9 +2960,9 @@ Nevertheless, this skin can be applied independently.
\refKey{/tcb/interior titled engine}: \=\kill
\refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirst|\\
- \refKey{/tcb/interior titled engine}: \> |freelance|\\
- \refKey{/tcb/interior engine}: \> |freelance|\\
- \refKey{/tcb/segmentation engine}: \> |freelance|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
\refKey{/tcb/title engine}: \> |pathfirst|
\end{tabbing}
\end{tcolorbox}
@@ -2849,9 +3003,9 @@ Nevertheless, this skin can be applied independently.
\refKey{/tcb/interior titled engine}: \=\kill
\refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddle|\\
- \refKey{/tcb/interior titled engine}: \> |freelance|\\
- \refKey{/tcb/interior engine}: \> |freelance|\\
- \refKey{/tcb/segmentation engine}: \> |freelance|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
\refKey{/tcb/title engine}: \> |pathmiddle|
\end{tabbing}
\end{tcolorbox}
@@ -2893,9 +3047,9 @@ Nevertheless, this skin can be applied independently.
\refKey{/tcb/interior titled engine}: \=\kill
\refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlast|\\
- \refKey{/tcb/interior titled engine}: \> |freelance|\\
- \refKey{/tcb/interior engine}: \> |freelance|\\
- \refKey{/tcb/segmentation engine}: \> |freelance|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
\refKey{/tcb/title engine}: \> |pathlast|
\end{tabbing}
\end{tcolorbox}
@@ -2947,9 +3101,9 @@ cannot be controlled by a style.
\refKey{/tcb/interior titled engine}: \=\kill
\refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |path|\\
- \refKey{/tcb/interior titled engine}: \> |freelance|\\
- \refKey{/tcb/interior engine}: \> |freelance|\\
- \refKey{/tcb/segmentation engine}: \> |freelance|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
\refKey{/tcb/title engine}: \> |path|
\end{tabbing}
\end{tcolorbox}
@@ -3028,9 +3182,9 @@ Nevertheless, this skin can be applied independently.
\refKey{/tcb/interior titled engine}: \=\kill
\refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirst|\\
- \refKey{/tcb/interior titled engine}: \> |freelance|\\
- \refKey{/tcb/interior engine}: \> |freelance|\\
- \refKey{/tcb/segmentation engine}: \> |freelance|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
\refKey{/tcb/title engine}: \> |pathfirst|
\end{tabbing}
\end{tcolorbox}
@@ -3073,9 +3227,9 @@ Nevertheless, this skin can be applied independently.
\refKey{/tcb/interior titled engine}: \=\kill
\refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddle|\\
- \refKey{/tcb/interior titled engine}: \> |freelance|\\
- \refKey{/tcb/interior engine}: \> |freelance|\\
- \refKey{/tcb/segmentation engine}: \> |freelance|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
\refKey{/tcb/title engine}: \> |pathmiddle|
\end{tabbing}
\end{tcolorbox}
@@ -3117,9 +3271,9 @@ Nevertheless, this skin can be applied independently.
\refKey{/tcb/interior titled engine}: \=\kill
\refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlast|\\
- \refKey{/tcb/interior titled engine}: \> |freelance|\\
- \refKey{/tcb/interior engine}: \> |freelance|\\
- \refKey{/tcb/segmentation engine}: \> |freelance|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
\refKey{/tcb/title engine}: \> |pathlast|
\end{tabbing}
\end{tcolorbox}
@@ -3170,8 +3324,8 @@ if needed.
\refKey{/tcb/frame engine}: \> |path|\\
\refKey{/tcb/interior titled engine}: \> |path|\\
\refKey{/tcb/interior engine}: \> |path|\\
- \refKey{/tcb/segmentation engine}: \> |freelance|\\
- \refKey{/tcb/title engine}: \> |freelance|
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> \emph{special}
\end{tabbing}
\end{tcolorbox}
\end{docSkin}
@@ -3228,8 +3382,8 @@ Nevertheless, this skin can be applied independently.
\refKey{/tcb/frame engine}: \> |pathfirst|\\
\refKey{/tcb/interior titled engine}: \> |pathfirst|\\
\refKey{/tcb/interior engine}: \> |pathfirst|\\
- \refKey{/tcb/segmentation engine}: \> |freelance|\\
- \refKey{/tcb/title engine}: \> |freelance|
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> \emph{special}
\end{tabbing}
\end{tcolorbox}
\end{docSkin}
@@ -3272,8 +3426,8 @@ Nevertheless, this skin can be applied independently.
\refKey{/tcb/frame engine}: \> |pathmiddle|\\
\refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
\refKey{/tcb/interior engine}: \> |pathmiddle|\\
- \refKey{/tcb/segmentation engine}: \> |freelance|\\
- \refKey{/tcb/title engine}: \> |freelance|
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> \emph{special}
\end{tabbing}
\end{tcolorbox}
\end{docSkin}
@@ -3315,8 +3469,8 @@ Nevertheless, this skin can be applied independently.
\refKey{/tcb/frame engine}: \> |pathlast|\\
\refKey{/tcb/interior titled engine}: \> |pathlast|\\
\refKey{/tcb/interior engine}: \> |pathlast|\\
- \refKey{/tcb/segmentation engine}: \> |freelance|\\
- \refKey{/tcb/title engine}: \> |freelance|
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> \emph{special}
\end{tabbing}
\end{tcolorbox}
\end{docSkin}
@@ -3347,6 +3501,300 @@ Nevertheless, this skin can be applied independently.
\end{dispExample}
+
+
+\clearpage
+\subsection{Skin Family 'empty'}
+
+\begin{docSkin}{empty}
+ This skin sets all engines to |empty|, i.\,e.\ nothing is drawn at all.
+ Therefore, this skin is a good starting point to create a complete
+ new style by yourself.
+\begin{tcolorbox}[skintable=empty]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |empty|\\
+ \refKey{/tcb/interior titled engine}: \> |empty|\\
+ \refKey{/tcb/interior engine}: \> |empty|\\
+ \refKey{/tcb/segmentation engine}: \> |empty|\\
+ \refKey{/tcb/title engine}: \> |empty|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{docTcbKey}{empty}{}{style, no value}
+ This is an abbreviation for setting |skin=empty|.
+\end{docTcbKey}
+
+\begin{dispExample}
+\tcbset{empty,equal height group=empty,
+ coltitle=Navy,borderline={2pt}{0pt}{black!10!white},
+ width=(\linewidth-6mm)/4,nobeforeafter,
+ left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm}
+%
+\begin{tcolorbox}
+ This is my content.
+\end{tcolorbox}\hfill
+\begin{tcolorbox}
+ This is my content.
+ \tcblower
+ More content.
+\end{tcolorbox}\hfill
+\begin{tcolorbox}[adjusted title=My title]
+ This is my content.
+\end{tcolorbox}\hfill
+\begin{tcolorbox}[adjusted title=My title]
+ This is my content.
+ \tcblower
+ More content.
+\end{tcolorbox}
+\end{dispExample}
+
+
+\clearpage
+\begin{docTcbKey}{blanker}{}{style, initially unset}
+ This style relies on the skin \refSkin{empty}. All engines
+ are set to empty and all margins are set to |0pt|.
+ In contrast to \refKey{/tcb/blank}, the graphical paths are
+ not constructed with exception of the geometry nodes.
+\begin{dispExample}
+\begin{tcolorbox}[blanker,watermark text=A blank box]
+\lipsum[1]
+\end{tcolorbox}
+\end{dispExample}
+
+\begin{dispExample}
+% \tcbuselibrary{fitting}
+\newtcboxfit{\mybox}[1]{blanker,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{docSkin}{emptyfirst}
+This is a flavor of \refSkin{empty} which is used as a \emph{first} part
+in a break sequence for \refSkin{empty}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=emptyfirst]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |empty|\\
+ \refKey{/tcb/interior titled engine}: \> |empty|\\
+ \refKey{/tcb/interior engine}: \> |empty|\\
+ \refKey{/tcb/segmentation engine}: \> |empty|\\
+ \refKey{/tcb/title engine}: \> |empty|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample}
+\tcbset{empty,skin=emptyfirst,equal height group=emptyfirst,
+ coltitle=Navy,borderline={2pt}{0pt}{black!10!white},
+ width=(\linewidth-6mm)/4,nobeforeafter,
+ left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm}
+%
+\begin{tcolorbox}
+ This is my content.
+\end{tcolorbox}\hfill
+\begin{tcolorbox}
+ This is my content.
+ \tcblower
+ More content.
+\end{tcolorbox}\hfill
+\begin{tcolorbox}[adjusted title=My title]
+ This is my content.
+\end{tcolorbox}\hfill
+\begin{tcolorbox}[adjusted title=My title]
+ This is my content.
+ \tcblower
+ More content.
+\end{tcolorbox}
+\end{dispExample}
+
+
+\clearpage
+
+\begin{docSkin}{emptymiddle}
+This is a flavor of \refSkin{empty} which is used as a \emph{middle} part
+in a break sequence for \refSkin{empty}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=emptymiddle]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |empty|\\
+ \refKey{/tcb/interior titled engine}: \> |empty|\\
+ \refKey{/tcb/interior engine}: \> |empty|\\
+ \refKey{/tcb/segmentation engine}: \> |empty|\\
+ \refKey{/tcb/title engine}: \> |empty|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample}
+\tcbset{empty,skin=emptymiddle,equal height group=emptymiddle,
+ coltitle=Navy,borderline={2pt}{0pt}{black!10!white},
+ width=(\linewidth-6mm)/4,nobeforeafter,
+ left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm}
+%
+\begin{tcolorbox}
+ This is my content.
+\end{tcolorbox}\hfill
+\begin{tcolorbox}
+ This is my content.
+ \tcblower
+ More content.
+\end{tcolorbox}\hfill
+\begin{tcolorbox}[adjusted title=My title]
+ This is my content.
+\end{tcolorbox}\hfill
+\begin{tcolorbox}[adjusted title=My title]
+ This is my content.
+ \tcblower
+ More content.
+\end{tcolorbox}
+\end{dispExample}
+
+
+\clearpage
+\begin{docSkin}{emptylast}
+This is a flavor of \refSkin{empty} which is used as a \emph{last} part
+in a break sequence for \refSkin{empty}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=emptylast]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |empty|\\
+ \refKey{/tcb/interior titled engine}: \> |empty|\\
+ \refKey{/tcb/interior engine}: \> |empty|\\
+ \refKey{/tcb/segmentation engine}: \> |empty|\\
+ \refKey{/tcb/title engine}: \> |empty|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+\begin{dispExample}
+\tcbset{empty,skin=emptylast,equal height group=emptylast,
+ coltitle=Navy,borderline={2pt}{0pt}{black!10!white},
+ width=(\linewidth-6mm)/4,nobeforeafter,
+ left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm}
+%
+\begin{tcolorbox}
+ This is my content.
+\end{tcolorbox}\hfill
+\begin{tcolorbox}
+ This is my content.
+ \tcblower
+ More content.
+\end{tcolorbox}\hfill
+\begin{tcolorbox}[adjusted title=My title]
+ This is my content.
+\end{tcolorbox}\hfill
+\begin{tcolorbox}[adjusted title=My title]
+ This is my content.
+ \tcblower
+ More content.
+\end{tcolorbox}
+\end{dispExample}
+
+\clearpage
+\begin{dispListing*}{breakable,label=freeboxexample,before upper={This example demonstrates
+a breakable customized box. Here, we define an environment |freebox|.
+The first application of |freebox| produces an unbroken |tcolorbox|.
+The box is drawn by the code given by \refKey{/tcb/frame code}
+and \refKey{/tcb/interior code}.\par
+The second application of |freebox| is broken into several parts which
+are drawn by the codes given by
+\refKey{/tcb/skin first is subskin of},
+\refKey{/tcb/skin middle is subskin of}, and
+\refKey{/tcb/skin last is subskin of}.
+\par\bigskip
+}}
+% Preamble:
+%\usepackage{tikz,lipsum}
+%\tcbuselibrary{skins,breakable}
+\tikzset{coltria/.style={fill=red!15!white}}
+
+\newtcolorbox{freebox}[1][]{empty,breakable,leftrule=5mm,left=2mm,
+ frame style={fill,top color=red!75!black,bottom color=red!75!black,middle color=red},
+ colback=yellow!50!white,
+ watermark color=red!50!yellow!75!white,
+ watermark text on=unbroken is unbroken box,
+ watermark text on=first is first part,
+ watermark text on=middle is middle part,
+ watermark text on=last is last part,
+ % code for unbroken boxes:
+ frame code={\path[tcb fill frame] (frame.south west)--(frame.north west)
+ --([xshift=-5mm]frame.north east)--([yshift=-5mm]frame.north east)
+ --([yshift=5mm]frame.south east)--([xshift=-5mm]frame.south east)--cycle; },
+ interior code={\path[tcb fill interior] (interior.south west)--(interior.north west)
+ --([xshift=-4.8mm]interior.north east)--([yshift=-4.8mm]interior.north east)
+ --([yshift=4.8mm]interior.south east)--([xshift=-4.8mm]interior.south east)
+ --cycle; },
+ % code for the first part of a break sequence:
+ skin first is subskin of={emptyfirst}{%
+ frame code={\path[tcb fill frame] (frame.south west)--(frame.north west)
+ --([xshift=-5mm]frame.north east)--([yshift=-5mm]frame.north east)
+ --(frame.south east)--cycle;
+ \path[coltria] ([xshift=2.5mm,yshift=1mm]frame.south west) -- +(120:2mm)
+ -- +(60:2mm)-- cycle; },
+ interior code={\path[tcb fill interior] (interior.south west|-frame.south)
+ --(interior.north west)--([xshift=-4.8mm]interior.north east)
+ --([yshift=-4.8mm]interior.north east)--(interior.south east|-frame.south)
+ --cycle; },
+ },%
+ % code for the middle part of a break sequence:
+ skin middle is subskin of={emptymiddle}{%
+ frame code={\path[tcb fill frame] (frame.south west)--(frame.north west)
+ --(frame.north east)--(frame.south east)--cycle;
+ \path[coltria] ([xshift=2.5mm,yshift=-1mm]frame.north west) -- +(240:2mm)
+ -- +(300:2mm) -- cycle;
+ \path[coltria] ([xshift=2.5mm,yshift=1mm]frame.south west) -- +(120:2mm)
+ -- +(60:2mm) -- cycle;
+ },
+ interior code={\path[tcb fill interior] (interior.south west|-frame.south)
+ --(interior.north west|-frame.north)--(interior.north east|-frame.north)
+ --(interior.south east|-frame.south)--cycle; },
+ },
+ % code for the last part of a break sequence:
+ skin last is subskin of={emptylast}{%
+ frame code={\path[tcb fill frame] (frame.south west)--(frame.north west)
+ --(frame.north east)--([yshift=5mm]frame.south east)
+ --([xshift=-5mm]frame.south east)--cycle;
+ \path[coltria] ([xshift=2.5mm,yshift=-1mm]frame.north west) -- +(240:2mm)
+ -- +(300:2mm) -- cycle;
+ },
+ interior code={\path[tcb fill interior] (interior.south west)
+ --(interior.north west|-frame.north)--(interior.north east|-frame.north)
+ --([yshift=4.8mm]interior.south east)--([xshift=-4.8mm]interior.south east)
+ --cycle; },
+ },
+ #1}
+
+\begin{freebox}
+\lipsum[1]
+\end{freebox}
+
+\begin{freebox}
+\lipsum[1-12]
+\end{freebox}
+\end{dispListing*}
+{\tcbusetemp}
+
+
\clearpage
\subsection{Skin 'spartan'}\label{subsec:spartan}
@@ -3354,8 +3802,9 @@ Nevertheless, this skin can be applied independently.
\begin{docSkin}{spartan}
This skin is quite \ldots\ spartan.
It supports no rounded corners, no overlays, no shadows, no borderlines,
- and no \refKey{/tcb/geometry nodes}. One cannot do any fancy things with
- this skin, but it compiles very fast. Therefore, the |spartan| skin is
+ and no finishes. The only exception are underlays.
+ One cannot do very fancy things with this skin, but it compiles very fast.
+ Therefore, the |spartan| skin is
used for the draft mode, see \Vref{subsec:draftmode}.
Nevertheless, it can be used as a normal skin.
@@ -3404,6 +3853,7 @@ Nevertheless, this skin can be applied independently.
\clearpage
+\tcbinterruptdraftmode
\subsection{Skin 'draft'}\label{subsec:draft}
@@ -3414,9 +3864,9 @@ Nevertheless, this skin can be applied independently.
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
\refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |freelance|\\
- \refKey{/tcb/interior titled engine}: \> |freelance|\\
- \refKey{/tcb/interior engine}: \> |freelance|\\
+ \refKey{/tcb/frame engine}: \> \emph{special}\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
\refKey{/tcb/segmentation engine}: \> |path|\\
\refKey{/tcb/title engine}: \> |path|
\end{tabbing}
@@ -3463,263 +3913,96 @@ Nevertheless, this skin can be applied independently.
\end{dispExample}
-\clearpage
-\subsection{TikZ Image Fill Extensions}\label{subsec:tikzimagefilling}
-The \mylib{skins} library adds some image fill options to the vast option set of
-|tikz| \cite{tantau:2013a}. These options can be used in any |tikzpicture|.
-
-\begin{docTikzKey}{fill plain image}{=\meta{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The image is put in the center of the path, but it is not resized to fit into
- the path area.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
-\begin{tikzpicture}
-\path[draw,fill plain image=goldshade.png]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill plain image*}{=\meta{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The image is put in the center of the path, but it is not resized to fit into
- the path area.
- The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
-\begin{tikzpicture}
-\path[draw,fill plain image*={width=2.5cm}{goldshade.png}]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill stretch image}{=\meta{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The image is stretched to fill the path area.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
-\begin{tikzpicture}
-\path[fill stretch image=goldshade.png]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill stretch image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
- The image is stretched to fill the path area.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
-\begin{tikzpicture}
-\path[fill stretch image*=
- {angle=90,origin=c}{goldshade.png}]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill overzoom image}{=\meta{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The image is zoomed such that the path area fills the image.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
-\begin{tikzpicture}
-\path[fill overzoom image=goldshade.png]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill overzoom image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
- The image is zoomed such that the path area fills the image.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
-\begin{tikzpicture}
-\path[fill overzoom image*=
- {angle=90,origin=c}{goldshade.png}]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill zoom image}{=\meta{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The image is zoomed such that it fits inside the path area.
- Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
-\begin{tikzpicture}
-\path[draw,fill zoom image=goldshade.png]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill zoom image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
- The image is zoomed such that it fits inside the path area.
- Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
-\begin{tikzpicture}
-\path[draw,fill zoom image*=
- {angle=90,origin=c}{goldshade.png}]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
\clearpage
-\begin{docTikzKey}{fill shrink image}{=\meta{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The image is zoomed such that it fits inside the path area, but it never
- gets enlarged.
- Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
-\begin{tikzpicture}
-\path[draw,fill shrink image=goldshade.png]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill shrink image*}{=\meta{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
- The image is zoomed such that it fits inside the path area, but it never
- gets enlarged.
- Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
-\begin{tikzpicture}
-\path[draw,fill shrink image*={width=1.5cm}{goldshade.png}]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-
-\begin{docTikzKey}{fill tile image}{=\meta{file name}}{no default, initially unset}
- Fills the current path with a tile pattern using an external image referenced by \meta{file name}.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
-\begin{tikzpicture}
-\path[fill tile image=pink_marble.png]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
+\subsection{Skin Family 'freelance'}
+\begin{marker}
+This skin family 'freelance' is deprecated with |tcolorbox| 3.00.
+It is not longer needed, because
+\refKey{/tcb/frame code},
+\refKey{/tcb/interior code},
+\refKey{/tcb/interior titled code}, and
+\refKey{/tcb/title code}
+can be applied to every skin now. In this sense, everything has become
+\emph{freelance} now.\par
+For users of \refKey{/tcb/freelance}: Old code should continue to work. There may be
+exceptions for breakable freelance boxes under certain circumstances.
+For new code, use \refKey{/tcb/empty} or \refKey{/tcb/enhanced} where
+you would have used \refKey{/tcb/freelance} before.
+\end{marker}
+\begin{docSkin}{freelance}
+ This skin gives full freedom for the appearance of the |tcolorbox|.
+ All drawing engines are set to type |freelance|; they use the |tikz| package
+ and compute the \refKey{/tcb/geometry nodes}.
+ %This skin is useful for boxes which should differ much from the normal
+ %appearance. Note that this difference has to be programmed by the user.
+ %The drawing code can be given
+ %with the following option keys. As default value, the code from the |standard|
+ %skin is set.
+\begin{tcolorbox}[skintable=freelance]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |freelance|\\
+ \refKey{/tcb/interior titled engine}: \> |freelance|\\
+ \refKey{/tcb/interior engine}: \> |freelance|\\
+ \refKey{/tcb/segmentation engine}: \> |freelance|\\
+ \refKey{/tcb/title engine}: \> |freelance|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
-\begin{docTikzKey}{fill tile image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
- Fills the current path with a tile pattern using an external image referenced by \meta{file name}.
- The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
-\begin{tikzpicture}
-\path[fill tile image*={width=1cm}{pink_marble.png}]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
+\begin{docTcbKey}{freelance}{}{style, no value}
+ This is an abbreviation for setting |skin=freelance|.
+\end{docTcbKey}
+\begin{docSkin}{freelancefirst}
+ This skin equals \refSkin{freelance} with exception of the break sequence,
+ see \Vref{subsec:breaksequence}.
+ %It is used as first part of the
+ %break sequence of \refSkin{freelance}. \refKey{/tcb/extend freelancefirst}
+ %can be used to customize this part.
+\end{docSkin}
-\clearpage
-\begin{docTikzKey}{fill image opacity}{=\meta{fraction}}{no default, initially |1.0|}
- Sets the fill opacity for the image fill options to the given \meta{fraction}.
-\begin{dispExample}
-\begin{tikzpicture}
-\path[fill stretch image=goldshade.png] (0,0) circle (1cm);
-\path[fill=red,fill stretch image=goldshade.png,fill image opacity=0.75]
- (2,0) circle (1cm);
-\path[fill=red,fill stretch image=goldshade.png,fill image opacity=0.5]
- (4,0) circle (1cm);
-\path[fill=red,fill stretch image=goldshade.png,fill image opacity=0.25]
- (6,0) circle (1cm);
-\path[fill=red] (8,0) circle (1cm);
-\end{tikzpicture}
-\end{dispExample}
-\end{docTikzKey}
+\begin{docSkin}{freelancemiddle}
+ This skin equals \refSkin{freelance} with exception of the break sequence,
+ see \Vref{subsec:breaksequence}.
+ %It is used as middle part of the
+ %break sequence of \refSkin{freelance}. \refKey{/tcb/extend freelancemiddle}
+ %can be used to customize this part.
+\end{docSkin}
+\begin{docSkin}{freelancelast}
+ This skin equals \refSkin{freelance} with exception of the break sequence,
+ see \Vref{subsec:breaksequence}.
+ %It is used as last part of the
+ %break sequence of \refSkin{freelance}. \refKey{/tcb/extend freelancelast}
+ %can be used to customize this part.
+\end{docSkin}
-\begin{docTikzKey}{fill image scale}{=\meta{fraction}}{no default, initially |1.0|}
- Stretches, zooms, overzooms or shrinks the image to the given \meta{fraction} of the
- width and height of the current path.
-\begin{dispExample}
-\begin{tikzpicture}
-\path[draw,fill zoom image=goldshade.png]
- (0,0) rectangle +(2,2);
-\path[draw,fill zoom image=goldshade.png,fill image scale=0.75]
- (3,0) rectangle +(2,2);
+\begin{docTcbKey}{extend freelance}{=\meta{options}}{no default, initially empty}
+The \meta{options} are added to the skin definition of \refSkin{freelance}.
+\end{docTcbKey}
-\path[draw,fill zoom image=goldshade.png,fill image scale=1.5]
- (6,0) rectangle +(2,2);
-\end{tikzpicture}
-\end{dispExample}
-\end{docTikzKey}
+\begin{docTcbKey}{extend freelancefirst}{=\meta{options}}{no default, initially empty}
+The \meta{options} are added to the skin definition of \refSkin{freelancefirst} which
+is used as first part of the break sequence of \refSkin{freelance}.
+See \refKey{/tcb/skin first is subskin of} for a substitute of this key.
+\end{docTcbKey}
+\begin{docTcbKey}{extend freelancemiddle}{=\meta{options}}{no default, initially empty}
+The \meta{options} are added to the skin definition of \refSkin{freelancemiddle} which
+is used as middle part of the break sequence of \refSkin{freelance}.
+See \refKey{/tcb/skin middle is subskin of} for a substitute of this key.
+\end{docTcbKey}
-\begin{docTikzKey}{fill image options}{=\meta{graphics options}}{no default, initially empty}
- The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command
- for the image fill options. This can be just together with
- \refKey{/tikz/fill stretch image}, \refKey{/tikz/fill overzoom image}, \refKey{/tikz/fill zoom image},
- and \refKey{/tikz/fill tile image}.
-\begin{dispExample*}{sbs,lefthand ratio=0.66}
-\begin{tikzpicture}
-\path[fill image options={width=1cm},
- fill tile image=pink_marble.png]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
+\begin{docTcbKey}{extend freelancelast}{=\meta{options}}{no default, initially empty}
+The \meta{options} are added to the skin definition of \refSkin{freelancelast} which
+is used as last part of the break sequence of \refSkin{freelance}.
+See \refKey{/tcb/skin last is subskin of} for a substitute of this key.
+\end{docTcbKey}
-\begin{dispExample*}{sbs,lefthand ratio=0.6,center lower,fonttitle=\bfseries,
- title=Image blending example}
-\begin{tikzpicture}[every node/.style=
- {circle,minimum width=2cm}]
-\node[fill stretch image=blueshade.png]
- (A) at (120:3cm) {A};
-\node[fill stretch image=goldshade.png]
- (B) at (60:3cm) {B};
-\node[
- preaction={fill stretch image=blueshade.png},
- fill stretch image=goldshade.png,
- fill image opacity=0.5] (C) {C};
-\path (A) -- node{$+$} (B);
-\draw[->,very thick] (A)--(C);
-\draw[->,very thick] (B)--(C);
-\end{tikzpicture}
-\end{dispExample*}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex
new file mode 100644
index 00000000000..b1bceb2a13c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex
@@ -0,0 +1,645 @@
+% !TeX root = tcolorbox.tex
+% include file of tcolorbox.tex (manual of the LaTeX package tcolorbox)
+\clearpage
+\section{Technical Overview and Customization}\label{sec:technical}
+This section provides a technical overview of the skin concept of |tcolorbox|.
+For most applications of |tcolorbox|, one will not need to know the bells and
+whistles described herein.
+You may proceed to \Vref{sec:skins} where the customization options
+for most users are documented.
+
+The following explanations also cover options and settings from the \mylib{skins} library,
+see \Vref{sec:skins}.
+
+
+%The library is loaded by a package option or inside the preamble by:
+%\begin{dispListing}
+%\tcbuselibrary{skins}
+%\end{dispListing}
+%This also loads the package |tikz| \cite{tantau:2013a}. Typically but not necessarily,
+%the following skins use |tikz| instead of |pgf|.
+
+\subsection{Skins and Drawing Engines}\label{sec:skincorekeys}
+From a technical point of view, a \emph{skin} is a style definition for the
+appearance of a |tcolorbox|. The core package provides some additional
+option keys for skins but only two skins called \refSkin{standard}
+and \refSkin{standard jigsaw}.
+The \mylib{skins} library adds several more skins. To change to a skin, only one
+option from the core package has to be set.
+
+\begin{docTcbKey}{skin}{=\meta{name}}{style, no default, initially \texttt{standard}}
+ Sets the current skin to \meta{name}. This is a style definition which sets all the following
+ keys, i.\,e.\ for many use cases there is nothing more to do.
+\begin{dispExample}
+\tcbset{colback=Salmon!50!white,colframe=FireBrick!75!black,
+ width=(\linewidth-8mm)/2,before=,after=\hfill,equal height group=ske}
+
+\begin{tcolorbox}[adjusted title=My title]
+ This is my content.
+\end{tcolorbox}
+\begin{tcolorbox}[skin=beamer,beamer,adjusted title=My title]
+ This is my content.
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+%\begin{marker}
+% On first read, you may skip the rest of this subsection and proceed to
+% Subsection \ref{subsec:addstyleoptions} on page \pageref{subsec:addstyleoptions}.
+% All following keys in this subsection are automatically set by the selected skin
+% and you may never have to temper with them.
+% Nevertheless, they can be used after a skin was selected to modify
+% this skin.
+%\end{marker}
+
+
+\begin{docTcbKey}{skin first}{=\meta{name}}{style, no default, initially \texttt{standard}}
+ If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
+ then the skin for the \emph{first} part of the break sequence
+ is set to \meta{name}, see Subsection \ref{subsec:breaksequence} on page \pageref{subsec:breaksequence}.
+ Typically, this key is set by a \refKey{/tcb/skin}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{skin middle}{=\meta{name}}{style, no default, initially \texttt{standard}}
+ If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
+ then the skin for the \emph{middle} parts (if any) of the break sequence
+ is set to \meta{name}, see Subsection \ref{subsec:breaksequence} on page \pageref{subsec:breaksequence}.
+ Typically, this key is set by a \refKey{/tcb/skin}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{skin last}{=\meta{name}}{style, no default, initially \texttt{standard}}
+ If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
+ then the skin for the \emph{last} part of the break sequence
+ is set to \meta{name}, see Subsection \ref{subsec:breaksequence} on page \pageref{subsec:breaksequence}.
+ Typically, this key is set by a \refKey{/tcb/skin}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{graphical environment}{=\meta{name}}{no default, initially \texttt{pgfpicture}}
+ Sets the graphical environment for the |tcolorbox| to \meta{name}.
+ Feasible values are |pgfpicture| and |tikzpicture| or environments which
+ inherit from one of these two. This key is set by a \refKey{/tcb/skin} and
+ may seldom be used directly.
+\end{docTcbKey}
+
+The skin of a |tcolorbox| is drawn by up to four \emph{engines}.
+Afterwards, the text content is drawn which is not part of a skin.
+The four steps are:
+\begin{enumerate}
+\item The \emph{frame} of the box, drawn by \refKey{/tcb/frame engine}.
+\item The \emph{interior} of the box. The interior of a box with title is
+ drawn differently from a box without title.
+ \refKey{/tcb/interior titled engine} or \refKey{/tcb/interior engine}
+ is used to draw the interior.
+\item The \emph{segmentation} (line) of the box, if there is a lower part;
+ drawn by \refKey{/tcb/segmentation engine}.
+\item The \emph{title area} of the box, if there is a title and
+ \refKey{/tcb/title filled} is set to |true|; drawn
+ by \refKey{/tcb/title engine}.
+\end{enumerate}
+
+%Every engine for the up to four steps can be set to one of the following types:
+%\begin{enumerate}
+%\item\docValue{standard}: the original code from the core package.
+%\item\docValue{path}: a |tikz| path which can be controlled by options.
+%\item\docValue{pathfirst}: a |tikz| path which can be controlled by options.
+%\item\docValue{pathmiddle}: a |tikz| path which can be controlled by options.
+%\item\docValue{pathlast}: a |tikz| path which can be controlled by options.
+%\item\docValue{freelance}: arbitrary user code.
+%\item\docValue{spartan}: a quite spartan code.
+%\end{enumerate}
+%\clearpage
+
+\begin{docTcbKey}{frame engine}{=\meta{name}}{no default, initially \texttt{standard}}
+ Sets the \emph{frame} drawing engine for a box to \meta{name}.
+ Typically, this key is set by a \refKey{/tcb/skin}.
+ Feasible values for \meta{name} are:
+ \begin{itemize}
+ \item\docValue{standard}: the original code from the core package,
+ \item\docValue{path}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
+ \item\docValue{pathjigsaw}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
+ \item\docValue{pathfirst}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
+ \item\docValue{pathfirstjigsaw}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
+ \item\docValue{pathmiddle}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
+ \item\docValue{pathmiddlejigsaw}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
+ \item\docValue{pathlast}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
+ \item\docValue{pathlastjigsaw}: a |tikz| path which is controlled by \refKey{/tcb/frame style},
+ \item\docValue{freelance}: deprecated.
+ \item\docValue{spartan}: a quite spartan code.
+ \item\docValue{empty}: draw nothing.
+\end{itemize}
+\end{docTcbKey}
+
+\begin{docTcbKey}{interior titled engine}{=\meta{name}}{no default, initially \texttt{standard}}
+ Sets the \emph{interior} drawing engine for a titled box to \meta{name}.
+ Typically, this key is set by a \refKey{/tcb/skin}.
+ Feasible values for \meta{name} are:
+ \begin{itemize}
+ \item\docValue{standard}: the original code from the core package,
+ \item\docValue{path}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
+ \item\docValue{pathfirst}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
+ \item\docValue{pathmiddle}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
+ \item\docValue{pathlast}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
+ \item\docValue{freelance}: deprecated.
+ \item\docValue{spartan}: a quite spartan code.
+ \item\docValue{empty}: draw nothing.
+ \end{itemize}
+\end{docTcbKey}
+
+\clearpage
+\begin{docTcbKey}{interior engine}{=\meta{name}}{no default, initially \texttt{standard}}
+ Sets the \emph{interior} drawing engine for an untitled box to \meta{name}.
+ Typically, this key is set by a \refKey{/tcb/skin}.
+ Feasible values for \meta{name} are:
+ \begin{itemize}
+ \item\docValue{standard}: the original code from the core package,
+ \item\docValue{path}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
+ \item\docValue{pathfirst}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
+ \item\docValue{pathmiddle}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
+ \item\docValue{pathlast}: a |tikz| path which is controlled by \refKey{/tcb/interior style},
+ \item\docValue{freelance}: deprecated.
+ \item\docValue{spartan}: a quite spartan code.
+ \item\docValue{empty}: draw nothing.
+ \end{itemize}
+\end{docTcbKey}
+
+\begin{docTcbKey}{segmentation engine}{=\meta{name}}{no default, initially \texttt{standard}}
+ Sets the \emph{segmentation} (line) drawing engine for a box to \meta{name}.
+ Typically, this key is set by a \refKey{/tcb/skin}.
+ Feasible values for \meta{name} are:
+ \begin{itemize}
+ \item\docValue{standard}: the original code from the core package,
+ \item\docValue{path}: a |tikz| path which is controlled by \refKey{/tcb/segmentation style},
+ \item\docValue{freelance}: deprecated.
+ \item\docValue{spartan}: a quite spartan code.
+ \item\docValue{empty}: draw nothing.
+ \end{itemize}
+\end{docTcbKey}
+
+\begin{docTcbKey}{title engine}{=\meta{name}}{no default, initially \texttt{standard}}
+ Sets the \emph{title area} drawing engine for a titled box to \meta{name}.
+ Typically, this key is set by a \refKey{/tcb/skin}.
+ Feasible values for \meta{name} are:
+ \begin{itemize}
+ \item\docValue{standard}: the original code from the core package,
+ \item\docValue{path}: a |tikz| path which is controlled by \refKey{/tcb/title style},
+ \item\docValue{pathfirst}: a |tikz| path which is controlled by \refKey{/tcb/title style},
+ \item\docValue{pathmiddle}: a |tikz| path which is controlled by \refKey{/tcb/title style},
+ \item\docValue{pathlast}: a |tikz| path which is controlled by \refKey{/tcb/title style},
+ \item\docValue{freelance}: deprecated.
+ \item\docValue{spartan}: a quite spartan code.
+ \item\docValue{empty}: draw nothing.
+ \end{itemize}
+\end{docTcbKey}
+
+\begin{marker}
+After an engine is set to an initializing value, the resulting graphical
+code can be changed using code option keys, see \Vref{subsec:addcodeoptions}.
+\end{marker}
+
+\clearpage
+\begin{docTcbKey}{geometry nodes}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
+ If set to |true|, up to four |tikz| nodes are defined for a |tcolorbox|
+ which are named |frame|, |interior|, |segmentation|, and |title|. These nodes
+ describe the boundaries of the equally named parts of a |tcolorbox|.
+ They are used by most engines based on \tikzname.
+ Typically, this key is set automatically by a \refKey{/tcb/skin}.
+\begin{dispExample}
+\tcbset{colback=Salmon!50!white,colframe=FireBrick!75!black,
+ width=(\linewidth-8mm)/2,before=,after=\hfill,equal height group=geon}
+
+\begin{tcolorbox}[adjusted title=The title]
+ The upper part.\tcblower The lower part.
+\end{tcolorbox}
+\begin{tcolorbox}[enhanced,adjusted title=The title,
+ frame code={\path[draw=red,fill=red!25]
+ (frame.south west) rectangle (frame.north east);},
+ interior titled code={\path[draw=blue,fill=blue!25]
+ (interior.south west) rectangle (interior.north east);},
+ segmentation code={\path[draw=green,fill=green!25]
+ (segmentation.south west) rectangle (segmentation.north east);},
+ title code={\path[draw=black,fill=brown!75!black]
+ (title.south west) rectangle (title.north east);}]
+ The upper part.\tcblower The lower part.
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+
+
+
+
+\clearpage
+\subsection{Code Option Keys}\label{subsec:addcodeoptions}
+The following code options are applicable for all skins.
+%which
+%use engines of type |freelance|.
+%Especially, the skin \refSkin{freelance} supports \emph{all} of them,
+%\refSkin{standard} and \refSkin{enhanced} \emph{none} of them.
+The used \meta{graphical code} can be any |pgf| code. For all skins
+with exception of \refSkin{standard}
+and \refSkin{standard jigsaw}, the \meta{graphical code} can also
+be any \tikzname\ code.
+
+
+\begin{docTcbKey}{frame code}{\colOpt{=\meta{graphical code}}}{code, default from |standard|}
+ The given \meta{graphical code} is used for drawing the \emph{frame} of the box.
+ %This option is available only if the \refKey{/tcb/frame engine} is set to |freelance|.
+\begin{dispExample}
+\tcbset{colback=red!5!white,colframe=red!75!black}
+
+\begin{tcolorbox}[enhanced,frame code={
+ \foreach \n in {north east,north west,south east,south west}
+ {\path [fill=red!75!black] (interior.\n) circle (3mm); }; }]
+This is a \textbf{tcolorbox}.
+\tcblower
+This is the lower part.
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{frame empty}{}{style, no value}
+ This is a shortcut for setting \refKey{/tcb/frame code} to empty.
+ This option removes the drawing of the frame.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{interior titled code}{\colOpt{=\meta{graphical code}}}{code, default from |standard|}
+ The given \meta{graphical code} is used
+ for drawing the \emph{interior} of the box, if the box comes with a title.
+ %This option is available only if the \refKey{/tcb/interior titled engine} is set to |freelance|.
+\begin{dispExample}
+\tcbset{colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries}
+
+\begin{tcolorbox}[enhanced,title=My title,interior titled code={
+ \path[draw=red!5!white,line width=5mm,line cap=round]
+ ([xshift=3mm,yshift=-3mm]interior.north west)
+ --([xshift=-3mm,yshift=3mm]interior.south east)
+ ([xshift=3mm,yshift=3mm]interior.south west)
+ --([xshift=-3mm,yshift=-3mm]interior.north east);}]
+This is a \textbf{tcolorbox}.
+\tcblower
+This is the lower part.
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{interior titled empty}{}{style, no value}
+ This is a shortcut for setting \refKey{/tcb/interior titled code} to empty.
+ This option removes the drawing of the untitled interior.
+\end{docTcbKey}
+
+
+
+\clearpage
+\begin{docTcbKey}{interior code}{\colOpt{=\meta{graphical code}}}{code, default from |standard|}
+ The given \meta{graphical code} is used
+ for drawing the \emph{interior} of the box, if the box is without a title.%\\
+ %This option is available only if the \refKey{/tcb/interior engine} is set to |freelance|.
+\begin{dispExample}
+\tcbset{colback=red!5!white,colframe=red!75!black}
+
+\begin{tcolorbox}[enhanced,interior code={
+ \path[draw=red!5!white,line width=5mm,line cap=round]
+ ([xshift=3mm,yshift=-3mm]interior.north west)
+ --([xshift=-3mm,yshift=3mm]interior.south east)
+ ([xshift=3mm,yshift=3mm]interior.south west)
+ --([xshift=-3mm,yshift=-3mm]interior.north east);}]
+This is a \textbf{tcolorbox}.
+\tcblower
+This is the lower part.
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
+\begin{docTcbKey}{interior empty}{}{style, no value}
+ This is a shortcut for setting \refKey{/tcb/interior code} to empty.
+ This option removes the drawing of the interior.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{segmentation code}{\colOpt{=\meta{graphical code}}}{code, default from |standard|}
+ The given \meta{graphical code} is used for drawing the
+ \emph{segmentation} area of the box.%\\
+ %This option is available only if the \refKey{/tcb/segmentation engine} is set to |freelance|.
+\begin{dispExample}
+\tcbset{colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries}
+
+\begin{tcolorbox}[enhanced,title=My title,segmentation code={
+ \path[top color=red!5!white,bottom color=red!5!white,middle color=blue]
+ (segmentation.south west) rectangle (segmentation.north east);}]
+This is a \textbf{tcolorbox}.
+\tcblower
+This is the lower part.
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{segmentation empty}{}{style, no value}
+ This is a shortcut for setting \refKey{/tcb/segmentation code} to empty.
+ This option removes the drawing of the segmentation line.
+\end{docTcbKey}
+
+
+
+\clearpage
+\begin{docTcbKey}{title code}{\colOpt{=\meta{graphical code}}}{code, default from |standard|}
+ The given \meta{graphical code} is used for drawing the
+ \emph{title} area of the box.
+ %\\
+ %This option is available only if the \refKey{/tcb/title engine} is set to |freelance|.
+\begin{dispExample}
+\tcbset{colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
+ coltitle=black}
+
+\begin{tcolorbox}[enhanced,title=My title,title code={
+ \path[draw=yellow,solid,decorate,line width=2mm,
+ decoration={coil,aspect=0,segment length=10.1mm}]
+ ([xshift=1mm]title.west) -- ([xshift=-1mm]title.east);}]
+This is a \textbf{tcolorbox}.
+\tcblower
+This is the lower part.
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{title empty}{}{style, no value}
+ This is a shortcut for setting \refKey{/tcb/title code} to empty.
+ This option removes the drawing of the title area.
+\end{docTcbKey}
+
+\clearpage
+\subsection{Subskins}\label{subsec:subskins}
+A subskin is a new \refKey{/tcb/skin} based on an existing skin which
+is extended or changed.
+
+\begin{marker}
+Never use geometry settings or bounding box options inside a subskin definition!
+If one skin is replaced by another skin, the overall bounding box should stay
+constant. Especially, if a skin is used for a breakable box, unpredictable
+and unpleasant results could arise otherwise. If you want to change the
+geometry also, use an additional style. See the skin \refSkin{beamer} and
+the style \refKey{/tcb/beamer} as pattern.
+\end{marker}
+
+\begin{docCommand}{tcbsubskin}{\marg{name}\marg{base skin}\marg{options}}
+ Creates a new skin \meta{name} which inherits all properties of an
+ existing \meta{base skin} plus the given \meta{options}.
+ The new skin \meta{name} can be used as value for the keys
+ \refKey{/tcb/skin},
+ \refKey{/tcb/skin first},
+ \refKey{/tcb/skin middle}, and
+ \refKey{/tcb/skin last}.
+ As \meta{base skin}, one can take \refSkin{standard}, \refSkin{empty},
+ \refSkin{enhanced}, or any skin from the \mylib{skins} library,
+ see \Vref{sec:skins}.
+
+\begin{dispExample}
+% \tcbuselibrary{skins}
+\tcbsubskin{mycross}{empty}{frame code={%
+ \draw[red,line width=5pt] (frame.south west)--(frame.north east);
+ \draw[red,line width=5pt] (frame.north west)--(frame.south east);},
+ skin first=mycross,skin middle=mycross,skin last=mycross }
+
+\begin{tcolorbox}[skin=mycross]
+ This is my content.
+\end{tcolorbox}
+\end{dispExample}
+
+\end{docCommand}
+
+
+\begin{docTcbKey}{skin first is subskin of}{=\marg{base skin}\marg{options}}{no default, initially unset}
+ Creates a new unnamed skin which inherits all properties of an
+ existing \meta{base skin} plus the given \meta{options}.
+ This skin is set as \refKey{/tcb/skin first}.\\
+ See a detailed example on page~\pageref{freeboxexample}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{skin middle is subskin of}{=\marg{base skin}\marg{options}}{no default, initially unset}
+ Creates a new unnamed skin which inherits all properties of an
+ existing \meta{base skin} plus the given \meta{options}.
+ This skin is set as \refKey{/tcb/skin middle}.\\
+ See a detailed example on page~\pageref{freeboxexample}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{skin last is subskin of}{=\marg{base skin}\marg{options}}{no default, initially unset}
+ Creates a new unnamed skin which inherits all properties of an
+ existing \meta{base skin} plus the given \meta{options}.
+ This skin is set as \refKey{/tcb/skin last}.\\
+ See a detailed example on page~\pageref{freeboxexample}.
+\end{docTcbKey}
+
+
+\clearpage
+\subsection{Drawing Scheme}\label{subsec:tcolorboxdrawing}
+
+\bgroup
+
+Depending on the complexity of a |tcolorbox| definition, the resulting box
+is drawn in a more or less complex series of steps.
+
+To document and demonstrate these drawing steps, we consider the
+following box definition:
+
+\begin{dispListing}
+\newtcolorbox{testbox}[1][]{enhanced,title=Test Box,
+ boxrule=1mm,titlerule=0.5mm,colframe=blue!50!black,
+ interior style={top color=blue!20!green!50!white,bottom color=blue!20!yellow!50!white},
+ colbacktitle=blue!50!green!90!white,segmentation style={solid},
+ fonttitle=\bfseries,drop fuzzy shadow,borderline={0.3mm}{0.35mm}{yellow!50!white},
+ underlay={\path[fill image opacity=0.15,fill image scale=0.9,
+ fill stretch picture={\draw[blue,line width=2mm] circle (1);}]
+ (interior.south west) rectangle (interior.north east);},
+ watermark text={Watermark},watermark color={green!20!white},
+ finish={\begin{tcbclipframe}
+ \path[bottom color=black,top color=black!50!white,opacity=0.1]
+ (frame.south west) -- (frame.south east) -- (frame.north east) -- cycle;
+ \path[top color=white,bottom color=black!50!white,opacity=0.1]
+ (frame.south west) -- (frame.north east) -- (frame.north west) -- cycle;
+ \end{tcbclipframe}},#1}
+\end{dispListing}
+\tcbusetemp
+
+For this definition, we get the maximal number of drawing steps:
+
+\newtcolorbox{itembox}{oversize,enhanced,frame empty,segmentation empty,colback=white,middle=2mm,boxsep=0pt,
+ fuzzy halo=0.5mm with blue!15!white,
+ before lower=\raggedright\begin{itemize},after lower=\end{itemize}}
+
+\tcbset{finishcomment/.style={
+ finish={\node[fill=white,draw=black!50!white,rounded corners] at (frame.center) {#1};}
+}}
+
+
+\begin{itembox}
+\begin{testbox}[frame empty,interior titled empty,title empty,segmentation empty,
+ no shadow,no borderline,no underlay,no overlay,no finish,opacityupper=0,opacitylower=0,opacitytitle=0,
+ drop fuzzy shadow=red!75!white,
+ finishcomment={1.~shadow}]
+\lipsum[2]
+\tcblower
+Lower part
+\end{testbox}
+\tcblower
+\item\Vref{subsec:shadows}
+\end{itembox}
+
+\begin{itembox}
+\begin{testbox}[interior titled empty,title empty,segmentation empty,
+ no borderline,no underlay,no overlay,no finish,opacityupper=0,opacitylower=0,opacitytitle=0,
+ colframe=red!75!white,
+ finishcomment={2.~frame}]
+\lipsum[2]
+\tcblower
+Lower part
+\end{testbox}
+\tcblower
+\item\refKey{/tcb/colframe}, \refKey{/tcb/opacityframe}
+\item\refKey{/tcb/frame code}
+\item\refKey{/tcb/frame style}
+\end{itembox}
+
+
+\begin{itembox}
+\begin{testbox}[title empty,segmentation empty,
+ no borderline,no underlay,no overlay,no finish,opacityupper=0,opacitylower=0,opacitytitle=0,
+ colback=red!75!white,
+ finishcomment={3.~interior}]
+\lipsum[2]
+\tcblower
+Lower part
+\end{testbox}
+\tcblower
+\item\refKey{/tcb/colback}, \refKey{/tcb/opacityback}
+\item\refKey{/tcb/interior code}, \refKey{/tcb/interior titled code}
+\item\refKey{/tcb/interior style}
+\end{itembox}
+
+
+\begin{itembox}
+\begin{testbox}[segmentation empty,
+ no borderline,no underlay,no overlay,no finish,opacityupper=0,opacitylower=0,opacitytitle=0,
+ colbacktitle=red!75!white,
+ finishcomment={4.~title area}]
+\lipsum[2]
+\tcblower
+Lower part
+\end{testbox}
+\tcblower
+\item\refKey{/tcb/colbacktitle}, \refKey{/tcb/opacitybacktitle}
+\item\refKey{/tcb/title code}
+\item\refKey{/tcb/title style}
+\end{itembox}
+
+
+\begin{itembox}
+\begin{testbox}[
+ no borderline,no underlay,no overlay,no finish,opacityupper=0,opacitylower=0,opacitytitle=0,
+ segmentation style={solid,red!75!white},
+ finishcomment={5.~segmentation}]
+\lipsum[2]
+\tcblower
+Lower part
+\end{testbox}
+\tcblower
+\item\refKey{/tcb/lower separated}
+\item\refKey{/tcb/segmentation code}
+\item\refKey{/tcb/segmentation style}
+\end{itembox}
+
+
+\begin{itembox}
+\begin{testbox}[
+ no borderline,no underlay,no overlay,no finish,opacityupper=0,opacitylower=0,opacitytitle=0,
+ borderline={0.3mm}{0.35mm}{red!75!white},
+ finishcomment={6.~border line}]
+\lipsum[2]
+\tcblower
+Lower part
+\end{testbox}
+\tcblower
+\item\Vref{subsec:borderline}
+\end{itembox}
+
+
+\begin{itembox}
+\begin{testbox}[
+ no underlay,no overlay,no finish,opacityupper=0,opacitylower=0,opacitytitle=0,
+ underlay={\path[opacity=0.15,fill image scale=0.9,
+ fill stretch picture={\draw[red,line width=2mm] circle (1);}]
+ (interior.south west) rectangle (interior.north east);},
+ finishcomment={7.~underlay}]
+\lipsum[2]
+\tcblower
+Lower part
+\end{testbox}
+\tcblower
+\item\Vref{subsec:skinboxedtitle}
+\item\Vref{subsec:skinunderlay}
+\end{itembox}
+
+
+\begin{itembox}
+\begin{testbox}[
+ no finish,opacityupper=0,opacitylower=0,opacitytitle=0,
+ watermark color={red!75!white},
+ finishcomment={8.~overlay}]
+\lipsum[2]
+\tcblower
+Lower part
+\end{testbox}
+\tcblower
+\item\Vref{subsec:overlays}
+\item\Vref{subsec:watermarks}
+\end{itembox}
+
+
+\begin{itembox}
+\begin{testbox}[
+ no finish,
+ colupper=red!75!white,coltitle=red!75!white,collower=red!75!white,
+ finishcomment={9.~text content}]
+\lipsum[2]
+\tcblower
+Lower part
+\end{testbox}
+\tcblower
+\item\refKey{/tcb/colupper}, \refKey{/tcb/collower}, \refKey{/tcb/coltitle}
+\item\refKey{/tcb/fontupper}, \refKey{/tcb/fontlower}, \refKey{/tcb/fonttitle}
+\item\refKey{/tcb/opacityupper}, \refKey{/tcb/opacitylower}, \refKey{/tcb/opacitytitle}
+\end{itembox}
+
+
+\begin{itembox}
+\begin{testbox}[
+ finishcomment={10.~finish}]
+\lipsum[2]
+\tcblower
+Lower part
+\end{testbox}
+\tcblower
+\item\Vref{subsec:skinfinish}
+\end{itembox}
+
+All together, the box is drawn:
+\begin{dispExample}
+% \usepackage{lipsum}
+\begin{testbox}
+\lipsum[2]
+\tcblower
+Lower part
+\end{testbox}
+\end{dispExample}
+
+\egroup
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 4a26f16905d..bb289cd9cea 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex
@@ -225,12 +225,11 @@ My theorem text.
\end{docTcbKey}
\clearpage
-\begin{docTcbKey}{description delimiters}{=\meta{left}\meta{right}}{no default, initially empty}
+\begin{docTcbKey}{description delimiters}{=\marg{left}\marg{right}}{no default, initially empty}
The given \meta{left} and \meta{right} delimiter signs are used to frame
the descriptive title text of a theorem.
\begin{dispExample}
-% \usepackage{amssymb}
\newtcbtheorem[use counter from=mytheo]{sometheorem}{Theorem}%
{colback=white,colframe=red!50!black,fonttitle=\bfseries,
description delimiters={\flqq}{\frqq}}{theo}
@@ -259,6 +258,58 @@ Sets \refKey{/tcb/description delimiters} to the default empty texts.
\end{docTcbKey}
+\begin{docTcbKey}{description color}{\colOpt{=\meta{color}}}{default empty, initially empty}
+ Sets the \meta{color} of the descriptive title text deviating from \refKey{/tcb/coltitle}.
+ The color is reset to \refKey{/tcb/coltitle}, if |description color| is used without value.
+
+\begin{dispExample}
+\newtcbtheorem[use counter from=mytheo]{sometheorem}{Theorem}%
+ {colback=white,colframe=red!50!black,fonttitle=\bfseries,
+ description color=red!25!yellow}{theo}
+\begin{sometheorem}{My example}{}
+My theorem text.
+\end{sometheorem}
+\end{dispExample}
+\end{docTcbKey}
+
+\clearpage
+\begin{docTcbKey}{description font}{\colOpt{=\meta{text}}}{default empty, initially empty}
+ Sets \meta{text} (e.\,g.\ font settings) before the descriptive title text deviating from \refKey{/tcb/fonttitle}.
+ The \meta{text} is removed, if |description font| is used without value.
+
+\begin{dispExample}
+\newtcbtheorem[use counter from=mytheo]{sometheorem}{Theorem}%
+ {colback=white,colframe=red!50!black,fonttitle=\bfseries,
+ description delimiters={\glqq}{\grqq},
+ description font=\mdseries\itshape}{theo}
+\begin{sometheorem}{My example}{}
+My theorem text.
+\end{sometheorem}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{description formatter}{\colOpt{=\meta{macro}}}{default empty, initially empty}
+ Sets \meta{macro} as formatter for the descriptive title text. The \meta{macro}
+ has to take one mandatory argument (the description text).\\
+ Note that \refKey{/tcb/description delimiters}, \refKey{/tcb/description color},
+ and \refKey{/tcb/description font} are ignored, if this option is used.\\
+ If |description formatter| is used without value, the formatter is reset
+ to its standard behavior.
+
+\begin{dispExample}
+\newtcbox{\formbox}{enhanced,frame empty,size=minimal,boxsep=2pt,arc=1pt,
+ on line,interior style image=goldshade.png}
+
+\newtcbtheorem[use counter from=mytheo]{sometheorem}{Theorem}%
+ {colback=white,colframe=red!50!black,fonttitle=\bfseries,
+ description formatter=\formbox}{theo}
+\begin{sometheorem}{My example}{}
+My theorem text.
+\end{sometheorem}
+\end{dispExample}
+\end{docTcbKey}
+
\begin{docTcbKey}{terminator sign}{=\meta{sign}}{no default, initially empty}
The given \meta{sign} is used as terminator at the end of the title text of a theorem.
@@ -842,6 +893,27 @@ Here, using |\Vref| resulting in \Vref{theo:meanvaluetheorem} is more interestin
\end{dispExample}
+\begin{dispExample}
+% \tcbuselibrary{skins}
+\newtcbtheorem[use counter from=Definition]{YetAnotherTheorem}{Theorem}%
+{enhanced,frame empty,interior empty,colframe=ForestGreen!50!white,
+ coltitle=ForestGreen!50!black,fonttitle=\bfseries,colbacktitle=ForestGreen!15!white,
+ borderline={0.5mm}{0mm}{ForestGreen!15!white},
+ borderline={0.5mm}{0mm}{ForestGreen!50!white,dashed},
+ attach boxed title to top center={yshift=-2mm},
+ boxed title style={boxrule=0.4pt},varwidth boxed title}{theo}
+
+\begin{YetAnotherTheorem}{Mittelwertsatz f\"{u}r $n$ Variable}{mittelwertsatz_n2}%
+ 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
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.xparse.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.xparse.tex
index 06c4120dd04..6a774d1b618 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.xparse.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.xparse.tex
@@ -287,7 +287,7 @@ typeset the verbatim content.
\DeclareTotalTCBox{\commandbox}{ s v }
{verbatim,colupper=white,colback=black!75!white,colframe=black}
{\IfBooleanTF{#1}{\textcolor{red}{\ttfamily\bfseries > }}{}%
- \lstinline[language=command.com,keywordstyle=\color{blue!35!white}\bfseries]°#2°}
+ \lstinline[language=command.com,keywordstyle=\color{blue!35!white}\bfseries]^#2^}
\commandbox*{cd "My Documents"} changes to directory \commandbox{My Documents}.
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
index 3b181f37251..c88e5349385 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 5a60d8c508e..78e00a4e6fe 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.80 (2014/03/31)
+%% The LaTeX package tcolorbox - version 3.00 (2014/05/08)
%% tcolorbox.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
@@ -29,7 +29,7 @@
\usepackage{tikz}
\usepackage{varioref}
\usepackage[pdftex,bookmarks,raiselinks,pageanchor,hyperindex,colorlinks]{hyperref}
-\usepackage{cleveref,incgraph}
+\usepackage{varwidth,cleveref,incgraph}
\usepackage[a4paper,left=2.5cm,right=2.5cm,top=1.5cm,bottom=1.5cm,
marginparsep=5mm,marginparwidth=10mm,
@@ -79,18 +79,20 @@
\tcbmakedocSubKey{docTcbKey}{tcb}
\tcbmakedocSubKey{langTcbKey}{tcb/doclang}
\tcbmakedocSubKey{newTcbKey}{tcb/new}
+\tcbmakedocSubKey{boxTcbKey}{tcb/boxtitle}
\tcbmakedocSubKey{docTikzKey}{tikz}
+\def\tikzname{Ti\emph{k}Z}
+
\makeatletter
\newrobustcmd{\tcbIndexPrintSkinCA}[1]{\tcb@Index@Print@CA{#1}{\kvtcb@col@key}{Skin}}
\newrobustcmd{\tcbIndexPrintSkinC}[1]{\tcb@Index@Print@C{#1}{\kvtcb@col@key}}
-\def\tcb@Print@Skin#1{\textcolor{\kvtcb@col@key}{\ttfamily\bfseries#1}}
\def\index@Skin#1{\index{#1\idx@actual\tcbIndexPrintSkinCA{#1}}\index{Skins\idx@level#1\idx@actual\tcbIndexPrintSkinC{#1}}}
\newenvironment{docSkin}[1]{\begin{tcb@manual@entry}%
- \begin{tcb@doc@head}{}%
- \hypertarget{skin:#1}{\texttt{/tcb/skin=}\tcb@Print@Skin{#1}\index@Skin{#1}\protected@edef\@currentlabel{#1}\label{skin:#1}\hfill(skin)}%
+ \begin{tcb@doc@head}{colback=magenta!5!white,interior style=fill}%
+ \hypertarget{skin:#1}{\tcb@Print@Key{/tcb/skin=}\tcb@Print@Val{#1}\index@Skin{#1}\protected@edef\@currentlabel{#1}\label{skin:#1}\hfill(skin)}%
\end{tcb@doc@head}}%
{\end{tcb@manual@entry}}
\def\refSkin#1{\tcb@ref@doc{skin:#1}}
@@ -98,8 +100,8 @@
\newtcolorbox{marker}[1][]{marker,#1}
-\def\version{2.80}%
-\def\datum{2014/03/31}%
+\def\version{3.00}%
+\def\datum{2014/05/08}%
\makeindex
\hypersetup{
@@ -144,7 +146,7 @@
refCom,refEnv,refKey,
tcbmakedocSubKey,
% skins
- tcbline,
+ tcbline,tcboxedtitleheight,tcboxedtitlewidth,
% xparse
DeclareTColorBox,NewTColorBox,RenewTColorBox,ProvideTColorBox,
DeclareTotalTColorBox,NewTotalTColorBox,RenewTotalTColorBox,ProvideTotalTColorBox,
@@ -299,7 +301,7 @@
\input{\jobname_preamble_J.tex}
%\tcbset{draftmode}
-%\includeonly{tcolorbox.doc.intro}
+%\includeonly{tcolorbox.doc.coremacros}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
@@ -309,7 +311,9 @@
\include{tcolorbox.doc.coreoptions}
\include{tcolorbox.doc.initoptions}
\include{tcolorbox.doc.verbatim}
+\include{tcolorbox.doc.technical}
\include{tcolorbox.doc.skins}
+\include{tcolorbox.doc.filling}
\include{tcolorbox.doc.listings}
\include{tcolorbox.doc.theorems}
\include{tcolorbox.doc.breakable}