Environnement tcolorbox conditionnel

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
Ophiucus02
Utilisateur confirmé
Utilisateur confirmé
Messages : 23
Inscription : vendredi 18 octobre 2013, 17:29
Statut actuel : Enseignant

Environnement tcolorbox conditionnel

Message non lu par Ophiucus02 »

Je souhaiterait que la boite colorée "correction" s'affiche seulement si le booléen \correction est vrai :

Code : Tout sélectionner

\documentclass[a4paper,10pt,french]{article}
\usepackage{ifthen}
\newboolean{correction}
\setboolean{correction}{false}
\newcommand{\corrige}{
    \setboolean{correction}{true}
}
\newcommand{\necorrigepas}{
    \setboolean{correction}{false}
}
\usepackage{tcolorbox}
\usepackage{environ}
\ExplSyntaxOn
\newif\ifcorrection
    \newtcolorbox{correction}{colback=pink!10,colframe=pink,arc=0mm,fonttitle=\bfseries,title={Correction :}}
\fi
\ExplSyntaxOff
\begin{document}
    \necorrigepas
    %\corrige
    \begin{correction}
        test
    \end{correction}
\end{document}
J'ai essayé d'utiliser \NewEnviron{}{} mais je tourne en rond et n'arrive pas au résultat voulu.
Dans la configuration présentée, la tcolorbox ne devrait pas s'afficher.

Auriez-vous une solution à m'apporter ? Merci.

Bien cordialement.
MB
Administrateur
Administrateur
Messages : 7985
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Environnement tcolorbox conditionnel

Message non lu par MB »

Bonjour, je propose le code suivant.

Code : Tout sélectionner

\documentclass[a4paper,10pt,french]{article}
\usepackage{ifthen}
\newboolean{correction}
\setboolean{correction}{false}
\newcommand{\corrige}{
    \setboolean{correction}{true}
}
\newcommand{\necorrigepas}{
    \setboolean{correction}{false}
}
\usepackage{tcolorbox}
\usepackage{environ}

\newtcolorbox{tcbcorrection}{colback=pink!10,colframe=pink,arc=0mm,fonttitle=\bfseries,title={Correction :}}
\NewEnviron{correction}{\ifcorrection\tcbcorrection\BODY\endtcbcorrection\fi}

\begin{document}
    \necorrigepas
    \begin{correction}
        la correction n'est pas affichée.
    \end{correction}
    \corrige
    \begin{correction}
        la correction est affichée.
    \end{correction}
\end{document}
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
Ophiucus02
Utilisateur confirmé
Utilisateur confirmé
Messages : 23
Inscription : vendredi 18 octobre 2013, 17:29
Statut actuel : Enseignant

Re: Environnement tcolorbox conditionnel

Message non lu par Ophiucus02 »

Merci pour votre aide.