Encadrer un résultat mathématique

Bonsoir à tous !
En fait j'utilise ceci pour encadrer mes résultats dans un document mathématique que je suis en train de rédiger avec un collègue :
{\setlength{\mathsurround}{3 pt}\fbox{$card(B\cap C)=123456789$}}
Cependant mon collègue me propose de changer la couleur du cadre.
Merci de m'aider.

Réponses

  • Bonjour,

    1) \fboxsep serait peut-être préférable à \mathsurround (\fboxsep fait les quatre côtés, pas seulement gauche et droite).

    2) Le package xcolor définit \fcolorbox ; il suffit de chercher \fcolorbox dans sa documentation pour trouver des exemples.

    Autrement, tcolorbox offre \tcboxmath et \tcbhighmath pour des résultats plus soignés et sophistiqués qu'avec \fcolorbox. Il y a aussi les packages empheq et hf-tikz.
  • Merci Brian,
    sinon j'ai utilisé \tcboxmath comme suit :
    \tcboxmath[colback=LightBlue!25!white,colframe=blue]{$\frac{a+c+g}{x}=64,81\%$},
    
    Mais ça ne marche pas.
  • Il faudrait peut-être lire les messages d'erreur de LaTeX. ;-)
    • Undefined control sequence: \tcboxmath -> regarder dans le manuel de tcolorbox -> voir que c'est dans le chapitre Library theorems -> ajouter \tcbuselibrary{theorems};
    • Package xcolor Error: Undefined color `LightBlue' -> chercher LightBlue dans le manuel d'xcolor -> il faut charger xcolor avec l'option 'svgnames';
    • Missing $ inserted dans la ligne de la formule -> regarder comment \tcboxmath est utilisée dans le manuel de tcolorbox -> pas besoin des dollars, puisque c'est fait pour les maths.
    Donc ceci fonctionne :
    \documentclass{article}
    \usepackage[svgnames]{xcolor}
    \usepackage{tcolorbox}
    \tcbuselibrary{theorems}
    
    \begin{document}
    \tcboxmath[colback=LightBlue!25!white, colframe=blue]{\frac{a+c+g}{x}=64,81 \, \%}
    \end{document}
    
    Néanmoins, pour le pourcentage, je conseillerais d'utiliser siunitx (également chaudement recommandé pour tout ce qui est « grandeurs physiques exprimées avec des unités »). Il s'occupe de l'espace avant le symbole pourcent ou l'unité de mesure, peut arrondir, afficher en notation scientifique. Il peut également grouper les chiffres (voir dernier exemple ci-dessous) et est très paramétrable. J'avais donné quelques exemples ici.
    \documentclass{article}
    \usepackage[svgnames]{xcolor}
    \usepackage[output-decimal-marker={,}]{siunitx}
    \usepackage{tcolorbox}
    \tcbuselibrary{theorems}
    
    \begin{document}
    
    \tcboxmath[colback=LightBlue!25!white, colframe=blue]
      {\frac{a+c+g}{x} = \SI{64,81}{\percent}}
    
    \end{document}
    
    Enfin, afin d'éviter de répéter les options colback=LightBlue!25!white et colframe=blue pour chaque formule à encadrer, je propose d'utiliser \tcbhighmath dont l'apparence est définie par le style tcolorbox 'highlight math style' (qui peut donc varier en fonction du contexte si on le souhaite) :
    \documentclass{article}
    \usepackage[svgnames]{xcolor}
    \usepackage{siunitx}
    \sisetup{output-decimal-marker = {,}} % virgule comme séparateur décimal
    \usepackage{tcolorbox}
    \tcbuselibrary{theorems}
    
    \tcbset{
      highlight math style={colback=LightBlue!25!white, colframe=blue},
    }
    
    \begin{document}
    
    \tcbhighmath{\frac{a+c+g}{x} = \SI{1664,4212}{\percent}}
    
    \sisetup{group-minimum-digits = 4}% peut évidemment être mis dans le préambule
    \tcbhighmath{\frac{a+c+g}{x} = \SI{1664,4212}{\percent}}
    
    \end{document}
    
    101528
  • Merci Brian,
    le premier marche (et c'est ce que je cherchais ). J’ai aussi compris mon erreur.
    Seulement, comme je suis en mode apprentissage, j'ai continué mes recherches sur la documentation de SIunitx pour essayer de comprendre son fonctionnement, mais -- après compilation (second code) -- j'ai le message d'erreur suivant (voir ci-dessus). J'ai seulement ajouté \usepackage[squaren,Gray]{SIunits}.101530
  • Eh bien, as-tu lu le premier message d'erreur ? “Support package expl3 too old.” Ta distribution TeX n'est pas à jour ; je ne peux rien y faire. Soit tu la mets à jour, soit tu renonces à siunitx et utilises quelque chose comme \, \% pour le pourcent... La première solution (mettre à jour) a le potentiel de résoudre plus de problèmes. Mais il vaut mieux éviter de s'y coller la veille de la remise d'un rapport, bien sûr — on ne sait jamais à l'avance ce que Murphy nous réserve.

    Edit : d'autre part, pourquoi cherches-tu à charger SIunits ? siunitx l'a remplacé ; peut-être que cela fonctionne, mais j'éviterais de charger SIunits et siunitx dans le même document. D'ailleurs, ton avant-dernier message d'erreur (en rouge) dit que SIunits n'est pas trouvé chez toi (SIunits.sty est le fichier chargé par la commande \usepackage{SIunits}).
  • Bonjour
    Merci Brian, très clair !
  • La version 5.0.4 n'est-elle pas la dernière version?101554
  • C'est bon! Merci.
  • TeXMaker, c'est juste un éditeur de texte spécialisé. La distribution TeX, c'est tout le reste (typiquement aujourd'hui : TeX Live, MiKTeX ou MacTeX).
  • J'ai effectué la mise à jour de MiKTeX qui a finalement résolu le problème.
    Cependant, si j'insère le code dans mon document la compilation montre une erreur (je pense siunitx est en conflit avec \usepackage[svgnames]{xcolor}). Une fois l'option [svgnames] enlevée, tout marche.. Y'aurait-il une conséquence en supprimant cette option ?
    Par ailleurs, je voudrai aussi une ombre dans l'encadrement et j'ai pensé à fuzzy shadow, mais ça ne marche pas.101604
  • Il faut mettre \usepackage[svgnames]{xcolor} avant tout autre \usepackage qui charge automatiquement xcolor sans option--ceci, car une fois un package chargé, on ne peut pas le recharger avec des options différentes. Pour le fuzzy shadow, je regarderai quand je serai à mon ordi.
  • Pour le 'drop fuzzy shadow', deux choses :

    1) Première erreur :
    Package pgfkeys Error: I do not know the key '/tcb/drop fuzzy shadow' and I am going to ignore it. Perhaps you misspelled it.
    
    C'est facile : tcolorbox ne connaît pas cette clé car elle est définie dans la bibliothèque tcolorbox 'skins', que tu n'as sans doute pas chargée (les fainéants font \usepackage[most]{tcolorbox} pour éviter ce problème, mais cela ralentit la compilation et au bout du compte, ils ne comprennent pas bien ce qu'ils font). Ici, on a donc besoin de \tcbuselibrary{skins, theorems} (on utilisait déjà 'theorems' pour \tcboxmath et \tcbhighmath).

    2) À ce stade, ça compile sans erreur mais le 'drop fuzzy shadow' ne fait rien de visible. Là, c'est un peu plus subtil. Il faut savoir que les boîtes tcolorbox utilisent une skin pour leur apparence. Certaines skins s'appuyent sur l'environnement pgfpicture, et d'autres sur tikzpicture qui est plus puissant. La skin 'standard' utilise pgfpicture comme valeur de '/tcb/graphical environment', et cela ne permet pas tous les effets graphiques. La skin 'enhanced', en revanche, utilise tikzpicture. Si tu lis le paragraphe introductif de Shadow Option Keys où est documentée la clé '/tcb/drop fuzzy shadow', tu trouves :
    The following shadow options are applicable for most skins which use 'tikzpicture' as '/tcb/graphical environment'. Therefore, the skin 'standard' does not support these shadows, but most other skins, e.g. 'enhanced', do.
    (c'est moi qui ai ajouté la fin avec la virgule suivie de “do”). Bref, pour que '/tcb/drop fuzzy shadow' puisse faire son boulot, il faut utiliser une skin dont le '/tcb/graphical environment' est 'tikzpicture'. La skin passe-partout 'enhanced' en est une et convient parfaitement ici.
    \documentclass{article}
    \usepackage[svgnames]{xcolor}
    \usepackage{siunitx}
    \sisetup{output-decimal-marker={,}, group-minimum-digits=4}
    \usepackage{tcolorbox}
    \tcbuselibrary{skins, theorems}
    
    \tcbset{
      highlight math style={enhanced, colback=LightBlue!25!white, colframe=blue,
                            drop fuzzy shadow},
    }
    
    \begin{document}
    
    \tcbhighmath{\frac{a+c+g}{x} = \SI{1832,4212}{\percent}}\quad
    % On peut aussi changer les couleurs au cas par cas avec cette méthode :
    \tcbhighmath[colframe=red!60!black, colback=red!15]
      { \frac{\pi}{4} = 4\arctan \frac{1}{5} - \arctan \frac{1}{239} }
    
    \end{document}
    
    101630
  • Bonjour,
    Merci, Brian, ton aide a été très précieuse. J'ai beaucoup appris durant ces 48h et je compte approfondir mes recherches sur les sujets abordés pour ne plus poser ces genres de questions.
    J'ai terminé mon (premier latex) document "exercices corrigés de mathématique".
    Un aperçu (voir p. j. style 1 et style 1-1)
    Cependant, je voudrais adopter ce style (p. j. Style 2) à la place du style 1, j'aimerais avoir votre aide pour boucler enfin ce travail.101636
    101638
    101640
  • Je ne vois pas de style 2 ; manquerait-il une pièce jointe ? D'autre part, si cela ne correspond pas à « encadrer un résultat mathématique », je crois qu'il vaudrait mieux ouvrir un nouveau sujet.
Connectez-vous ou Inscrivez-vous pour répondre.