Lorsque je souhaite faire référence à un théorème créé avec tcolorbox, j'obtiens quasi-systématiquement (mais pas toujours !) une erreur de numérotation avec la commande \ref{}, et systématiquement une erreur de compilation avec la commande \cref{} (bien que le package \cleveref soit correctement chargé).

Voici un exemple minimal (sur cet exemple, deux références sont correctes sur les cinq...) :

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{tikz-cd}
\usepackage{babel}
\usepackage{awesomebox}
\tikzcdset{arrow style=Latin Modern}
\usepackage{tcolorbox}
\tcbuselibrary{theorems}
\newtcbtheorem[number within=section]{mytheo}{Théorème}%
{colback=red!5,colframe=red!35!black,fonttitle=\bfseries}{th}
\newtcbtheorem[use counter from=mytheo]{mycoro}{Corollaire}%
{colback=blue!5,colframe=blue!35!black,fonttitle=\bfseries}{th}
\newtcbtheorem[use counter from=mytheo]{mydefi}{Définition}%
{colback=green!5,colframe=green!35!black,fonttitle=\bfseries}{th}
\newtcbtheorem[use counter from=mytheo]{myexple}{Exemple}%
{colback=blue!5,colframe=blue!35!black,fonttitle=\bfseries}{th}
\newtcbtheorem[use counter from=mytheo]{myprop}{Proposition}%
{colback=red!5,colframe=red!35!black,fonttitle=\bfseries}{th}
\begin{document}
\section{Préliminaires}
\begin{mydefi}{}{}\label{def:voisinage}
Une définition
\end{mydefi}{}{}
\begin{myexple}{}{}\label{exple:voisinage}
Un exemple
\end{myexple}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Posée 22 Sep '24, 23:39

endomorphisme's gravatar image

endomorphisme
411318
Taux d'acceptation : 0%

Modifiée 22 Sep '24, 23:55


Pluseurs choses n'allaient pas dans votre code :

  1. Le préfixe (4e argument obligatoire de \newtcbtheorem) ne doit a priori pas être le même pour tous les environnement de théorèmes (ils sont censés permettre d'identifier que ce à quoi il est fait référence, est un théorème, une définition, un corollaire, etc.)
  2. Les labels des « théorèmes » ne doivent pas être spécifiés au moyen de \label, mais en 3e argument obligatoire des environnements de ces « théorèmes » ; ces labels doivent en outre ne pas comporter les préfixes.
  3. Pour faire référence à ces « théorèmes », les labels en argument de \ref (ou \cref, etc.) doivent être précédés du préfixe choisi pour le « théorème » en question puis de, par défaut, :.

Voici un code corrigé (notez que l'option francais de babel est à proscrire au profit de french, à passer de préférence en option de \documentclass et que babel est, sauf exceptions — dont hyperref puis cleveref —, à charger en dernier).

\documentclass[a4paper,french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{tikz-cd}
\usepackage{awesomebox}
\usepackage{babel}
\tikzcdset{arrow style=Latin Modern}
\usepackage{tcolorbox}
\tcbuselibrary{theorems}
\newtcbtheorem[number within=section]{mytheo}{Théorème}%
{colback=red!5,colframe=red!35!black,fonttitle=\bfseries}{th}
\newtcbtheorem[use counter from=mytheo]{mycoro}{Corollaire}%
{colback=blue!5,colframe=blue!35!black,fonttitle=\bfseries}{cor}
\newtcbtheorem[use counter from=mytheo]{mydefi}{Définition}%
{colback=green!5,colframe=green!35!black,fonttitle=\bfseries}{def}
\newtcbtheorem[use counter from=mytheo]{myexple}{Exemple}%
{colback=blue!5,colframe=blue!35!black,fonttitle=\bfseries}{exple}
\newtcbtheorem[use counter from=mytheo]{myprop}{Proposition}%
{colback=red!5,colframe=red!35!black,fonttitle=\bfseries}{prop}
\begin{document}
\section{Préliminaires}
\begin{mydefi}{}{voisinage1}
Une définition
\end{mydefi}{}{}
\begin{myexple}{}{voisinage2}
Un exemple
\end{myexple}
L'exemple~\ref{exple:voisinage2} était très instructif !
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lien permanent

Publiée 23 Sep '24, 11:05

denis's gravatar image

denis ♦♦
7.3k2510
Taux d'acceptation : 53%

Peut-être comme ça : dans le 4e paramètre de \newtcbtheorem le préfixe pour la référence et dans le 3e paramètre de l'appel au théorème le nom du théorème...

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{tikz-cd}
\usepackage{babel}
\usepackage{awesomebox}
\tikzcdset{arrow style=Latin Modern}
\usepackage{tcolorbox}
\tcbuselibrary{theorems}
\newtcbtheorem[number within=section]{mytheo}{Théorème}%
{colback=red!5,colframe=red!35!black,fonttitle=\bfseries}{th}
\newtcbtheorem[use counter from=mytheo]{mycoro}{Corollaire}%
{colback=blue!5,colframe=blue!35!black,fonttitle=\bfseries}{cor}
\newtcbtheorem[use counter from=mytheo]{mydefi}{Définition}%
{colback=green!5,colframe=green!35!black,fonttitle=\bfseries}{def}
\newtcbtheorem[use counter from=mytheo]{myexple}{Exemple}%
{colback=blue!5,colframe=blue!35!black,fonttitle=\bfseries}{exple}
\newtcbtheorem[use counter from=mytheo]{myprop}{Proposition}%
{colback=red!5,colframe=red!35!black,fonttitle=\bfseries}{prop}
\begin{document}
\section{Préliminaires}
\begin{mydefi}{}{voisinage}
Une définition
\end{mydefi}
\begin{myexple}{}{voisinage}
Un exemple
\end{myexple}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lien permanent

Publiée 23 Sep '24, 10:45

logamath's gravatar image

logamath
52316
Taux d'acceptation : 30%

Votre réponse
[Masquer l'aperçu]

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Mots-clés de la question :

×34
×29
×16
×2
×2

Question posée : 22 Sep '24, 23:39

Question vue : 989 fois

Dernière mise à jour : 23 Sep '24, 11:05

C'est votre première visite ici ? Consultez la FAQ !

×