Problème de boîtes dans fichier sty

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

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.
Kerguillaume
Utilisateur débutant
Utilisateur débutant
Messages : 6
Inscription : samedi 13 juin 2020, 11:20
Statut actuel : Enseignant

[Résolu] Problème de boîtes dans fichier sty

Message par Kerguillaume »

J'essaie de me créer un package avec mon préambule. Tout fonctionne sauf mes boîtes.
Quelqu'un voit-il l'erreur ?
Merci d'avance.

Code : Tout sélectionner

\RequirePackage{xcolor}
\RequirePackage{tikz}

\tikzstyle{boxdef} = [draw=red, fill=red!20, very thick,
    rectangle, rounded corners, inner sep=10pt, inner ysep=20pt]
\tikzstyle{Definition} =[fill=red, text=white, rounded corners]
\tikzstyle{boxthe} = [draw=OliveGreen, fill=OliveGreen!20, very thick,rectangle, rounded corners,%
    inner sep=10pt, inner ysep=20pt]
\tikzstyle{theoreme} =[fill=OliveGreen, text=white, rounded corners]
%
\newsavebox\theoremcontents
    % un registre boîte pour enregistrer le contenu, voir en dessous
  \newenvironment{theoreme}[1]{%
    \def\theoremtitle{#1}%  pour sauvegarder l'argument
    \begin{savebox}{\theoremcontents}%  commence l'enregistrement
      \begin{minipage}{1\textwidth}
  }{
      \end{minipage}
    \end{savebox}%  termine l'enregistrement
    % maintenant on met tout en forme:
    \par\noindent%  pour être sûr d'être bien positionné
    \begin{tikzpicture}
      \node [boxthe] (box) {\usebox{\theoremcontents}};
      \node [theoreme, right=10pt] at (box.north west) {\theoremtitle};
    \end{tikzpicture}%
    \par
  }
Dernière modification par MB le samedi 13 juin 2020, 11:53, modifié 2 fois.

MB
Administrateur
Administrateur
Messages : 7137
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Problème de boîtes dans fichier sty

Message par MB »

Bonjour, il faudrait fournir un ECM et préciser ce qui ne fonctionne pas correctement.
MB (Pas d'aide en Message Privé)
Merci d'utiliser MathJax (voir ici) et d'éviter le style SMS pour la lisibilité des messages.

Kerguillaume
Utilisateur débutant
Utilisateur débutant
Messages : 6
Inscription : samedi 13 juin 2020, 11:20
Statut actuel : Enseignant

Re: Problème de boîtes dans fichier sty

Message par Kerguillaume »

C'est quoi un ECM ?

pzorba75
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 201
Inscription : mardi 20 août 2013, 04:50
Localisation : Paris

Re: Problème de boîtes dans fichier sty

Message par pzorba75 »

Un fichier complet, compilable en l'état, limité aux seules instructions produisant l'erreur ou le problème qu'il faut corriger.
On se lasse de tout, excepté d'apprendre.
Virgile

MB
Administrateur
Administrateur
Messages : 7137
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Problème de boîtes dans fichier sty

Message par MB »

Voir ce sujet épinglé pour plus de détails.
MB (Pas d'aide en Message Privé)
Merci d'utiliser MathJax (voir ici) et d'éviter le style SMS pour la lisibilité des messages.

Kerguillaume
Utilisateur débutant
Utilisateur débutant
Messages : 6
Inscription : samedi 13 juin 2020, 11:20
Statut actuel : Enseignant

Re: Problème de boîtes dans fichier sty

Message par Kerguillaume »

Mon fichier essai.tex :

Code : Tout sélectionner

\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage {fancybox}
\usepackage[frenchb]{babel}
\usepackage[scaled]{helvet}
\usepackage{lmodern}
\usepackage{kpfonts}
\usepackage{amsfonts} 
\usepackage{graphicx}
\usepackage[left=2cm,right=3cm,top=2cm,bottom=1.5cm]{geometry}
\usepackage{fancybox}
\usepackage{amsmath,amssymb,mathrsfs}
\usepackage{manfnt}
\usepackage{titlesec}
\usepackage[dvipsnames]{xcolor}
\usepackage{multicol}
\usepackage{textcomp}
\usepackage{tikz}
\usetikzlibrary{datavisualization}
\usetikzlibrary{shapes,snakes}
\usepackage{tkz-graph}
\usepackage{array,multirow,makecell}
\usepackage{eurosym}
\usepackage{enumitem}
\usepackage{lastpage}
\usepackage{mes-exercices}
\usepackage{mes-boites}
\usepackage{mes-scripts}
\begin{document}
\begin{theoreme}{propriété (admise)}
blablabla
\end{theoreme}
\end{document}

un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 794
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: Problème de boîtes dans fichier sty

Message par un bon petit »

Votre code est le contraire de minimal !
Un ECM est minimal (c'est la lettre M) : il ne doit pas contenir une ligne de code superflue. Autrement dit, vous devez virer les innombrables packages standard de votre préambule qui n'ont aucun rapport avec le problème exposé ici et, impératif : virer les packages perso. Si vous avez des besoin de morceaux de packages personnels, insérez les macros concernées dans le préambule de votre code, mais ne mettez jamais un \usepackge{<packege_perso>}.

Kerguillaume
Utilisateur débutant
Utilisateur débutant
Messages : 6
Inscription : samedi 13 juin 2020, 11:20
Statut actuel : Enseignant

Re: Problème de boîtes dans fichier sty

Message par Kerguillaume »

Code : Tout sélectionner

\documentclass[a4paper,12pt]{article}
\usepackage{mes-boites}
\begin{document}
\begin{theoreme}{propriété (admise)}
blablabla
\end{theoreme}
\end{document}

un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 794
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: Problème de boîtes dans fichier sty

Message par un bon petit »

Excusez-moi, mais vous lisez ce que l'on écrit ? Je vous demande de ne pas mettre \usepackage{<packageperso>} et c'est exactement ce que vous faites !

Je retente donc, pour la dernière fois : enlevez \usepackage{mes-boites} et remplacez-le par les macros qui se trouvent dans votre package perso et qui sont utiles à la compréhension de votre problème..

Kerguillaume
Utilisateur débutant
Utilisateur débutant
Messages : 6
Inscription : samedi 13 juin 2020, 11:20
Statut actuel : Enseignant

Re: Problème de boîtes dans fichier sty

Message par Kerguillaume »

Code : Tout sélectionner

\documentclass[a4paper,12pt]{article}
\usepackage{xcolor}
\usepackage{tikz}
\tikzstyle{boxdef} = [draw=red, fill=red!20, very thick,
    rectangle, rounded corners, inner sep=10pt, inner ysep=20pt]
\tikzstyle{Definition} = [fill=red, text=white, rounded corners]
\tikzstyle{boxthe} = [draw=OliveGreen, fill=OliveGreen!20, 
    very thick,rectangle, rounded corners, inner sep=10pt, inner ysep=20pt]
\tikzstyle{theoreme} = [fill=OliveGreen, text=white, rounded corners]
\newsavebox\theoremcontents
\newenvironment{theoreme}[1]{%
    \def\theoremtitle{#1}
    \begin{savebox}{\theoremcontents}%  commence l'enregistrement
      \begin{minipage}{1\textwidth}
  }{
      \end{minipage}
    \end{savebox}%  termine l'enregistrement
    % maintenant on met tout en forme:
    \par\noindent%  pour être sûr d'être bien positionné
    \begin{tikzpicture}
      \node [boxthe] (box) {\usebox{\theoremcontents}};
      \node [theoreme, right=10pt] at (box.north west) {\theoremtitle};
    \end{tikzpicture}%
    \par
  }
\begin{document}
\begin{theoreme}{propriété (admise)}
blablabla
\end{theoreme}
\end{document}
Dernière modification par MB le samedi 13 juin 2020, 19:51, modifié 2 fois.

un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 794
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: Problème de boîtes dans fichier sty

Message par un bon petit »

Vous n'avez pas testé votre code : la couleur OliveGreen est indéfinie !
Lorsque vous demandez de l'aide, vous devriez vraiment faire plus attention à ce que tous les éléments dans votre code soient définis dans le code et non pas ailleurs.

Ceci dit, l'environnement savebox n'existe pas ! C'est ce qui provoque votre erreur. C'est la commande \savebox qui existe et que vous devriez utiliser.

pg
Modérateur
Modérateur
Messages : 2600
Inscription : vendredi 15 juin 2007, 00:31

Re: Problème de boîtes dans fichier sty

Message par pg »

Changer {savebox} en {lrbox} :

Code : Tout sélectionner

\documentclass[a4paper,12pt]{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\tikzstyle{boxdef} = [draw=red, fill=red!20, very thick,
    rectangle, rounded corners, inner sep=10pt, inner ysep=20pt]
\tikzstyle{Definition} = [fill=red, text=white, rounded corners]
\tikzstyle{boxthe} = [draw=OliveGreen, fill=OliveGreen!20, 
    very thick,rectangle, rounded corners, inner sep=10pt, inner ysep=20pt]
\tikzstyle{theoreme} = [fill=OliveGreen, text=white, rounded corners]
\newsavebox\theoremcontents
\newenvironment{theoreme}[1]{%
    \def\theoremtitle{#1}
    \begin{lrbox}{\theoremcontents}%  commence l'enregistrement
      \begin{minipage}{1\textwidth}
  }{
      \end{minipage}
    \end{lrbox}%  termine l'enregistrement
    % maintenant on met tout en forme:
    \par\noindent%  pour être sûr d'être bien positionné
    \begin{tikzpicture}
      \node [boxthe] (box) {\usebox{\theoremcontents}};
      \node [theoreme, right=10pt] at (box.north west) {\theoremtitle};
    \end{tikzpicture}%
    \par
  }
\begin{document}
\begin{theoreme}{propriete (admise)}
blablabla
\end{theoreme}
\end{document}
boite_encadree.png

Noter qu'utiliser un package tout fait comme tcolorbox permet de ne pas avoir à s'occuper de ce genre de détails techniques.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.

Kerguillaume
Utilisateur débutant
Utilisateur débutant
Messages : 6
Inscription : samedi 13 juin 2020, 11:20
Statut actuel : Enseignant

Re: Problème de boîtes dans fichier sty

Message par Kerguillaume »

Merci beaucoup.