From 08adba3b71e8de03f7aa8b24b9c99f7b9fbd58f7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 17 Jul 2015 22:42:08 +0000 Subject: tcolorbox (16jul15) git-svn-id: svn://tug.org/texlive/trunk@37876 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/tcolorbox/CHANGES | 33 +- Master/texmf-dist/doc/latex/tcolorbox/README | 4 +- .../doc/latex/tcolorbox/tcolorbox-example.pdf | Bin 361293 -> 361291 bytes .../doc/latex/tcolorbox/tcolorbox-example.tex | 2 +- .../latex/tcolorbox/tcolorbox.doc.breakable.tex | 135 +++++++ .../latex/tcolorbox/tcolorbox.doc.coreoptions.tex | 71 +++- .../doc/latex/tcolorbox/tcolorbox.doc.hooks.tex | 45 ++- .../doc/latex/tcolorbox/tcolorbox.doc.intro.tex | 10 +- .../doc/latex/tcolorbox/tcolorbox.doc.magazine.tex | 438 +++++++++++++++++++++ .../doc/latex/tcolorbox/tcolorbox.doc.s_main.sty | 16 +- .../doc/latex/tcolorbox/tcolorbox.doc.skins.tex | 3 +- .../texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf | Bin 5631204 -> 5893001 bytes .../texmf-dist/doc/latex/tcolorbox/tcolorbox.tex | 11 +- .../tex/latex/tcolorbox/tcbbreakable.code.tex | 45 ++- .../tex/latex/tcolorbox/tcbdocumentation.code.tex | 4 +- .../tex/latex/tcolorbox/tcbexternal.code.tex | 4 +- .../tex/latex/tcolorbox/tcbfitting.code.tex | 12 +- .../tex/latex/tcolorbox/tcbhooks.code.tex | 15 +- .../tex/latex/tcolorbox/tcblistings.code.tex | 4 +- .../tex/latex/tcolorbox/tcblistingscore.code.tex | 4 +- .../tex/latex/tcolorbox/tcblistingsutf8.code.tex | 4 +- .../tex/latex/tcolorbox/tcbmagazine.code.tex | 174 ++++++++ .../tex/latex/tcolorbox/tcbminted.code.tex | 4 +- .../tex/latex/tcolorbox/tcbraster.code.tex | 8 +- .../tex/latex/tcolorbox/tcbskins.code.tex | 6 +- .../tex/latex/tcolorbox/tcbskinsjigsaw.code.tex | 6 +- .../tex/latex/tcolorbox/tcbtheorems.code.tex | 4 +- .../tex/latex/tcolorbox/tcbxparse.code.tex | 4 +- .../texmf-dist/tex/latex/tcolorbox/tcolorbox.sty | 58 ++- 29 files changed, 1052 insertions(+), 72 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.magazine.tex create mode 100644 Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex (limited to 'Master/texmf-dist') 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 @@ -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 @@ -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 Binary files a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf and b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf 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} @@ -1969,6 +1985,35 @@ This is the lower part. \end{docTcbKey} +\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 @@ -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 Binary files a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf and b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf 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 +%% ------------------------------------------------------------------------------------------- +%% +%% 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 +%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm %% ------------------------------------------------------------------------------------------- %% %% 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}} -- cgit v1.2.3