summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-03-16 20:46:53 +0000
committerKarl Berry <karl@freefriends.org>2015-03-16 20:46:53 +0000
commit1d543d293d1c8d586821f89ad4f9ef0bc5d368d7 (patch)
tree9e87b78d587685dcbac499544643fe46bd75d1f0
parent6e0f4bb68148b7067ae458d0907df1aa9f493f93 (diff)
tcolorbox (16mar15)
git-svn-id: svn://tug.org/texlive/trunk@36534 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/CHANGES25
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/README4
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdfbin361340 -> 361332 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex2
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex84
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex22
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex517
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.initoptions.tex45
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex12
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty206
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_snippet.sty183
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdfbin5287003 -> 5576333 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex356
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex10
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex42
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex280
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex9
-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.tex34
-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/tcbraster.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex4
-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.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty124
28 files changed, 1546 insertions, 447 deletions
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/CHANGES b/Master/texmf-dist/doc/latex/tcolorbox/CHANGES
index 94501ca2cc6..e6b7c245856 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2014 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
@@ -728,3 +728,26 @@ version 3.40 (2015/01/14)
* new option: 'titlerule style'
- library 'breakable':
algorithm for handling overfull boxes revised; new warnings implemented
+
+version 3.50 (2015/03/16)
+- bug fix: \tcbline was broken for \tcboxfit-boxes since 3.36
+- text color implementation changed to fix some color problems
+- before/after settings changed to detect special situations
+- 'sidebyside align': new selections 'top seam', 'center seam', 'bottom seam'
+- new options:
+ 'force nobeforeafter', 'blend before title', 'blend before title code'
+- library 'documentation':
+ 'before example', 'after example' are deprecated; 'docexample' is changed
+- new library 'external'
+ * new macros and environments:
+ 'tcbexternal', '\tcbEXTERNALIZE', 'extikzpicture', 'extcolorbox',
+ '\tcbifexternal',
+ '\newtcbexternalizeenvironment', 'renewtcbexternalizeenvironment',
+ 'newtcbexternalizetcolorbox', 'renewtcbexternalizetcolorbox'
+ * new options:
+ 'runner', 'externalize', 'force remake', '!',
+ 'name', 'externalize listing', 'externalize listing!',
+ 'externalize example', 'externalize example!',
+ 'prefix', 'environment', 'minipage', 'plain', 'compiler', 'runs',
+ 'input source on error', 'safety', 'preamble'
+- documentation structure revised
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/README b/Master/texmf-dist/doc/latex/tcolorbox/README
index 25413d9a425..2604cad3cab 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2014 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
@@ -31,6 +31,7 @@ Contents of the package
'tcolorbox.sty' LaTeX package file (style file)
'tcbbreakable.code.tex' LaTeX package file (library of tcolorbox)
'tcbdocumenation.code.tex' LaTeX package file (library of tcolorbox)
+ 'tcbexternal.code.tex' LaTeX package file (library of tcolorbox)
'tcbfitting.code.tex' LaTeX package file (library of tcolorbox)
'tcbhooks.code.tex' LaTeX package file (library of tcolorbox)
'tcblistings.code.tex' LaTeX package file (library of tcolorbox)
@@ -62,6 +63,7 @@ Alternatively, put the files to their respective locations within the TeX instal
'tcolorbox.sty' -> /tex/latex/tcolorbox
'tcbbreakable.code.tex' -> /tex/latex/tcolorbox
'tcbdocumenation.code.tex' -> /tex/latex/tcolorbox
+ 'tcbexternal.code.tex' -> /tex/latex/tcolorbox
'tcbfitting.code.tex' -> /tex/latex/tcolorbox
'tcbhooks.code.tex' -> /tex/latex/tcolorbox
'tcblistings.code.tex' -> /tex/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 1192d920622..b3e3fb5d614 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 a6c1cd73488..66582b8d98c 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%% tcolorbox-example.tex: an example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
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 e8f294be19d..64affa53651 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
@@ -30,7 +30,7 @@ This is a \textbf{tcolorbox}.
This option makes sense
for single line headings if boxes are set side by side with equal height.
Note that it is very easy to trick this adjustment.
-\begin{dispExample}
+\begin{exdispExample}[runs=2]{options_adjusted_title}
\tcbset{colback=White,arc=0mm,width=(\linewidth-4pt)/4,
equal height group=AT,before=,after=\hfill,fonttitle=\bfseries}
@@ -42,7 +42,7 @@ Now, we try again with adjusted titles:\\
\foreach \n in {xxx,ggg,AAA,\"Agypten}
{\begin{tcolorbox}[adjusted title=\n,colframe=blue!75!black]
Some content.\end{tcolorbox}}
-\end{dispExample}
+\end{exdispExample}
\end{docTcbKey}
@@ -181,7 +181,7 @@ just like any other \refEnv{tcolorbox}.
\begin{docTcbKey}[][doc new=2014-10-10]{subtitle style}{=\meta{options}}{no default, initially empty}
Adds |tcolorbox| \meta{options} to the settings for \refCom{tcbsubtitle}.
-\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\begin{exdispExample*}{options_subtitle_style}{sbs,lefthand ratio=0.6}
\begin{tcolorbox}[title=My title,
colback=red!5!white,
colframe=red!75!black,
@@ -196,7 +196,7 @@ just like any other \refEnv{tcolorbox}.
\tcbsubtitle{Second subtitle}
Further text.
\end{tcolorbox}
-\end{dispExample*}
+\end{exdispExample*}
\end{docTcbKey}
\clearpage
@@ -293,7 +293,7 @@ Now, we load the saved text:\\
If set to |true|, the lower part is visually separated from the upper part.
It depends on the chosen skin how the visualization of the separation is done.
\enlargethispage*{1cm}
-\begin{dispExample}
+\begin{exdispExample}{options_lower_separated}
% \tcbuselibrary{skins,raster}
\begin{tcbraster}[colback=red!5!white,colframe=red!75!black,
fonttitle=\bfseries,fontlower=\itshape]
@@ -335,7 +335,7 @@ This is the lower part.
\end{tcolorbox}
%
\end{tcbraster}
-\end{dispExample}
+\end{exdispExample}
\end{docTcbKey}
@@ -1808,6 +1808,7 @@ One & Two & Three \\\hline\hline
\end{dispExample}
\end{docTcbKey}
+
\clearpage
\begin{docTcbKey}{tikz upper}{\colOpt{=\meta{options}}}{style}
This style adds a centered |tikzpicture| environment to the start and end
@@ -1856,7 +1857,8 @@ One & Two & Three \\\hline\hline
\begin{dispExample}
% \usepackage{tikz}
\newtcbox{\headline}[1][]{enhanced,before=\begin{center},after=\end{center},
- fontupper=\Large\bfseries,colframe=red!50!black,colback=red!10!white,
+ ignore nobreak,fontupper=\Large\bfseries,
+ colframe=red!50!black,colback=red!10!white,
drop fuzzy shadow=yellow,tikznode upper,#1}
\headline{Important\\Headline}
@@ -1946,7 +1948,7 @@ is recommended which allows |tikz| code and gives access to
\begin{scope}[shift={([xshift=\x]frame.north west)}]
\path[draw=green!65!black,fill=green!10,line width=1mm] (0,0) arc (0:180:5mm);
\path[fill=black] (-0.2,0) arc (0:180:1mm);
- \end{scope}}}]}}
+ \end{scope}}}}}
\begin{tcolorbox}[frogbox,title=My title]
This is a \textbf{tcolorbox}.
@@ -2217,9 +2219,10 @@ This is the lower (\textit{right-handed}) part.
\end{docTcbKey}
-\begin{docTcbKey}{sidebyside align}{=\meta{alignment value}}{no default, initially |center|}
+\begin{docTcbKey}[][doc updated=2015-02-06]{sidebyside align}{=\meta{alignment value}}{no default, initially |center|}
Sets the vertical alignment for the left-handed and right-handed part.
- Feasible values are \docValue{center}, \docValue{top}, and \docValue{bottom}.
+ Feasible values are \docValue{center}, \docValue{top}, \docValue{bottom},
+ \docValue{center seam}, \docValue{top seam}, and \docValue{bottom seam}.
\begin{dispExample}
\tcbset{colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,nobeforeafter,
left=2mm,right=2mm,sidebyside,sidebyside gap=6mm,width=(\linewidth-2mm)/3}
@@ -2240,6 +2243,48 @@ This is a text which is too long for one line.
This is a short text.
\end{tcolorbox}
\end{dispExample}
+
+\clearpage
+\docValue{center}, \docValue{top}, and \docValue{bottom} are identical
+to the known corresponding |minipage| options. For example, \docValue{top}
+aligns the top lines of the lefthand and righthand side
+according to their baselines.
+While this is the preferred approach for text content, the result for
+boxed content like tables or images may not be as expected.
+
+For such content, one may use \docValue{center seam}, \docValue{top seam},
+and \docValue{bottom seam}. For example, \docValue{top seam} aligns
+the very top seam of the lefthand and righthand side.
+
+
+\begin{dispExample}
+\tcbset{colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
+ size=small,righthand width=4cm,sidebyside,sidebyside gap=6mm,lower separated=false}
+
+\begin{tcolorbox}[adjusted title=center seam,sidebyside align=center seam]
+ This is my description text for the pictures displayed on the righthand side.
+ \tcblower
+ \includegraphics[width=\linewidth/2]{goldshade}%
+ \includegraphics[width=\linewidth/2]{blueshade}
+\end{tcolorbox}
+
+\begin{tcolorbox}[adjusted title=top seam,sidebyside align=top seam]
+ This is my description text for the pictures displayed on the righthand side.
+ \tcblower
+ \includegraphics[width=\linewidth/2]{goldshade}%
+ \includegraphics[width=\linewidth/2]{blueshade}
+\end{tcolorbox}
+
+\begin{tcolorbox}[adjusted title=bottom seam,sidebyside align=bottom seam]
+ This is my description text for the pictures displayed on the righthand side.
+ \tcblower
+ \includegraphics[width=\linewidth/2]{goldshade}%
+ \includegraphics[width=\linewidth/2]{blueshade}
+\end{tcolorbox}
+\end{dispExample}
+
+
+
\end{docTcbKey}
\clearpage
@@ -2384,7 +2429,7 @@ This behavior is controlled by the keys |before| and |after|.
\end{dispListing}
\end{docTcbKey}
-\begin{docTcbKey}{noparskip}{}{style, no value}
+\begin{docTcbKey}[][doc updated=2015-03-16]{noparskip}{}{style, no value}
Sets the keys |before| and |after| to values which are
recommended, if the package |parskip| is \emph{not} used and there is no better
idea for |before| and |after|.
@@ -2420,6 +2465,15 @@ This behavior is controlled by the keys |before| and |after|.
\end{dispExample}
\end{docTcbKey}
+\enlargethispage*{1cm}
+\begin{docTcbKey}{forces nobeforeafter}{}{style, no value}
+ Forces the setting of \refKey{/tcb/nobeforeafter} even if
+ \refKey{/tcb/before} and \refKey{/tcb/after} are set to other values
+ later. Do not use this option globally unless you \emph{really} know what you do.
+ Note that embedded boxes do not inherit this forced clearance.
+\end{docTcbKey}
+
+
\clearpage
\begin{docTcbKey}{baseline}{=\meta{length}}{no default, initially |0pt|}
@@ -2491,7 +2545,7 @@ Some text\dotfill
\end{docTcbKey}
-\begin{docTcbKey}[][doc new and updated={2014-10-10}{2014-12-16}]{before skip}{=\meta{glue}}{style, no default}
+\begin{docTcbKey}[][doc new and updated={2014-10-10}{2015-03-16}]{before skip}{=\meta{glue}}{style, no default}
Inserts some vertical space of the given \meta{glue} before the colored box.
This style sets \refKey{/tcb/before}.
\begin{dispExample*}{sbs,lefthand ratio=0.6}
@@ -2503,7 +2557,7 @@ Some text.
\end{dispExample*}
\end{docTcbKey}
-\begin{docTcbKey}[][doc new and updated={2014-10-10}{2014-12-16}]{after skip}{=\meta{glue}}{style, no default}
+\begin{docTcbKey}[][doc new and updated={2014-10-10}{2015-03-16}]{after skip}{=\meta{glue}}{style, no default}
Inserts some vertical space of the given \meta{glue} after the colored box.
This style sets \refKey{/tcb/after}.
\begin{dispExample*}{sbs,lefthand ratio=0.6}
@@ -3358,6 +3412,10 @@ box content.
\clearpage
\subsection{Externalization}
+\begin{marker}
+See \Fullref{sec:external} for the \mylib{external} library of |tcolorbox|.
+\end{marker}
+
If the \emph{externalization} library of the \texttt{tikz} package is used
and \refKey{/tcb/graphical environment} is set to |tikzpicture|,
a |tcolorbox| could trigger the externalization process which will arise
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 27c4e505ded..5542303fe98 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex
@@ -469,11 +469,19 @@ with another note.
\clearpage
\subsection{Option Keys of the Library}
-\begin{docTcbKey}{docexample}{}{style, no value}
+\begin{docTcbKey}[][doc updated=2015-03-16]{docexample}{}{style, no value}
Sets the style for \refEnv{dispExample} and \refEnv{dispListing}
with the colors |ExampleBack| and |ExampleFrame|.
To change the appearance of the examples, this style can be
redefined.
+\begin{dispListing}
+% Predefined style:
+\tcbset{
+ docexample/.style={colframe=ExampleFrame,colback=ExampleBack,
+ before skip=\medskipamount,after skip=\medskipamount,
+ fontlower=\footnotesize}
+}
+\end{dispListing}
\end{docTcbKey}
\begin{docTcbKey}{documentation listing options}{=\meta{key list}}{no default,\\\hspace*{\fill} initially |style=tcbdocumentation|}
@@ -509,18 +517,26 @@ with another note.
Used for \refKey{/tcb/listing engine}|=minted| only.
\end{docTcbKey}
+\begin{marker}
+The following two keys are deprecated and without function (v3.50 and above).
+Use \refKey{/tcb/before} and \refKey{/tcb/after} with appropriate values
+instead. Also see \refKey{/tcb/docexample}.
+\end{marker}
-\begin{docTcbKey}{before example}{=\meta{macros}}{no default, initially \cs{par}\cs{smallskip}}
+\begin{docTcbKey}[][doc updated=2015-03-16]{before example}{=\meta{macros}}{no default, initially empty}
+\smallskip\begin{deprecated}
Sets the \meta{macros} which are executed before \refEnv{dispExample} and \refEnv{dispListing}
additional to \refKey{/tcb/before}.
+\end{deprecated}
\end{docTcbKey}
\begin{docTcbKey}{after example}{=\meta{macros}}{no default, initially empty}
+\smallskip\begin{deprecated}
Sets the \meta{macros} which are executed after \refEnv{dispExample} and \refEnv{dispListing}
additional to \refKey{/tcb/after}.
+\end{deprecated}
\end{docTcbKey}
-
\clearpage
\begin{docTcbKey}[][doc new=2015-01-09]{index command}{=\meta{macro}}{no default, initially \cs{index}}
Replaces the internally used \cs{index} macro by the given \meta{macro}.
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex
new file mode 100644
index 00000000000..c8736787d2c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex
@@ -0,0 +1,517 @@
+% !TeX root = tcolorbox.tex
+% include file of tcolorbox.tex (manual of the LaTeX package tcolorbox)
+\clearpage
+\section{Library \mylib{external}}\label{sec:external}
+The library is loaded by a package option or inside the preamble by:
+\begin{dispListing}
+\tcbuselibrary{external}
+\end{dispListing}
+
+The purpose of this library is to support externalization of document
+snippets like graphics or boxes which can be compiled stand-alone.
+These snippets are written to external files, compiled and the resulting
+pdf files are included to the main document as images.
+The whole procedure saves compilation time, if such a snippet is costly to
+compile but needs to compile just once or very seldom.
+
+There are very good alternatives to this library. One should consider
+the |standalone| package or the \tikzname\ externalization library instead.
+The \mylib{external} library is something in between and can be seen as
+poor man variant of the \tikzname\ externalization library.
+
+The main differences between \tikzname\ externalization and \mylib{external} are:
+\begin{itemize}
+\item\tikzname\ |external| compiles the whole original document in a sophisticated
+ way while \mylib{external} uses only the preamble or a part of the preamble
+ of the original document.
+\item\tikzname\ |external| can automatically externalize all |tikzpicture|
+ environments while \mylib{external} externalizes marked snippets only.
+\item Code snippets to be externalized by \mylib{external} are not restricted to
+ |tikzpicture| environments. But these snippets have to be stand-alone without
+ dependencies to the rest of the document.
+\end{itemize}
+Why should one use \mylib{external} instead of the more powerful \tikzname\ |external|?
+One reason could be compilation speed, but the main reason for creating the
+library at all was that \tikzname\ |external| tends to choke on complicated
+documents where the sophisticated mechanism stumbles. Since \mylib{external} does
+not use the original document body for compilation, this cannot happen.
+
+\begin{marker}
+Source snippets are compiled, if their |md5| checksum has changed.
+They are not compiled automatically, if option settings are changed or
+anything outside the snippet is changed.
+Use \refKey{/tcb/external/force remake} to force compilation in this case
+or simply delete the externalized snippets.
+\end{marker}
+
+
+\clearpage
+\subsection{Preparation of a Document for Externalization}\label{subsec:external_preparation}
+
+The preamble of the main document has to contain the \refCom{tcbEXTERNALIZE}
+command. Without this command, no externalization operation will be
+executed.
+
+\begin{docCommand}[doc new=2015-03-11]{tcbEXTERNALIZE}{}
+ It is mandatory for externalization that this command is used once
+ in the preamble of the main document. Every setting \emph{before}
+ \refCom{tcbEXTERNALIZE} will also be used for compiling an external
+ snippet. Every setting \emph{after} \refCom{tcbEXTERNALIZE} will be
+ ignored for compiling an external snippet.
+ Place this command right before |\begin{document}|, if you are not
+ absolutely sure about another place.
+
+ The main document has to look like the following:
+
+\begin{dispListing}
+\documentclass[a4paper]{book}% for example
+\usepackage{...}% anything
+% ...
+% Tpyically, all or the very most settings for the document.
+
+\tcbEXTERNALIZE% Typically, just before \begin{document}
+
+% Additional settings which are ABSOLUTELY irrelevant for the
+% stand-alone snippets.
+%
+\begin{document}
+ % The document.
+ % This also contains the marked snippets for externalization.
+\end{document}
+\end{dispListing}
+\end{docCommand}
+
+During compilation, a \refKey{/tcb/external/runner} file
+is dynamically created (several times). This is the actual main file for
+compiling an externalized snippet.
+
+\begin{extTcbKey}[][doc new=2015-03-11]{runner}{=\meta{file name}}{no default,
+ initially \texttt{\cs{jobname}\detokenize{_run.tex}}}
+Sets the \meta{file name} for dynamically created |runner| file.
+This is the actual main file for a document snippet.
+Typically, the initial setting is not needed to be changed.
+\begin{dispListing}
+\tcbset{external/runner=myrunner.tex}
+\end{dispListing}
+\end{extTcbKey}
+
+\begin{extTcbKey}[][doc new=2015-03-11]{prefix}{=\meta{text}}{no default,
+ initially \texttt{external/}}
+The \meta{text} is prefixed to any \refKey{/tcb/external/name} for an
+externalization snippet. The initial setting implies saving all snippets
+into an |external/| subdirectory. Depending on the operation system,
+the subdirectory may have to be created manually once.
+\begin{dispListing}
+% Use a 'real' prefix instead of writing into a subdirectory:
+\tcbset{external/prefix=ext_}
+\end{dispListing}
+\end{extTcbKey}
+
+
+\begin{extTcbKey}[][doc new=2015-03-11]{externalize}{\colOpt{=true\textbar false}}{default |true|,
+ initially |true|}
+If set to |true|, the marked snippets are compiled if necessary.
+If set to |false|, the marked snippets are not compiled but included as text.
+\refKey{/tcb/external/externalize} can only be used after \refCom{tcbEXTERNALIZE}.
+\end{extTcbKey}
+
+\begin{extTcbKey}[][doc new=2015-03-11]{force remake}{\colOpt{=true\textbar false}}{default |true|,
+ initially |false|}
+If set to |true|, the marked snippets are always compiled.
+If set to |true|, the marked snippets are compiled only if necessary.
+The necessity is given, if a compiled pdf file is missing or the
+|md5| checksum of the source snippet has changed.
+\end{extTcbKey}
+
+\begin{extTcbKey}[][doc new=2015-03-11]{!}{}{style}
+ Shortcut for setting \refKey{/tcb/external/force remake} to |true|.
+\end{extTcbKey}
+
+
+
+\subsection{Marking Externalization Snippets}\label{subsec:external_marking}
+
+\begin{docEnvironment}[doc new=2015-03-11]{tcbexternal}{\oarg{options}\marg{name}}
+Marks the environment content as a snippet for externalization.
+Typically, the content is a |tikzpicture| or something similar.
+It is important to note that the snippet should not have any dependencies
+with the rest of the document, e.g. referencing counters or setting counters
+is not possible.
+The \meta{name} is automatically prefixed with \refKey{/tcb/external/prefix}.
+In combination, this has to be a unique file name. It is advised to not
+use spaces or umlauts for the name.
+The \meta{options} are keys from the |/tcb/external/| key tree.
+
+\begin{dispExample}
+\begin{tcbexternal}{example_tikzpicture}
+ \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{tcbexternal}
+\end{dispExample}
+
+\medskip
+
+If a \refEnv{tcolorbox} is externalized, one should use
+\refKey{/tcb/nobeforeafter} for the box. Indention and distances to
+the text before and after have to be given separately outside the
+\refEnv{tcbexternal} environment.
+
+\begin{dispExample}
+\noindent%
+\begin{tcbexternal}[minipage]{example_tcolorbox}
+ \begin{tcolorbox}[nobeforeafter,enhanced,
+ fonttitle=\bfseries,title=Externalized Box,
+ colframe=red!50!black,drop fuzzy shadow,
+ interior style={fill overzoom image=goldshade.png}]
+ This complete tcolorbox is externalized. One cannot use numbered
+ boxes here. Note the \texttt{minipage} option which tells the
+ current line width to the external snippet.
+ \end{tcolorbox}
+\end{tcbexternal}
+\end{dispExample}
+
+\begin{dispExample}
+\begin{tcolorbox}[nobeforeafter,enhanced,
+ fonttitle=\bfseries,title=Externalized Box,
+ colframe=blue!50!black,
+ interior style={fill overzoom image=blueshade.png}]
+ \begin{tcbexternal}[minipage]{example_tcolorbox2}
+ \color{white}%
+ The interior of the tcolorbox is externalized.
+ One can use numbered boxes without problem.
+ Note that the text color has to be set for the text manually
+ since it is converted into picture.
+ \end{tcbexternal}
+\end{tcolorbox}
+\end{dispExample}
+
+\begin{dispExample}
+\begin{tcbexternal}[minipage]{example_tabularx}
+ \newcolumntype{Y}{>{\raggedleft\arraybackslash}X}%
+ \begin{tabularx}{\linewidth}{|l||Y|Y|Y|Y||Y|}\hline
+ Group & One & Two & Three & Four & Sum\\\hline\hline
+ Red & 1000.00 & 2000.00 & 3000.00 & 4000.00 & 10000.00\\\hline
+ Green & 2000.00 & 3000.00 & 4000.00 & 5000.00 & 14000.00\\\hline
+ Blue & 3000.00 & 4000.00 & 5000.00 & 6000.00 & 18000.00\\\hline\hline
+ Sum & 6000.00 & 9000.00 & 12000.00 & 15000.00 & 42000.00\\\hline
+ \end{tabularx}
+\end{tcbexternal}
+\end{dispExample}
+
+
+\end{docEnvironment}
+
+\begin{extTcbKey}[][doc new=2015-03-11]{name}{=\meta{name}}{no default,
+ initially \texttt{unnamed}}
+The \meta{name} is automatically prefixed with \refKey{/tcb/external/prefix}.
+In combination, this has to be a unique file name for externalization.
+Typically, this key is not used directly but is set indirectly as
+mandatory parameter, see \refEnv{tcbexternal}.
+\end{extTcbKey}
+
+
+\clearpage
+\begin{docEnvironment}[doc new=2015-03-11]{extcolorbox}{\oarg{options}\marg{name}\oarg{tcolorbox options}}
+ This is an externalized version of \refEnv{tcolorbox} created
+ using\\ \refCom{newtcbexternalizetcolorbox}:
+\begin{dispListing}
+\newtcbexternalizetcolorbox{extcolorbox}{tcolorbox}{}{}
+\end{dispListing}
+ \meta{options} and \meta{name} are given to the underlying \refEnv{tcbexternal}
+ environment, while \meta{tcolorbox options} are given to \refEnv{tcolorbox}.
+
+ \begin{marker}
+ Note that you should not redefine \refKey{/tcb/before} and \refKey{/tcb/after}
+ inside the \meta{tcolorbox options}, since the
+ externalized version would not be identical to the non-externalized
+ otherwise.
+ \end{marker}
+
+\begin{dispExample}
+\begin{extcolorbox}[minipage]{example_extcolorbox}
+ [ enhanced,colframe=red!50!black,colback=yellow!10,
+ fonttitle=\bfseries,drop fuzzy shadow,
+ title=My external box ]
+
+ This box is completely externalized.
+
+ \begin{tcolorbox}[colframe=blue,colback=blue!5,before skip=6pt]
+ Inner box.
+ \end{tcolorbox}
+\end{extcolorbox}
+\end{dispExample}
+\end{docEnvironment}
+
+\begin{marker}
+\begin{itemize}
+\item\textbf{Never} externalize numbered boxes.
+\item\textbf{Never} externalize boxes which contain references to other
+ things, e.g. using |\ref| or |\cite|.
+\item\textbf{Never} externalize breakable boxes.
+\end{itemize}
+\kern6pt
+\end{marker}
+
+\clearpage
+\begin{docEnvironment}[doc new=2015-03-11]{extikzpicture}{\oarg{options}\marg{name}\oarg{tikz options}}
+ This is an externalized version of |tikzpicture| created
+ using\\ \refCom{newtcbexternalizeenvironment}:
+\begin{dispListing}
+\newtcbexternalizeenvironment{extikzpicture}{tikzpicture}{}{}{}
+\end{dispListing}
+ \meta{options} and \meta{name} are given to the underlying \refEnv{tcbexternal}
+ environment, while \meta{tikz options} are given to |tikzpicture|.
+
+\begin{dispExample}
+\begin{center}
+\begin{extikzpicture}[
+ preamble={\usepackage{pgfplots}}, % add package for external graph
+ input source on error=false, % do not load source on error
+]{example_pgfplots}
+ \pgfplotsset{width=12cm}
+ \begin{axis}[3d box=background,grid=major,
+ xlabel=$x$, ylabel=$y$, zlabel=$z$, view/h=40,
+ mesh/interior colormap name=hot,
+ colormap/blackwhite,
+ z buffer=sort,domain=0:90,y domain=0:60,
+ zmin=0,zmax=2,z post scale=1.2,
+ ]
+ \addplot3[surf,mesh/interior colormap name=blackwhite,
+ colormap/hot,] ( {cos(x)},{sin(x)}, {2*sin(y)} );
+ \addplot3[surf] ( {2*cos(x)*cos(y)},{2*sin(x)*cos(y)}, {2*sin(y)} );
+ \end{axis}
+\end{extikzpicture}
+\end{center}
+\end{dispExample}
+
+\end{docEnvironment}
+
+
+
+
+\clearpage
+\begin{docTcbKey}[][doc new=2015-03-11]{externalize listing}{=\meta{name}}{style, no default}
+ The text content of a \refEnv{tcblisting} is externalized with the
+ given \meta{name}. Note that the listing part is not externalized.
+\end{docTcbKey}
+
+
+\begin{dispExample}
+\begin{tcblisting}{externalize listing=example_listing,
+ bicolor,colback=yellow!10,colframe=yellow!50!black,
+ colbacklower=white,center lower}
+\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{tcblisting}
+\end{dispExample}
+
+
+\begin{docTcbKey}[][doc new=2015-03-11]{externalize listing!}{=\meta{name}}{style, no default}
+Combination of \refKey{/tcb/externalize listing} and \refKey{/tcb/external/force remake}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-03-11]{externalize example}{=\meta{name}}{style, no default}
+ The text content of a \refEnv{dispExample*} is externalized with the
+ given \meta{name}. Note that the listing part is not externalized.
+
+\begin{dispExample}
+\begin{dispExample*}{sidebyside,externalize example=example_example}
+\tikz\path[shading=ball,
+ ball color=red] circle (7mm);
+\end{dispExample*}
+\end{dispExample}
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-03-11]{externalize example!}{=\meta{name}}{style, no default}
+Combination of \refKey{/tcb/externalize example} and \refKey{/tcb/external/force remake}.
+\end{docTcbKey}
+
+\clearpage
+\subsection{Customization}\label{subsec:external_custom}
+
+\begin{extTcbKey}[][doc new=2015-03-11]{safety}{=\meta{length}}{no default,
+ initially |2mm|}
+The snippet box is surrounded with a safety border with a thickness of
+\meta{length}. This border is automatically trimmed during picture inclusion.
+The reason for this mechanism is to catch box content which
+extrudes over the bounding box. For example, shadows of a |tcolorbox| are
+painted outside the bounding box and would be lost otherwise.
+\end{extTcbKey}
+
+\begin{extTcbKey}[][doc new=2015-03-11]{environment}{=\meta{env}}{no default, initially unset}
+Surrounds the exported snippet text with an environment \meta{env} without
+parameters.
+Note that this option is ignored for \refKey{/tcb/externalize listing}.
+\end{extTcbKey}
+
+
+\begin{extTcbKey}[][doc new=2015-03-11]{minipage}{\colOpt{=\meta{length}}}{default \texttt{\cs{linewidth}},
+ initially unset}
+Surrounds the exported snippet text with a minipage. The optional \meta{length}
+parameter sets the width of the minipage. Note that the default width is the
+current line width of the main document.
+See \refEnv{tcbexternal} for examples.
+Note that this option is ignored for \refKey{/tcb/externalize listing}.
+\end{extTcbKey}
+
+
+\begin{extTcbKey}[][doc new=2015-03-11]{plain}{}{no value, initially set}
+ Removes any text which was set to surround the snippet.
+ This removes the setting of \refKey{/tcb/external/minipage}, but is
+ independent of \refKey{/tcb/external/safety}.
+\end{extTcbKey}
+
+
+\begin{extTcbKey}[][doc new=2015-03-11]{compiler}{=\meta{text}}{no default,
+ initially \texttt{pdflatex}}
+ Sets the name of the compiler for the snippets. Note that this compiler
+ has to support the |\pdfmdfivesum| primitive e.g. using the
+ |pdftexcmds| package. This should work for |xelatex| and |lualatex|.
+\end{extTcbKey}
+
+\begin{extTcbKey}[][doc new=2015-03-11]{runs}{=\meta{number}}{no default,
+ initially |1|}
+ Sets the number of compiler runs for the snippet.
+\begin{dispExample}
+\begin{tcbexternal}[minipage,runs=2]{example_raster}
+ \begin{tcbitemize}[raster equal height,
+ size=small,colframe=red!50!black,colback=red!10!white]
+ \tcbitem One
+ \tcbitem \Huge Two
+ \tcbitem Three
+ \tcbitem Four
+ \end{tcbitemize}
+\end{tcbexternal}
+\end{dispExample}
+\end{extTcbKey}
+
+
+\begin{extTcbKey}[][doc new=2015-03-11]{input source on error}{\colOpt{=true\textbar false}}{default |true|,
+ initially |true|}
+If set to |true|, the source code of the snippet is loaded instead of
+the failed pdf picture. Typically, this will lead to an error stop at the
+faulty place of the source and such helps detecting the cause.
+If the source input compiles without error, the document setup
+may be incorrect, see \Fullref{subsec:external_preparation}.
+Maybe, the |external/| subdirectory has to be created manually in this case,
+see \refKey{/tcb/external/prefix}.\par
+If the option is set to |false|, the compilation stops immediately on an error.
+The log file of the external snippet has to be consulted for error messages
+in this case.
+\end{extTcbKey}
+
+
+\clearpage
+\begin{extTcbKey}[][doc new=2015-03-11]{preamble}{=\meta{macro}}{no default,
+ initially unset}
+ The give \meta{macro} is added to the preamble of the snippet document.
+ It is not used for compilation of the main document.
+\end{extTcbKey}
+
+
+\begin{extTcbKey}[][doc new=2015-03-16]{clear preamble}{}{no value}
+ Removes all additional \refKey{/tcb/external/preamble} settings.
+\end{extTcbKey}
+
+
+
+\begin{docCommand}[doc new=2015-03-11]{tcbifexternal}{\marg{true}\marg{false}}
+ Expands to \meta{true}, if executed during snippet compilation,
+ and to \meta{false}, if executed during main document compilation.
+ This can be used \emph{before} \refCom{tcbEXTERNALIZE} to
+ give different setting to snippet and main document.
+\begin{dispListing}
+\tcbifexternal{
+ \usepackage{onlyforexternal}
+}{
+ \usepackage{onlyformain}
+}
+\end{dispListing}
+\end{docCommand}
+
+
+
+\begin{docCommand}[doc new=2015-03-11]{newtcbexternalizeenvironment}{\marg{newenv}\marg{env}\marg{options}\marg{begin}\marg{end}}
+ Creates a new environment \meta{newenv} which is based on
+ \refEnv{tcbexternal}. This enviroment takes \emph{at least}
+ one optional parameter and one mandatory parameter.
+ These two parameters are passed to \refEnv{tcbexternal}.
+ Further, the given \meta{options} are always added to the option list of \refEnv{tcbexternal}.\par
+ The environment content is externalized and the external snippet is surrounded
+ by an environment \meta{env}. All further parameters of \meta{newenv}
+ are given to \meta{env} as parameters.\par
+ The included image is prepended by \meta{begin} and appended by \meta{end}.\par
+ \refEnv{extikzpicture} is an example application
+ for \refCom{newtcbexternalizeenvironment}.
+
+\begin{dispExample}
+\newtcbexternalizeenvironment{extabular}{tabular}{}{\par\centering}{\par}
+
+\begin{extabular}{example_tabular}{|l|p{6cm}|r|}\hline
+A & B & C\\\hline
+a & This table is externalized as snippet. Obviously,
+ this only makes sense for highly complex tables.
+& b\\\hline
+\end{extabular}
+\end{dispExample}
+\end{docCommand}
+
+
+\begin{docCommand}[doc new=2015-03-11]{renewtcbexternalizeenvironment}{\marg{newenv}\marg{env}\marg{options}\marg{begin}\marg{end}}
+ Identical to \refCom{newtcbexternalizeenvironment}, but the environment \meta{newenv}
+ is created by |\renewenvironment| instead of |\newenvironment|.
+\end{docCommand}
+
+
+\clearpage
+\begin{docCommand}[doc new=2015-03-11]{newtcbexternalizetcolorbox}{\marg{newenv}\marg{env}\marg{options}\marg{begin end options}}
+ Creates a new environment \meta{newenv} which is based on
+ \refEnv{tcbexternal}. This enviroment takes \emph{at least}
+ one optional parameter and one mandatory parameter.
+ These two parameters are passed to \refEnv{tcbexternal}.
+ Further, the given \meta{options} are always added to the option list of \refEnv{tcbexternal}.\par
+ The environment content is externalized and the external snippet is surrounded
+ by an environment \meta{env}. All further parameters of \meta{newenv}
+ are given to \meta{env} as parameters.
+ \textbf{In contrast to \refCom{newtcbexternalizeenvironment}, the
+ environment \meta{env} is intended to be based on \refEnv{tcolorbox}
+ or \refEnv{tcblisting}.}\par
+ The \meta{begin end options} are options for settings the space before
+ and after the included image using \refKey{/tcb/before}, \refKey{/tcb/before skip},
+ \refKey{/tcb/after}, or \refKey{/tcb/after skip}.
+ \begin{marker}
+ Use the exact identical values for \refKey{/tcb/before} and \refKey{/tcb/after}
+ inside \meta{begin end options} as they where used for definition of
+ \meta{env}! Otherwise, externalized and non-externalized version will have
+ different spacings.
+ \end{marker}
+ \refEnv{extcolorbox} is an example application for\refCom{newtcbexternalizetcolorbox}.
+
+
+\inputpreamblelisting{M}
+
+{
+\tcbset{external/preamble={\input{tcolorbox_preamble_M.tex}}}
+\begin{dispExample}
+\begin{exmyownlisting}{example_mylisting}% <- name for the external file
+ {My externalized example box}
+This is my \LaTeX\ box.
+\end{exmyownlisting}
+\end{dispExample}
+}
+\end{docCommand}
+
+
+\begin{docCommand}[doc new=2015-03-11]{renewtcbexternalizetcolorbox}{\marg{newenv}\marg{env}\marg{options}\marg{begin end options}}
+ Identical to \refCom{newtcbexternalizetcolorbox}, but the environment \meta{newenv}
+ is created by |\renewenvironment| instead of |\newenvironment|.
+\end{docCommand}
+
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 57500d9ffbf..d33aebfe9e0 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.initoptions.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.initoptions.tex
@@ -235,6 +235,51 @@ Feasible values for \meta{name} are:
{\tcbusetemp}
+
+\clearpage
+\begin{docTcbKey}[][doc new=2015-03-13]{blend before title}{=\meta{value}}{no default, initially \docValue{colon}}
+ This option formats the title output of \refKey{/tcb/new/blend into}.
+ Note that this is a common |tcolorbox| option which should be set
+ globally or in the normal option part of \refCom{newtcolorbox}.
+
+Feasible values for \meta{value} are:
+\begin{itemize}
+\item\docValue{colon}: use name/number plus colon.
+\item\docValue{dash}: use name/number plus dash.
+\item\docValue{colon hang}: use name/number plus colon with hanging indent.
+\item\docValue{dash hang}: use name/number plus dash with hanging indent.
+\end{itemize}
+
+\begin{dispListing}
+\newtcolorbox[blend into=figures]{myfigure}[2][]{float=htb,capture=hbox,
+ blend before title=dash hang,title={#2},every float=\centering,#1}
+
+\begin{myfigure}{A tcolorbox figure with quite a long title}
+ \includegraphics[height=5cm]{lichtspiel.jpg}
+\end{myfigure}
+\end{dispListing}
+{\tcbusetemp}
+\end{docTcbKey}
+
+\clearpage
+\begin{docTcbKey}[][doc new=2015-03-13]{blend before title code}{=\meta{code}}{no default}
+ This option formats the title output of \refKey{/tcb/new/blend into}.
+ The \meta{code} takes one parameter, the name/number.
+ Use this, if \refKey{/tcb/blend before title} is not flexible enough.
+
+\begin{dispListing}
+\newtcolorbox[blend into=figures]{myfigure}[2][]{float=htb,capture=hbox,
+ blend before title code={\fbox{##1}\ },title={#2},every float=\centering,#1}
+
+\begin{myfigure}{A tcolorbox figure}
+ \includegraphics[height=6cm]{lichtspiel.jpg}
+\end{myfigure}
+\end{dispListing}
+{\tcbusetemp}
+\end{docTcbKey}
+
+
+
\clearpage
\subsection{Lists of \texttt{tcolorbox}es}\label{sec:listsof}
For figures and tables, \LaTeX\ provides the |\listoffigures| and
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 6cb0825b13e..7161bed29ac 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
@@ -142,7 +142,12 @@ The following keys are used inside |\tcbuselibrary| respectively
see Section~\ref{sec:xparse} from page~\pageref{sec:xparse}.
\end{docTcbKey}
+\begin{docTcbKey}[library]{external}{}{\mylib{external}}
+ Provides externalization support for stand-alone document snippets,
+ see \Fullref{sec:external}.
+\end{docTcbKey}
+\clearpage
\begin{docTcbKey}[library]{documentation}{}{\mylib{documentation}}
Provides additional
macros for typesetting \LaTeX\ documentations
@@ -150,7 +155,6 @@ The following keys are used inside |\tcbuselibrary| respectively
from page~\pageref{sec:documentation}.
\end{docTcbKey}
-\clearpage
\begin{docTcbKey}[library]{many}{}{style, no value}
Loads the libraries \mylib{skins}, \mylib{breakable}, \mylib{raster}, \mylib{hooks},
\mylib{theorems}, \mylib{fitting}, and \mylib{xparse}.
@@ -172,7 +176,8 @@ The following keys are used inside |\tcbuselibrary| respectively
\end{docTcbKey}
-\begin{tcolorbox}[title={Package \texttt{tcolorbox}},center title,fonttitle=\bfseries,arc=0pt,
+\begin{extcolorbox}[runs=2]{intro_packageoverview}
+ [title={Package \texttt{tcolorbox}},center title,fonttitle=\bfseries,arc=0pt,
colback=red!10!white,
interior style={fill tile image*={width=2cm}{pink_marble.png},fill image opacity=0.5},
colframe=red!50!black]
@@ -188,6 +193,7 @@ The following keys are used inside |\tcbuselibrary| respectively
\mylib{theorems}\\
\mylib{fitting}\\
\mylib{hooks}\\
+ \mylib{external}\\
\mylib{xparse}
\tcbitem[adjusted title=Advanced Listings]
\mylib{listings}\\
@@ -197,5 +203,5 @@ The following keys are used inside |\tcbuselibrary| respectively
\tcbitem[adjusted title=Documentation]
\mylib{documentation}
\end{tcbitemize}
-\end{tcolorbox}
+\end{extcolorbox}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty
new file mode 100644
index 00000000000..bb8cc39535a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty
@@ -0,0 +1,206 @@
+% !TeX root = tcolorbox.tex
+% include file (style) of tcolorbox.tex (manual of the LaTeX package tcolorbox)
+\RequirePackage[T1]{fontenc}
+\RequirePackage[latin1]{inputenc}
+\RequirePackage[english]{babel}
+\RequirePackage{lmodern,parskip,array,ifthen,calc}
+\RequirePackage{amsmath,amssymb}
+\RequirePackage[svgnames,table,hyperref]{xcolor}
+\RequirePackage{tikz}
+\RequirePackage{varioref}
+\RequirePackage[pdftex,bookmarks,raiselinks,pageanchor,hyperindex,colorlinks]{hyperref}
+\RequirePackage{varwidth,cleveref,incgraph}
+
+\RequirePackage[a4paper,left=2.5cm,right=2.5cm,top=1.5cm,bottom=1.5cm,
+ marginparsep=3mm,marginparwidth=18mm,
+ headheight=0mm,headsep=0cm,
+ footskip=1.5cm,includeheadfoot%,showframe
+ ]{geometry}
+\RequirePackage{fancyhdr}
+\fancyhf{}
+\fancyfoot[C]{\thepage}%
+\renewcommand{\headrulewidth}{0pt}
+\renewcommand{\footrulewidth}{0pt}
+\pagestyle{fancy}
+\tolerance=2000%
+\setlength{\emergencystretch}{20pt}%
+
+
+\usetikzlibrary{shadings,shadows}
+\usetikzlibrary{decorations.pathmorphing}
+\usetikzlibrary{patterns}
+\usetikzlibrary{spy}
+\usetikzlibrary{arrows.meta}
+
+\RequirePackage{array,tabularx}
+\RequirePackage{amsmath}
+\RequirePackage{lipsum}
+\RequirePackage{empheq}
+
+%\RequirePackage[cache]{minted}% minted 2.0
+
+\RequirePackage{changepage}
+\strictpagecheck
+
+\providecommand{\tcbpkgprefix}{}
+\RequirePackage[all]{\tcbpkgprefix tcolorbox}
+\RequirePackage[extendedchars,encoding,filenameencoding=utf-8]{grffile}
+
+\tcbset{skin=enhanced,
+ doc head={colback=yellow!10!white,interior style=fill},
+ doc head key={colback=magenta!5!white,interior style=fill},
+ color key=DarkViolet,
+ color value=Teal,
+ color color=Teal,
+ color counter=Orange!85!black,
+ color length=Orange!85!black,
+ index colorize,
+ index annotate,
+}
+\urlstyle{sf}
+
+\tcbmakedocSubKey{docTcbKey}{tcb}
+\tcbmakedocSubKey{langTcbKey}{tcb/doclang}
+\tcbmakedocSubKey{newTcbKey}{tcb/new}
+\tcbmakedocSubKey{boxTcbKey}{tcb/boxtitle}
+\tcbmakedocSubKey{extTcbKey}{tcb/external}
+\tcbmakedocSubKey{docTikzKey}{tikz}
+
+\def\tikzname{Ti\emph{k}Z}
+
+\makeatletter
+\newrobustcmd{\tcbIndexPrintSkinCA}[1]{\tcb@Index@Print@CA{#1}{\kvtcb@col@key}{Skin}}
+\newrobustcmd{\tcbIndexPrintSkinC}[1]{\tcb@Index@Print@C{#1}{\kvtcb@col@key}}
+\def\tcb@index@Skin#1{\iftcb@doc@toindex\index{#1\idx@actual\tcbIndexPrintSkinCA{#1}}\index{Skins\idx@level#1\idx@actual\tcbIndexPrintSkinC{#1}}\fi}%
+
+\newenvironment{docSkin}[1]{\begin{tcb@manual@entry}%
+ \begin{tcb@doc@head}{colback=magenta!5!white,interior style=fill}%
+ \hypertarget{skin:#1}{\tcb@Print@Key{/tcb/skin=}\tcb@Print@Val{#1}\tcb@index@Skin{#1}\protected@edef\@currentlabel{#1}\label{skin:#1}\hfill(skin)}%
+ \end{tcb@doc@head}}%
+ {\end{tcb@manual@entry}}
+\def\refSkin{\tcb@ref@doc{skin}}
+\makeatother
+
+\newtcolorbox{marker}[1][]{marker,#1}
+
+\renewcommand*{\tcbdocnew}[1]{\textcolor{green!50!black}{\sffamily\bfseries N} #1}
+\renewcommand*{\tcbdocupdated}[1]{\textcolor{blue!75!black}{\sffamily\bfseries U} #1}
+
+\newcounter{texexp}
+\newcounter{texercise}
+\newcounter{mytheorem}[section]
+
+\newcounter{myexample}
+
+\newcounter{example}
+\newlength{\examlen}
+\newsavebox\mysavebox
+
+\lstdefinestyle{mydocumentation}{style=tcbdocumentation,
+ classoffset=0,
+ texcsstyle=*\color{blue},
+ % LaTeX and other packages
+ moretexcs={arrayrulecolor,draw,includegraphics,ifthenelse,isodd,lipsum,path,pgfkeysalso},
+ classoffset=1,
+ % tcolorbox macros
+ moretexcs={% core
+ endtcolorbox,endtcbverbatimwrite,newtcolorbox,newtcbox,newtcboxfit,tcbusetemp,tcbtitle,tcbtitletext,
+ tcblower,tcbox,tcboxfit,tcbset,tcbuselibrary,tcolorbox,tcbverbatimwrite,tcbsetforeverylayer,tcbsubtitle,
+ tcolorboxenvironment,tcblistof,tcbstartrecording,tcbrecord,tcbstoprecording,tcbinputrecords,
+ % listings
+ endtcblisting,newtcblisting,newtcbinputlisting,
+ tcblisting,tcbinputlisting,tcbuselistingtext,tcbuselistinglisting,tcbusetemplisting,
+ tcbfitdim,tcbfitsteps,
+ % raster
+ thetcbrasternum,tcbitem,
+ % theorems
+ tcbmaketheorem,tcboxmath,tcbhighmath,thetcbcounter,newtcbtheorem,
+ % documentation
+ brackets,
+ colDef,colOpt,cs,
+ docAuxCommand,docColor,docAuxEnvironment,docAuxKey,
+ docCounter,docLength,
+ meta,marg,
+ oarg,
+ refCom,refEnv,refKey,
+ tcbmakedocSubKey,tcbdocmarginnote,tcbdocnew,tcbdocupdated,
+ % skins
+ tcbincludegraphics,tcbincludepdf,pdfpages,imagepage,imagepath,imagename,
+ tcbline,tcboxedtitleheight,tcboxedtitlewidth,
+ tcbsettowidthofnode,tcbsetmacrotowidthofnode,tcbsettoheightofnode,tcbsetmacrotoheightofnode,
+ % 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,
+ % externalization
+ tcbEXTERNALIZE,tcbifexternal,newtcbexternalizeenvironment,
+ renewtcbexternalizeenvironment,extcolorbox,extikzpicture,
+ newtcbexternalizetcolorbox,renewtcbexternalizetcolorbox,
+ },
+ texcsstyle=*\color{Definition}\bfseries,
+ classoffset=0% restore default
+ }
+
+
+\definecolor{Green_Dark}{rgb}{0.078431,0.407843,0.176471}
+\definecolor{Blue_Dark}{rgb}{0.078431,0.188235,0.615686}
+
+
+\tcbset{
+ documentation listing style=mydocumentation,%
+ sbs/.style={sidebyside,before lower app={\tcbset{sidebyside=false}}},%
+ innerbox/.style={reset,documentation listing style=mydocumentation,
+ docexample/.style={docexample original},%
+ },
+ base example/.style={bicolor,
+ before skip=4pt plus 2pt minus 1pt,
+ after skip=8pt plus 4pt minus 2pt,
+ colback=white,opacityback=0.87,
+ fontlower=\footnotesize,
+ frame style={top color=Green_Dark,bottom color=Blue_Dark},
+ colbacklower=ExampleBack!5!white,
+ drop fuzzy shadow,
+ },
+ docexample/.style={base example,%
+ every box on layer 2/.style={every box},
+ before upper={\tcbset{innerbox}},before lower={\tcbset{innerbox}}
+ },
+ docexample original/.style={colframe=ExampleFrame,colback=ExampleBack,fontlower=\footnotesize,
+ before skip=\medskipamount,after skip=\medskipamount,frame style={}},
+}
+
+\newtcbexternalizetcolorbox{exdispExample}{dispExample}{minipage}%
+ {before skip=4pt plus 2pt minus 1pt,after skip=8pt plus 4pt minus 2pt}
+
+\newtcbexternalizetcolorbox{exdispExample*}{dispExample*}{minipage}%
+ {before skip=4pt plus 2pt minus 1pt,after skip=8pt plus 4pt minus 2pt}
+
+\newcommand{\inputpreamblelisting}[1]{%
+ \tcbinputlisting{title=Definition in the preamble:,
+ base example,coltitle=black,fonttitle=\itshape,titlerule=0pt,
+ colbacktitle=Navy!15!ExampleBack,
+ top=0mm,
+ before=\par\smallskip,%
+ listing style=mydocumentation,
+ listing only,listing file={\jobname_preamble_#1.tex}}%
+}
+
+\newtcolorbox{deprecated}{blank,breakable,watermark text=deprecated}
+
+\newtcbox{\mylib}{enhanced,nobeforeafter,tcbox raise base,boxrule=0.4pt,top=0mm,bottom=0mm,
+ right=0mm,left=4mm,arc=1pt,boxsep=2pt,before upper={\vphantom{dlg}},
+ colframe=green!50!black,coltext=green!25!black,colback=green!10!white,
+ overlay={\begin{tcbclipinterior}\fill[green!75!blue!50!white] (frame.south west)
+ rectangle node[text=white,font=\sffamily\bfseries\tiny,rotate=90] {LIB} ([xshift=4mm]frame.north west);\end{tcbclipinterior}}}
+
+\robustify{\mylib}
+
+\pdfstringdefDisableCommands{%
+ \def\mylib#1{'#1'}%
+}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_snippet.sty b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_snippet.sty
new file mode 100644
index 00000000000..95429f41af9
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_snippet.sty
@@ -0,0 +1,183 @@
+% !TeX root = tcolorbox.tex
+% include file (style) of tcolorbox.tex (manual of the LaTeX package tcolorbox)
+
+\begin{tcbverbatimwrite}{\jobname_preamble_A.tex}
+\newtcolorbox[auto counter,number within=section]{pabox}[2][]{%
+ colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
+ title=Examp.~\thetcbcounter: #2,#1}
+\end{tcbverbatimwrite}
+\input{\jobname_preamble_A.tex}
+
+
+\begin{tcbverbatimwrite}{\jobname_preamble_B.tex}
+% counter from previous example
+\newtcbox[use counter from=pabox]{\pbbox}[2][]{%
+ colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
+ title=(\thetcbcounter) #2,#1}
+\end{tcbverbatimwrite}
+\input{\jobname_preamble_B.tex}
+
+
+\begin{tcbverbatimwrite}{\jobname_preamble_C.tex}
+\newtcblisting[auto counter]{mycbox}[1]{%
+ colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
+ title=Listing \thetcbcounter: #1}
+\end{tcbverbatimwrite}
+\input{\jobname_preamble_C.tex}
+
+
+\begin{tcbverbatimwrite}{\jobname_preamble_D.tex}
+\tcbset{
+ texexp/.style={colframe=red!50!yellow!50!black, colback=red!50!yellow!5!white,
+ coltitle=red!50!yellow!3!white,
+ fonttitle=\small\sffamily\bfseries, fontupper=\small, fontlower=\small},
+ example/.style 2 args={texexp,
+ title={Example \thetcbcounter: #1},label={#2}},
+}
+
+
+\newtcblisting{texexp}[1]{texexp,#1}
+\newtcblisting[auto counter,number within=section]{texexptitled}[3][]{%
+ example={#2}{#3},#1}
+\newtcolorbox[use counter from=texexptitled]{texexptitledspec}[3][]{%
+ example={#2}{#3},#1}
+\end{tcbverbatimwrite}
+\input{\jobname_preamble_D.tex}
+
+
+\begin{tcbverbatimwrite}{\jobname_preamble_E.tex}
+\newtcolorbox[auto counter,number within=section,list inside=exam]{texercise}[2][]{%
+ texercisestyle,
+ listing file={solutions/texercise\thetcbcounter.tex},
+ label={exe:#2},
+ record={\string\processsol{solutions/texercise\thetcbcounter.tex}{#2}},
+ title={Exercise \thetcbcounter\hfill\mdseries Solution on page \pageref{sol:#2}},
+ list text={Exercise with solution on page \pageref{sol:#2}},#1}
+\end{tcbverbatimwrite}
+\input{\jobname_preamble_E.tex}
+
+
+\begin{tcbverbatimwrite}{\jobname_preamble_F.tex}
+\newtcbtheorem[number within=section]{mytheo}{My Theorem}%
+ {colback=green!5,colframe=green!35!black,fonttitle=\bfseries}{th}
+\end{tcbverbatimwrite}
+\input{\jobname_preamble_F.tex}
+
+
+\begin{tcbverbatimwrite}{\jobname_preamble_G.tex}
+% \usepackage{cleveref}
+\tcbset{
+ defstyle/.style={fonttitle=\bfseries\upshape, fontupper=\slshape,
+ arc=0mm, colback=blue!5!white,colframe=blue!75!black},
+ theostyle/.style={fonttitle=\bfseries\upshape, fontupper=\slshape,
+ colback=red!10!white,colframe=red!75!black},
+}
+\newtcbtheorem[number within=subsection,crefname={definition}{definitions}]%
+ {Definition}{Definition}{defstyle}{def}
+\newtcbtheorem[use counter from=Definition,crefname={theorem}{theorems}]%
+ {Theorem}{Theorem}{theostyle}{theo}
+\newtcbtheorem[use counter from=Definition,crefname={corollary}{corollaries}]%
+ {Corollary}{Corollary}{theostyle}{cor}
+\end{tcbverbatimwrite}
+\input{\jobname_preamble_G.tex}
+
+
+\begin{tcbverbatimwrite}{\jobname_preamble_H.tex}
+\newtcolorbox[auto counter,number within=section,
+ number freestyle={(Q/\noexpand\thesection/\noexpand\Alph{\tcbcounter})},
+ ]{phbox}[2][]{%
+ colback=yellow!15!white,colframe=blue!75!black,fonttitle=\bfseries,
+ title=Question~\thetcbcounter: #2,#1}
+\end{tcbverbatimwrite}
+\input{\jobname_preamble_H.tex}
+
+
+\begin{tcbverbatimwrite}{\jobname_preamble_I.tex}
+% \usepackage{cleveref}
+\newtcolorbox[auto counter,number within=section,
+ 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}
+
+
+\begin{tcbverbatimwrite}{\jobname_preamble_J.tex}
+\newtcbtheorem[use counter from=mytheo]{theorem}{Theorem}{%
+ fonttitle=\bfseries\upshape,fontupper=\itshape,
+ colframe=green!50!black,colback=green!10!white,
+ colbacktitle=green!20!white,coltitle=blue!75!black}{theo}
+\end{tcbverbatimwrite}
+\input{\jobname_preamble_J.tex}
+
+
+\begin{tcbverbatimwrite}{\jobname_preamble_K.tex}
+\usepackage{amsthm}
+
+\theoremstyle{plain}% from 'amsthm'
+\newtheorem{lem}{Lemma}% from 'amsthm'
+
+\tcolorboxenvironment{lem}{
+ enhanced jigsaw,colframe=cyan,interior hidden,
+ breakable,before skip=10pt,after skip=10pt }
+
+\tcolorboxenvironment{proof}{% 'proof' from 'amsthm'
+ blanker,breakable,left=5mm,
+ before skip=10pt,after skip=10pt,
+ borderline west={1mm}{0pt}{red}}
+\end{tcbverbatimwrite}
+\input{\jobname_preamble_K.tex}
+
+
+\begin{tcbverbatimwrite}{\jobname_preamble_L.tex}
+% \tcbuselibrary{skins,xparse}
+
+\NewTColorBox[auto counter,number within=section]{exercise}{+O{}}{%
+ enhanced,colframe=green!20!black,colback=yellow!10!white,coltitle=green!40!black,
+ fonttitle=\bfseries,
+ underlay={\begin{tcbclipinterior}
+ \shade[inner color=green!80!yellow,outer color=yellow!10!white]
+ (interior.north west) circle (2cm);
+ \draw[help lines,step=5mm,yellow!80!black,shift={(interior.north west)}]
+ (interior.south west) grid (interior.north east);
+ \end{tcbclipinterior}},
+ title={Exercise~\thetcbcounter:},
+ label={exercise@\thetcbcounter},
+ attach title to upper=\quad,
+ after upper={\par\hfill\textcolor{green!40!black}%
+ {\itshape Solution on page~\pageref{solution@\thetcbcounter}}},
+ lowerbox=ignored,
+ savelowerto=solutions/exercise-\thetcbcounter.tex,
+ record={\string\solution{\thetcbcounter}{solutions/exercise-\thetcbcounter.tex}},
+ #1
+}
+
+\NewTotalTColorBox{\solution}{mm}{%
+ enhanced,colframe=red!20!black,colback=yellow!10!white,coltitle=red!40!black,
+ fonttitle=\bfseries,
+ underlay={\begin{tcbclipinterior}
+ \shade[inner color=red!50!yellow,outer color=yellow!10!white]
+ (interior.north west) circle (2cm);
+ \draw[help lines,step=5mm,yellow!80!black,shift={(interior.north west)}]
+ (interior.south west) grid (interior.north east);
+ \end{tcbclipinterior}},
+ title={Solution of Exercise~\ref{exercise@#1} on page~\pageref{exercise@#1}:},
+ phantomlabel={solution@#1},
+ attach title to upper=\par,
+}{\input{#2}}
+
+\tcbset{no solution/.style={no recording,after upper=}}
+\end{tcbverbatimwrite}
+\input{\jobname_preamble_L.tex}
+
+
+\begin{tcbverbatimwrite}{\jobname_preamble_M.tex}
+\newtcblisting{myownlisting}[2][]{
+ enhanced,colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
+ colbacktitle=red!50!yellow,before skip=6pt,after skip=6pt,
+ title={#2},#1}
+
+\newtcbexternalizetcolorbox{exmyownlisting}{myownlisting}{minipage}%
+ {before skip=6pt,after skip=6pt}% same values as for mylisting
+\end{tcbverbatimwrite}
+\input{\jobname_preamble_M.tex}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
index 5139fe5be3c..d0ffff46c95 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 101d95b3e64..a4dc2e96bc0 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%% tcolorbox.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
@@ -20,98 +20,20 @@
%%
\documentclass[a4paper,11pt]{ltxdoc}
-\usepackage[T1]{fontenc}
-\usepackage[latin1]{inputenc}
-\usepackage[english]{babel}
-\usepackage{lmodern,parskip,array,ifthen,calc}
-\usepackage{amsmath,amssymb}
-\usepackage[svgnames,table,hyperref]{xcolor}
-\usepackage{tikz}
-\usepackage{varioref}
-\usepackage[pdftex,bookmarks,raiselinks,pageanchor,hyperindex,colorlinks]{hyperref}
-\usepackage{varwidth,cleveref,incgraph}
+\usepackage{tcolorbox.doc.s_main}
+\tcbEXTERNALIZE
+\usepackage{tcolorbox.doc.s_snippet}
-\usepackage[a4paper,left=2.5cm,right=2.5cm,top=1.5cm,bottom=1.5cm,
- marginparsep=3mm,marginparwidth=18mm,
- headheight=0mm,headsep=0cm,
- footskip=1.5cm,includeheadfoot%,showframe
- ]{geometry}
-\usepackage{fancyhdr}
-\fancyhf{}
-\fancyfoot[C]{\thepage}%
-\renewcommand{\headrulewidth}{0pt}
-\renewcommand{\footrulewidth}{0pt}
-\pagestyle{fancy}
-\tolerance=2000%
-\setlength{\emergencystretch}{20pt}%
-
-\usepackage{csquotes}
-\usepackage[style=numeric-comp,sorting=nyt,
+\RequirePackage{csquotes}
+\RequirePackage[style=numeric-comp,sorting=nyt,
maxnames=8,minnames=8,abbreviate=false,backend=biber]{biblatex}
\DeclareFieldFormat{url}{\newline\url{#1}}%
\DeclareListFormat{language}{}%
\setlength{\bibitemsep}{\smallskipamount}
\addbibresource{tcolorbox.doc.bib}
-\usetikzlibrary{shadings,shadows}
-\usetikzlibrary{decorations.pathmorphing}
-\usetikzlibrary{patterns}
-\usetikzlibrary{spy}
-\usetikzlibrary{arrows.meta}
-
-\usepackage{array,tabularx}
-\usepackage{amsmath}
-\usepackage{lipsum}
-\usepackage{empheq}
-
-%\usepackage[cache]{minted}% minted 2.0
-
-\usepackage{changepage}
-\strictpagecheck
-
-\providecommand{\tcbpkgprefix}{}
-\usepackage[all]{\tcbpkgprefix tcolorbox}
-\usepackage[extendedchars,encoding,filenameencoding=utf-8]{grffile}
-
-\tcbset{skin=enhanced,
- doc head={colback=yellow!10!white,interior style=fill},
- doc head key={colback=magenta!5!white,interior style=fill},
- color key=DarkViolet,
- color value=Teal,
- color color=Teal,
- color counter=Orange!85!black,
- color length=Orange!85!black,
- index colorize,index annotate}
-\urlstyle{sf}
-
-\tcbmakedocSubKey{docTcbKey}{tcb}
-\tcbmakedocSubKey{langTcbKey}{tcb/doclang}
-\tcbmakedocSubKey{newTcbKey}{tcb/new}
-\tcbmakedocSubKey{boxTcbKey}{tcb/boxtitle}
-\tcbmakedocSubKey{docTikzKey}{tikz}
-
-\def\tikzname{Ti\emph{k}Z}
-
-\makeatletter
-\newrobustcmd{\tcbIndexPrintSkinCA}[1]{\tcb@Index@Print@CA{#1}{\kvtcb@col@key}{Skin}}
-\newrobustcmd{\tcbIndexPrintSkinC}[1]{\tcb@Index@Print@C{#1}{\kvtcb@col@key}}
-\def\tcb@index@Skin#1{\iftcb@doc@toindex\index{#1\idx@actual\tcbIndexPrintSkinCA{#1}}\index{Skins\idx@level#1\idx@actual\tcbIndexPrintSkinC{#1}}\fi}%
-
-\newenvironment{docSkin}[1]{\begin{tcb@manual@entry}%
- \begin{tcb@doc@head}{colback=magenta!5!white,interior style=fill}%
- \hypertarget{skin:#1}{\tcb@Print@Key{/tcb/skin=}\tcb@Print@Val{#1}\tcb@index@Skin{#1}\protected@edef\@currentlabel{#1}\label{skin:#1}\hfill(skin)}%
- \end{tcb@doc@head}}%
- {\end{tcb@manual@entry}}
-\def\refSkin{\tcb@ref@doc{skin}}
-\makeatother
-
-\newtcolorbox{marker}[1][]{marker,#1}
-
-\renewcommand*{\tcbdocnew}[1]{\textcolor{green!50!black}{\sffamily\bfseries N} #1}
-\renewcommand*{\tcbdocupdated}[1]{\textcolor{blue!75!black}{\sffamily\bfseries U} #1}
-
-\def\version{3.40}%
-\def\datum{2015/01/14}%
+\def\version{3.50}%
+\def\datum{2015/03/16}%
\makeindex
\hypersetup{
@@ -121,267 +43,10 @@
pdfkeywords={colored boxes, LaTeX examples, theorems}
}
-\newcounter{texexp}
-\newcounter{texercise}
-\newcounter{mytheorem}[section]
-
-\newcounter{myexample}
-
-\newcounter{example}
-\newlength{\examlen}
-\newsavebox\mysavebox
-
-\lstdefinestyle{mydocumentation}{style=tcbdocumentation,
- classoffset=0,
- texcsstyle=*\color{blue},
- % LaTeX and other packages
- moretexcs={arrayrulecolor,draw,includegraphics,ifthenelse,isodd,lipsum,path,pgfkeysalso},
- classoffset=1,
- % tcolorbox macros
- moretexcs={% core
- endtcolorbox,endtcbverbatimwrite,newtcolorbox,newtcbox,newtcboxfit,tcbusetemp,tcbtitle,tcbtitletext,
- tcblower,tcbox,tcboxfit,tcbset,tcbuselibrary,tcolorbox,tcbverbatimwrite,tcbsetforeverylayer,tcbsubtitle,
- tcolorboxenvironment,tcblistof,tcbstartrecording,tcbrecord,tcbstoprecording,tcbinputrecords,
- % listings
- endtcblisting,newtcblisting,newtcbinputlisting,
- tcblisting,tcbinputlisting,tcbuselistingtext,tcbuselistinglisting,tcbusetemplisting,
- tcbfitdim,tcbfitsteps,
- % raster
- thetcbrasternum,tcbitem,
- % theorems
- tcbmaketheorem,tcboxmath,tcbhighmath,thetcbcounter,newtcbtheorem,
- % documentation
- brackets,
- colDef,colOpt,cs,
- docAuxCommand,docColor,docAuxEnvironment,docAuxKey,
- docCounter,docLength,
- meta,marg,
- oarg,
- refCom,refEnv,refKey,
- tcbmakedocSubKey,tcbdocmarginnote,tcbdocnew,tcbdocupdated,
- % skins
- tcbincludegraphics,tcbincludepdf,pdfpages,imagepage,imagepath,imagename,
- tcbline,tcboxedtitleheight,tcboxedtitlewidth,
- tcbsettowidthofnode,tcbsetmacrotowidthofnode,tcbsettoheightofnode,tcbsetmacrotoheightofnode,
- % 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
- }
-
-\tcbset{documentation listing style=mydocumentation,%
- sbs/.style={sidebyside,before lower app={\tcbset{sidebyside=false}}},%
- innerbox/.style={reset,documentation listing style=mydocumentation,
- docexample/.style={docexample original},%listing engine=minted,documentation minted style=manni,documentation minted options={tabsize=2,fontsize=\footnotesize},
- },
- base example/.style={bicolor,
- colframe=Navy!50!ExampleFrame,colback=Navy!5!ExampleBack,fontlower=\footnotesize,
- %interior style={fill stretch image=blueshade.png,fill image opacity=0.15},
- frame style={fill stretch image*={angle=180,origin=c}{blueshade.png},fill image opacity=0.75},
- colbacklower=ExampleBack!5!white,opacityback=0.9,
- drop fuzzy shadow},
- docexample/.style={base example,%
- every box on layer 2/.style={every box},
- before upper={\tcbset{innerbox}},before lower={\tcbset{innerbox}}
- },
- docexample original/.style={colframe=ExampleFrame,colback=ExampleBack,fontlower=\footnotesize,frame style={}},
-}
-
-\newcommand{\inputpreamblelisting}[1]{%
- \tcbinputlisting{title=Definition in the preamble:,
- base example,coltitle=black,fonttitle=\itshape,titlerule=0pt,
- colbacktitle=Navy!15!ExampleBack,
- top=0mm,
- before=\par\smallskip,%
- listing style=mydocumentation,
- listing only,listing file={\jobname_preamble_#1.tex}}%
-}
-
-\newtcolorbox{deprecated}{blank,breakable,watermark text=deprecated}
-
-\newtcbox{\mylib}{enhanced,nobeforeafter,tcbox raise base,boxrule=0.4pt,top=0mm,bottom=0mm,
- right=0mm,left=4mm,arc=1pt,boxsep=2pt,before upper={\vphantom{dlg}},
- colframe=green!50!black,coltext=green!25!black,colback=green!10!white,
- overlay={\begin{tcbclipinterior}\fill[green!75!blue!50!white] (frame.south west)
- rectangle node[text=white,font=\sffamily\bfseries\tiny,rotate=90] {LIB} ([xshift=4mm]frame.north west);\end{tcbclipinterior}}}
-
-\robustify{\mylib}
-
-%\tcbset{every box/.style={enhanced}}
-
-\begin{tcbverbatimwrite}{\jobname_preamble_A.tex}
-\newtcolorbox[auto counter,number within=section]{pabox}[2][]{%
- colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
- title=Examp.~\thetcbcounter: #2,#1}
-\end{tcbverbatimwrite}
-\input{\jobname_preamble_A.tex}
-
-\begin{tcbverbatimwrite}{\jobname_preamble_B.tex}
-% counter from previous example
-\newtcbox[use counter from=pabox]{\pbbox}[2][]{%
- colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
- title=(\thetcbcounter) #2,#1}
-\end{tcbverbatimwrite}
-\input{\jobname_preamble_B.tex}
-
-\begin{tcbverbatimwrite}{\jobname_preamble_C.tex}
-\newtcblisting[auto counter]{mycbox}[1]{%
- colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
- title=Listing \thetcbcounter: #1}
-\end{tcbverbatimwrite}
-\input{\jobname_preamble_C.tex}
-
-\begin{tcbverbatimwrite}{\jobname_preamble_D.tex}
-\tcbset{
- texexp/.style={colframe=red!50!yellow!50!black, colback=red!50!yellow!5!white,
- coltitle=red!50!yellow!3!white,
- fonttitle=\small\sffamily\bfseries, fontupper=\small, fontlower=\small},
- example/.style 2 args={texexp,
- title={Example \thetcbcounter: #1},label={#2}},
-}
-
-\newtcblisting{texexp}[1]{texexp,#1}
-\newtcblisting[auto counter,number within=section]{texexptitled}[3][]{%
- example={#2}{#3},#1}
-\newtcolorbox[use counter from=texexptitled]{texexptitledspec}[3][]{%
- example={#2}{#3},#1}
-\end{tcbverbatimwrite}
-\input{\jobname_preamble_D.tex}
-
-\begin{tcbverbatimwrite}{\jobname_preamble_E.tex}
-\newtcolorbox[auto counter,number within=section,list inside=exam]{texercise}[2][]{%
- texercisestyle,
- listing file={solutions/texercise\thetcbcounter.tex},
- label={exe:#2},
- record={\string\processsol{solutions/texercise\thetcbcounter.tex}{#2}},
- title={Exercise \thetcbcounter\hfill\mdseries Solution on page \pageref{sol:#2}},
- list text={Exercise with solution on page \pageref{sol:#2}},#1}
-\end{tcbverbatimwrite}
-\input{\jobname_preamble_E.tex}
-
-\begin{tcbverbatimwrite}{\jobname_preamble_F.tex}
-\newtcbtheorem[number within=section]{mytheo}{My Theorem}%
- {colback=green!5,colframe=green!35!black,fonttitle=\bfseries}{th}
-\end{tcbverbatimwrite}
-\input{\jobname_preamble_F.tex}
-
-
-\begin{tcbverbatimwrite}{\jobname_preamble_G.tex}
-% \usepackage{cleveref}
-\tcbset{
- defstyle/.style={fonttitle=\bfseries\upshape, fontupper=\slshape,
- arc=0mm, colback=blue!5!white,colframe=blue!75!black},
- theostyle/.style={fonttitle=\bfseries\upshape, fontupper=\slshape,
- colback=red!10!white,colframe=red!75!black},
-}
-\newtcbtheorem[number within=subsection,crefname={definition}{definitions}]%
- {Definition}{Definition}{defstyle}{def}
-\newtcbtheorem[use counter from=Definition,crefname={theorem}{theorems}]%
- {Theorem}{Theorem}{theostyle}{theo}
-\newtcbtheorem[use counter from=Definition,crefname={corollary}{corollaries}]%
- {Corollary}{Corollary}{theostyle}{cor}
-\end{tcbverbatimwrite}
-\input{\jobname_preamble_G.tex}
-
-
-\begin{tcbverbatimwrite}{\jobname_preamble_H.tex}
-\newtcolorbox[auto counter,number within=section,
- number freestyle={(Q/\noexpand\thesection/\noexpand\Alph{\tcbcounter})},
- ]{phbox}[2][]{%
- colback=yellow!15!white,colframe=blue!75!black,fonttitle=\bfseries,
- title=Question~\thetcbcounter: #2,#1}
-\end{tcbverbatimwrite}
-\input{\jobname_preamble_H.tex}
-
-
-\begin{tcbverbatimwrite}{\jobname_preamble_I.tex}
-% \usepackage{cleveref}
-\newtcolorbox[auto counter,number within=section,
- 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}
-
-\begin{tcbverbatimwrite}{\jobname_preamble_J.tex}
-\newtcbtheorem[use counter from=mytheo]{theorem}{Theorem}{%
- fonttitle=\bfseries\upshape,fontupper=\itshape,
- colframe=green!50!black,colback=green!10!white,
- colbacktitle=green!20!white,coltitle=blue!75!black}{theo}
-\end{tcbverbatimwrite}
-\input{\jobname_preamble_J.tex}
-
-\begin{tcbverbatimwrite}{\jobname_preamble_K.tex}
-\usepackage{amsthm}
-
-\theoremstyle{plain}% from 'amsthm'
-\newtheorem{lem}{Lemma}% from 'amsthm'
-
-\tcolorboxenvironment{lem}{
- enhanced jigsaw,colframe=cyan,interior hidden,
- breakable,before skip=10pt,after skip=10pt }
-
-\tcolorboxenvironment{proof}{% 'proof' from 'amsthm'
- blanker,breakable,left=5mm,
- before skip=10pt,after skip=10pt,
- borderline west={1mm}{0pt}{red}}
-\end{tcbverbatimwrite}
-\input{\jobname_preamble_K.tex}
-
-
-\begin{tcbverbatimwrite}{\jobname_preamble_L.tex}
-% \tcbuselibrary{skins,xparse}
-
-\NewTColorBox[auto counter,number within=section]{exercise}{+O{}}{%
- enhanced,colframe=green!20!black,colback=yellow!10!white,coltitle=green!40!black,
- fonttitle=\bfseries,
- underlay={\begin{tcbclipinterior}
- \shade[inner color=green!80!yellow,outer color=yellow!10!white]
- (interior.north west) circle (2cm);
- \draw[help lines,step=5mm,yellow!80!black,shift={(interior.north west)}]
- (interior.south west) grid (interior.north east);
- \end{tcbclipinterior}},
- title={Exercise~\thetcbcounter:},
- label={exercise@\thetcbcounter},
- attach title to upper=\quad,
- after upper={\par\hfill\textcolor{green!40!black}%
- {\itshape Solution on page~\pageref{solution@\thetcbcounter}}},
- lowerbox=ignored,
- savelowerto=solutions/exercise-\thetcbcounter.tex,
- record={\string\solution{\thetcbcounter}{solutions/exercise-\thetcbcounter.tex}},
- #1
-}
-
-\NewTotalTColorBox{\solution}{mm}{%
- enhanced,colframe=red!20!black,colback=yellow!10!white,coltitle=red!40!black,
- fonttitle=\bfseries,
- underlay={\begin{tcbclipinterior}
- \shade[inner color=red!50!yellow,outer color=yellow!10!white]
- (interior.north west) circle (2cm);
- \draw[help lines,step=5mm,yellow!80!black,shift={(interior.north west)}]
- (interior.south west) grid (interior.north east);
- \end{tcbclipinterior}},
- title={Solution of Exercise~\ref{exercise@#1} on page~\pageref{exercise@#1}:},
- phantomlabel={solution@#1},
- attach title to upper=\par,
-}{\input{#2}}
-
-\tcbset{no solution/.style={no recording,after upper=}}
-\end{tcbverbatimwrite}
-\input{\jobname_preamble_L.tex}
-
+\usepackage{pgfplots}
%\tcbset{draftmode}
-%\includeonly{tcolorbox.doc.skins}
+%\includeonly{tcolorbox.doc.coreoptions}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
@@ -404,6 +69,7 @@
\include{tcolorbox.doc.fitting}
\include{tcolorbox.doc.hooks}
\include{tcolorbox.doc.xparse}
+\include{tcolorbox.doc.external}
\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 d57cd4e4f01..f87080b974c 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%% tcbbreakable.code.tex: Code for breakable colorboxes
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{3.40}
+\tcb@set@library@version{3.50}
\let\tcb@parboxrestore@true=\tcb@parboxrestore
\def\tcb@parboxrestore@false{\vskip-\parskip\linewidth\hsize\noindent}
@@ -264,7 +264,11 @@
\tcb@handle@nobreak%
\fi%
\else%
- \kvtcb@beforebox%
+ %\ifnum\lastnodetype=-1\relax%
+ % \lineskip=0pt%
+ %\else%
+ \kvtcb@beforebox%
+ %\fi%
\fi%
\def\kvtcb@beforebox{\parskip\z@\nointerlineskip\noindent}%
\noindent% applies parskip
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
index 1c6d8136290..15cf264ffc5 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%% tcbdocumentation.code.tex: Code for LaTeX documentations
%%
%% -------------------------------------------------------------------------------------------
@@ -17,9 +17,9 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{3.40}
+\tcb@set@library@version{3.50}
-\tcbuselibrary{listings,skins,xparse}
+\tcbuselibrary{listings,skins,xparse,external}
\RequirePackage{doc}[2010/02/04]
\RequirePackage{pifont}[2005/04/12]
@@ -108,8 +108,6 @@
color option/.store in=\kvtcb@col@opt,
color hyperlink/.store in=\kvtcb@colhyper,
color frame/.store in=\kvtcb@colhyper,
- before example/.store in=\kvtcb@beforeexample,
- after example/.store in=\kvtcb@afterexample,
index actual/.store in=\idx@actual,
index quote/.store in=\idx@quote,
index level/.store in=\idx@level,
@@ -137,7 +135,9 @@
% styles
\tcbset{
- docexample/.style={colframe=ExampleFrame,colback=ExampleBack,fontlower=\footnotesize},
+ docexample/.style={colframe=ExampleFrame,colback=ExampleBack,
+ before skip=\medskipamount,after skip=\medskipamount,
+ fontlower=\footnotesize},
documentation minted style=,
documentation minted options={tabsize=2,fontsize=\small},
index default settings/.style={index actual={@},index quote={"},index level={!}},
@@ -166,32 +166,32 @@
menucolor=\kvtcb@colhyper
}}
-\def\dispExample{\tcb@layer@pushup\tcbset{docexample}\tcbwritetemp}
+\def\dispExample{\tcb@layer@pushup\tcbset{docexample}\begingroup\tcbwritetemp}
\def\enddispExample{%
- \endtcbwritetemp%
- \kvtcb@beforeexample\begin{tcolorbox}%
+ \endtcbwritetemp\endgroup%
+ \begin{tcolorbox}%
\tcb@doc@usetemplisting%
\tcblower%
\tcbusetemp%
- \end{tcolorbox}\kvtcb@afterexample%
+ \end{tcolorbox}%
}
\newenvironment{dispExample*}[1]{%
- \tcb@layer@pushup\tcbset{docexample,#1}\tcbwritetemp%
+ \tcb@layer@pushup\tcbset{docexample,#1}\begingroup\tcbwritetemp%
}{\enddispExample}
-\def\dispListing{\tcb@layer@pushup\tcbset{docexample}\tcbwritetemp}
+\def\dispListing{\tcb@layer@pushup\tcbset{docexample}\begingroup\tcbwritetemp}
\def\enddispListing{%
- \endtcbwritetemp%
- \kvtcb@beforeexample\begin{tcolorbox}%
+ \endtcbwritetemp\endgroup%
+ \begin{tcolorbox}%
\tcb@doc@usetemplisting%
- \end{tcolorbox}\kvtcb@afterexample%
+ \end{tcolorbox}%
}
\newenvironment{dispListing*}[1]{%
- \tcb@layer@pushup\tcbset{docexample,#1}\tcbwritetemp%
+ \tcb@layer@pushup\tcbset{docexample,#1}\begingroup\tcbwritetemp%
}{\enddispListing}
% index auxiliary macros
@@ -445,8 +445,6 @@
color option=Option,
color definition=Definition,
color hyperlink=Hyperlink,
- before example=\par\smallskip,
- after example=,
doc left=2em,
doc right=0pt,
doc left indent=-2em,
@@ -460,3 +458,11 @@
},
initialize@reset=reset@documentation,
}
+
+% deprecated
+\tcbset{
+ before example/.store in=\kvtcb@beforeexample,
+ after example/.store in=\kvtcb@afterexample,
+ before example=\par\smallskip,
+ after example=,
+}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
new file mode 100644
index 00000000000..c5c38983786
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
@@ -0,0 +1,280 @@
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
+%% tcbexternal.code.tex: Code for externalization
+%%
+%% -------------------------------------------------------------------------------------------
+%% Copyright (c) 2006-2015 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{3.50}
+
+{
+\catcode`\"=12
+\xdef\tcbexternal@normal@dq{"}
+\catcode`\"=13
+\gdef\tcbexternal@activate@normal@dq{\let"=\tcbexternal@normal@dq}
+}
+
+\long\def\tcbifexternal#1#2{%
+ \ifdefined\TCBEXTERNALINPUT%
+ #1%
+ \else%
+ #2%
+ \fi%
+}
+
+\tcbifexternal{%
+ \def\tcbEXTERNALIZE{%
+ \RequirePackage{incgraph}%
+ \TCBEXTERNALPREAMBLE%
+ \begin{document}%
+ \begin{inctext}[border=\TCBEXTERNALSAFETY]%
+ \input{\TCBEXTERNALINPUT}%
+ \end{inctext}%
+ \end{document}%
+ }%
+}{%
+ \def\tcbEXTERNALIZE{%
+ \tcbset{
+ external/.cd,
+ externalize/.is if=tcb@externalize,
+ externalize=true,
+ }%
+ }%
+}
+
+\@onlypreamble\tcbEXTERNALIZE
+
+\def\tcbexternal@setbasename#1{%
+ \gdef\tcbexternal@basename{#1}%
+ \begingroup\edef\x{\endgroup\noexpand\def\noexpand\tcbexternal@job@name{\expandonce{\tcbexternal@prefix}\expandonce{\tcbexternal@basename}}}\x%
+ \begingroup\edef\x{\endgroup\noexpand\def\noexpand\tcbexternal@job@mdfive{\expandonce{\tcbexternal@job@name.md5}}}\x%
+ \begingroup\edef\x{\endgroup\noexpand\def\noexpand\tcbexternal@job@source{\expandonce{\tcbexternal@job@name.tex}}}\x%
+ \begingroup\edef\x{\endgroup\noexpand\def\noexpand\tcbexternal@job@pdf{\expandonce{\tcbexternal@job@name.pdf}}}\x%
+}
+
+\def\tcbexternal@corecompile{%
+ \begingroup%
+ \ifnum\the\catcode`\"=13 \tcbexternal@activate@normal@dq\fi%
+ \message{=== Compile external '\tcbexternal@job@name': }%
+ \immediate\openout\tcb@out="\tcbexternal@run@tex"
+ \immediate\write\tcb@out{\string\gdef\string\TCBEXTERNALINPUT{"\tcbexternal@job@source"}}%
+ \immediate\write\tcb@out{\string\gdef\string\TCBEXTERNALSAFETY{\tcbexternal@safety}}%
+ \immediate\write\tcb@out{\string\gdef\string\TCBEXTERNALPREAMBLE{\expandonce{\tcbexternal@preamble}}}%
+ \immediate\write\tcb@out{\string\input{"\jobname.tex"}}%
+ \immediate\closeout\tcb@out%
+ \foreach \n in {1,...,\tcbexternal@runs}
+ {%
+ \immediate\write18{%
+ \tcbexternal@compiler\space
+ -shell-escape
+ -halt-on-error
+ -interaction=batchmode
+ -jobname="\tcbexternal@job@name"
+ "\tcbexternal@run@tex"
+ }%
+ }%
+ \endgroup%
+}
+
+\def\tcbexternal@inputsource{
+ \IfFileExists{\tcbexternal@job@source}%
+ {\input{\tcbexternal@job@source}}%
+ {\tcb@error{File '\tcbexternal@job@source' missing.}{}}%
+}
+
+\def\tcbexternal@pdfmissing@warning{%
+ \tcb@warning{File '\tcbexternal@job@pdf' missing.
+ Compilation error or shell-escape wasn't enabled or a subdirectory could'nt be generated}%
+ \message{Load '\tcbexternal@job@source' instead}%
+ \tcbexternal@inputsource%
+}
+
+\def\tcbexternal@pdfmissing@error{%
+ \tcb@error{File '\tcbexternal@job@pdf' missing.
+ Compilation error or shell-escape wasn't enabled or a subdirectory could'nt be generated}{}%
+}
+
+\def\tcbexternal@inputpdf{%
+ \IfFileExists{\tcbexternal@job@pdf}%
+ {%
+ \begingroup\edef\x{\endgroup%
+ \noexpand\includegraphics[trim=\tcbexternal@safety\space\tcbexternal@safety%
+ \space\tcbexternal@safety\space\tcbexternal@safety]{\expandonce{\tcbexternal@job@pdf}}}%
+ \x%
+ }%
+ {\tcbexternal@pdfmissing}%
+}
+
+\newif\iftcb@externalize
+\tcb@externalizefalse
+
+\def\tcbexternal@generatemdivesum{%
+ \iftcb@externalize%
+ \def\tcbexternallastmdfivesum{}%
+ \IfFileExists{\tcbexternal@job@mdfive}{\input{\tcbexternal@job@mdfive}}{}%
+ \edef\tcbexternalmdfivesum{\pdfmdfivesum file {\tcbexternal@job@source}}%
+ \else%
+ \def\tcbexternallastmdfivesum{x}%
+ \edef\tcbexternalmdfivesum{}%
+ \fi%
+ \immediate\openout\tcb@out=\tcbexternal@job@mdfive
+ \immediate\write\tcb@out{\string\def\string\tcbexternallastmdfivesum{\tcbexternalmdfivesum}\@percentchar}%
+ \immediate\closeout\tcb@out%
+}
+
+\def\tcbexternal@conditionalcompile{%
+ \IfFileExists{\tcbexternal@job@pdf}{%
+ \ifdefstrequal{\tcbexternallastmdfivesum}{\tcbexternalmdfivesum}{%
+ }{%
+ \tcbexternal@corecompile%
+ }%
+ }{%
+ \tcbexternal@corecompile%
+ }%
+}
+
+\def\tcb@useexternal{%
+ \tcbexternal@generatemdivesum%
+ \iftcb@externalize%
+ \tcbexternal@compile%
+ \tcbexternal@inputpdf%
+ \else%
+ \tcbexternal@inputsource%
+ \fi%
+}
+
+\newenvironment{tcbexternal}[2][]{%
+ \tcbset{external/.cd,#1,name=#2}%
+ \begingroup%
+ \let\tcb@verbatim@begin@hook=\tcbexternal@out@begin%
+ \let\tcb@verbatim@end@hook=\tcbexternal@out@end%
+ \tcbverbatimwrite{\tcbexternal@job@source}}%
+{%
+ \endtcbverbatimwrite\endgroup%
+ \tcb@useexternal%
+}
+
+\long\def\new@tcb@externalizeenvironment#1#2#3#4#5{%
+ \tcb@newenvironment{#1}[2][]{%
+ #4%
+ \begingroup%
+ \tcbexternal[#3,##1,environment=#2]{##2}%
+ }{%
+ \endtcbexternal%
+ \endgroup%
+ #5%
+ }%
+}
+
+\def\newtcbexternalizeenvironment{%
+ \let\tcb@newenvironment\newenvironment%
+ \new@tcb@externalizeenvironment%
+}
+
+\def\renewtcbexternalizeenvironment{%
+ \let\tcb@newenvironment\renewenvironment%
+ \new@tcb@externalizeenvironment%
+}
+
+\long\def\new@tcb@externalizetcolorbox#1#2#3#4{%
+ \new@tcb@externalizeenvironment{#1}{#2}%
+ {preamble tcbset={force nobeforeafter},#3}%
+ {\tcbset{#4}\tcb@set@normal@unbroken@beforeafter\tcb@before@unbroken}%
+ {\tcb@after@unbroken}%
+}
+
+\def\newtcbexternalizetcolorbox{%
+ \let\tcb@newenvironment\newenvironment%
+ \new@tcb@externalizetcolorbox%
+}
+
+\def\renewtcbexternalizetcolorbox{%
+ \let\tcb@newenvironment\renewenvironment%
+ \new@tcb@externalizetcolorbox%
+}
+
+
+\newtcbexternalizeenvironment{extikzpicture}{tikzpicture}{}{}{}
+
+\newtcbexternalizetcolorbox{extcolorbox}{tcolorbox}{}{}
+
+
+\tcbset{
+ external/.cd,
+ %
+ runner/.code={%
+ \begingroup\edef\x{\endgroup\noexpand\def\noexpand\tcbexternal@run@tex{\expandonce{#1}}}\x%
+ },
+ %
+ prefix/.store in=\tcbexternal@prefix,
+ compiler/.store in=\tcbexternal@compiler,
+ runs/.code={\numdef\tcbexternal@runs{#1}},
+ name/.code={\tcbexternal@setbasename{#1}},
+ safety/.store in=\tcbexternal@safety,
+ preamble/.code={\appto\tcbexternal@preamble{#1}},
+ preamble tcbset/.code={\appto\tcbexternal@preamble{\tcbset{#1}}},
+ clear preamble/.code={\def\tcbexternal@preamble{}},
+ externalize/.code={},
+ %
+ force remake/.is choice,
+ force remake/true/.code={\let\tcbexternal@compile=\tcbexternal@corecompile},
+ force remake/false/.code={\let\tcbexternal@compile=\tcbexternal@conditionalcompile},
+ force remake/.default=true,
+ !/.style=force remake,
+ %
+ input source on error/.is choice,
+ input source on error/true/.code={\let\tcbexternal@pdfmissing=\tcbexternal@pdfmissing@warning},
+ input source on error/false/.code={\let\tcbexternal@pdfmissing=\tcbexternal@pdfmissing@error},
+ input source on error/.default=true,
+ %
+ plain/.code={%
+ \let\tcbexternal@out@begin=\@empty%
+ \let\tcbexternal@out@end=\@empty%
+ },
+ minipage/.code={%
+ \appto\tcbexternal@out@begin{\immediate\write\tcb@out{\string\begin{minipage}{\the\dimexpr#1\relax}\string\ignorespaces\@percentchar}}%
+ \preto\tcbexternal@out@end{\immediate\write\tcb@out{\string\unskip\string\end{minipage}\@percentchar}}%
+ },
+ minipage/.default=\linewidth,
+ %
+ environment/.code={%
+ \appto\tcbexternal@out@begin{\immediate\write\tcb@out{\string\begin{#1}\@percentchar}}%
+ \preto\tcbexternal@out@end{\immediate\write\tcb@out{\string\end{#1}\@percentchar}}%
+ },%
+ runner=\jobname_run.tex,
+ prefix={external/},
+ compiler=pdflatex,
+ runs=1,
+ name=unnamed,
+ safety=2mm,
+ clear preamble,
+ force remake=false,
+ input source on error,
+ plain
+}
+
+\tcbset{%
+ externalize example/.style={%
+ external/name=#1,tempfile=\tcbexternal@job@source,
+ code={\let\tcbusetemp=\tcb@useexternal}%
+ },
+ externalize example!/.style={externalize example=#1,external/force remake},
+ externalize listing/.style={%
+ external/name=#1,listing file=\tcbexternal@job@source,
+ code={\let\tcbuselistingtext@input=\tcb@useexternal}%
+ },
+ externalize listing!/.style={externalize listing=#1,external/force remake},
+}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
index 7b4494f51cc..29926d0ccdc 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%% 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{3.40}
+\tcb@set@library@version{3.50}
\newdimen\tcbfitdim
\newdimen\tcb@lowerfitdim
@@ -251,11 +251,14 @@
\tcb@fit@warn@begin%
%
\def\tcb@fit@@boxsave##1{%
+ \tcbdimto\tcb@innerwidth{\kvtcb@width-\kvtcb@left@rule-\kvtcb@right@rule}%
+ \colorlet{tcbcol@origin}{.}%
+ \tcb@set@color{tcbcol@upper}%
\begin{tcb@savebox}{\tcb@upperbox}{##1}%
- \color{tcbcol@upper}%
\kvtcb@fontupper\fontsize{\tcbfitdim}{\tcb@fit@@line}\selectfont%
\kvtcb@before@upper\ignorespaces#1\unskip\kvtcb@after@upper%
\end{tcb@savebox}%
+ \tcb@reset@color%
\advance\count@ 1\relax%
}%
%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
index eaca77d7971..512bf4c75c8 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%% 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{3.40}
+\tcb@set@library@version{3.50}
\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 36027d98a50..6cabae81769 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%% 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{3.40}
+\tcb@set@library@version{3.50}
\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 675bbae9f42..04d1f07266f 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,11 +18,12 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{3.40}
+\tcb@set@library@version{3.50}
\RequirePackage{pdftexcmds}
-\def\tcbuselistingtext{\input{\kvtcb@listingfile}}%
+\def\tcbuselistingtext@input{\input{\kvtcb@listingfile}}%
+\def\tcbuselistingtext{\tcbuselistingtext@input}%
\def\tcbuselistingcomment{\kvtcb@listingcomment}%
\def\tcb@listing@listing{\tcbuselistinglisting}
@@ -113,16 +114,28 @@
\fi%
}
+\def\tcb@use@lower@outside@side#1{%
+ \setbox\z@=\hbox{\begin{tcb@lower@outside}{#1}%
+ \tcb@use@listing@other@reset%
+ \end{tcb@lower@outside}}%
+ \tcb@box@align\z@%
+ \tcbdimto{\tcb@temp@wd}{\wd\z@}%
+ \unhbox\z@%
+}
+
\def\tcb@inputlisting@out@listingAndOther{%
\tcb@inputlisting@out@prepare%
\tcbdimto\tcb@w@outside{\tcb@w@lower}%
\tcbdimto\tcb@w@inside{\tcb@width-\tcb@w@lower-\kvtcb@sbs@gap}%
\begin{tcb@outside@environment}%
- \tcb@minipage{\tcb@w@inside}%
+ \setbox\z@=\hbox{\tcb@minipage{\tcb@w@inside}%
\begin{tcolorbox}[width=\tcb@w@inside,nobeforeafter,nofloat,sidebyside=false,savedelimiter=tcolorbox]\tcbuselistinglisting\end{tcolorbox}%
- \endminipage\kern\kvtcb@sbs@gap%
+ \endminipage}%
+ \tcb@box@align\z@%
+ \unhbox\z@%
+ \kern\kvtcb@sbs@gap%
\iftcb@lowervisible%
- \tcb@use@lower@outside{\tcb@w@outside}%
+ \tcb@use@lower@outside@side{\tcb@w@outside}%
\fi%
\end{tcb@outside@environment}%
}
@@ -133,14 +146,17 @@
\tcbdimto\tcb@w@inside{\tcb@width-\tcb@w@upper-\kvtcb@sbs@gap}%
\begin{tcb@outside@environment}%
\iftcb@lowervisible%
- \tcb@use@lower@outside{\tcb@w@outside}%
+ \tcb@use@lower@outside@side{\tcb@w@outside}%
\tcbdimto{\tcb@temp@wd}{\tcb@w@outside-\tcb@temp@wd+\kvtcb@sbs@gap}%
\else%
\tcbdimto{\tcb@temp@wd}{\tcb@w@outside+\kvtcb@sbs@gap}%
\fi%
- \kern\tcb@temp@wd\tcb@minipage{\tcb@w@inside}%
+ \kern\tcb@temp@wd%
+ \setbox\z@=\hbox{\tcb@minipage{\tcb@w@inside}%
\begin{tcolorbox}[width=\tcb@w@inside,nobeforeafter,nofloat,sidebyside=false,savedelimiter=tcolorbox]\tcbuselistinglisting\end{tcolorbox}%
- \endminipage%
+ \endminipage}%
+ \tcb@box@align\z@%
+ \unhbox\z@%
\end{tcb@outside@environment}%
}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
index acf5b37acd5..984f34d83d9 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%% 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{3.40}
+\tcb@set@library@version{3.50}
\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 6cd3b50e566..87dd742387b 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%% 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{3.40}
+\tcb@set@library@version{3.50}
\RequirePackage{minted}[2011/09/17]
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex
index 0a8ec07071a..18b8b6328ac 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%% 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{3.40}
+\tcb@set@library@version{3.50}
\newcounter{tcbrastercolumn}
\newcounter{tcbrasterrow}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
index 839276d50ac..578437722bd 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%% 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{3.40}
+\tcb@set@library@version{3.50}
\RequirePackage{tikz}[2010/10/13]
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
index e9e37a4845c..f1da9d6971b 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%% 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{3.40}
+\tcb@set@library@version{3.50}
\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 3e5488bb996..5be3e04e054 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%% 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{3.40}
+\tcb@set@library@version{3.50}
\RequirePackage{amsmath}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
index ec3fc14afab..628bce6e0f7 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
@@ -1,5 +1,5 @@
-%% The LaTeX package tcolorbox - version 3.40 (2015/01/14)
-%% tcbhooks.code.tex: Code for adding hooks
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
+%% tcbxparse.code.tex: Code for xparse features
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2014 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{3.40}
+\tcb@set@library@version{3.50}
\RequirePackage{xparse}[2013/12/31]
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty b/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
index 13d6b24083c..599509c476d 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 3.40 (2015/01/14)
+%% The LaTeX package tcolorbox - version 3.50 (2015/03/16)
%% tcolorbox.sty: Text color boxes
%%
%% -------------------------------------------------------------------------------------------
@@ -18,8 +18,8 @@
%% This work consists of all files listed in README
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tcolorbox}[2015/01/14 version 3.40 text color boxes]
-\def\tcb@version{3.40}
+\ProvidesPackage{tcolorbox}[2015/03/16 version 3.50 text color boxes]
+\def\tcb@version{3.50}
\RequirePackage{pgf}[2008/01/15]
\RequirePackage{verbatim}[2003/08/22]
@@ -224,16 +224,21 @@
after/.code={\def\kvtcb@afterbox{#1}\let\tcb@use@autoparskip=\relax},
autoparskip/.code={\let\tcb@use@autoparskip=\tcb@use@auto@parskip},
parskip/.style={before={\par\pagebreak[0]\parindent=0pt},after={\par}},
- noparskip/.style={before={\par\smallskip\pagebreak[0]\parindent=0pt},after={\par\smallskip}},
+ noparskip/.style={before={\ifnum\lastnodetype=-1\relax\else\par\smallskip\pagebreak[0]\fi\parindent=0pt},after={\par\smallskip}},
nobeforeafter/.style={before=,after=},
+ force nobeforeafter/.code={\tcbset@late@options{nobeforeafter}},
before skip/.style={before={%
- \par\nointerlineskip\lineskip=0pt%
- \addvspace{\glueexpr#1-\parskip}%
- \noindent%
+ \ifnum\lastnodetype=-1\relax%
+ \else%
+ \par\ifvmode\nointerlineskip%
+ \addvspace{\glueexpr#1-\parskip}%
+ \fi%
+ \fi%
+ \lineskip=0pt\noindent%
}},
after skip/.style={after={%
- \par\nointerlineskip%
- \addvspace{\glueexpr#1-\parskip}%
+ \par\ifvmode\nointerlineskip%
+ \addvspace{\glueexpr#1-\parskip}\fi%
}},
beforeafter skip/.style={before skip={#1},after skip={#1}},
before nobreak/.store in=\kvtcb@beforebox@nobreak,
@@ -423,7 +428,13 @@
extrude bottom by/.code={\tcbdimto\kvtcb@bottom{\kvtcb@bottom+#1}\tcbdimto\kvtcb@bbbottom@stand{\kvtcb@bbbottom@stand-#1}},%
extrude by/.style={extrude left by=#1,extrude right by=#1,extrude top by=#1,extrude bottom by=#1},%
sidebyside/.is if=tcb@sidebyside,%
- sidebyside align/.store in=\kvtcb@sbs@align,%
+ sidebyside align/.is choice,%
+ sidebyside align/top/.code={\def\kvtcb@sbs@align{top}\def\tcb@box@align##1{}},%
+ sidebyside align/center/.code={\def\kvtcb@sbs@align{center}\def\tcb@box@align##1{}},%
+ sidebyside align/bottom/.code={\def\kvtcb@sbs@align{bottom}\def\tcb@box@align##1{}},%
+ sidebyside align/top seam/.code={\def\kvtcb@sbs@align{top}\let\tcb@box@align\tcb@box@align@top},%
+ sidebyside align/center seam/.code={\def\kvtcb@sbs@align{center}\let\tcb@box@align\tcb@box@align@center},%
+ sidebyside align/bottom seam/.code={\def\kvtcb@sbs@align{bottom}\let\tcb@box@align\tcb@box@align@bottom},%
sidebyside gap/.dimstore in=\kvtcb@sbs@gap,%
lefthand width/.code={\def\kvtcb@sbs@ratio{#1}\let\tcb@sbs@quota=\tcb@sbs@quota@leftwidth},
righthand width/.code={\def\kvtcb@sbs@ratio{#1}\let\tcb@sbs@quota=\tcb@sbs@quota@rightwidth},
@@ -626,6 +637,16 @@
\fi%
}
+\def\tcb@set@color#1{%
+ \letcs{\current@color}{\string\color@#1}%
+ \colorlet{.}{#1}%
+}
+
+\def\tcb@reset@color{%
+ \colorlet{.}{tcbcol@origin}%
+ \letcs{\current@color}{\string\color@tcbcol@origin}%
+}
+
\def\tcb@set@@upper@and@lower{%
\colorlet{tcbcol@origin}{.}%
\let\tcb@after@box=\kvtcb@after@upper%
@@ -633,7 +654,7 @@
\def\tcblower{%
\unskip\tcb@after@box%
\end{tcb@savebox}%
- \letcs{\current@color}{\string\color@tcbcol@lower}%
+ \tcb@set@color{tcbcol@lower}%
\unless\iftcb@sidebyside%
\tcbdimto\tcb@w@lower{\tcb@innerwidth-\kvtcb@boxsep*2-\kvtcb@leftlower-\kvtcb@rightlower}%
\fi%
@@ -649,7 +670,7 @@
\tcb@startbox}%
% start of upper box
\let\endtcolorbox\tcb@endboxanddraw%
- \letcs{\current@color}{\string\color@tcbcol@upper}%
+ \tcb@set@color{tcbcol@upper}%
\tcb@saveupperbox%
}
@@ -702,6 +723,8 @@
\stepcounter{tcblayer}%
\ifnum\c@tcblayer>1%
\tcbset{breakable@true/.code=}%
+ \else%
+ \ifinner\ifhmode\tcbset{breakable@true/.code=}\fi\fi%
\fi%
\ifnum\c@tcblayer>\tcb@managed@layers@max%
\tcbset{every box on higher layers}%
@@ -716,6 +739,8 @@
\stepcounter{tcblayer}%
\ifnum\c@tcblayer>1%
\tcbset{breakable@true/.code=}%
+ \else%
+ \ifinner\ifhmode\tcbset{breakable@true/.code=}\fi\fi%
\fi%
\ifnum\c@tcblayer>\tcb@managed@layers@max%
\tcbset{every box on higher layers}%
@@ -752,7 +777,7 @@
\def\tcb@endboxanddraw{%
\unskip\tcb@after@box%
\end{tcb@savebox}%
- \letcs{\current@color}{\string\color@tcbcol@origin}%
+ \tcb@reset@color%
\tcb@draw@color@box%
\tcb@finalize@environment%
}
@@ -1118,8 +1143,21 @@
}
\let\tcb@tdraw@lower=\tcb@tdraw@lower@core
+\def\tcb@box@align@top#1{%
+ \setbox#1=\hbox{\raise-\ht#1\box#1}%
+}
+
+\def\tcb@box@align@center#1{%
+ \setbox#1=\hbox{\raise\dimexpr(\dp#1-\ht#1)/2\relax\box#1}%
+}
+
+\def\tcb@box@align@bottom#1{%
+ \setbox#1=\hbox{\raise\dp#1\box#1}%
+}
+
\def\tcb@sbs@mix{%
\begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper@real}%
+ \tcb@box@align{\tcb@upperbox}%
\iftcb@uppervisible%
\tcbdimto{\tcb@temp@wd}{\tcb@w@upper-\wd\tcb@upperbox+\kvtcb@sbs@gap}%
\noindent\unhbox\tcb@upperbox\kern\tcb@temp@wd%
@@ -1129,6 +1167,7 @@
\rule[-\dp\tcb@upperbox]{0pt}{\the\dimexpr\ht\tcb@upperbox+\dp\tcb@upperbox\relax}%
\fi%
\iftcb@hasLower%
+ \tcb@box@align{\tcb@lowerbox}%
\iftcb@lowervisible\color{tcbcol@lower}\unhbox\tcb@lowerbox%
\else%
\iftcb@lowerignored\else\rule[-\dp\tcb@lowerbox]{0pt}{\the\dimexpr\ht\tcb@lowerbox+\dp\tcb@lowerbox\relax}\fi%
@@ -1200,6 +1239,15 @@
\csname tcb@after@\tcb@split@state\endcsname%
}
+\def\tcb@set@normal@unbroken@beforeafter{%
+ \let\tcb@before@unbroken=\kvtcb@beforebox%
+ \if@nobreak%
+ \iftcb@ignorenobreak\else%
+ \let\tcb@before@unbroken=\kvtcb@beforebox@nobreak%
+ \fi%
+ \fi%
+ \let\tcb@after@unbroken=\kvtcb@afterbox%
+}
\def\tcb@drawcolorbox{%
\edef\tcb@split@state{unbroken}%
@@ -1211,13 +1259,7 @@
\let\tcb@break@bottomsep=\tcb@zpt%
% floats
\ifx\kvtcb@float\@empty%
- \let\tcb@before@unbroken=\kvtcb@beforebox%
- \if@nobreak%
- \iftcb@ignorenobreak\else%
- \let\tcb@before@unbroken=\kvtcb@beforebox@nobreak%
- \fi%
- \fi%
- \let\tcb@after@unbroken=\kvtcb@afterbox%
+ \tcb@set@normal@unbroken@beforeafter%
\else%
\edef\tcb@before@unbroken{\noexpand\tcb@float@env@begin{tcbfloat}[\kvtcb@float]\noexpand\kvtcb@everyfloat}%
\let\tcb@after@unbroken=\tcb@float@env@end%
@@ -1263,7 +1305,10 @@
\long\def\tcbox@inner@hbox#1{%
\tcbset{breakable@false,sidebyside=false}%
\tcb@set@@phantom%
- \sbox\tcb@upperbox{\color{tcbcol@upper}\kvtcb@fontupper\kvtcb@before@upper\ignorespaces#1\unskip\kvtcb@after@upper}%
+ \colorlet{tcbcol@origin}{.}%
+ \tcb@set@color{tcbcol@upper}%
+ \sbox\tcb@upperbox{\kvtcb@fontupper\kvtcb@before@upper\ignorespaces#1\unskip\kvtcb@after@upper}%
+ \tcb@reset@color%
\tcbdimto\tcb@val@raisebase{\the\dimexpr\dp\tcb@upperbox+\kvtcb@bottom+\kvtcb@boxsep+\kvtcb@bottom@rule@stand+\kvtcb@bbbottom@stand\relax}%
\tcbdimto\kvtcb@width{\wd\tcb@upperbox+\kvtcb@left@rule+\kvtcb@leftupper+\kvtcb@boxsep*2+\kvtcb@rightupper+\kvtcb@right@rule}%
\tcb@hasLowerfalse%
@@ -1278,7 +1323,10 @@
\tcb@set@@phantom%
\tcb@set@@title%
\tcb@set@@dimensions%
- \begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}\color{tcbcol@upper}\kvtcb@fontupper\kvtcb@before@upper\ignorespaces#1\unskip\kvtcb@after@upper\end{tcb@savebox}%
+ \colorlet{tcbcol@origin}{.}%
+ \tcb@set@color{tcbcol@upper}%
+ \begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}\kvtcb@fontupper\kvtcb@before@upper\ignorespaces#1\unskip\kvtcb@after@upper\end{tcb@savebox}%
+ \tcb@reset@color%
\tcb@hasLowerfalse%
\tcb@draw@color@box%
}
@@ -1330,6 +1378,20 @@
\def\tcb@new@label@type{\begingroup\edef\x{\endgroup\noexpand\appto\noexpand\tcb@new@colopt{,label type=\tcb@new@boxname}}\x}
+\def\tcb@blend@beforetitle#1{#1:\ }
+
+\tcbset{%
+ blend before title code/.code={\def\tcb@blend@beforetitle##1{#1}},
+ blend before title/.is choice,
+ blend before title/colon/.style={blend before title code={##1:\ }},
+ blend before title/dash/.style={blend before title code={##1 --\ }},
+ blend before title/colon hang/.style={blend before title code={%
+ \setbox\z@=\hbox{##1:\ }\hangindent\wd\z@\hangafter=1\mbox{\unhbox\z@}}},
+ blend before title/dash hang/.style={blend before title code={%
+ \setbox\z@=\hbox{##1 --\ }\hangindent\wd\z@\hangafter=1\mbox{\unhbox\z@}}},
+ blend before title=colon,
+}
+
\tcbset{%
new/.cd,%
use counter/.code={\edef\kvtcb@new@counter{#1}\let\tcb@proc@counter=\tcb@proc@counter@use},
@@ -1350,9 +1412,9 @@
Crefname/.code 2 args={\begingroup\edef\x{\endgroup\noexpand\Crefname{\tcb@new@boxname}}\x{#1}{#2}\tcb@new@label@type},
%
blend into/.is choice,%
- blend into/figures/.style={use counter*=figure,list inside=lof,/tcb/code={\appto\tcb@new@colopt{,before title={\fnum@figure:\ }}}},%
- blend into/tables/.style={use counter*=table,list inside=lot,/tcb/code={\appto\tcb@new@colopt{,before title={\fnum@table:\ }}}},%
- blend into/listings/.style={use counter*=lstlisting,list inside=lol,/tcb/code={\appto\tcb@new@colopt{,before title={\lstlistingname~\thetcbcounter:\ }}}},%
+ blend into/figures/.style={use counter*=figure,list inside=lof,/tcb/code={\appto\tcb@new@colopt{,before title={\tcb@blend@beforetitle{\fnum@figure}}}}},%
+ blend into/tables/.style={use counter*=table,list inside=lot,/tcb/code={\appto\tcb@new@colopt{,before title={\tcb@blend@beforetitle{\fnum@table}}}}},%
+ blend into/listings/.style={use counter*=lstlisting,list inside=lol,/tcb/code={\appto\tcb@new@colopt{,before title={\tcb@blend@beforetitle{\lstlistingname~\thetcbcounter}}}}},%
%
reset@new/.style={no counter,number within=,number format=\arabic,number freestyle=,list inside=,list type=tcolorbox,init@hook@clear},
}
@@ -1521,9 +1583,13 @@
\newwrite\tcb@out
+\let\tcb@verbatim@begin@hook\@empty
+\let\tcb@verbatim@end@hook\@empty
+
\def\tcbverbatimwrite#1{%
\@bsphack
- \immediate\openout \tcb@out #1
+ \immediate\openout\tcb@out #1
+ \tcb@verbatim@begin@hook%
\let\do\@makeother\dospecials
\catcode`\^^M\active \catcode`\^^I=12
\def\verbatim@processline{%
@@ -1533,6 +1599,7 @@
\def\endtcbverbatimwrite{%
+ \tcb@verbatim@end@hook%
\immediate\closeout\tcb@out
\@esphack%
}
@@ -1705,10 +1772,11 @@
\tcb@add@library{hooks}{tcbhooks.code.tex}
\tcb@add@library{fitting}{tcbfitting.code.tex}
\tcb@add@library{xparse}{tcbxparse.code.tex}
+\tcb@add@library{external}{tcbexternal.code.tex}
\tcb@add@library@style{many}{raster,skins,breakable,hooks,theorems,fitting,xparse}
-\tcb@add@library@style{most}{many,listingsutf8}
-\tcb@add@library@style{all}{many,minted,listingsutf8,documentation}
+\tcb@add@library@style{most}{many,listingsutf8,external}
+\tcb@add@library@style{all}{many,minted,listingsutf8,external,documentation}
\ProcessOptions*
\edef\tcb@temp{\noexpand\tcbuselibrary{\tcb@optionlist}}