summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-03-31 22:28:56 +0000
committerKarl Berry <karl@freefriends.org>2014-03-31 22:28:56 +0000
commit0b84dfe8877345df35ceb87ec739c298dcc72b92 (patch)
tree5249c2f500210cb8b8d27fbc6fb594a91b5545e7
parentc17623666aa19d3dda7d2ba547d2a877df300d76 (diff)
tcolorbox (31mar14)
git-svn-id: svn://tug.org/texlive/trunk@33340 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/CHANGES22
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/README4
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdfbin346953 -> 346958 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex2
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib10
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex7
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex18
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex7
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex11
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex19
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.picturecredits.tex15
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex28
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.xparse.tex567
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdfbin3785087 -> 3935391 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex19
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex18
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex38
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex67
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex69
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex226
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty98
28 files changed, 1062 insertions, 211 deletions
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/CHANGES b/Master/texmf-dist/doc/latex/tcolorbox/CHANGES
index aa0e2e58f08..c4ac9d1920e 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.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2014 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
@@ -445,3 +445,23 @@ version 2.72 (2014/03/18)
- library 'listings':
* new options:
'every listing line', 'every listing line*'
+
+version 2.80 (2014/03/31)
+- implementation changed for all '\newtcolorbox', '\newtcbox', etc., macros.
+- new option:
+ 'float*'
+- new TikZ option:
+ 'fill image scale'
+- library 'skins' new option:
+ 'watermark shrink'
+- new library 'xparse' with new commands:
+ '\DeclareTColorBox', '\NewTColorBox', '\RenewTColorBox', '\ProvideTColorBox',
+ '\DeclareTotalTColorBox', '\NewTotalTColorBox', '\RenewTotalTColorBox', '\ProvideTotalTColorBox',
+ '\DeclareTCBox', '\NewTCBox', '\RenewTCBox', '\ProvideTCBox',
+ '\DeclareTotalTCBox', '\NewTotalTCBox', '\RenewTotalTCBox', '\ProvideTotalTCBox',
+ '\DeclareTCBListing', '\NewTCBListing', '\RenewTCBListing', '\ProvideTCBListing',
+ '\DeclareTCBInputListing', '\NewTCBInputListing', '\RenewTCBInputListing', '\ProvideTCBInputListing',
+ '\DeclareTCBoxFit', '\NewTCBoxFit', '\RenewTCBoxFit', '\ProvideTCBoxFit',
+ '\DeclareTotalTCBoxFit', '\NewTotalTCBoxFit', '\RenewTotalTCBoxFit', '\ProvideTotalTCBoxFit',
+ '\tcboxverb'
+
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/README b/Master/texmf-dist/doc/latex/tcolorbox/README
index 3d23872cd1a..df41ec73ef9 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.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2014 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
@@ -40,6 +40,7 @@ Contents of the package
'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)
+ 'tcbxparse.code.tex' LaTeX package file (library of tcolorbox)
'tcolorbox.pdf' Documentation for tcolorbox
'tcolorbox.tex' Source code of the documentation (main file)
'*.doc.*' Source code of the documentation (include files)
@@ -69,4 +70,5 @@ Alternatively, put the files to their respective locations within the TeX instal
'tcbtheorems.code.tex' -> /tex/latex/tcolorbox
'tcbskins.code.tex' -> /tex/latex/tcolorbox
'tcbskinsjigsaw.code.tex' -> /tex/latex/tcolorbox
+ 'tcbxparse.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
index 9b8ab2d3db6..59d8060bc48 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex
index 87d09062de5..4072f2d5c67 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.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%% tcolorbox-example.tex: an example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
index 91147c35d9b..bc6be776a14 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
@@ -152,3 +152,13 @@
url = {http://pygments.org/},
}
+
+@manual{latexproject:2013a,
+ author = {The \LaTeX3 Project},
+ title = {The xparse Package},
+ url = {http://mirror.ctan.org/macros/latex/contrib/l3packages/xparse.pdf},
+ date = {2013-12-31},
+}
+
+
+
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
index 135ea125d90..88786d44a05 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
@@ -146,6 +146,11 @@ Text \tcbox[tcbox raise base]{Hello World}\hfill
\end{docCommand}
\clearpage
+\begin{marker}
+See \Vref{subsec:xparse_tcolorbox} and \Vref{subsec:xparse_tcbox} for more
+elaborate methods to create new environments and commands.
+\end{marker}
+
\begin{docCommand}{newtcolorbox}{\oarg{init options}\marg{name}\oarg{number}\oarg{default}\marg{options}}
Creates a new environment \meta{name} based on \refEnv{tcolorbox}.
Basically, |\newtcolorbox| operates like |\newenvironment|. This means,
@@ -204,7 +209,7 @@ numbered title and options.
\clearpage
-\begin{docCommand}{newtcbox}{\oarg{init options}\brackets{\texttt{\textbackslash}\rmfamily\meta{name}}\oarg{number}\oarg{default}\marg{options}}
+\begin{docCommand}{newtcbox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\oarg{number}\oarg{default}\marg{options}}
Creates a new macro \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
Basically, |\newtcbox| operates like |\newcommand|.
The new macro \texttt{\textbackslash}\meta{name} optionally takes \meta{number}$+1$ arguments, where
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 4b339d30172..13d272bb058 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
@@ -1686,7 +1686,8 @@ are drawn by the codes given with
\clearpage
\subsection{Floating Objects}
\begin{docTcbKey}{floatplacement}{=\meta{values}}{no default, initially \texttt{htb}}
- Sets \meta{values} as default values for the usage of |float|.
+ Sets \meta{values} as default values for the usage of \refKey{/tcb/float}
+ and \refKey{/tcb/float*}.
Feasible are the usual parameters for floating objects.
\begin{dispListing}
\tcbset{enhanced,colback=red!5!white,colframe=red!75!black,
@@ -1718,6 +1719,21 @@ are drawn by the codes given with
{\tcbusetemp}
+\begin{docTcbKey}{float*}{\colOpt{=\meta{values}}}{default from \texttt{floatplacement}}
+ Identical to \refKey{/tcb/float}, but for wide boxes spanning the whole page
+ width of two column documents or in conjunction with the packages
+ |multicol| or |paracol|. Note that you have to set |width=\textwidth|
+ additionally, if the box should span the whole page width in these cases!
+\begin{dispListing}
+\begin{tcolorbox}[float*=b, title=Floating box from |float*|,width=\textwidth,
+ enhanced,watermark text={I'm also floating}]
+ In this single column document, you will see no difference to |float|.
+\end{tcolorbox}
+\end{dispListing}
+\end{docTcbKey}
+{\tcbusetemp}
+
+
\begin{docTcbKey}{nofloat}{}{style, initially set}
Turns the floating behavior off.
\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 e10bda58a88..4f3d9905253 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex
@@ -35,6 +35,13 @@ The library is loaded by a package option or inside the preamble by:
\end{dispExample}
\end{docCommand}
+\clearpage
+\begin{marker}
+See \Vref{subsec:xparse_tcboxfit} for more
+elaborate methods to create new commands.
+\end{marker}
+
+\enlargethispage*{2cm}
\begin{docCommand}{newtcboxfit}{\oarg{init options}\brackets{\texttt{\textbackslash}\rmfamily\meta{name}}\oarg{number}\oarg{default}\marg{options}}
Creates a new macro \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
index 043f8d61196..f87ee2dda89 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
@@ -129,6 +129,12 @@ The following keys are used inside |\tcbuselibrary| respectively
see Section \ref{sec:hooks} from page \pageref{sec:hooks}.
\end{docTcbKey}
+\begin{docTcbKey}[library]{xparse}{}{\mylib{xparse}}
+ Provides document command production with |xparse| for |tcolorbox|;
+ see Section \ref{sec:xparse} from page \pageref{sec:xparse}.
+\end{docTcbKey}
+
+
\begin{docTcbKey}[library]{documentation}{}{\mylib{documentation}}
Provides additional
macros for typesetting \LaTeX\ documentations
@@ -139,7 +145,7 @@ The following keys are used inside |\tcbuselibrary| respectively
\clearpage
\begin{docTcbKey}[library]{many}{}{style, no value}
Loads the libraries \mylib{skins}, \mylib{breakable}, \mylib{hooks},
- \mylib{theorems}, and \mylib{fitting}.
+ \mylib{theorems}, \mylib{fitting}, and \mylib{xparse}.
Use this shortcut, if you want to use all features of |tcolorbox|
with exception of typesetting listings and using
the specialized \mylib{documentation} library.
@@ -173,7 +179,8 @@ The following keys are used inside |\tcbuselibrary| respectively
\mylib{breakable}\\
\mylib{theorems}\\
\mylib{fitting}\\
- \mylib{hooks}
+ \mylib{hooks}\\
+ \mylib{xparse}
\end{tcolorbox}
\hfill
\begin{tcolorbox}[adjusted title=Listings]
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 041e9281896..58d6c7c8a7a 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex
@@ -190,9 +190,15 @@ This \textbf{text} is written to a standardized file for later usage.
\clearpage
\begin{marker}
-It is not recommended that a new sort of |tcblisting| environment is created with
-one optional argument only. If there is just one argument, it should be made
-mandatory to avoid content scanning problems.
+See \Vref{subsec:xparse_listing} and \Vref{subsec:xparse_inputlisting} for more
+elaborate methods to create new environments and commands.
+\end{marker}
+\begin{marker}
+If a new sort of |tcblisting| environments should be created with
+one optional argument only, one is highly recommended to use
+\refCom{DeclareTCBListing} or \refCom{NewTCBListing}
+instead of \refCom{newtcblisting} to
+avoid content scanning problems.
\end{marker}
\begin{docCommand}{newtcblisting}{\oarg{init options}\marg{name}\oarg{number}\oarg{default}\marg{options}}
@@ -269,7 +275,7 @@ This is my \LaTeX\ box.
\begin{docCommand}{newtcbinputlisting}{\oarg{init options}\brackets{\texttt{\textbackslash}\rmfamily\meta{name}}\oarg{number}\oarg{default}\marg{options}}
Creates a new macro \texttt{\textbackslash}\meta{name} based on \refCom{tcbinputlisting}.
Basically, |\newtcbinputlisting| operates like |\newcommand|.
- The new macro \texttt{\textbackslash}\meta{name} optionally takes \meta{number}$+1$ arguments, where
+ The new macro \texttt{\textbackslash}\meta{name} optionally takes \meta{number} arguments, where
\meta{default} is the default value for the optional first argument.
The \meta{options} are given to the underlying |tcbinputlisting|.
The \meta{init options} allow setting up automatic numbering,
@@ -404,6 +410,11 @@ cd /usr/lib
See further options in \Vref{sec:commonlistingkeys}.
+\begin{marker}
+For an combined example of using |\lstinline| inside a |tcolorbox|, see
+\refCom{DeclareTotalTCBox}.
+\end{marker}
+
\clearpage
\subsection{Option Keys of the \mylib{listingsutf8} Library}
The \mylib{listingsutf8} library is an extension of the
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.picturecredits.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.picturecredits.tex
index c39429d7d54..5b7d1513bd7 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.picturecredits.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.picturecredits.tex
@@ -8,14 +8,13 @@ The following pictures were used inside this documentation.
\def\parorfillpar{\par\global\let\parorfill\parorfillfill}
\let\parorfill\parorfillfill
-\newcommand{\diabox}[3][]{%
- \begin{tcolorbox}[bicolor,before=,after=\parorfill,equal height group=diabox,width=7.9cm,
- fonttitle=\bfseries\ttfamily,adjusted title=\detokenize{#2},center title,
- colframe=blue!20!black,leftupper=0mm,rightupper=0mm,colback=black!75!white,#1]
- \tikz\path[fill zoom image={#2}] (0,0) rectangle (\linewidth,4cm);%
- \tcblower%
- #3%
- \end{tcolorbox}}
+\DeclareTotalTColorBox{\diabox}{ O{} v m }
+ { bicolor,before=,after=\parorfill,equal height group=diabox,width=7.9cm,
+ fonttitle=\bfseries\ttfamily,adjusted title={#2},center title,
+ colframe=blue!20!black,leftupper=0mm,rightupper=0mm,colback=black!75!white,#1}
+ { \tikz\path[fill zoom image={#2}] (0,0) rectangle (\linewidth,4cm);%
+ \tcblower#3}
+
\diabox[before=]{Basilica_5.png}{
\url{http://commons.wikimedia.org/wiki/File:Basilica_5.png}}
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 256e66803f6..6709336a0b2 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
@@ -767,6 +767,12 @@ This example uses a public domain picture from\\
\clearpage
+\begin{docTcbKey}{watermark shrink}{=\meta{fraction}}{no default, initially unset}
+ Identically to \refKey{/tcb/watermark zoom}, but the watermark
+ never gets enlarged. Thus, the watermark keeps its original size or is shrunk.
+\end{docTcbKey}
+
+
\begin{docTcbKey}{watermark overzoom}{=\meta{fraction}}{no default, initially unset}
Sets the overzoom value for a watermark. The overzoom respects the aspect ratio.
The value $1.0$ means to fill the whole box until the watermark touches
@@ -1811,7 +1817,7 @@ from converting to draft mode.
\begin{docCommand}{tcbinterruptdraftmode}{}
If the compilation is in \emph{draft mode}, the \emph{draft mode} is deactivated
until a following \refCom{tcbcontinuedraftmode} is detected.\par
- If the compilation is not in \emph{draft mode}, no happens and a following
+ If the compilation is not in \emph{draft mode}, nothing happens and a following
\refCom{tcbcontinuedraftmode} will not start the \emph{draft mode}.
\begin{marker}
The pair |\tcbinterruptdraftmode| and |\tcbcontinuedraftmode| cannot
@@ -3664,6 +3670,24 @@ The \mylib{skins} library adds some image fill options to the vast option set of
\end{docTikzKey}
+\begin{docTikzKey}{fill image scale}{=\meta{fraction}}{no default, initially |1.0|}
+ Stretches, zooms, overzooms or shrinks the image to the given \meta{fraction} of the
+ width and height of the current path.
+\begin{dispExample}
+\begin{tikzpicture}
+\path[draw,fill zoom image=goldshade.png]
+ (0,0) rectangle +(2,2);
+
+\path[draw,fill zoom image=goldshade.png,fill image scale=0.75]
+ (3,0) rectangle +(2,2);
+
+\path[draw,fill zoom image=goldshade.png,fill image scale=1.5]
+ (6,0) rectangle +(2,2);
+\end{tikzpicture}
+\end{dispExample}
+\end{docTikzKey}
+
+
\begin{docTikzKey}{fill image options}{=\meta{graphics options}}{no default, initially empty}
The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command
for the image fill options. This can be just together with
@@ -3681,7 +3705,7 @@ The \mylib{skins} library adds some image fill options to the vast option set of
\end{docTikzKey}
-\begin{dispExample*}{sbs,lefthand ratio=0.6,center lower,
+\begin{dispExample*}{sbs,lefthand ratio=0.6,center lower,fonttitle=\bfseries,
title=Image blending example}
\begin{tikzpicture}[every node/.style=
{circle,minimum width=2cm}]
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.xparse.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.xparse.tex
new file mode 100644
index 00000000000..06c4120dd04
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.xparse.tex
@@ -0,0 +1,567 @@
+% !TeX root = tcolorbox.tex
+% include file of tcolorbox.tex (manual of the LaTeX package tcolorbox)
+\clearpage
+\section{Library \mylib{xparse}}\label{sec:xparse}
+The library is loaded by a package option or inside the preamble by:
+\begin{dispListing}
+\tcbuselibrary{xparse}
+\end{dispListing}
+This also loads the package |xparse| \cite{latexproject:2013a}.
+
+The purpose of this library is to give comfortable access to the
+powerful document command production with |xparse| for |tcolorbox|.
+See the |xparse| package documentation \cite{latexproject:2013a}
+for details about the argument \meta{specification} used in this section.
+
+%\subsection{Producing Document Commands With \texttt{xparse}}
+
+
+\subsection{Option Keys}\label{subsec:xparse_options}
+
+\begin{docTcbKey}{verbatim}{}{style, no value}
+ Sets options for a \textit{verbatim} style \refCom{tcbox}.
+ Since the indented boxes may contain only very few words, the
+ dimensions are made smaller and \refKey{/tcb/nobeforeafter}
+ and \refKey{/tcb/tcbox raise base} are set.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\DeclareTotalTCBox{\myverb}{ v }{verbatim,
+ colframe=red!75!black,colupper=blue}{#1}
+
+\myverb{\textbf} is a \myverb{\LaTeX} command.
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{IfNoValueTF}{=\marg{argument}\marg{true options}\marg{false options}}{no default}
+ Wraps the |\IfNoValueTF| command of |xparse| for option setting.
+ If the \meta{argument} has no value, the \meta{true options} are set.
+ Otherwise, the \meta{false options} are set.
+\begin{dispExample}
+\DeclareTColorBox{mybox}{ o }{colframe=red!75!black,
+ IfNoValueTF={#1}{colback=red!5!white}{enhanced,interior style image=#1}}
+
+\begin{mybox}
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}[goldshade.png]
+This is a tcolorbox.
+\end{mybox}
+\end{dispExample}
+\end{docTcbKey}
+
+\clearpage
+\begin{docTcbKey}{IfValueTF}{=\marg{argument}\marg{true options}\marg{false options}}{no default}
+ Wraps the |\IfValueTF| command of |xparse| for option setting.
+ If the \meta{argument} has a value, the \meta{true options} are set.
+ Otherwise, the \meta{false options} are set.
+\begin{dispExample}
+\DeclareTColorBox{mybox}{ o }{colframe=red!75!black,colback=red!5!white,
+ IfValueTF={#1}{title={\flqq #1\frqq},fonttitle=\bfseries}{}}
+
+\begin{mybox}
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}[My title]
+This is a tcolorbox.
+\end{mybox}
+\end{dispExample}
+\end{docTcbKey}
+
+\begin{docTcbKey}{IfBooleanTF}{=\marg{argument}\marg{true options}\marg{false options}}{no default}
+ Wraps the |\IfBooleanTF| command of |xparse| for option setting.
+ If the \meta{argument} is |\BooleanTue|, the \meta{true options} are set.
+ If the \meta{argument} is |\BooleanFalse|, the \meta{false options} are set.
+
+\begin{dispExample}
+\DeclareTColorBox{mybox}{ s }{colframe=red!75!black,
+ IfBooleanTF={#1}{colback=yellow!50!red}{colback=red!5!white}}
+
+\begin{mybox}
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}*
+This is a tcolorbox.
+\end{mybox}
+\end{dispExample}
+\end{docTcbKey}
+
+
+
+\clearpage
+\subsection{Producing \texttt{tcolorbox} Environments and Commands}\label{subsec:xparse_tcolorbox}
+
+\begin{docCommand}{DeclareTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Creates a new environment \meta{name} based on \refEnv{tcolorbox}.\\
+ Basically, |\DeclareTColorBox| operates like |\DeclareDocumentEnvironment|. This means,
+ the new environment \meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refEnv{tcolorbox}.\\
+ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
+ automatically.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new environment is always created, irrespective of an already existing
+ environment with the same name.
+
+\begin{dispExample}
+% counter from previous example
+\DeclareTColorBox[use counter from=pabox]{mybox}{ O{red} m d"" O{} }
+ {enhanced,colframe=#1!75!black,colback=#1!5!white,
+ fonttitle=\bfseries,title={\thetcbcounter~#2},
+ IfValueTF={#3}{watermark text={#3}}{},#4}
+
+\begin{mybox}{My title}
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}[blue]{My title}
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}[green]{My title}"My Watermark"
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}[yellow]{My title}[colbacktitle=yellow!50!white,coltitle=black]
+This is a tcolorbox.
+\end{mybox}
+
+\begin{mybox}[purple]{My title}"All together"[coltitle=yellow]
+This is a tcolorbox.
+\end{mybox}
+\end{dispExample}
+\end{docCommand}
+
+\clearpage
+\begin{docCommand}{NewTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTColorBox}, but based on |\NewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ An error is issued if \meta{name} has already been defined.
+\end{docCommand}
+
+\begin{docCommand}{RenewTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTColorBox}, but based on |\RenewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ An existing environment is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTColorBox}, but based on |\ProvideDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ The environment \meta{name} is only created if it is not already defined.
+\end{docCommand}
+
+
+\clearpage
+
+\begin{docCommand}{DeclareTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Creates a new command \texttt{\textbackslash}\meta{name} based on \refEnv{tcolorbox}.
+ In contrast to \refCom{DeclareTColorBox}, also the \meta{content} of the |tcolorbox| is specified.\\
+ Basically, |\DeclareTotalTColorBox| operates like |\DeclareDocumentCommand|. This means,
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refEnv{tcolorbox} which is filled with
+ the specified \meta{content}.\\
+ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
+ automatically.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+
+\begin{dispExample}
+\DeclareTotalTColorBox{\diabox}{ O{} v m }
+ { bicolor,nobeforeafter,equal height group=diabox,width=5.7cm,
+ fonttitle=\bfseries\ttfamily,adjusted title={#2},center title,
+ colframe=blue!20!black,leftupper=0mm,rightupper=0mm,colback=black!75!white,#1}
+ { \tikz\path[fill zoom image={#2}] (0,0) rectangle (\linewidth,4cm);%
+ \tcblower#3}
+
+\diabox{blueshade.png}{Created with |GIMP|.\\\url{http://www.gimp.org}}
+\diabox{goldshade.png}{Created with |GIMP|.\\\url{http://www.gimp.org}}
+
+\end{dispExample}
+\end{docCommand}
+
+\begin{docCommand}{NewTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTColorBox}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
+\end{docCommand}
+
+\begin{docCommand}{RenewTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTColorBox}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An existing command is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTColorBox}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
+\end{docCommand}
+
+
+\clearpage
+\subsection{Producing \texttt{tcbox} Commands}\label{subsec:xparse_tcbox}
+
+
+\begin{docCommand}{DeclareTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
+ Basically, |\DeclareTCBox| operates like |\DeclareDocumentCommand|. This means,
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refCom{tcbox}.\\
+ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
+ automatically.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+
+\begin{dispExample}
+% counter from previous example
+\DeclareTCBox[use counter from=pabox]{\mybox}{ s m s }
+{ nobeforeafter,colback=red!5!white,colframe=red!75!black,
+ title={#2 (Box \thetcbcounter)},fonttitle=\bfseries,
+ IfBooleanTF={#1}{enhanced,drop shadow}{},
+ IfBooleanTF={#3}{colbacktitle=red!50!white}{} }
+
+\mybox{Bird}{This is my first box.}
+ \hfill
+\mybox*{Tree}{This is my second box.}
+ \par\bigskip
+\mybox{Bike}*{This is my third box.}
+ \hfill
+\mybox*{City}*{This is my fourth box.}
+\end{dispExample}
+\end{docCommand}
+
+\begin{docCommand}{NewTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBox}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
+\end{docCommand}
+
+\begin{docCommand}{RenewTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBox}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An existing command is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBox}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
+\end{docCommand}
+
+
+
+\clearpage
+
+\begin{docCommand}{DeclareTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
+ In contrast to \refCom{DeclareTCBox}, also the \meta{content} of the |tcbox| is specified.\\
+ Basically, |\DeclareTotalTCBox| operates like |\DeclareDocumentCommand|. This means,
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refCom{tcbox} which is filled with
+ the specified \meta{content}.\\
+ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
+ automatically.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+
+\begin{dispExample}
+\DeclareTotalTCBox{\myverb}{ O{red} v O{} }
+{ fontupper=\ttfamily,nobeforeafter,tcbox raise base,arc=0pt,outer arc=0pt,
+ top=0pt,bottom=0pt,left=0mm,right=0mm,
+ leftrule=0pt,rightrule=0pt,toprule=0.3mm,bottomrule=0.3mm,boxsep=0.5mm,
+ colback=#1!10!white,colframe=#1!50!black,#3}{#2}
+
+To set a word \textbf{bold} in \myverb{\LaTeX}, one uses
+\myverb[green]{\textbf{bold}}. Alternatively, write
+\myverb[yellow]{{\bfseries bold}}.
+In \myverb[blue]{\LaTeX}[enhanced,fuzzy halo], other font settings are
+done in the same way, e.\,g. \myverb{\textit}, \myverb{\itshape}\\
+or \myverb[brown]{\texttt}, \myverb[brown]{\ttfamily}.
+\end{dispExample}
+
+The next example uses |\lstinline| from the |listings| package to
+typeset the verbatim content.
+
+\begin{dispExample}
+% \usepackage{listings} or \tcbuselibrary{listings}
+\DeclareTotalTCBox{\commandbox}{ s v }
+{verbatim,colupper=white,colback=black!75!white,colframe=black}
+{\IfBooleanTF{#1}{\textcolor{red}{\ttfamily\bfseries > }}{}%
+ \lstinline[language=command.com,keywordstyle=\color{blue!35!white}\bfseries]°#2°}
+
+\commandbox*{cd "My Documents"} changes to directory \commandbox{My Documents}.
+
+\commandbox*{dir /A} lists the directory content.
+
+\commandbox*{copy example.txt d:\target} copies \commandbox{example.txt} to
+ \commandbox{d:\target}.
+\end{dispExample}
+\end{docCommand}
+
+\clearpage
+\begin{docCommand}{NewTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTCBox}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
+\end{docCommand}
+
+\begin{docCommand}{RenewTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTCBox}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An existing command is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTCBox}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
+\end{docCommand}
+
+
+\begin{docCommand}{tcboxverb}{\oarg{options}\marg{verbatim box content}}
+ Creates a colored box based on \refCom{tcbox} which is fitted to the width of the given
+ \meta{verbatim box content}.
+ The underlying \refCom{tcbox} is styled with
+ \refKey{/tcb/verbatim} plus the given \meta{options}.
+ The difference to \refCom{tcbox} is that the \meta{verbatim box content} is
+ interpreted \textit{verbatim}. Therefore, |\tcboxverb| acts similar to |\verb|.
+
+\begin{dispExample}
+\tcboxverb{\LaTeX}, \tcboxverb[colback=blue!10!white,colupper=blue]{\LaTeX},
+\tcboxverb[blank,fuzzy halo]{\LaTeX}, \tcboxverb[beamer]{\LaTeX},
+\tcboxverb[enhanced,skin=enhancedmiddle jigsaw,colframe=red]{\LaTeX}.
+\end{dispExample}
+\end{docCommand}
+
+
+
+
+\clearpage
+\subsection{Producing \texttt{tcblisting} Environments}\label{subsec:xparse_listing}
+\begin{marker}
+The following commands need the \mylib{listings} library to be included.
+\end{marker}
+
+\begin{docCommand}{DeclareTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Creates a new environment \meta{name} based on \refEnv{tcblisting}.\\
+ Basically, |\DeclareTCBListing| operates like |\DeclareDocumentEnvironment|. This means,
+ the new environment \meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refEnv{tcblisting}.\\
+ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
+ automatically.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new environment is always created, irrespective of an already existing
+ environment with the same name.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.5}
+\DeclareTCBListing{mybox}{ s O{} m }{%
+ colback=red!5!white,
+ colframe=red!75!black,
+ fonttitle=\bfseries,
+ IfBooleanTF={#1}
+ {listing side text}
+ {text side listing},
+ title=#3,#2}
+
+\begin{mybox}{Listing Box}
+This is my
+\LaTeX\ box.
+\end{mybox}
+\bigskip
+
+\begin{mybox}*{Listing Box}
+This is my
+\LaTeX\ box.
+\end{mybox}
+\bigskip
+
+\begin{mybox}[colback=yellow]
+ {Listing Box}
+This is my
+\LaTeX\ box.
+\end{mybox}
+\end{dispExample*}
+\end{docCommand}
+
+
+
+\begin{docCommand}{NewTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBListing}, but based on |\NewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ An error is issued if \meta{name} has already been defined.
+\end{docCommand}
+
+\begin{docCommand}{RenewTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBListing}, but based on |\RenewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ An existing environment is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBListing}, but based on |\ProvideDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ The environment \meta{name} is only created if it is not already defined.
+\end{docCommand}
+
+
+\begin{dispListing*}{title={Caveats of using an environment ending with an
+ optional argument},fonttitle=\bfseries}
+\DeclareTCBListing{mybox}{ O{} }{listing only,#1}
+
+\begin{mybox}[colframe=red]
+\good
+\end{mybox}
+
+\begin{mybox}[colframe=red]\good\end{mybox}
+
+\begin{mybox}
+\good
+\end{mybox}
+
+\begin{mybox} \good\end{mybox}
+
+\begin{mybox}\bad!\end{mybox}
+
+\begin{mybox}
+[\good]
+\end{mybox}
+
+\begin{mybox} [\good]\end{mybox}
+
+\begin{mybox}[\bad!]\end{mybox}
+\end{dispListing*}
+
+\clearpage
+\subsection{Producing \texttt{tcbinputlisting} Commands}\label{subsec:xparse_inputlisting}
+\begin{marker}
+The following commands need the \mylib{listings} library to be included.
+\end{marker}
+
+
+\begin{docCommand}{DeclareTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbinputlisting}.
+ Basically, |\DeclareTCBInputListing| operates like |\DeclareDocumentCommand|. This means,
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refCom{tcbinputlisting}.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+
+\begin{dispExample}
+% counter from previous example
+\DeclareTCBInputListing[use counter from=pabox]{\mylisting}{ O{} O{red} m }{%
+ listing file={#3},title=Listing~\thetcbcounter,
+ colback=#2!5!white,colframe=#2!50!black,colbacktitle=#2!75!black,
+ fonttitle=\bfseries,listing only,#1}
+
+\mylisting[before upper=\textit{This is the included file content:}]
+ [blue]{\jobname.tcbtemp}
+\end{dispExample}
+ \end{docCommand}
+
+\begin{docCommand}{NewTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBInputListing}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
+\end{docCommand}
+
+\begin{docCommand}{RenewTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBInputListing}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An existing command is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBInputListing}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
+\end{docCommand}
+
+
+\clearpage
+\subsection{Producing \texttt{tboxfit} Commands}\label{subsec:xparse_tcboxfit}
+\begin{marker}
+The following commands need the \mylib{fitting} library to be included.
+\end{marker}
+
+\begin{docCommand}{DeclareTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
+ Basically, |\DeclareTCBoxFit| operates like |\DeclareDocumentCommand|. This means,
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refCom{tcboxfit}.\\
+ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
+ automatically.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+% \usepackage{lipsum}
+
+\DeclareTCBoxFit{\mybox}{ O{} m o }
+ {colback=red!5!white,
+ colframe=red!75!black,
+ width=#2,height=#2/3*2,
+ IfValueTF={#3}{height=#3}{},
+ #1}
+
+\mybox[colback=yellow]{5cm}%
+ {\lipsum[2]}
+
+\mybox[colback=yellow]{5cm}[4cm]{\lipsum[2]}
+\end{dispExample*}
+\end{docCommand}
+
+\begin{docCommand}{NewTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBoxFit}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
+\end{docCommand}
+
+\begin{docCommand}{RenewTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBoxFit}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An existing command is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{DeclareTCBoxFit}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
+\end{docCommand}
+
+\clearpage
+
+\begin{docCommand}{DeclareTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
+ In contrast to \refCom{DeclareTCBoxFit}, also the \meta{content} of the |tcboxfit| is specified.\\
+ Basically, |\DeclareTotalTCBoxFit| operates like |\DeclareDocumentCommand|. This means,
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ The \meta{options} are given to the underlying \refCom{tcboxfit} which is filled with
+ the specified \meta{content}.\\
+ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
+ automatically.\\
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+
+\begin{dispExample}
+% \usepackage{lipsum}
+
+\DeclareTotalTCBoxFit{\multibox}{ O{} m O{10} m }
+ {nobeforeafter,colback=red!5!white,colframe=red!75!black,width=#2,height=#2/3*2,
+ valign=center,#1}
+ { \foreach \n in {1,...,#3} { #4} }
+
+\multibox{5cm}{I shall not repeat.}
+\multibox[colframe=blue!75!white]{5cm}[20]{I shall not repeat.}\\
+\multibox[colback=yellow,height=5cm]{14cm}[100]{I shall not repeat.}
+\end{dispExample}
+\end{docCommand}
+
+\begin{docCommand}{NewTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTCBoxFit}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
+\end{docCommand}
+
+\begin{docCommand}{RenewTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTCBoxFit}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ An existing command is redefined.
+\end{docCommand}
+
+\begin{docCommand}{ProvideTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{DeclareTotalTCBoxFit}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
+\end{docCommand}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
index 07472f82bfb..3b181f37251 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex
index 75bcb6955be..5a60d8c508e 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.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%% tcolorbox.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
@@ -98,8 +98,8 @@
\newtcolorbox{marker}[1][]{marker,#1}
-\def\version{2.72}%
-\def\datum{2014/03/18}%
+\def\version{2.80}%
+\def\datum{2014/03/31}%
\makeindex
\hypersetup{
@@ -145,6 +145,16 @@
tcbmakedocSubKey,
% skins
tcbline,
+ % xparse
+ DeclareTColorBox,NewTColorBox,RenewTColorBox,ProvideTColorBox,
+ DeclareTotalTColorBox,NewTotalTColorBox,RenewTotalTColorBox,ProvideTotalTColorBox,
+ DeclareTCBox,NewTCBox,RenewTCBox,ProvideTCBox,
+ DeclareTotalTCBox,NewTotalTCBox,RenewTotalTCBox,ProvideTotalTCBox,
+ DeclareTCBListing,NewTCBListing,RenewTCBListing,ProvideTCBListing,
+ DeclareTCBInputListing,NewTCBInputListing,RenewTCBInputListing,ProvideTCBInputListing,
+ DeclareTCBoxFit,NewTCBoxFit,RenewTCBoxFit,ProvideTCBoxFit,
+ DeclareTotalTCBoxFit,NewTotalTCBoxFit,RenewTotalTCBoxFit,ProvideTotalTCBoxFit,
+ tcboxverb,
},
texcsstyle=*\color{Definition}\bfseries,
classoffset=0% restore default
@@ -289,7 +299,7 @@
\input{\jobname_preamble_J.tex}
%\tcbset{draftmode}
-%\includeonly{tcolorbox.doc.skins}
+%\includeonly{tcolorbox.doc.intro}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
@@ -305,6 +315,7 @@
\include{tcolorbox.doc.breakable}
\include{tcolorbox.doc.fitting}
\include{tcolorbox.doc.hooks}
+\include{tcolorbox.doc.xparse}
\include{tcolorbox.doc.documentation}
\appendix
\include{tcolorbox.doc.picturecredits}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
index c0682b5a397..bfb14903208 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.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%% 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.72}
+\tcb@set@library@version{2.80}
\let\tcb@parboxrestore@true=\tcb@parboxrestore
\def\tcb@parboxrestore@false{\vskip-\parskip\linewidth\hsize}
@@ -245,13 +245,13 @@
\let\tcb@after@middle=\tcb@after@first%
\let\tcb@after@last=\kvtcb@afterbox%
\else%
- \edef\float@start{\noexpand\@float{tcbfloat}[\kvtcb@float]}%
- \let\tcb@before@first=\float@start%
- \let\tcb@before@middle=\float@start%
- \let\tcb@before@last=\float@start%
- \let\tcb@after@first=\end@float%
- \let\tcb@after@middle=\end@float%
- \let\tcb@after@last=\end@float%
+ \edef\tcb@float@env@start{\noexpand\tcb@float@env@begin{tcbfloat}[\kvtcb@float]}%
+ \let\tcb@before@first=\tcb@float@env@start%
+ \let\tcb@before@middle=\tcb@float@env@start%
+ \let\tcb@before@last=\tcb@float@env@start%
+ \let\tcb@after@first=\tcb@float@env@end%
+ \let\tcb@after@middle=\tcb@float@env@end%
+ \let\tcb@after@last=\tcb@float@env@end%
\fi%
%
\edef\kvtcb@skin@@first{\kvtcb@skin@first}%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
index 5d73558c30b..0837c7e36bd 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.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%% 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.72}
+\tcb@set@library@version{2.80}
\tcbuselibrary{listings,skins}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
index e402dd7da14..6906177bf6d 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.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%% 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.72}
+\tcb@set@library@version{2.80}
\newdimen\tcbfitdim
\newdimen\tcb@lowerfitdim
@@ -326,12 +326,10 @@
\tcb@draw@color@box%
}
-
\newcommand{\tcboxfit}[2][]{%
\tcb@ox{capture=fitbox,#1}{#2}%
}
-
\long\def\tcb@newtcboxfit#1#2{\expandafter\tcb@newcommand\csname#1\endcsname{\tcboxfit[#2,options@for=#1]}}
\long\def\tcb@newtcboxfit@#1[#2]#3{\expandafter\tcb@newcommand\csname#1\endcsname[#2]{\tcboxfit[#3,options@for=#1]}}
@@ -342,37 +340,17 @@
\@ifnextchar[{\tcb@newtcboxfit@@{#1}[#2]}{\tcb@newtcboxfit@{#1}[#2]}}
\long\def\tcb@new@tcboxfit#1{%
- \preto\tcb@new@colopt{savedelimiter=#1}%
- \cslet{tcb@opt@#1}{\tcb@new@colopt}%
\@ifnextchar[{\tcb@new@tcboxfit@{#1}}{\tcb@newtcboxfit{#1}}}
-\long\def\tcb@new@tcboxfit@bs#1{%
- \edef\tcb@temp{\noexpand\tcb@new@tcboxfit{\tcb@remove@bs{#1}}}%
- \tcb@temp%
-}
-
-\long\def\tcb@new@tcboxfit@opt#1#2{%
- \tcb@proc@options@init{#2}{#1}%
- \tcb@new@tcboxfit{#1}%
-}
-
-\long\def\tcb@new@tcboxfit@opt@bs[#1]#2{%
- \edef\tcb@temp{\noexpand\tcb@new@tcboxfit@opt{\tcb@remove@bs{#2}}}%
- \tcb@temp{#1}%
-}
-
-\long\def\new@tcboxfit{%
- \def\tcb@new@colopt{}%
- \@ifnextchar[{\tcb@new@tcboxfit@opt@bs}{\tcb@new@tcboxfit@bs}}
-
-\long\def\newtcboxfit{%
+\def\newtcboxfit{%
\let\tcb@newcommand\newcommand%
- \new@tcboxfit}
+ \let\tcb@process@newtcolorbox@continue\tcb@new@tcboxfit%
+ \tcb@process@newcommand}
-\long\def\renewtcboxfit{%
+\def\renewtcboxfit{%
\let\tcb@newcommand\renewcommand%
- \new@tcboxfit}
-
+ \let\tcb@process@newtcolorbox@continue\tcb@new@tcboxfit%
+ \tcb@process@newcommand}
\tcbset{%
reset@fitting/.style={%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
index 7771431555e..d6a056574f0 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.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%% 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.72}
+\tcb@set@library@version{2.80}
\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 f958c8fec7a..de560bf5ccd 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.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%% 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.72}
+\tcb@set@library@version{2.80}
\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 a5f68b1ce2c..3e7b8326273 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.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%% 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.72}
+\tcb@set@library@version{2.80}
\def\tcbuselistingtext{\input{\kvtcb@listingfile}}%
\def\tcbuselistingcomment{\kvtcb@listingcomment}%
@@ -81,8 +81,8 @@
\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}%
+ \edef\tcb@float@env@start{\noexpand\tcb@float@env@begin{tcbfloat}[\kvtcb@float]}%
+ \newenvironment{tcb@sbsfloat}{\tcb@float@env@start}{\tcb@float@env@end}%
\fi%
}
@@ -172,7 +172,6 @@
\begingroup\tcbverbatimwrite{\kvtcb@listingfile}%
}{\endtcbverbatimwrite\endgroup}
-
\long\def\tcb@newtcblisting#1#2{\tcb@newenvironment{#1}{\tcblisting{#2,options@for=#1}}{\endtcblisting}}
\long\def\tcb@newtcblisting@#1[#2]#3{\tcb@newenvironment{#1}[#2]{\tcblisting{#3,options@for=#1}}{\endtcblisting}}
@@ -182,27 +181,18 @@
\long\def\tcb@new@tcblisting@#1[#2]{%
\@ifnextchar[{\tcb@newtcblisting@@{#1}[#2]}{\tcb@newtcblisting@{#1}[#2]}}
-\long\def\tcb@new@tcblisting#1{%
- \preto\tcb@new@colopt{savedelimiter=#1}%
- \cslet{tcb@opt@#1}{\tcb@new@colopt}%
+\def\tcb@new@tcblisting#1{%
\@ifnextchar[{\tcb@new@tcblisting@{#1}}{\tcb@newtcblisting{#1}}}
-\long\def\tcb@new@tcblisting@opt[#1]#2{%
- \tcb@proc@options@init{#1}{#2}%
- \tcb@new@tcblisting{#2}%
-}
-
-\long\def\new@tcblisting{%
- \def\tcb@new@colopt{}%
- \@ifnextchar[{\tcb@new@tcblisting@opt}{\tcb@new@tcblisting}}
-
-\long\def\newtcblisting{%
+\def\newtcblisting{%
\let\tcb@newenvironment\newenvironment%
- \new@tcblisting}
+ \let\tcb@process@newtcolorbox@continue\tcb@new@tcblisting%
+ \tcb@process@newenvironment}
-\long\def\renewtcblisting{%
+\def\renewtcblisting{%
\let\tcb@newenvironment\renewenvironment%
- \new@tcblisting}
+ \let\tcb@process@newtcolorbox@continue\tcb@new@tcblisting%
+ \tcb@process@newenvironment}
\long\def\tcb@newtcbinputlisting#1#2{\expandafter\tcb@newcommand\csname#1\endcsname{\tcbinputlisting{#2,options@for=#1}}}
@@ -213,39 +203,18 @@
\long\def\tcb@new@tcbinputlisting@#1[#2]{%
\@ifnextchar[{\tcb@newtcbinputlisting@@{#1}[#2]}{\tcb@newtcbinputlisting@{#1}[#2]}}
-\long\def\tcb@new@tcbinputlisting#1{%
- \preto\tcb@new@colopt{savedelimiter=#1}%
- \cslet{tcb@opt@#1}{\tcb@new@colopt}%
+\def\tcb@new@tcbinputlisting#1{%
\@ifnextchar[{\tcb@new@tcbinputlisting@{#1}}{\tcb@newtcbinputlisting{#1}}}
-
-\long\def\tcb@new@tcbinputlisting@bs#1{%
- \edef\tcb@temp{\noexpand\tcb@new@tcbinputlisting{\tcb@remove@bs{#1}}}%
- \tcb@temp%
-}
-
-\long\def\tcb@new@tcbinputlisting@opt#1#2{%
- \tcb@proc@options@init{#2}{#1}%
- \tcb@new@tcbinputlisting{#1}%
-}
-
-\long\def\tcb@new@tcbinputlisting@opt@bs[#1]#2{%
- \edef\tcb@temp{\noexpand\tcb@new@tcbinputlisting@opt{\tcb@remove@bs{#2}}}%
- \tcb@temp{#1}%
-}
-
-\long\def\new@tcbinputlisting{%
- \def\tcb@new@colopt{}%
- \@ifnextchar[{\tcb@new@tcbinputlisting@opt@bs}{\tcb@new@tcbinputlisting@bs}}
-
-\long\def\newtcbinputlisting{%
+\def\newtcbinputlisting{%
\let\tcb@newcommand\newcommand%
- \new@tcbinputlisting}
+ \let\tcb@process@newtcolorbox@continue\tcb@new@tcbinputlisting%
+ \tcb@process@newcommand}
-\long\def\renewtcbinputlisting{%
+\def\renewtcbinputlisting{%
\let\tcb@newcommand\renewcommand%
- \new@tcbinputlisting}
-
+ \let\tcb@process@newtcolorbox@continue\tcb@new@tcbinputlisting%
+ \tcb@process@newcommand}
\tcbset{%
reset@listingscore/.style={%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
index f18a89e55df..c7842f2fcc4 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.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%% 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.72}
+\tcb@set@library@version{2.80}
\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 8c65eda686b..9e165ec1d33 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.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%% 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.72}
+\tcb@set@library@version{2.80}
\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 9a234d42a41..49f9ba6c6d0 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.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%% tcbskins.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{2.72}
+\tcb@set@library@version{2.80}
\RequirePackage{tikz}[2010/10/13]
@@ -827,26 +827,33 @@
\def\tcb@setratiorobust#1#2#3{\ifdim\dimexpr#3<1pt\tcb@setratio#1{#2}{1pt}\else\tcb@setratio#1{#2}{#3}\fi}
-\def\tcb@comp@wm@stretch{%
- \tcb@setratiorobust\tcb@scale@x{\dimexpr\kvtcb@watermark@factor\dimexpr\tcb@innerwidth\relax\relax}{\wd\tcb@waterbox}%
- \tcb@setratiorobust\tcb@scale@y{\dimexpr\kvtcb@watermark@factor\dimexpr\tcb@innerheight\relax\relax}{\ht\tcb@waterbox+\dp\tcb@waterbox}%
+\def\tcb@comp@waterbox@stretch#1#2#3{%
+ \tcb@setratiorobust\tcb@scale@x{#1\dimexpr#2}{\wd\tcb@waterbox}%
+ \tcb@setratiorobust\tcb@scale@y{#1\dimexpr#3}{\ht\tcb@waterbox+\dp\tcb@waterbox}%
}
-\def\tcb@comp@wm@zoom{%
- \tcb@setratiorobust\tcb@scale@x{\dimexpr\kvtcb@watermark@factor\dimexpr\tcb@innerwidth\relax\relax}{\wd\tcb@waterbox}%
- \tcb@setratiorobust\tcb@scale@y{\dimexpr\kvtcb@watermark@factor\dimexpr\tcb@innerheight\relax\relax}{\ht\tcb@waterbox+\dp\tcb@waterbox}%
+\def\tcb@comp@waterbox@zoom#1#2#3{%
+ \tcb@comp@waterbox@stretch{#1}{#2}{#3}%
\ifdim\dimexpr\tcb@scale@x pt\relax<\dimexpr\tcb@scale@y pt\relax\let\tcb@scale@y=\tcb@scale@x\else\let\tcb@scale@x=\tcb@scale@y\fi%
}
-\def\tcb@comp@wm@overzoom{%
- \tcb@setratiorobust\tcb@scale@x{\dimexpr\kvtcb@watermark@factor\dimexpr\tcb@innerwidth\relax\relax}{\wd\tcb@waterbox}%
- \tcb@setratiorobust\tcb@scale@y{\dimexpr\kvtcb@watermark@factor\dimexpr\tcb@innerheight\relax\relax}{\ht\tcb@waterbox+\dp\tcb@waterbox}%
+\def\tcb@comp@waterbox@overzoom#1#2#3{%
+ \tcb@comp@waterbox@stretch{#1}{#2}{#3}%
\ifdim\dimexpr\tcb@scale@x pt\relax>\dimexpr\tcb@scale@y pt\relax\let\tcb@scale@y=\tcb@scale@x\else\let\tcb@scale@x=\tcb@scale@y\fi%
}
+\def\tcb@comp@waterbox@shrink#1#2#3{%
+ \tcb@comp@waterbox@zoom{#1}{#2}{#3}%
+ \ifdim\dimexpr\tcb@scale@x pt\relax>1pt\relax%
+ \edef\tcb@scale@x{1}\edef\tcb@scale@y{1}%
+ \fi%
+}
+
+\def\tcb@box@scaled@waterbox{\scalebox{\tcb@scale@x}[\tcb@scale@y]{\box\tcb@waterbox}}
+
\def\tcb@drawspec@watermark@@noclip{%
\tcb@comp@wm%
- \node[opacity=\kvtcb@watermark@opacity,anchor=center] at (interior) {\scalebox{\tcb@scale@x}[\tcb@scale@y]{\box\tcb@waterbox}};%
+ \node[opacity=\kvtcb@watermark@opacity,anchor=center] at (interior) {\tcb@box@scaled@waterbox};%
}
\def\tcb@drawspec@watermark@@clip{%
@@ -873,9 +880,11 @@
\tcbset{%
watermark opacity/.store in=\kvtcb@watermark@opacity,%
watermark color/.store in=\kvtcb@watermark@color,%
- watermark zoom/.code={\def\kvtcb@watermark@factor{#1}\let\tcb@comp@wm=\tcb@comp@wm@zoom},%
- watermark overzoom/.code={\def\kvtcb@watermark@factor{#1}\let\tcb@comp@wm=\tcb@comp@wm@overzoom},%
- watermark stretch/.code={\def\kvtcb@watermark@factor{#1}\let\tcb@comp@wm=\tcb@comp@wm@stretch},%
+%
+ watermark stretch/.code={\def\tcb@comp@wm{\tcb@comp@waterbox@stretch{#1}{\tcb@innerwidth}{\tcb@innerheight}}},%
+ watermark zoom/.code={\def\tcb@comp@wm{\tcb@comp@waterbox@zoom{#1}{\tcb@innerwidth}{\tcb@innerheight}}},%
+ watermark overzoom/.code={\def\tcb@comp@wm{\tcb@comp@waterbox@overzoom{#1}{\tcb@innerwidth}{\tcb@innerheight}}},%
+ watermark shrink/.code={\def\tcb@comp@wm{\tcb@comp@waterbox@shrink{#1}{\tcb@innerwidth}{\tcb@innerheight}}},%
%
watermark tikz/.style={overlay={\tcb@drawspec@watermark@tikz{#1}}},
watermark tikz on/.style args={#1 is #2}{overlay #1={\tcb@drawspec@watermark@tikz{#2}}},%
@@ -933,7 +942,9 @@
\tikzset{%
fill image opacity/.store in=\tcb@tikz@fill@graphics@opacity,%
- fill image opacity=1.0,%
+ fill image opacity=1,%
+ fill image scale/.store in=\tcb@tikz@fill@graphics@scale,%
+ fill image scale=1,%
fill image options/.store in=\tcb@tikz@fill@graphics@options,%
fill image options=,%
fill plain image/.style={path picture={%
@@ -941,35 +952,27 @@
}},
fill stretch image/.style={path picture={%
\tcb@process@ppbb@wh%
- \node at (path picture bounding box.center) {\expandafter\includegraphics\expandafter[\tcb@tikz@fill@graphics@options,width=\tcb@ppbb@width,height=\tcb@ppbb@height]{#1}};
+ \node at (path picture bounding box.center) {\expandafter\includegraphics\expandafter[\tcb@tikz@fill@graphics@options,%
+ width=\the\dimexpr\tcb@tikz@fill@graphics@scale\dimexpr\tcb@ppbb@width\relax,%
+ height=\the\dimexpr\tcb@tikz@fill@graphics@scale\dimexpr\tcb@ppbb@height\relax]{#1}};
}},
fill overzoom image/.style={path picture={%
\tcb@process@ppbb@wh%
\tcb@set@waterbox@to@graphics{#1}%
- \tcb@setratiorobust\tcb@scale@x{\tcb@ppbb@width}{\wd\tcb@waterbox}%
- \tcb@setratiorobust\tcb@scale@y{\tcb@ppbb@height}{\ht\tcb@waterbox+\dp\tcb@waterbox}%
- \ifdim\dimexpr\tcb@scale@x pt\relax>\dimexpr\tcb@scale@y pt\relax\let\tcb@scale@y=\tcb@scale@x\else\let\tcb@scale@x=\tcb@scale@y\fi%
- \node at (path picture bounding box.center) {\scalebox{\tcb@scale@x}[\tcb@scale@y]{\box\tcb@waterbox}};%
+ \tcb@comp@waterbox@overzoom{\tcb@tikz@fill@graphics@scale}{\tcb@ppbb@width}{\tcb@ppbb@height}%
+ \node at (path picture bounding box.center) {\tcb@box@scaled@waterbox};%
}},
fill zoom image/.style={path picture={%
\tcb@process@ppbb@wh%
\tcb@set@waterbox@to@graphics{#1}%
- \tcb@setratiorobust\tcb@scale@x{\tcb@ppbb@width}{\wd\tcb@waterbox}%
- \tcb@setratiorobust\tcb@scale@y{\tcb@ppbb@height}{\ht\tcb@waterbox+\dp\tcb@waterbox}%
- \ifdim\dimexpr\tcb@scale@x pt\relax<\dimexpr\tcb@scale@y pt\relax\let\tcb@scale@y=\tcb@scale@x\else\let\tcb@scale@x=\tcb@scale@y\fi%
- \node at (path picture bounding box.center) {\scalebox{\tcb@scale@x}[\tcb@scale@y]{\box\tcb@waterbox}};%
+ \tcb@comp@waterbox@zoom{\tcb@tikz@fill@graphics@scale}{\tcb@ppbb@width}{\tcb@ppbb@height}%
+ \node at (path picture bounding box.center) {\tcb@box@scaled@waterbox};%
}},
fill shrink image/.style={path picture={%
\tcb@process@ppbb@wh%
\tcb@set@waterbox@to@graphics{#1}%
- \tcb@setratiorobust\tcb@scale@x{\tcb@ppbb@width}{\wd\tcb@waterbox}%
- \tcb@setratiorobust\tcb@scale@y{\tcb@ppbb@height}{\ht\tcb@waterbox+\dp\tcb@waterbox}%
- \ifdim\dimexpr\tcb@scale@x pt\relax<\dimexpr\tcb@scale@y pt\relax\let\tcb@scale@y=\tcb@scale@x\else\let\tcb@scale@x=\tcb@scale@y\fi%
- \ifdim\dimexpr\tcb@scale@x pt\relax<1pt\relax%
- \node at (path picture bounding box.center) {\scalebox{\tcb@scale@x}[\tcb@scale@y]{\box\tcb@waterbox}};%
- \else%
- \node at (path picture bounding box.center) {\box\tcb@waterbox};%
- \fi%
+ \tcb@comp@waterbox@shrink{\tcb@tikz@fill@graphics@scale}{\tcb@ppbb@width}{\tcb@ppbb@height}%
+ \node at (path picture bounding box.center) {\tcb@box@scaled@waterbox};%
}},
fill tile image/.style={path picture={%
\tcb@process@ppbb%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
index aeceaf8b208..6e13a79ad82 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 2.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{2.72}
+\tcb@set@library@version{2.80}
\tcbuselibrary{skins}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
index 894d72c9bdf..b3545a560b4 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.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%% 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.72}
+\tcb@set@library@version{2.80}
\RequirePackage{amsmath}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
new file mode 100644
index 00000000000..97affc0ad60
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
@@ -0,0 +1,226 @@
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
+%% tcbhooks.code.tex: Code for adding hooks
+%%
+%% -------------------------------------------------------------------------------------------
+%% Copyright (c) 2006-2014 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% -------------------------------------------------------------------------------------------
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `author-maintained'.
+%%
+%% This work consists of all files listed in README
+%%
+%\makeatletter
+\tcb@set@library@version{2.80}
+
+\RequirePackage{xparse}[2013/12/31]
+
+\tcbset{%
+ IfNoValueTF/.code args={#1#2#3}{\IfNoValueTF{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},
+ IfValueTF/.code args={#1#2#3}{\IfValueTF{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},
+ IfBooleanTF/.code args={#1#2#3}{\IfBooleanTF{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},
+ verbatim/.style={fontupper=\ttfamily,nobeforeafter,tcbox raise base,top=0pt,bottom=0pt,left=1mm,right=1mm,boxrule=0.3mm}
+}
+
+%-- tcolorbox --
+\long\def\tcb@New@TColorBox#1#2#3{%
+ \tcb@newenvironment{#1}{#2}{\tcolorbox[#3,options@for=#1]}{\endtcolorbox}}
+
+\def\DeclareTColorBox{%
+ \let\tcb@newenvironment\DeclareDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TColorBox%
+ \tcb@process@newenvironment}
+
+\def\NewTColorBox{%
+ \let\tcb@newenvironment\NewDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TColorBox%
+ \tcb@process@newenvironment}
+
+\def\RenewTColorBox{%
+ \let\tcb@newenvironment\RenewDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TColorBox%
+ \tcb@process@newenvironment}
+
+\def\ProvideTColorBox{%
+ \let\tcb@newenvironment\ProvideDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TColorBox%
+ \tcb@process@newenvironment}
+
+%-- tcolorbox (total) --
+\long\def\tcb@New@TotalTColorBox#1#2#3#4{%
+ \expandafter\tcb@newcommand\csname#1\endcsname{#2}{\begin{tcolorbox}[#3,options@for=#1]#4\end{tcolorbox}}}
+
+\def\DeclareTotalTColorBox{%
+ \let\tcb@newcommand\DeclareDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTColorBox%
+ \tcb@process@newcommand}
+
+\def\NewTotalTColorBox{%
+ \let\tcb@newcommand\NewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTColorBox%
+ \tcb@process@newcommand}
+
+\def\RenewTotalTColorBox{%
+ \let\tcb@newcommand\RenewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTColorBox%
+ \tcb@process@newcommand}
+
+\def\ProvideTotalTColorBox{%
+ \let\tcb@newcommand\ProvideDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTColorBox%
+ \tcb@process@newcommand}
+
+%-- tcbox --
+\long\def\tcb@New@TCBox#1#2#3{%
+ \expandafter\tcb@newcommand\csname#1\endcsname{#2}{\tcbox[#3,options@for=#1]}}
+
+\def\DeclareTCBox{%
+ \let\tcb@newcommand\DeclareDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBox%
+ \tcb@process@newcommand}
+
+\def\NewTCBox{%
+ \let\tcb@newcommand\NewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBox%
+ \tcb@process@newcommand}
+
+\def\RenewTCBox{%
+ \let\tcb@newcommand\RenewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBox%
+ \tcb@process@newcommand}
+
+\def\ProvideTCBox{%
+ \let\tcb@newcommand\ProvideDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBox%
+ \tcb@process@newcommand}
+
+%-- tcbox (total) --
+\long\def\tcb@New@TotalTCBox#1#2#3#4{%
+ \expandafter\tcb@newcommand\csname#1\endcsname{#2}{\tcbox[#3,options@for=#1]{#4}}}
+
+\def\DeclareTotalTCBox{%
+ \let\tcb@newcommand\DeclareDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBox%
+ \tcb@process@newcommand}
+
+\def\NewTotalTCBox{%
+ \let\tcb@newcommand\NewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBox%
+ \tcb@process@newcommand}
+
+\def\RenewTotalTCBox{%
+ \let\tcb@newcommand\RenewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBox%
+ \tcb@process@newcommand}
+
+\def\ProvideTotalTCBox{%
+ \let\tcb@newcommand\ProvideDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBox%
+ \tcb@process@newcommand}
+
+\DeclareTotalTCBox{\tcboxverb}{ O{} v }{verbatim,#1}{#2}
+
+%-- tcboxfit --
+\long\def\tcb@New@TCBoxFit#1#2#3{%
+ \expandafter\tcb@newcommand\csname#1\endcsname{#2}{\tcboxfit[#3,options@for=#1]}}
+
+\def\DeclareTCBoxFit{%
+ \let\tcb@newcommand\DeclareDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBoxFit%
+ \tcb@process@newcommand}
+
+\def\NewTCBoxFit{%
+ \let\tcb@newcommand\NewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBoxFit%
+ \tcb@process@newcommand}
+
+\def\RenewTCBoxFit{%
+ \let\tcb@newcommand\RenewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBoxFit%
+ \tcb@process@newcommand}
+
+\def\ProvideTCBoxFit{%
+ \let\tcb@newcommand\ProvideDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBoxFit%
+ \tcb@process@newcommand}
+
+\long\def\tcb@New@TotalTCBoxFit#1#2#3#4{%
+ \expandafter\tcb@newcommand\csname#1\endcsname{#2}{\tcboxfit[#3,options@for=#1]{#4}}}
+
+\def\DeclareTotalTCBoxFit{%
+ \let\tcb@newcommand\DeclareDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBoxFit%
+ \tcb@process@newcommand}
+
+\def\NewTotalTCBoxFit{%
+ \let\tcb@newcommand\NewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBoxFit%
+ \tcb@process@newcommand}
+
+\def\RenewTotalTCBoxFit{%
+ \let\tcb@newcommand\RenewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBoxFit%
+ \tcb@process@newcommand}
+
+\def\ProvideTotalTCBoxFit{%
+ \let\tcb@newcommand\ProvideDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBoxFit%
+ \tcb@process@newcommand}
+
+
+%-- tcblisting --
+\long\def\tcb@New@TCBListing#1#2#3{%
+ \tcb@newenvironment{#1}{#2}{\tcblisting{#3,options@for=#1}}{\endtcblisting}}
+
+\def\DeclareTCBListing{%
+ \let\tcb@newenvironment\DeclareDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBListing%
+ \tcb@process@newenvironment}
+
+\def\NewTCBListing{%
+ \let\tcb@newenvironment\NewDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBListing%
+ \tcb@process@newenvironment}
+
+\def\RenewTCBListing{%
+ \let\tcb@newenvironment\RenewDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBListing%
+ \tcb@process@newenvironment}
+
+\def\ProvideTCBListing{%
+ \let\tcb@newenvironment\ProvideDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBListing%
+ \tcb@process@newenvironment}
+
+%-- tcbinputlisting --
+\long\def\tcb@New@TCBInputListing#1#2#3{%
+ \expandafter\tcb@newcommand\csname#1\endcsname{#2}{\tcbinputlisting{#3,options@for=#1}}%
+}
+
+\def\DeclareTCBInputListing{%
+ \let\tcb@newcommand\DeclareDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBInputListing%
+ \tcb@process@newcommand}
+
+\def\NewTCBInputListing{%
+ \let\tcb@newcommand\NewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBInputListing%
+ \tcb@process@newcommand}
+
+\def\RenewTCBInputListing{%
+ \let\tcb@newcommand\RenewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBInputListing%
+ \tcb@process@newcommand}
+
+\def\ProvideTCBInputListing{%
+ \let\tcb@newcommand\ProvideDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBInputListing%
+ \tcb@process@newcommand}
+
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty b/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
index c6c39d25d05..4789a631490 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.72 (2014/03/18)
+%% The LaTeX package tcolorbox - version 2.80 (2014/03/31)
%% tcolorbox.sty: Text color boxes
%%
%% -------------------------------------------------------------------------------------------
@@ -18,8 +18,8 @@
%% This work consists of all files listed in README
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tcolorbox}[2014/03/18 version 2.72 text color boxes]
-\def\tcb@version{2.72}
+\ProvidesPackage{tcolorbox}[2014/03/31 version 2.80 text color boxes]
+\def\tcb@version{2.80}
\RequirePackage{pgf}[2008/01/15]
\RequirePackage{verbatim}[2003/08/22]
@@ -187,8 +187,10 @@
savelowerto/.store in=\kvtcb@savelowerto,
savedelimiter/.estore in=\kvtcb@savedelimiter,
floatplacement/.store in=\kvtcb@floatplacement,
- float/.store in=\kvtcb@float,
+ float/.code={\def\kvtcb@float{#1}\def\tcb@float@env@begin{\@float}\def\tcb@float@env@end{\end@float}},
float/.default=\kvtcb@floatplacement,
+ float*/.code={\def\kvtcb@float{#1}\def\tcb@float@env@begin{\@dblfloat}\def\tcb@float@env@end{\end@dblfloat}},
+ float*/.default=\kvtcb@floatplacement,
nofloat/.style={float=},
before/.code={\def\kvtcb@beforebox{#1}\let\tcb@use@autoparskip=\relax},
after/.code={\def\kvtcb@afterbox{#1}\let\tcb@use@autoparskip=\relax},
@@ -973,8 +975,8 @@
\ifx\kvtcb@float\@empty%
\newenvironment{tcb@float}{\kvtcb@beforebox}{\kvtcb@afterbox}%
\else%
- \edef\float@start{\noexpand\@float{tcbfloat}[\kvtcb@float]}%
- \newenvironment{tcb@float}{\float@start}{\end@float}%
+ \edef\tcb@float@env@start{\noexpand\tcb@float@env@begin{tcbfloat}[\kvtcb@float]}%
+ \newenvironment{tcb@float}{\tcb@float@env@start}{\tcb@float@env@end}%
\fi%
\setcounter{tcbbreakpart}{1}%
% computation of total height
@@ -1109,7 +1111,7 @@
\appto\tcb@new@colopt{,code={\let\tcbcounter=\@empty\let\thetcbcounter=\@empty}}%
}%
-\def\tcb@proc@options@init#1#2{%
+\long\def\tcb@proc@options@init#1#2{%
\tcbset{new/.cd,reset@new,#1}%
\tcb@proc@counter{#2}%
\ifx\kvtcb@new@listof\@empty%
@@ -1121,6 +1123,22 @@
\kvtcb@init@hook%
}%
+\long\def\tcb@process@newtcolorbox#1#2{%
+ \def\tcb@new@colopt{}%
+ \long\def\temp@a{#2}%
+ \ifx\temp@a\@empty\relax%
+ \else%
+ \tcb@proc@options@init{#2}{#1}%
+ \fi%
+ \preto\tcb@new@colopt{savedelimiter=#1}%
+ \cslet{tcb@opt@#1}{\tcb@new@colopt}%
+ \tcb@process@newtcolorbox@continue{#1}%
+}
+
+\newcommand\tcb@process@newenvironment[2][]{%
+ \tcb@process@newtcolorbox{#2}{#1}%
+}
+
\long\def\tcb@newtcolorbox#1#2{\tcb@newenvironment{#1}{\tcolorbox[#2,options@for=#1]}{\endtcolorbox}}
\long\def\tcb@newtcolorbox@#1[#2]#3{\tcb@newenvironment{#1}[#2]{\tcolorbox[#3,options@for=#1]}{\endtcolorbox}}
@@ -1130,27 +1148,19 @@
\long\def\tcb@new@tcolorbox@#1[#2]{%
\@ifnextchar[{\tcb@newtcolorbox@@{#1}[#2]}{\tcb@newtcolorbox@{#1}[#2]}}
-\long\def\tcb@new@tcolorbox#1{%
- \preto\tcb@new@colopt{savedelimiter=#1}%
- \cslet{tcb@opt@#1}{\tcb@new@colopt}%
+\def\tcb@new@tcolorbox#1{%
\@ifnextchar[{\tcb@new@tcolorbox@{#1}}{\tcb@newtcolorbox{#1}}}
-\long\def\tcb@new@tcolorbox@opt[#1]#2{%
- \tcb@proc@options@init{#1}{#2}%
- \tcb@new@tcolorbox{#2}%
-}
-
-\long\def\new@tcolorbox{%
- \def\tcb@new@colopt{}%
- \@ifnextchar[{\tcb@new@tcolorbox@opt}{\tcb@new@tcolorbox}}
-
-\long\def\newtcolorbox{%
+\def\newtcolorbox{%
\let\tcb@newenvironment\newenvironment%
- \new@tcolorbox}
+ \let\tcb@process@newtcolorbox@continue\tcb@new@tcolorbox%
+ \tcb@process@newenvironment}
-\long\def\renewtcolorbox{%
+\def\renewtcolorbox{%
\let\tcb@newenvironment\renewenvironment%
- \new@tcolorbox}
+ \let\tcb@process@newtcolorbox@continue\tcb@new@tcolorbox%
+ \tcb@process@newenvironment}
+
% auxiliary code to remove a leading backspace
\newcommand{\tcb@remove@bs}[1]{%
@@ -1167,6 +1177,10 @@
-\number\fi\expandafter\z@}
\newcommand{\tcb@remove@bs@aux@iii}[1]{\z@}
+\newcommand\tcb@process@newcommand[2][]{%
+ \edef\tcb@temp{\noexpand\tcb@process@newtcolorbox{\tcb@remove@bs{#2}}}%
+ \tcb@temp{#1}%
+}
\long\def\tcb@newtcbox#1#2{\expandafter\tcb@newcommand\csname#1\endcsname{\tcbox[#2,options@for=#1]}}
@@ -1177,38 +1191,19 @@
\long\def\tcb@new@tcbox@#1[#2]{%
\@ifnextchar[{\tcb@newtcbox@@{#1}[#2]}{\tcb@newtcbox@{#1}[#2]}}
-\long\def\tcb@new@tcbox#1{%
- \preto\tcb@new@colopt{savedelimiter=#1}%
- \cslet{tcb@opt@#1}{\tcb@new@colopt}%
+\def\tcb@new@tcbox#1{%
\@ifnextchar[{\tcb@new@tcbox@{#1}}{\tcb@newtcbox{#1}}}
-
-\long\def\tcb@new@tcbox@bs#1{%
- \edef\tcb@temp{\noexpand\tcb@new@tcbox{\tcb@remove@bs{#1}}}%
- \tcb@temp%
-}
-
-\long\def\tcb@new@tcbox@opt#1#2{%
- \tcb@proc@options@init{#2}{#1}%
- \tcb@new@tcbox{#1}%
-}
-
-\long\def\tcb@new@tcbox@opt@bs[#1]#2{%
- \edef\tcb@temp{\noexpand\tcb@new@tcbox@opt{\tcb@remove@bs{#2}}}%
- \tcb@temp{#1}%
-}
-
-\long\def\new@tcbox{%
- \def\tcb@new@colopt{}%
- \@ifnextchar[{\tcb@new@tcbox@opt@bs}{\tcb@new@tcbox@bs}}
-
-\long\def\newtcbox{%
+\def\newtcbox{%
\let\tcb@newcommand\newcommand%
- \new@tcbox}
+ \let\tcb@process@newtcolorbox@continue\tcb@new@tcbox%
+ \tcb@process@newcommand}
-\long\def\renewtcbox{%
+\def\renewtcbox{%
\let\tcb@newcommand\renewcommand%
- \new@tcbox}
+ \let\tcb@process@newtcolorbox@continue\tcb@new@tcbox%
+ \tcb@process@newcommand}
+
\def\tcb@addcontentsline#1#2{%
\ifx\kvtcb@listentry\@empty%
@@ -1385,8 +1380,9 @@
\tcb@add@library{breakable}{tcbbreakable.code.tex}
\tcb@add@library{hooks}{tcbhooks.code.tex}
\tcb@add@library{fitting}{tcbfitting.code.tex}
+\tcb@add@library{xparse}{tcbxparse.code.tex}
-\tcb@add@library@style{many}{skins,breakable,hooks,theorems,fitting}
+\tcb@add@library@style{many}{skins,breakable,hooks,theorems,fitting,xparse}
\tcb@add@library@style{most}{many,listingsutf8}
\tcb@add@library@style{all}{many,minted,listingsutf8,documentation}