# tcolorbox: \newtcbtheorem referencing

Using \newtcbtheorem, how do we reference the created environment?

\documentclass{article}
\usepackage[most]{tcolorbox}
\tcbuselibrary{theorems}
\usepackage{cleveref}
\crefname{exa}{example}{Example}
\Crefname{exa}{Example}{Example}
\newtcbtheorem[auto counter, number within = section]
{Example}{Exam\smash{p}le}{%
breakable,
fonttitle = \bfseries,
colframe = blue!75!black,
colback = blue!10
}{exa}
\begin{document}
\begin{Example}{Example}{exam}
Some example
\end{Example}
\noindent
\Cref{exa:exam}
\end{document}


Using tcbmaketheorem, I used \newcounter{exa}, but I can't get referencing to work here.

You need to define the format for the new object; in this case, for tcb@cnt@Example, using something like

\crefformat{tcb@cnt@Example}{example~#2#1#3}
\Crefformat{tcb@cnt@Example}{Example~#2#1#3}


or any other format you want. A complete example:

\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{cleveref}

\makeatletter
\crefformat{tcb@cnt@Example}{example~#2#1#3}
\Crefformat{tcb@cnt@Example}{Example~#2#1#3}
\makeatother
\newtcbtheorem[auto counter, number within = section]
{Example}{Exam\smash{p}le}{%
breakable,
fonttitle = \bfseries,
colframe = blue!75!black,
colback = blue!10
}{exa}
\begin{document}
\begin{Example}{Example}{exam}
Some example
\end{Example}
\noindent
\Cref{exa:exam} and~\cref{exa:exam}

\end{document}


The correct name to be used in \Crefformat, and \crefformat can be obtained from one of the warnings obtained in the original code using \Cref without the proper definitions:

LaTeX Warning: Cref reference format for label type tcb@cnt@Example' undefined on input line 21.


Since tcolorbox version 2.41 (2013/07/23), there is integrated support for the cleveref package. You just have to move \crefname and \Crefname as options into \newtcbtheorem:

\documentclass{article}
\usepackage[most]{tcolorbox}
\tcbuselibrary{theorems}
\usepackage{cleveref}
\newtcbtheorem[auto counter, number within = section,
crefname={example}{Example},
Crefname={Example}{Example} ]
{Example}{Exam\smash{p}le}{%
breakable,
fonttitle = \bfseries,
colframe = blue!75!black,
colback = blue!10
}{exa}
\begin{document}
\begin{Example}{Example}{exam}
Some example
\end{Example}
\noindent
\Cref{exa:exam} and~\cref{exa:exam}.
\end{document}


The output is identical to that of the solution of Gonzalo Medina.

• Thank you twice! I was disliking the inconsistent title heights very much with tcolorbox theorems, and couldn't find any way to just stop making them larger for the hangers/drops/idk what to call them. \smash` does the trick. Unfortunately, it had to be a trick... – ThoAppelsin Sep 10 at 15:00