summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex')
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex304
1 files changed, 304 insertions, 0 deletions
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
new file mode 100644
index 0000000000..795c0bae49
--- /dev/null
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
@@ -0,0 +1,304 @@
+% !TeX root = tcolorbox.tex
+% include file of tcolorbox.tex (manual of the LaTeX package tcolorbox)
+\clearpage
+\section{Macros for Box Creation}%
+\tcbset{external/prefix=external/coremacros_}%
+\begin{docEnvironment}{tcolorbox}{\oarg{options}}
+ This is the main environment to create an accentuated colored text box with
+ rounded corners and, optionally, two parts. The appearance of this box
+ is controlled by numerous options.
+ In the most simple case the source code
+
+\begin{dispListing}
+\begin{tcolorbox}
+This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+\end{dispListing}
+
+creates the following compiled text box:
+\begin{tcolorbox}
+This is a \textbf{tcolorbox}.
+\end{tcolorbox}
+
+The text content of the box can be divided
+in an upper and a lower part
+by the command \refCom{tcblower}. Visually, both parts are separated by a line.
+For example:
+
+\begin{dispListing}
+\begin{tcolorbox}
+This is another \textbf{tcolorbox}.
+\tcblower
+Here, you see the lower part of the box.
+\end{tcolorbox}
+\end{dispListing}
+
+This code gives the following box:
+\begin{tcolorbox}
+This is another \textbf{tcolorbox}.
+\tcblower
+Here, you see the lower part of the box.
+\end{tcolorbox}
+
+The \meta{options} control the appearance and several functions of the boxes,
+see \Vref{sec:optkeys} for the complete list.
+A quick example is given here:
+
+\begin{dispExample}
+\begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,title=My nice heading]
+This is another \textbf{tcolorbox}.
+\tcblower
+Here, you see the lower part of the box.
+\end{tcolorbox}
+\end{dispExample}
+\end{docEnvironment}
+
+
+\begin{docCommand}{tcblower}{}
+ Used inside \refEnv{tcolorbox} to separate the upper box part from
+ the optional lower box part. The upper and the lower part are treated
+ as separate functional units. If you only want to draw a line, see
+ \refCom{tcbline}.
+\end{docCommand}
+
+
+\clearpage
+\begin{docCommand}{tcbset}{\marg{options}}
+ Sets options for every following \refEnv{tcolorbox} inside the current \TeX\ group.
+ By default, this does not apply to nested boxes, see \Vref{subsec:everybox}.\par
+ For example, the colors of the boxes may be defined for the whole document by this:
+\begin{dispListing}
+\tcbset{colback=red!5!white,colframe=red!75!black}
+\end{dispListing}
+\end{docCommand}
+
+
+\begin{docCommand}{tcbsetforeverylayer}{\marg{options}}
+ Sets options for every following \refEnv{tcolorbox} inside the current \TeX\ group.
+ In contrast to \refCom{tcbset}, this does also
+ apply to nested boxes, see \Vref{subsec:everybox}.
+ Technically, the \meta{options} are appended to the default values for every
+ tcolorbox which are applied by \refKey{/tcb/reset}.\par
+ You should not use this macro, if you are not completely sure that you
+ want to have the \meta{options} also for boxes in boxes (in boxes in boxes \ldots).
+\begin{dispExample}
+\tcbset{colback=green!10!white}
+\tcbsetforeverylayer{colframe=red!75!black}
+
+\begin{tcolorbox}[title=All options for this box]
+ This is a tcolorbox.\par\medskip
+ \begin{tcolorbox}[title=Nested box]
+ Note that this nested box has a red frame but no green background.
+ \end{tcolorbox}
+\end{tcolorbox}
+\bigskip
+
+\begin{tcolorbox}[reset]
+ Options given with |\tcbsetforeverylayer| survive a |reset|.
+\end{tcolorbox}
+\end{dispExample}
+\end{docCommand}
+
+
+\clearpage
+\begin{docCommand}{tcbox}{\oarg{options}\marg{box content}}
+ Creates a colored box which is fitted to the width of the given
+ \meta{box content}. In principle, most \meta{options} for a \refEnv{tcolorbox}
+ can be used for |\tcbox| with some restrictions. A |\tcbox| cannot have
+ a lower part and cannot be broken.
+
+\begin{dispExample}
+\tcbset{colframe=blue!50!black,colback=white,colupper=red!50!black,
+ fonttitle=\bfseries,nobeforeafter,center title}
+
+Text \tcbox[tcbox raise base]{Hello World}\hfill
+%
+\tcbox[left=0mm,right=0mm,top=0mm,bottom=0mm,boxsep=0mm,
+ toptitle=0.5mm,bottomtitle=0.5mm,title=My table]{%
+ \arrayrulecolor{blue!50!black}\renewcommand{\arraystretch}{1.2}%
+ \begin{tabular}{r|c|l}
+ One & Two & Three \\\hline\hline
+ Men & Mice & Lions \\\hline
+ Upper & Middle & Lower
+ \end{tabular}}\hfill
+%
+\tcbox[colback=blue!85!black,
+ left=0mm,right=0mm,top=0mm,bottom=0mm,boxsep=1mm,arc=0mm,boxrule=0.5pt,
+ title=My picture]{%
+ \includegraphics[width=5cm]{Basilica_5.png}}
+\end{dispExample}
+
+\begin{dispExample}
+% \usepackage{tikz}
+\tcbset{colframe=blue!50!black,colback=white,colupper=red!50!black,
+ fonttitle=\bfseries,center title}
+
+% Fixed width box
+\begin{tcolorbox}Hello\\World!\end{tcolorbox}
+
+% Fitted width box (like hbox or makebox)
+\tcbox{Hello\\World!}
+
+% Fitted width box (using a \tikzname\ node)
+\tcbox[tikznode]{Hello\\World!}
+\end{dispExample}
+
+\end{docCommand}
+
+\clearpage
+\begin{marker}
+See \Vref{subsec:xparse_tcolorbox} and \Vref{subsec:xparse_tcbox} for more
+elaborate methods to create new environments and commands.
+\end{marker}
+
+\begin{docCommand}{newtcolorbox}{\oarg{init options}\marg{name}\oarg{number}\oarg{default}\marg{options}}
+ Creates a new environment \meta{name} based on \refEnv{tcolorbox}.
+ Basically, |\newtcolorbox| operates like |\newenvironment|. This means,
+ the new environment \meta{name} optionally takes \meta{number} arguments, where
+ \meta{default} is the default value for the optional first argument.
+ The \meta{options} are given to the underlying |tcolorbox|.
+ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
+ automatically.
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\newtcolorbox{mybox}{colback=red!5!white,
+ colframe=red!75!black}
+
+\begin{mybox}
+This is my own box.
+\end{mybox}
+\end{dispExample*}
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\newtcolorbox{mybox}[1]{colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries,
+ title=#1}
+
+\begin{mybox}{Hello there}
+This is my own box with a mandatory title.
+\end{mybox}
+\end{dispExample*}
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\newtcolorbox{mybox}[2][]{colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries,
+ colbacktitle=red!85!black,enhanced,
+attach boxed title to top center={yshift=-2mm},
+ title=#2,#1}
+
+\begin{mybox}[colback=yellow]{Hello there}
+This is my own box with a mandatory title
+and options.
+\end{mybox}
+\end{dispExample*}
+
+\inputpreamblelisting{A}
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\begin{pabox}[colback=yellow]{Hello there}
+This is my own box with a mandatory
+numbered title and options.
+\end{pabox}
+\end{dispExample*}
+\end{docCommand}
+
+
+\begin{docCommand}{renewtcolorbox}{\oarg{init options}\marg{name}\oarg{number}\oarg{default}\marg{options}}
+ Operates like \refCom{newtcolorbox}, but based on |\renewenvironment| instead of |\newenvironment|.
+ An existing environment is redefined.
+\end{docCommand}
+
+
+\clearpage
+\begin{docCommand}{newtcbox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\oarg{number}\oarg{default}\marg{options}}
+ Creates a new macro \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
+ Basically, |\newtcbox| operates like |\newcommand|.
+ The new macro \texttt{\textbackslash}\meta{name} optionally takes \meta{number}$+1$ arguments, where
+ \meta{default} is the default value for the optional first argument.
+ The \meta{options} are given to the underlying |tcbox|.
+ The \meta{init options} allow setting up automatic numbering,
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\newtcbox{\mybox}{colback=red!5!white,
+ colframe=red!75!black}
+
+\mybox{This is my own box.}
+\end{dispExample*}
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\newtcbox{\mybox}[1]{colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries,
+ title=#1}
+
+\mybox{Hello there}{This is my own box.}
+\end{dispExample*}
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\newtcbox{\mybox}[2][]{colback=red!5!white,
+ colframe=red!75!black,fonttitle=\bfseries,
+ title=#2,#1}
+
+\mybox[colback=yellow]{Hello there}%
+ {This is my own box.}
+\end{dispExample*}
+
+\inputpreamblelisting{B}
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+\pbbox[colback=yellow]{Hello there}%
+ {This is my own box.}
+\end{dispExample*}
+
+\begin{dispExample}
+\newtcbox{\mybox}[1][red]{on line,
+ arc=0pt,outer arc=0pt,colback=#1!10!white,colframe=#1!50!black,
+ boxsep=0pt,left=1pt,right=1pt,top=2pt,bottom=2pt,
+ boxrule=0pt,bottomrule=1pt,toprule=1pt}
+\newtcbox{\xmybox}[1][red]{on line,
+ arc=7pt,colback=#1!10!white,colframe=#1!50!black,
+ before upper={\rule[-3pt]{0pt}{10pt}},boxrule=1pt,
+ boxsep=0pt,left=6pt,right=6pt,top=2pt,bottom=2pt}
+
+The \mybox[green]{quick} brown \mybox{fox} \mybox[blue]{jumps} over the
+\mybox[green]{lazy} \mybox{dog}.\par
+The \xmybox[green]{quick} brown \xmybox{fox} \xmybox[blue]{jumps} over the
+\xmybox[green]{lazy} \xmybox{dog}.
+\end{dispExample}
+
+\end{docCommand}
+
+
+\enlargethispage*{1cm}
+\begin{docCommand}{renewtcbox}{\oarg{init options}\brackets{\texttt{\textbackslash}\rmfamily\meta{name}}\oarg{number}\oarg{default}\marg{options}}
+ Operates like \refCom{newtcbox}, but based on |\renewcommand| instead of |\newcommand|.
+ An existing macro is redefined.
+\end{docCommand}
+
+\clearpage
+
+\begin{docCommand}[doc new=2014-10-20]{tcolorboxenvironment}{\marg{name}\marg{options}}
+ An existing environment \meta{name} is redefined to be boxed inside a
+ |tcolorbox| with the given \meta{options}.
+\begin{dispExample*}{sbs,lefthand ratio=0.6}
+% tcbuselibrary{skins}
+\newenvironment{myitemize}{%
+ \begin{itemize}}{\end{itemize}}
+
+\tcolorboxenvironment{myitemize}{blanker,
+ before skip=6pt,after skip=6pt,
+ borderline west={3mm}{0pt}{red}}
+
+Some text.
+\begin{myitemize}
+\item Alpha
+\item Beta
+\item Gamma
+\end{myitemize}
+More text.
+\end{dispExample*}
+
+\medskip
+See further examples in \Vref{subsec:theorems_other}.
+\end{docCommand}
+