summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-07-17 22:42:08 +0000
committerKarl Berry <karl@freefriends.org>2015-07-17 22:42:08 +0000
commit08adba3b71e8de03f7aa8b24b9c99f7b9fbd58f7 (patch)
treefd58e50226dd3b2456d29f76a43aa39137c1d37c /Master
parentde0e37b2f2d2da31dfe9bcbfbb27140db33fad40 (diff)
tcolorbox (16jul15)
git-svn-id: svn://tug.org/texlive/trunk@37876 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/CHANGES33
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/README4
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdfbin361293 -> 361291 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex2
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex135
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex71
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex45
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex10
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.magazine.tex438
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty16
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex3
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdfbin5631204 -> 5893001 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex11
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex45
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex12
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex15
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex174
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex8
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty58
29 files changed, 1052 insertions, 72 deletions
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/CHANGES b/Master/texmf-dist/doc/latex/tcolorbox/CHANGES
index 03ab06e6547..9bb26763b94 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/16)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2014 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
@@ -777,3 +777,34 @@ version 3.61 (2015/06/12)
* now throws an error if the same external job name is used twice
* new option: '-'
- documentation bug fixes
+
+version 3.70 (2015/07/16)
+- bug fix: 'attach title to upper' attached also empty titles
+- bug fix: library 'raster': blank line after tcbitemize or tcbraster could give an error message
+- new options:
+ 'text fill', 'valign scale bound',
+ 'valign=scale', 'valigns=scale*', 'valign lower=scale', 'valign lower=scale*'
+- library 'breakable':
+ * Settings for broken box parts are now shielded by TeX grouping. This may
+ break code which used side-effects with unproper skins.
+ * new options:
+ 'extras unbroken', 'extras first', 'extras middle', 'extras last',
+ 'extras', 'extras broken', 'extras unbroken and first',
+ 'extras unbroken and last', 'extras middle and last',
+ 'extras first and middle', 'no extras unbroken', 'no extras first',
+ 'no extras middle', 'no extras last', 'no extras',
+- library 'hooks':
+ * new options:
+ 'extras unbroken pre', 'extras first pre', 'extras middle pre',
+ 'extras last pre', 'extras pre', 'extras broken pre',
+ 'extras unbroken and first pre', 'extras unbroken and last pre',
+ 'extras middle and last pre', 'extras first and middle pre',
+- new library 'magazine'
+ * new macros and environments:
+ '\newboxarray', '\boxarraygetsize', '\boxarrayreset', '\boxarrayclear',
+ '\boxarraygetbox', '\boxarraygetwidth', '\boxarraygetheight', '\boxarraygetdepth',
+ '\boxarraygettotalheight', '\useboxarray', '\usetcboxarray',
+ '\consumeboxarray', '\consumetcboxarray', 'boxarraystore',
+ * new options:
+ 'store to box array', 'reset box array', 'do not store to box array',
+ 'reset and store to box array'
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/README b/Master/texmf-dist/doc/latex/tcolorbox/README
index b3d92ba258e..9756b6a69a4 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/16)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2014 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
@@ -37,6 +37,7 @@ Contents of the package
'tcblistings.code.tex' LaTeX package file (library of tcolorbox)
'tcblistingscore.code.tex' LaTeX package file (library of tcolorbox)
'tcblistingsutf8.code.tex' LaTeX package file (library of tcolorbox)
+ 'tcbmagazine.code.tex' LaTeX package file (library of tcolorbox)
'tcbminted.code.tex' LaTeX package file (library of tcolorbox)
'tcbraster.code.tex' LaTeX package file (library of tcolorbox)
'tcbskins.code.tex' LaTeX package file (library of tcolorbox)
@@ -69,6 +70,7 @@ Alternatively, put the files to their respective locations within the TeX instal
'tcblistings.code.tex' -> /tex/latex/tcolorbox
'tcblistingscore.code.tex' -> /tex/latex/tcolorbox
'tcblistingsutf8.code.tex' -> /tex/latex/tcolorbox
+ 'tcbmagazine.code.tex' -> /tex/latex/tcolorbox
'tcbminted.code.tex' -> /tex/latex/tcolorbox
'tcbraster.code.tex' -> /tex/latex/tcolorbox
'tcbskins.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 32eeb7fd28e..3305b3ea612 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 529a43bebd5..4903e15ba73 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/16)
%% tcolorbox-example.tex: an example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex
index a24a90b29a4..0cd8bc26647 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex
@@ -413,6 +413,141 @@ and \refKey{/tcb/enlarge bottom at break by}.
actually broken.
\end{docTcbKey}
+
+\clearpage
+\subsection{Extra Options for Partial Boxes}\label{subsec:extras}
+
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras}{=\marg{options}}{no default, initially unset}
+ Adds |tcolorbox| \meta{options} to every box of a \emph{break sequence}
+ after skin settings are done. This is quite late in box processing.
+ Geometry and break settings should \emph{not be used} here, because they
+ will either be ignored or have unexpected negative results. But it is possible
+ to change most colors, skin effects, shadows, borders, frame code, etc.
+ Note that using \refKey{/tcb/extras} for every box is very seldom an
+ advantage over setting the options directly. Usually, \refKey{/tcb/extras first},
+ \refKey{/tcb/extras middle}, etc.\ are sensible to apply.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc new=2015-07-16]{no extras}{}{style, no default, initially set}
+ Removes all extras if set before.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras broken}{=\marg{options}}{no default, initially unset}
+ If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
+ then the \meta{options} are added to every box of the \emph{break sequence}.
+ \refKey{/tcb/extras} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras unbroken}{=\marg{options}}{no default, initially unset}
+ If the box is set to be \refKey{/tcb/breakable} but \emph{is not} broken actually
+ or if the box is set to be \refKey{/tcb/unbreakable},
+ then the \meta{options} are added to the box.
+ \refKey{/tcb/extras} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{no extras unbroken}{}{style, no default, initially set}
+ Removes the unbroken extras if set before.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras first}{=\marg{options}}{no default, initially unset}
+ If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
+ then the \meta{options} are added to the \emph{first} box of the break sequence.
+ \refKey{/tcb/extras} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{no extras first}{}{style, no default, initially set}
+ Removes the first extras if set before.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras middle}{=\marg{options}}{no default, initially unset}
+ If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
+ then the \meta{options} are added to every \emph{middle} box (if any) of the break sequence.
+ \refKey{/tcb/extras} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{no extras middle}{}{style, no default, initially set}
+ Removes the middle extras if set before.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras last}{=\marg{options}}{no default, initially unset}
+ If the box is set to be \refKey{/tcb/breakable} and \emph{is} broken actually,
+ then the \meta{options} are added to the \emph{last} box of the break sequence.
+ \refKey{/tcb/extras} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{no extras last}{}{style, no default, initially set}
+ Removes the last extras if set before.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras unbroken and first}{=\marg{options}}{no default, initially unset}
+ This is an abbreviation for setting
+ \refKey{/tcb/extras unbroken} and
+ \refKey{/tcb/extras first} together.
+ \refKey{/tcb/extras} overwrites this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras middle and last}{=\marg{options}}{no default, initially unset}
+ This is an abbreviation for setting
+ \refKey{/tcb/extras middle} and
+ \refKey{/tcb/extras last} together.
+ \refKey{/tcb/extras} overwrites this key.
+\end{docTcbKey}
+
+\enlargethispage*{1cm}
+\begin{docTcbKey}[][doc new=2015-07-16]{extras unbroken and last}{=\marg{options}}{no default, initially unset}
+ This is an abbreviation for setting
+ \refKey{/tcb/extras unbroken} and
+ \refKey{/tcb/extras last} together.
+ \refKey{/tcb/extras} overwrites this key.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras first and middle}{=\marg{options}}{no default, initially unset}
+ This is an abbreviation for setting
+ \refKey{/tcb/extras first} and
+ \refKey{/tcb/extras middle} together.
+ \refKey{/tcb/extras} overwrites this key.
+\end{docTcbKey}
+
+\clearpage
+\begin{exdispExample}{extras}
+% \usepackage{lipsum,multicol}
+% \usetikzlibrary{decorations.pathmorphing}
+% \tcbuselibrary{skins}
+\newtcolorbox{mybox}[1][]{
+ enhanced,frame hidden,
+ colframe=yellow,
+ sharp corners,
+ colback=green!7,coltitle=blue!50!black,colbacktitle=blue!5,
+ center title,
+ boxrule=0pt,toprule=1.25mm,bottomrule=1.25mm,
+ extras unbroken and first={
+ borderline north={0.25mm}{0.5mm}{blue,decoration={zigzag,amplitude=0.5mm},decorate}},
+ extras unbroken and last={
+ borderline south={0.25mm}{0.5mm}{blue,decoration={zigzag,amplitude=0.5mm},decorate}},
+ #1
+}
+
+\begin{mybox}[title=My unbroken box]
+\lipsum[1]
+\end{mybox}
+
+\begin{multicols}{3}
+ \begin{mybox}[title=My broken box,
+ enforce breakable,% use only breakable in the real world!
+ break at=4.2cm,pad at break=2mm,
+ height fixed for=first and middle, ]
+ \lipsum[2]
+ \end{mybox}
+\end{multicols}
+\end{exdispExample}
+
+
+
+
\clearpage
\subsection{Breakable boxes and the \texttt{multicol} package}\label{subsec:multicol}
\begin{multicols}{2}
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 6405686ced9..75446e5d5d0 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
@@ -117,7 +117,7 @@ Attaches the title to its normal position. This option is used to reverse
\end{docTcbKey}
-\begin{docTcbKey}{attach title to upper}{\colOpt{=\meta{text}}}{style, default empty, initially unset}
+\begin{docTcbKey}[][doc updated=2015-07-08]{attach title to upper}{\colOpt{=\meta{text}}}{style, default empty, initially unset}
Attaches the title to the begin of the upper part of the box content.
The optional \meta{text} is set between the formatted title and the box content.
\begin{dispExample}
@@ -738,16 +738,26 @@ The vertical alignment settings are only relevant for boxes which are larger
than their natural height, see \Fullref{sec:heightcontrol}.
\end{marker}
-\begin{docTcbKey}{valign}{=\meta{alignment}}{no default, initially |top|}
+\begin{docTcbKey}[][doc updated=2015-07-16]{valign}{=\meta{alignment}}{no default, initially |top|}
If the height of a |tcolorbox| is not the natural height, |valign|
determines the vertical \meta{alignment} of the upper part.
- Feasible values are \docValue{top}, \docValue{center}, and \docValue{bottom}.
- For a box with natural height, these values are meaningless.
+ Feasible values are
+ \begin{itemize}
+ \item\docValue{top}: Anchor text at top.
+ \item\docValue{center}: Anchor text at center.
+ \item\docValue{bottom}: Anchor text at bottom.
+ \item\docValue{scale}: Scale text vertically to fit into the available space.
+ This is brutal and may not look very good. Consider \Fullref{sec:fitting}
+ alternatively.
+ \item\docValue{scale*}: Like \docValue{scale}, but scaling is bounded by
+ \refKey{/tcb/valign scale limit}.
+ \end{itemize}
+ For a box with natural height, these settings are meaningless.
\begin{exdispExample}{valign}
-\tcbset{width=(\linewidth-2mm)/3,before=,after=\hfill,
+\tcbset{width=(\linewidth-2mm)/4,before=,after=\hfill,
colframe=blue!75!black,colback=white,height=2cm}
-\foreach \myalign in {top,center,bottom}
+\foreach \myalign in {top,center,bottom,scale}
{\begin{tcolorbox}[valign=\myalign]
This is a \textbf{tcolorbox}.
\end{tcolorbox}}
@@ -759,12 +769,18 @@ colframe=blue!75!black,colback=white,height=2cm}
Alias for \refKey{/tcb/valign}.
\end{docTcbKey}
-
\begin{docTcbKey}{valign lower}{=\meta{alignment}}{no default, initially |top|}
This key has the same meaning for the lower part as |valign|
for the upper part, i.\,e., it determines
the vertical \meta{alignment} of the lower part with feasible values
- |top|, |center|, and |bottom|.
+ |top|, |center|, |bottom|, |scale|, and |scale*|.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{valign scale limit}{=\meta{real number}}{no default, initially \texttt{1.1}}
+ Sets an upper scale limit for the \docValue{scale*} setting in
+ \refKey{/tcb/valign} and \refKey{/tcb/valign lower}.
+ Note that this value is not reset by \refKey{/tcb/reset}. So, changes
+ also apply to embedded boxes.
\end{docTcbKey}
@@ -1684,7 +1700,7 @@ available vertical space of the current page.
If set to \docValue{maximum}, the page is compressed as much as possible.
Note that the |tcolorbox|
is always set as its own paragraph using this option.
-%This option overrules \refKey{/tcb/natural height}, \refKey{/tcb/height}, etc.
+Also see \refKey{/tcb/text fill}.
\begin{marker}
Note that the library \mylib{breakable} has to be loaded to use this key!
\end{marker}
@@ -1971,6 +1987,35 @@ This is the lower part.
\clearpage
\begin{marker}
+If \refKey{/tcb/text fill} is used, one cannot have a lower part
+and the box is unbreakable.
+\end{marker}
+
+\begin{docTcbKey}[][doc new=2015-07-15]{text fill}{}{style, no value}
+ This style sets \refKey{/tcb/before upper} and \refKey{/tcb/after upper}
+ to embedd the upper part with a minipage. If a fixed height was applied
+ e.g.\ by \refKey{/tcb/height} or \refKey{/tcb/height fill}, this minipage
+ gets a matching height. This allows to use vertical glue macros like
+ |\vfill| to act like expected. If the box has no fixed height,
+ setting \refKey{/tcb/text fill} has no other effect as making the box
+ unbreakable.
+\begin{exdispExample}{text_fill}
+\begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
+ height=8cm,text fill,
+ title=My filled box]
+This is a \textbf{tcolorbox}.
+\par\vfill
+\begin{center}
+ My middle text.
+\end{center}
+\par\vfill
+This is the end of my box.
+\end{tcolorbox}
+\end{exdispExample}
+\end{docTcbKey}
+
+\clearpage
+\begin{marker}
If \refKey{/tcb/tabularx} or \refKey{/tcb/tabularx*} are used, one cannot
have a lower part.
\end{marker}
@@ -1981,7 +2026,7 @@ have a lower part.
given \meta{preamble}.
The packages |tabularx| \cite {carlisle:2014a}, |array|, and |colortbl|
have to be loaded separately.
-\begin{dispExample}
+\begin{exdispExample}{tabularx_1}
% \usepackage{array,tabularx}
% \usepackage{colortbl} - or - \usepackage[table]{xcolor}
\newcolumntype{Y}{>{\raggedleft\arraybackslash}X}% see tabularx
@@ -1996,14 +2041,14 @@ 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
\end{tcolorbox}
-\end{dispExample}
+\end{exdispExample}
\end{docTcbKey}
\begin{docTcbKey}{tabularx*}{=\marg{code}\marg{preamble}}{style}
This is a variant of \refKey{/tcb/tabularx} which adds some \meta{code}
before the table starts.
-\begin{dispExample}
+\begin{exdispExample}{tabularx_2}
% \usepackage{array,tabularx}
% \usepackage{colortbl} - or - \usepackage[table]{xcolor}
\tcbset{enhanced,fonttitle=\bfseries\large,fontupper=\normalsize\sffamily,
@@ -2015,7 +2060,7 @@ One & Two & Three \\\hline\hline
1000.00 & 2000.00 & 3000.00\\\hline
2000.00 & 3000.00 & 4000.00
\end{tcolorbox}
-\end{dispExample}
+\end{exdispExample}
\end{docTcbKey}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex
index ffaa81a64b1..47684bfcd29 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.hooks.tex
@@ -433,7 +433,6 @@ There are no |app| type keys since underlays are stackable by default.
The following option keys extend the options given in \Vref{subsec:skinfinish}.
There are no |app| type keys since finishes are stackable by default.
-
\begin{docTcbKey}{finish pre}{=\meta{graphical code}}{no default}
Prepends the given \meta{graphical code} to \refKey{/tcb/finish}.
\end{docTcbKey}
@@ -531,4 +530,48 @@ from page \pageref{subsec:addcodeoptions}.
\end{docTcbKey}
+\clearpage
+\subsection{Extras}
+The following option keys extend the options given in \Vref{subsec:extras}.
+There are no |app| type keys since extras are stackable by default.
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras pre}{=\marg{options}}{no default}
+ Prepends the given \meta{options} to \refKey{/tcb/extras}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras unbroken pre}{=\marg{options}}{no default}
+ Prepends the given \meta{options} to \refKey{/tcb/extras unbroken}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras first pre}{=\marg{options}}{no default}
+ Prepends the given \meta{options} to \refKey{/tcb/extras first}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras middle pre}{=\marg{options}}{no default}
+ Prepends the given \meta{options} to \refKey{/tcb/extras middle}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras last pre}{=\marg{options}}{no default}
+ Prepends the given \meta{options} to \refKey{/tcb/extras last}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras broken pre}{=\marg{options}}{no default}
+ Prepends the given \meta{options} to \refKey{/tcb/extras broken}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras unbroken and first pre}{=\marg{options}}{no default}
+ Prepends the given \meta{options} to \refKey{/tcb/extras unbroken and first}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras middle and last pre}{=\marg{options}}{no default}
+ Prepends the given \meta{options} to \refKey{/tcb/extras middle and last}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras unbroken and last pre}{=\marg{options}}{no default}
+ Prepends the given \meta{options} to \refKey{/tcb/extras unbroken and last}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2015-07-16]{extras first and middle pre}{=\marg{options}}{no default}
+ Prepends the given \meta{options} to \refKey{/tcb/extras first and middle}.
+\end{docTcbKey}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
index a46240ef4df..554c073df54 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
@@ -124,7 +124,12 @@ The following keys are used inside |\tcbuselibrary| respectively
\begin{docTcbKey}[library]{breakable}{}{\mylib{breakable}}
Provides support for automatic box breaking from one page to another;
- see Section~\ref{sec:breakable} from page~\pageref{sec:breakable}.
+ see \Fullref{sec:breakable}.
+\end{docTcbKey}
+
+\begin{docTcbKey}[library]{magazine}{}{\mylib{magazine}}
+ Provides support for storing broken box parts to be used later or
+ in interchanged order, \Fullref{sec:magazine}.
\end{docTcbKey}
\begin{docTcbKey}[library]{fitting}{}{\mylib{fitting}}
@@ -143,12 +148,12 @@ The following keys are used inside |\tcbuselibrary| respectively
see Section~\ref{sec:xparse} from page~\pageref{sec:xparse}.
\end{docTcbKey}
+\clearpage
\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
@@ -191,6 +196,7 @@ The following keys are used inside |\tcbuselibrary| respectively
\mylib{skins}\\
\mylib{raster}\\
\mylib{breakable}\\
+ \mylib{magazine}\\
\mylib{theorems}\\
\mylib{fitting}\\
\mylib{hooks}\\
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.magazine.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.magazine.tex
new file mode 100644
index 00000000000..fd4d197c829
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.magazine.tex
@@ -0,0 +1,438 @@
+% !TeX root = tcolorbox.tex
+% include file of tcolorbox.tex (manual of the LaTeX package tcolorbox)
+\clearpage
+\section{Library \mylib{magazine}}\label{sec:magazine}%
+\tcbset{external/prefix=external/magazine_}%
+\newboxarray{myarticle}
+
+\begin{tcolorbox}[
+ enhanced jigsaw,
+ size=small,width=6cm,
+ title=Example Article,
+ fonttitle=\bfseries,center title,
+ fontupper=\small,
+ %height fixed for=first and middle,
+ watermark text=\arabic{tcbbreakpart},
+ breakable,
+ break at=8.5\baselineskip/9\baselineskip,
+ reset and store to box array=myarticle,
+ colframe=green!50!black,
+ colback=green!10,
+ pad at break=5mm,
+ ]
+This is an example for an article which starts right here and
+is continued to the following pages.
+The body text for the article is written inside a single
+|tcolorbox|. This box is split into parts using the tools from
+this section, namely \refKey{/tcb/reset and store to box array}
+with a new box array |myarticle| which was created by
+|\newboxarray{myarticle}|.
+
+The resulting parts are distributed throughout this
+\Fullref{sec:magazine} using \refCom{consumetcboxarray}
+at the appropriate places you see.
+The linking texts like \emph{continued on page x} are created
+by \refKey{/tcb/finish} commands for the embedding \refCom{tcbox}.
+To label the box parts, \refKey{/tcb/phantomlabel} is used.
+
+These quite small partial boxes are for demonstration purposes.
+With the tools of this section, a magazine type document could be
+created, but this still needs a lot of manual control.
+\end{tcolorbox}
+
+\newtcolorbox{articleside}[1][]{blanker,sidebyside,sidebyside gap=5mm,sidebyside align=top seam,
+ parbox=false,righthand width=6cm,
+ goto/.style={finish={\node[above=-2pt,color=green!50!black] at (frame.south)
+ {\slshape\scriptsize --- continued on page~\hypersetup{linkcolor=green!50!black}\pageref{myarticle-##1}\ \textcolor{green!50!black}{---}};}},
+ from/.style={finish={\node[below=-1pt,color=green!50!black] at (frame.north)
+ {\slshape\scriptsize --- continued from page~\hypersetup{linkcolor=green!50!black}\pageref{myarticle-##1}\ \textcolor{green!50!black}{---}};}},
+ #1}
+
+\begin{articleside}[after skip=6pt]
+The main purpose of this library is to store a |tcolorbox| into an array
+of box registers for later usage.
+
+If the |tcolorbox| is not breakable, there is not much add-on
+compared to usual \TeX/\LaTeX\ box storage and usage (and you do not really need this
+library for that use case).
+For a breakable |tcolorbox|, this library allows to capture all partial boxes
+into a sequence of registers. The partial boxes can be used anywhere in
+arbitrary order.
+\tcblower\consumetcboxarray[myarticle]{1}{blanker,nobeforeafter,phantomlabel=myarticle-one,goto=two}
+\end{articleside}
+
+The name of this library indicates \emph{magazine} in the sense of storage,
+but also in the sense of a journal where an article often is \emph{continued on page x}.
+An example for this kind of application is given throughout this section starting
+on the right hand side. The creation of this library was motivated by
+Ulrike Fischer and Steven B.~Segletes.
+
+The library is loaded by a package option or inside the preamble by:
+\begin{dispListing}
+ \tcbuselibrary{magazine}
+\end{dispListing}
+This also loads the library \mylib{breakable}, see \Fullref{sec:breakable}.
+
+\begin{marker}
+The box register operations of this library are global. \TeX\ grouping will
+not clear the registers when leaving the current group. Also be aware that
+extensive use of large box arrays may eat up \TeX's available memory and
+registers.
+\end{marker}
+
+
+\subsection{Creation and Resetting of Box Arrays}\label{subsec:magazine_creation}
+
+\begin{docCommand}[doc new=2015-07-13]{newboxarray}{\marg{name}}
+ This creates a new box array called \meta{name}. There already is a
+ box array available with name |default| which can be used directly.
+ Note that the creation is a global operation.
+\begin{dispListing}
+\newboxarray{myarray}
+\end{dispListing}
+\end{docCommand}
+
+
+\begin{docCommand}[doc new=2015-07-13]{boxarrayreset}{\oarg{name}}
+ Resets the size counter of a box array \meta{name} to zero.
+ If \meta{name} is not provided, |default| is used as name.
+ Use this or \refKey{/tcb/reset box array} before
+ you apply \refKey{/tcb/store to box array}. Otherwise, all boxes would
+ be appended to the already existing boxes.
+ This command does not clear box registers.
+\begin{dispListing}
+\boxarrayreset % resets 'default'
+\boxarrayreset{myarray} % resets 'myarray'
+\end{dispListing}
+\end{docCommand}
+
+\begin{docTcbKey}[][doc new=2015-07-13]{reset box array}{\colOpt{=\meta{name}}}{default |default|, initially unset}
+ Resets the size counter of a box array \meta{name} to zero.
+ Use this or \refCom{boxarrayreset} (which does the same) before
+ you apply \refKey{/tcb/store to box array}.
+\begin{dispListing}
+\tcbset{
+ reset box array, % resets 'default'
+ reset box array=myarray, % resets 'myarray'
+}
+\end{dispListing}
+\end{docTcbKey}
+
+\clearpage
+\begin{docCommand}[doc new=2015-07-13]{boxarrayclear}{\oarg{name}}
+ Works like \refCom{boxarrayreset} to reset the size counter of a
+ box array \meta{name} to zero. Additionally, all allocated box registers
+ of the box array are cleared of their content.
+ Note that the allocated box registers stay allocated. So, this may be
+ useful to clear memory, but not to free registers for other applications.
+ If \refCom{consumeboxarray} or \refCom{consumetcboxarray} was used to
+ apply the stored boxes, there is no advantage in using \refCom{boxarrayclear}.
+\begin{dispListing}
+\boxarrayclear % clears 'default'
+\boxarrayclear{myarray} % clears 'myarray'
+\end{dispListing}
+\end{docCommand}
+
+
+
+\subsection{Storing Content}\label{subsec:magazine_storing}
+
+\begin{docTcbKey}[][doc new=2015-07-13]{store to box array}{\colOpt{=\meta{name}}}{default |default|, initially unset}
+Stores a |tcolorbox| or all parts of a break sequence of a |tcolorbox| into
+a box array \meta{name}. If no \meta{name} is given, the already existing |default|
+box array is used. Otherwise, the box array has to be created beforehand
+with \refCom{newboxarray}. Note that the box has to be \refKey{/tcb/breakable},
+if the box shall break into several parts.
+Typically, manual break points are additionally defined by \refKey{/tcb/break at}.
+Otherwise, the box parts will have a length of about |\textheight|.
+For most use cases, a \refKey{/tcb/reset box array} should be applied
+to reset the box array counter.\enlargethispage*{2cm}
+
+\begin{exdispExample}{storetoboxarray_1}
+% \usepackage{lipsum}
+\begin{tcolorbox}[enhanced jigsaw,size=fbox,width=4cm,
+ colback=yellow!10,colframe=yellow!10!black,
+ enforce breakable,% use only breakable in the real world!
+ break at=7cm/4cm,
+ height fixed for=all,
+ watermark text=\arabic{tcbbreakpart},
+ reset box array,
+ store to box array
+ ]
+\lipsum[1]
+\end{tcolorbox}
+
+\useboxarray{1}\hfill
+\begin{tabular}[b]{cc}
+\multicolumn{2}{c}{\includegraphics[width=7cm]{Basilica_5.png}}\\
+\useboxarray{2} & \useboxarray{3}
+\end{tabular}
+\end{exdispExample}
+
+\clearpage
+If the first box part should fill the rest of the available space of
+the current page, you can use |\pagegoal-\pagetotal| minus some distance for
+the first element of \refKey{/tcb/break at}. You may want to have some
+additional distance to the preceeding text.
+
+\begin{dispListing}
+% \usepackage{lipsum}
+\begin{tcolorbox}[enhanced,breakable,
+ reset box array,
+ store to box array,
+ break at=\pagegoal-\pagetotal-5mm/0pt,
+ height fixed for=first and middle]
+\lipsum[1-15]
+\end{tcolorbox}%
+%
+\consumetcboxarray{1}{blanker,before=\par\vfill\noindent}
+\end{dispListing}
+
+
+\begin{exdispExample}{storetoboxarray_2}
+\begin{tcolorbox}[blanker,width=4cm,
+ fontupper=\footnotesize,
+ enforce breakable,% use only breakable in the real world!
+ break at=4cm,
+ height fixed for=all,
+ watermark text=\arabic{tcbbreakpart},
+ reset box array,
+ store to box array
+ ]
+\includegraphics[width=\linewidth]{Basilica_5.png}\par
+\lipsum[1-2]
+\end{tcolorbox}
+
+\begin{tcbitemize}[raster columns=3,raster equal height,
+ size=small,halign=center,sharp corners,colback=blue!5]
+\tcbitem\consumeboxarray{5}
+\tcbitem\consumeboxarray{6}
+\tcbitem\consumeboxarray{1}
+\tcbitem\consumeboxarray{2}
+\tcbitem\consumeboxarray{3}
+\tcbitem\consumeboxarray{4}
+\end{tcbitemize}
+\end{exdispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc new=2015-07-13]{reset and store to box array}{\colOpt{=\meta{name}}}{style, default |default|, initially unset}
+ Combination of \refKey{/tcb/reset box array} and \refKey{/tcb/store to box array}.
+\end{docTcbKey}
+
+
+
+\begin{docTcbKey}[][doc new=2015-07-13]{do not store to box array}{}{style, no default, initially set}
+Disables the \refKey{/tcb/store to box array} option, if set before.
+\end{docTcbKey}
+
+
+\begin{docEnvironment}[doc new=2015-07-13]{boxarraystore}{\marg{name}}
+ Stores the environment content into a box array \meta{name}.
+ This corresponds to the standard \LaTeX\ environment |lrbox|, but
+ the storage operation is global. As long as \refCom{boxarrayreset} is
+ not used, every new \refEnv{boxarraystore} adds a further box to
+ the array.
+
+\begin{dispExample}
+\boxarrayreset
+\begin{boxarraystore}{default}\fbox{Mary}\end{boxarraystore}
+\begin{boxarraystore}{default}\fbox{Had}\end{boxarraystore}
+\begin{boxarraystore}{default}\fbox{a}\end{boxarraystore}
+\begin{boxarraystore}{default}\fbox{Little}\end{boxarraystore}
+\begin{boxarraystore}{default}\fbox{Lamb}\end{boxarraystore}
+\useboxarray{5}\useboxarray{4}\useboxarray{3}\useboxarray{2}\useboxarray{1}\hfill
+\useboxarray{1}\useboxarray{5}
+\end{dispExample}
+\end{docEnvironment}
+
+\subsection{Retrieving Content}\label{subsec:magazine_retrieve}
+
+\begin{docCommand}[doc new=2015-07-13]{boxarraygetsize}{\oarg{name}\marg{macro}}
+\begin{articleside}[before skip=5pt]
+ Stores the current size of a box array \meta{name} into a given \meta{macro}.
+ If no \meta{name} is given, the already existing |default| box array is used.
+\begin{dispExample}
+\boxarraygetsize{\mysize}
+Current size of the default box array:
+\mysize.
+\end{dispExample}
+\tcblower\consumetcboxarray[myarticle]{2}{blanker,nobeforeafter,phantomlabel=myarticle-two,from=one,goto=three}
+\end{articleside}
+\end{docCommand}
+
+\begin{docCommand}[doc new=2015-07-13]{useboxarray}{\oarg{name}\marg{index}}
+ Typesets the box with the given \meta{index} number from the box array \meta{name}.
+ If no \meta{name} is given, the already existing |default| box array is used.
+ It is considered an error, if a not existing box array \meta{name} is used.
+ It is silently ignored, if the \meta{index} is out of range.
+ Note that \refCom{useboxarray} corresponds to the standard |\usebox| macro,
+ respectively, |\copy|.
+\begin{dispExample}
+\boxarraygetsize{\mysize}
+\foreach \n in {1,...,\mysize} { \useboxarray{\n} }
+\end{dispExample}
+\end{docCommand}
+
+\clearpage
+\begin{docCommand}[doc new=2015-07-13]{usetcboxarray}{\oarg{name}\marg{index}\marg{options}}
+ Typesets the box with the given \meta{index} number from the box array \meta{name}
+ using \refCom{useboxarray} as content of a \refCom{tcbox}.
+ If no \meta{name} is given, the already existing |default| box array is used.
+ It is considered an error, if a not existing box array \meta{name} is used.
+ It is silently ignored, if the \meta{index} is out of range.
+ The \refCom{tcbox} can be customized by |tcolorbox| \meta{options}.
+\begin{dispExample}
+\boxarraygetsize{\mysize}
+\foreach \n in {1,...,\mysize} { \usetcboxarray{\n}{on line,colframe=yellow,
+ colback=yellow!10} }
+\end{dispExample}
+\end{docCommand}
+
+
+\begin{docCommand}[doc new=2015-07-13]{consumeboxarray}{\oarg{name}\marg{index}}
+ Typesets the box with the given \meta{index} number from the box array \meta{name}.
+ If no \meta{name} is given, the already existing |default| box array is used.
+ It is considered an error, if a not existing box array \meta{name} is used.
+ It is silently ignored, if the \meta{index} is out of range.
+ In contrast to \refCom{useboxarray},
+ \refCom{consumeboxarray} corresponds to the standard |\box| macro, i.e.
+ after typesetting the box register is cleared and cannot be used again.
+\begin{dispExample}
+\boxarraygetsize{\mysize}
+First run: \foreach \n in {1,...,\mysize} { \consumeboxarray{\n} }
+\par
+Second run: \foreach \n in {1,...,\mysize} { \consumeboxarray{\n} }
+\end{dispExample}
+\end{docCommand}
+
+
+\begin{docCommand}[doc new=2015-07-13]{consumetcboxarray}{\oarg{name}\marg{index}\marg{options}}
+\begin{articleside}[before skip=5pt]
+ Typesets the box with the given \meta{index} number from the box array \meta{name}
+ using \refCom{consumeboxarray} as content of a \refCom{tcbox}.
+ If no \meta{name} is given, the already existing |default| box array is used.
+ It is considered an error, if a not existing box array \meta{name} is used.
+ It is silently ignored, if the \meta{index} is out of range.
+ The \refCom{tcbox} can be customized by |tcolorbox| \meta{options}.
+ After typesetting the box register is cleared and cannot be used again.
+\tcblower\consumetcboxarray[myarticle]{3}{blanker,nobeforeafter,phantomlabel=myarticle-three,,from=two,goto=four}
+\end{articleside}
+\begin{exdispExample}{consumetcboxarray}
+% \usepackage{lipsum}
+\begin{tcolorbox}[enhanced jigsaw,size=fbox,width=6cm,
+ colback=yellow!10,colframe=yellow!10!black,
+ enforce breakable,% use only breakable in the real world!
+ break at=5cm,
+ watermark text=\arabic{tcbbreakpart},
+ reset and store to box array
+ ]
+\lipsum[1]
+\end{tcolorbox}
+
+\consumeboxarray{2} \hfill \consumeboxarray{1} \hfill \consumeboxarray{1}
+\end{exdispExample}
+\end{docCommand}
+
+
+\begin{docCommand}[doc new=2015-07-13]{boxarraygetbox}{\oarg{name}\marg{macro}\marg{index}}
+ Assigns the box with the given \meta{index} number from the box array \meta{name}
+ to a \meta{macro}.
+ If no \meta{name} is given, the already existing |default| box array is used.
+ It is considered an error, if a not existing box array \meta{name} is used.
+ If the \meta{index} is out of range, the \meta{macro} will be undefined.
+\begin{exdispExample}{boxarraygetbox}
+\tcbox[size=small,colframe=blue!20,colback=yellow!5,on line,
+ reset and store to box array]{Test}
+
+\boxarraygetsize{\mysize} Array size: \mysize
+
+\boxarraygetbox{\mybox}{1}
+Box width: \the\wd\mybox
+\quad\usebox{\mybox}
+\end{exdispExample}
+\end{docCommand}
+
+
+\clearpage
+\subsection{Box Dimensions}\label{subsec:magazine_dimensions}
+
+\begin{docCommand}[doc new=2015-07-13]{boxarraygetwidth}{\oarg{name}\marg{macro}\marg{index}}
+ Assigns the width of the box with the given \meta{index} number from the box array \meta{name}
+ to a \meta{macro}.
+ If no \meta{name} is given, the already existing |default| box array is used.
+ It is considered an error, if a not existing box array \meta{name} is used.
+ If the \meta{index} is out of range, the \meta{macro} will be set to |0pt|.
+\begin{exdispExample}{boxarraygetwidth}
+\tcbox[size=small,colframe=blue!20,colback=yellow!5,on line,
+ reset and store to box array]{Test}
+
+\begin{tabular}{ll}
+\useboxarray{1} & width of box 1: \boxarraygetwidth{\mylen}{1} \mylen\\
+\useboxarray{2} & width of box 2: \boxarraygetwidth{\mylen}{2} \mylen
+\end{tabular}
+\end{exdispExample}
+\end{docCommand}
+
+
+\begin{docCommand}[doc new=2015-07-13]{boxarraygetheight}{\oarg{name}\marg{macro}\marg{index}}
+ Assigns the height of the box with the given \meta{index} number from the box array \meta{name}
+ to a \meta{macro}.
+ If no \meta{name} is given, the already existing |default| box array is used.
+ It is considered an error, if a not existing box array \meta{name} is used.
+ If the \meta{index} is out of range, the \meta{macro} will be set to |0pt|.
+\begin{exdispExample}{boxarraygetheight}
+\tcbox[size=small,colframe=blue!20,colback=yellow!5,on line,
+ reset and store to box array]{Test}
+
+\begin{tabular}{ll}
+\useboxarray{1} & height of box 1: \boxarraygetheight{\mylen}{1} \mylen\\
+\useboxarray{2} & height of box 2: \boxarraygetheight{\mylen}{2} \mylen
+\end{tabular}
+\end{exdispExample}
+\end{docCommand}
+
+
+\begin{docCommand}[doc new=2015-07-13]{boxarraygetdepth}{\oarg{name}\marg{macro}\marg{index}}
+ Assigns the depth of the box with the given \meta{index} number from the box array \meta{name}
+ to a \meta{macro}.
+ If no \meta{name} is given, the already existing |default| box array is used.
+ It is considered an error, if a not existing box array \meta{name} is used.
+ If the \meta{index} is out of range, the \meta{macro} will be set to |0pt|.
+\begin{exdispExample}{boxarraygetdepth}
+\tcbox[size=small,colframe=blue!20,colback=yellow!5,on line,
+ reset and store to box array]{Test}
+
+\begin{tabular}{ll}
+\useboxarray{1} & depth of box 1: \boxarraygetdepth{\mylen}{1} \mylen\\
+\useboxarray{2} & depth of box 2: \boxarraygetdepth{\mylen}{2} \mylen
+\end{tabular}
+\end{exdispExample}
+\end{docCommand}
+
+
+\clearpage
+\begin{docCommand}[doc new=2015-07-13]{boxarraygettotalheight}{\oarg{name}\marg{macro}\marg{index}}
+\begin{articleside}[before skip=5pt]
+ Assigns the total height of the box with the given \meta{index} number from the box array \meta{name}
+ to a \meta{macro}.
+ If no \meta{name} is given, the already existing |default| box array is used.
+ It is considered an error, if a not existing box array \meta{name} is used.
+ If the \meta{index} is out of range, the \meta{macro} will be set to |0pt|.
+\tcblower\consumetcboxarray[myarticle]{4}{blanker,nobeforeafter,phantomlabel=myarticle-four,from=three}
+\end{articleside}
+\begin{exdispExample}{boxarraygettotalheight}
+\boxarrayreset
+\tcbox[size=small,colframe=blue!20,colback=yellow!5,on line,
+ store to box array]{Test}
+
+\begin{tabular}{ll}
+\useboxarray{1} & total height of box 1: \boxarraygettotalheight{\mylen}{1} \mylen\\
+\useboxarray{2} & total height of box 2: \boxarraygettotalheight{\mylen}{2} \mylen
+\end{tabular}
+\end{exdispExample}
+\end{docCommand}
+
+
+
+
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
index 8a5ed614604..2862af577df 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty
@@ -43,7 +43,16 @@
\strictpagecheck
\providecommand{\tcbpkgprefix}{}
-\RequirePackage[all]{\tcbpkgprefix tcolorbox}
+\RequirePackage{\tcbpkgprefix tcolorbox}
+
+\tcbuselibrary{most,documentation}
+\makeatletter
+\tcbifexternal{}{%
+ \tcbuselibrary{minted}%
+ \tcbset{listing engine=listings,initialize@reset={listing engine=listings}}%
+}
+\makeatother
+
\RequirePackage[extendedchars,encoding,filenameencoding=utf-8]{grffile}
\tcbset{skin=enhanced,
@@ -143,6 +152,11 @@
tcbEXTERNALIZE,tcbifexternal,newtcbexternalizeenvironment,
renewtcbexternalizeenvironment,extcolorbox,extikzpicture,
newtcbexternalizetcolorbox,renewtcbexternalizetcolorbox,
+ % box array
+ newboxarray,boxarraygetsize,boxarrayreset,boxarrayclear,
+ boxarraygetbox,boxarraygetwidth,boxarraygetheight,boxarraygetdepth,
+ boxarraygettotalheight,useboxarray,usetcboxarray,
+ consumeboxarray,consumetcboxarray,
},
texcsstyle=*\color{Definition}\bfseries,
classoffset=0% restore default
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
index 0191440bb5f..b8a3ec7193b 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
@@ -622,7 +622,8 @@ applicable here.
boxed title style={enhanced,
skin=enhancedfirst jigsaw,
size=small,arc=1mm,bottom=-1mm,
- interior style={top color=red!30!white,
+ interior style={fill=none,
+ top color=red!30!white,
bottom color=red!20!white}}]
This is a \textbf{tcolorbox}.
\end{tcolorbox}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
index 08f886c0722..a914b91cde0 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 b272ceec6eb..006f3952f22 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/16)
%% tcolorbox.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
@@ -23,7 +23,7 @@
\usepackage{tcolorbox.doc.s_main}
\tcbEXTERNALIZE
\usepackage{tcolorbox.doc.s_snippet}
-\tcbset{external/PassOptionsToPackage={cache=false}{minted}}
+%\tcbset{external/PassOptionsToPackage={cache=false}{minted}}
\immediate\write18{mkdir external}
\immediate\write18{mkdir solutions}
@@ -35,8 +35,8 @@
\setlength{\bibitemsep}{\smallskipamount}
\addbibresource{tcolorbox.doc.bib}
-\def\version{3.61}%
-\def\datum{2015/06/12}%
+\def\version{3.70}%
+\def\datum{2015/07/16}%
\makeindex
\hypersetup{
@@ -49,7 +49,7 @@
\usepackage{pgfplots}
%\tcbset{draftmode}
-%\includeonly{tcolorbox.doc.external}
+%\includeonly{tcolorbox.doc.coreoptions}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
@@ -69,6 +69,7 @@
\include{tcolorbox.doc.listings}
\include{tcolorbox.doc.theorems}
\include{tcolorbox.doc.breakable}
+\include{tcolorbox.doc.magazine}
\include{tcolorbox.doc.fitting}
\include{tcolorbox.doc.hooks}
\include{tcolorbox.doc.xparse}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
index 5f64cdc8db0..bea401b303e 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/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.61}
+\tcb@set@library@version{3.70}
\let\tcb@parboxrestore@true=\tcb@parboxrestore
\def\tcb@parboxrestore@false{\vskip-\parskip\linewidth\hsize\noindent}
@@ -248,6 +248,7 @@
}
\def\tcb@prepare@break@operation{%
+ \setcounter{tcbbreakpart}{0}%
\let\tcb@nobreak@warning\@empty%
\@ifundefined{columnbreak}{\tcb@multicolfalse}{%
\ifnum\doublecol@number>\z@ %
@@ -731,7 +732,10 @@
\def\tcb@sdraw@USL{%
- \tcbset{skin=\csname kvtcb@skin@@\tcb@split@state\endcsname}\tcb@afteroptions@hook%
+ \begingroup%
+ \tcbset{skin=\csname kvtcb@skin@@\tcb@split@state\endcsname}%
+ \csuse{tcb@extras@\tcb@split@state}%
+ \tcb@afteroptions@hook%
\def\tcb@segment@state{1}%
\tcbdimto\tcb@natheight{\tcb@h@padtitle+\kvtcb@top@rule+\kvtcb@bottom@rule+\kvtcb@boxsep*2+\kvtcb@top+\kvtcb@bottom+\tcb@h@upper+\tcb@h@segment+\tcb@h@lower+\csname tcb@h@breaksep@\tcb@split@state\endcsname}%
\csname tcb@break@ch@\tcb@split@state\endcsname%
@@ -752,11 +756,15 @@
\tcb@tdraw@lower%
\tcb@extensions@final%
\tcb@drawing@env@end%
+ \endgroup%
}
\def\tcb@sdraw@U{%
- \tcbset{skin=\csname kvtcb@skin@@\tcb@split@state\endcsname}\tcb@afteroptions@hook%
+ \begingroup%
+ \tcbset{skin=\csname kvtcb@skin@@\tcb@split@state\endcsname}%
+ \csuse{tcb@extras@\tcb@split@state}%
+ \tcb@afteroptions@hook%
\def\tcb@segment@state{0}%
\tcbdimto\tcb@natheight{\tcb@h@padtitle+\kvtcb@top@rule+\kvtcb@bottom@rule+\kvtcb@boxsep*2+\kvtcb@top+\kvtcb@bottom+\tcb@h@upper+\csname tcb@h@breaksep@\tcb@split@state\endcsname}%
\csname tcb@break@ch@\tcb@split@state\endcsname%
@@ -773,11 +781,15 @@
\tcb@tdraw@upper%
\tcb@extensions@final%
\tcb@drawing@env@end%
+ \endgroup%
}
\def\tcb@sdraw@SL{%
- \tcbset{skin=\csname kvtcb@skin@@\tcb@split@state\endcsname}\tcb@afteroptions@hook%
+ \begingroup%
+ \tcbset{skin=\csname kvtcb@skin@@\tcb@split@state\endcsname}%
+ \csuse{tcb@extras@\tcb@split@state}%
+ \tcb@afteroptions@hook%
\def\tcb@segment@state{1}%
\tcbdimto\tcb@natheight{\tcb@h@padtitle+\kvtcb@top@rule+\kvtcb@bottom@rule+\kvtcb@bottom+\kvtcb@boxsep+\tcb@h@segment+\tcb@h@lower+\csname tcb@h@breaksep@\tcb@split@state\endcsname}%
\csname tcb@break@ch@\tcb@split@state\endcsname%
@@ -797,11 +809,15 @@
\tcb@tdraw@lower%
\tcb@extensions@final%
\tcb@drawing@env@end%
+ \endgroup%
}
\def\tcb@sdraw@L{%
- \tcbset{skin=\csname kvtcb@skin@@\tcb@split@state\endcsname}\tcb@afteroptions@hook%
+ \begingroup%
+ \tcbset{skin=\csname kvtcb@skin@@\tcb@split@state\endcsname}%
+ \csuse{tcb@extras@\tcb@split@state}%
+ \tcb@afteroptions@hook%
\def\tcb@segment@state{2}%
\tcbdimto\tcb@natheight{\tcb@h@padtitle+\kvtcb@top@rule+\kvtcb@bottom@rule+\kvtcb@boxsep*2+\kvtcb@top+\kvtcb@bottom+\ht\tcb@lowerbox+\dp\tcb@lowerbox+\csname tcb@h@breaksep@\tcb@split@state\endcsname}%
\csname tcb@break@ch@\tcb@split@state\endcsname%
@@ -818,6 +834,7 @@
\tcb@tdraw@lower%
\tcb@extensions@final%
\tcb@drawing@env@end%
+ \endgroup%
}
@@ -907,6 +924,21 @@
\fi}},%
compress page/.default=all,%
compress page=baselineskip,% global setting
+ extras unbroken/.code={\appto\tcb@extras@unbroken{\tcbset{#1}}},%
+ extras first/.code={\appto\tcb@extras@first{\tcbset{#1}}},%
+ extras middle/.code={\appto\tcb@extras@middle{\tcbset{#1}}},%
+ extras last/.code={\appto\tcb@extras@last{\tcbset{#1}}},%
+ extras/.style={extras unbroken={#1},extras first={#1},extras middle={#1},extras last={#1}},%
+ extras broken/.style={extras first={#1},extras middle={#1},extras last={#1}},%
+ extras unbroken and first/.style={extras unbroken={#1},extras first={#1}},%
+ extras unbroken and last/.style={extras unbroken={#1},extras last={#1}},%
+ extras middle and last/.style={extras middle={#1},extras last={#1}},%
+ extras first and middle/.style={extras first={#1},extras middle={#1}},%
+ no extras unbroken/.code={\let\tcb@extras@unbroken\@empty},%
+ no extras first/.code={\let\tcb@extras@first\@empty},%
+ no extras middle/.code={\let\tcb@extras@middle\@empty},%
+ no extras last/.code={\let\tcb@extras@last\@empty},%
+ no extras/.code={\let\tcb@extras@unbroken\@empty\let\tcb@extras@first\@empty\let\tcb@extras@middle\@empty\let\tcb@extras@last\@empty},%
}
@@ -921,6 +953,7 @@
break at=0pt,
height fixed for=none,
vfill before first=false,
+ no extras,
},
initialize@reset=reset@breakable,
}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
index 1e88e7ebc6f..21bcc5f157f 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/16)
%% tcbdocumentation.code.tex: Code for LaTeX documentations
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{3.61}
+\tcb@set@library@version{3.70}
\tcbuselibrary{listings,skins,xparse,external}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
index 0c8879ef2d8..910d7137ca9 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 3.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/16)
%% tcbexternal.code.tex: Code for externalization
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{3.61}
+\tcb@set@library@version{3.70}
{
\catcode`\"=12
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
index 2278704e1bd..2885563e34f 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/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.61}
+\tcb@set@library@version{3.70}
\newdimen\tcbfitdim
\newdimen\tcb@lowerfitdim
@@ -147,7 +147,7 @@
\def\tcbox@fitalgorithm@fontsize@star{%
\tcbox@fitalgorithm@fontsize%
- \setbox\tcb@upperbox\hbox{\resizebox*{\tcb@w@upper}{\tcb@fit@@target}{\box\tcb@upperbox}}%
+ \tcb@resize@box{\tcb@upperbox}{\tcb@w@upper}{\tcb@fit@@target}%
\tcbdimto\tcb@fit@@h{\ht\tcb@upperbox+\dp\tcb@upperbox}%
}
@@ -180,19 +180,19 @@
\ifdim\dimexpr\tcb@fit@@h>\tcb@fit@@target\relax%
\let\tcb@fit@@h=\tcb@fit@@target%
\fi
- \setbox\tcb@upperbox\hbox{\resizebox*{\tcb@w@upper}{\tcb@fit@@h}{\box\tcb@upperbox}}%
+ \tcb@resize@box{\tcb@upperbox}{\tcb@w@upper}{\tcb@fit@@h}%
%
\tcbdimto\tcb@fit@@h{\ht\tcb@upperbox+\dp\tcb@upperbox}%
}
\def\tcbox@fitalgorithm@areasize@star{%
\tcbox@fitalgorithm@areasize@core%
- \setbox\tcb@upperbox\hbox{\resizebox*{\tcb@w@upper}{\tcb@fit@@target}{\box\tcb@upperbox}}%
+ \tcb@resize@box{\tcb@upperbox}{\tcb@w@upper}{\tcb@fit@@target}%
\tcbdimto\tcb@fit@@h{\ht\tcb@upperbox+\dp\tcb@upperbox}%
}
\def\tcbox@fitalgorithm@squeeze{%
- \setbox\tcb@upperbox\hbox{\resizebox*{\tcb@w@upper}{\tcb@fit@@target}{\box\tcb@upperbox}}%
+ \tcb@resize@box{\tcb@upperbox}{\tcb@w@upper}{\tcb@fit@@target}%
\tcbdimto\tcb@fit@@h{\ht\tcb@upperbox+\dp\tcb@upperbox}%
}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
index 1ab10750e15..353d08fb41f 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/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.61}
+\tcb@set@library@version{3.70}
\tcbset{%
before upper app/.code={\appto\kvtcb@before@upper{#1}},%
@@ -74,6 +74,17 @@
title code app/.code={\appto\tcb@title@code{#1}},%
title code pre/.code={\preto\tcb@title@code{#1}},%
%
+ extras unbroken pre/.code={\preto\tcb@extras@unbroken{#1}},%
+ extras first pre/.code={\preto\tcb@extras@first{#1}},%
+ extras middle pre/.code={\preto\tcb@extras@middle{#1}},%
+ extras last pre/.code={\preto\tcb@extras@last{#1}},%
+ extras pre/.style={extras unbroken pre={#1},extras first pre={#1},extras middle pre={#1},extras last pre={#1}},%
+ extras broken pre/.style={extras first pre={#1},extras middle pre={#1},extras last pre={#1}},%
+ extras unbroken and first pre/.style={extras unbroken pre={#1},extras first pre={#1}},%
+ extras unbroken and last pre/.style={extras unbroken pre={#1},extras last pre={#1}},%
+ extras middle and last pre/.style={extras middle pre={#1},extras last pre={#1}},%
+ extras first and middle pre/.style={extras first pre={#1},extras middle pre={#1}},%
+ %
underlay unbroken pre/.code={\preto\tcb@underlay@unbroken{#1}},%
underlay first pre/.code={\preto\tcb@underlay@first{#1}},%
underlay middle pre/.code={\preto\tcb@underlay@middle{#1}},%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
index b5c0c49bc62..cb6c042fe99 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/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.61}
+\tcb@set@library@version{3.70}
\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 790dc23e240..b4beafb6659 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/16)
%% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{3.61}
+\tcb@set@library@version{3.70}
\RequirePackage{pdftexcmds}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
index 0c77b8734ed..598e6a8710d 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/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.61}
+\tcb@set@library@version{3.70}
\RequirePackage{listingsutf8}[2011/11/10]
\tcbuselibrary{listings}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex
new file mode 100644
index 00000000000..02969dd8013
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex
@@ -0,0 +1,174 @@
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/16)
+%% tcbmagazine.code.tex: Code for box sets and magazine styles
+%%
+%% -------------------------------------------------------------------------------------------
+%% 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
+%%
+\tcb@set@library@version{3.70}
+
+\tcbuselibrary{breakable}
+
+\def\newboxarray#1{%
+ \ifcsdef{tcb@boxarray@#1@allocated}{%
+ \tcb@warning{box array '#1' is allocated again by \string\newboxarray. Memory and registers are wasted}%
+ }{}%
+ \global\csdef{tcb@boxarray@#1@size}{0}%
+ \global\csdef{tcb@boxarray@#1@allocated}{0}%
+}
+
+\newboxarray{default}
+
+\newrobustcmd*{\boxarraygetsize}[2][default]{%
+ \letcs#2{tcb@boxarray@#1@size}%
+ \ifdef{#2}{}{%
+ \tcb@error{undefined box array '#1'}%
+ {You have to say \string\newboxarray{#1}, before '#1' can be used as box array.}%
+ }%
+}
+
+\newrobustcmd*{\boxarrayreset}[1][default]{%
+ \boxarraygetsize[#1]\tcb@box@array@size%
+ \global\csdef{tcb@boxarray@#1@size}{0}%
+}
+
+\newrobustcmd*{\boxarrayclear}[1][default]{%
+ \boxarraygetsize[#1]\tcb@box@array@size%
+ \global\csdef{tcb@boxarray@#1@size}{0}%
+ \letcs\tcb@box@array@allocated{tcb@boxarray@#1@allocated}%
+ \begingroup%
+ \count@=0%
+ \loop%
+ \ifnum\count@<\tcb@box@array@allocated\relax%
+ \advance\count@ 1\relax%
+ \letcs\tcb@box@array@box{tcb@boxarray@#1@\number\count@ @box}%
+ \setbox0=\box\tcb@box@array@box%
+ \repeat%
+ \endgroup%
+}
+
+\newrobustcmd*{\boxarraygetbox}[3][default]{%
+ \boxarraygetsize[#1]\tcb@box@array@size%
+ \let#2\@undefined%
+ \ifnum\numexpr#3>0\relax%
+ \ifnum\numexpr#3>\tcb@box@array@size\relax%
+ \else%
+ \letcs#2{tcb@boxarray@#1@#3@box}%
+ \fi%
+ \fi%
+}
+
+\newrobustcmd*{\boxarraygetwidth}[3][default]{%
+ \boxarraygetbox[#1]{\tcb@box@array@box}{#3}%
+ \ifdefined\tcb@box@array@box%
+ \tcbdimto#2{\wd\tcb@box@array@box}%
+ \else%
+ \let#2\tcb@zpt%
+ \fi%
+}
+
+\newrobustcmd*{\boxarraygetheight}[3][default]{%
+ \boxarraygetbox[#1]{\tcb@box@array@box}{#3}%
+ \ifdefined\tcb@box@array@box%
+ \tcbdimto#2{\ht\tcb@box@array@box}%
+ \else%
+ \let#2\tcb@zpt%
+ \fi%
+}
+
+\newrobustcmd*{\boxarraygetdepth}[3][default]{%
+ \boxarraygetbox[#1]{\tcb@box@array@box}{#3}%
+ \ifdefined\tcb@box@array@box%
+ \tcbdimto#2{\dp\tcb@box@array@box}%
+ \else%
+ \let#2\tcb@zpt%
+ \fi%
+}
+
+\newrobustcmd*{\boxarraygettotalheight}[3][default]{%
+ \boxarraygetbox[#1]{\tcb@box@array@box}{#3}%
+ \ifdefined\tcb@box@array@box%
+ \tcbdimto#2{\ht\tcb@box@array@box+\dp\tcb@box@array@box}%
+ \else%
+ \let#2\tcb@zpt%
+ \fi%
+}
+
+\newrobustcmd*{\useboxarray}[2][default]{%
+ \boxarraygetbox[#1]{\tcb@box@array@box}{#2}%
+ \ifdefined\tcb@box@array@box%
+ \usebox{\tcb@box@array@box}%
+ \fi%
+}
+
+\newrobustcmd{\usetcboxarray}[3][default]{%
+ \boxarraygetbox[#1]{\tcb@box@array@box}{#2}%
+ \ifdefined\tcb@box@array@box%
+ \tcbox[#3]{\usebox{\tcb@box@array@box}}%
+ \fi%
+}
+
+\newrobustcmd*{\consumeboxarray}[2][default]{%
+ \boxarraygetbox[#1]{\tcb@box@array@box}{#2}%
+ \ifdefined\tcb@box@array@box%
+ \leavevmode\box\tcb@box@array@box\relax%
+ \fi%
+}
+
+\newrobustcmd{\consumetcboxarray}[3][default]{%
+ \boxarraygetbox[#1]{\tcb@box@array@box}{#2}%
+ \ifdefined\tcb@box@array@box%
+ \tcbox[#3]{\leavevmode\box\tcb@box@array@box\relax}%
+ \fi%
+}
+
+\def\boxarraystore#1{%
+ \boxarraygetsize[#1]\tcb@box@array@size%
+ \numdef\tcb@box@array@size{\tcb@box@array@size+1}%
+ \global\cslet{tcb@boxarray@#1@size}{\tcb@box@array@size}%
+ \letcs\tcb@box@array@allocated{tcb@boxarray@#1@allocated}%
+ \ifnum\tcb@box@array@allocated<\tcb@box@array@size\relax%
+ \newbox\tcb@box@array@box\csxdef{tcb@boxarray@#1@\tcb@box@array@size @box}{\the\tcb@box@array@box}%
+ \global\cslet{tcb@boxarray@#1@allocated}{\tcb@box@array@size}%
+ \else%
+ \letcs\tcb@box@array@box{tcb@boxarray@#1@\tcb@box@array@size @box}%
+ \fi%
+ \edef\reserved@a{%
+ \endgroup
+ \global\setbox\tcb@box@array@box\hbox{%
+ \begingroup\aftergroup}%
+ \def\noexpand\@currenvir{\@currenvir}%
+ \def\noexpand\@currenvline{\on@line}}%
+ \reserved@a
+ \@endpefalse
+ \color@setgroup
+ \ignorespaces}
+
+\def\endboxarraystore{\unskip\color@endgroup}
+
+\def\tcb@storetoboxarray@begin#1#2[#3]{\begin{boxarraystore}{#1}}
+\def\tcb@storetoboxarray@end{\end{boxarraystore}}
+
+\tcbset{
+ store to box array/.code={%
+ \def\kvtcb@float{S}\def\tcb@float@env@begin{\tcb@storetoboxarray@begin{#1}}\def\tcb@float@env@end{\tcb@storetoboxarray@end}},
+ store to box array/.default=default,
+ reset box array/.code={\boxarrayreset[#1]},
+ reset box array/.default=default,
+ reset and store to box array/.style={reset box array={#1},store to box array={#1}},%
+ reset and store to box array/.default=default,
+ do not store to box array/.style={nofloat},
+}
+
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex
index 8915d284fc3..a297383e8c8 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/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.61}
+\tcb@set@library@version{3.70}
\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 7fb7882b929..62ac347a6a1 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/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.61}
+\tcb@set@library@version{3.70}
\newcounter{tcbrastercolumn}
\newcounter{tcbrasterrow}
@@ -127,7 +127,7 @@
}}%
\tcbset{#1}%
\tcbset@late@options{%
- before={\unskip\ifnum\c@tcbrastercolumn>1 \kern\kvtcb@raster@xskip\else%
+ before={\ifhmode\unskip\fi\ifnum\c@tcbrastercolumn>1 \kern\kvtcb@raster@xskip\else%
\ifnum\c@tcbrasterrow>1 \parindent\z@\parskip\z@\par\nointerlineskip\addvspace{\the\dimexpr\kvtcb@raster@yskip\relax}\noindent\fi%
\kern\kvtcb@raster@skip@left\fi},
after={%
@@ -167,7 +167,7 @@
\fi%
\kvtcb@raster@halign\noindent%
}{%
- \unskip%
+ \ifhmode\unskip\fi%
\ifnum\c@tcbrastercolumn>1 %
\kern\kvtcb@raster@skip@right%
\fi%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
index e9631f3209b..8b8b865964a 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/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.61}
+\tcb@set@library@version{3.70}
\RequirePackage{tikz}[2010/10/13]
@@ -630,7 +630,7 @@
skin first=bicolormiddle,skin middle=bicolormiddle,skin last=bicolorlast}
-\tikzset{beamer@color/.style={top color=tcbcol@back,bottom color=tcbcol@back!85!black}}
+\tikzset{beamer@color/.style={fill=none,top color=tcbcol@back,bottom color=tcbcol@back!85!black}}
\tcb@new@skin{beamer}{base@unbroken,%
frame engine=path,interior titled engine=empty,interior engine=empty,segmentation engine=empty,title engine=path,%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
index 1ada60de63a..2a172ab5fce 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 3.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/16)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2014 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% 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
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{3.61}
+\tcb@set@library@version{3.70}
\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 4e383fe12c6..eecbc5124ea 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/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.61}
+\tcb@set@library@version{3.70}
\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 661cdacc5ca..fba728f9a10 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 3.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/16)
%% tcbxparse.code.tex: Code for xparse features
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{3.61}
+\tcb@set@library@version{3.70}
\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 96cbddf15b6..25ece46948c 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.61 (2015/06/12)
+%% The LaTeX package tcolorbox - version 3.70 (2015/07/16)
%% tcolorbox.sty: Text color boxes
%%
%% -------------------------------------------------------------------------------------------
@@ -18,8 +18,8 @@
%% This work consists of all files listed in README
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tcolorbox}[2015/06/12 version 3.61 text color boxes]
-\def\tcb@version{3.61}
+\ProvidesPackage{tcolorbox}[2015/07/16 version 3.70 text color boxes]
+\def\tcb@version{3.70}
\RequirePackage{pgf}[2008/01/15]
\RequirePackage{verbatim}[2003/08/22]
@@ -168,7 +168,7 @@
squeezed title*/.style={squeezed title={#1\vphantom{\kvtcb@adjusttext}}},%
detach title/.code=\tcb@detach@title@code,%
attach title/.code=\tcb@attach@title@code,%
- attach title to upper/.style={detach title,before upper={\tcbtitle#1}},
+ attach title to upper/.style={detach title,before upper={\ifx\tcbtitletext\@empty\else\tcbtitle#1\fi}},
attach title to upper/.default=,
subtitle style/.store in=\kvtcb@subtitle@style,%
width/.store in=\kvtcb@width,
@@ -329,15 +329,21 @@
halign title/center/.code={\let\kvtcb@haligntitle=\tcb@raggedcenter@plain},
halign title/justify/.code={\let\kvtcb@haligntitle=\@empty},
%
+ valign scale limit/.store in=\kvtcbv@valignscalelimit,
+ valign scale limit=1.1,
valign/.is choice,
valign/top/.code={\def\kvtcb@valignupper{top}},
valign/center/.code={\def\kvtcb@valignupper{center}},
valign/bottom/.code={\def\kvtcb@valignupper{bottom}},
+ valign/scale/.code={\def\kvtcb@valignupper{resize}},
+ valign/scale*/.code={\def\kvtcb@valignupper{resizelimited}},
valign upper/.style={valign=#1},
valign lower/.is choice,
valign lower/top/.code={\def\kvtcb@valignlower{top}},
valign lower/center/.code={\def\kvtcb@valignlower{center}},
valign lower/bottom/.code={\def\kvtcb@valignlower{bottom}},
+ valign lower/scale/.code={\def\kvtcb@valignlower{resize}},
+ valign lower/scale*/.code={\def\kvtcb@valignlower{resizelimited}},
enlarge top initially by/.store in=\kvtcb@bbtop@stand,%
enlarge top at break by/.store in=\kvtcb@bbtop@break,%
enlarge top by/.style={enlarge top initially by={#1},enlarge top at break by={#1}},%
@@ -478,6 +484,19 @@
varwidth upper/.style={before upper={\tcbdimto\tcb@w@upper{#1-\kvtcb@left@rule-\kvtcb@right@rule-\kvtcb@boxsep*2-\kvtcb@leftupper-\kvtcb@rightupper}%
\begin{varwidth}{\tcb@w@upper}},after upper={\end{varwidth}}},%
varwidth upper/.default=\kvtcb@width,
+ text fill/.style={before upper={%
+ \iftcb@fixedheight%
+ \tcbdimto\tcb@temp{\kvtcb@top@rule@stand+\kvtcb@bottom@rule@stand+\kvtcb@boxsep*2+\kvtcb@top+\kvtcb@bottom}%
+ \iftcb@hasTitle%
+ \tcbdimto\tcb@temp{\tcb@temp+\ht\tcb@titlebox+\dp\tcb@titlebox+\kvtcb@title@rule+\kvtcb@boxsep*2+\kvtcb@toptitle+\kvtcb@bottomtitle}%
+ \fi%
+ \tcbdimto\tcb@temp{\kvtcb@height@fixed-\tcb@temp}%
+ \edef\tcb@temp{\noexpand\minipage[c][\tcb@temp]}%
+ \else%
+ \let\tcb@temp\minipage%
+ \fi%
+ \tcb@temp{\linewidth}\kvtcb@halignupper},
+ after upper=\endminipage},
oversize/.style={%
width=\the\dimexpr\dimexpr\linewidth+#1+\kvtcb@left@rule+\kvtcb@leftupper+\kvtcb@boxsep*2+\kvtcb@rightupper+\kvtcb@right@rule\relax,%
enlarge left by=\the\dimexpr-\kvtcb@left@rule-\kvtcb@leftupper-\kvtcb@boxsep-#1/2\relax,%
@@ -977,6 +996,31 @@
\def\tcb@dbox@center#1#2#3#4#5{\pgftext[x=#1,y=#2+#3/2,left]{\color{#5}\box#4}}%
+\def\tcb@resize@box#1#2#3{%
+ \setbox#1\hbox{\resizebox*{#2}{#3}{\box#1}}%
+ \wd#1=#2\relax%
+ \ht#1=\the\dimexpr#3-\dp#1\relax%
+}
+
+\def\tcb@dbox@resize#1#2#3#4#5{%
+ \iftcb@fixedheight%
+ \tcbdimto\tcb@box@w@target{\wd#4}%
+ \tcbdimto\tcb@box@h@target{#3}%
+ \tcb@resize@box{#4}{\tcb@box@w@target}{\tcb@box@h@target}%
+ \fi%
+ \pgftext[x=#1,y=#2+#3,left,top]{\color{#5}\box#4}}%
+
+\def\tcb@dbox@resizelimited#1#2#3#4#5{%
+ \iftcb@fixedheight%
+ \tcbdimto\tcb@box@w@target{\wd#4}%
+ \tcbdimto\tcb@box@h@target{\kvtcbv@valignresizelimit\dimexpr(\ht#4+\dp#4)}%
+ \ifdim\dimexpr\tcb@box@h@target>#3\relax%
+ \tcbdimto\tcb@box@h@target{#3}%
+ \fi%
+ \tcb@resize@box{#4}{\tcb@box@w@target}{\tcb@box@h@target}%
+ \fi%
+ \pgftext[x=#1,y=#2+#3,left,top]{\color{#5}\box#4}}%
+
\let\tcb@pgfprocess@@specialround@orig=\pgfprocess@@specialround
% patch for \pgfprocess@@specialround
@@ -1396,6 +1440,7 @@
\def\tcb@drawcolorbox{%
\edef\tcb@split@state{unbroken}%
+ \tcb@extras@unbroken%
\let\kvtcb@top@rule=\kvtcb@top@rule@stand%
\let\kvtcb@bottom@rule=\kvtcb@bottom@rule@stand%
\let\kvtcb@bbtop=\kvtcb@bbtop@stand%
@@ -1925,14 +1970,15 @@
\tcb@add@library{skins@jigsaw}{tcbskinsjigsaw.code.tex}
\tcb@add@library{skins}{tcbskins.code.tex}
\tcb@add@library{breakable}{tcbbreakable.code.tex}
+\tcb@add@library{magazine}{tcbmagazine.code.tex}
\tcb@add@library{hooks}{tcbhooks.code.tex}
\tcb@add@library{fitting}{tcbfitting.code.tex}
\tcb@add@library{xparse}{tcbxparse.code.tex}
\tcb@add@library{external}{tcbexternal.code.tex}
\tcb@add@library@style{many}{raster,skins,breakable,hooks,theorems,fitting,xparse}
-\tcb@add@library@style{most}{many,listingsutf8,external}
-\tcb@add@library@style{all}{many,minted,listingsutf8,external,documentation}
+\tcb@add@library@style{most}{many,listingsutf8,external,magazine}
+\tcb@add@library@style{all}{many,minted,listingsutf8,external,magazine,documentation}
\ProcessOptions*
\edef\tcb@temp{\noexpand\tcbuselibrary{\tcb@optionlist}}