summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-07-23 22:04:50 +0000
committerKarl Berry <karl@freefriends.org>2014-07-23 22:04:50 +0000
commitf3e14f60640da99c60f8a344d2ce48d6cab12b8c (patch)
tree1ae1ae4fb8f333f8874192c446fc426e8dafb61a
parent858d2c9bc2f38514b4e7e4ab15d64291bd4e2e85 (diff)
tcolorbox (22jul14)
git-svn-id: svn://tug.org/texlive/trunk@34701 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/CHANGES28
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/README14
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdfbin361329 -> 361338 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex2
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib12
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex229
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex105
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex20
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdfbin4326972 -> 4415449 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex9
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/blueshade.png (renamed from Master/texmf-dist/doc/latex/tcolorbox/blueshade.png)bin62882 -> 62882 bytes
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/crinklepaper.png (renamed from Master/texmf-dist/doc/latex/tcolorbox/crinklepaper.png)bin21663 -> 21663 bytes
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/goldshade.png (renamed from Master/texmf-dist/doc/latex/tcolorbox/goldshade.png)bin76829 -> 76829 bytes
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/pink_marble.png (renamed from Master/texmf-dist/doc/latex/tcolorbox/pink_marble.png)bin15166 -> 15166 bytes
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex284
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex4
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex185
-rw-r--r--Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex28
-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.sty80
27 files changed, 831 insertions, 201 deletions
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/CHANGES b/Master/texmf-dist/doc/latex/tcolorbox/CHANGES
index 520bd9032f7..3df400c361b 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2014 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
@@ -545,3 +545,29 @@ version 3.05 (2014/05/28)
* new options:
'lifted shadow', 'drop small lifted shadow', 'drop lifted shadow', 'drop large lifted shadow'
+version 3.10 (2014/07/23)
+- box breaking algorithm revised:
+ * breakable boxes now always have \noindent
+ * distance to preceeding text corrected
+ * interaction with floating objects fixed
+ * dimensioning of partial boxes improved
+ * splitting of an empty closing frame can now be avoided (depending on 'pad at break*')
+ * The upper total height limit for breakable boxes is extended from
+ about 16384pt to about 65536pt
+ * experimental code added (breakable=unlimited) for breakable boxes
+ without height limit besides memory
+ * splitting boxes inside multicols environments supported (to a certain degree)
+ * limited orphan control added ('enlargepage flexible')
+- library 'breakable':
+ * new options:
+ 'break at', 'height fixed for', 'enlargepage flexible',
+ 'pad before break*', 'pad at break*'
+- Corners can be set individually now to be 'rounded' or 'sharp'
+ for all types of boxes, skins, borders, and shadows:
+ * new options: 'sharpish corners', 'sharp corners', and 'rounded corners'
+- library 'skins':
+ * new options: '\tcbline*'
+ * bug fix: skin families 'bicolor' and 'beamer' did not respect 'colbacktitle'
+- pictures 'blueshade.png', 'crinklepaper.png', 'goldshade.png', 'pink_marble.png'
+ moved to package folder
+
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/README b/Master/texmf-dist/doc/latex/tcolorbox/README
index 0eb00c4bbde..f5ce25658ab 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2014 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
@@ -41,6 +41,10 @@ Contents of the package
'tcbskinsjigsaw.code.tex' LaTeX package file (library of tcolorbox)
'tcbtheorems.code.tex' LaTeX package file (library of tcolorbox)
'tcbxparse.code.tex' LaTeX package file (library of tcolorbox)
+ 'blueshade.png' Picture (package)
+ 'crinklepaper.png' Picture (package)
+ 'goldshade.png' Picture (package)
+ 'pink_marble.png' Picture (package)
'tcolorbox.pdf' Documentation for tcolorbox
'tcolorbox.tex' Source code of the documentation (main file)
'*.doc.*' Source code of the documentation (include files)
@@ -48,10 +52,6 @@ Contents of the package
'tcolorbox-example.pdf' Compiled example
'Basilica_5.png' Example picture
'lichtspiel.jpg' Example picture
- 'blueshade.png' Example picture
- 'crinklepaper.png' Example picture
- 'goldshade.png' Example picture
- 'pink_marble.png' Example picture
Installation
============
@@ -71,4 +71,8 @@ Alternatively, put the files to their respective locations within the TeX instal
'tcbskins.code.tex' -> /tex/latex/tcolorbox
'tcbskinsjigsaw.code.tex' -> /tex/latex/tcolorbox
'tcbxparse.code.tex' -> /tex/latex/tcolorbox
+ 'blueshade.png' -> /tex/latex/tcolorbox
+ 'crinklepaper.png' -> /tex/latex/tcolorbox
+ 'goldshade.png' -> /tex/latex/tcolorbox
+ 'pink_marble.png' -> /tex/latex/tcolorbox
all other files -> /doc/latex/tcolorbox
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf
index 77df64b9536..b89f20d0ce0 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 18a1561d335..ec44e30328d 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%% tcolorbox-example.tex: an example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
index 181e662040b..32fa8379ece 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
@@ -177,3 +177,15 @@
}
+@manual{mittelbach:2014a,
+ author = {Frank Mittelbach},
+ title = {An environment for multicolumn output},
+ url = {http://mirror.ctan.org/macros/latex/required/tools/multicol.pdf},
+ Xnote = {},
+ day = 21,
+ month = jun,
+ year = 2014,
+ language = {english}
+}
+
+
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 ba0467b34c1..baf13947484 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex
@@ -83,9 +83,19 @@ parameters. The differences are:
\subsection{Limitations and Known Bugs}
\begin{itemize}
-\item The box content is a \TeX\ |\vbox| register which has a
- restricted capacity. Therefore, you cannot place hundreds of pages
- inside a |tcolorbox|.
+\item The maximal total height of the upper and of the lower part
+ of normal breakable |tcolorbox|es is about 65536pt (ca.\,2300cm)
+ apiece. If such a part gets longer, the output will get buggy
+ without warning.
+ For very oversized boxes which are longer than 65536pt, use
+ the \docValue{unlimited} value for \refKey{/tcb/breakable}.
+ With the \docValue{unlimited} setting,
+ the applied algorithm has (virtually) no height limit for boxes, but
+ very likely the compiler memory will have to be increased for boxes longer
+ than 300 pages (depending on compiler settings and box content).
+ But it is recommended to use \docValue{unlimited} for critical large boxes only,
+ since there \emph{may} be a single interline space deviation (lost glue) around
+ every 2300cm, e.\,g.\ a \refCom{tcbline*} \emph{may} get lost.
\item You can nest an unbreakable |tcolorbox| inside another |tcolorbox|,
even inside a breakable one.
But you cannot not nest a breakable box inside a breakable box.
@@ -105,7 +115,7 @@ parameters. The differences are:
\clearpage
\subsection{Main Option Keys}
-\begin{docTcbKey}{breakable}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
+\begin{docTcbKey}{breakable}{\colOpt{=true\textbar false\textbar unlimited}}{default |true|, initially |false|}
Allows the |tcolorbox| to be breakable. If the box is larger than the
available space at the current page, the box is automatically broken
and continued to the next next page. All sorts of |tcolorbox| can be made
@@ -113,16 +123,27 @@ parameters. The differences are:
If you do not know better, use \refKey{/tcb/enhanced} for breaking a box.
The parts of the \emph{break sequence} are numbered
by the counter |tcbbreakpart|.
- \begin{dispListing}
- % \usepackage{lipsum} % preamble
- \tcbset{enhanced jigsaw,colback=red!5!white,colframe=red!75!black,
- watermark color=yellow!25!white,watermark text=\arabic{tcbbreakpart},
- fonttitle=\bfseries}
-
- \begin{tcolorbox}[breakable,title=My breakable box]
- \lipsum[1-6]
- \end{tcolorbox}
- \end{dispListing}
+ \begin{itemize}
+ \item\docValue{false}: Sets the |tcolorbox| to be unbreakable.
+ \item\docValue{true}: Breaks the |tcolorbox| from one page to another.
+ The maximal total height of the upper and of the lower part is
+ about 65536pt (ca.\,2300cm or ca.\,90 pages) apiece.
+ \item\docValue{unlimited}: Experimental code for unlimited total height of
+ breakable boxes. There \emph{may} be a single interline space deviation (lost glue) around
+ every 2300cm. For boxes longer than 300 pages (or even shorter ones) the
+ compiler memory will have to be increased.
+ \end{itemize}
+
+\begin{dispListing}
+% \usepackage{lipsum} % preamble
+\tcbset{enhanced jigsaw,colback=red!5!white,colframe=red!75!black,
+ watermark color=yellow!25!white,watermark text=\arabic{tcbbreakpart},
+ fonttitle=\bfseries}
+
+\begin{tcolorbox}[breakable,title=My breakable box]
+\lipsum[1-6]
+\end{tcolorbox}
+\end{dispListing}
\end{docTcbKey}
{\tcbusetemp}
@@ -166,7 +187,34 @@ parameters. The differences are:
\end{docTcbKey}
\clearpage
-\begin{docTcbKey}{enlargepage}{=\meta{length}\colOpt{/\meta{length}\ldots/\meta{length}}}{no default, initially |0pt|}
+\begin{docTcbKey}{break at}{=\meta{length}\colOpt{/\meta{length}/\ldots/\meta{length}}}{no default, initially |0pt|}
+ Defines break points at the given \meta{length} values.
+ The first \meta{length} defines the (maximal) height of the first partial box,
+ the second \meta{length} defines the (maximal) height of the second partial box,
+ and so on. The last \meta{length} value is applied to all following partial boxes if any.
+ Setting a length to |0pt| means that the naturally available space is used
+ for breaking.
+\begin{dispExample}
+% \usepackage{multicol,lipsum}
+\begin{multicols}{3}\footnotesize
+Breakable boxes inside a |multicols| environment need special attendance.
+They are broken by default at |\textheight|.
+The |break at| option can be used to insert better break points by hand.
+\par\medskip
+\begin{tcolorbox}[enhanced jigsaw,size=small,before=\noindent,
+ colframe=red,colback=yellow!10!white,before title=\raggedright,
+ title={Broken box inside a |multicols| environment},fonttitle=\bfseries,
+ enforce breakable,% use only breakable in the real world!
+ pad at break=1mm,break at=3cm/6.3cm ]
+\lipsum[1]
+\end{tcolorbox}
+\refKey{/tcb/height fixed for} may also be considered for |multicols| environments.
+\end{multicols}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{enlargepage}{=\meta{length}\colOpt{/\meta{length}/\ldots/\meta{length}}}{no default, initially |0pt|}
Inserts a |\enlargethispage|\marg{length} to the pages of the break sequence,
i.\,e.\ allows one to enlarge (or shrink) partial boxes. The first \meta{length} is applied
to the first partial box, the second \meta{length} is applied
@@ -186,11 +234,30 @@ parameters. The differences are:
\end{marker}
\end{docTcbKey}
+\clearpage
+\begin{docTcbKey}{enlargepage flexible}{=\meta{length}}{no default, initially |0pt|}
+ This allows an automated page enlargement for up to \meta{length}.
+ The algorithm can use this to avoid breaking a box, if there is anough room
+ after enlargement. Also, the \emph{last} partial box of a break sequence
+ may be enlarged to avoid further breaking.\\
+ Note that this potential enlargement is \emph{additive} to settings of
+ \refKey{/tcb/enlargepage}.
+ But \refKey{/tcb/enlargepage flexible} overwrites settings of
+ \refKey{/tcb/pad before break*} or \refKey{/tcb/pad at break*}.
+\begin{dispListing}
+% The following setting hinders orphan lines for the last partial box
+\tcbset{enlargepage flexible=\baselineskip}
+\end{dispListing}
+\end{docTcbKey}
+
+
\begin{docTcbKey}{shrink break goal}{=\meta{length}}{no default, initially |0pt|}
This is an emergency parameter if the break algorithm produces unpleasant
- breaks. It shrinks the goal height of the current box part by \meta{length}
+ breaks.
+ It shrinks the goal height of the current box part by \meta{length}
which may result in smaller boxes. Never use negative values.
+ \emph{Usually, this option will never be needed at all.}
\end{docTcbKey}
@@ -213,8 +280,6 @@ parameters. The differences are:
\end{docTcbKey}
-
-
\begin{docTcbKey}{topsep at break}{=\meta{length}}{no default, initially \texttt{0mm}}
Additional vertical space of \meta{length} which is added at the top of
\emph{middle} and \emph{last} parts in a break sequence. In general,
@@ -235,6 +300,12 @@ parameters. The differences are:
\emph{middle} and \emph{last} parts in a break sequence start with a rule or a title.
\end{docTcbKey}
+\begin{docTcbKey}{pad before break*}{=\meta{length}}{style, no default}
+ Sets \refKey{/tcb/pad before break} to \meta{length} and
+ \refKey{/tcb/enlargepage flexible} to an appropriate value such that
+ empty closing frames are avoided.
+\end{docTcbKey}
+
\begin{docTcbKey}{pad after break}{=\meta{length}}{style, no default, initially \texttt{3.5mm}}
Sets the total amount of vertical space after the break point and before the
text content to \meta{length}. This style sets \refKey{/tcb/bottomrule at break} to |0pt|
@@ -260,6 +331,18 @@ parameters. The differences are:
\end{dispListing}
{\tcbusetemp}
+\begin{docTcbKey}{pad at break*}{=\meta{length}}{style, no default}
+ Sets \refKey{/tcb/pad at break} to \meta{length} and
+ \refKey{/tcb/enlargepage flexible} to an appropriate value such that
+ empty closing frames are avoided.
+\end{docTcbKey}
+
+\begin{marker}
+\refKey{/tcb/pad at break} or \refKey{/tcb/pad at break*}
+should be used as very last option in an option list, because
+they adapt other settings.
+\end{marker}
+
\begin{marker}
Also see \refKey{/tcb/enlarge top at break by}
@@ -267,6 +350,109 @@ and \refKey{/tcb/enlarge bottom at break by}.
\end{marker}
+\begin{docTcbKey}{height fixed for}{=\meta{part}}{no default, initially |none|}
+ When certain amount of space is available for a partial box of a
+ break sequence, the partial box typically is smaller than this space
+ (depending on the box content). For given \meta{part}(s), the height can be
+ set to all available space.
+ \begin{itemize}
+ \item\docValue{none}: Every partial |tcolorbox| is set with its natural height.
+ \item\docValue{first}: The \emph{first} partial box is set to a height which matches the available space.
+ \item\docValue{middle}: All \emph{middle} partial boxes are set to a height which matches the available space.
+ \item\docValue{last}: The \emph{last} partial box is set to a height which matches
+ the available space.
+ \item\docValue{first and middle}: The \emph{first} and
+ all \emph{middle} partial boxes are set to a height which matches the available space.
+ \item\docValue{middle and last}: All \emph{middle} partial boxes and the \emph{last} partial box
+ are set to a height which matches the available space.
+ \item\docValue{all}: All partial boxes are set to a height which matches the available space.
+ \end{itemize}
+\begin{marker}
+ If the box keeps unbroken, this option is not applied.
+ See \refKey{/tcb/height} for setting a fixed height for unbroken boxes.
+\end{marker}
+\end{docTcbKey}
+
+
+\clearpage
+\subsection{Breakable boxes and the \texttt{multicol} package}\label{subsec:multicol}
+\begin{multicols}{2}
+\begin{tcolorbox}[enhanced jigsaw,size=small,breakable,colback=yellow!10!white,
+ colframe=red!50!white,break at=3cm,height fixed for=all]
+Unbreakable |tcolorbox|es can be used without special care inside a
+|multicols| environment from the |multicol| package \cite{mittelbach:2014a}.
+
+Since version 3.10, a breakable |tcolorbox| detects, if it is used inside
+a |multicols| environment. But choosing break points for a breakable box
+cannot be done by the balancing routine of |multicols|. By default, boxes
+will break at |\textheight|. To get pleasant results, use the
+\refKey{/tcb/break at} and \refKey{/tcb/height fixed for} options.
+\end{tcolorbox}
+\end{multicols}
+
+\enlargethispage{\baselineskip}
+\begin{dispListing}
+% \usepackage{lipsum,multicol} % preamble
+\small
+\begin{multicols}{2}
+ \lipsum[1]
+ \begin{tcolorbox}[enhanced jigsaw,breakable,size=title,
+ colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
+ title=My breakable box,pad at break=1mm, break at=7.5cm/0pt ]
+ \lipsum[2-4]
+ \end{tcolorbox}
+ \lipsum[4]
+\end{multicols}
+\end{dispListing}
+{\tcbusetemp}
+
+\clearpage
+
+\begin{multicols}{2}
+\small
+This example is already set inside a |multicols| environment.
+This time, a \emph{middle} part has full |\textheight|.
+\refKey{/tcb/height fixed for} is used to spread this box part over the full
+height toi align with neighboring columns.
+\begin{dispListing}
+% \usepackage{lipsum,multicol}
+\lipsum[1]
+\begin{tcolorbox}[enhanced jigsaw,breakable,
+ size=title,
+ colback=red!5!white,
+ colframe=red!75!black,
+ fonttitle=\bfseries,
+ title=My breakable box,
+ pad at break=2mm,
+ break at=8.2cm/0pt,
+ height fixed for=middle ]
+\lipsum[2-7]
+\end{tcolorbox}
+\lipsum[8]
+\end{dispListing}
+{\tcbusetemp}
+\end{multicols}
+
+
+The following example has a |\tcolorbox| which fills the |\multicols|
+environment completely. Here, \refKey{/tcb/height fixed for} is used
+to give all three columns the full height.
+Note that the appropriate \refKey{/tcb/break at} value is not computed
+automatically but set manually.
+
+\begin{dispListing}
+% \usepackage{lipsum,multicol} % preamble
+\small
+\begin{multicols}{3}
+ \begin{tcolorbox}[enhanced jigsaw,breakable,size=small,
+ colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
+ title=My breakable box,pad at break=2mm,drop fuzzy shadow,
+ height fixed for=all, break at=11.4cm ]
+ \lipsum[1-3]
+ \end{tcolorbox}
+\end{multicols}
+\end{dispListing}
+{\tcbusetemp}
\clearpage
@@ -338,8 +524,15 @@ the \emph{break sequence} parts are displayed.
\tcbbreakskininto{freelancelast}{freelancemiddle}{freelancemiddle}{freelancelast}{}
+
+
\clearpage
\subsection{Break by Hand (Faked Break)}
+
+\begin{marker}
+See \Vref{subsec:multicol} for \emph{real} column breaks.
+\end{marker}
+
Since the appearance of broken boxes is done by skins, it is quite easy
to 'fake a break'. For this, you actually don't need the
\mylib{breakable} library at
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 1c818f96b02..7b27f9d791f 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
@@ -824,6 +824,111 @@ with help of an overlay.
\tcbusetemp
\end{docTcbKey}
+\clearpage
+\subsection{Corners}\label{subsec:corners}
+
+The four corners of any |tcolorbox| can be set individually as
+\refKey{/tcb/sharp corners} or as \refKey{/tcb/rounded corners}.
+These settings are also reflected in the behavior of \refKey{/tcb/borderline}
+and \refKey{/tcb/shadow} as one would expect.
+
+By default, all four corners are \emph{rounded}. So, only the
+\refKey{/tcb/sharp corners} option will be necessary for most use cases.
+The \refKey{/tcb/rounded corners} option can be used to revert a \refKey{/tcb/sharp corners}
+setting.
+
+\begin{docTcbKey}{sharp corners}{=\meta{position}}{default |all|, initially unset}
+The \meta{position} denotes one or more of the four box corners to be set as
+\emph{sharp} corners. The not assigned corners will retain their mode.
+Feasible values for \meta{position} are:
+\begin{itemize}
+\foreach \p in {northwest,northeast,southwest,southeast,north,south,east,west,downhill,uphill,all}
+{
+\item\tcbox[on line,size=title,arc=2mm,colframe=red!75!black,colback=red!5!white,
+ enlarge top by=0.5mm,enlarge bottom by=0.5mm,sharp corners=\p]{\docValue{\p}}
+}
+\end{itemize}
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\begin{tcolorbox}[colback=red!5!white,
+ colframe=red!75!black,
+ sharp corners=northwest ]
+This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\begin{tcolorbox}[colback=red!5!white,
+ colframe=red!75!black,
+ sharp corners ]
+This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+\clearpage
+\begin{docTcbKey}{rounded corners}{=\meta{position}}{default |all|, initially |all|}
+The \refKey{/tcb/rounded corners} can be used to revert a \refKey{/tcb/sharp corners}
+setting. The \meta{position} denotes one or more of the four box corners to be set as
+\emph{rounded} corners. The not assigned corners will retain their mode.
+Feasible values for \meta{position} are\footnote{The graphical examples assume
+ that the boxes where set to have sharp corners before.}:
+\begin{itemize}
+\foreach \p in {northwest,northeast,southwest,southeast,north,south,east,west,downhill,uphill,all}
+{
+\item\tcbox[on line,size=title,arc=2mm,colframe=red!75!black,colback=red!5!white,
+ enlarge top by=0.5mm,enlarge bottom by=0.5mm,sharp corners,rounded corners=\p]{\docValue{\p}}
+}
+\end{itemize}
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\begin{tcolorbox}[colback=red!5!white,
+ colframe=red!75!black,sharp corners,
+ rounded corners=northwest ]
+This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{sharpish corners}{}{style, no value}
+ Shortcut for setting \refKey{/tcb/arc} and \refKey{/tcb/outer arc}
+ to |0pt|. With this setting, rounded corners will appear als quasi-sharp,
+ but e.\,g.\ the shadow will be somewhat rounder than the shadow
+ of really sharp corners.
+ \begin{marker}
+ Corners are still of type \emph{rounded} with this option, but appear
+ \emph{sharp}. To switch back to rounded corners, one has to adapt
+ \refKey{/tcb/arc} and \refKey{/tcb/outer arc}.
+ \end{marker}
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\begin{tcolorbox}[colback=red!5!white,
+ colframe=red!75!black,
+ sharpish corners ]
+This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample*}
+\end{docTcbKey}
+
+\clearpage
+
+The following examples will show the differences between
+\refKey{/tcb/rounded corners}, \refKey{/tcb/sharpish corners}, and \refKey{/tcb/sharp corners}.
+The later two give the same core box, but \refKey{/tcb/borderline}
+and \refKey{/tcb/shadow} settings are slightly different.
+The following examples use \refKey{/tcb/drop fuzzy shadow}.
+
+\foreach \n in {rounded corners,sharpish corners,sharp corners}{
+\begin{tcolorbox}[enhanced jigsaw,frame empty,interior empty,fuzzy halo,center upper]
+\begin{tcolorbox}[enhanced,drop fuzzy shadow,width=\linewidth-1cm,
+ colback=red!5!white, colframe=red!75!black, fonttitle=\bfseries,
+ title=My title,\n,
+ tikz={spy using outlines={circle, magnification=8, size=2cm, connect spies}},
+ overlay={\spy [blue, size=4cm] on (frame.south east)
+ in node at ([xshift=-2.5cm,yshift=-2.5cm]frame.south east);
+ \node[right] at ([xshift=2cm,yshift=-1cm]frame.south west) {\textbf{\Large\ttfamily\n}};
+ }]
+This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{tcolorbox}}
+
\clearpage
\subsection{Transparency}
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 c7830b43597..e3eaa60fd02 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
@@ -1229,21 +1229,21 @@ This can be used to apply different effects.
Note that the \tikzname\ |line width| option should not be used here.\\
The border lines adapt to the rounded corners of the |tcolorbox|. An inside border
line will switch to sharp corners if necessary, an outside border line will
- always be rounded if not set to |sharp corners|.
+ always be rounded except for \refKey{/tcb/sharp corners}.
\begin{dispExample}
\begin{tcolorbox}[enhanced,title=Rounded corners,fonttitle=\bfseries,boxsep=5pt,
arc=8pt,
borderline={0.5pt}{0pt}{red},
borderline={0.5pt}{5pt}{blue,dotted},
- borderline={0.5pt}{-5pt}{green,dashed} ]
+ borderline={0.5pt}{-5pt}{green} ]
This is a tcolorbox.
\end{tcolorbox}
\bigskip
\begin{tcolorbox}[enhanced,title=Sharp corners,fonttitle=\bfseries,boxsep=5pt,
- arc=0pt,outer arc=0pt,
+ arc=8pt,sharp corners=downhill,
borderline={0.5pt}{0pt}{red},
borderline={0.5pt}{5pt}{blue,dotted},
- borderline={0.5pt}{-5pt}{green,dashed,sharp corners} ]
+ borderline={0.5pt}{-5pt}{green} ]
This is a tcolorbox.
\end{tcolorbox}
\end{dispExample}
@@ -1352,7 +1352,8 @@ used on the same |tcolorbox|. They are drawn \emph{before} the box frame is draw
The shadow is filled along a \tikzname\ path with the given \tikzname\ \meta{options}.\\
The shadows adapt to the rounded corners of the |tcolorbox|. An shrinked shadow
will switch to sharp corners if necessary, an enlarged shadow may become
- more rounded depending on several factors.
+ more rounded depending on several factors. But \refKey{/tcb/sharp corners}
+ have sharp shadows.
\begin{marker}
Shadows are not considered for the bounding box computation by default.
Large shadows may be overlaped by the following content. But, the
@@ -1784,7 +1785,7 @@ This is a tcolorbox.
Optionally, the \meta{color} for the shadow can be changed.
\begin{dispExample*}{sbs,lefthand ratio=0.6}
\tcbset{enhanced,colback=red!5!white,
- boxrule=0.4pt,arc=0pt,outer arc=0pt,
+ boxrule=0.4pt,sharp corners,
colframe=red!75!black,fonttitle=\bfseries}
\begin{tcolorbox}[drop lifted shadow]
@@ -1803,7 +1804,7 @@ This is a tcolorbox.
Optionally, the \meta{color} for the shadow can be changed.
\begin{dispExample*}{sbs,lefthand ratio=0.6}
\tcbset{enhanced,colback=red!5!white,
- boxrule=0.4pt,arc=0pt,outer arc=0pt,
+ boxrule=0.4pt,sharp corners,
colframe=red!75!black,fonttitle=\bfseries}
\tcbox[drop small lifted shadow,size=fbox]
@@ -2652,6 +2653,11 @@ Of course, skins can be used for listings also.
\end{dispExample}
\end{docCommand}
+\begin{docCommand}{tcbline*}{}
+ Equivalent to \refCom{tcbline}, but in a breakable box, \refCom{tcbline*}
+ is removed if at a page/box break. Also, it is removed at the end
+ of a box.
+\end{docCommand}
\clearpage
\begin{docSkin}{enhancedfirst}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
index 298363bc1a5..734b420dbdc 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 dfb3185c97b..a9863570323 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%% tcolorbox.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
@@ -55,6 +55,7 @@
\usetikzlibrary{shadings,shadows}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{patterns}
+\usetikzlibrary{spy}
\usepackage{array,tabularx}
\usepackage{amsmath}
@@ -102,8 +103,8 @@
\newtcolorbox{marker}[1][]{marker,#1}
-\def\version{3.05}%
-\def\datum{2014/05/28}%
+\def\version{3.10}%
+\def\datum{2014/07/23}%
\makeindex
\hypersetup{
@@ -304,7 +305,7 @@
%\tcbset{draftmode}
-%\includeonly{tcolorbox.doc.abstract}
+%\includeonly{tcolorbox.doc.theorems}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/blueshade.png b/Master/texmf-dist/tex/latex/tcolorbox/blueshade.png
index 4b1713e657c..4b1713e657c 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/blueshade.png
+++ b/Master/texmf-dist/tex/latex/tcolorbox/blueshade.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/crinklepaper.png b/Master/texmf-dist/tex/latex/tcolorbox/crinklepaper.png
index c030edf7656..c030edf7656 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/crinklepaper.png
+++ b/Master/texmf-dist/tex/latex/tcolorbox/crinklepaper.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/goldshade.png b/Master/texmf-dist/tex/latex/tcolorbox/goldshade.png
index 7e082640532..7e082640532 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/goldshade.png
+++ b/Master/texmf-dist/tex/latex/tcolorbox/goldshade.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/pink_marble.png b/Master/texmf-dist/tex/latex/tcolorbox/pink_marble.png
index d3279dff5cf..d3279dff5cf 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/pink_marble.png
+++ b/Master/texmf-dist/tex/latex/tcolorbox/pink_marble.png
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
index e020d19ac07..6e8d2342f46 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%% tcbbreakable.code.tex: Code for breakable colorboxes
%%
%% -------------------------------------------------------------------------------------------
@@ -17,11 +17,55 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{3.05}
+\tcb@set@library@version{3.10}
\let\tcb@parboxrestore@true=\tcb@parboxrestore
\def\tcb@parboxrestore@false{\vskip-\parskip\linewidth\hsize\noindent}
+% total height for boxes smaller than 0.4375\maxdimen and 0.4375\maxdimen else (ca 2.5m)
+\def\tcb@defToTotalHeightBreakable#1#2#3{%
+ \ifnum\ht#2<0 %
+ \edef#1{7168pt}%
+ \else\ifnum\ht#2<469762048 %
+ \tcbdimto#1{\ht#2+\dp#2}%
+ \else%
+ \edef#1{7168pt}%
+ \fi\fi%
+}
+
+\newbox\tcb@testbox
+
+% for oversized boxes height is detected as \textheight or larger
+\def\tcb@defToTotalHeightUnlimited#1#2#3{%
+ \tcb@defToTotalHeightBreakable#1#2#3%
+ \ifdim\dimexpr#1<\textheight\relax%
+ \edef\tcb@thevfuzz{\the\vfuzz}%
+ \edef\tcb@thevbadness{\the\vbadness}%
+ \vfuzz=\maxdimen\vbadness=10000%
+ \splittopskip=0pt%
+ \splitmaxdepth=0pt%
+ \setbox\tcb@testbox=\vsplit#2 to \textheight%
+ \vbadness=\tcb@thevbadness\vfuzz=\tcb@thevfuzz%
+ \ifdim\wd#2=0pt\relax%
+ \tcb@swap{#2}{\tcb@testbox}%
+ \tcbdimto#1{\ht#2+\dp#2}%
+ \else%
+ \setbox#2=\vbox{\color@begingroup%
+ \unvbox\tcb@testbox%
+ \begingroup%
+ #3%
+ \dimen@-\f@size \p@%
+ \dimen@0.888888\dimen@%
+ \advance\dimen@ by \f@baselineskip%
+ \vskip\dimen@%
+ \endgroup%
+ \unvbox#2\color@endgroup}%
+ \edef#1{7168pt}%
+ \fi%
+ \fi%
+}
+
+
\def\tcb@vbox#1#2{%
\edef\reserved@a{%
\endgroup%
@@ -40,13 +84,13 @@
\c@mpfootnote\z@%
\let\@footnotetext\@mpfootnotetext%
\@setminipage\tcb@hyph@fix%
- \ignorespaces%
\let\tcb@drawcolorbox=\tcb@drawcolorbox@standalone%
- }
+ \ignorespaces%
+}
\def\endtcb@vbox{%
- \par%
\unskip%
+ \par%
\ifvoid\@mpfootins\else%
\vskip\skip\@mpfootins%
\normalcolor%
@@ -58,20 +102,51 @@
% remaining height
\def\tcb@comp@h@page{%
- \ifx\kvtcb@float\@empty%
- \ifdim\pagegoal=16383.99998pt
+ \tcb@breakat@next%
+ \ifdim\tcb@breakat@dim>0pt\relax%
+ \tcbdimto\tcb@h@page{\tcb@breakat@dim-\kvtcb@shrinkbreakgoal}%
+ \else%
+ \ifx\kvtcb@float\@empty%
+ \iftcb@multicol%
+ \tcbdimto\tcb@h@page{\textheight-\kvtcb@shrinkbreakgoal}%
+ \else%
+ \ifdim\pagegoal=16383.99998pt
+ \tcbdimto\tcb@h@page{\textheight-\kvtcb@shrinkbreakgoal}%
+ \else%
+ \tcbdimto\tcb@h@page{\pagegoal-\pagetotal-\kvtcb@shrinkbreakgoal}%
+ \fi%
+ \fi%
+ \else%
\tcbdimto\tcb@h@page{\textheight-\kvtcb@shrinkbreakgoal}%
- \else
- \tcbdimto\tcb@h@page{\pagegoal-\pagetotal-\pageshrink-\kvtcb@shrinkbreakgoal}%
\fi%
- \else%
- \tcbdimto\tcb@h@page{\textheight-\kvtcb@shrinkbreakgoal}%
\fi%
}
\def\tcb@comp@h@total@standalone{%
\tcbdimto\tcb@h@padding{\kvtcb@bbtop@stand+\kvtcb@bbbottom@stand+\kvtcb@top@rule@stand+\kvtcb@bottom@rule@stand+\kvtcb@boxsep*2+\kvtcb@top+\kvtcb@bottom}%
- \tcbdimto\tcb@h@total{\tcb@h@before+\tcb@h@after+\tcb@h@padding+\tcb@h@padtitle+\tcb@h@upper+\tcb@h@segment+\tcb@h@lower}%
+ \tcbdimto\tcb@h@total{\tcb@h@padding+\tcb@h@padtitle+\tcb@h@upper+\tcb@h@segment+\tcb@h@lower}%
+}
+
+
+\newif\iftcb@final@box
+
+\def\tcb@check@for@final@box{%
+ \ifdim\tcb@h@total>\tcb@h@page\relax%
+ \iftcb@multicol%
+ \tcb@final@boxfalse%
+ \else%
+ \ifdim\tcb@h@total>\dimexpr\tcb@h@page+\kvtcb@enlargepage@flex\relax%
+ \tcb@final@boxfalse%
+ \else%
+ \tcbdimto\tcb@temp{\tcb@h@total-\tcb@h@page}%
+ \enlargethispage*{\tcb@temp}%
+ \tcbdimto\tcb@h@page{\tcb@h@page+\tcb@temp}%
+ \tcb@final@boxtrue%
+ \fi%
+ \fi%
+ \else%
+ \tcb@final@boxtrue%
+ \fi%
}
\def\tcb@following@title{%
@@ -94,7 +169,9 @@
\def\tcb@enlbreak@next@final{%
\ifdim\dimexpr\tcb@enlbreak@dim=0pt\relax
- \else\enlargethispage{\tcb@enlbreak@dim}\fi%
+ \else%
+ \iftcb@multicol\else\enlargethispage{\tcb@enlbreak@dim}\fi%
+ \fi%
}
\def\tcb@enlbreak@next@scan#1/#2@{%
@@ -119,38 +196,81 @@
\tcb@enlbreak@next%
}
+
+\def\tcb@breakat@next@scan#1/#2@{%
+ \def\temp@a{#2}%
+ \tcbdimto\tcb@breakat@dim{#1}%
+ \ifx\temp@a\@empty%
+ \let\tcb@breakat@next=\@empty%
+ \else%
+ \edef\tcb@breakat@seq{\temp@a @}%
+ \fi%
+}
+
+\def\tcb@breakat@next@step{%
+ \edef\tcb@temp{\noexpand\tcb@breakat@next@scan\tcb@breakat@seq}%
+ \tcb@temp%
+}
+
+\def\tcb@breakat@init{%
+ \edef\tcb@breakat@seq{\kvtcb@breakatdim/@}%
+ \let\tcb@breakat@next=\tcb@breakat@next@step%
+}
+
+
+\newif\iftcb@multicol
+
\def\tcb@drawcolorbox@breakable{%
+ \@ifundefined{col@number}{\tcb@multicolfalse}{%
+ \ifnum\col@number<2 %
+ \tcb@multicolfalse%
+ \else%
+ \tcb@multicoltrue%
+ \fi}%
\ifx\kvtcb@float\@empty%
- {\parskip\z@\par\vskip\z@}\bgroup\@nobreakfalse\addpenalty\z@\egroup% force update vertical list
- \setbox\z@=\vbox{\kvtcb@beforebox}%
- \tcbdimto\tcb@h@before{\ht\z@+\dp\z@+\dimexpr\parskip\relax}%
- \setbox\z@=\vbox{\kvtcb@afterbox}%
- \tcbdimto\tcb@h@after{\ht\z@+\dp\z@}%
+ \kvtcb@beforebox%
+ \def\kvtcb@beforebox{\nointerlineskip\noindent}%
+ \noindent% applies parskip
+ \vskip\lineskip{\parskip\z@\par\vskip\z@}\bgroup\@nobreakfalse\addpenalty\z@\egroup% force update vertical list
\tcb@break@allowedtrue%
\tcb@enlbreak@init%
\else%
- \let\tcb@h@before=\tcb@zpt%
- \let\tcb@h@after=\tcb@zpt%
\tcb@break@allowedfalse%
\fi%
- \tcb@split@start%
+ \let\tcb@after@lastbox=\kvtcb@afterbox%
+ \let\kvtcb@afterbox=\@empty%
+ \begingroup%
+ \parskip0pt%
+ \parindent0pt%
+ \lineskip0pt%
+ \topskip0pt%
+ \tcb@split@start%
+ \endgroup%
+ \ifx\kvtcb@float\@empty%
+ \tcb@after@lastbox%
+ \fi%
}
\def\tcb@split@start{%
+ \tcb@breakat@init%
\tcb@comp@h@page%
- %
% height calculation
\tcb@comp@h@total@standalone%
%
\let\tcb@split@next=\relax%
- \ifdim\tcb@h@total<\tcb@h@page\relax% no break
+ \tcb@check@for@final@box%
+ \iftcb@final@box%
+ %\ifdim\tcb@h@total<\tcb@h@page\relax% no break
\tcb@drawcolorbox@standalone%
\else
\iftcb@break@allowed%
- \ifdim\dimexpr\tcb@h@page-\tcb@h@before-\tcb@h@padding-\tcb@h@padtitle<\kvtcb@breakminlines\baselineskip\relax%
- \pagebreak\tcb@enlbreak@init\tcb@break@allowedfalse%
+ \ifdim\dimexpr\tcb@h@page-\tcb@h@padding-\tcb@h@padtitle<\kvtcb@breakminlines\baselineskip\relax%
+ \iftcb@multicol\columnbreak\else\pagebreak\null\fi%
+ \tcb@enlbreak@init\tcb@break@allowedfalse%
\tcb@comp@h@page%
- \ifdim\tcb@h@total<\tcb@h@page\relax% no break!
+ \tcb@check@for@final@box%
+ \iftcb@final@box%
+ %\ifdim\tcb@h@total<\tcb@h@page\relax% no break!
\tcb@drawcolorbox@standalone%
\else
\let\tcb@split@next=\tcb@split@first%
@@ -229,7 +349,7 @@
\def\tcb@split@force@standalone{%
\tcb@comp@h@total@standalone%
- \ifdim\tcb@h@total>\tcb@h@page%
+ \ifdim\tcb@h@total>\tcb@h@page\relax%
\tcbdimto\kvtcb@bbbottom@stand{\kvtcb@bbbottom@stand+\tcb@h@page-\tcb@h@total}%
\fi%
}
@@ -238,12 +358,16 @@
\def\tcb@split@first{%
\setcounter{tcbbreakpart}{1}%
\ifx\kvtcb@float\@empty%
- \def\tcb@before@first{\nointerlineskip\kvtcb@beforebox}%
- \def\tcb@before@middle{\nointerlineskip\noindent}%
- \let\tcb@before@last=\tcb@before@middle%
- \long\def\tcb@after@first{\parskip\z@\par\pagebreak\nointerlineskip{\topskip\z@\null}\tcb@enlbreak@next}%
+ \let\tcb@before@first=\@empty%
+ \let\tcb@before@middle=\@empty%
+ \let\tcb@before@last=\@empty%
+ \iftcb@multicol%
+ \let\tcb@after@first=\par%
+ \else%
+ \long\def\tcb@after@first{\par\pagebreak\null\tcb@enlbreak@next}%
+ \fi%
\let\tcb@after@middle=\tcb@after@first%
- \let\tcb@after@last=\kvtcb@afterbox%
+ \let\tcb@after@last=\par%
\else%
\edef\tcb@before@first{\noexpand\tcb@float@env@begin{tcbfloat}[\kvtcb@float]}%
\let\tcb@before@middle=\tcb@before@first%
@@ -275,7 +399,7 @@
\tcb@swap{\tcb@totallowerbox}{\tcb@lowerbox}%
%
\let\tcb@split@next=\relax%
- \tcbdimto\tcb@split@dim{\tcb@h@page-\tcb@h@before-\tcb@h@padding@first-\tcb@h@padtitle}%
+ \tcbdimto\tcb@split@dim{\tcb@h@page-\tcb@h@padding@first-\tcb@h@padtitle}%
\ifdim\tcb@split@dim<\tcb@h@upper\relax%
\tcb@split@upper@box%
\ifdim\wd\tcb@totalupperbox=0pt\relax%
@@ -293,7 +417,8 @@
\tcb@swap{\tcb@totallowerbox}{\tcb@lowerbox}%
\tcbdimto\tcb@h@upper{\ht\tcb@upperbox+\dp\tcb@upperbox}%
\tcbdimto\tcb@h@lower{\ht\tcb@lowerbox+\dp\tcb@lowerbox}%
- \pagebreak\tcb@enlbreak@init\tcb@break@allowedfalse%
+ \iftcb@multicol\columnbreak\else\pagebreak\null\fi%
+ \tcb@enlbreak@init\tcb@break@allowedfalse%
\let\tcb@split@next=\tcb@split@start%
\else%
\tcb@sdraw@U%
@@ -341,11 +466,13 @@
\stepcounter{tcbbreakpart}%
\tcb@following@title%
\tcb@comp@h@page%
- \tcbdimto\tcb@h@upper{\ht\tcb@totalupperbox+\dp\tcb@totalupperbox}%
- \tcbdimto\tcb@h@total{\tcb@h@after+\tcb@h@padding@last+\tcb@h@padtitle+\tcb@h@upper+\tcb@h@segment+\tcb@h@lower}%
+ \tcb@defToTotalHeight\tcb@h@upper{\tcb@totalupperbox}{\kvtcb@fontupper}%
+ \tcbdimto\tcb@h@total{\tcb@h@padding@last+\tcb@h@padtitle+\tcb@h@upper+\tcb@h@segment+\tcb@h@lower}%
%
\let\tcb@split@next=\relax%
- \ifdim\tcb@h@total<\tcb@h@page\relax% no break
+ \tcb@check@for@final@box%
+ \iftcb@final@box%
+ %\ifdim\tcb@h@total<\tcb@h@page\relax% no break
\tcb@split@setstate@last%
\tcb@setbox@upper{\tcb@h@upper}{\tcb@totalupperbox}%
\iftcb@lowerspace%
@@ -403,11 +530,13 @@
\tcb@following@title%
\tcb@comp@h@page%
\let\tcb@h@upper=\tcb@zpt%
- \tcbdimto\tcb@h@lower{\ht\tcb@totallowerbox+\dp\tcb@totallowerbox}%
- \tcbdimto\tcb@h@total{\tcb@h@after+\tcb@h@padding@last-\kvtcb@top-\kvtcb@boxsep+\tcb@h@padtitle+\tcb@h@segment+\tcb@h@lower}%
+ \tcb@defToTotalHeight\tcb@h@lower{\tcb@totallowerbox}{\kvtcb@fontlower}%
+ \tcbdimto\tcb@h@total{\tcb@h@padding@last-\kvtcb@top-\kvtcb@boxsep+\tcb@h@padtitle+\tcb@h@segment+\tcb@h@lower}%
%
\let\tcb@split@next=\relax%
- \ifdim\tcb@h@total<\tcb@h@page\relax% no break
+ \tcb@check@for@final@box%
+ \iftcb@final@box%
+ %\ifdim\tcb@h@total<\tcb@h@page\relax% no break
\tcb@split@setstate@last%
\tcb@setbox@lower{\tcb@h@lower}{\tcb@totallowerbox}%
\tcb@sdraw@SL%
@@ -432,11 +561,13 @@
\tcb@following@title%
\tcb@comp@h@page%
\let\tcb@h@upper=\tcb@zpt%
- \tcbdimto\tcb@h@lower{\ht\tcb@totallowerbox+\dp\tcb@totallowerbox}%
- \tcbdimto\tcb@h@total{\tcb@h@after+\tcb@h@padding@last+\tcb@h@padtitle+\tcb@h@lower}%
+ \tcb@defToTotalHeight\tcb@h@lower{\tcb@totallowerbox}{\kvtcb@fontflower}%
+ \tcbdimto\tcb@h@total{\tcb@h@padding@last+\tcb@h@padtitle+\tcb@h@lower}%
%
\let\tcb@split@next=\relax%
- \ifdim\tcb@h@total<\tcb@h@page\relax% no break
+ \tcb@check@for@final@box%
+ \iftcb@final@box%
+ %\ifdim\tcb@h@total<\tcb@h@page\relax% no break
\tcb@split@setstate@last%
\tcb@setbox@lower{\tcb@h@lower}{\tcb@totallowerbox}%
\tcb@sdraw@L%
@@ -456,11 +587,21 @@
}
+\def\tcb@break@ch@fixed{%
+ \ifdim\tcb@natheight<\tcb@h@page\relax%
+ \tcbdimto\kvtcb@height@fixed{\tcb@h@page}%
+ \tcb@ch@fixed%
+ \else%
+ \tcb@ch@natural%
+ \fi%
+}
+
+
\def\tcb@sdraw@USL{%
\tcbset{skin=\csname kvtcb@skin@@\tcb@split@state\endcsname}\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}%
- \tcb@ch@natural%
+ \csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcb@drawing@env@begin%
\tcb@extensions@preframe%
@@ -485,7 +626,7 @@
\tcbset{skin=\csname kvtcb@skin@@\tcb@split@state\endcsname}\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}%
- \tcb@ch@natural%
+ \csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcb@drawing@env@begin%
\tcb@extensions@preframe%
@@ -506,7 +647,7 @@
\tcbset{skin=\csname kvtcb@skin@@\tcb@split@state\endcsname}\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}%
- \tcb@ch@natural%
+ \csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcb@drawing@env@begin%
\tcb@extensions@preframe%
@@ -530,7 +671,7 @@
\tcbset{skin=\csname kvtcb@skin@@\tcb@split@state\endcsname}\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}%
- \tcb@ch@natural%
+ \csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcb@drawing@env@begin%
\tcb@extensions@preframe%
@@ -552,6 +693,12 @@
breakable@true/.code={%
\let\tcb@savebox=\tcb@vbox%
\let\endtcb@savebox=\endtcb@vbox%
+ \let\tcb@defToTotalHeight=\tcb@defToTotalHeightBreakable%
+ \let\tcb@drawcolorbox=\tcb@drawcolorbox@breakable},
+ breakable@unlimited/.code={%
+ \let\tcb@savebox=\tcb@vbox%
+ \let\endtcb@savebox=\endtcb@vbox%
+ \let\tcb@defToTotalHeight=\tcb@defToTotalHeightUnlimited%
\let\tcb@drawcolorbox=\tcb@drawcolorbox@breakable},
breakable/.style={breakable@#1},
breakable/.default=true,%
@@ -559,6 +706,7 @@
enforce breakable/.code={%
\let\tcb@savebox=\tcb@vbox%
\let\endtcb@savebox=\endtcb@vbox%
+ \let\tcb@defToTotalHeight=\tcb@defToTotalHeightBreakable%
\let\tcb@drawcolorbox=\tcb@drawcolorbox@breakable},
title after break/.store in=\kvtcb@followingtitle,%
notitle after break/.style={title after break=},%
@@ -571,10 +719,46 @@
bottomsep at break/.store in=\kvtcb@bottomsep,%
pad before break/.code={\let\kvtcb@bottom@rule@break=\tcb@zpt%
\tcbdimto\kvtcb@bottomsep{#1-\kvtcb@bottom-\kvtcb@boxsep}},%
+ pad before break*/.style={pad before break,%
+ code={\tcbdimto\tcb@temp{\kvtcb@bottom@rule@stand-\kvtcb@bottomsep}%
+ \ifdim\tcb@temp>0pt\relax%
+ \tcbdimto\kvtcb@enlargepage@flex{\kvtcb@enlargepage@flex+\tcb@temp}\fi}},%
pad after break/.code={\let\kvtcb@top@rule@break=\tcb@zpt%
\tcbdimto\kvtcb@topsep{#1-\kvtcb@top-\kvtcb@boxsep}},%
pad at break/.style={pad before break={#1},pad after break={#1}},%
- enlargepage/.store in=\kvtcb@enlargepage,
+ pad at break*/.style={pad before break*={#1},pad after break={#1}},%
+ enlargepage/.store in=\kvtcb@enlargepage,%
+ enlargepage flexible/.store in=\kvtcb@enlargepage@flex,%
+ break at/.store in=\kvtcb@breakatdim,%
+ height fixed for/.is choice,%
+ height fixed for/none/.code={%
+ \let\tcb@break@ch@first=\tcb@ch@natural%
+ \let\tcb@break@ch@middle=\tcb@ch@natural%
+ \let\tcb@break@ch@last=\tcb@ch@natural},%
+ height fixed for/first/.code={%
+ \let\tcb@break@ch@first=\tcb@break@ch@fixed%
+ \let\tcb@break@ch@middle=\tcb@ch@natural%
+ \let\tcb@break@ch@last=\tcb@ch@natural},%
+ height fixed for/middle/.code={%
+ \let\tcb@break@ch@first=\tcb@ch@natural%
+ \let\tcb@break@ch@middle=\tcb@break@ch@fixed%
+ \let\tcb@break@ch@last=\tcb@ch@natural},%
+ height fixed for/last/.code={%
+ \let\tcb@break@ch@first=\tcb@ch@natural%
+ \let\tcb@break@ch@middle=\tcb@ch@natural%
+ \let\tcb@break@ch@last=\tcb@break@ch@fixed},%
+ height fixed for/first and middle/.code={%
+ \let\tcb@break@ch@first=\tcb@break@ch@fixed%
+ \let\tcb@break@ch@middle=\tcb@break@ch@fixed%
+ \let\tcb@break@ch@last=\tcb@ch@natural},%
+ height fixed for/middle and last/.code={%
+ \let\tcb@break@ch@first=\tcb@ch@natural%
+ \let\tcb@break@ch@middle=\tcb@break@ch@fixed%
+ \let\tcb@break@ch@last=\tcb@break@ch@fixed},%
+ height fixed for/all/.code={%
+ \let\tcb@break@ch@first=\tcb@break@ch@fixed%
+ \let\tcb@break@ch@middle=\tcb@break@ch@fixed%
+ \let\tcb@break@ch@last=\tcb@break@ch@fixed},%
}
@@ -585,7 +769,9 @@
lines before break=2,
topsep at break=0pt,
bottomsep at break=0pt,
- enlargepage=0pt,
+ enlargepage=0pt,enlargepage flexible=0pt,
+ break at=0pt,
+ height fixed for=none
},
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 062dbf971f8..0ff5733b8f5 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%% 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.05}
+\tcb@set@library@version{3.10}
\tcbuselibrary{listings,skins}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
index 27789460801..f86aed5b589 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%% 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.05}
+\tcb@set@library@version{3.10}
\newdimen\tcbfitdim
\newdimen\tcb@lowerfitdim
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
index 90e48e2a386..74581d7dd11 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%% 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.05}
+\tcb@set@library@version{3.10}
\tcbset{%
before upper app/.code={\appto\kvtcb@before@upper{#1}},%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
index f43baa7826b..3030d396ff8 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%% 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.05}
+\tcb@set@library@version{3.10}
\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 ccbe190ca24..b08760c9b46 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%% 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.05}
+\tcb@set@library@version{3.10}
\def\tcbuselistingtext{\input{\kvtcb@listingfile}}%
\def\tcbuselistingcomment{\kvtcb@listingcomment}%
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
index a17c1807983..0b08e7c2914 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%% 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.05}
+\tcb@set@library@version{3.10}
\RequirePackage{listingsutf8}[2011/11/10]
\tcbuselibrary{listings}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex
index bc1f0b9b900..e4d078afa63 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%% 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.05}
+\tcb@set@library@version{3.10}
\RequirePackage{minted}[2011/09/17]
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
index 0146ccf44de..304162876e4 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%% 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.05}
+\tcb@set@library@version{3.10}
\RequirePackage{tikz}[2010/10/13]
@@ -69,7 +69,7 @@
\def\tcb@boundaryframe@pathfirst{%
\tcb@boundary@base{0pt}{0pt}%
{\tcb@width}{\tcb@height}%
- {\tcb@arc@zpt}{\tcb@arc@out}{\tcb@arc@out}{\tcb@arc@zpt}%
+ {\tcb@arc@zpt}{\tcb@arc@out@NW}{\tcb@arc@out@NE}{\tcb@arc@zpt}%
}
\def\tcb@boundaryframe@pathmiddle{%
@@ -81,7 +81,7 @@
\def\tcb@boundaryframe@pathlast{%
\tcb@boundary@base{0pt}{0pt}%
{\tcb@width}{\tcb@height}%
- {\tcb@arc@out}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@out}%
+ {\tcb@arc@out@SW}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@out@SE}%
}
\tikzset{%
@@ -114,7 +114,7 @@
\def\tcb@drawwithouttitle@pathfirst{%
\tcb@pathbase{tcb fill interior}{interior.west|-frame.south}{interior.north east}%
- {\tcb@arc@zpt}{\tcb@arc@ins}{\tcb@arc@ins}{\tcb@arc@zpt}%
+ {\tcb@arc@zpt}{\tcb@arc@ins@NW}{\tcb@arc@ins@NE}{\tcb@arc@zpt}%
}
\def\tcb@drawwithouttitle@pathmiddle{%
@@ -124,7 +124,7 @@
\def\tcb@drawwithouttitle@pathlast{%
\tcb@pathbase{tcb fill interior}{interior.south west}{interior.east|-frame.north}%
- {\tcb@arc@ins}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}%
+ {\tcb@arc@ins@SW}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins@SE}%
}
% draw title box
@@ -150,21 +150,29 @@
\fi%
}
-\long\def\tcb@pseudo@segmentation#1{%
-{\parskip\z@\par\nointerlineskip\hfilneg\kern-\@totalleftmargin}\begingroup%
-\tcb@shield@externalize\begin{tikzpicture}%
+\def\tcb@draw@pseudo@segmentation#1{%
+\begingroup\tcb@shield@externalize\begin{tikzpicture}%
\path[use as bounding box] (0,{\the\dimexpr-\kvtcb@middle-\kvtcb@boxsep\relax})
rectangle (\linewidth,{\the\dimexpr\kvtcb@middle+\kvtcb@boxsep\relax});
\node[line width=0mm,inner sep=0mm,draw=none,fill=none,rectangle,
- name=segmentation,at={({\the\dimexpr-#1-\kvtcb@boxsep\relax},0)},right,%
+ name=segmentation,at={({\the\dimexpr-\kvtcb@boxsep-(#1)\relax},0)},right,%
minimum width=\tcb@innerwidth,minimum height=\the\dimexpr\kvtcb@middle*2\relax]{};
\tcb@drawlower@path%
-\end{tikzpicture}%
-\endgroup{\parskip\z@\par\nointerlineskip}%
-}
+\end{tikzpicture}\endgroup}
+
+\def\tcbline@star#1{%
+{\parskip\z@\par\nointerlineskip}%
+\xleaders\vbox{\tcb@draw@pseudo@segmentation{#1}}\vskip\dimexpr(\kvtcb@middle+\kvtcb@boxsep)*2\relax%
+{\parskip\z@\par\nointerlineskip}}
+
+\def\tcbline@#1{%
+{\parskip\z@\par\nointerlineskip}%
+\tcb@draw@pseudo@segmentation{#1}%
+{\parskip\z@\par\nointerlineskip}}
-\def\tcbline{\iftcb@hasLower\tcb@pseudo@segmentation{\kvtcb@leftlower}%
- \else\tcb@pseudo@segmentation{\kvtcb@leftupper}\fi}
+\def\tcbline{%
+ \@ifstar{\iftcb@hasLower\tcbline@star{\kvtcb@leftlower}\else\tcbline@star{\kvtcb@leftupper}\fi}%
+ {\iftcb@hasLower\tcbline@{\kvtcb@leftlower+\@totalleftmargin}\else\tcbline@{\kvtcb@leftupper+\@totalleftmargin}\fi}}
% draw special versions
@@ -175,7 +183,7 @@
\def\tcb@drawspec@UR{%
\tcb@pathbase{tcb fill interior}{segmentation.west}{interior.north east}%
- {\tcb@arc@zpt}{\tcb@arc@ins}{\tcb@arc@ins}{\tcb@arc@zpt}%
+ {\tcb@arc@zpt}{\tcb@arc@ins@NW}{\tcb@arc@ins@NE}{\tcb@arc@zpt}%
}
\def\tcb@drawspec@US{%
@@ -185,7 +193,7 @@
\def\tcb@drawspec@LR#1{%
\tcb@pathbase{#1,segmentation@style}{interior.south west}{[yshift=0.1mm]segmentation.east}%
- {\tcb@arc@ins}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}%
+ {\tcb@arc@ins@SW}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins@SE}%
}
\def\tcb@drawspec@LS#1{%
@@ -195,17 +203,17 @@
\def\tcb@drawspec@sbs@A#1{%
\tcb@pathbase{#1,segmentation@style}{segmentation.south}{interior.north east}%
- {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}{\tcb@arc@ins}%
+ {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins@NE}{\tcb@arc@ins@SE}%
}
\def\tcb@drawspec@sbs@B#1{%
\tcb@pathbase{#1,segmentation@style}{segmentation.south}{interior.north east}%
- {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}%
+ {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins@SE}%
}
\def\tcb@drawspec@sbs@C#1{%
\tcb@pathbase{#1,segmentation@style}{segmentation.south|-frame.south}{interior.north east}%
- {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}{\tcb@arc@zpt}%
+ {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins@NE}{\tcb@arc@zpt}%
}
\def\tcb@drawspec@sbs@D#1{%
@@ -220,7 +228,7 @@
\def\tcb@drawspec@sbs@F#1{%
\tcb@pathbase{#1,segmentation@style}{segmentation.south}{interior.east|-frame.north}%
- {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}%
+ {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins@SE}%
}
\def\tcb@drawspec@T{%
@@ -446,19 +454,19 @@
\tcb@new@skin{freelance}{base@unbroken,%
frame engine=freelance,interior titled engine=freelance,interior engine=freelance,segmentation engine=freelance,title engine=freelance,%
- skin first=freelancefirst,skin middle=freelancemiddle,skin last=freelancelast}%,freelance@extension}
+ skin first=freelancefirst,skin middle=freelancemiddle,skin last=freelancelast}%
\tcb@new@skin{freelancefirst}{base@first,%
frame engine=freelance,interior titled engine=freelance,interior engine=freelance,segmentation engine=freelance,title engine=freelance,%
- skin first=freelancefirst,skin middle=freelancemiddle,skin last=freelancemiddle}%,freelancefirst@extension}
+ skin first=freelancefirst,skin middle=freelancemiddle,skin last=freelancemiddle}%
\tcb@new@skin{freelancemiddle}{base@middle,%
frame engine=freelance,interior titled engine=freelance,interior engine=freelance,segmentation engine=freelance,title engine=freelance,%
- skin first=freelancemiddle,skin middle=freelancemiddle,skin last=freelancemiddle}%,freelancemiddle@extension}
+ skin first=freelancemiddle,skin middle=freelancemiddle,skin last=freelancemiddle}%
\tcb@new@skin{freelancelast}{base@last,%
frame engine=freelance,interior titled engine=freelance,interior engine=freelance,segmentation engine=freelance,title engine=freelance,%
- skin first=freelancemiddle,skin middle=freelancemiddle,skin last=freelancelast}%,freelancelast@extension}
+ skin first=freelancemiddle,skin middle=freelancemiddle,skin last=freelancelast}%
\tcbset{freelance/.style={skin=freelance},
% for backward compatibility:
@@ -480,7 +488,7 @@
\fi%
\else%
{\tcb@spec{fill=\kvtcb@colback}\tcb@drawwithtitle@path}%
- \fi},
+ \fi\tcb@spec{}},
interior code={%
\iftcb@lowerseparated%
\ifcase\tcb@segment@state%
@@ -492,10 +500,10 @@
\fi%
\else%
{\tcb@spec{fill=\kvtcb@colback}\tcb@drawwithouttitle@path}%
- \fi},
+ \fi\tcb@spec{}},
segmentation code={\iftcb@sidebyside%
\iftcb@hasTitle\tcb@drawspec@sbs@B{fill=\kvtcb@colbacklower}\else%
- \tcb@drawspec@sbs@A{fill=\kvtcb@colbacklower}\fi\else\tcb@drawspec@LR{fill=\kvtcb@colbacklower}\fi},%
+ \tcb@drawspec@sbs@A{fill=\kvtcb@colbacklower}\fi\else\tcb@drawspec@LR{fill=\kvtcb@colbacklower}\fi\tcb@spec{}},%
skin first=bicolorfirst,skin middle=bicolormiddle,skin last=bicolorlast}
\tcbset{bicolor/.style={skin=bicolor}}
@@ -513,7 +521,7 @@
\fi%
\else%
{\tcb@spec{fill=\kvtcb@colback}\tcb@drawwithtitle@pathfirst}%
- \fi},
+ \fi\tcb@spec{}},
interior code={%
\iftcb@lowerseparated%
\ifcase\tcb@segment@state%
@@ -525,10 +533,10 @@
\fi%
\else%
{\tcb@spec{fill=\kvtcb@colback}\tcb@drawwithouttitle@pathfirst}%
- \fi},
+ \fi\tcb@spec{}},
segmentation code={\iftcb@sidebyside%
\iftcb@hasTitle\tcb@drawspec@sbs@D{fill=\kvtcb@colbacklower}\else%
- \tcb@drawspec@sbs@C{fill=\kvtcb@colbacklower}\fi\else\tcb@drawspec@LS{fill=\kvtcb@colbacklower}\fi},%
+ \tcb@drawspec@sbs@C{fill=\kvtcb@colbacklower}\fi\else\tcb@drawspec@LS{fill=\kvtcb@colbacklower}\fi\tcb@spec{}},%
skin first=bicolorfirst,skin middle=bicolormiddle,skin last=bicolormiddle}
\tcb@new@skin{bicolormiddle}{base@middle,%
@@ -544,7 +552,7 @@
\fi%
\else%
{\tcb@spec{fill=\kvtcb@colback}\tcb@drawwithtitle@pathmiddle}%
- \fi},%
+ \fi\tcb@spec{}},%
interior code={%
\iftcb@lowerseparated%
\ifcase\tcb@segment@state%
@@ -556,10 +564,10 @@
\fi%
\else%
{\tcb@spec{fill=\kvtcb@colback}\tcb@drawwithouttitle@pathmiddle}%
- \fi},
+ \fi\tcb@spec{}},
segmentation code={\iftcb@sidebyside%
\iftcb@hasTitle\tcb@drawspec@sbs@D{fill=\kvtcb@colbacklower}\else%
- \tcb@drawspec@sbs@E{fill=\kvtcb@colbacklower}\fi\else\tcb@drawspec@LS{fill=\kvtcb@colbacklower}\fi},%
+ \tcb@drawspec@sbs@E{fill=\kvtcb@colbacklower}\fi\else\tcb@drawspec@LS{fill=\kvtcb@colbacklower}\fi\tcb@spec{}},%
skin first=bicolormiddle,skin middle=bicolormiddle,skin last=bicolormiddle}
\tcb@new@skin{bicolorlast}{base@last,%
@@ -575,7 +583,7 @@
\fi%
\else%
{\tcb@spec{fill=\kvtcb@colback}\tcb@drawwithtitle@pathlast}%
- \fi},
+ \fi\tcb@spec{}},
interior code={%
\iftcb@lowerseparated%
\ifcase\tcb@segment@state%
@@ -587,10 +595,10 @@
\fi%
\else%
{\tcb@spec{fill=\kvtcb@colback}\tcb@drawwithouttitle@pathlast}%
- \fi},%
+ \fi\tcb@spec{}},%
segmentation code={\iftcb@sidebyside%
\iftcb@hasTitle\tcb@drawspec@sbs@B{fill=\kvtcb@colbacklower}\else%
- \tcb@drawspec@sbs@F{fill=\kvtcb@colbacklower}\fi\else\tcb@drawspec@LR{fill=\kvtcb@colbacklower}\fi},%
+ \tcb@drawspec@sbs@F{fill=\kvtcb@colbacklower}\fi\else\tcb@drawspec@LR{fill=\kvtcb@colbacklower}\fi\tcb@spec{}},%
skin first=bicolormiddle,skin middle=bicolormiddle,skin last=bicolorlast}
@@ -608,7 +616,7 @@
\else%
{\tcb@spec{beamer@color}\tcb@drawwithtitle@path}%
\fi%
- \tcb@drawspec@T},
+ \tcb@drawspec@T\tcb@spec{}},
interior code={%
\iftcb@lowerseparated%
\ifnum\tcb@segment@state=1
@@ -618,8 +626,8 @@
\fi%
\else%
{\tcb@spec{beamer@color}\tcb@drawwithouttitle@path}%
- \fi},
- segmentation code={\iftcb@sidebyside\tcb@drawlower@path\else\tcb@drawspec@LR{beamer@color}\fi},%
+ \fi\tcb@spec{}},
+ segmentation code={\iftcb@sidebyside\tcb@drawlower@path\else\tcb@drawspec@LR{beamer@color}\fi\tcb@spec{}},%
skin first=beamerfirst,skin middle=beamermiddle,skin last=beamerlast}
\tcbset{beamer/.style={skin=beamer,boxrule=0mm,titlerule=1mm,toptitle=0.5mm,arc=2mm,fonttitle=\bfseries,drop fuzzy shadow}}
@@ -636,7 +644,7 @@
\else%
{\tcb@spec{beamer@color}\tcb@drawwithtitle@pathfirst}%
\fi%
- \tcb@drawspec@T},%
+ \tcb@drawspec@T\tcb@spec{}},%
interior code={%
\iftcb@lowerseparated%
\ifnum\tcb@segment@state=1
@@ -646,8 +654,8 @@
\fi%
\else%
{\tcb@spec{beamer@color}\tcb@drawwithouttitle@pathfirst}%
- \fi},
- segmentation code={\iftcb@sidebyside\tcb@drawlower@path\else\tcb@drawspec@LS{beamer@color}\fi},%
+ \fi\tcb@spec{}},
+ segmentation code={\iftcb@sidebyside\tcb@drawlower@path\else\tcb@drawspec@LS{beamer@color}\fi\tcb@spec{}},%
skin first=beamerfirst,skin middle=beamermiddle,skin last=beamermiddle}
\tcb@new@skin{beamermiddle}{base@middle,%
@@ -662,7 +670,7 @@
\else%
{\tcb@spec{beamer@color}\tcb@drawwithtitle@pathmiddle}%
\fi%
- \tcb@drawspec@T},%
+ \tcb@drawspec@T\tcb@spec{}},%
interior code={%
\iftcb@lowerseparated%
\ifnum\tcb@segment@state=1
@@ -672,8 +680,8 @@
\fi%
\else%
{\tcb@spec{beamer@color}\tcb@drawwithouttitle@pathmiddle}%
- \fi},
- segmentation code={\iftcb@sidebyside\tcb@drawlower@path\else\tcb@drawspec@LS{beamer@color}\fi},%
+ \fi\tcb@spec{}},
+ segmentation code={\iftcb@sidebyside\tcb@drawlower@path\else\tcb@drawspec@LS{beamer@color}\fi\tcb@spec{}},%
skin first=beamermiddle,skin middle=beamermiddle,skin last=beamermiddle}
\tcb@new@skin{beamerlast}{base@last,%
@@ -688,7 +696,7 @@
\else%
{\tcb@spec{beamer@color}\tcb@drawwithtitle@pathlast}%
\fi%
- \tcb@drawspec@T},%
+ \tcb@drawspec@T\tcb@spec{}},%
interior code={%
\iftcb@lowerseparated%
\ifnum\tcb@segment@state=1
@@ -698,8 +706,8 @@
\fi%
\else%
{\tcb@spec{beamer@color}\tcb@drawwithouttitle@pathlast}%
- \fi},
- segmentation code={\iftcb@sidebyside\tcb@drawlower@path\else\tcb@drawspec@LR{beamer@color}\fi},%
+ \fi\tcb@spec{}},
+ segmentation code={\iftcb@sidebyside\tcb@drawlower@path\else\tcb@drawspec@LR{beamer@color}\fi\tcb@spec{}},%
skin first=beamermiddle,skin middle=beamermiddle,skin last=beamerlast}
\def\tcb@drawspec@widgetsegment{%
@@ -852,10 +860,8 @@
\tcb@spec{tcb@forced@clip}%
\def\tcb@spec##1{}%
\iftcb@hasTitle%
- %\csname tcb@drawwithtitle@\kvtcb@engine@interiortitled\endcsname%
\tcb@interiortitled@code%
\else%
- %\csname tcb@drawwithouttitle@\kvtcb@engine@interior\endcsname%
\tcb@interior@code%
\fi%
\endgroup%
@@ -867,7 +873,6 @@
\tcb@spec{tcb@forced@clip}%
\def\tcb@spec##1{}%
\iftcb@hasTitle%
- %\csname tcb@drawtitle@\kvtcb@engine@title\endcsname%
\tcb@title@code%
\fi%
\endgroup%
@@ -1246,6 +1251,23 @@
}}
+\def\tcb@arc@bor{\pgfsetcornersarced{\pgfqpoint{\tcb@border@arc}{\tcb@border@arc}}}%
+
+\def\tcb@arc@bor@NW{\csname tcb@arc@bor@NW@\tcb@corner@mode@NW\endcsname}
+\def\tcb@arc@bor@NE{\csname tcb@arc@bor@NE@\tcb@corner@mode@NE\endcsname}
+\def\tcb@arc@bor@SW{\csname tcb@arc@bor@SW@\tcb@corner@mode@SW\endcsname}
+\def\tcb@arc@bor@SE{\csname tcb@arc@bor@SE@\tcb@corner@mode@SE\endcsname}
+
+\let\tcb@arc@bor@NW@sharp\tcb@arc@zpt
+\let\tcb@arc@bor@NE@sharp\tcb@arc@zpt
+\let\tcb@arc@bor@SW@sharp\tcb@arc@zpt
+\let\tcb@arc@bor@SE@sharp\tcb@arc@zpt
+
+\let\tcb@arc@bor@NW@rounded\tcb@arc@bor
+\let\tcb@arc@bor@NE@rounded\tcb@arc@bor
+\let\tcb@arc@bor@SW@rounded\tcb@arc@bor
+\let\tcb@arc@bor@SE@rounded\tcb@arc@bor
+
\def\tcb@border@prepare#1#2{%
\tcbdimto\tcb@border@ts{#2+(#1)/2}%
\ifdim\dimexpr\tcb@outer@arc>\tcb@border@ts\relax%
@@ -1257,18 +1279,21 @@
\def\tcb@border@unbroken#1#2#3{%
\tcb@border@prepare{#1}{#2}%
- \draw[line width=#1,rounded corners=\tcb@border@arc,#3]
- ([xshift=\tcb@border@ts,yshift=\tcb@border@ts]frame.south west)%
- rectangle ([xshift=-\tcb@border@ts,yshift=-\tcb@border@ts]frame.north east);%
+ \tcb@pathbase{draw,line width=#1,#3}{[xshift=\tcb@border@ts,yshift=\tcb@border@ts]frame.south west}%
+ {[xshift=-\tcb@border@ts,yshift=-\tcb@border@ts]frame.north east}%
+ {\tcb@arc@bor@SW}{\tcb@arc@bor@NW}{\tcb@arc@bor@NE}{\tcb@arc@bor@SE}%
}
\def\tcb@border@first#1#2#3{%
\tcb@border@prepare{#1}{#2}%
- \draw[line width=#1,rounded corners=\tcb@border@arc,#3]
- ([xshift=\tcb@border@ts]frame.south west) --
- ([xshift=\tcb@border@ts,yshift=-\tcb@border@ts]frame.north west) --
- ([xshift=-\tcb@border@ts,yshift=-\tcb@border@ts]frame.north east) --
- ([xshift=-\tcb@border@ts]frame.south east);%
+ \tcb@pathboundary{draw,line width=#1,#3}{%
+ \tcb@gettikzxy{([xshift=\tcb@border@ts]frame.south west)}{\tcb@xa}{\tcb@ya}%
+ \tcb@gettikzxy{([xshift=-\tcb@border@ts,yshift=-\tcb@border@ts]frame.north east)}{\tcb@xb}{\tcb@yb}%
+ \pgfpathmoveto{\pgfqpoint{\tcb@xa}{\tcb@ya}}%
+ \tcb@arc@bor@NW\pgfpathlineto{\pgfqpoint{\tcb@xa}{\tcb@yb}}%
+ \tcb@arc@bor@NE\pgfpathlineto{\pgfqpoint{\tcb@xb}{\tcb@yb}}%
+ \tcb@arc@zpt\pgfpathlineto{\pgfqpoint{\tcb@xb}{\tcb@ya}}%
+ }%
}
\def\tcb@border@middle#1#2#3{%
@@ -1281,11 +1306,14 @@
\def\tcb@border@last#1#2#3{%
\tcb@border@prepare{#1}{#2}%
- \draw[line width=#1,rounded corners=\tcb@border@arc,#3]
- ([xshift=\tcb@border@ts]frame.north west) --
- ([xshift=\tcb@border@ts,yshift=\tcb@border@ts]frame.south west) --
- ([xshift=-\tcb@border@ts,yshift=\tcb@border@ts]frame.south east) --
- ([xshift=-\tcb@border@ts]frame.north east);%
+ \tcb@pathboundary{draw,line width=#1,#3}{%
+ \tcb@gettikzxy{([xshift=\tcb@border@ts,yshift=\tcb@border@ts]frame.south west)}{\tcb@xa}{\tcb@ya}%
+ \tcb@gettikzxy{([xshift=-\tcb@border@ts]frame.north east)}{\tcb@xb}{\tcb@yb}%
+ \pgfpathmoveto{\pgfqpoint{\tcb@xa}{\tcb@yb}}%
+ \tcb@arc@bor@SW\pgfpathlineto{\pgfqpoint{\tcb@xa}{\tcb@ya}}%
+ \tcb@arc@bor@SE\pgfpathlineto{\pgfqpoint{\tcb@xb}{\tcb@ya}}%
+ \tcb@arc@zpt\pgfpathlineto{\pgfqpoint{\tcb@xb}{\tcb@yb}}%
+ }%
}
@@ -1327,16 +1355,31 @@
\def\tcb@arc@sha{\pgfsetcornersarced{\pgfqpoint{\tcb@shadow@arc}{\tcb@shadow@arc}}}%
+\def\tcb@arc@sha@NW{\csname tcb@arc@sha@NW@\tcb@corner@mode@NW\endcsname}
+\def\tcb@arc@sha@NE{\csname tcb@arc@sha@NE@\tcb@corner@mode@NE\endcsname}
+\def\tcb@arc@sha@SW{\csname tcb@arc@sha@SW@\tcb@corner@mode@SW\endcsname}
+\def\tcb@arc@sha@SE{\csname tcb@arc@sha@SE@\tcb@corner@mode@SE\endcsname}
+
+\let\tcb@arc@sha@NW@sharp\tcb@arc@zpt
+\let\tcb@arc@sha@NE@sharp\tcb@arc@zpt
+\let\tcb@arc@sha@SW@sharp\tcb@arc@zpt
+\let\tcb@arc@sha@SE@sharp\tcb@arc@zpt
+
+\let\tcb@arc@sha@NW@rounded\tcb@arc@sha
+\let\tcb@arc@sha@NE@rounded\tcb@arc@sha
+\let\tcb@arc@sha@SW@rounded\tcb@arc@sha
+\let\tcb@arc@sha@SE@rounded\tcb@arc@sha
+
\def\tcb@shadow@unbroken#1#2#3#4{%
\tcb@shadow@prepare{#3}{#1}%
\tcb@pathbase{fill,#4}{[xshift=#1+#3,yshift=#2+#3]frame.south west}{[xshift=#1-#3,yshift=#2-#3]frame.north east}%
- {\tcb@arc@sha}{\tcb@arc@sha}{\tcb@arc@sha}{\tcb@arc@sha}%
+ {\tcb@arc@sha@SW}{\tcb@arc@sha@NW}{\tcb@arc@sha@NE}{\tcb@arc@sha@SE}%
}
\def\tcb@shadow@first#1#2#3#4{%
\tcb@shadow@prepare{#3}{#1}%
\tcb@pathbase{fill,#4}{[xshift=#1+#3,yshift=#2+#3]frame.south west}{[xshift=#1-#3,yshift=#2-#3]frame.north east}%
- {\tcb@arc@zpt}{\tcb@arc@sha}{\tcb@arc@sha}{\tcb@arc@zpt}%
+ {\tcb@arc@zpt}{\tcb@arc@sha@NW}{\tcb@arc@sha@NE}{\tcb@arc@zpt}%
}
\def\tcb@shadow@middle#1#2#3#4{%
@@ -1348,7 +1391,7 @@
\def\tcb@shadow@last#1#2#3#4{%
\tcb@shadow@prepare{#3}{#1}%
\tcb@pathbase{fill,#4}{[xshift=#1+#3,yshift=#2+#3]frame.south west}{[xshift=#1-#3,yshift=#2-#3]frame.north east}%
- {\tcb@arc@sha}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@sha}%
+ {\tcb@arc@sha@SW}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@sha@SE}%
}
@@ -1440,13 +1483,13 @@
\def\tcb@shadowlifted@unbroken#1#2#3#4#5{%
\tcb@shadowbended@prepare{#3}%
\tcb@pathbendedbase{fill,#5}{[xshift=#1+#3,yshift=#2+#3]frame.south west}{[xshift=-#1-#3,yshift=#2-#3]frame.north east}%
- {\tcb@arc@sha}{\tcb@arc@sha}{\tcb@arc@sha}{\tcb@arc@sha}{#4}{0pt}%
+ {\tcb@arc@sha@SW}{\tcb@arc@sha@NW}{\tcb@arc@sha@NE}{\tcb@arc@sha@SE}{#4}{0pt}%
}
\def\tcb@shadowlifted@first#1#2#3#4#5{%
\tcb@shadowbended@prepare{#3}%
\tcb@pathbendedbase{fill,#5}{[xshift=#1+#3,yshift=#2+#3]frame.south west}{[xshift=-#1-#3,yshift=#2-#3]frame.north east}%
- {\tcb@arc@zpt}{\tcb@arc@sha}{\tcb@arc@sha}{\tcb@arc@zpt}{#4}{0pt}%
+ {\tcb@arc@zpt}{\tcb@arc@sha@NW}{\tcb@arc@sha@NE}{\tcb@arc@zpt}{#4}{0pt}%
}
\def\tcb@shadowlifted@middle#1#2#3#4#5{%
@@ -1458,7 +1501,7 @@
\def\tcb@shadowlifted@last#1#2#3#4#5{%
\tcb@shadowbended@prepare{#3}%
\tcb@pathbendedbase{fill,#5}{[xshift=#1+#3,yshift=#2+#3]frame.south west}{[xshift=-#1-#3,yshift=#2-#3]frame.north east}%
- {\tcb@arc@sha}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@sha}{#4}{0pt}%
+ {\tcb@arc@sha@SW}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@sha@SE}{#4}{0pt}%
}
\tcbset{
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
index 031f609d4c1..bad37440165 100644
--- a/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
+++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 3.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%% 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.05}
+\tcb@set@library@version{3.10}
\tcbuselibrary{skins}
@@ -29,12 +29,12 @@
\tcbdimto\tcb@xa{\tcb@width-\kvtcb@right@rule}%
\tcbdimto\tcb@ya{\tcb@height-\kvtcb@top@rule}%
\pgfpathmoveto{\pgfpointorigin}%
- \tcb@arc@out\pgfpathlineto{\pgfqpoint{0pt}{\tcb@height}}%
- \pgfpathlineto{\pgfqpoint{\tcb@width}{\tcb@height}}%
+ \tcb@arc@out@NW\pgfpathlineto{\pgfqpoint{0pt}{\tcb@height}}%
+ \tcb@arc@out@NE\pgfpathlineto{\pgfqpoint{\tcb@width}{\tcb@height}}%
\tcb@arc@zpt\pgfpathlineto{\pgfqpoint{\tcb@width}{0pt}}%
\pgfpathlineto{\pgfqpoint{\tcb@xa}{0pt}}%
- \tcb@arc@ins\pgfpathlineto{\pgfqpoint{\tcb@xa}{\tcb@ya}}%
- \pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{\tcb@ya}}%
+ \tcb@arc@ins@NE\pgfpathlineto{\pgfqpoint{\tcb@xa}{\tcb@ya}}%
+ \tcb@arc@ins@NW\pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{\tcb@ya}}%
\tcb@arc@zpt\pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{0pt}}%
\pgfpathclose%
}
@@ -43,13 +43,13 @@
\tcbdimto\tcb@xa{\tcb@width-\kvtcb@right@rule}%
\tcbdimto\tcb@ya{\kvtcb@bottom@rule+\tcb@innerheight}%
\pgfpathmoveto{\pgfpointorigin}%
- \tcb@arc@out\pgfpathlineto{\pgfqpoint{0pt}{\tcb@height}}%
- \pgfpathlineto{\pgfqpoint{\tcb@width}{\tcb@height}}%
+ \tcb@arc@out@NW\pgfpathlineto{\pgfqpoint{0pt}{\tcb@height}}%
+ \tcb@arc@out@NE\pgfpathlineto{\pgfqpoint{\tcb@width}{\tcb@height}}%
\tcb@arc@zpt\pgfpathlineto{\pgfqpoint{\tcb@width}{0pt}}%
\pgfpathlineto{\pgfqpoint{\tcb@xa}{0pt}}%
\pgfpathlineto{\pgfqpoint{\tcb@xa}{\tcb@ya}}%
\pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{\tcb@ya}}%
- \tcb@arc@zpt\pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{0pt}}%
+ \pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{0pt}}%
\pgfpathclose%
}
@@ -148,7 +148,7 @@
\tcb@boundaryframe@pathlast%
\tcb@boundary@base{\kvtcb@left@rule}{\kvtcb@bottom@rule}%
{\tcb@width-\kvtcb@right@rule}{\tcb@height-\kvtcb@top@rule}%
- {\tcb@arc@ins}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}%
+ {\tcb@arc@ins@SW}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins@SE}%
\fi%
\else%
\tcb@boundaryframe@pathlast%
@@ -158,12 +158,12 @@
\pgfpathmoveto{\pgfpointorigin}%
\tcb@arc@zpt\pgfpathlineto{\pgfqpoint{0pt}{\tcb@height}}%
\pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{\tcb@height}}%
- \tcb@arc@ins\pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{\kvtcb@bottom@rule}}%
- \pgfpathlineto{\pgfqpoint{\tcb@xa}{\kvtcb@bottom@rule}}%
+ \tcb@arc@ins@SW\pgfpathlineto{\pgfqpoint{\kvtcb@left@rule}{\kvtcb@bottom@rule}}%
+ \tcb@arc@ins@SE\pgfpathlineto{\pgfqpoint{\tcb@xa}{\kvtcb@bottom@rule}}%
\tcb@arc@zpt\pgfpathlineto{\pgfqpoint{\tcb@xa}{\tcb@height}}%
\pgfpathlineto{\pgfqpoint{\tcb@width}{\tcb@height}}%
- \tcb@arc@out\pgfpathlineto{\pgfqpoint{\tcb@width}{0pt}}%
- \pgfpathclose%
+ \tcb@arc@out@SE\pgfpathlineto{\pgfqpoint{\tcb@width}{0pt}}%
+ \tcb@arc@out@SW\pgfpathclose%
\fi%
}%
}
diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
index c59b2f3d8d9..f37769e543a 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%% 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.05}
+\tcb@set@library@version{3.10}
\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 941fcdbb49c..c2361961ffd 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%% 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.05}
+\tcb@set@library@version{3.10}
\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 eec907b4a3b..e581a8e76f1 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.05 (2014/05/28)
+%% The LaTeX package tcolorbox - version 3.10 (2014/07/23)
%% tcolorbox.sty: Text color boxes
%%
%% -------------------------------------------------------------------------------------------
@@ -18,8 +18,8 @@
%% This work consists of all files listed in README
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tcolorbox}[2014/05/28 version 3.05 text color boxes]
-\def\tcb@version{3.05}
+\ProvidesPackage{tcolorbox}[2014/07/23 version 3.10 text color boxes]
+\def\tcb@version{3.10}
\RequirePackage{pgf}[2008/01/15]
\RequirePackage{verbatim}[2003/08/22]
@@ -53,6 +53,9 @@
\def\tcb@dim@to#1#2{\def#1{\the\dimexpr#2\relax}}
\def\tcbdimto#1#2{\edef#1{\the\dimexpr#2\relax}}
+\def\tcb@defToTotalHeightStandard#1#2#3{\tcbdimto#1{\ht#2+\dp#2}}
+\let\tcb@defToTotalHeight\tcb@defToTotalHeightStandard
+
\def\tcb@zpt{0pt}
\def\tcb@comp@arc@auto{%
@@ -164,6 +167,7 @@
arc/.dimstore in=\kvtcb@arc,
outer arc/.code={\def\kvtcb@outerarc{#1}\let\tcb@comp@arc=\tcb@comp@arc@fix},
auto outer arc/.code={\let\tcb@comp@arc=\tcb@comp@arc@auto},
+ sharpish corners/.style={arc=0pt,outer arc=0pt},
lefttitle/.store in=\kvtcb@lefttitle,
leftupper/.store in=\kvtcb@leftupper,
leftlower/.store in=\kvtcb@leftlower,
@@ -376,6 +380,7 @@
breakable@false/.code={%
\let\tcb@savebox=\tcb@lrbox%
\let\endtcb@savebox=\endtcb@lrbox%
+ \let\tcb@defToTotalHeight=\tcb@defToTotalHeightStandard%
\let\tcb@drawcolorbox=\tcb@drawcolorbox@standalone},
code/.code={#1},
capture/.store in=\kvtcb@capture,%
@@ -480,8 +485,8 @@
\@endpefalse
\color@setgroup%
\csname tcb@parbox@use@\kvtcv@parbox\endcsname%
- \ignorespaces\tcb@minipage#2\tcb@hyph@fix\ignorespaces}
-\def\endtcb@lrbox{\unskip\endminipage\unskip\color@endgroup}
+ \tcb@minipage#2\tcb@hyph@fix\ignorespaces}
+\def\endtcb@lrbox{\unskip\endminipage\color@endgroup}
\let\tcb@savebox=\tcb@lrbox
\let\endtcb@savebox=\endtcb@lrbox
@@ -743,6 +748,56 @@
\def\tcb@arc@ins{\pgfsetcornersarced{\pgfqpoint{\kvtcb@arc}{\kvtcb@arc}}}%
\def\tcb@arc@out{\pgfsetcornersarced{\pgfqpoint{\tcb@outer@arc}{\tcb@outer@arc}}}%
+\def\tcb@define@corner@mode#1{%
+\tcbset{%
+ #1 corners/.is choice,%
+ #1 corners/northwest/.code={\edef\tcb@corner@mode@NW{#1}},%
+ #1 corners/northeast/.code={\edef\tcb@corner@mode@NE{#1}},%
+ #1 corners/southwest/.code={\edef\tcb@corner@mode@SW{#1}},%
+ #1 corners/southeast/.code={\edef\tcb@corner@mode@SE{#1}},%
+ #1 corners/north/.code={\edef\tcb@corner@mode@NW{#1}\edef\tcb@corner@mode@NE{#1}},%
+ #1 corners/south/.code={\edef\tcb@corner@mode@SW{#1}\edef\tcb@corner@mode@SE{#1}},%
+ #1 corners/east/.code={\edef\tcb@corner@mode@NE{#1}\edef\tcb@corner@mode@SE{#1}},%
+ #1 corners/west/.code={\edef\tcb@corner@mode@NW{#1}\edef\tcb@corner@mode@SW{#1}},%
+ #1 corners/downhill/.code={\edef\tcb@corner@mode@NW{#1}\edef\tcb@corner@mode@SE{#1}},%
+ #1 corners/uphill/.code={\edef\tcb@corner@mode@NE{#1}\edef\tcb@corner@mode@SW{#1}},%
+ #1 corners/all/.code={\edef\tcb@corner@mode@NW{#1}\edef\tcb@corner@mode@NE{#1}\edef\tcb@corner@mode@SW{#1}\edef\tcb@corner@mode@SE{#1}},%
+ #1 corners/.default=all}}%
+
+\tcb@define@corner@mode{rounded}
+\tcb@define@corner@mode{sharp}
+
+\def\tcb@arc@out@NW{\csname tcb@arc@out@NW@\tcb@corner@mode@NW\endcsname}
+\def\tcb@arc@out@NE{\csname tcb@arc@out@NE@\tcb@corner@mode@NE\endcsname}
+\def\tcb@arc@out@SW{\csname tcb@arc@out@SW@\tcb@corner@mode@SW\endcsname}
+\def\tcb@arc@out@SE{\csname tcb@arc@out@SE@\tcb@corner@mode@SE\endcsname}
+
+\def\tcb@arc@ins@NW{\csname tcb@arc@ins@NW@\tcb@corner@mode@NW\endcsname}
+\def\tcb@arc@ins@NE{\csname tcb@arc@ins@NE@\tcb@corner@mode@NE\endcsname}
+\def\tcb@arc@ins@SW{\csname tcb@arc@ins@SW@\tcb@corner@mode@SW\endcsname}
+\def\tcb@arc@ins@SE{\csname tcb@arc@ins@SE@\tcb@corner@mode@SE\endcsname}
+
+\let\tcb@arc@out@NW@sharp\tcb@arc@zpt
+\let\tcb@arc@out@NE@sharp\tcb@arc@zpt
+\let\tcb@arc@out@SW@sharp\tcb@arc@zpt
+\let\tcb@arc@out@SE@sharp\tcb@arc@zpt
+
+\let\tcb@arc@ins@NW@sharp\tcb@arc@zpt
+\let\tcb@arc@ins@NE@sharp\tcb@arc@zpt
+\let\tcb@arc@ins@SW@sharp\tcb@arc@zpt
+\let\tcb@arc@ins@SE@sharp\tcb@arc@zpt
+
+\let\tcb@arc@out@NW@rounded\tcb@arc@out
+\let\tcb@arc@out@NE@rounded\tcb@arc@out
+\let\tcb@arc@out@SW@rounded\tcb@arc@out
+\let\tcb@arc@out@SE@rounded\tcb@arc@out
+
+\let\tcb@arc@ins@NW@rounded\tcb@arc@ins
+\let\tcb@arc@ins@NE@rounded\tcb@arc@ins
+\let\tcb@arc@ins@SW@rounded\tcb@arc@ins
+\let\tcb@arc@ins@SE@rounded\tcb@arc@ins
+
+
% boundaries
\def\tcb@boundary@base#1#2#3#4#5#6#7#8{%
\tcbdimto\tcb@xa{#1}%
@@ -756,11 +811,10 @@
#5\pgfpathclose%
}
-
\def\tcb@boundaryframe@standard{%
\tcb@boundary@base{0pt}{0pt}%
{\tcb@width}{\tcb@height}%
- {\tcb@arc@out}{\tcb@arc@out}{\tcb@arc@out}{\tcb@arc@out}%
+ {\tcb@arc@out@SW}{\tcb@arc@out@NW}{\tcb@arc@out@NE}{\tcb@arc@out@SE}%
}
\def\tcb@boundaryframe@standardjigsaw{%
@@ -779,19 +833,19 @@
\def\tcb@boundaryinterior@title@standard{%
\tcb@boundary@base{\kvtcb@left@rule}{\kvtcb@bottom@rule}%
{\tcb@width-\kvtcb@right@rule}{\kvtcb@bottom@rule+\tcb@innerheight}%
- {\tcb@arc@ins}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins}%
+ {\tcb@arc@ins@SW}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins@SE}%
}
\def\tcb@boundaryinterior@notitle@standard{%
\tcb@boundary@base{\kvtcb@left@rule}{\kvtcb@bottom@rule}%
{\tcb@width-\kvtcb@right@rule}{\tcb@height-\kvtcb@top@rule}%
- {\tcb@arc@ins}{\tcb@arc@ins}{\tcb@arc@ins}{\tcb@arc@ins}%
+ {\tcb@arc@ins@SW}{\tcb@arc@ins@NW}{\tcb@arc@ins@NE}{\tcb@arc@ins@SE}%
}
\def\tcb@boundarytitle@standard{%
\tcb@boundary@base{\kvtcb@left@rule}{\kvtcb@bottom@rule+\tcb@innerheight+\kvtcb@title@rule}%
{\tcb@width-\kvtcb@right@rule}{\tcb@height-\kvtcb@top@rule}%
- {\tcb@arc@zpt}{\tcb@arc@ins}{\tcb@arc@ins}{\tcb@arc@zpt}%
+ {\tcb@arc@zpt}{\tcb@arc@ins@NW}{\tcb@arc@ins@NE}{\tcb@arc@zpt}%
}
% fill frame
@@ -986,14 +1040,14 @@
\let\tcb@h@padtitle=\tcb@zpt%
\fi%
%
- \tcbdimto\tcb@h@upper{\ht\tcb@upperbox+\dp\tcb@upperbox}%
+ \tcb@defToTotalHeight\tcb@h@upper{\tcb@upperbox}{\kvtcb@fontupper}%
%
\iftcb@hasLower%
\iftcb@lowerignored\tcb@lowerspacefalse\else\tcb@lowerspacetrue\fi%
\else\tcb@lowerspacefalse\fi%
\iftcb@lowerspace%
\tcbdimto\tcb@h@segment{\kvtcb@boxsep*2+\kvtcb@middle*2}%
- \tcbdimto\tcb@h@lower{\ht\tcb@lowerbox+\dp\tcb@lowerbox}%
+ \tcb@defToTotalHeight\tcb@h@lower{\tcb@lowerbox}{\kvtcb@fontlower}%
\else
\let\tcb@h@segment=\tcb@zpt%
\let\tcb@h@lower=\tcb@zpt%
@@ -1371,7 +1425,7 @@
reset@core/.style={code={\let\tcbtitletext\@empty\tcb@attach@title@code@},
width=\linewidth,autoparskip,
natural height,height plus=0pt,space to lower,valign=top,valign lower=top,
- size=normal,
+ size=normal,rounded corners,
enlarge top by=0mm,enlarge bottom by=0mm,enlarge left by=0mm,enlarge right by=0mm,
toggle enlargement=none,toggle left and right=none,
baseline=0pt,adjust text={\"Apgjy},lowerbox=visible,lower separated,