diff options
Diffstat (limited to 'macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex')
-rw-r--r-- | macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex | 304 |
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} + |