diff options
author | Karl Berry <karl@freefriends.org> | 2012-04-20 23:14:24 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-04-20 23:14:24 +0000 |
commit | b04039458a9af5fcac6c9f8c530489d18cefe77c (patch) | |
tree | 6017fa54e2e0f886dc2da05959d8ddb9f311e6cb /Master/texmf-dist/doc/latex | |
parent | c2c5e51a2f454ab01173e558c7489e98cdb52282 (diff) |
tcolorbox (20apr12)
git-svn-id: svn://tug.org/texlive/trunk@26072 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex')
-rw-r--r-- | Master/texmf-dist/doc/latex/tcolorbox/CHANGES | 20 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tcolorbox/README | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf | bin | 105717 -> 105699 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf | bin | 954804 -> 1074299 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex | 550 |
6 files changed, 557 insertions, 19 deletions
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 <thomas dot sturm at unibw dot de>
@@ -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 <thomas dot sturm at unibw dot de> @@ -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 Binary files differindex d78b510d6e7..341d08f4128 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf 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 Binary files differindex 9773d5d2c43..3981d2ab065 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf 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} |