diff options
author | Karl Berry <karl@freefriends.org> | 2013-12-18 22:04:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-12-18 22:04:25 +0000 |
commit | 7edd1b30f6d91c3f4961d8ceca5a9af64668db1b (patch) | |
tree | 3c631b8d49caab36f4b589405ec4766a0f46aa5a /Master | |
parent | 00be60da8df9f90d4ad3914ed813951c0639b409 (diff) |
tcolorbox (17dec13)
git-svn-id: svn://tug.org/texlive/trunk@32442 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
27 files changed, 1892 insertions, 350 deletions
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/CHANGES b/Master/texmf-dist/doc/latex/tcolorbox/CHANGES index 4372ef626bc..41f94695da2 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.51 (2013/09/16) +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) %% %% ------------------------------------------------------------------------------------------- %% Copyright (c) 2006-2013 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> @@ -326,6 +326,7 @@ version 2.51 (2013/09/16) * new options: 'extend freelance', 'extend freelancefirst', 'extend freelancemiddle', 'extend freelancelast', 'drop midday shadow', 'drop fuzzy midday shadow' + * new environment 'tcbinvclipframe' - library 'listings': * new macros '\renewtcblisting', '\renewtcbinputlisting' - library 'theorems': @@ -334,3 +335,39 @@ version 2.51 (2013/09/16) * new macro '\renewtcboxfit' - library 'documentation': * new option 'documentation listing options' + +version 2.60 (2013/12/17) +- new 'jigsaw' variants for the skins 'standard' and 'enhanced' for + advanced transparency and similar effects. +- new package core skin 'standard jigsaw' +- 'tabularx' and 'tabularx*' reset the arrayrulecolor to black after the table now. +- option 'colbacktitle' moved from library 'skins' to package core +- new options: + 'title filled', 'opacityupper', 'opacitylower', 'opacitytitle', 'opacityframe', + 'opacityback', 'opacitybacktitle', 'opacityfill', 'opacitytext','hyphenationfix', + 'standard jigsaw', 'enlarge by', 'grow to left by', 'grow to right by' +- library 'skins': + * new skin: 'enhanced jigsaw', 'enhancedfirst jigsaw', 'enhancedmidle jigsaw', + 'enhancedlast jigsaw' + * marker style now based on 'enhancedmiddle jigsaw' + * new options: + 'enhanced jigsaw', 'tikz', 'tikz reset', 'show bounding box', + 'at begin tikz', 'at begin tikz reset', 'at end tikz', 'at end tikz reset', + 'rotate', 'scale', 'remember', 'remember as', + 'drop shadow southeast', 'drop shadow south', 'drop shadow southwest', 'drop shadow west', + 'drop shadow northwest', 'drop shadow north', 'drop shadow northeast', 'drop shadow east', + 'drop fuzzy shadow southeast', 'drop fuzzy shadow south', 'drop fuzzy shadow southwest', + 'drop fuzzy shadow west', 'drop fuzzy shadow northwest', 'drop fuzzy shadow north', + 'drop fuzzy shadow northeast','drop fuzzy shadow east', +- library 'listings': + new options 'text above listing' and 'listing above text' +- library 'theorems': + \newtcbtheorem creates an additional starred theorem environment +- library 'fitting': + fit algorithm warning switched off by default. + new options: + 'fit warning' +- library 'documentation': more values for 'index format' +- documentation extended +- major internal implementation changes and optimizations + diff --git a/Master/texmf-dist/doc/latex/tcolorbox/README b/Master/texmf-dist/doc/latex/tcolorbox/README index fae874a221d..301c83b5e51 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.51 (2013/09/16) +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) %% %% ------------------------------------------------------------------------------------------- %% Copyright (c) 2006-2013 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> @@ -38,6 +38,7 @@ Contents of the package 'tcblistingsutf8.code.tex' LaTeX package file (library of tcolorbox) 'tcbminted.code.tex' LaTeX package file (library of tcolorbox) 'tcbskins.code.tex' LaTeX package file (library of tcolorbox) + 'tcbskinsjigsaw.code.tex' LaTeX package file (library of tcolorbox) 'tcbtheorems.code.tex' LaTeX package file (library of tcolorbox) 'tcolorbox.pdf' Documentation for tcolorbox 'tcolorbox.tex' Source code of the documentation (main file) @@ -63,4 +64,5 @@ Alternatively, put the files to their respective locations within the TeX instal 'tcbminted.code.tex' -> /tex/latex/tcolorbox 'tcbtheorems.code.tex' -> /tex/latex/tcolorbox 'tcbskins.code.tex' -> /tex/latex/tcolorbox + 'tcbskinsjigsaw.code.tex' -> /tex/latex/tcolorbox all other files -> /doc/latex/tcolorbox diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf Binary files differindex 1bd05a70ad8..c7939ef7c3f 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex index f589bda59a7..5d2693d784e 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.51 (2013/09/16) +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) %% tcolorbox-example.tex: an example for tcolorbox %% %% ------------------------------------------------------------------------------------------- @@ -134,7 +134,7 @@ We have given Theorem \ref{theorem:summation} on page \pageref{theorem:summation %---------------------------------------------------------- \section{Breakable Boxes} -\begin{tcolorbox}[enhanced,breakable, +\begin{tcolorbox}[enhanced jigsaw,breakable,pad at break=1mm, colback=blue!5!white,colframe=blue!75!black,title=Breakable box, watermark color=white,watermark text=\Roman{tcbbreakpart}] \lipsum[1-12] 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 525f7642983..e53fa8671f7 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.abstract.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.abstract.tex @@ -1,5 +1,36 @@ % !TeX root = tcolorbox.tex % include file of tcolorbox.tex (manual of the LaTeX package tcolorbox) +\begin{tcboutputlisting} +\begin{inctext}[a4paper] +\begin{tikzpicture}% +\definecolorseries{boxcol}{rgb}{last}{red}{blue}% +\resetcolorseries[24]{boxcol}% +\coordinate (A) at (0,0); \coordinate (B) at (21,29.7); +\path[use as bounding box,top color=Goldenrod!25!white,bottom color=Navy!25!white] + (A) rectangle coordinate (C) (B); +\foreach \w in {-15,-30,...,-360} +{\node[below right,rotate around={\w:(C)}] at ([xshift=1cm]C) {% + \begin{tcolorbox}[width=8cm,title=tcolorbox \version, + fontupper=\scriptsize,fonttitle=\small\bfseries, + colback=boxcol!25!white,colbacktitle=boxcol!!+!50!black,colframe=boxcol, + enhanced jigsaw,opacityback=0.5,opacitybacktitle=0.75] + \lipsum[2] + \end{tcolorbox}};% +} +\node[font=\Huge\bfseries] at ([yshift=12cm]C) {|tcolorbox|}; +\node[font=\large\bfseries] at ([yshift=-12cm]C) + {Manual for version \version\ (\datum)}; +\end{tikzpicture} +\end{inctext} +\end{tcboutputlisting} +\tcbuselistingtext +\tcbinputlisting{title=Cover code, + base example,coltitle=black,fonttitle=\itshape,titlerule=0pt, + colbacktitle=Navy!15!ExampleBack,top=0mm,before=\par\smallskip,% + listing style=mydocumentation,listing only} + +\hspace{0pt} +\clearpage \begin{center} \vspace*{5mm} \begin{tcolorbox}[enhanced, 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 05defec37aa..8e181efeab8 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex @@ -273,30 +273,37 @@ the \emph{break sequence} parts are displayed. \def\tcbbreakskininto#1#2#3#4#5{% \begin{center}\begin{tikzpicture} -\tcbset{width=5cm,colframe=Navy,colback=AliceBlue,fonttitle=\bfseries, +\tcbset{width=7cm,colframe=Navy,colback=AliceBlue,fonttitle=\bfseries, watermark color=AliceBlue!85!Navy,#5 } \node[above] (unbroken) at (0,0) {\begin{tcolorbox}[title=Unbroken Box,skin=#1,watermark text=unbroken,height=3.8cm] \texttt{skin=#1} \end{tcolorbox}}; -\node[above] (first) at (8,2.4) {\begin{tcolorbox}[title=Broken Boxes,skin=#2,watermark text=first,height=1.4cm] +\node[above] (first) at (8.7,2.4) {\begin{tcolorbox}[title=Broken Boxes,skin=#2,watermark text=first,height=1.4cm] \texttt{skin=#2} \end{tcolorbox}}; -\node[above] (middle) at (8,1.2) {\begin{tcolorbox}[skin=#3,watermark text=middle,height=1cm] +\node[above] (middle) at (8.7,1.2) {\begin{tcolorbox}[skin=#3,watermark text=middle,height=1cm] \texttt{skin=#3} \end{tcolorbox}}; -\node[above] (last) at (8,0) {\begin{tcolorbox}[skin=#4,watermark text=last,height=1cm] +\node[above] (last) at (8.7,0) {\begin{tcolorbox}[skin=#4,watermark text=last,height=1cm] \texttt{skin=#4} \end{tcolorbox}}; \path[draw=FireBrick,line width=2pt,->] (unbroken) edge (first.west) edge (middle.west) edge (last.west); \end{tikzpicture}\end{center}} \tcbbreakskininto{standard}{standard}{standard}{standard}{watermark text/.style={}} +\tcbbreakskininto{standard jigsaw}{standard jigsaw}{standard jigsaw}{standard jigsaw}{watermark text/.style={}} +\clearpage \tcbbreakskininto{enhanced}{enhancedfirst}{enhancedmiddle}{enhancedlast}{} \tcbbreakskininto{enhancedfirst}{enhancedfirst}{enhancedmiddle}{enhancedmiddle}{} \tcbbreakskininto{enhancedmiddle}{enhancedmiddle}{enhancedmiddle}{enhancedmiddle}{} \tcbbreakskininto{enhancedlast}{enhancedmiddle}{enhancedmiddle}{enhancedlast}{} \clearpage +\tcbbreakskininto{enhanced jigsaw}{enhancedfirst jigsaw}{enhancedmiddle jigsaw}{enhancedlast jigsaw}{} +\tcbbreakskininto{enhancedfirst jigsaw}{enhancedfirst jigsaw}{enhancedmiddle jigsaw}{enhancedmiddle jigsaw}{} +\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}{} 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 713ed4bc098..8082974f916 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex @@ -194,30 +194,62 @@ Now, the saved part is used: \clearpage \subsection{Colors and Fonts} +\begin{docTcbKey}{colframe}{=\meta{color}}{no default, initially \texttt{black!75!white}} + Sets the frame \meta{color} of the box. +\begin{dispExample*}{sbs,lefthand ratio=0.6} +\begin{tcolorbox}[colframe=red!50!white] +This is a \textbf{tcolorbox}. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey} + \begin{docTcbKey}{colback}{=\meta{color}}{no default, initially \texttt{black!5!white}} Sets the background \meta{color} of the box. \begin{dispExample*}{sbs,lefthand ratio=0.6} -\begin{tcolorbox}[colback=white] +\begin{tcolorbox}[colback=red!50!white] This is a \textbf{tcolorbox}. \end{tcolorbox} \end{dispExample*} \end{docTcbKey} -\begin{docTcbKey}{colframe}{=\meta{color}}{no default, initially \texttt{black!75!white}} - Sets the frame \meta{color} of the box. +\begin{docTcbKey}{title filled}{\colOpt{=\meta{boolean value}}}{default |true|, initially |false|} + Switches the drawing of the title background according to the \meta{boolean value}. + This option is set to |true| automatically by \refKey{/tcb/colbacktitle}, + \refKey{/tcb/opacitybacktitle}, and \refKey{/tcb/title style}, + and \refKey{/tcb/title code}. + \begin{dispExample*}{sbs,lefthand ratio=0.6} -\begin{tcolorbox}[colframe=red!50!yellow] +\begin{tcolorbox}[title=My title,title filled] +This is a \textbf{tcolorbox}. +\end{tcolorbox} +\begin{tcolorbox}[title=My title, + title filled=false] This is a \textbf{tcolorbox}. \end{tcolorbox} \end{dispExample*} \end{docTcbKey} + +\begin{docTcbKey}{colbacktitle}{=\meta{color}}{no default, initially \texttt{black!50!white}} + Sets the background \meta{color} of the title area of the box. +\begin{dispExample*}{sbs,lefthand ratio=0.6} +\begin{tcolorbox}[colbacktitle=red!50!white, + title=My title,coltitle=black, + fonttitle=\bfseries] +This is a \textbf{tcolorbox}. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey} + + + +\clearpage + \begin{docTcbKey}{colupper}{=\meta{color}}{no default, initially \texttt{black}} Sets the text \meta{color} of the upper part. \begin{dispExample*}{sbs,lefthand ratio=0.6} -\begin{tcolorbox}[colupper=yellow, - colback=blue!50,colframe=blue] +\begin{tcolorbox}[colupper=red!75!black] This is a \textbf{tcolorbox}. \tcblower This is the lower part. @@ -229,8 +261,7 @@ This is the lower part. \begin{docTcbKey}{collower}{=\meta{color}}{no default, initially \texttt{black}} Sets the text \meta{color} of the lower part. \begin{dispExample*}{sbs,lefthand ratio=0.6} -\begin{tcolorbox}[collower=yellow, - colback=blue!50,colframe=blue] +\begin{tcolorbox}[collower=red!75!black] This is a \textbf{tcolorbox}. \tcblower This is the lower part. @@ -243,8 +274,7 @@ This is the lower part. Sets the text \meta{color} of the box. This is an abbreviation for setting |colupper| and |collower| to the same value. \begin{dispExample*}{sbs,lefthand ratio=0.6} -\begin{tcolorbox}[coltext=yellow, - colback=blue!50,colframe=blue] +\begin{tcolorbox}[coltext=red!75!black] This is a \textbf{tcolorbox}. \tcblower This is the lower part. @@ -256,14 +286,15 @@ This is the lower part. \begin{docTcbKey}{coltitle}{=\meta{color}}{no default, initially \texttt{white}} Sets the title text \meta{color} of the box. \begin{dispExample*}{sbs,lefthand ratio=0.6} -\begin{tcolorbox}[coltitle=blue!50!black, - colframe=blue!25,title=Test] +\begin{tcolorbox}[coltitle=red!75!black, + colbacktitle=black!10!white,title=Test] This is a \textbf{tcolorbox}. \end{tcolorbox} \end{dispExample*} \end{docTcbKey} \clearpage + \begin{docTcbKey}{fontupper}{=\meta{text}}{no default, initially empty} Sets \meta{text} before the content of the upper part (e.\,g.\ font settings). \begin{dispExample} @@ -691,6 +722,117 @@ with help of an overlay. \tcbusetemp \end{docTcbKey} + +\clearpage +\subsection{Transparency} + +\begin{marker} +Transparency effects are likely to be used in conjunction with \emph{jigsaw} +skin variants, see \Vref{subsec:skinjigsaw}. +\end{marker} + +\begin{docTcbKey}{opacityframe}{=\meta{fraction}}{no default, initially \texttt{1.0}} + Sets the frame opacity of the box to the given \meta{fraction}. +\begin{dispExample*}{sbs,lefthand ratio=0.6,segmentation style={pattern=crosshatch dots light steel blue}} +\begin{tcolorbox}[opacityframe=0.25] +This is a \textbf{tcolorbox}. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey} + +\begin{docTcbKey}{opacityback}{=\meta{fraction}}{no default, initially \texttt{1.0}} + Sets the background opacity of the box to the given \meta{fraction}. +\begin{dispExample*}{sbs,lefthand ratio=0.6,segmentation style={pattern=crosshatch dots light steel blue}} +\begin{tcolorbox}[standard jigsaw, + opacityframe=0.5, opacityback=0.5] +This is a \textbf{tcolorbox}. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey} + + +\begin{docTcbKey}{opacitybacktitle}{=\meta{fraction}}{no default, initially \texttt{1.0}} + Sets the title background opacity of the box to the given \meta{fraction}. +\begin{dispExample*}{sbs,lefthand ratio=0.6,segmentation style={pattern=crosshatch dots light steel blue}} +\begin{tcolorbox}[standard jigsaw, + opacityframe=0.5, opacitybacktitle=0.5, + title filled, title=This is a title] +This is a \textbf{tcolorbox}. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey} + + +\begin{docTcbKey}{opacityfill}{=\meta{fraction}}{style, no default, initially \texttt{1.0}} + Sets the fill opacity for frame, interior and optionally the title background + to to the given \meta{fraction}. +\begin{dispExample*}{sbs,lefthand ratio=0.6,segmentation style={pattern=crosshatch dots light steel blue}} +\begin{tcolorbox}[standard jigsaw, + opacityfill=0.7, title=This is a title] +This is a \textbf{tcolorbox}. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey} + +\clearpage +\begin{docTcbKey}{opacityupper}{=\meta{fraction}}{no default, initially \texttt{1.0}} + Sets the text opacity of the upper box part to the given \meta{fraction}. +\begin{dispExample*}{sbs,lefthand ratio=0.6} +\begin{tcolorbox}[enhanced,opacityupper=0.5, + interior style={pattern=crosshatch dots light steel blue}] +This is a \textbf{tcolorbox}. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey} + + +\begin{docTcbKey}{opacitylower}{=\meta{fraction}}{no default, initially \texttt{1.0}} + Sets the text opacity of the lower box part to the given \meta{fraction}. +\begin{dispExample*}{sbs,lefthand ratio=0.6} +\begin{tcolorbox}[enhanced,opacitylower=0.5, + interior style={pattern=crosshatch dots light steel blue}] +This is a \textbf{tcolorbox}. +\tcblower +This is the lower part. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey} + +\begin{docTcbKey}{opacitytext}{=\meta{fraction}}{no default, initially \texttt{1.0}} + Sets the text opacity of the upper and the lower box part to the given \meta{fraction}. +\begin{dispExample*}{sbs,lefthand ratio=0.6} +\begin{tcolorbox}[enhanced,opacitytext=0.5, + interior style={pattern=crosshatch dots light steel blue}] +This is a \textbf{tcolorbox}. +\tcblower +This is the lower part. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey} + + +\begin{docTcbKey}{opacitytitle}{=\meta{fraction}}{no default, initially \texttt{1.0}} + Sets the text opacity of the box title to the given \meta{fraction}. +\begin{dispExample*}{sbs,lefthand ratio=0.6} +\begin{tcolorbox}[enhanced,opacitytitle=0.7, + fonttitle=\bfseries,title=This is a title, + title style={pattern=crosshatch dots light steel blue}] +This is a \textbf{tcolorbox}. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey} + + +\begin{dispExample*}{segmentation style={pattern=crosshatch dots light steel blue}} +\begin{tcolorbox}[enhanced jigsaw,fonttitle=\bfseries,title=This is a title, + opacityframe=0.5,opacityback=0.25,opacitybacktitle=0.25,opacitytext=0.8, + colback=red!5!white,colframe=red!75!black,colbacktitle=yellow!20!red] +This is a \textbf{tcolorbox}. +\end{tcolorbox} +\end{dispExample*} + + + \clearpage \subsection{Height Control} In a typical usage scenario, the height of a |tcolorbox| is computed automatically @@ -1710,6 +1852,12 @@ around it. If the bounding box is shrunk, i.\,e.\ enlarged with negative values, the |tcolorbox| will overlap to other parts of the page. For example, the |tcolorbox| could be stretched into the page margin. +\begin{marker} +The following examples use \refKey{/tcb/show bounding box} to display the +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|} Enlarges the bounding box distance to the top of the box by \meta{length}. \begin{dispExample} @@ -1718,7 +1866,7 @@ For example, the |tcolorbox| could be stretched into the page margin. \begin{tcolorbox}[enlarge top by=-5mm] This is a \textbf{tcolorbox}. \end{tcolorbox} -\begin{tcolorbox}[enlarge top by=5mm] +\begin{tcolorbox}[enlarge top by=5mm,enhanced,show bounding box] This is a \textbf{tcolorbox}. \end{tcolorbox} \end{dispExample} @@ -1734,7 +1882,7 @@ This is a \textbf{tcolorbox}. \begin{tcolorbox}[enlarge bottom by=5mm] This is a \textbf{tcolorbox}. \end{tcolorbox} -\begin{tcolorbox}[enlarge bottom by=-5mm] +\begin{tcolorbox}[enlarge bottom by=-5mm,enhanced,show bounding box] This is a \textbf{tcolorbox}. \end{tcolorbox} \end{dispExample} @@ -1748,7 +1896,7 @@ This is a \textbf{tcolorbox}. \begin{dispExample} \tcbset{colframe=blue!75!black,colback=white} -\begin{tcolorbox}[enlarge left by=2cm,width=\linewidth-2cm] +\begin{tcolorbox}[enlarge left by=2cm,width=5cm,enhanced,show bounding box] This is a \textbf{tcolorbox}. \end{tcolorbox} \begin{tcolorbox}[enlarge left by=-2cm,width=\linewidth+2cm] @@ -1762,7 +1910,8 @@ This is a \textbf{tcolorbox}. \begin{dispExample} \tcbset{colframe=blue!75!black,colback=white} -\begin{tcolorbox}[enlarge right by=-2cm,width=\linewidth+2cm] +\begin{tcolorbox}[enlarge right by=-2cm,width=\linewidth+2cm, + enhanced,show bounding box] This is a \textbf{tcolorbox}. \end{tcolorbox} \begin{tcolorbox}[enlarge right by=2cm,width=\linewidth-2cm] @@ -1771,6 +1920,56 @@ This is a \textbf{tcolorbox}. \end{dispExample} \end{docTcbKey} +\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} +\tcbset{colframe=blue!75!black,colback=white,width=5cm,nobeforeafter} + +\begin{tcolorbox} +This is a \textbf{tcolorbox}. +\end{tcolorbox} +\begin{tcolorbox}[enlarge by=5mm,enhanced,show bounding box] +This is a \textbf{tcolorbox}. +\end{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 + $-$\meta{length}. +\begin{dispExample} +\tcbset{colframe=blue!75!black,colback=white} + +\begin{tcolorbox}[width=5cm,grow to left by=2cm,enhanced,show bounding box] +This is a \textbf{tcolorbox} with a width of 7cm. +\end{tcolorbox} +\end{dispExample} +\end{docTcbKey} + +\begin{docTcbKey}{grow to right by}{=\meta{length}}{no default, initially |0mm|} + Enlarges the current box size by \meta{length} and + enlarges (shrinks) the bounding box distance to the right side of the box by + $-$\meta{length}. +\begin{dispExample} +\tcbset{colframe=blue!75!black,colback=white} + +\begin{tcolorbox}[grow to right by=2cm,enhanced,show bounding box] +This is a \textbf{tcolorbox}. +\end{tcolorbox} + +\bigskip + +\begin{tcolorbox}[grow to right by=2cm,grow to left by=1cm, + enhanced,show bounding box] +This is a \textbf{tcolorbox}. +\end{tcolorbox} + +\end{dispExample} +\end{docTcbKey} + + \clearpage \begin{docTcbKey}{toggle enlargement}{=\meta{toggle preset}}{default |evenpage|, initially |none|} According to the \meta{toggle preset}, the left and the right enlargements of @@ -1787,9 +1986,9 @@ This is a \textbf{tcolorbox}. \begin{dispExample} % \usepackage{changepage} for 'check odd page' \tcbset{colframe=blue!75!black,colback=white, -enlarge left by=-20mm,enlarge right by=5mm,width=\linewidth+15mm} + grow to left by=20mm,grow to right by=-5mm} -\begin{tcolorbox}[toggle enlargement=none] +\begin{tcolorbox}[toggle enlargement=none,enhanced,show bounding box] This is a \textbf{tcolorbox}. \end{tcolorbox} \begin{tcolorbox}[toggle enlargement=forced] @@ -1798,15 +1997,15 @@ This is a \textbf{tcolorbox}. \begin{tcolorbox}[toggle enlargement=evenpage,check odd page] This page is an \ifthenelse{\isodd{\thepage}}{odd}{even} page. Therefore, the left and right enlargements - \ifthenelse{\isodd{\thepage}}{are not}{are} toggled (with some luck). + \ifthenelse{\isodd{\thepage}}{are not}{are} toggled. \end{tcolorbox} \end{dispExample} \begin{dispListing} -\begin{tcolorbox}[colframe=red!60!black,colback=red!15!white, +% \usepackage{changepage} for 'check odd page' +\begin{tcolorbox}[colframe=red!60!black,colback=red!15!white,check odd page, fonttitle=\bfseries,title=Floating box from \texttt{toggle enlargement}, - width=\textwidth+20mm,enlarge right by=-20mm, - toggle enlargement=evenpage,float=t] + width=\textwidth,grow to right by=2cm,toggle enlargement=evenpage,float=t] This page is an \ifthenelse{\isodd{\thepage}}{odd}{even} page. Therefore, the left and right enlargements \ifthenelse{\isodd{\thepage}}{are not}{are} toggled (with some luck; otherwise @@ -2142,6 +2341,37 @@ This is a tcolorbox. \end{dispListing} {\tcbusetemp} + +\clearpage +\begin{docTcbKey}{hyphenationfix}{\colOpt{=\meta{boolean value}}}{default |true|, initially |false|} + Long words at the begin of paragraphs in very narrow boxes + will not be hyphenated using |pdflatex|. This problem is circumvented by + applying the |hyphenationfix| option. + +\begin{dispExample*}{sbs,lefthand ratio=0.6} +\tcbset{colframe=blue!75!black, + fontupper=\normalsize, + colback=blue!5!white,width=4cm} + +\begin{tcolorbox} +Rechnungsadjunktentochter.\par +Statthaltereikonzipist. +\end{tcolorbox} + +\begin{tcolorbox}[hyphenationfix] +Rechnungsadjunktentochter.\par +Statthaltereikonzipist. +\end{tcolorbox} +\end{dispExample*} + +\smallskip +\begin{marker} +|parbox=false| and |hyphenationfix| should not be used together. They are +targeting different box types and they do not blend very well. +\end{marker} +\end{docTcbKey} + + \subsection{Files} \begin{docTcbKey}{tempfile}{=\meta{file name}}{no default, initially \cs{jobname.tcbtemp}} Sets \meta{file name} as name for the temporary file which is used inside @@ -2171,7 +2401,7 @@ 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 diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex index 4beccce5aac..749cc9ec244 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex @@ -373,13 +373,17 @@ This is my \colOpt{text}. Determines the basic \meta{format} of the generated index. Feasible values are: \begin{itemize} - \item |pgf|: The index is formatted like in the |pgf| documentation. - \item |doc|: The index assumed to be formatted by |doc|/|ltxdoc|. A usage of |makeindex| + \item |pgfsection|: The index is formatted like in the |pgf| documentation (as a section). + \item |pgfchapter|: The index is formatted like in the |pgf| documentation (as a chapter). + \item |pgf|: Alias for |pgfsection|. + \item |doc|: The index is assumed to be formatted by |doc|/|ltxdoc|. A usage of |makeindex| with |-s gind.ist| is assumed. The package |hypdoc| has to be loaded \emph{before} |tcolorbox|. + \item |off|: The index is not formatted by |tcolorbox|. \end{itemize} \end{docTcbKey} +\clearpage \begin{docTcbKey}{index actual}{=\meta{character}}{no default, initially |@|} Sets the character for 'actual' in automatic indexing. \end{docTcbKey} diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex index 555c22109c4..4d3a305c7aa 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex @@ -139,11 +139,9 @@ The \refCom{tcboxfit} macro uses this algorithm by default. \begin{dispExample} % \usepackage{lipsum} % \tcbuselibrary{skins} -\newtcolorbox{fitting}[2][]{fit,height=#2,boxsep=1pt,valign=center, - top=0.4\tcbfitdim,bottom=0.4\tcbfitdim, - left=0.75\tcbfitdim,right=0.75\tcbfitdim, - enhanced,watermark text={\tcbfitsteps}, - colframe=blue!75!black,colback=white,#1} +\newtcolorbox{fitting}[2][]{fit,height=#2,boxsep=1pt,valign=center,opacityupper=0.5, + top=0.4\tcbfitdim,bottom=0.4\tcbfitdim,left=0.75\tcbfitdim,right=0.75\tcbfitdim, + enhanced,watermark text={\tcbfitsteps},colframe=blue!75!black,colback=white,#1} \begin{fitting}{4cm} \lipsum[1] @@ -160,6 +158,7 @@ The \refCom{tcboxfit} macro uses this algorithm by default. \end{docTcbKey} +\clearpage \begin{docTcbKey}{fit to}{=\meta{width} and \meta{height}}{style, initially unset} Shortcut for using \refKey{/tcb/fit} and setting the \meta{width} and \meta{height} values separately. @@ -412,3 +411,18 @@ if necessary. is determined within a deviation of \meta{dimension}. \end{docTcbKey} + +\begin{docTcbKey}{fit warning}{=\meta{value}}{no default, initially |off|} + Typically, the fit control algorithm constructs several auxiliary boxes + to determine the optimal one. If not switched off, the construction of + the auxiliary boxes may produce many |hbox| warnings. This option key + changes the |\hbadness| value. + \begin{itemize} + \item |off|: Most of |'Underfull \hbox'| and |'Overfull \hbox'| warnings are + switched off (including the ones for the finally used box). + \item |on|: All warnings for all auxiliary boxes are displayed. + \item |final|: Only warnings for the finally used box are displayed. + Note that an additional box has to be contructed for theses messages. + \end{itemize} +\end{docTcbKey} + diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.initoptions.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.initoptions.tex index e8ca304eb37..c1874a4bebe 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.initoptions.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.initoptions.tex @@ -143,6 +143,11 @@ The real counter name is \texttt{\tcbcounter}. \end{newTcbKey} \clearpage +\begin{marker} +The following options \refKey{/tcb/new/crefname} and \refKey{/tcb/new/Crefname} +need to be set inside the preamble. +\end{marker} + \begin{newTcbKey}{crefname}{=\marg{singular}\marg{plural}}{no default, initially unset} This option key can be used only in conjunction with the |cleveref| package \cite{cubitt:2013a} which has to be loaded separately. @@ -160,6 +165,26 @@ The real counter name is \texttt{\tcbcounter}. See \refKey{/tcb/label type} and \cite{cubitt:2013a} for more information. \end{newTcbKey} +\inputpreamblelisting{I} +\begin{dispExample} +% \usepackage{cleveref} +% \usepackage{varioref} +\begin{mybluebox}[label={myreference}]{My title} +This is an example. +\end{mybluebox} + +\Cref{myreference}, \cref{myreference}.\\ +\Cpageref{myreference}, \cpageref{myreference}.\\ +\nameCref{myreference}, \namecref{myreference}.\\ +\labelcref{myreference}, \labelcpageref{myreference}.\\ +With \texttt{varioref}:\\ +\Vref{myreference}, \vref{myreference}.\\ +\Vref*{myreference}, \vref*{myreference}. +\end{dispExample} + + + + \clearpage diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex index cdd632fc08d..1b0036e7f5b 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex @@ -189,6 +189,12 @@ This \textbf{text} is written to a standardized file for later usage. \clearpage +\begin{marker} +It is not recommended to create a new sort of |tcblisting| environment with +one optional argument only. If there is just one argument, it should be made +mandatory to avoid content scanning problems. +\end{marker} + \begin{docCommand}{newtcblisting}{\oarg{init options}\marg{name}\oarg{number}\oarg{default}\marg{options}} Creates a new environment \meta{name} based on \refEnv{tcblisting}. Basically, |\newtcblisting| operates like |\newenvironment|. This means, @@ -241,6 +247,7 @@ This is my \end{mybox} \end{dispExample*} +\clearpage \inputpreamblelisting{C} \begin{dispExample*}{sbs,lefthand ratio=0.5} @@ -248,11 +255,10 @@ This is my This is my \LaTeX\ box. \end{mycbox} \end{dispExample*} - \end{docCommand} -\enlargethispage*{1cm} +%\enlargethispage*{1cm} \begin{docCommand}{renewtcblisting}{\oarg{init options}\marg{name}\oarg{number}\oarg{default}\marg{options}} Operates like \refCom{newtcblisting}, but based on |\renewenvironment| instead of |\newenvironment|. An existing environment is redefined. @@ -456,10 +462,6 @@ be used inside these macros. \end{docTcbKey} - - - - \begin{docTcbKey}{listing and text}{}{no value, initially set} Typesets the environment content as listing in the upper part and as compiled text in the lower part. @@ -470,6 +472,7 @@ This is a \LaTeX\ example. \end{dispExample} \end{docTcbKey} + \begin{docTcbKey}{text and listing}{}{no value} Typesets the environment content as compiled text in the upper part and as listing in the lower part. @@ -595,6 +598,34 @@ This is a \LaTeX\ example. \end{docTcbKey} +\clearpage +\begin{docTcbKey}{listing above text}{}{no value} + Typesets the environment content as listing in a |tcolorbox| + and as compiled text outside and below the box. + The outside text is treated as \emph{lower} part of the + |tcolorbox| and can be formatted with all lower part options. + The distance between box and text is controlled by \refKey{/tcb/middle}. +\begin{dispExample} +\begin{tcblisting}{colback=red!5!white,colframe=red!75!black,listing above text} +This is a \LaTeX\ example. +\end{tcblisting} +\end{dispExample} +\end{docTcbKey} + + +\begin{docTcbKey}{text above listing}{}{no value} + Typesets the environment content as listing in a |tcolorbox| + and as compiled text outside and above the box. + The outside text is treated as \emph{lower} part of the + |tcolorbox| and can be formatted with all lower part options. + The distance between box and text is controlled by \refKey{/tcb/middle}. +\begin{dispExample} +\begin{tcblisting}{colback=red!5!white,colframe=red!75!black,text above listing} +This is a \LaTeX\ example. +\end{tcblisting} +\end{dispExample} +\end{docTcbKey} + \clearpage \subsection{Creation of \LaTeX\ Tutorials}\label{sec:latextutorial} @@ -775,9 +806,24 @@ The following series of examples demonstrate the application of \begin{dispExample} +\begin{texexptitled}[center lower,text above listing] + {How to use options (6):\par The picture may also be put above + the listing box.}{options6} +\begin{tikzpicture} +\path[fill=yellow!50!white] (0,0) circle (11mm); +\path[fill=white] (0,0) circle (9mm); +\foreach \w/\c in {90/red,210/green,330/blue} +{\path[shading=ball,ball color=\c] + (\w:1cm) circle (7mm);} +\end{tikzpicture} +\end{texexptitled} +\end{dispExample} + + +\begin{dispExample} \begin{texexptitled}[beamer,center lower,text outside listing,lefthand width=3.5cm] - {How to use options (6):\par Our style is easily transformed into - a beamerish one.}{options6} + {How to use options (7):\par Our style is easily transformed into + a beamerish one.}{options7} \begin{tikzpicture} \path[fill=yellow!50!white] (0,0) circle (11mm); \path[fill=white] (0,0) circle (9mm); 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 d6d349092b1..3dbdba3fe1e 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex @@ -105,9 +105,13 @@ Every engine for the up to four steps can be set to one of the following types: \begin{itemize} \item |standard|: the original code from the core package, \item |path|: a |tikz| path which is controlled by \refKey{/tcb/frame style}, + \item |pathjigsaw|: a |tikz| path which is controlled by \refKey{/tcb/frame style}, \item |pathfirst|: a |tikz| path which is controlled by \refKey{/tcb/frame style}, + \item |pathfirstjigsaw|: a |tikz| path which is controlled by \refKey{/tcb/frame style}, \item |pathmiddle|: a |tikz| path which is controlled by \refKey{/tcb/frame style}, + \item |pathmiddlejigsaw|: a |tikz| path which is controlled by \refKey{/tcb/frame style}, \item |pathlast|: a |tikz| path which is controlled by \refKey{/tcb/frame style}, + \item |pathlastjigsaw|: a |tikz| path which is controlled by \refKey{/tcb/frame style}, \item |freelance|: arbitrary user code which is given by \refKey{/tcb/frame code}. \end{itemize} \end{docTcbKey} @@ -126,6 +130,7 @@ Every engine for the up to four steps can be set to one of the following types: \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}. @@ -346,32 +351,11 @@ This is the lower part. \end{docTcbKey} -\begin{docTcbKey}{colbacktitle}{=\meta{color}}{style, no default, initially unset} - Abbreviation for setting \refKey{/tcb/title style} to |fill=|\meta{color}. - This fills the background of the title area with the given \meta{color}.\\ - 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|. -\begin{dispExample*}{sbs,lefthand ratio=0.66} -\tcbset{colback=red!5!white,colframe=red!75!black, - coltitle=blue!50!black,fonttitle=\bfseries} - -\begin{tcolorbox}[enhanced,title=My title, - colbacktitle=yellow!50!white] -This is a \textbf{tcolorbox}. -\tcblower -This is the lower part. -\end{tcolorbox} -\end{dispExample*} -\end{docTcbKey} - \begin{docTcbKey}{title hidden}{}{style, no value} 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. This is the default behavior for \refSkin{standard} and - \refSkin{enhanced}. + title background. See also \refKey{/tcb/title filled} for a similar effect. \begin{dispExample*}{sbs,lefthand ratio=0.66} \tcbset{colback=red!5!white,colframe=red!75!black, fonttitle=\bfseries} @@ -386,6 +370,7 @@ This is the lower part. \end{docTcbKey} + \clearpage \subsection{Code Option Keys}\label{subsec:addcodeoptions} The following code options are applicable for all skins which @@ -774,6 +759,32 @@ Defines a |Tikz| scope which clips to the frame area path. \end{docEnvironment} \clearpage +\begin{docEnvironment}{tcbinvclipframe}{} +Defines a |Tikz| scope which clips to the \emph{outside} of the frame area path. + +\begin{dispExample} +\tcbset{enhanced jigsaw,fonttitle=\bfseries,opacityback=0.35,colback=blue!5!white, + frame style={left color=red!75!black,right color=red!10!yellow}} + +\begin{tikzpicture}% draw two balls + \path[use as bounding box] (0,0.8) rectangle +(0.1,0.1); + \shadedraw [shading=ball] (0,0) circle (1cm); + \shadedraw [ball color=red] (3,-2.2) circle (1cm); +\end{tikzpicture} + +\begin{tcolorbox}[title=A translucent box, + overlay={\begin{tcbinvclipframe} + \draw[red,line width=1cm] ([xshift=-2mm,yshift=2mm]frame.north west) + --([xshift=2mm,yshift=-2mm]frame.south east); + \draw[red,line width=1cm] ([xshift=-2mm,yshift=-2mm]frame.south west) + --([xshift=2mm,yshift=2mm]frame.north east); + \end{tcbinvclipframe}}] + \lipsum[2] +\end{tcolorbox} +\end{dispExample} +\end{docEnvironment} + +\clearpage \begin{docEnvironment}{tcbclipinterior}{} Defines a |Tikz| scope which clips to the interior area path. \begin{dispExample} @@ -802,7 +813,8 @@ Defines a |Tikz| scope which clips to the title area path. \begin{docTcbKey}{clip title}{\colOpt{=\meta{boolean value}}}{default |true|, initially |false|} Sets the title to be clipped to the title area. \begin{dispExample} -\tcbset{enhanced,width=5cm,colframe=red!50!white,coltitle=black} +\tcbset{enhanced,width=5cm,colframe=red!50!white,coltitle=black, + colbacktitle=yellow!50!white} \begin{tcolorbox}[title=\mbox{This is a title which is unbreakable and far too long}] This is a tcolorbox. @@ -972,6 +984,30 @@ This is a tcolorbox. \end{docTcbKey} +\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. + The optional \meta{color} is the base color for the bounding box + borderline. +\begin{dispExample} +\tcbset{enhanced,nobeforeafter,width=4cm,fonttitle=\bfseries} + +\begin{tcolorbox}[show bounding box,title=Normal] +This is a tcolorbox. +\end{tcolorbox}% +\begin{tcolorbox}[show bounding box=blue,title=Shadow,drop fuzzy shadow] +This is a tcolorbox. +\end{tcolorbox}% +\begin{tcolorbox}[show bounding box=green,title=Enlarged,drop fuzzy shadow, + enlarge by=2mm] +This is a tcolorbox. +\end{tcolorbox} +\end{dispExample} +\end{docTcbKey} + + \clearpage \subsection{Shadow Option Keys}\label{subsec:shadows} The following shadow options are applicable for most skins which @@ -982,6 +1018,10 @@ but most other skins, e.\,g.\ \refSkin{enhanced}. The shadows are stackable, i.\,e.\ several different shadows can be used on the same |tcolorbox|. They are drawn \emph{before} the box frame is drawn. +\begin{docTcbKey}{no shadow}{}{no default} + Removes all shadows if set before. +\end{docTcbKey} + \begin{docTcbKey}{shadow}{=\marg{xshift}\marg{yshift}\marg{offset}\marg{options}}{no default} Adds a new shadow to the stack of shadows. @@ -1101,7 +1141,6 @@ This is a tcolorbox. \clearpage - \begin{docTcbKey}{drop shadow}{\colOpt{=\meta{color}}}{style, default |black!50!white|} Adds a new shadow with standard dimensions to the stack of shadows. Optionally, the \meta{color} for the shadow can be changed. @@ -1120,6 +1159,8 @@ This is a tcolorbox. \end{docTcbKey} + + \begin{docTcbKey}{drop fuzzy shadow}{\colOpt{=\meta{color}}}{style, default |black!50!white|} Adds a new fuzzy shadow with standard dimensions to the stack of shadows. Optionally, the \meta{color} for the shadow can be changed. @@ -1174,7 +1215,6 @@ This is a tcolorbox. \end{docTcbKey} - \clearpage \begin{docTcbKey}{halo}{=\meta{size} \texttt{with} \meta{color}}{style, default |0.9mm with yellow|} Adds a new halo shadow with the given \meta{color} @@ -1213,20 +1253,395 @@ This is a tcolorbox. \end{dispExample*} \begin{dispExample} -\begin{tcolorbox}[blank, +\begin{tcolorbox}[blank,enhanced jigsaw,boxsep=2pt,arc=2pt, fuzzy halo=2mm with red!50!white, - fuzzy halo=1mm with white,] + fuzzy halo=1mm with white] \lipsum[1] \end{tcolorbox} \end{dispExample} \end{docTcbKey} +\clearpage +For all following shadows, the optionally given \meta{color} for the shadow can be changed +equivalent to the preceding examples. -\begin{docTcbKey}{no shadow}{}{no default} - Removes all shadows if set before. +\begin{docTcbKey}{drop shadow southeast}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new shadow with standard dimensions to the stack of shadows. + This shadow is identical to \refKey{/tcb/drop shadow}. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop shadow southeast, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + +\begin{docTcbKey}{drop shadow south}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new shadow with standard dimensions to the stack of shadows. + This shadow is identical to \refKey{/tcb/drop midday shadow}. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop shadow south, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + +\begin{docTcbKey}{drop shadow southwest}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new shadow with standard dimensions to the stack of shadows. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop shadow southwest, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + +\begin{docTcbKey}{drop shadow west}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new shadow with standard dimensions to the stack of shadows. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop shadow west, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + +\begin{docTcbKey}{drop shadow northwest}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new shadow with standard dimensions to the stack of shadows. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop shadow northwest, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + +\begin{docTcbKey}{drop shadow north}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new shadow with standard dimensions to the stack of shadows. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop shadow north, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + +\clearpage +\begin{docTcbKey}{drop shadow northeast}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new shadow with standard dimensions to the stack of shadows. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop shadow northeast, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + +\begin{docTcbKey}{drop shadow east}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new shadow with standard dimensions to the stack of shadows. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop shadow east, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + + +\begin{docTcbKey}{drop fuzzy shadow southeast}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new fuzzy shadow with standard dimensions to the stack of shadows. + This shadow is identical to \refKey{/tcb/drop fuzzy shadow}. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop fuzzy shadow southeast, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + +\begin{docTcbKey}{drop fuzzy shadow south}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new fuzzy shadow with standard dimensions to the stack of shadows. + This shadow is identical to \refKey{/tcb/drop fuzzy midday shadow}. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop fuzzy shadow south, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + +\begin{docTcbKey}{drop fuzzy shadow southwest}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new fuzzy shadow with standard dimensions to the stack of shadows. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop fuzzy shadow southwest, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + +\begin{docTcbKey}{drop fuzzy shadow west}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new fuzzy shadow with standard dimensions to the stack of shadows. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop fuzzy shadow west, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + +\clearpage +\begin{docTcbKey}{drop fuzzy shadow northwest}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new fuzzy shadow with standard dimensions to the stack of shadows. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop fuzzy shadow northwest, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + +\begin{docTcbKey}{drop fuzzy shadow north}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new fuzzy shadow with standard dimensions to the stack of shadows. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop fuzzy shadow north, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + +\begin{docTcbKey}{drop fuzzy shadow northeast}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new fuzzy shadow with standard dimensions to the stack of shadows. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop fuzzy shadow northeast, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + +\begin{docTcbKey}{drop fuzzy shadow east}{\colOpt{=\meta{color}}}{style, default |black!50!white|} + Adds a new fuzzy shadow with standard dimensions to the stack of shadows. +\begin{dispExample*}{sbs,lefthand ratio=0.7} +\begin{tcolorbox}[drop fuzzy shadow east, + enhanced,colback=red!5!white,colframe=red!75!black] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey}% + + +\clearpage +\subsection{TikZ 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, +but most other skins, e.\,g.\ \refSkin{enhanced}. + + +\begin{docTcbKey}{tikz}{=\meta{tikz option list}}{no default, initially empty} + Adds the given \meta{tikz option list} to the main |tikzpicture| environment + used to draw the color box, see \cite{tantau:2010c}. If this option is + applied a second time, the new \meta{tikz option list} is appended to the + current option list. +\begin{dispExample*}{sbs,lefthand ratio=0.66, + segmentation style={pattern=crosshatch dots light steel blue}} +\tcbset{enhanced,colback=red!5!white, + colframe=red!75!black,fonttitle=\bfseries} + +\begin{tcolorbox}[title=Transparent box, + tikz={opacity=0.5,transparency group}] +This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey} + + +\begin{docTcbKey}{tikz reset}{}{initially set} + Removes all options given by \refKey{/tcb/tikz}. +\end{docTcbKey} + + +\begin{docTcbKey}{at begin tikz}{=\meta{tikz code}}{no default, initially empty} + The given \meta{tikz code} is executed at the begin of the |tikzpicture| environment + after the TikZ 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} + + +\begin{docTcbKey}{at begin tikz reset}{}{initially set} + Removes all code given by \refKey{/tcb/at begin tikz}. +\end{docTcbKey} + + +\begin{docTcbKey}{at end tikz}{=\meta{tikz code}}{no default, initially empty} + The given \meta{tikz code} is executed at the end of the |tikzpicture| environment + before the TikZ 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} + + +\begin{docTcbKey}{at end tikz reset}{}{initially set} + Removes all code given by \refKey{/tcb/at end tikz}. +\end{docTcbKey} + + +\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 + will really be rotated. +\begin{dispExample*}{sbs,lefthand ratio=0.66} +\tcbset{enhanced,colback=red!5!white, + colframe=red!75!black,fonttitle=\bfseries} + +\begin{tcolorbox}[title=Rotated box,rotate=30] +This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey} + +\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 + will really be scaled. +\begin{dispExample*}{sbs,lefthand ratio=0.66} +\tcbset{enhanced,colback=red!5!white, + colframe=red!75!black,fonttitle=\bfseries} + +\begin{tcolorbox}[title=Scaled box,scale=0.5] +This is a tcolorbox. +\end{tcolorbox} +\begin{tcolorbox}[title=Scaled box,scale=1.25] +This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} +\end{docTcbKey} + + +\begin{docTcbKey}{remember}{}{style, initially unset} + Shortcut for |tikz={remember picture}|. This allows to reference nodes + in other TikZ pictures. +\begin{dispExample} +\begin{tcolorbox}[enhanced,remember,colback=red!5!white,colframe=red!75!black, + fonttitle=\bfseries,title=The four corners of a paper, + overlay={\draw[red!50!white,line width=1mm,opacity=0.5,shorten >=3mm] + (frame.north west) edge[->] (current page.north west) + (frame.north east) edge[->] (current page.north east) + (frame.south west) edge[->] (current page.south west) + (frame.south east) edge[->] (current page.south east);}] +This is a tcolorbox. +\end{tcolorbox} +\end{dispExample} \end{docTcbKey} +\clearpage +\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. +\begin{dispExample} +% \usepackage{lipsum} +\newtcolorbox{mybox}[1][]{enhanced,colframe=blue!75!black,colback=blue!10!white, + fonttitle=\bfseries,#1} + +\begin{mybox}[title=First Box,nobeforeafter,width=\linewidth/4,remember as=one] +This is a test. +\end{mybox} +\hfill +\begin{mybox}[title=Second Box,nobeforeafter,width=\linewidth/4,remember as=two] +This is a test. +\end{mybox} +\hfill +\begin{mybox}[title=Third Box,nobeforeafter,width=\linewidth/4,remember as=three] +This is a test. +\end{mybox} + +\lipsum[2] + +\begin{mybox}[title=Fourth Box,remember as=four] +This is a test. +\end{mybox} + +\begin{tikzpicture}[overlay,remember picture,line width=1mm,draw=red!75!black] + \draw[->] (one.east) to[bend right] node[above] {A} (two.west); + \draw[->] (two.east) to[bend left] node[above] {B} (three.west); + \draw[->] (three.east) to[bend left=90] node[right] {C} (four.east); + \draw[->] (four.west) to[bend left=90] node[left] {D} (one.west); +\end{tikzpicture} +\end{dispExample} +\end{docTcbKey} + +\clearpage +\subsection{Jigsaw Skin Variants}\label{subsec:skinjigsaw} +As described in \Vref{sec:skincorekeys}, a |tcolorbox| is drawn by up to +four \emph{engines}. Typically, the \emph{frame} engine fills the complete box area +with color and the other engines fill certain areas with other colors. +Finally, only the area which you see as \emph{frame} of the box will display +the frame color. For most applications, this is a good approach. + +For certain boxes, a more delicate procedure is needed. E.g., if the box should +be translucent, an already painted area cannot be made unpainted. Therefore, +more elaborate frame engines saw holes into the frame where the interior area and +optionally the title area will be painted. +The resulting skins are called \emph{jigsaw} skins. For \refSkin{standard} +and \refSkin{enhanced}, there are variants called \refSkin{standard jigsaw} +and \refSkin{enhanced jigsaw}. + + +\begin{dispExample} +\newcommand{\ballexample}{\begin{tikzpicture} + \path[use as bounding box] (0,0.8) rectangle +(0.1,0.1); + \shadedraw [shading=ball] (0,0) circle (1cm); + \shadedraw [ball color=red] (3,-2.2) circle (1cm); +\end{tikzpicture}} + +\tcbset{enhanced,colback=blue!5!white, + frame style={left color=red!75!black,right color=red!10!yellow}, + fonttitle=\bfseries } + +\ballexample + +\begin{tcolorbox}[title=A normal box] + \lipsum[2] +\end{tcolorbox} + +\ballexample + +\begin{tcolorbox}[title=A translucent jigsaw box, + enhanced jigsaw,opacityback=0.35] + \lipsum[2] +\end{tcolorbox} +\end{dispExample} + + +\begin{dispExample*}{segmentation style={pattern=crosshatch dots light steel blue}} +\tcbset{enhanced,colback=red!10!white,coltitle=black, + frame style={left color=red!75!black,right color=red!10!yellow}, + fonttitle=\bfseries,interior hidden,title hidden} + +\begin{tcolorbox}[title=A normal box with hidden interior and titel] + This is a tcolorbox. +\end{tcolorbox} + +\begin{tcolorbox}[enhanced jigsaw, + title=A jigsaw box with hidden interior and titel] + This is a tcolorbox. +\end{tcolorbox} +\end{dispExample*} + + +\begin{dispExample} +\newtcolorbox{mybox}{skin=enhancedmiddle jigsaw,leftrule=5mm,rightrule=5mm, + boxsep=0mm,top=0mm,bottom=0mm, + frame style={top color=blue,bottom color=red},interior hidden} + +\begin{mybox} + \lipsum[2] +\end{mybox} +\end{dispExample} \clearpage @@ -1235,7 +1650,7 @@ This is a tcolorbox. fonttitle=\bfseries,before=\par\smallskip, title=Environment and engines for the skin '\texttt{#1}'}} -\subsection{Skin 'standard'}\label{subsec:skinstandard} +\subsection{Skin Family 'standard'}\label{subsec:skinstandard} \begin{marker}Note that the option keys \refKey{/tcb/frame style}, \refKey{/tcb/interior style}, \refKey{/tcb/segmentation style}, and @@ -1268,7 +1683,7 @@ This is a tcolorbox. \begin{dispExample} \tcbset{standard,equal height group=standard, colback=LightGreen,colframe=DarkGreen,colbacklower=LimeGreen!75!LightGreen, - width=(\linewidth-6mm)/4,nobeforeafter, + colbacktitle=LimeGreen!75!DarkGreen,width=(\linewidth-6mm)/4,nobeforeafter, left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm} % \begin{tcolorbox} @@ -1290,6 +1705,53 @@ This is a tcolorbox. \end{dispExample} +\clearpage + +\begin{docSkin}{standard jigsaw} + This is the standard jigsaw skin from the core package. It differs from + the skin \refSkin{standard} by its frame engine, see \Vref{subsec:skinjigsaw}. +\begin{tcolorbox}[skintable=standard jigsaw] + \begin{tabbing} + \refKey{/tcb/interior titled engine}: \=\kill + \refKey{/tcb/graphical environment}: \> |pgfpicture|\\ + \refKey{/tcb/frame engine}: \> |standardjigsaw|\\ + \refKey{/tcb/interior titled engine}: \> |standard|\\ + \refKey{/tcb/interior engine}: \> |standard|\\ + \refKey{/tcb/segmentation engine}: \> |standard|\\ + \refKey{/tcb/title engine}: \> |standard| + \end{tabbing} +\end{tcolorbox} +\end{docSkin} + +\begin{docTcbKey}{standard jigsaw}{}{style, no value} + This is an abbreviation for setting |skin=standard jigsaw|. +\end{docTcbKey} + +\begin{dispExample} +\tcbset{standard jigsaw,equal height group=standardjigsaw, + colback=LightGreen,colframe=DarkGreen,colbacklower=LimeGreen!75!LightGreen, + colbacktitle=LimeGreen!75!DarkGreen,width=(\linewidth-6mm)/4,nobeforeafter, + opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5, + 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 \subsection{Skin Family 'enhanced'} @@ -1526,8 +1988,188 @@ Nevertheless, this skin can be applied independently. \end{dispExample} + + +\clearpage +\begin{docSkin}{enhancedlast} +This is a flavor of \refSkin{enhanced} which is used as a \emph{last} part +in a break sequence for \refSkin{enhanced}. +Nevertheless, this skin can be applied independently. +\begin{tcolorbox}[skintable=enhancedlast] + \begin{tabbing} + \refKey{/tcb/interior titled engine}: \=\kill + \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ + \refKey{/tcb/frame engine}: \> |pathlast|\\ + \refKey{/tcb/interior titled engine}: \> |pathlast|\\ + \refKey{/tcb/interior engine}: \> |pathlast|\\ + \refKey{/tcb/segmentation engine}: \> |path|\\ + \refKey{/tcb/title engine}: \> |pathlast| + \end{tabbing} +\end{tcolorbox} +\end{docSkin} + +\begin{dispExample} +\tcbset{skin=enhancedlast,equal height group=enhancedlast, + 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{docSkin}{enhanced jigsaw} + This is the jigsaw variant of skin \refSkin{enhanced}. + It differs by its frame engine, see \Vref{subsec:skinjigsaw}. +\begin{tcolorbox}[skintable=enhanced jigsaw] + \begin{tabbing} + \refKey{/tcb/interior titled engine}: \=\kill + \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ + \refKey{/tcb/frame engine}: \> |pathjigsaw|\\ + \refKey{/tcb/interior titled engine}: \> |path|\\ + \refKey{/tcb/interior engine}: \> |path|\\ + \refKey{/tcb/segmentation engine}: \> |path|\\ + \refKey{/tcb/title engine}: \> |path| + \end{tabbing} +\end{tcolorbox} +\end{docSkin} + +\begin{docTcbKey}{enhanced jigsaw}{}{style, no value} + This is an abbreviation for setting |skin=enhanced jigsaw|. +\end{docTcbKey} + +\begin{dispExample} +\tcbset{enhanced jigsaw,equal height group=enhancedjigsaw, + colback=LightGreen,colframe=DarkGreen,colbacklower=LimeGreen!75!LightGreen, + colbacktitle=LimeGreen!75!DarkGreen,width=(\linewidth-6mm)/4,nobeforeafter, + opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5, + 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}{enhancedfirst jigsaw} + This is the jigsaw variant of skin \refSkin{enhancedfirst}. + It differs by its frame engine, see \Vref{subsec:skinjigsaw}. +\begin{tcolorbox}[skintable=enhancedfirst jigsaw] + \begin{tabbing} + \refKey{/tcb/interior titled engine}: \=\kill + \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ + \refKey{/tcb/frame engine}: \> |pathfirstjigsaw|\\ + \refKey{/tcb/interior titled engine}: \> |pathfirst|\\ + \refKey{/tcb/interior engine}: \> |pathfirst|\\ + \refKey{/tcb/segmentation engine}: \> |path|\\ + \refKey{/tcb/title engine}: \> |pathfirst| + \end{tabbing} +\end{tcolorbox} +\end{docSkin} + + +\begin{dispExample} +\tcbset{skin=enhancedfirst jigsaw,equal height group=enhancedfirstjigsaw, + colback=LightGreen,colframe=DarkGreen,colbacklower=LimeGreen!75!LightGreen, + colbacktitle=LimeGreen!75!DarkGreen,width=(\linewidth-6mm)/4,nobeforeafter, + opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5, + 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}{enhancedmiddle jigsaw} + This is the jigsaw variant of skin \refSkin{enhancedmiddle}. + It differs by its frame engine, see \Vref{subsec:skinjigsaw}. +\begin{tcolorbox}[skintable=enhancedmiddle jigsaw] + \begin{tabbing} + \refKey{/tcb/interior titled engine}: \=\kill + \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ + \refKey{/tcb/frame engine}: \> |pathmiddlejigsaw|\\ + \refKey{/tcb/interior titled engine}: \> |pathmiddle|\\ + \refKey{/tcb/interior engine}: \> |pathmiddle|\\ + \refKey{/tcb/segmentation engine}: \> |path|\\ + \refKey{/tcb/title engine}: \> |pathmiddle| + \end{tabbing} +\end{tcolorbox} +\end{docSkin} + + +\begin{dispExample} +\tcbset{skin=enhancedmiddle jigsaw,equal height group=enhancedmiddlejigsaw, + colback=LightGreen,colframe=DarkGreen,colbacklower=LimeGreen!75!LightGreen, + colbacktitle=LimeGreen!75!DarkGreen,width=(\linewidth-6mm)/4,nobeforeafter, + opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5, + 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} + + \begin{docTcbKey}{marker}{}{style, no value} - This styles relies on the skin \refSkin{enhancedmiddle}. It is + This styles relies on the skin \refSkin{enhancedmiddle jigsaw}. It is intended to be used as an optical marker like a highlighter pen. \begin{dispExample} \begin{tcolorbox}[marker] @@ -1541,10 +2183,9 @@ Nevertheless, this skin can be applied independently. \begin{dispListing*}{before upper={This examples demonstrates the creation of several \emph{text marker} environments based on \refSkin{enhancedmiddle}.\par\medskip}} \tcbset{textmarker/.style={% - skin=enhancedmiddle,breakable,parbox=false, + skin=enhancedmiddle jigsaw,breakable,parbox=false, boxrule=0mm,leftrule=5mm,rightrule=5mm,boxsep=0mm,arc=0mm,outer arc=0mm, - left=3mm,right=3mm,top=1mm,bottom=1mm,enlarge left by=-8mm,enlarge right by=-8mm, - toptitle=1mm,bottomtitle=1mm,width=\the\dimexpr\linewidth+1.6cm\relax}} + left=3mm,right=3mm,top=1mm,bottom=1mm,toptitle=1mm,bottomtitle=1mm,oversize}} \newtcolorbox{yellow}{textmarker,colback=yellow!5!white,colframe=yellow} \newtcolorbox{orange}{textmarker,colback=DarkOrange!5!white, @@ -1552,41 +2193,45 @@ Nevertheless, this skin can be applied independently. \newtcolorbox{red}{textmarker,colback=red!5!white,colframe=red} \newtcolorbox{blue}{textmarker,colback=DeepSkyBlue!5!white,colframe=DeepSkyBlue} \newtcolorbox{green}{textmarker,colback=Chartreuse!5!white,colframe=Chartreuse} +\newtcolorbox{rainbow}{textmarker,interior hidden, + frame style={top color=blue,bottom color=red,middle color=green}} \begin{yellow} - \lipsum[1] + \lipsum[1-3] \end{yellow} \begin{orange} - \lipsum[2] + \lipsum[4] \end{orange} \begin{red} - \lipsum[3] + \lipsum[5] \end{red} \begin{green} - \lipsum[4] + \lipsum[6] \end{green} \begin{blue} - \lipsum[5] + \lipsum[7] \end{blue} -\lipsum[6]% following text + +\begin{rainbow} + \lipsum[8] +\end{rainbow} \end{dispListing*} {\tcbusetemp} \clearpage -\begin{docSkin}{enhancedlast} -This is a flavor of \refSkin{enhanced} which is used as a \emph{last} part -in a break sequence for \refSkin{enhanced}. -Nevertheless, this skin can be applied independently. +\begin{docSkin}{enhancedlast jigsaw} + This is the jigsaw variant of skin \refSkin{enhancedlast}. + It differs by its frame engine, see \Vref{subsec:skinjigsaw}. \begin{tcolorbox}[skintable=enhancedlast] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ - \refKey{/tcb/frame engine}: \> |pathlast|\\ + \refKey{/tcb/frame engine}: \> |pathlastjigsaw|\\ \refKey{/tcb/interior titled engine}: \> |pathlast|\\ \refKey{/tcb/interior engine}: \> |pathlast|\\ \refKey{/tcb/segmentation engine}: \> |path|\\ @@ -1595,10 +2240,12 @@ Nevertheless, this skin can be applied independently. \end{tcolorbox} \end{docSkin} + \begin{dispExample} -\tcbset{skin=enhancedlast,equal height group=enhancedlast, - colback=LightGreen,colframe=DarkGreen, - width=(\linewidth-6mm)/4,nobeforeafter, +\tcbset{skin=enhancedlast jigsaw,equal height group=enhancedlastjigsaw, + colback=LightGreen,colframe=DarkGreen,colbacklower=LimeGreen!75!LightGreen, + colbacktitle=LimeGreen!75!DarkGreen,width=(\linewidth-6mm)/4,nobeforeafter, + opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5, left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm} % \begin{tcolorbox} @@ -1620,8 +2267,6 @@ Nevertheless, this skin can be applied independently. \end{dispExample} - - \clearpage \subsection{Skin Family 'freelance'} \begin{marker} 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 41657873cde..58542326d1b 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex @@ -11,22 +11,24 @@ This also loads the package |amsmath|. \subsection{Macros of the Library} \begin{docCommand}{newtcbtheorem}{\oarg{init options}\marg{name}\marg{display name}\marg{options}\marg{prefix}} - Creates a new environment \meta{name} based on |tcolorbox| to frame a + Creates new environments \meta{name} and \meta{name}|*| based on |tcolorbox| to frame a (mathematical) theorem. The \meta{display name} is used in the title line with a number, e.\,g. \mbox{\flqq Theorem 5.1\frqq}. The \meta{options} are given to the underlying |tcolorbox| to control the appearance. %The \meta{counter} is used for automatic numbering. The \meta{init options} allow to set up automatic numbering, - see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\par + see \Vref{sec:initkeys}.\par The new environment \meta{name} takes one optional and two mandatory parameters. The optional parameter supplements the options and should be used only in rare cases. The first mandatory parameter is the title text for the theorem and the second mandatory parameter is a \meta{marker}. The theorem is - automatically labeled with \meta{prefix}|:|\meta{marker}. - -\enlargethispage*{20mm} + automatically labeled with \meta{prefix}|:|\meta{marker}.\par + The new environment \meta{name}|*| takes one optional and one mandatory + parameter and represents an unnumbered variant of the environment \meta{name}. + This variant is not labeled and not listed in lists of theorems. +%\enlargethispage*{20mm} \inputpreamblelisting{F} \begin{dispExample} \begin{mytheo}{This is my title}{theoexample} @@ -49,10 +51,21 @@ This also loads the package |amsmath|. vanished magically. \end{mytheo} \end{dispExample} + +\begin{dispExample} +\begin{mytheo*}{Unnumbered Theorem} + This theorem is not numbered. +\end{mytheo*} +\end{dispExample} + +\begin{dispExample} +\begin{mytheo*}{} + This theorem has no number and no title. +\end{mytheo*} +\end{dispExample} \end{docCommand} -\clearpage \begin{docCommand}{renewtcbtheorem}{\oarg{init options}\marg{name}\marg{display name}\marg{options}\marg{prefix}} Operates like \refCom{newtcbtheorem}, but based on |\renewenvironment| instead of |\newenvironment|. An existing environment is redefined. @@ -79,6 +92,7 @@ This also loads the package |amsmath|. \end{deprecated} \end{docCommand} +\clearpage \begin{docCommand}{tcboxmath}{\oarg{options}\marg{mathematical box content}} Creates a \refEnv{tcolorbox} which is fitted to the width of the given \meta{mathematical box content}. This box is intended to be applied as @@ -96,8 +110,6 @@ This also loads the package |amsmath|. \end{dispExample} \end{docCommand} -\clearpage - \begin{docCommand}{tcbhighmath}{\oarg{options}\marg{mathematical box content}} This is a special case of the \refCom{tcboxmath} macro which uses the style \refKey{/tcb/highlight math}. @@ -107,7 +119,8 @@ This also loads the package |amsmath|. \begin{dispExample} \tcbset{myformula/.style={colback=yellow!10!white,colframe=red!50!black, - highlight math style={colback=LightBlue!50!white,colframe=Navy}}} + every box/.style={highlight math style={colback=LightBlue!50!white,colframe=Navy}} + }} \begin{align} \tcbhighmath{\sum\limits_{n=1}^{\infty} \frac{1}{n}} &= \infty.\\ @@ -187,7 +200,22 @@ created by hand or using \refCom{tcbmaketheorem} or using its successor \begin{docTcbKey}{highlight math style}{=\meta{style definition}}{style, no default} Changes the definition for \refKey{/tcb/highlight math} to the given - \meta{style definition}. See \refCom{tcbhighmath} for an example. + \meta{style definition}. See \refCom{tcbhighmath} for another example. +\begin{dispExample} +% \tcbuselibrary{skins} +\tcbset{highlight math style={enhanced,%<-- needed for the 'remember' options + colframe=red,colback=red!10!white,boxsep=0pt}} +\begin{align*} +\tcbhighmath[remember as=fx]{f(x)} + &= \int\limits_{1}^{x} \frac{1}{t^2}~dt + = \left[ -\frac{1}{t} \right]_{1}^{x}\\ + &= -\frac{1}{x} + \frac{1}{1}\\ + &= +\tcbhighmath[remember,overlay={% + \draw[blue,very thick,->] (fx.south) to[bend right] ([yshift=2mm]frame.west);}] + {1-\frac{1}{x}.} +\end{align*} +\end{dispExample} \end{docTcbKey} \begin{docTcbKey}{math upper}{}{style, no value} diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf Binary files differindex e0070c21875..dd9cba7e3bd 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex index 9c610590a6d..f02fc310661 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.51 (2013/09/16) +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) %% tcolorbox.tex: Manual %% %% ------------------------------------------------------------------------------------------- @@ -29,7 +29,7 @@ \usepackage{tikz} \usepackage{varioref} \usepackage[pdftex,bookmarks,raiselinks,pageanchor,hyperindex,colorlinks]{hyperref} -\usepackage{cleveref} +\usepackage{cleveref,incgraph} \usepackage[a4paper,left=2.5cm,right=2.5cm,top=1.5cm,bottom=1.5cm, marginparsep=5mm,marginparwidth=10mm, @@ -82,8 +82,8 @@ \newtcolorbox{marker}[1][]{marker,#1} -\def\version{2.51}% -\def\datum{2013/09/16}% +\def\version{2.60}% +\def\datum{2013/12/17}% \makeindex \hypersetup{ @@ -137,16 +137,18 @@ morekeywords={% core adjusted,adjust,after,arc,auto,autoparskip,align, before,bottom,boxsep,boxrule,bottomtitle,bottomrule,broken,basedim, - collower,coltext,coltitle,colback,colframe,colupper,center,code,capture,check,counter, + collower,coltext,coltitle,colback,colframe,colupper,center,code,capture,check,counter,crefname,Crefname, equal,enlarge,enlargement,extrude,every,box,higher,layers, - fontupper,fontlower,fonttitle,first,floatplacement,float,fit,fontsize,flushleft,flushright,freestyle,format, + fontupper,fontlower,fonttitle,first,floatplacement,float,fit,fontsize,flushleft,flushright,freestyle,format,filled, group,gap, height, + jigsaw, lowerbox,left,leftrule,lefttitle,leftupper,leftlower,lower,last,lefthand,label, middle,minimum,maxstep,macros, notitle,natural,noparskip,nobeforeafter,nofloat,number, parskip,parbox,phantom,page, - outer,oversize,overlay,odd, + outer,oversize,overlay,odd,opacitytext,opacityfill, + opacityupper,opacitylower,opacitytitle,opacityframe,opacityback,opacitybacktitle, right,rightrule,righttitle,rightupper,rightlower,righthand,ratio, savelowerto,savedelimiter,space,split,shrink,sidebyside,skip,step,separated, title,top,toptitle,toprule,titlerule,tabularx,tikz,toggle,tight,tempfile,text, @@ -154,6 +156,7 @@ valign, width,within, % listings + above, comment, file, inputencoding, @@ -197,10 +200,12 @@ opacity,overzoom, midday, nodes, - skin,segmentation,stretch,standard,shadow, + rotate,remember, + skin,segmentation,stretch,standard,shadow,scale, titled, watermark,widget, zoom, + southeast,south,southwest,west,northwest,north,northeast,east, % breakable breakable,break,enlargepage, goal, @@ -328,7 +333,17 @@ \input{\jobname_preamble_H.tex} -%\includeonly{tcolorbox.doc.skins} +\begin{tcbverbatimwrite}{\jobname_preamble_I.tex} +% \usepackage{cleveref} +\newtcolorbox[auto counter,number within=section, + Crefname={Bluebox}{Blueboxes},crefname={bluebox}{blueboxes}]% + {mybluebox}[2][]{colback=blue!5!white,colframe=blue!75!black,fonttitle=\bfseries, + title=Bluebox \thetcbcounter: #2,#1} +\end{tcbverbatimwrite} +\input{\jobname_preamble_I.tex} + + +%\includeonly{tcolorbox.doc.abstract} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex index cd430f9688c..2f2843d08a0 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 2.51 (2013/09/16) +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) %% tcbbreakable.code.tex: Code for breakable colorboxes %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{2.51} +\tcb@set@library@version{2.60} \let\tcb@parboxrestore@true=\tcb@parboxrestore \def\tcb@parboxrestore@false{\vskip-\parskip\linewidth\hsize} @@ -39,7 +39,7 @@ \def\thempfn{\thempfootnote}% \c@mpfootnote\z@% \let\@footnotetext\@mpfootnotetext% - \@setminipage% + \@setminipage\tcb@hyph@fix% \ignorespaces% \let\tcb@drawcolorbox=\tcb@drawcolorbox@standalone% } @@ -468,18 +468,12 @@ \tcb@bbdraw% \tcb@extensions@preframe% % draw frame and interior - \csname tcb@drawframe@\kvtcb@engine@frame\endcsname% - \iftcb@hasTitle% - \csname tcb@drawwithtitle@\kvtcb@engine@interiortitled\endcsname% - \else% - \csname tcb@drawwithouttitle@\kvtcb@engine@interior\endcsname% - \fi% + \tcb@adraw@frame% + \tcb@adraw@interior% \iftcb@lowerseparated% \csname tcb@drawlower@\kvtcb@engine@segmentation\endcsname% \fi% - \iftcb@hasTitle% - \csname tcb@drawtitle@\kvtcb@engine@title\endcsname% - \fi% + \tcb@adraw@title% \tcb@extensions@postframe% % draw text boxes \tcb@tdraw@title% @@ -501,15 +495,9 @@ \tcb@bbdraw% \tcb@extensions@preframe% % draw frame and interior - \csname tcb@drawframe@\kvtcb@engine@frame\endcsname% - \iftcb@hasTitle% - \csname tcb@drawwithtitle@\kvtcb@engine@interiortitled\endcsname% - \else% - \csname tcb@drawwithouttitle@\kvtcb@engine@interior\endcsname% - \fi% - \iftcb@hasTitle% - \csname tcb@drawtitle@\kvtcb@engine@title\endcsname% - \fi% + \tcb@adraw@frame% + \tcb@adraw@interior% + \tcb@adraw@title% \tcb@extensions@postframe% % draw text boxes \tcb@tdraw@title% @@ -530,18 +518,12 @@ \tcb@bbdraw% \tcb@extensions@preframe% % draw frame and interior - \csname tcb@drawframe@\kvtcb@engine@frame\endcsname% - \iftcb@hasTitle% - \csname tcb@drawwithtitle@\kvtcb@engine@interiortitled\endcsname% - \else% - \csname tcb@drawwithouttitle@\kvtcb@engine@interior\endcsname% - \fi% + \tcb@adraw@frame% + \tcb@adraw@interior% \iftcb@lowerseparated% \csname tcb@drawlower@\kvtcb@engine@segmentation\endcsname% \fi% - \iftcb@hasTitle% - \csname tcb@drawtitle@\kvtcb@engine@title\endcsname% - \fi% + \tcb@adraw@title% \tcb@extensions@postframe% % draw text boxes \tcb@tdraw@title% @@ -562,15 +544,9 @@ \tcb@bbdraw% \tcb@extensions@preframe% % draw frame and interior - \csname tcb@drawframe@\kvtcb@engine@frame\endcsname% - \iftcb@hasTitle% - \csname tcb@drawwithtitle@\kvtcb@engine@interiortitled\endcsname% - \else% - \csname tcb@drawwithouttitle@\kvtcb@engine@interior\endcsname% - \fi% - \iftcb@hasTitle% - \csname tcb@drawtitle@\kvtcb@engine@title\endcsname% - \fi% + \tcb@adraw@frame% + \tcb@adraw@interior% + \tcb@adraw@title% \tcb@extensions@postframe% % draw text boxes \tcb@tdraw@title% diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex index 2f9f794959a..38107a77327 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 2.51 (2013/09/16) +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) %% tcbdocumentation.code.tex: Code for LaTeX documentations %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{2.51} +\tcb@set@library@version{2.60} \tcbuselibrary{listings} @@ -215,11 +215,8 @@ {\endlist} %--- index macros taken from pgfmanual-en-macros -\def\tcb@doc@index@pgf{% - \def\index@prologue{\section*{\kvtcb@text@index}\addcontentsline{toc}{section}{\kvtcb@text@index}% - \par\noindent% - }% - \c@IndexColumns=2 +\def\tcb@doc@index@pgf@{% + \c@IndexColumns=2% \def\theindex{\@restonecoltrue \columnseprule \z@ \columnsep 29\p@ \twocolumn[\index@prologue]% @@ -235,6 +232,23 @@ \def\noindexing{\let\index=\@gobble}% } + +\def\tcb@doc@index@pgfsection{% + \def\index@prologue{\section*{\kvtcb@text@index}\addcontentsline{toc}{section}{\kvtcb@text@index}% + \par\noindent% + }% + \tcb@doc@index@pgf@% +} + +\def\tcb@doc@index@pgfchapter{% + \def\index@prologue{\ifdefined\phantomsection\phantomsection\fi\@makeschapterhead{\kvtcb@text@index}\addcontentsline{toc}{chapter}{\kvtcb@text@index}}% + \tcb@doc@index@pgf@% +} + + +\let\tcb@doc@index@pgf=\tcb@doc@index@pgfsection% + + \def\tcb@doc@index@doc{% \let\index@Com=\SpecialMainIndex%% \let\index@Env=\SpecialMainEnvIndex% @@ -243,6 +257,8 @@ \PageIndex% } +\def\tcb@doc@index@off{}% + \tcbset{% reset@documentation/.style={% index format=pgf, diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex index e10522afe79..85ec5f60284 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 2.51 (2013/09/16) +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) %% tcbfitting.code.tex: Code for fit boxes %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{2.51} +\tcb@set@library@version{2.60} \newdimen\tcbfitdim \newdimen\tcb@lowerfitdim @@ -51,6 +51,13 @@ fit maxfontdiffgap/.store in=\kvtcb@fit@maxfontdiffgap,% fit maxwidthdiff/.store in=\kvtcb@fit@maxwidthdiff,% fit maxwidthdiffgap/.store in=\kvtcb@fit@maxwidthdiffgap,% + fit warning/.is choice, + fit warning/on/.code={\let\tcb@fit@warn@begin=\@empty% + \let\tcb@fit@warn@end=\@empty}, + fit warning/off/.code={\def\tcb@fit@warn@begin{\hbadness=10000\relax}% + \let\tcb@fit@warn@end=\@empty}, + fit warning/final/.code={\tcb@cur@hbadness=\hbadness\def\tcb@fit@warn@begin{\hbadness=10000\relax}% + \def\tcb@fit@warn@end{\hbadness=\tcb@cur@hbadness\relax\tcb@fit@@box}}, } \def\tcb@@capture@fitbox{% @@ -67,6 +74,8 @@ \tcb@finalize@environment% } +\newcount\tcb@cur@hbadness + \long\def\tcbox@inner@fitbox#1{% \tcbset{breakable@false,sidebyside=false}% \let\tcb@val@raisebase=\tcb@zpt% @@ -77,7 +86,7 @@ % \count@\z@% \tcbfitdim\kvtcb@fit@basedim% - % + \tcb@fit@warn@begin% % \def\tcb@fit@@box{% \tcbdimto\tcb@fit@@line{\kvtcb@fit@skip\tcbfitdim}% @@ -87,6 +96,11 @@ \kvtcb@fontupper\fontsize{\tcbfitdim}{\tcb@fit@@line}\selectfont% \kvtcb@before@upper\ignorespaces#1\unskip\kvtcb@after@upper% \end{tcb@savebox}% + % + \ifdim\wd\tcb@upperbox>\tcb@w@upper\relax + \message{WARNING!!!!!} + \fi + % \tcbdimto\tcb@fit@@h{\ht\tcb@upperbox+\dp\tcb@upperbox}% \tcbdimto\tcb@fit@@target{\kvtcb@height@fixed-\kvtcb@top@rule@stand-\kvtcb@bottom@rule@stand-\kvtcb@top-\kvtcb@bottom-\kvtcb@boxsep*2-\tcb@h@titletotal}% \advance\count@ 1\relax% @@ -231,6 +245,8 @@ \fi% \fi% % + \tcb@fit@warn@end% + % % last height fit \ifdim\kvtcb@height@fixed@plus>0pt\relax% \ifdim\dimexpr\tcb@fit@@h<\tcb@fit@@target\relax% @@ -300,6 +316,7 @@ fit height plus=0pt,fit width plus=0pt, fit maxstep=20,fit maxfontdiff=0.1pt,fit maxfontdiffgap=1pt, fit maxwidthdiff=1pt,fit maxwidthdiffgap=10pt, + fit warning=off }, initialize@reset=reset@fitting, } diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex index 539c43ba681..4726ccc8799 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 2.51 (2013/09/16) +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) %% tcbhooks.code.tex: Code for adding hooks %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{2.51} +\tcb@set@library@version{2.60} \tcbset{% before upper app/.code={\appto\kvtcb@before@upper{#1}},% diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex index 2d4bb4d9431..a793223297f 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 2.51 (2013/09/16) +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) %% tcblistings.code.tex: Code for colorboxes with listings %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{2.51} +\tcb@set@library@version{2.60} \RequirePackage{listings}[2007/02/22] diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex index 35e07392328..5f8286aa7ff 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 2.51 (2013/09/16) +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) %% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{2.51} +\tcb@set@library@version{2.60} \def\tcbuselistingtext{\input{\kvtcb@listingfile}}% @@ -50,6 +50,24 @@ \tcbuselistinglisting% } +\def\tcb@inputlisting@out@textAboveListing{% + \kvtcb@beforebox\noindent% + \iftcb@lowervisible\tcb@minipage{\kvtcb@width}\color{\kvtcb@collower}\kvtcb@fontlower\kvtcb@before@lower\ignorespaces% + \begingroup\tcb@layer@inc\tcbuselistingtext\tcb@layer@dec\endgroup% + \unskip\kvtcb@after@lower\endminipage% + \par\vskip-\parskip\vspace*{\kvtcb@middle}\noindent% + \fi% + \begin{tcolorbox}[before=]\tcbuselistinglisting\end{tcolorbox}% +} + +\def\tcb@inputlisting@out@listingAboveText{% + \begin{tcolorbox}[after=]\tcbuselistinglisting\end{tcolorbox}% + \iftcb@lowervisible\par\vskip-\parskip\vspace*{\kvtcb@middle}\noindent% + \tcb@minipage{\kvtcb@width}\color{\kvtcb@collower}\kvtcb@fontlower\kvtcb@before@lower\ignorespaces% + \begingroup\tcb@layer@inc\tcbuselistingtext\tcb@layer@dec\endgroup% + \unskip\kvtcb@after@lower\endminipage\fi% + \kvtcb@afterbox% +} \def\tcb@inputlisting@out@prepare{% \tcbdimto\tcb@width{\kvtcb@width}% @@ -61,8 +79,8 @@ \tcbdimto\tcb@w@upper@real{\tcb@w@upper}% \tcbdimto\tcb@w@sbs{\tcb@w@upper@real-\kvtcb@sbs@gap}% \tcb@sbs@quota% - \ifx\kvtcb@float\@empty% - \newenvironment{tcb@sbsfloat}{\kvtcb@beforebox}{\kvtcb@afterbox}% + \ifx\kvtcb@float\@empty% + \newenvironment{tcb@sbsfloat}{\kvtcb@beforebox}{\kvtcb@afterbox}% \else% \edef\float@start{\noexpand\@float{tcbfloat}[\kvtcb@float]}% \newenvironment{tcb@sbsfloat}{\float@start}{\end@float}% @@ -78,7 +96,8 @@ \begin{tcolorbox}[width=\tcb@w@inside,nobeforeafter,nofloat,sidebyside=false]\tcbuselistinglisting\end{tcolorbox}% \endminipage\hfill% \iftcb@lowervisible\tcb@minipage{\tcb@w@outside}\color{\kvtcb@collower}\kvtcb@fontlower\kvtcb@before@lower\ignorespaces% - \tcbuselistingtext\unskip\kvtcb@after@lower\endminipage\fi% + \begingroup\tcb@layer@inc\tcbuselistingtext\tcb@layer@dec\endgroup% + \unskip\kvtcb@after@lower\endminipage\fi% \end{minipage}\end{tcb@sbsfloat}% } @@ -88,7 +107,8 @@ \tcbdimto\tcb@w@inside{\tcb@width-\tcb@w@upper-\kvtcb@sbs@gap}% \begin{tcb@sbsfloat}\begin{minipage}{\tcb@width}% \iftcb@lowervisible\tcb@minipage{\tcb@w@outside}\color{\kvtcb@collower}\kvtcb@fontlower\kvtcb@before@lower\ignorespaces% - \tcbuselistingtext\unskip\kvtcb@after@lower\endminipage\fi\hfill% + \begingroup\tcb@layer@inc\tcbuselistingtext\tcb@layer@dec\endgroup% + \unskip\kvtcb@after@lower\endminipage\fi\hfill% \tcb@minipage{\tcb@w@inside}% \begin{tcolorbox}[width=\tcb@w@inside,nobeforeafter,nofloat,sidebyside=false]\tcbuselistinglisting\end{tcolorbox}% \endminipage% @@ -115,6 +135,8 @@ comment and listing/.code={\tcb@set@listing@process{\tcb@listing@commentAndListing}},% listing only/.code={\tcb@set@listing@process{\tcb@listing@listing}},% text only/.code={\tcb@set@listing@process{\tcbuselistingtext}},% + text above listing/.code={\let\tcb@inputlisting\tcb@inputlisting@out@textAboveListing},% + listing above text/.code={\let\tcb@inputlisting\tcb@inputlisting@out@listingAboveText},% text side listing/.style={sidebyside,text and listing},% listing side text/.style={sidebyside,listing and text},% text outside listing/.code={\let\tcb@inputlisting\tcb@inputlisting@out@textAndListing},% diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex index 1d4d4628974..7bc89405ca2 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 2.51 (2013/09/16) +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) %% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8 %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{2.51} +\tcb@set@library@version{2.60} \RequirePackage{listingsutf8}[2011/11/10] \tcbuselibrary{listings} diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex index 1489fca0e0a..58c1ed0553b 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 2.51 (2013/09/16) +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) %% tcbminted.code.tex: Code for colorboxes with listings %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{2.51} +\tcb@set@library@version{2.60} \RequirePackage{minted}[2011/09/17] diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex index 8452146eef8..22242ee750a 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 2.51 (2013/09/16) +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) %% tcbskins.code.tex: Code for colorboxes with different skins %% %% ------------------------------------------------------------------------------------------- @@ -17,10 +17,14 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{2.51} +\tcb@set@library@version{2.60} \RequirePackage{tikz}[2010/10/13] +\newenvironment{tikzpicture@tcb@hooked}{% + \edef\tcb@tikzpicture@begin{\noexpand\tikzpicture[\expandonce\tcb@tikz@option@hook]}% + \tcb@tikzpicture@begin\tcb@tikz@begin@hook}{\tcb@tikz@end@hook\endtikzpicture} + \def\tcb@creategeonodes@true{% \begin{scope}[every node/.style={line width=0mm,inner sep=0mm,draw=none,fill=none,rectangle}] \node[name=frame,at={(0,0)},above right,minimum width=\tcb@width,minimum height=\tcb@height]{}; @@ -47,49 +51,57 @@ \edef#3{\the\pgf@y}% } -% absolute coordinates -\def\tcb@pathrect#1#2#3#4#5#6#7{% - \path[#1]% - \pgfextra{% - \tcb@gettikzxy{(#2)}{\tcb@xa}{\tcb@ya}% - \tcb@gettikzxy{(#3)}{\tcb@xb}{\tcb@yb}% - \pgfpathmoveto{\pgfqpoint{\tcb@xa}{\tcb@ya}}% - \pgfsetcornersarced{\pgfpoint{#5}{#5}}\pgfpathlineto{\pgfqpoint{\tcb@xa}{\tcb@yb}}% - \pgfsetcornersarced{\pgfpoint{#6}{#6}}\pgfpathlineto{\pgfqpoint{\tcb@xb}{\tcb@yb}}% - \pgfsetcornersarced{\pgfpoint{#7}{#7}}\pgfpathlineto{\pgfqpoint{\tcb@xb}{\tcb@ya}}% - \pgfsetcornersarced{\pgfpoint{#4}{#4}}\pgfpathclose};% +\def\tcb@boundary@tikzbase#1#2#3#4#5#6{% + \tcb@gettikzxy{(#1)}{\tcb@xa}{\tcb@ya}% + \tcb@gettikzxy{(#2)}{\tcb@xb}{\tcb@yb}% + \pgfpathmoveto{\pgfqpoint{\tcb@xa}{\tcb@ya}}% + #4\pgfpathlineto{\pgfqpoint{\tcb@xa}{\tcb@yb}}% + #5\pgfpathlineto{\pgfqpoint{\tcb@xb}{\tcb@yb}}% + #6\pgfpathlineto{\pgfqpoint{\tcb@xb}{\tcb@ya}}% + #3\pgfpathclose% } -% fill frame -\def\tcb@drawframe@path{% - \tcb@pathrect{fill=\kvtcb@colframe,tcb@spec,frame@style}{frame.south west}{frame.north east}% - {\tcb@outer@arc}{\tcb@outer@arc}{\tcb@outer@arc}{\tcb@outer@arc}% +\def\tcb@pathboundary#1#2{\path[#1]\pgfextra{#2};} + +\def\tcb@pathbase#1#2#3#4#5#6#7{\tcb@pathboundary{#1}{\tcb@boundary@tikzbase{#2}{#3}{#4}{#5}{#6}{#7}}} + +\def\tcb@boundaryframe@pathfirst{% + \tcb@boundary@base{0pt}{0pt}% + {\tcb@width}{\tcb@height}% + {\tcb@arc@zpt}{\tcb@arc@out}{\tcb@arc@out}{\tcb@arc@zpt}% } -\def\tcb@drawframe@pathfirst{% - \tcb@pathrect{fill=\kvtcb@colframe,tcb@spec,frame@style}{frame.south west}{frame.north east}% - {0pt}{\tcb@outer@arc}{\tcb@outer@arc}{0pt}% +\def\tcb@boundaryframe@pathmiddle{% + \tcb@boundary@base{0pt}{0pt}% + {\tcb@width}{\tcb@height}% + {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}% } -\def\tcb@drawframe@pathmiddle{% - \tcb@pathrect{fill=\kvtcb@colframe,tcb@spec,frame@style}{frame.south west}{frame.north east}% - {0pt}{0pt}{0pt}{0pt}% +\def\tcb@boundaryframe@pathlast{% + \tcb@boundary@base{0pt}{0pt}% + {\tcb@width}{\tcb@height}% + {\tcb@arc@out}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@out}% } -\def\tcb@drawframe@pathlast{% - \tcb@pathrect{fill=\kvtcb@colframe,tcb@spec,frame@style}{frame.south west}{frame.north east}% - {\tcb@outer@arc}{0pt}{0pt}{\tcb@outer@arc}% +\tikzset{% + tcb@fill@frame/.style={fill=\kvtcb@colframe,fill opacity=\kvtcb@opacityframe,tcb@spec,frame@style},% + tcb@fill@interior/.style={fill=\kvtcb@colback,fill opacity=\kvtcb@opacityback,tcb@spec,interior@style},% + tcb@fill@title/.style={fill=\kvtcb@colbacktitle,fill opacity=\kvtcb@opacitybacktitle,tcb@spec,title@style},% } +% fill frame +\def\tcb@drawframe@path{\tcb@pathboundary{tcb@fill@frame}{\tcb@outerboundary}} +\let\tcb@drawframe@pathfirst=\tcb@drawframe@path +\let\tcb@drawframe@pathmiddle=\tcb@drawframe@path +\let\tcb@drawframe@pathlast=\tcb@drawframe@path + + % fill inner box with title -\def\tcb@drawwithtitle@path{% - \tcb@pathrect{fill=\kvtcb@colback,tcb@spec,interior@style}{interior.south west}{interior.north east}% - {\kvtcb@arc}{0pt}{0pt}{\kvtcb@arc}% -} +\def\tcb@drawwithtitle@path{\tcb@pathboundary{tcb@fill@interior}{\tcb@boundaryinterior@title@standard}} \def\tcb@drawwithtitle@pathfirst{% - \tcb@pathrect{fill=\kvtcb@colback,tcb@spec,interior@style}{interior.west|-frame.south}{interior.north east}% - {0pt}{0pt}{0pt}{0pt}% + \tcb@pathbase{tcb@fill@interior}{interior.west|-frame.south}{interior.north east}% + {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}% } \let\tcb@drawwithtitle@pathmiddle=\tcb@drawwithtitle@pathfirst @@ -97,33 +109,42 @@ \let\tcb@drawwithtitle@pathlast=\tcb@drawwithtitle@path % fill inner box without title -\def\tcb@drawwithouttitle@path{% - \tcb@pathrect{fill=\kvtcb@colback,tcb@spec,interior@style}{interior.south west}{interior.north east}% - {\kvtcb@arc}{\kvtcb@arc}{\kvtcb@arc}{\kvtcb@arc}% -} +\def\tcb@drawwithouttitle@path{\tcb@pathboundary{tcb@fill@interior}{\tcb@boundaryinterior@notitle@standard}} \def\tcb@drawwithouttitle@pathfirst{% - \tcb@pathrect{fill=\kvtcb@colback,tcb@spec,interior@style}{interior.west|-frame.south}{interior.north east}% - {0pt}{\kvtcb@arc}{\kvtcb@arc}{0pt}% + \tcb@pathbase{tcb@fill@interior}{interior.west|-frame.south}{interior.north east}% + {\tcb@arc@zpt}{\tcb@arc@ins}{\tcb@arc@ins}{\tcb@arc@zpt}% } \def\tcb@drawwithouttitle@pathmiddle{% - \tcb@pathrect{fill=\kvtcb@colback,tcb@spec,interior@style}{interior.west|-frame.south}{interior.east|-frame.north}% - {0pt}{0pt}{0pt}{0pt}% + \tcb@pathbase{tcb@fill@interior}{interior.west|-frame.south}{interior.east|-frame.north}% + {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}% } \def\tcb@drawwithouttitle@pathlast{% - \tcb@pathrect{fill=\kvtcb@colback,tcb@spec,interior@style}{interior.south west}{interior.east|-frame.north}% - {\kvtcb@arc}{0pt}{0pt}{\kvtcb@arc}% + \tcb@pathbase{tcb@fill@interior}{interior.south west}{interior.east|-frame.north}% + {\tcb@arc@ins}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}% +} + +% draw title box +\def\tcb@drawtitle@path{\tcb@pathboundary{tcb@fill@title}{\tcb@boundarytitle@standard}} + +\let\tcb@drawtitle@pathfirst=\tcb@drawtitle@path + +\def\tcb@drawtitle@pathmiddle{% + \tcb@pathbase{tcb@fill@title}{title.south west}{title.north east}% + {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}% } +\let\tcb@drawtitle@pathlast=\tcb@drawtitle@pathmiddle + % draw segmentation line \def\tcb@drawlower@path{% \iftcb@sidebyside% - \path[draw=\kvtcb@colframe,dash pattern=on 1mm off 1mm,dash phase=0.5mm,tcb@spec,segmentation@style] + \path[draw=\kvtcb@colframe,fill opacity=\kvtcb@opacityframe,dash pattern=on 1mm off 1mm,dash phase=0.5mm,tcb@spec,segmentation@style] (segmentation.north)--(segmentation.south);% \else% - \path[draw=\kvtcb@colframe,dash pattern=on 1mm off 1mm,dash phase=0.5mm,tcb@spec,segmentation@style] + \path[draw=\kvtcb@colframe,fill opacity=\kvtcb@opacityframe,dash pattern=on 1mm off 1mm,dash phase=0.5mm,tcb@spec,segmentation@style] (segmentation.west)--(segmentation.east);% \fi% } @@ -144,80 +165,66 @@ \def\tcbline{\iftcb@hasLower\tcb@pseudo@segmentation{\kvtcb@leftlower}% \else\tcb@pseudo@segmentation{\kvtcb@leftupper}\fi} -% draw title box -\def\tcb@drawtitle@path{% - \tcb@pathrect{tcb@spec,title@style}{title.south west}{title.north east}% - {0pt}{\kvtcb@arc}{\kvtcb@arc}{0pt}% -} - -\let\tcb@drawtitle@pathfirst=\tcb@drawtitle@path - -\def\tcb@drawtitle@pathmiddle{% - \tcb@pathrect{tcb@spec,title@style}{title.south west}{title.north east}% - {0pt}{0pt}{0pt}{0pt}% -} - -\let\tcb@drawtitle@pathlast=\tcb@drawtitle@pathmiddle % draw special versions \def\tcb@drawspec@UT#1{% - \tcb@pathrect{#1,interior@style}{segmentation.west}{interior.north east}% - {0pt}{0pt}{0pt}{0pt}% + \tcb@pathbase{#1,interior@style}{segmentation.west}{interior.north east}% + {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}% } \def\tcb@drawspec@UR#1{% - \tcb@pathrect{#1,interior@style}{segmentation.west}{interior.north east}% - {0pt}{\kvtcb@arc}{\kvtcb@arc}{0pt}% + \tcb@pathbase{#1,interior@style}{segmentation.west}{interior.north east}% + {\tcb@arc@zpt}{\tcb@arc@ins}{\tcb@arc@ins}{\tcb@arc@zpt}% } \def\tcb@drawspec@US#1{% - \tcb@pathrect{#1,interior@style}{segmentation.west}{interior.east|-frame.north}% - {0pt}{0pt}{0pt}{0pt}% + \tcb@pathbase{#1,interior@style}{segmentation.west}{interior.east|-frame.north}% + {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}% } \def\tcb@drawspec@LR#1{% - \tcb@pathrect{#1,segmentation@style}{interior.south west}{[yshift=0.1mm]segmentation.east}% - {\kvtcb@arc}{0pt}{0pt}{\kvtcb@arc}% + \tcb@pathbase{#1,segmentation@style}{interior.south west}{[yshift=0.1mm]segmentation.east}% + {\tcb@arc@ins}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}% } \def\tcb@drawspec@LS#1{% - \tcb@pathrect{#1,segmentation@style}{interior.west|-frame.south}{[yshift=0.1mm]segmentation.east}% - {0pt}{0pt}{0pt}{0pt}% + \tcb@pathbase{#1,segmentation@style}{interior.west|-frame.south}{[yshift=0.1mm]segmentation.east}% + {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}% } \def\tcb@drawspec@sbs@A#1{% - \tcb@pathrect{#1,segmentation@style}{segmentation.south}{interior.north east}% - {0pt}{0pt}{\kvtcb@arc}{\kvtcb@arc}% + \tcb@pathbase{#1,segmentation@style}{segmentation.south}{interior.north east}% + {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}{\tcb@arc@ins}% } \def\tcb@drawspec@sbs@B#1{% - \tcb@pathrect{#1,segmentation@style}{segmentation.south}{interior.north east}% - {0pt}{0pt}{0pt}{\kvtcb@arc}% + \tcb@pathbase{#1,segmentation@style}{segmentation.south}{interior.north east}% + {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}% } \def\tcb@drawspec@sbs@C#1{% - \tcb@pathrect{#1,segmentation@style}{segmentation.south|-frame.south}{interior.north east}% - {0pt}{0pt}{\kvtcb@arc}{0pt}% + \tcb@pathbase{#1,segmentation@style}{segmentation.south|-frame.south}{interior.north east}% + {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}{\tcb@arc@zpt}% } \def\tcb@drawspec@sbs@D#1{% - \tcb@pathrect{#1,segmentation@style}{segmentation.south|-frame.south}{interior.north east}% - {0pt}{0pt}{0pt}{0pt}% + \tcb@pathbase{#1,segmentation@style}{segmentation.south|-frame.south}{interior.north east}% + {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}% } \def\tcb@drawspec@sbs@E#1{% - \tcb@pathrect{#1,segmentation@style}{segmentation.south|-frame.south}{interior.east|-frame.north}% - {0pt}{0pt}{0pt}{0pt}% + \tcb@pathbase{#1,segmentation@style}{segmentation.south|-frame.south}{interior.east|-frame.north}% + {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}% } \def\tcb@drawspec@sbs@F#1{% - \tcb@pathrect{#1,segmentation@style}{segmentation.south}{interior.east|-frame.north}% - {0pt}{0pt}{0pt}{\kvtcb@arc}% + \tcb@pathbase{#1,segmentation@style}{segmentation.south}{interior.east|-frame.north}% + {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}% } \def\tcb@drawspec@T{% - \tcb@pathrect{top color=\kvtcb@colframe,bottom color=\kvtcb@colback}{[yshift=-0.01pt]interior.north west}{[yshift=0.01pt]title.south east}% - {0pt}{0pt}{0pt}{0pt}% + \tcb@pathbase{top color=\kvtcb@colframe,bottom color=\kvtcb@colback}{[yshift=-0.01pt]interior.north west}{[yshift=0.01pt]title.south east}% + {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}% } \def\tcb@drawframe@freelance{\tcb@frame@code} @@ -241,40 +248,67 @@ segmentation hidden/.style={segmentation style={draw=none,fill=none}}, segmentation code/.code={\def\tcb@segmentation@code{#1}},% segmentation code/.default=\tcb@drawlower@standard,% - title style/.code={\tikzset{title@style/.style={#1}}},% + @title style/.code={\tikzset{title@style/.style={#1}}},% + title style/.style={title filled,@title style={#1}}, title hidden/.style={title style={draw=none,fill=none}}, - colbacktitle/.style={title style={fill=#1}}, - title code/.code={\def\tcb@title@code{#1}},% + @title code/.code={\def\tcb@title@code{#1}},% + @title code/.default=\tcb@drawtitle@standard,% + title code/.style={title filled,@title code={#1}},% title code/.default=\tcb@drawtitle@standard,% colbacklower/.store in=\kvtcb@colbacklower,% clear@spec/.code={\tcb@spec{}},% + tikz/.code={\appto\tcb@tikz@option@hook{,#1}},% + tikz reset/.code={\let\tcb@tikz@option@hook\@empty},% + at begin tikz/.code={\appto\tcb@tikz@begin@hook{#1}},% + at begin tikz reset/.code={\let\tcb@tikz@begin@hook\@empty},% + at end tikz/.code={\appto\tcb@tikz@end@hook{#1}},% + at end tikz reset/.code={\let\tcb@tikz@end@hook\@empty},% + rotate/.style={tikz={rotate=#1,transform shape}},% + scale/.style={tikz={scale=#1,transform shape},% + at begin tikz={% + \tcbdimto\kvtcb@arc{#1\dimexpr\kvtcb@arc}% + \tcbdimto\tcb@outer@arc{#1\dimexpr\tcb@outer@arc}% + \def\tcb@shadow@prepare##1##2{% + \ifdim##2>0pt\relax\tcbdimto\tcb@shadow@ts{##1-##2/2}%% + \else\tcbdimto\tcb@shadow@ts{##1+##2/2}\fi% + \tcbdimto\tcb@shadow@ts{#1\dimexpr\tcb@shadow@ts}% + \ifdim\dimexpr\tcb@outer@arc>\tcb@shadow@ts\relax% + \tcbdimto\tcb@shadow@arc{\tcb@outer@arc-\tcb@shadow@ts}% + \else% + \let\tcb@shadow@arc=\tcb@zpt% + \fi% + }}},% + remember/.style={tikz={remember picture}},% + remember as/.style={tikz={remember picture},at end tikz={\pgfnodealias{#1}{frame}}},% } \tcbset{% base@unbroken/.style={% - clear@spec,graphical environment=tikzpicture,geometry nodes,% + clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,% + set@outerboundary=\tcb@boundaryframe@standard,% set@extensions@preframe={\tcb@draw@shadow@unbroken},% set@extensions@postframe={\tcb@draw@border@unbroken\tcb@apply@overlay},% },% base@first/.style={% - clear@spec,graphical environment=tikzpicture,geometry nodes,% + clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,% + set@outerboundary=\tcb@boundaryframe@pathfirst,% set@extensions@preframe={\tcb@draw@shadow@first},% set@extensions@postframe={\tcb@draw@border@first\tcb@apply@overlay},% },% base@middle/.style={% - clear@spec,graphical environment=tikzpicture,geometry nodes,% + clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,% + set@outerboundary=\tcb@boundaryframe@pathmiddle,% set@extensions@preframe={\tcb@draw@shadow@middle},% set@extensions@postframe={\tcb@draw@border@middle\tcb@apply@overlay},% },% base@last/.style={% - clear@spec,graphical environment=tikzpicture,geometry nodes,% + clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,% + set@outerboundary=\tcb@boundaryframe@pathlast,% set@extensions@preframe={\tcb@draw@shadow@last},% set@extensions@postframe={\tcb@draw@border@last\tcb@apply@overlay},% },% } -\def\tcb@new@skin#1#2{\tcbset{skin@#1/.style={#2}}} - \tcb@new@skin{enhanced}{base@unbroken,% frame engine=path,interior titled engine=path,interior engine=path,segmentation engine=path,title engine=path,% skin first=enhancedfirst,skin middle=enhancedmiddle,skin last=enhancedlast} @@ -591,10 +625,11 @@ segmentation code={\tcb@drawspec@widgetsegment},% skin first=widgetmiddle,skin middle=widgetmiddle,skin last=widgetlast} -\tcb@new@skin{draft}{clear@spec,graphical environment=tikzpicture,geometry nodes,% +\tcb@new@skin{draft}{clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,% frame engine=freelance,interior titled engine=freelance,interior engine=freelance,segmentation engine=path,title engine=path,% interior style=,frame style=,segmentation style={draw=black,dashed}, colupper=black!50!white,collower=black!50!white,coltitle=black!50!white, + title hidden,% frame code={% \path[draw=blue!10!white,double,line width=1pt,dashed] (current bounding box.south west) rectangle (current bounding box.north east); {\tcb@spec{fill=black!15!white,draw=black}\tcb@drawframe@path}% @@ -676,10 +711,24 @@ \tcbset{draft/.style={skin=draft}} +\tikzset{% + tcb@forced@clip/.code={\tikz@addmode{\tikz@mode@cliptrue}\let\tikz@options=\pgfutil@empty},% + tcb@invclip/.style={clip,insert path={{[reset cm]\pgfextra{% + \pgfpathmoveto{\pgfqpoint{-16383.99999pt}{-16383.99999pt}}% + \pgfpathlineto{\pgfqpoint{16383.99999pt}{-16383.99999pt}}% + \pgfpathlineto{\pgfqpoint{16383.99999pt}{16383.99999pt}}% + \pgfpathlineto{\pgfqpoint{-16383.99999pt}{16383.99999pt}}% + \pgfpathclose}}}}% +}% + +\def\tcb@clip@frame{\tcb@pathboundary{clip}{\tcb@outerboundary}} + +\def\tcb@invclip@frame{\tcb@pathboundary{tcb@invclip}{\tcb@outerboundary}} + \def\tcb@clip@interior{% \begingroup% \tcbset{interior hidden}% - \tcb@spec{forced clip}% + \tcb@spec{tcb@forced@clip}% \def\tcb@spec##1{}% \iftcb@hasTitle% \csname tcb@drawwithtitle@\kvtcb@engine@interiortitled\endcsname% @@ -689,19 +738,10 @@ \endgroup% } -\def\tcb@clip@frame{% - \begingroup% - \tcbset{frame hidden}% - \tcb@spec{forced clip}% - \def\tcb@spec##1{}% - \csname tcb@drawframe@\kvtcb@engine@frame\endcsname% - \endgroup% -} - \def\tcb@clip@title{% \begingroup% \tcbset{title hidden}% - \tcb@spec{forced clip}% + \tcb@spec{tcb@forced@clip}% \def\tcb@spec##1{}% \iftcb@hasTitle% \csname tcb@drawtitle@\kvtcb@engine@title\endcsname% @@ -709,8 +749,9 @@ \endgroup% } -\newenvironment{tcbclipinterior}{\begin{scope}\tcb@clip@interior}{\end{scope}} \newenvironment{tcbclipframe}{\begin{scope}\tcb@clip@frame}{\end{scope}} +\newenvironment{tcbinvclipframe}{\begin{scope}\tcb@invclip@frame}{\end{scope}} +\newenvironment{tcbclipinterior}{\begin{scope}\tcb@clip@interior}{\end{scope}} \newenvironment{tcbcliptitle}{\begin{scope}\tcb@clip@title}{\end{scope}} \newbox\tcb@waterbox @@ -761,7 +802,6 @@ \tcb@drawspec@watermark@tikz{\node[inner sep=0pt,align=flush center]{#1};}% } -\tikzset{forced clip/.code={\tikz@addmode{\tikz@mode@cliptrue}\let\tikz@options=\pgfutil@empty}} \tcbset{% watermark opacity/.store in=\kvtcb@watermark@opacity,% @@ -781,6 +821,10 @@ clip watermark/true/.code={\let\tcb@drawspec@watermark=\tcb@drawspec@watermark@@clip}, clip watermark/false/.code={\let\tcb@drawspec@watermark=\tcb@drawspec@watermark@@noclip}, clip watermark/.default=true, + show bounding box/.style={overlay={% + \path[preaction={draw,line width=0.1pt,#1},draw,double=white,line width=1pt,dashed,opacity=0.5,#1] + (current bounding box.south west) rectangle (current bounding box.north east);}},% + show bounding box/.default={red},% } \def\tcb@tdraw@title@clip{% @@ -818,7 +862,7 @@ \tcbset{marker/.style={% - skin=enhancedmiddle, + skin=enhancedmiddle jigsaw, breakable,parbox=false, boxrule=0mm,leftrule=5mm,rightrule=5mm,boxsep=0mm, left=3mm,right=3mm,top=1mm,bottom=1mm, @@ -917,28 +961,30 @@ \fi% } +\def\tcb@arc@sha{\pgfsetcornersarced{\pgfqpoint{\tcb@shadow@arc}{\tcb@shadow@arc}}}% + \def\tcb@shadow@unbroken#1#2#3#4{% \tcb@shadow@prepare{#3}{#1}% - \tcb@pathrect{fill,#4}{[xshift=#1+#3,yshift=#2+#3]frame.south west}{[xshift=#1-#3,yshift=#2-#3]frame.north east}% - {\tcb@shadow@arc}{\tcb@shadow@arc}{\tcb@shadow@arc}{\tcb@shadow@arc}% + \tcb@pathbase{fill,#4}{[xshift=#1+#3,yshift=#2+#3]frame.south west}{[xshift=#1-#3,yshift=#2-#3]frame.north east}% + {\tcb@arc@sha}{\tcb@arc@sha}{\tcb@arc@sha}{\tcb@arc@sha}% } \def\tcb@shadow@first#1#2#3#4{% \tcb@shadow@prepare{#3}{#1}% - \tcb@pathrect{fill,#4}{[xshift=#1+#3,yshift=#2+#3]frame.south west}{[xshift=#1-#3,yshift=#2-#3]frame.north east}% - {0pt}{\tcb@shadow@arc}{\tcb@shadow@arc}{0pt}% + \tcb@pathbase{fill,#4}{[xshift=#1+#3,yshift=#2+#3]frame.south west}{[xshift=#1-#3,yshift=#2-#3]frame.north east}% + {\tcb@arc@zpt}{\tcb@arc@sha}{\tcb@arc@sha}{\tcb@arc@zpt}% } \def\tcb@shadow@middle#1#2#3#4{% \tcb@shadow@prepare{#3}{#1}% - \tcb@pathrect{fill,#4}{[xshift=#1+#3,yshift=#2+#3]frame.south west}{[xshift=#1-#3,yshift=#2-#3]frame.north east}% - {0pt}{0pt}{0pt}{0pt}% + \tcb@pathbase{fill,#4}{[xshift=#1+#3,yshift=#2+#3]frame.south west}{[xshift=#1-#3,yshift=#2-#3]frame.north east}% + {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}% } \def\tcb@shadow@last#1#2#3#4{% \tcb@shadow@prepare{#3}{#1}% - \tcb@pathrect{fill,#4}{[xshift=#1+#3,yshift=#2+#3]frame.south west}{[xshift=#1-#3,yshift=#2-#3]frame.north east}% - {\tcb@shadow@arc}{0pt}{0pt}{\tcb@shadow@arc}% + \tcb@pathbase{fill,#4}{[xshift=#1+#3,yshift=#2+#3]frame.south west}{[xshift=#1-#3,yshift=#2-#3]frame.north east}% + {\tcb@arc@sha}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@sha}% } \def\tcb@draw@shadow@unbroken{% @@ -991,23 +1037,56 @@ drop fuzzy midday shadow/.default={black!50!white},% fuzzy halo/.style args={#1 with #2}{fuzzy shadow={0mm}{0mm}{-#1}{0.12mm}{#2}}, fuzzy halo/.default={1.0mm with yellow},% + % + drop shadow southeast/.style={shadow={0.9mm}{-0.9mm}{0mm}{opacity=0.5,#1}},% + drop shadow southeast/.default={black!50!white},% + drop shadow south/.style={shadow={0mm}{-0.8mm}{-0.4mm}{opacity=0.5,#1}},% + drop shadow south/.default={black!50!white},% + drop shadow southwest/.style={shadow={-0.9mm}{-0.9mm}{0mm}{opacity=0.5,#1}},% + drop shadow southwest/.default={black!50!white},% + drop shadow west/.style={shadow={-0.8mm}{0mm}{-0.4mm}{opacity=0.5,#1}},% + drop shadow west/.default={black!50!white},% + drop shadow northwest/.style={shadow={-0.9mm}{0.9mm}{0mm}{opacity=0.5,#1}},% + drop shadow northwest/.default={black!50!white},% + drop shadow north/.style={shadow={0mm}{0.8mm}{-0.4mm}{opacity=0.5,#1}},% + drop shadow north/.default={black!50!white},% + drop shadow northeast/.style={shadow={0.9mm}{0.9mm}{0mm}{opacity=0.5,#1}},% + drop shadow northeast/.default={black!50!white},% + drop shadow east/.style={shadow={0.8mm}{0mm}{-0.4mm}{opacity=0.5,#1}},% + drop shadow east/.default={black!50!white},% + drop fuzzy shadow southeast/.style={fuzzy shadow={1.0mm}{-1.0mm}{0mm}{0.12mm}{#1}}, + drop fuzzy shadow southeast/.default={black!50!white},% + drop fuzzy shadow south/.style={fuzzy shadow={0mm}{-1.0mm}{-0.5mm}{0.12mm}{#1}}, + drop fuzzy shadow south/.default={black!50!white},% + drop fuzzy shadow southwest/.style={fuzzy shadow={-1.0mm}{-1.0mm}{0mm}{0.12mm}{#1}}, + drop fuzzy shadow southwest/.default={black!50!white},% + drop fuzzy shadow west/.style={fuzzy shadow={-1.0mm}{0mm}{-0.5mm}{0.12mm}{#1}}, + drop fuzzy shadow west/.default={black!50!white},% + drop fuzzy shadow northwest/.style={fuzzy shadow={-1.0mm}{1.0mm}{0mm}{0.12mm}{#1}}, + drop fuzzy shadow northwest/.default={black!50!white},% + drop fuzzy shadow north/.style={fuzzy shadow={0mm}{1.0mm}{-0.5mm}{0.12mm}{#1}}, + drop fuzzy shadow north/.default={black!50!white},% + drop fuzzy shadow northeast/.style={fuzzy shadow={1.0mm}{1.0mm}{0mm}{0.12mm}{#1}}, + drop fuzzy shadow northeast/.default={black!50!white},% + drop fuzzy shadow east/.style={fuzzy shadow={1.0mm}{0mm}{-0.5mm}{0.12mm}{#1}}, + drop fuzzy shadow east/.default={black!50!white},% } - \tcbset{% reset@skins/.style={% - frame style=,interior style=,segmentation style=,% + frame style=,interior style=,segmentation style=,@title style=,% frame code,interior titled code,interior code,segmentation code,% - title style=,title code,colbacklower=black!15!white,% + @title code,colbacklower=black!15!white,% extend freelance=,extend freelancefirst=,extend freelancemiddle=,extend freelancelast=,% clear@spec,% watermark opacity=1.00,watermark color=\kvtcb@colback!85!\kvtcb@colframe,% watermark zoom=0.75,clip watermark,% - clip title=false,clip upper=false,clip lower=false, - no borderline,no shadow,% + clip title=false,clip upper=false,clip lower=false,% + no borderline,no shadow,tikz reset,at begin tikz reset,at end tikz reset% }, initialize@reset=reset@skins, } +\tcbuselibrary{skins@jigsaw} diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex new file mode 100644 index 00000000000..9e75fb0a731 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex @@ -0,0 +1,222 @@ +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) +%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins +%% +%% ------------------------------------------------------------------------------------------- +%% Copyright (c) 2006-2013 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% ------------------------------------------------------------------------------------------- +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `author-maintained'. +%% +%% This work consists of all files listed in README +%% +\tcb@set@library@version{2.60} + +\tcbuselibrary{skins} + +\def\tcb@drawframe@pathjigsaw{% + \tcb@pathboundary{tcb@fill@frame}{\tcb@boundaryframe@standardjigsaw}% +} + +\def\tcb@boundary@pathfirstjigsaw@A{% + \tcbdimto\tcb@xa{\tcb@width-\kvtcb@right@rule}% + \tcbdimto\tcb@ya{\tcb@height-\kvtcb@top@rule}% + \pgfpathmoveto{\pgfpointorigin}% + \tcb@arc@out\pgfpathlineto{\pgfqpoint{0pt}{\tcb@height}}% + \pgfpathlineto{\pgfqpoint{\tcb@width}{\tcb@height}}% + \tcb@arc@zpt\pgfpathlineto{\pgfqpoint{\tcb@width}{0pt}}% + \pgfpathlineto{\pgfqpoint{\tcb@xa}{0pt}}% + \tcb@arc@ins\pgfpathlineto{\pgfqpoint{\tcb@xa}{\tcb@ya}}% + \pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{\tcb@ya}}% + \tcb@arc@zpt\pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{0pt}}% + \pgfpathclose% +} + +\def\tcb@boundary@pathfirstjigsaw@B{% + \tcbdimto\tcb@xa{\tcb@width-\kvtcb@right@rule}% + \tcbdimto\tcb@ya{\kvtcb@bottom@rule+\tcb@innerheight}% + \pgfpathmoveto{\pgfpointorigin}% + \tcb@arc@out\pgfpathlineto{\pgfqpoint{0pt}{\tcb@height}}% + \pgfpathlineto{\pgfqpoint{\tcb@width}{\tcb@height}}% + \tcb@arc@zpt\pgfpathlineto{\pgfqpoint{\tcb@width}{0pt}}% + \pgfpathlineto{\pgfqpoint{\tcb@xa}{0pt}}% + \pgfpathlineto{\pgfqpoint{\tcb@xa}{\tcb@ya}}% + \pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{\tcb@ya}}% + \tcb@arc@zpt\pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{0pt}}% + \pgfpathclose% +} + +\def\tcb@drawframe@pathfirstjigsaw{% + \tcb@pathboundary{tcb@fill@frame}{% + \pgfseteorule% + \iftcb@hasTitle% + \iftcb@titlefilled% + \ifdim\dimexpr\kvtcb@title@rule>0pt\relax% + \tcb@boundary@pathfirstjigsaw@B% + \tcb@boundarytitle@standard% + \else% + \tcb@boundary@pathfirstjigsaw@A% + \fi% + \else% + \tcb@boundary@pathfirstjigsaw@B% + \fi% + \else% + \tcb@boundary@pathfirstjigsaw@A% + \fi% + }% +} + +\def\tcb@boundary@pathmiddlejigsaw@A{% + \tcbdimto\tcb@xa{\tcb@width-\kvtcb@right@rule}% + \pgfpathrectangle{\pgfpointorigin}{\pgfqpoint{\kvtcb@left@rule}{\tcb@height}}% + \pgfpathrectangle{\pgfqpoint{\tcb@xa}{0pt}}{\pgfqpoint{\kvtcb@right@rule}{\tcb@height}}% +} + +\def\tcb@boundary@pathmiddlejigsaw@B{% + \tcbdimto\tcb@xa{\tcb@width-\kvtcb@right@rule}% + \tcbdimto\tcb@ya{\tcb@height-\kvtcb@top@rule}% + \pgfpathmoveto{\pgfpointorigin}% + \tcb@arc@zpt\pgfpathlineto{\pgfqpoint{0pt}{\tcb@height}}% + \pgfpathlineto{\pgfqpoint{\tcb@width}{\tcb@height}}% + \pgfpathlineto{\pgfqpoint{\tcb@width}{0pt}}% + \pgfpathlineto{\pgfqpoint{\tcb@xa}{0pt}}% + \pgfpathlineto{\pgfqpoint{\tcb@xa}{\tcb@ya}}% + \pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{\tcb@ya}}% + \pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{0pt}}% + \pgfpathclose% +} + +\def\tcb@boundary@pathmiddlejigsaw@C{% + \tcbdimto\tcb@xa{\tcb@width-\kvtcb@right@rule}% + \tcbdimto\tcb@ya{\kvtcb@bottom@rule+\tcb@innerheight}% + \pgfpathmoveto{\pgfpointorigin}% + \tcb@arc@zpt\pgfpathlineto{\pgfqpoint{0pt}{\tcb@height}}% + \pgfpathlineto{\pgfqpoint{\tcb@width}{\tcb@height}}% + \pgfpathlineto{\pgfqpoint{\tcb@width}{0pt}}% + \pgfpathlineto{\pgfqpoint{\tcb@xa}{0pt}}% + \pgfpathlineto{\pgfqpoint{\tcb@xa}{\tcb@ya}}% + \pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{\tcb@ya}}% + \pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{0pt}}% + \pgfpathclose% +} + +\def\tcb@drawframe@pathmiddlejigsaw{% + \tcb@pathboundary{tcb@fill@frame}{% + \pgfseteorule% + \iftcb@hasTitle% + \iftcb@titlefilled% + \ifdim\dimexpr\kvtcb@title@rule>0pt\relax% + \tcb@boundary@pathmiddlejigsaw@C% + \tcb@arc@zpt% + \tcbdimto\tcb@ya{\kvtcb@bottom@rule+\tcb@innerheight+\kvtcb@title@rule}% + \tcbdimto\tcb@xb{\tcb@width-\kvtcb@right@rule}% + \tcbdimto\tcb@yb{\tcb@height-\kvtcb@top@rule}% + \pgfpathrectanglecorners{\pgfqpoint{\kvtcb@left@rule}{\tcb@ya}}{\pgfqpoint{\tcb@xb}{\tcb@yb}}% + \else% + \tcb@boundary@pathmiddlejigsaw@B% + \fi% + \else% + \tcb@boundary@pathmiddlejigsaw@C% + \fi% + \else% + \tcb@boundary@pathmiddlejigsaw@A% + \fi% + }% +} + +\def\tcb@drawframe@pathlastjigsaw{% + \tcb@pathboundary{tcb@fill@frame}{% + \pgfseteorule% + \iftcb@hasTitle% + \iftcb@titlefilled% + \ifdim\dimexpr\kvtcb@title@rule>0pt\relax% + \tcb@boundaryframe@pathlast% + \tcb@arc@zpt% + \tcbdimto\tcb@ya{\kvtcb@bottom@rule+\tcb@innerheight+\kvtcb@title@rule}% + \tcbdimto\tcb@xb{\tcb@width-\kvtcb@right@rule}% + \tcbdimto\tcb@yb{\tcb@height-\kvtcb@top@rule}% + \pgfpathrectanglecorners{\pgfqpoint{\kvtcb@left@rule}{\tcb@ya}}{\pgfqpoint{\tcb@xb}{\tcb@yb}}% + \tcb@boundaryinterior@title@standard% + \else% + \tcb@boundaryframe@pathlast% + \tcb@boundary@base{\kvtcb@left@rule}{\kvtcb@bottom@rule}% + {\tcb@width-\kvtcb@right@rule}{\tcb@height-\kvtcb@top@rule}% + {\tcb@arc@ins}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}% + \fi% + \else% + \tcb@boundaryframe@pathlast% + \fi% + \else% + \tcbdimto\tcb@xa{\tcb@width-\kvtcb@right@rule}% + \pgfpathmoveto{\pgfpointorigin}% + \tcb@arc@zpt\pgfpathlineto{\pgfqpoint{0pt}{\tcb@height}}% + \pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{\tcb@height}}% + \tcb@arc@ins\pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{\kvtcb@bottom@rule}}% + \pgfpathlineto{\pgfqpoint{\tcb@xa}{\kvtcb@bottom@rule}}% + \tcb@arc@zpt\pgfpathlineto{\pgfqpoint{\tcb@xa}{\tcb@height}}% + \pgfpathlineto{\pgfqpoint{\tcb@width}{\tcb@height}}% + \tcb@arc@out\pgfpathlineto{\pgfqpoint{\tcb@width}{0pt}}% + \pgfpathclose% + \fi% + }% +} + + +\def\tcb@draw@shadowjigsaw@unbroken{% + \let\tcb@shadow=\tcb@shadow@unbroken% + \begin{tcbinvclipframe}% + \kvtcb@shadow% + \end{tcbinvclipframe}% +} + +\def\tcb@draw@shadowjigsaw@first{% + \let\tcb@shadow=\tcb@shadow@first% + \begin{tcbinvclipframe}% + \kvtcb@shadow% + \end{tcbinvclipframe}% +} + +\def\tcb@draw@shadowjigsaw@middle{% + \let\tcb@shadow=\tcb@shadow@middle% + \begin{tcbinvclipframe}% + \kvtcb@shadow% + \end{tcbinvclipframe}% +} + +\def\tcb@draw@shadowjigsaw@last{% + \let\tcb@shadow=\tcb@shadow@last% + \begin{tcbinvclipframe}% + \kvtcb@shadow% + \end{tcbinvclipframe}% +} + +\tcb@new@skin{enhanced jigsaw}{base@unbroken,% + frame engine=pathjigsaw,interior titled engine=path,interior engine=path,segmentation engine=path,title engine=path,% + set@extensions@preframe={\tcb@draw@shadowjigsaw@unbroken},% + skin first=enhancedfirst jigsaw,skin middle=enhancedmiddle jigsaw,skin last=enhancedlast jigsaw} + +\tcb@new@skin{enhancedfirst jigsaw}{base@first,% + frame engine=pathfirstjigsaw,interior titled engine=pathfirst,interior engine=pathfirst,segmentation engine=path,title engine=pathfirst,% + set@extensions@preframe={\tcb@draw@shadowjigsaw@first},% + skin first=enhancedfirst jigsaw,skin middle=enhancedmiddle jigsaw,skin last=enhancedmiddle jigsaw} + +\tcb@new@skin{enhancedmiddle jigsaw}{base@middle,% + frame engine=pathmiddlejigsaw,interior titled engine=pathmiddle,interior engine=pathmiddle,segmentation engine=path,title engine=pathmiddle,% + set@extensions@preframe={\tcb@draw@shadowjigsaw@middle},% + skin first=enhancedmiddle jigsaw,skin middle=enhancedmiddle jigsaw,skin last=enhancedmiddle jigsaw} + +\tcb@new@skin{enhancedlast jigsaw}{base@last,% + frame engine=pathlastjigsaw,interior titled engine=pathlast,interior engine=pathlast,segmentation engine=path,title engine=pathlast,% + set@extensions@preframe={\tcb@draw@shadowjigsaw@last},% + skin first=enhancedmiddle jigsaw,skin middle=enhancedmiddle jigsaw,skin last=enhancedlast jigsaw} + +\tcbset{enhanced jigsaw/.style={skin=enhanced jigsaw}% +} + diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex index 1b080759d7b..ece7cf5b1cd 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 2.51 (2013/09/16) +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) %% tcbtheorems.code.tex: Code for theorems in colorboxes %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{2.51} +\tcb@set@library@version{2.60} \RequirePackage{amsmath} @@ -85,10 +85,13 @@ \newcommand{\new@tcbtheorem}[5][]{% \@@newtcolorbox[auto counter,#1]{#2}[3][]{#4,% - title={\tcb@theo@title{#3}{\thetcbcounter}{##2}}, + title={\tcb@theo@title{#3}{\thetcbcounter}{##2}},% list entry={\numberline{\thetcbcounter}##2},% code={\tcb@theo@label{#5}{##3}},% ##1}% + \@@newtcolorbox[#1,no counter,list inside=]{#2*}[2][]{#4,% + title={\tcb@theo@title{#3}{\@empty}{##2}},% + ##1}% } \def\newtcbtheorem{\let\@@newtcolorbox\newtcolorbox% diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty b/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty index 5c1de5282af..caabe86692a 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 2.51 (2013/09/16) +%% The LaTeX package tcolorbox - version 2.60 (2013/12/17) %% tcolorbox.sty: Text color boxes %% %% ------------------------------------------------------------------------------------------- @@ -18,8 +18,8 @@ %% This work consists of all files listed in README %% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{tcolorbox}[2013/09/16 version 2.51 text color boxes] -\def\tcb@version{2.51} +\ProvidesPackage{tcolorbox}[2013/12/17 version 2.60 text color boxes] +\def\tcb@version{2.60} \RequirePackage{pgf}[2008/01/15] \RequirePackage{verbatim}[2003/08/22] @@ -35,6 +35,7 @@ \newif\iftcb@sidebyside \newif\iftcb@hasPhantom \newif\iftcb@lowerseparated +\newif\iftcb@titlefilled \newbox\tcb@titlebox \newbox\tcb@upperbox @@ -103,6 +104,8 @@ \fi% \fi} +\def\tcb@new@skin#1#2{\tcbset{skin@#1/.style={#2}}} + \pgfkeys{/handlers/.dimstore in/.code=\pgfkeysalso{\pgfkeyscurrentpath/.code=\def#1{\the\dimexpr##1\relax}}} \tcbset{% @@ -132,7 +135,7 @@ \let\kvtcb@right@rule=\kvtcb@top@rule@stand% \let\kvtcb@title@rule=\kvtcb@top@rule@stand% }, - arc/.store in=\kvtcb@arc, + arc/.dimstore in=\kvtcb@arc, outer arc/.code={\def\kvtcb@outerarc{#1}\let\tcb@comp@arc=\tcb@comp@arc@fix}, auto outer arc/.code={\let\tcb@comp@arc=\tcb@comp@arc@auto}, lefttitle/.store in=\kvtcb@lefttitle, @@ -197,6 +200,13 @@ }, enlarge left by/.store in=\kvtcb@bbleft, enlarge right by/.store in=\kvtcb@bbright, + enlarge by/.style={enlarge top by={#1},enlarge bottom by={#1},enlarge left by={#1},enlarge right by={#1}},% + grow to left by/.code={% + \tcbdimto\kvtcb@width{\kvtcb@width+#1}% + \pgfkeysalso{enlarge left by={-\the\dimexpr#1\relax}}},% + grow to right by/.code={% + \tcbdimto\kvtcb@width{\kvtcb@width+#1}% + \pgfkeysalso{enlarge right by={-\the\dimexpr#1\relax}}},% toggle enlargement/.is choice, toggle enlargement/none/.code={\let\tcb@setbb@toggle=\tcb@setbb@toggle@none}, toggle enlargement/evenpage/.code={\let\tcb@setbb@toggle=\tcb@setbb@toggle@evenpage}, @@ -217,19 +227,17 @@ geometry nodes/.default=true,% set@extensions@preframe/.store in=\tcb@extensions@preframe,% set@extensions@postframe/.store in=\tcb@extensions@postframe,% + set@outerboundary/.store in=\tcb@outerboundary,% skin first/.store in=\kvtcb@skin@first, skin middle/.store in=\kvtcb@skin@middle, skin last/.store in=\kvtcb@skin@last, - skin@standard/.style={frame engine=standard,interior titled engine=standard, - interior engine=standard,segmentation engine=standard,title engine=standard, - graphical environment=pgfpicture, - geometry nodes=false, - set@extensions@preframe=,% - set@extensions@postframe={\tcb@apply@overlay},% - skin first=standard,skin middle=standard,skin last=standard}, skin/.style={skin@#1}, parbox/.store in=\kvtcv@parbox, parbox/.default=true,% + hyphenationfix/.is choice,% + hyphenationfix/.default=true,% + hyphenationfix/true/.code={\def\tcb@hyph@fix{\everypar=\expandafter{\the\everypar\everypar{\hspace{0pt}}\hspace{0pt}}}},% + hyphenationfix/false/.code={\let\tcb@hyph@fix=\@empty},% overlay unbroken/.code={\def\tcb@overlay@unbroken{#1}},% overlay first/.code={\def\tcb@overlay@first{#1}},% overlay middle/.code={\def\tcb@overlay@middle{#1}},% @@ -251,6 +259,7 @@ \let\tcb@overlay@last=\tcb@overlay@temp},% no overlay/.style={overlay=},% standard/.style={skin=standard},% + standard jigsaw/.style={skin=standard jigsaw},% before title/.store in=\kvtcb@before@title,% after title/.store in=\kvtcb@after@title,% before upper/.store in=\kvtcb@before@upper,% @@ -271,7 +280,7 @@ toptitle=1mm,bottomtitle=1mm,boxrule=0.5mm, before upper={\arrayrulecolor{\kvtcb@colframe}\def\arraystretch{1.1}#1% \tcb@hack@currenvir\tabularx{\linewidth}{#2}}, - after upper=\endtabularx}, + after upper=\endtabularx\arrayrulecolor{black}}, tabularx/.style={tabularx*={}{#1}}, tikz upper/.style={before upper=\centering\tcb@shield@externalize\tikzpicture[#1],after upper=\endtikzpicture},% tikz lower/.style={before lower=\centering\tcb@shield@externalize\tikzpicture[#1],after lower=\endtikzpicture},% @@ -327,6 +336,18 @@ lower separated/.is if=tcb@lowerseparated, options@for/.code={\letcs\tcb@new@colop{tcb@opt@#1}\pgfkeysalsofrom\tcb@new@colop}, list entry/.store in=\kvtcb@listentry, + title filled/.is if=tcb@titlefilled,% + @colbacktitle/.store in=\kvtcb@colbacktitle, + colbacktitle/.style={title filled,@colbacktitle={#1}}, + opacityupper/.store in=\kvtcb@opacityupper, + opacitylower/.store in=\kvtcb@opacitylower, + opacitytitle/.store in=\kvtcb@opacitytitle, + opacityframe/.store in=\kvtcb@opacityframe, + opacityback/.store in=\kvtcb@opacityback, + @opacitybacktitle/.store in=\kvtcb@opacitybacktitle, + opacitybacktitle/.style={title filled,@opacitybacktitle={#1}}, + opacityfill/.style={opacityframe={#1},opacityback={#1},@opacitybacktitle={#1}}, + opacitytext/.style={opacityupper={#1},opacitylower={#1}}, } \tcbset{% @@ -367,7 +388,7 @@ \@endpefalse \color@setgroup% \csname tcb@parbox@use@\kvtcv@parbox\endcsname% - \ignorespaces\tcb@minipage#2\ignorespaces} + \ignorespaces\tcb@minipage#2\tcb@hyph@fix\ignorespaces} \def\endtcb@lrbox{\unskip\endminipage\unskip\color@endgroup} \let\tcb@savebox=\tcb@lrbox @@ -620,13 +641,77 @@ \def\tcb@dbox@center#1#2#3#4{\pgftext[x=#1,y=#2+#3/2,left]{\box#4}}% +\def\tcb@arc@zpt{\pgfsetcornersarced{\pgfpointorigin}}% +\def\tcb@arc@ins{\pgfsetcornersarced{\pgfqpoint{\kvtcb@arc}{\kvtcb@arc}}}% +\def\tcb@arc@out{\pgfsetcornersarced{\pgfqpoint{\tcb@outer@arc}{\tcb@outer@arc}}}% + +% boundaries +\def\tcb@boundary@base#1#2#3#4#5#6#7#8{% + \tcbdimto\tcb@xa{#1}% + \tcbdimto\tcb@ya{#2}% + \tcbdimto\tcb@xb{#3}% + \tcbdimto\tcb@yb{#4}% + \pgfpathmoveto{\pgfqpoint{\tcb@xa}{\tcb@ya}}% + #6\pgfpathlineto{\pgfqpoint{\tcb@xa}{\tcb@yb}}% + #7\pgfpathlineto{\pgfqpoint{\tcb@xb}{\tcb@yb}}% + #8\pgfpathlineto{\pgfqpoint{\tcb@xb}{\tcb@ya}}% + #5\pgfpathclose% +} + + +\def\tcb@boundaryframe@standard{% + \tcb@boundary@base{0pt}{0pt}% + {\tcb@width}{\tcb@height}% + {\tcb@arc@out}{\tcb@arc@out}{\tcb@arc@out}{\tcb@arc@out}% +} + +\def\tcb@boundaryframe@standardjigsaw{% + \pgfseteorule% + \tcb@boundaryframe@standard% + \iftcb@hasTitle% + \tcb@boundaryinterior@title@standard% + \iftcb@titlefilled% + \tcb@boundarytitle@standard% + \fi% + \else% + \tcb@boundaryinterior@notitle@standard% + \fi% +} + +\def\tcb@boundaryinterior@title@standard{% + \tcb@boundary@base{\kvtcb@left@rule}{\kvtcb@bottom@rule}% + {\tcb@width-\kvtcb@right@rule}{\kvtcb@bottom@rule+\tcb@innerheight}% + {\tcb@arc@ins}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}% +} + +\def\tcb@boundaryinterior@notitle@standard{% + \tcb@boundary@base{\kvtcb@left@rule}{\kvtcb@bottom@rule}% + {\tcb@width-\kvtcb@right@rule}{\tcb@height-\kvtcb@top@rule}% + {\tcb@arc@ins}{\tcb@arc@ins}{\tcb@arc@ins}{\tcb@arc@ins}% +} + +\def\tcb@boundarytitle@standard{% + \tcb@boundary@base{\kvtcb@left@rule}{\kvtcb@bottom@rule+\tcb@innerheight+\kvtcb@title@rule}% + {\tcb@width-\kvtcb@right@rule}{\tcb@height-\kvtcb@top@rule}% + {\tcb@arc@zpt}{\tcb@arc@ins}{\tcb@arc@ins}{\tcb@arc@zpt}% +} % fill frame \def\tcb@drawframe@standard{% \begin{pgfscope}% - \pgfsetcornersarced{\pgfpoint{\tcb@outer@arc}{\tcb@outer@arc}}% + \tcb@boundaryframe@standard% \pgfsetfillcolor{\kvtcb@colframe}% - \pgfpathrectangle{\pgfpoint{0mm}{0mm}}{\pgfpoint{\tcb@width}{\tcb@height}}% + \pgfsetfillopacity{\kvtcb@opacityframe}% + \pgfusepath{fill}% + \end{pgfscope}% +} + +% fill frame +\def\tcb@drawframe@standardjigsaw{% + \begin{pgfscope}% + \tcb@boundaryframe@standardjigsaw% + \pgfsetfillcolor{\kvtcb@colframe}% + \pgfsetfillopacity{\kvtcb@opacityframe}% \pgfusepath{fill}% \end{pgfscope}% } @@ -634,15 +719,9 @@ % fill inner box with title \def\tcb@drawwithtitle@standard{% \begin{pgfscope}% - \pgfsetcornersarced{\pgfpoint{0mm}{0mm}}% - \pgfmoveto{\pgfpoint{\kvtcb@left@rule}{\kvtcb@bottom@rule}}% - \pgflineto{\pgfpoint{\kvtcb@left@rule}{\the\dimexpr\kvtcb@bottom@rule+\tcb@innerheight\relax}}% - \pgflineto{\pgfpoint{\the\dimexpr\tcb@width-\kvtcb@right@rule\relax}{\the\dimexpr\kvtcb@bottom@rule+\tcb@innerheight\relax}}% - \pgfsetcornersarced{\pgfpoint{\kvtcb@arc}{\kvtcb@arc}}% - \pgflineto{\pgfpoint{\the\dimexpr\tcb@width-\kvtcb@right@rule\relax}{\kvtcb@bottom@rule}}% - \pgflineto{\pgfpoint{\kvtcb@left@rule}{\kvtcb@bottom@rule}}% - \pgfpathclose% + \tcb@boundaryinterior@title@standard% \pgfsetfillcolor{\kvtcb@colback}% + \pgfsetfillopacity{\kvtcb@opacityback}% \pgfusepath{fill}% \end{pgfscope}% } @@ -650,10 +729,19 @@ % fill inner box without title \def\tcb@drawwithouttitle@standard{% \begin{pgfscope}% - \pgfsetcornersarced{\pgfpoint{\kvtcb@arc}{\kvtcb@arc}}% + \tcb@boundaryinterior@notitle@standard% \pgfsetfillcolor{\kvtcb@colback}% - \pgfpathrectangle{\pgfpoint{\kvtcb@left@rule}{\kvtcb@bottom@rule}}% - {\pgfpoint{\the\dimexpr\tcb@width-\kvtcb@left@rule-\kvtcb@right@rule\relax}{\tcb@innerheight}}% + \pgfsetfillopacity{\kvtcb@opacityback}% + \pgfusepath{fill}% + \end{pgfscope}% +} + +% draw title box +\def\tcb@drawtitle@standard{% + \begin{pgfscope}% + \tcb@boundarytitle@standard% + \pgfsetfillcolor{\kvtcb@colbacktitle}% + \pgfsetfillopacity{\kvtcb@opacitybacktitle}% \pgfusepath{fill}% \end{pgfscope}% } @@ -661,33 +749,31 @@ % draw segmentation line \def\tcb@drawlower@standard{% \begin{pgfscope}% - \pgfsetcolor{\kvtcb@colframe}% \pgfsetdash{{1mm}{1mm}}{0.5mm}% \iftcb@sidebyside% \tcbdimto\tcb@seg@pos{\kvtcb@left@rule+\kvtcb@boxsep+\kvtcb@leftupper+\tcb@w@upper+\kvtcb@sbs@gap/2}% - \pgfpathmoveto{\pgfpoint{\tcb@seg@pos}{\the\dimexpr\kvtcb@bottom@rule+\tcb@innerheight\relax}}% - \pgfpathlineto{\pgfpoint{\tcb@seg@pos}{\kvtcb@bottom@rule}}% + \pgfpathmoveto{\pgfqpoint{\tcb@seg@pos}{\the\dimexpr\kvtcb@bottom@rule+\tcb@innerheight\relax}}% + \pgfpathlineto{\pgfqpoint{\tcb@seg@pos}{\kvtcb@bottom@rule}}% \else% \tcbdimto\tcb@seg@pos{\kvtcb@bottom@rule+\kvtcb@boxsep*2+\tcb@break@bottomsep+\kvtcb@middle+\kvtcb@bottom+\tcb@height@lower}% - \pgfpathmoveto{\pgfpoint{\kvtcb@left@rule}{\tcb@seg@pos}}% - \pgfpathlineto{\pgfpoint{\the\dimexpr\tcb@width-\kvtcb@right@rule\relax}{\tcb@seg@pos}}% + \pgfpathmoveto{\pgfqpoint{\kvtcb@left@rule}{\tcb@seg@pos}}% + \pgfpathlineto{\pgfqpoint{\the\dimexpr\tcb@width-\kvtcb@right@rule\relax}{\tcb@seg@pos}}% \fi% + \pgfsetcolor{\kvtcb@colframe}% + \pgfsetstrokeopacity{\kvtcb@opacityframe}% \pgfusepath{stroke}% \end{pgfscope}% } -% draw title box -\def\tcb@drawtitle@standard{% -} \def\tcb@setbb@toggle@none{% - \pgfpathrectanglecorners{\pgfpoint{\the\dimexpr0pt-\kvtcb@bbleft\relax}{\the\dimexpr0pt-\kvtcb@bbbottom\relax}}% - {\pgfpoint{\the\dimexpr\tcb@width+\kvtcb@bbright\relax}{\the\dimexpr\tcb@height+\kvtcb@bbtop\relax}}% + \pgfpathrectanglecorners{\pgfqpoint{\the\dimexpr0pt-\kvtcb@bbleft\relax}{\the\dimexpr0pt-\kvtcb@bbbottom\relax}}% + {\pgfqpoint{\the\dimexpr\tcb@width+\kvtcb@bbright\relax}{\the\dimexpr\tcb@height+\kvtcb@bbtop\relax}}% } \def\tcb@setbb@toggle@forced{% - \pgfpathrectanglecorners{\pgfpoint{\the\dimexpr0pt-\kvtcb@bbright\relax}{\the\dimexpr0pt-\kvtcb@bbbottom\relax}}% - {\pgfpoint{\the\dimexpr\tcb@width+\kvtcb@bbleft\relax}{\the\dimexpr\tcb@height+\kvtcb@bbtop\relax}}% + \pgfpathrectanglecorners{\pgfqpoint{\the\dimexpr0pt-\kvtcb@bbright\relax}{\the\dimexpr0pt-\kvtcb@bbbottom\relax}}% + {\pgfqpoint{\the\dimexpr\tcb@width+\kvtcb@bbleft\relax}{\the\dimexpr\tcb@height+\kvtcb@bbtop\relax}}% } \def\tcb@setbb@toggle@evenpage@easy{% @@ -745,25 +831,34 @@ \def\tcb@tdraw@title@core{% \iftcb@hasTitle% + \begin{pgfscope}% + \pgfsetfillopacity{\kvtcb@opacitytitle}% \pgftext[x=\the\dimexpr\kvtcb@left@rule+\kvtcb@boxsep+\kvtcb@lefttitle\relax, y=\the\dimexpr\tcb@height-\kvtcb@top@rule-\kvtcb@boxsep-\kvtcb@toptitle\relax, left,top]{\usebox{\tcb@titlebox}}% + \end{pgfscope}% \fi% } \let\tcb@tdraw@title=\tcb@tdraw@title@core \def\tcb@tdraw@upper@core{% + \begin{pgfscope}% + \pgfsetfillopacity{\kvtcb@opacityupper}% \csname tcb@dbox@\kvtcb@valign\endcsname{\the\dimexpr\kvtcb@left@rule+\kvtcb@boxsep+\kvtcb@leftupper\relax}% {\the\dimexpr\tcb@innerheight+\kvtcb@bottom@rule-\kvtcb@boxsep-\tcb@break@topsep-\kvtcb@top-\tcb@height@upper\relax}% {\tcb@height@upper}{\tcb@upperbox}% + \end{pgfscope}% } \let\tcb@tdraw@upper=\tcb@tdraw@upper@core \def\tcb@tdraw@lower@core{% \iftcb@lowervisible% + \begin{pgfscope}% + \pgfsetfillopacity{\kvtcb@opacitylower}% \csname tcb@dbox@\kvtcb@valignlower\endcsname{\the\dimexpr\kvtcb@left@rule+\kvtcb@boxsep+\kvtcb@leftlower\relax}% {\the\dimexpr\kvtcb@bottom@rule+\kvtcb@boxsep+\tcb@break@bottomsep+\kvtcb@bottom\relax}% {\tcb@height@lower}{\tcb@lowerbox}% + \end{pgfscope}% \fi% } \let\tcb@tdraw@lower=\tcb@tdraw@lower@core @@ -811,6 +906,26 @@ \def\tcb@apply@overlay{\csname tcb@overlay@\tcb@split@state\endcsname}% +\def\tcb@adraw@frame{% + \csname tcb@drawframe@\kvtcb@engine@frame\endcsname% +} + +\def\tcb@adraw@interior{% + \iftcb@hasTitle% + \csname tcb@drawwithtitle@\kvtcb@engine@interiortitled\endcsname% + \else% + \csname tcb@drawwithouttitle@\kvtcb@engine@interior\endcsname% + \fi% +} + +\def\tcb@adraw@title{% + \iftcb@hasTitle% + \iftcb@titlefilled% + \csname tcb@drawtitle@\kvtcb@engine@title\endcsname% + \fi% + \fi% +} + \def\tcb@drawcolorbox{% \edef\tcb@split@state{unbroken}% \let\kvtcb@top@rule=\kvtcb@top@rule@stand% @@ -842,12 +957,8 @@ \pgfsetbaseline{\the\dimexpr\kvtcb@baseline-\kvtcb@bbbottom\relax}% \tcb@extensions@preframe% % draw frame and interior - \csname tcb@drawframe@\kvtcb@engine@frame\endcsname% - \iftcb@hasTitle% - \csname tcb@drawwithtitle@\kvtcb@engine@interiortitled\endcsname% - \else% - \csname tcb@drawwithouttitle@\kvtcb@engine@interior\endcsname% - \fi% + \tcb@adraw@frame% + \tcb@adraw@interior% \iftcb@lowerseparated% \iftcb@lowerspace% \csname tcb@drawlower@\kvtcb@engine@segmentation\endcsname% @@ -855,9 +966,7 @@ \csname tcb@drawlower@\kvtcb@engine@segmentation\endcsname% \fi\fi% \fi% - \iftcb@hasTitle% - \csname tcb@drawtitle@\kvtcb@engine@title\endcsname% - \fi% + \tcb@adraw@title% \tcb@extensions@postframe% % draw text boxes \tcb@tdraw@title% @@ -1135,6 +1244,17 @@ \def\tcbusetemp{\input{\kvtcb@tempfile}} +\tcb@new@skin{standard}{frame engine=standard,interior titled engine=standard, + interior engine=standard,segmentation engine=standard,title engine=standard, + graphical environment=pgfpicture,geometry nodes=false, + set@extensions@preframe=,set@extensions@postframe={\tcb@apply@overlay},% + set@outerboundary=\tcb@boundaryframe@standard,% + skin first=standard,skin middle=standard,skin last=standard% +} + +\tcb@new@skin{standard jigsaw}{skin@standard,frame engine=standardjigsaw,% + skin first=standard jigsaw,skin middle=standard jigsaw,skin last=standard jigsaw} + \def\tcb@reset{}% \tcbset{% initialize@reset/.code={\tcbset{#1}\appto\tcb@reset{\tcbset{#1}}},% @@ -1146,14 +1266,16 @@ enlarge top by=0mm,enlarge bottom by=0mm,enlarge left by=0mm,enlarge right by=0mm, toggle enlargement=none,toggle left and right=none,toptitle=0mm,bottomtitle=0mm, baseline=0pt,adjust text={\"Apgjy},lowerbox=visible,lower separated, - colback=black!5!white,colframe=black!75!white,coltext=black,coltitle=white, + colback=black!5!white,colframe=black!75!white,@colbacktitle=black!50!white,coltext=black,coltitle=white, fonttitle=,fontupper=,fontlower=,floatplacement=htb,nofloat,savelowerto=, tempfile={\jobname.tcbtemp}, - standard,parbox,overlay=,auto outer arc, + standard,parbox,hyphenationfix=false,overlay=,auto outer arc, before title=,after title=,before upper=,after upper=,before lower=,after lower=, sidebyside=false,sidebyside align=center,sidebyside gap=10mm, lefthand ratio=0.5,check odd page=false,nophantom, shield externalize=false,list entry=,no label type, + opacityupper=1.0,opacitylower=1.0,opacitytitle=1.0,opacityframe=1.0,opacityback=1.0,@opacitybacktitle=1.0, + title filled=false }, initialize@reset=reset@core, } @@ -1205,6 +1327,7 @@ \tcb@add@library{minted}{tcbminted.code.tex} \tcb@add@library{theorems}{tcbtheorems.code.tex} \tcb@add@library{documentation}{tcbdocumentation.code.tex} +\tcb@add@library{skins@jigsaw}{tcbskinsjigsaw.code.tex} \tcb@add@library{skins}{tcbskins.code.tex} \tcb@add@library{breakable}{tcbbreakable.code.tex} \tcb@add@library{hooks}{tcbhooks.code.tex} |