A colorful boxed theorem environment, combining tcolorbox and breakable boxes. It supports full tcolorbox customization, automatic numbering, \label{...} and \ref{…}, and \listof…
If you opt for using this project, please give it a star by clicking the (⭐️) at the top right of the project's page.
- Package: coloredtheorem — A colorful boxed theorem environment
- Copyright: 2024-2025 © João M. Lourenço [email protected]
- CTAN: https://ctan.org/pkg/coloredtheorem
- Repository: https://github.com/joaomlourenco/coloredtheorem
- License: The LaTeX Project Public License 1.3c
The coloredtheorem package is a simple environment that allows to write stuff inside
boxes from tcolorbox. If necessary the boxes gracefully overflow to the next page.
This package takes no options and includes tcolorbox if necessary. You may include
tcolorbox with your own favourite options prior to including this package.
Akin to \newtheorem from the amsmath package, the user should start by defining a
new theorem/box group and customize its aspect. Each new environment will have its
own counter/numbering. Notice that \label{...} and \ref{...} work as expected.
There is also a command to generate the corresponding \listof...
\usepackage{coloredtheorem}- Load Load the
coloredtheorempackage. This package will loadtcolorboxif necessary.
- Load Load the
\cthnewtheorem{<envname>}{<Name>}[<tcolorbox options>]- Create a new boxed algorithm-like environment.
<envname>is the suffix for the new environment being defined, e.g.,algoritm. The effective environment name will becth<envname>, e.g.,cthalgorithm.<Name>is the (printable) name or the new environment being defined, e.g., Algorithm.<tcolorbox options>default options for the environment being defined (this argument is optional). These options are passed straight to thetcolorboxenvironment, so anything valid fortcolorboxis also valid here.
- Create a new boxed algorithm-like environment.
\begin{<envname>}{<Caption>}[<tcolorbox options>]<Contents>\end{<envname>}- Create a new algorithm-like box with the given contents.
∗
<AltCaption>is the alternative caption for the\cthlistof<envname>s(see below).<envname>is the sffix for environment name, e.g.,algorithm.<Caption>is the caption/title of the box. If the caption is left empty, this box will not be listed with the\cthlistof<envname>s(see below).<tcolorbox options>options to be passed to thetcolorboxenvironment, which will override the defaults given in\cthnewalgorithm(this argument is optional).<Contents>the contents to by typeset inside the colored environment.
- Create a new algorithm-like box with the given contents.
∗
\cthlistof<envname>s<envname>is the environment name suffix, e.g.,\cthlistofalgorithms. Please notice that there is a ‘s’ (plural) after<envname>.
Let’s start by creating two new environments, one for algorithms and another for examples, both defaulting to a gray frame, the former with a yellowish background and the latter with a lighter gray background.
\cthnewtheorem{algorithm}{Algorithm}[coltitle=black, colback=yellow!10,
colframe=black!15]
\cthnewtheorem{example}{Example}[coltitle=black, colback=black!5,
colframe=black!30]
\cthnewtheorem{thought}{Though}[enhanced, coltitle=green!60!black,
colbacktitle=green!10, colback=green!10,
frame hidden, boxrule=0pt,
attach title to upper={\\[0.5ex]},
borderline west={1mm}{-2mm}{green!60!black}]And this is a shiny thought!
The box with Algorithm 1, which uses the default visual that was given when creating the environment with \cthnewtheorem and gracefully overflows onto the next page, was created with:
\begin{cthalgorithm}{Advance a counter to the next value in a domain
$\omega \in \mathbb{N}$.}
Algorithm body here!
\end{cthalgorithm}
(page break here)
The box Example 1, which uses the default visual for the environment (as given to \cthnewtheorem...), was created with:
\begin{cthexample}{This is an example!}
Example body here!
\end{cthexample}
Now, let’s create a new box for Algorithm 1, but with a different customized visual, which will affect only this entry! Notice that the customization argument is passed straight to the tcolorbox environment, so anything valid for tcolorbox is also valid here. Algorithm 2 was created with the following code:
\begin{cthalgorithm}
{Advance a counter to the next value in a domain $\omega \in
\mathbb{N}$, but now with a customized visual. Also, notice
that this algorithm breaks the page boundaries.}
[coltitle=white, colback=green!10, colframe=green!70!black,
colbacktitle=\sffamily\bfseries\large, fonttitle=red!50!white]
Algorithm body here!
\end{cthalgorithm}
(page break here)
And now and example with no caption and a different visual... this example will not go into the \listofexamples below!
\begin{cthexample}{}[coltitle=black, colback=magenta!10, colframe=magenta!20]
Example body here!
\end{cthexample}
And yet another unnumbered example, this one using the alternative (star) syntax. This example will not go into the \listofexamples below as well!
\begin{cthexample*}{This is an unnumbered example with a title}[coltitle=black, colback=yellow!10, colframe=yellow!20]
Example body here!
\end{cthexample*}
Now let’s print the lists of algorithms and examples. Remember to add the prefix cthth to the listof, i.e., \cthlistofalgorithms and \cthlistofexamples!