From b04039458a9af5fcac6c9f8c530489d18cefe77c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 20 Apr 2012 23:14:24 +0000 Subject: tcolorbox (20apr12) git-svn-id: svn://tug.org/texlive/trunk@26072 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/tcolorbox/CHANGES | 20 +- Master/texmf-dist/doc/latex/tcolorbox/README | 4 +- .../doc/latex/tcolorbox/tcolorbox-example.pdf | Bin 105717 -> 105699 bytes .../doc/latex/tcolorbox/tcolorbox-example.tex | 2 +- .../texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf | Bin 954804 -> 1074299 bytes .../texmf-dist/doc/latex/tcolorbox/tcolorbox.tex | 550 ++++++++++++++++++++- .../tex/latex/tcolorbox/tcbdocumentation.code.tex | 2 +- .../tex/latex/tcolorbox/tcblistings.code.tex | 18 +- .../tex/latex/tcolorbox/tcbskins.code.tex | 193 ++++++++ .../tex/latex/tcolorbox/tcbtheorems.code.tex | 2 +- .../texmf-dist/tex/latex/tcolorbox/tcolorbox.sty | 100 ++-- Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/libexec/ctan2tds | 9 + 13 files changed, 836 insertions(+), 66 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/tcolorbox/CHANGES b/Master/texmf-dist/doc/latex/tcolorbox/CHANGES index 8095deda740..121d9a42791 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 1.20 (2012/03/16) +%% The LaTeX package tcolorbox - version 1.30 (2012/04/20) %% %% ------------------------------------------------------------------------------------------- %% Copyright (c) 2006-2012 by Prof. Dr. Dr. Thomas F. Sturm @@ -54,9 +54,19 @@ version 1.20 (2012/03/16) - commands \brackets and \docAuxCommand added to the documentation library - documentation rearranged - - - - +version 1.30 (2012/04/20) +- several internal code changes to provide a 'skin' exchange mechanism +- new keys for the core package: + 'frame engine', 'interior titled engine', 'interior engine', 'segmentation engine' + 'skin', 'graphical environment', 'geometry nodes', 'colupper', 'collower' +- tcolorbox now defined as 'long' macro +- new keys for the library 'listings': + 'comment', 'listing and comment', 'comment and listing' +- new library 'skins' with the skins + 'standard', 'enhanced', 'freelance', 'bicolor', 'beamer', 'widget' +- keys for the library 'skins': + 'frame style', 'interior style', 'segmentation style' + 'frame code', 'interior titled code', 'interior code', 'segmentation code', + 'colbacklower' diff --git a/Master/texmf-dist/doc/latex/tcolorbox/README b/Master/texmf-dist/doc/latex/tcolorbox/README index 45a946f6263..ed65b1ad367 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 1.20 (2012/03/16) +%% The LaTeX package tcolorbox - version 1.30 (2012/04/20) %% %% ------------------------------------------------------------------------------------------- %% Copyright (c) 2006-2012 by Prof. Dr. Dr. Thomas F. Sturm @@ -32,6 +32,7 @@ Contents of the package 'tcblistings.code.tex' LaTeX package file (library of tcolorbox) 'tcbtheorems.code.tex' LaTeX package file (library of tcolorbox) 'tcbdocumenation.code.tex' LaTeX package file (library of tcolorbox) + 'tcbskins.code.tex' LaTeX package file (library of tcolorbox) 'tcolorbox.pdf' Documentation for tcolorbox 'tcolorbox.tex' Source code of the documentation 'tcolorbox-example.tex' Example file for package usage @@ -47,4 +48,5 @@ Alternatively, put the files to their respective locations within the TeX instal 'tcblistings.code.tex' -> /tex/latex/tcolorbox 'tcbtheorems.code.tex' -> /tex/latex/tcolorbox 'tcbdocumenation.code.tex' -> /tex/latex/tcolorbox + 'tcbskins.code.tex' -> /tex/latex/tcolorbox all other files -> /doc/latex/tcolorbox diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf index d78b510d6e7..341d08f4128 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 74d6ea386f2..0c5bf93b51c 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 1.20 (2012/03/16) +%% The LaTeX package tcolorbox - version 1.30 (2012/04/20) %% tcolorbox-example.tex: an example for tcolorbox %% %% ------------------------------------------------------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf index 9773d5d2c43..3981d2ab065 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 78d4e5f5bc6..bcd06a4d6cd 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 1.20 (2012/03/16) +%% The LaTeX package tcolorbox - version 1.30 (2012/04/20) %% tcolorbox.tex: Manual %% %% ------------------------------------------------------------------------------------------- @@ -51,11 +51,23 @@ \setlength{\bibitemsep}{\smallskipamount} \addbibresource{\jobname.bib} -\usepackage[listings,theorems,documentation]{tcolorbox} +\usetikzlibrary{shadings,shadows} +\usetikzlibrary{decorations.pathmorphing} + +\usepackage[listings,theorems,documentation,skins]{tcolorbox} \tcbmakedocSubKey{docTcbKey}{tcb} \tcbmakedocSubKey{langTcbKey}{tcb/doclang} +\makeatletter +\def\index@Skin#1{\index{#1\idx@actual\texttt{#1} Skin}\index{Skins\idx@level#1\idx@actual\texttt{#1}}} +\newenvironment{docSkin}[1]{\begin{manual@entry}% +\hypertarget{skin:#1}{\manual@top{\texttt{/tcb/skin=}\disp@com{#1}\index@Skin{#1}\protected@edef\@currentlabel{#1}\label{skin:#1}\hfill(skin)}}}% + {\end{manual@entry}} +\def\refSkin#1{\ref@doc{skin:#1}} +\makeatother + + \hypersetup{ pdftitle={Manual for the tcolorbox package}, pdfauthor={Thomas F. Sturm}, @@ -63,8 +75,8 @@ pdfkeywords={colored boxes, LaTeX examples, theorems} } -\def\version{1.20}% -\def\datum{2012/03/16}% +\def\version{1.30}% +\def\datum{2012/04/20}% \makeindex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -158,6 +170,12 @@ The following keys are used inside |\tcbuselibrary| respectively from page \pageref{sec:documentation}. \end{docTcbKey} +\begin{docTcbKey}[library]{skins}{}{no value} + Loads the package |tikz| \cite{tantau:2010c} and provides additional + styles (skins) for the appearance of the colored boxes; see + section \ref{sec:skins} from page \pageref{sec:skins}. +\end{docTcbKey} + \clearpage \section{Macros for Box Creation} @@ -348,7 +366,7 @@ Now, the saved part is used: \subsection{Colors and Fonts} -\begin{docTcbKey}{colback}{=\meta{color}}{no default, initially \texttt{black!5}} +\begin{docTcbKey}{colback}{=\meta{color}}{no default, initially \texttt{black!5!white}} Sets the background \meta{color} of the box. \begin{dispExample} \begin{tcolorbox}[colback=white] @@ -358,7 +376,7 @@ This is a \textbf{tcolorbox}. \end{docTcbKey} -\begin{docTcbKey}{colframe}{=\meta{color}}{no default, initially \texttt{black!75}} +\begin{docTcbKey}{colframe}{=\meta{color}}{no default, initially \texttt{black!75!white}} Sets the frame \meta{color} of the box. \begin{dispExample} \begin{tcolorbox}[colframe=red!50!yellow] @@ -368,11 +386,38 @@ This is a \textbf{tcolorbox}. \end{docTcbKey} -\begin{docTcbKey}{coltext}{=\meta{color}}{no default, initially \texttt{black}} - Sets the text \meta{color} of the box. +\begin{docTcbKey}{colupper}{=\meta{color}}{no default, initially \texttt{black}} + Sets the text \meta{color} of the upper part. +\begin{dispExample} +\begin{tcolorbox}[colupper=yellow,colback=blue!50,colframe=blue] +This is a \textbf{tcolorbox}. +\tcblower +This is the lower part. +\end{tcolorbox} +\end{dispExample} +\end{docTcbKey} + + +\begin{docTcbKey}{collower}{=\meta{color}}{no default, initially \texttt{black}} + Sets the text \meta{color} of the lower part. +\begin{dispExample} +\begin{tcolorbox}[collower=yellow,colback=blue!50,colframe=blue] +This is a \textbf{tcolorbox}. +\tcblower +This is the lower part. +\end{tcolorbox} +\end{dispExample} +\end{docTcbKey} + + +\begin{docTcbKey}{coltext}{=\meta{color}}{style, no default, initially \texttt{black}} + Sets the text \meta{color} of the box. This is an abbreviation for setting + |colupper| and |collower| to the same value. \begin{dispExample} \begin{tcolorbox}[coltext=yellow,colback=blue!50,colframe=blue] This is a \textbf{tcolorbox}. +\tcblower +This is the lower part. \end{tcolorbox} \end{dispExample} \end{docTcbKey} @@ -410,7 +455,6 @@ This is the lower part. \end{docTcbKey} -\clearpage \begin{docTcbKey}{fonttitle}{=\meta{text}}{no default, initially empty} Sets \meta{text} before the content of the title text (e.\,g.\ font settings). \begin{dispExample} @@ -421,6 +465,7 @@ This is a \textbf{tcolorbox}. \end{docTcbKey} +\clearpage \subsection{Geometry} \begin{docTcbKey}{width}{=\meta{length}}{no default, initially \cs{linewidth}} Sets the total width of the colored box to \meta{length}. @@ -455,7 +500,6 @@ This is a \textbf{tcolorbox}. \end{dispExample} \end{docTcbKey} -\clearpage \begin{docTcbKey}{boxsep}{=\meta{length}}{no default, initially \texttt{1mm}} Sets a common padding of \meta{length} between the text content and the frame of the box. This value is added to the key values of @@ -468,6 +512,7 @@ This is a \textbf{tcolorbox}. \end{docTcbKey} +\clearpage \begin{docTcbKey}{left}{=\meta{length}}{style, no default, initially \texttt{4mm}} Sets the left space between all text parts and frame (additional to |boxsep|). This is an abbreviation for setting @@ -497,7 +542,6 @@ This is a \textbf{tcolorbox}. \end{dispExample} \end{docTcbKey} -\clearpage \begin{docTcbKey}{leftlower}{=\meta{length}}{no default, initially \texttt{4mm}} Sets the left space between lower text and frame (additional to |boxsep|). \begin{dispExample} @@ -510,6 +554,7 @@ This is the lower part. \end{docTcbKey} +\clearpage \begin{docTcbKey}{right}{=\meta{length}}{style, no default, initially \texttt{4mm}} Sets the right space between all text parts and frame (additional to |boxsep|). This is an abbreviation for setting @@ -543,6 +588,7 @@ This is a \textbf{tcolorbox} with compressed upper box dimensions. \end{docTcbKey} +\clearpage \begin{docTcbKey}{rightlower}{=\meta{length}}{no default, initially \texttt{4mm}} Sets the right space between lower text and frame (additional to |boxsep|). \begin{dispExample} @@ -973,7 +1019,7 @@ This is a \textbf{tcolorbox}. \tcbusetemp \end{docTcbKey} -\enlargethispage*{1cm} +\clearpage \subsection{Files} \begin{docTcbKey}{tempfile}{=\meta{file name}}{no default, initially \cs{jobname.tcbtemp}} @@ -981,6 +1027,14 @@ This is a \textbf{tcolorbox}. \refEnv{tcbwritetemp} and \refCom{tcbusetemp} implicitely. \end{docTcbKey} +\subsection{Skins} +There are additional option keys which change the appearance of a |tcolorbox|. +If only the core package is used, there is only one \emph{skin} and these +keys are meaningless. +The library 'skins' adds more skins. The appropriate option keys for skins of +the core package are therefore described in section \ref{sec:skincorekeys} from +page \pageref{sec:skincorekeys}. + \clearpage \section{Saving and Loading of Verbatim Texts} @@ -1200,6 +1254,46 @@ This is a \LaTeX\ example. \end{docTcbKey} +\clearpage +\begin{docTcbKey}{comment}{=\meta{text}}{no default, initially empty} + Records a comment with \meta{text} as content. The comment is displayed + only in conjunction with \refKey{/tcb/listing and comment} + and \refKey{/tcb/comment and listing}. +\begin{dispExample} +\begin{tcblisting}{comment={This comment is really only a comment}, + colback=red!5,colframe=red!75!black} +This is a \textbf{tcolorbox}. +\end{tcblisting} +\end{dispExample} +\end{docTcbKey} + + +\begin{docTcbKey}{listing and comment}{}{no value} + Typesets the environment content as listing in the upper part and + a given comment in the lower part. +\begin{dispExample} +\begin{tcblisting}{colback=red!5,colframe=red!75!black,listing and comment, + comment={This is my comment. It may contain line breaks.\par + It can even use the environment content + \flqq\ignorespaces\tcbuselistingtext\unskip\frqq}} +This is a \LaTeX\ example. +\end{tcblisting} +\end{dispExample} +\end{docTcbKey} + + + +\begin{docTcbKey}{comment and listing}{}{no value} + Typesets a given comment in the upper part and + the environment content as listing in the lower part. +\begin{dispExample} +\begin{tcblisting}{colback=red!5,colframe=red!75!black,comment and listing, +comment={This is my comment.}} +This is a \LaTeX\ example. +\end{tcblisting} +\end{dispExample} +\end{docTcbKey} + \clearpage \subsection{Creation of \LaTeX\ Tutorials}\label{sec:latextutorial} @@ -2009,6 +2103,438 @@ in some library commands. \dispColor{Hyperlink}. +\clearpage +\section{Library 'skins'}\label{sec:skins} +The library is loaded by a package option or inside the preamble by: +\begin{dispListing} +\tcbuselibrary{skins} +\end{dispListing} +This also loads the package |tikz| \cite{tantau:2010c}. Typically but not necessarily, +the following skins use |tikz| instead of |pgf|. + +\subsection{Technical Overview and Core Package Option Keys}\label{sec:skincorekeys} +From a technical point of view, a \emph{skin} is a style definition for the +appearance of a |tcolorbox|. The core package provides some additional +option keys for skins but only a single skin called \refSkin{standard}. +The 'skins' library adds several more skins. To change a skin, only one +option from the core package has to be set. + +\begin{docTcbKey}{skin}{=\meta{name}}{style, no default, initially \texttt{standard}} + Sets the current skin to \meta{name}. This is a style definition which sets all the following + keys, i.\,e.\ for many use cases there is nothing more to do. +\begin{dispExample} +\tcbset{colback=Salmon!50!white,colframe=FireBrick!75!black, + width=(\linewidth-8mm)/2,before=,after=\hfill,equal height group=ske} + +\begin{tcolorbox}[adjusted title=My title] + This is my content. +\end{tcolorbox} +\begin{tcolorbox}[skin=beamer,adjusted title=My title] + This is my content. +\end{tcolorbox} +\end{dispExample} +\end{docTcbKey} + + +\begin{docTcbKey}{graphical environment}{=\meta{name}}{no default, initially \texttt{pgfpicture}} + Sets the graphical environment for the |tcolorbox| to \meta{name}. + Feasible values are |pgfpicture| and |tikzpicture| or environments which + inherit from one of these two. This key is set by a \refKey{/tcb/skin} and + may seldom be used directly. +\end{docTcbKey} + +The skin of a |tcolorbox| is drawn by up to three \emph{engines}. +Afterwards, the text content is drawn which is not part of a skin. +The three steps are: +\begin{enumerate} +\item The \emph{frame} of the box. +\item The \emph{interior} of the box. The interior of a box with title is + drawn differently from a box without title. +\item The \emph{segmentation} (line) of the box, if there is a lower part. +\end{enumerate} + +Every engine for the up to three steps can be set to one of three types: +\begin{enumerate} +\item |standard|: the original code from the core package. +\item |path|: a |tikz| path which can be controlled by options. +\item |freelance|: arbitrary user code. +\end{enumerate} +\clearpage + +\begin{docTcbKey}{frame engine}{=\meta{name}}{no default, initially \texttt{standard}} + Sets the \emph{frame} drawing engine for a box to \meta{name}. + Typically, this key is set by a \refKey{/tcb/skin}. + Feasible values for \meta{name} are: + \begin{itemize} + \item |standard|: the original code from the core package, + \item |path|: a |tikz| path which is controlled by \refKey{/tcb/frame style}, + \item |freelance|: arbitrary user code which is given by \refKey{/tcb/frame code}. + \end{itemize} +\end{docTcbKey} + +\begin{docTcbKey}{interior titled engine}{=\meta{name}}{no default, initially \texttt{standard}} + Sets the \emph{interior} drawing engine for a titled box to \meta{name}. + Typically, this key is set by a \refKey{/tcb/skin}. + Feasible values for \meta{name} are: + \begin{itemize} + \item |standard|: the original code from the core package, + \item |path|: a |tikz| path which is controlled by \refKey{/tcb/interior style}, + \item |freelance|: arbitrary user code which is given by \refKey{/tcb/interior titled code}. + \end{itemize} +\end{docTcbKey} + +\begin{docTcbKey}{interior engine}{=\meta{name}}{no default, initially \texttt{standard}} + Sets the \emph{interior} drawing engine for an untitled box to \meta{name}. + Typically, this key is set by a \refKey{/tcb/skin}. + Feasible values for \meta{name} are: + \begin{itemize} + \item |standard|: the original code from the core package, + \item |path|: a |tikz| path which is controlled by \refKey{/tcb/interior style}, + \item |freelance|: arbitrary user code which is given by \refKey{/tcb/interior code}. + \end{itemize} +\end{docTcbKey} + +\begin{docTcbKey}{segmentation engine}{=\meta{name}}{no default, initially \texttt{standard}} + Sets the \emph{segmentation} (line) drawing engine for a box to \meta{name}. + Typically, this key is set by a \refKey{/tcb/skin}. + Feasible values for \meta{name} are: + \begin{itemize} + \item |standard|: the original code from the core package, + \item |path|: a |tikz| path which is controlled by \refKey{/tcb/segmentation style}, + \item |freelance|: arbitrary user code which is given by \refKey{/tcb/segmentation code}. + \end{itemize} +\end{docTcbKey} + +\begin{docTcbKey}{geometry nodes}{\colOpt{=\meta{boolean value}}}{default |true|, initially |false|} + If set to |true|, three |tikz| nodes are defined for a |tcolorbox| + which are named |frame|, |interior|, and |segmentation|. These nodes + describe the boundaries of the equally named parts of a |tcolorbox|. + They are used by all engines of type |path| and they may be used by engines + of type |freelance|. Typically, this key is set by a \refKey{/tcb/skin}. +\begin{dispExample} +\tcbset{colback=Salmon!50!white,colframe=FireBrick!75!black, + width=(\linewidth-8mm)/2,before=,after=\hfill,equal height group=geon} + +\begin{tcolorbox}[adjusted title=The title] + The upper part.\tcblower The lower part. +\end{tcolorbox} +\begin{tcolorbox}[adjusted title=The title,skin=freelance, + frame code={\path[draw=red,fill=red!25] + (frame.south west) rectangle (frame.north east);}, + interior titled code={\path[draw=blue,fill=blue!25] + (interior.south west) rectangle (interior.north east);}, + segmentation code={\path[draw=green,fill=green!25] + (segmentation.south west) rectangle (segmentation.north east);}] + The upper part.\tcblower The lower part. +\end{tcolorbox} +\end{dispExample} +\end{docTcbKey} + + +\subsection{Skin 'standard'} +\begin{docSkin}{standard} + This is the standard skin from the core package. All drawing engines + are set to type |standard|. The drawing is based on |pgf| commands and + does not need the |tikz| package. +\end{docSkin} + + +\subsection{Skin 'enhanced'} +\begin{docSkin}{enhanced} + This skin translates the drawing commands of the core package into |tikz| + path commands. Therefore, it allows all |tikz| high level options for + these paths and has more flexibility compared to the \refSkin{standard} skin. + You pay for this with some prolonged compilation time. + All drawing engines are set to type |path|; they use the |tikz| package + and compute the \refKey{/tcb/geometry nodes}. + The |tikz| path options can + be given with the following option keys. +\end{docSkin} + +\begin{docTcbKey}{frame style}{=\meta{\texttt{\upshape tikz} keys}}{style, no default} + The \meta{\texttt{\upshape tikz} keys} are used inside the |tikz| path command + for drawing the \emph{frame} of the box. +\end{docTcbKey} + +\begin{docTcbKey}{interior style}{=\meta{\texttt{\upshape tikz} keys}}{style, no default} + The \meta{\texttt{\upshape tikz} keys} are used inside the |tikz| path command + for drawing the \emph{interior} of the box. They are used for the titled + and for the untitled version as well. +\end{docTcbKey} + +\begin{docTcbKey}{segmentation style}{=\meta{\texttt{\upshape tikz} keys}}{style, no default} + The \meta{\texttt{\upshape tikz} keys} are used inside the |tikz| path command + for drawing the \emph{segmentation} line of the box. +\end{docTcbKey} + +\begin{dispExample} +% needs shadings library +\tcbset{skin=enhanced,fonttitle=\bfseries, + frame style={upper left=blue,upper right=red,lower left=yellow,lower right=green}, + interior style={white,opacity=0.5}, + segmentation style={black,solid,opacity=0.2,line width=1pt}} + +\begin{tcolorbox}[title=Nice box in rainbow colors] + With the 'enhanced' skin, it is quite easy to produce fancy looking effects. + \tcblower + Note that this is still a \texttt{tcolorbox}. +\end{tcolorbox} +\end{dispExample} + + +\begin{dispExample} +% needs shadows and decorations.pathmorphing library +\tcbset{skin=enhanced,fonttitle=\bfseries,boxrule=1mm, + frame style={draw=FireBrick,fill=Salmon,drop shadow}, + interior style={draw=FireBrick,top color=Salmon!10,bottom color=Salmon!20}, + segmentation style={draw=FireBrick,solid,decorate, + decoration={coil,aspect=0,segment length=10.1mm}}} + +\begin{tcblisting}{title=A listing box with shadow and some specials} +Of course, skins can be used for listings also. +\begin{equation} + \int\limits_1^2 \frac{1}{x}~dx = \ln(2). +\end{equation} +\end{tcblisting} +\end{dispExample} + + +\clearpage +\subsection{Skin 'freelance'} +\begin{docSkin}{freelance} + This skin gives full freedom for the appearance of the |tcolorbox|. + All drawing engines are set to type |freelance|; they use the |tikz| package + and compute the \refKey{/tcb/geometry nodes}. + This skin is useful for boxes which should differ much from the normal + appearance. Note that this difference has to be programmed by the user. + The drawing code can be given + with the following option keys. As default value, the code from the |standard| + skin is set. +\end{docSkin} + + +\begin{docTcbKey}{frame code}{\colOpt{=\meta{graphical code}}}{code, default from |standard|} + The given \meta{graphical code} is used for drawing the \emph{frame} of the box. +\end{docTcbKey} + +\begin{docTcbKey}{interior titled code}{\colOpt{=\meta{graphical code}}}{code, default from |standard|} + The given \meta{graphical code} is used + for drawing the \emph{interior} of the box, if the box comes with a title. +\end{docTcbKey} + +\begin{docTcbKey}{interior code}{\colOpt{=\meta{graphical code}}}{code, default from |standard|} + The given \meta{graphical code} is used + for drawing the \emph{interior} of the box, if the box is without a title. +\end{docTcbKey} + +\begin{docTcbKey}{segmentation code}{\colOpt{=\meta{graphical code}}}{code, default from |standard|} + The given \meta{graphical code} is used for drawing the + \emph{segmentation} area of the box. +\end{docTcbKey} + + +\begin{dispExample} + \tcbset{skin=freelance,boxrule=2mm,enlarge top by=2mm,enlarge bottom by=2mm, + enlarge left by=3mm,enlarge right by=3mm,width=\linewidth-6mm, + frame code={\path[top color=FireBrick,bottom color=FireBrick,middle color=FireBrick!50, + draw=FireBrick!75!black,double=Gold,rounded corners=1mm] + (frame.south west) -- ([xshift=-3mm]frame.west) -- (frame.north west) + -- ([yshift=2mm]frame.north) -- (frame.north east) -- ([xshift=3mm]frame.east) + -- (frame.south east) -- ([yshift=-2mm]frame.south) -- cycle;}, + interior titled code={\path[outer color=Gold,inner color=white,draw=Gold, + double=FireBrick!75!black,rounded corners=5mm] + (interior.south west) rectangle (interior.north east);}, + segmentation code={\path[draw=FireBrick,opacity=0.25] ([xshift=2cm]segmentation.west) + -- (segmentation.north) -- ([xshift=-2cm]segmentation.east) + -- (segmentation.south) -- cycle;}} + +\begin{tcolorbox}[title=My title] + This is the upper part. + \tcblower + This is the lower part. +\end{tcolorbox} +\end{dispExample} + +\clearpage +\subsection{Skin 'bicolor'} +\begin{docSkin}{bicolor} + This skin is quite similar to the \refSkin{standard} and \refSkin{enhanced} skin. + But instead of a segmentation line, the optional lower part of the box is filled with a + different color or drawn with a different style. + \begin{itemize} + \item The most basic usage of this skin is to set the background color of + the lower part by \refKey{/tcb/colbacklower} and all other options like for + the \refSkin{standard} skin. +\begin{dispExample} +\begin{tcolorbox}[skin=bicolor,title=The title, + colframe=FireBrick!75!black,colback=Salmon!50!white,colbacklower=Salmon] + The upper part. + \tcblower + The lower part. +\end{tcolorbox} +\end{dispExample} + \item The more advanced usage of this skin is to apply the \refKey{/tcb/frame style} + and the \refKey{/tcb/interior style} like for + the \refSkin{enhanced} skin. Also, the \refKey{/tcb/segmentation style} can be + used, but it is applied to the whole lower part. +\begin{dispExample} +\begin{tcolorbox}[skin=bicolor,title=The title, + frame style={top color=FireBrick, + bottom color=FireBrick!15!white,draw=black}, + interior style={left color=Salmon,right color=Salmon!50!white}, + segmentation style={right color=Salmon,left color=Salmon!50!white}] + The upper part. + \tcblower + The lower part. +\end{tcolorbox} +\end{dispExample} + \end{itemize} +\end{docSkin} + + +\begin{docTcbKey}{colbacklower}{=\meta{color}}{no default, initially \texttt{black!15!white}} + Sets the background \meta{color} of the lower part. It depends on the skin, + if this value is used. +\end{docTcbKey} + + +\begin{dispExample} +\tcbset{skin=bicolor,colback=LightGreen,colframe=DarkGreen, + colbacklower=LimeGreen!75!LightGreen, + width=(\linewidth-8mm)/4,before=,after=\hfill,equal height group=bicolg, + left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm} + +\begin{tcolorbox} + This is my content. +\end{tcolorbox} +\begin{tcolorbox} + This is my content. + \tcblower + More content. +\end{tcolorbox} +\begin{tcolorbox}[adjusted title=My title] + This is my content. +\end{tcolorbox} +\begin{tcolorbox}[adjusted title=My title] + This is my content. + \tcblower + More content. +\end{tcolorbox} +\end{dispExample} + + +\begin{dispExample} +\tcbset{gitexample/.style={listing and comment,comment={#1}, + skin=bicolor,boxrule=1mm,fonttitle=\bfseries,coltitle=black, + frame style={draw=black,left color=Gold,right color=Goldenrod!50!Gold}, + colback=black,colbacklower=Goldenrod!75!Gold, + colupper=white,collower=black, + listing options={language={bash},aboveskip=0pt,belowskip=0pt,nolol, + basicstyle=\ttfamily\bfseries,extendedchars=true}}} + +\begin{tcblisting}{title={Snapshot of the staging area}, + gitexample={The option '-a' automatically stages all tracked and modified + files before the commit.\par + This can be combined with the message option '-m' + as seen in the third line.}} +git commit +git commit -a +git commit -am 'changes to my example' +\end{tcblisting} +\end{dispExample} + + +\clearpage +\subsection{Skin 'beamer'} +\begin{docSkin}{beamer} + This skin resembles boxes known from the |beamer| class and therefore is + called 'beamer'. It uses the normal colors from the core package but shades + them a little bit. To use this skin, the |tikz| libraries |shadings| + and |shadows| have to be included in the preamble by: +\begin{dispListing} +\usetikzlibrary{shadings,shadows} +\end{dispListing} +The appearance of the skin can be controlled by \refKey{/tcb/frame style} +and \refKey{/tcb/interior style}, if needed. Here, the \emph{segmentation} +cannot be controlled by a style. +\end{docSkin} + +\begin{dispExample} +\begin{tcolorbox}[skin=beamer,colback=Salmon!50!white,colframe=FireBrick!75!black, + adjusted title=A colored box with the 'beamer' skin] +This box looks like a box provided by the \texttt{beamer} class. +\end{tcolorbox} +\end{dispExample} + +\begin{dispExample} +\tcbset{skin=beamer,colback=LightGreen,colframe=DarkGreen, + width=(\linewidth-8mm)/4,before=,after=\hfill,equal height group=beamg, + left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm} + +\begin{tcolorbox} + This is my content. +\end{tcolorbox} +\begin{tcolorbox} + This is my content. + \tcblower + More content. +\end{tcolorbox} +\begin{tcolorbox}[adjusted title=My title] + This is my content. +\end{tcolorbox} +\begin{tcolorbox}[adjusted title=My title] + This is my content. + \tcblower + More content. +\end{tcolorbox} +\end{dispExample} + + +\clearpage +\subsection{Skin 'widget'} +\begin{docSkin}{widget} + This skin uses the normal colors from the core package but shades + them a little bit. To use this skin, the |tikz| library |shadings| + has to be included in the preamble by: +\begin{dispListing} +\usetikzlibrary{shadings} +\end{dispListing} +The appearance of the skin can be controlled by \refKey{/tcb/frame style}, +\refKey{/tcb/interior style}, and \refKey{/tcb/segmentation style}, +if needed. +\end{docSkin} + +\begin{dispExample} +\begin{tcolorbox}[skin=widget,colback=Salmon!50!white,colframe=FireBrick!75!black, + adjusted title=A colored box with the 'widget' skin] +This is my content. +\end{tcolorbox} +\end{dispExample} + +\begin{dispExample} +\tcbset{skin=widget,colback=LightGreen,colframe=DarkGreen, + width=(\linewidth-8mm)/4,before=,after=\hfill,equal height group=widg, + left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm} + +\begin{tcolorbox} + This is my content. +\end{tcolorbox} +\begin{tcolorbox} + This is my content. + \tcblower + More content. +\end{tcolorbox} +\begin{tcolorbox}[adjusted title=My title] + This is my content. +\end{tcolorbox} +\begin{tcolorbox}[adjusted title=My title] + This is my content. + \tcblower + More content. +\end{tcolorbox} +\end{dispExample} + + % Actually, it is not a good idea to include the references like this! % Do not follow this bad example ... \begin{tcbverbatimwrite}{\jobname.bib} diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex index af67fc2327c..2745ced459c 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 1.20 (2012/03/16) +%% The LaTeX package tcolorbox - version 1.30 (2012/04/20) %% tcbdocumentation.code.tex: Code for LaTeX documentations %% %% ------------------------------------------------------------------------------------------- diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex index 7da6520d564..90402d26999 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 1.20 (2012/03/16) +%% The LaTeX package tcolorbox - version 1.30 (2012/04/20) %% tcblistings.code.tex: Code for colorboxes with listings %% %% ------------------------------------------------------------------------------------------- @@ -43,18 +43,33 @@ \tcbuselistingtext% } +\def\tcb@listing@listingAndComment{% + \tcbuselistinglisting% + \tcblower% + \kvtcb@listingcomment% +} + \def\tcb@listing@textAndListing{% \tcbuselistingtext% \tcblower% \tcbuselistinglisting% } +\def\tcb@listing@commentAndListing{% + \kvtcb@listingcomment% + \tcblower% + \tcbuselistinglisting% +} + \tcbset{ listing file/.store in=\kvtcb@listingfile, listing options/.store in=\kvtcb@listingoptions, + comment/.store in=\kvtcb@listingcomment, listing style/.style={listing options={style=#1}}, listing and text/.code={\let\tcp@listing@process\tcb@listing@listingAndText}, text and listing/.code={\let\tcp@listing@process\tcb@listing@textAndListing}, + listing and comment/.code={\let\tcp@listing@process\tcb@listing@listingAndComment}, + comment and listing/.code={\let\tcp@listing@process\tcb@listing@commentAndListing}, listing only/.code={\let\tcp@listing@process\tcbuselistinglisting}, text only/.code={\let\tcp@listing@process\tcbuselistingtext}, } @@ -62,6 +77,7 @@ \tcbset{ listing file=\jobname.listing, listing style=tcblatex, + comment=, listing and text, } diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex new file mode 100644 index 00000000000..fcafaca3206 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex @@ -0,0 +1,193 @@ +%% The LaTeX package tcolorbox - version 1.30 (2012/04/20) +%% tcbskins.code.tex: Code for colorboxes with different skins +%% +%% ------------------------------------------------------------------------------------------- +%% Copyright (c) 2006-2012 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 +%% +\makeatletter +\def\tcblibrary@skins@loaded{} + +\RequirePackage{tikz}[2010/10/13] + +\def\tcb@creategeonodes@true{% + \begin{scope}[every node/.style={line width=0mm,inner sep=0mm,draw=none,fill=none,rectangle}] + \node[name=frame,at={(0,0)},above right,minimum width=\kvtcb@width,minimum height=\tcb@height]{}; + \node[name=interior,at={({\kvtcb@boxrule},{\kvtcb@boxrule})},above right,minimum width=\kvtcb@width-\kvtcb@boxrule*2,minimum height=\tcb@innerheight]{}; + \iftcb@lowerspace% + \node[name=segmentation,at={({\kvtcb@boxrule},{\kvtcb@boxrule+\kvtcb@boxsep*2+\kvtcb@bottom+\tcb@height@lower})},above right, + minimum width=\kvtcb@width-\kvtcb@boxrule*2,minimum height=\kvtcb@middle*2]{}; + \fi% + \end{scope}% +} + +% fill frame +\def\tcb@drawframe@path{% + \path[fill=\kvtcb@colframe,rounded corners=\kvtcb@arc+\kvtcb@boxrule,frame@style] + (frame.south west) rectangle (frame.north east);% +} + +% fill inner box with title +\def\tcb@drawwithtitle@path{% + \path[fill=\kvtcb@colback,interior@style] (interior.north west) + --(interior.north east)[rounded corners=\kvtcb@arc] + --(interior.south east)--(interior.south west)[sharp corners] + -- cycle;% +} + +% fill inner box without title +\def\tcb@drawwithouttitle@path{% + \path[fill=\kvtcb@colback,rounded corners=\kvtcb@arc,interior@style] + (interior.south west) rectangle (interior.north east);% +} + +% draw segmentation line +\def\tcb@drawlower@path{% + \path[draw=\kvtcb@colframe,dashed,segmentation@style] + (segmentation.west)--(segmentation.east);% +} + +\def\tcb@drawframe@freelance{\tcb@frame@code} +\def\tcb@drawwithtitle@freelance{\tcb@interiortitled@code} +\def\tcb@drawwithouttitle@freelance{\tcb@interior@code} +\def\tcb@drawlower@freelance{\tcb@segmentation@code} + +\tcbset{% + frame style/.code={\tikzset{frame@style/.style={#1}}},% + frame code/.code={\def\tcb@frame@code{#1}},% + frame code/.default=\tcb@drawframe@standard,% + interior style/.code={\tikzset{interior@style/.style={#1}}},% + interior titled code/.code={\def\tcb@interiortitled@code{#1}},% + interior titled code/.default=\tcb@drawwithtitle@standard,% + interior code/.code={\def\tcb@interior@code{#1}},% + interior code/.default=\tcb@drawwithouttitle@standard,% + segmentation style/.code={\tikzset{segmentation@style/.style={#1}}},% + segmentation code/.code={\def\tcb@segmentation@code{#1}},% + segmentation code/.default=\tcb@drawlower@standard,% + colbacklower/.store in=\kvtcb@colbacklower,% +} + +\tcbset{% + frame style=,% + interior style=,% + segmentation style=,% + frame code,% + interior titled code,% + interior code,% + segmentation code,% + colbacklower=black!15!white, +} + +\tcbset{skin@enhanced/.style={% + graphical environment=tikzpicture,geometry nodes, + frame engine=path,interior titled engine=path, + interior engine=path,segmentation engine=path +}} + +\tcbset{skin@freelance/.style={% + graphical environment=tikzpicture,geometry nodes, + frame engine=freelance,interior titled engine=freelance, + interior engine=freelance,segmentation engine=freelance +}} + +\tcbset{skin@bicolor/.style={% + graphical environment=tikzpicture,geometry nodes, + frame engine=path,interior titled engine=freelance, + interior engine=freelance,segmentation engine=freelance, + interior style=, + interior titled code={% + \iftcb@lowerspace% + \path[fill=\kvtcb@colback,interior@style] + (segmentation.west) rectangle (interior.north east);% + \else% + \path[fill=\kvtcb@colback,interior@style] + (interior.north west)--(interior.north east)[rounded corners=\kvtcb@arc] + --(interior.south east)--(interior.south west)[sharp corners] + -- cycle;% + \fi}, + interior code={% + \iftcb@lowerspace% + \path[fill=\kvtcb@colback,interior@style] + (segmentation.east)--(segmentation.west)[rounded corners=\kvtcb@arc] + -- (interior.north west)--(interior.north east)[sharp corners] + -- cycle;% + \else% + \path[fill=\kvtcb@colback,rounded corners=\kvtcb@arc,interior@style] + (interior.south west) rectangle (interior.north east);% + \fi}, + segmentation code={% + \path[fill=\kvtcb@colbacklower,segmentation@style] + ([yshift=0.1mm]segmentation.west)--([yshift=0.1mm]segmentation.east)[rounded corners=\kvtcb@arc] + --(interior.south east)--(interior.south west)[sharp corners] + -- cycle;}% +}} + +\tcbset{skin@beamer/.style={% + graphical environment=tikzpicture,geometry nodes, + frame engine=path,interior titled engine=freelance, + interior engine=freelance,segmentation engine=freelance, + boxrule=0mm,arc=2mm,frame style={fill=\kvtcb@colframe,drop shadow}, + fonttitle=\bfseries,interior style=, + interior titled code={% + \iftcb@lowerspace% + \path[top color=\kvtcb@colback,bottom color=\kvtcb@colback!85!black,interior@style] + (segmentation.west) rectangle (interior.north east);% + \else% + \path[top color=\kvtcb@colback,bottom color=\kvtcb@colback!85!black,interior@style] + (interior.north west)--(interior.north east)[rounded corners=\kvtcb@arc] + --(interior.south east)--(interior.south west)[sharp corners] + -- cycle;% + \fi% + \path[top color=\kvtcb@colframe,bottom color=\kvtcb@colback] + ([yshift=-0.5mm]interior.north west) rectangle + ([yshift=0.5mm]interior.north east);}, + interior code={% + \iftcb@lowerspace% + \path[top color=\kvtcb@colback,bottom color=\kvtcb@colback!85!black,interior@style] + (segmentation.east)--(segmentation.west)[rounded corners=\kvtcb@arc] + -- (interior.north west)--(interior.north east)[sharp corners] + -- cycle;% + \else% + \path[top color=\kvtcb@colback,bottom color=\kvtcb@colback!85!black,rounded corners=\kvtcb@arc,interior@style] + (interior.south west) rectangle (interior.north east);% + \fi}, + segmentation code={% + \path[top color=\kvtcb@colback,bottom color=\kvtcb@colback!85!black,interior@style] + (segmentation.west)--(segmentation.east)[rounded corners=\kvtcb@arc] + --(interior.south east)--(interior.south west)[sharp corners] + -- cycle;}% +}} + +\tcbset{skin@widget/.style={% + graphical environment=tikzpicture,geometry nodes, + frame engine=path,interior titled engine=freelance, + interior engine=freelance,segmentation engine=freelance, + arc=0.5mm,frame style={fill=\kvtcb@colframe}, + interior style=,segmentation style=,fonttitle=\bfseries, + interior titled code={% + \path[fill=\kvtcb@colback,rounded corners=\kvtcb@arc,interior@style] + (interior.south west) rectangle ([xshift={-\kvtcb@boxrule},yshift={-\kvtcb@boxrule}]frame.north east); + \path[left color=\kvtcb@colframe!75!white,right color=\kvtcb@colframe!75!white!25!\kvtcb@colback,interior@style] + (interior.north east)--(interior.north west)[rounded corners=\kvtcb@arc] + -- ([xshift={\kvtcb@boxrule},yshift={-\kvtcb@boxrule}]frame.north west)--([xshift={-\kvtcb@boxrule},yshift={-\kvtcb@boxrule}]frame.north east)[sharp corners] + -- cycle;}, + interior code={% + \path[fill=\kvtcb@colback,rounded corners=\kvtcb@arc,interior@style] + (interior.south west) rectangle (interior.north east);}, + segmentation code={% + \path[left color=\kvtcb@colframe!75!white,right color=\kvtcb@colframe!75!white!25!\kvtcb@colback,segmentation@style] + ([yshift={-\kvtcb@middle/4}]segmentation.west) rectangle ([yshift={\kvtcb@middle/4}]segmentation.east);}% +}} + diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex index c5109fa8c12..3df36745355 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 1.20 (2012/03/16) +%% The LaTeX package tcolorbox - version 1.30 (2012/04/20) %% tcbtheorems.code.tex: Code for theorems in colorboxes %% %% ------------------------------------------------------------------------------------------- diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty b/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty index 2a1da7a1e92..e776c56bf1b 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 1.20 (2012/03/16) +%% The LaTeX package tcolorbox - version 1.30 (2012/04/20) %% tcolorbox.sty: Text color boxes %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{tcolorbox}[2012/03/16 version 1.20 text color boxes] +\ProvidesPackage{tcolorbox}[2012/04/20 version 1.30 text color boxes] \RequirePackage{pgf}[2008/01/15] \RequirePackage{calc}[2007/08/22] @@ -29,6 +29,7 @@ \newif\iftcb@lowervisible \newif\iftcb@hasTitle \newif\iftcb@hasLower +\newif\iftcb@lowerspace \newsavebox{\tcb@titlebox} \newsavebox{\tcb@upperbox} @@ -63,7 +64,9 @@ arc/.store in=\kvtcb@arc, colback/.store in=\kvtcb@colback, colframe/.store in=\kvtcb@colframe, - coltext/.store in=\kvtcb@coltext, + colupper/.store in=\kvtcb@colupper, + collower/.store in=\kvtcb@collower, + coltext/.style={colupper=#1,collower=#1}, coltitle/.store in=\kvtcb@coltitle, fonttitle/.store in=\kvtcb@fonttitle, fontupper/.store in=\kvtcb@fontupper, @@ -94,21 +97,33 @@ split/.code={\def\tcb@height@fraction{#1}\let\tcb@ch@fixed@both=\tcb@ch@fixed@split}, valign/.store in=\kvtcb@valign, valign lower/.store in=\kvtcb@valignlower, - skin/.store in=\kvtcb@skin, + %skin/.store in=\kvtcb@skin, enlarge top by/.store in=\kvtcb@bbtop, enlarge bottom by/.store in=\kvtcb@bbbottom, enlarge left by/.store in=\kvtcb@bbleft, enlarge right by/.store in=\kvtcb@bbright, toggle enlargement/.store in=\kvtcb@bbtoggle, + graphical environment/.store in=\kvtcb@graphenv, + frame engine/.store in=\kvtcb@engine@frame, + interior titled engine/.store in=\kvtcb@engine@interiortitled, + interior engine/.store in=\kvtcb@engine@interior, + segmentation engine/.store in=\kvtcb@engine@segmentation, + geometry nodes/.store in=\kvtcv@geonodes, + geometry nodes/.default=true,% + skin@standard/.style={frame engine=standard,interior titled engine=standard, + interior engine=standard,segmentation engine=standard,graphical environment=pgfpicture, + geometry nodes=false}, + skin/.style={skin@#1}, } \tcbset{notitle,width=\linewidth,boxsep=1mm,boxrule=0.5mm, left=4mm,right=4mm,top=2mm,bottom=2mm,middle=2mm,arc=1mm,lowerbox=visible, - colback=black!5,colframe=black!75,coltext=black,coltitle=white, + colback=black!5!white,colframe=black!75!white,coltext=black,coltitle=white, fonttitle=,fontupper=,fontlower=,floatplacement=htb,nofloat,savelowerto=, - parskip,savedelimiter={tcolorbox},tempfile={\jobname.tcbtemp},skin=standard, + parskip,savedelimiter={tcolorbox},tempfile={\jobname.tcbtemp}, enlarge top by=0mm,enlarge bottom by=0mm,enlarge left by=0mm,enlarge right by=0mm, toggle enlargement=none, + skin=standard, }% @@ -127,10 +142,10 @@ \def\endtcb@lrbox{\unskip\endminipage\unskip\color@endgroup} \def\tcb@saveupperbox{% -\begin{tcb@lrbox}{\tcb@upperbox}{\tcb@widthupper}\color{\kvtcb@coltext}\kvtcb@fontupper\ignorespaces} +\begin{tcb@lrbox}{\tcb@upperbox}{\tcb@widthupper}\color{\kvtcb@colupper}\kvtcb@fontupper\ignorespaces} \def\tcb@savelowerbox{% - \begin{tcb@lrbox}{\tcb@lowerbox}{\tcb@widthlower}\color{\kvtcb@coltext}\kvtcb@fontlower\ignorespaces} +\begin{tcb@lrbox}{\tcb@lowerbox}{\tcb@widthlower}\color{\kvtcb@collower}\kvtcb@fontlower\ignorespaces} % counter for float @@ -142,10 +157,10 @@ \def\c@tcbfloat{\c@float@type}% tricking the caption package } -\def\tcb@colorbox{% +\long\def\tcb@colorbox{% \@ifnextchar[{\tcb@@icolorbox}{\tcb@@icolorbox[]}} -\def\tcb@@icolorbox[#1]{% +\long\def\tcb@@icolorbox[#1]{% % setting the keys \tcbset{#1}% \tcb@hasLowerfalse% @@ -195,10 +210,10 @@ \edef\tcb@height{\tcb@natheight}% \setlength{\tcb@textdim}{\ht\tcb@upperbox+\dp\tcb@upperbox}% \edef\tcb@height@upper{\the\tcb@textdim}% - \iftcb@hasLower\iftcb@lowerignored\else% + \iftcb@lowerspace% \setlength{\tcb@textdim}{\ht\tcb@lowerbox+\dp\tcb@lowerbox}% \edef\tcb@height@lower{\the\tcb@textdim}% - \fi\fi% + \fi% } \def\tcb@ch@fixed@upper{% @@ -228,9 +243,7 @@ \def\tcb@ch@fixed{% \edef\tcb@height{\tcb@height@fixed}% - \iftcb@hasLower% - \iftcb@lowerignored\tcb@ch@fixed@upper\else\tcb@ch@fixed@both\fi% - \else\tcb@ch@fixed@upper\fi% + \iftcb@lowerspace\tcb@ch@fixed@both\else\tcb@ch@fixed@upper\fi% } \def\tcb@saveehg#1{% @@ -255,9 +268,7 @@ \else \edef\tcb@height{\csname tcb@ehg@\tcb@ehgid @height\endcsname}% \fi}% - \iftcb@hasLower% - \iftcb@lowerignored\tcb@ch@fixed@upper\else\tcb@ch@fixed@both\fi% - \else\tcb@ch@fixed@upper\fi% + \iftcb@lowerspace\tcb@ch@fixed@both\else\tcb@ch@fixed@upper\fi% } \def\tcb@dbox@top#1#2#3#4{\pgftext[x=#1,y=#2+#3,left,top]{\usebox{#4}}}% @@ -268,10 +279,6 @@ \tcbset{natural height,space to lower,valign=top,valign lower=top} - -% graphical environment -\def\tcb@drawenv@standard{pgfpicture} - % fill frame \def\tcb@drawframe@standard{% \begin{pgfscope}% @@ -336,6 +343,8 @@ \ifodd\thepage\tcb@setbb@toggle@none\else\tcb@setbb@toggle@forced\fi% } +\def\tcb@creategeonodes@false{} + \def\tcb@drawcolorbox{% % floats \ifx\kvtcb@float\@empty% @@ -344,51 +353,55 @@ \edef\float@start{\noexpand\@float{tcbfloat}[\kvtcb@float]}% \newenvironment{tcb@float}{\float@start}{\end@float}% \fi% + \iftcb@hasLower% + \iftcb@lowerignored\tcb@lowerspacefalse\else\tcb@lowerspacetrue\fi% + \else\tcb@lowerspacefalse\fi% % computation of total height \setlength{\tcb@textdim}{\kvtcb@boxrule*2+\kvtcb@boxsep*2+\kvtcb@top+\kvtcb@bottom+\ht\tcb@upperbox+\dp\tcb@upperbox}% \iftcb@hasTitle\addtolength{\tcb@textdim}{\kvtcb@boxrule+\kvtcb@boxsep*2+\ht\tcb@titlebox+\dp\tcb@titlebox}\fi% - \iftcb@hasLower\iftcb@lowerignored\else% + \iftcb@lowerspace% \addtolength{\tcb@textdim}{\kvtcb@boxsep*2+\kvtcb@middle*2+\ht\tcb@lowerbox+\dp\tcb@lowerbox}% - \fi\fi% + \fi% \edef\tcb@natheight{\the\tcb@textdim}% \tcb@ch% - \begin{tcb@float}\begin{\csname tcb@drawenv@\kvtcb@skin\endcsname}% - %\pgfpathrectangle{\pgfpoint{0mm}{0mm}}{\pgfpoint{\kvtcb@width}{\tcb@height}}% + \iftcb@hasTitle% + \setlength{\tcb@textdim}{\tcb@height-\kvtcb@boxrule*3-\kvtcb@boxsep*2-\ht\tcb@titlebox-\dp\tcb@titlebox}% + \edef\tcb@innerheight{\the\tcb@textdim}% + \else% + \setlength{\tcb@textdim}{\tcb@height-\kvtcb@boxrule*2}% + \edef\tcb@innerheight{\the\tcb@textdim}% + \fi% + \begin{tcb@float}\begin{\kvtcb@graphenv}% \csname tcb@setbb@toggle@\kvtcb@bbtoggle\endcsname% \pgfusepath{use as bounding box}% + \csname tcb@creategeonodes@\kvtcv@geonodes\endcsname% % fill frame - \csname tcb@drawframe@\kvtcb@skin\endcsname% + \csname tcb@drawframe@\kvtcb@engine@frame\endcsname% + \iftcb@hasTitle% + \csname tcb@drawwithtitle@\kvtcb@engine@interiortitled\endcsname% + \else% + \csname tcb@drawwithouttitle@\kvtcb@engine@interior\endcsname% + \fi% + \iftcb@lowerspace% + \csname tcb@drawlower@\kvtcb@engine@segmentation\endcsname% + \fi% % set title \iftcb@hasTitle% \setlength{\tcb@textdim}{\tcb@height-\kvtcb@boxrule-\kvtcb@boxsep}% \pgftext[x=\kvtcb@boxrule+\kvtcb@boxsep+\kvtcb@lefttitle, y=\tcb@textdim,left,top]{\usebox{\tcb@titlebox}}% - % height of inner box - \addtolength{\tcb@textdim}{-\ht\tcb@titlebox-\dp\tcb@titlebox-\kvtcb@boxrule*2-\kvtcb@boxsep}% - \edef\tcb@innerheight{\the\tcb@textdim}% - % fill inner box with title - \csname tcb@drawwithtitle@\kvtcb@skin\endcsname% - \else% - \setlength{\tcb@textdim}{\tcb@height-\kvtcb@boxrule*2}% - \edef\tcb@innerheight{\the\tcb@textdim}% - % fill inner box without title - \csname tcb@drawwithouttitle@\kvtcb@skin\endcsname% \fi% % draw upper box \csname tcb@dbox@\kvtcb@valign\endcsname{\kvtcb@boxrule+\kvtcb@boxsep+\kvtcb@leftupper}% {\tcb@innerheight+\kvtcb@boxrule-\kvtcb@boxsep-\kvtcb@top-\tcb@height@upper}% {\tcb@height@upper}{\tcb@upperbox}% % draw lower box - \iftcb@hasLower\iftcb@lowerignored\else% - % draw segmentation line - \csname tcb@drawlower@\kvtcb@skin\endcsname% - \iftcb@lowervisible% + \iftcb@hasLower\iftcb@lowervisible% \csname tcb@dbox@\kvtcb@valignlower\endcsname{\kvtcb@boxrule+\kvtcb@boxsep+\kvtcb@leftlower}% {\kvtcb@boxrule+\kvtcb@boxsep+\kvtcb@bottom}% {\tcb@height@lower}{\tcb@lowerbox}% - \fi% \fi\fi% - \end{\csname tcb@drawenv@\kvtcb@skin\endcsname}\end{tcb@float}% + \end{\kvtcb@graphenv}\end{tcb@float}% } @@ -453,6 +466,7 @@ \tcb@add@library{listings}{tcblistings.code.tex} \tcb@add@library{theorems}{tcbtheorems.code.tex} \tcb@add@library{documentation}{tcbdocumentation.code.tex} +\tcb@add@library{skins}{tcbskins.code.tex} \ProcessOptions* \edef\tcb@temp{\noexpand\tcbuselibrary{\tcb@optionlist}} diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index a342b0f424f..c475441117c 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -247,7 +247,7 @@ my @TLP_working = qw( ltxdockit ltxindex ltxkeys ltxmisc ltxnew ltxtools lua-alt-getopt lua-visual-debug luabibentry luacode luaindex luainputenc lualatex-doc lualatex-math lualibs luamplib luaotfload - luapersian luasseq luatexbase luatextra + luapersian luasseq luatexbase luatexja luatextra lxfonts ly1 macqassign macros2e mafr magaz magyar mailing mailmerge makebarcode makebox makecell makecirc makecmds makedtx makeglos makeplot diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index a6b44040c42..75b1c5a564b 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -141,6 +141,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'bera', "&MAKEunzipandflatten", 'berenisadf', "&MAKEcopy", 'babeltools', "die 'skipping, use bezos'", + 'bg', "die 'skipping, nonfree license'", 'bgreek', "&MAKEcopy", 'bgteubner', "&MAKEflatten", 'bib2ml', "die 'skipping, no self-locate?, etc.'", @@ -166,7 +167,9 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'booktabs-fr', "&MAKEnosymlinks", 'boondox', "&MAKEcopy", 'borceux', "&MAKEborceux", + 'nrclc', "die 'skipping, requires compilation'", 'bridge', "die 'skipping, latex 2.09'", + 'bsheaders', "die 'skipping, license unstated, ca.2005, await request'", 'burmese', "&MAKEflatten", 'business-research', "die 'skipping, w32 fonts required'", 'c90', "&MAKEc90", @@ -1021,6 +1024,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'latexdiff' => '&POSTlatexdiff', 'latex2e-help-texinfo' => '&POSTlatex2ehelptexinfo', 'lithuanian' => '&POSTlithuanian', + 'luatexja' => '&POSTluatexja', 'montex' => '&POSTmontex', 'niceframe' => '&POSTrmsymlink', 'pedigree-perl' => '&POSTpedigreeperl', @@ -4777,6 +4781,11 @@ sub POSTlithuanian { &SYSTEM ("$MV $DEST/doc/latex/lithuanian/l7xenc.dfu $DEST/tex/latex/lithuanian/"); } +sub POSTluatexja { + die "\t POST$package - move directories around\n"; + &SYSTEM ("$MV"); +} + sub POSTmontex { print "\t POST$package - avoid 00readme case clash\n"; # these files are no longer used in TL. -- cgit v1.2.3