IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation (La)TeX avancée Discussion :

Gestion de boîte avec \boxput


Sujet :

Programmation (La)TeX avancée

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Gestion de boîte avec \boxput
    Bonjour,

    Je travaille sous LaTeX pour éditer un document de cours. Dans ce dernier, j'utilise la commande \boxput pour encadrer les résultats importants.

    j'ai donc créé une commande \formule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    \documentclass{report}
     
    \usepackage{fancybox}
    \usepackage{color}
     
    %%Ma commande d'encadrement
     
    \newcommand{\formule}[4]{%
    \boxput*(0.75,-1){\colorbox{white}{#1}}
    {\setlength{\fboxsep}{15pt}\ovalbox{%
    \begin{minipage}{\textwidth}#2\par
    \begin{equation}#3\end{equation}
    #4\par
    \end{minipage}
    }}}
    %%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%
     
    \begin{document}
     
    %%Utilisation de la dite commande
    \formule{Titre pompeux beaucoup trop long pour la place disponible}{commentaire barbant}{formule = 0}{explications barbantes}
    \end{document}
    Le titre de la boîte est placé en bas à droite. Le problème est que si il est trop long, il dépasse de la boite. Ce que je souhaiterai, c'est automatiser le placement du titre pour qu'il soit en bas à droite et qu'il ne dépasse pas.

    Pour ce faire j'ai tenté de remplacer 0.75 par un longueur, mais malheureusement boxput ne tolère pas les unités pour le placement. J'ai également tenté de redéfinir l'origine de la boite, mais j'ai été incapable d'identifier la ligne de commande dans les .sty.

    Je lance donc une bouteille à la mer dans l'espoir que l'un de vous aura une idée lumineuse pour solutionner mon problème.

    D'avance merci pour votre aide.

  2. #2
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Points : 11 289
    Points
    11 289
    Billets dans le blog
    5
    Par défaut
    Bonsoir,
    personnellement, j'aurais fait cette boite avec TikZ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    \documentclass{article}
    \usepackage{varwidth}
    \usepackage{tikz}
    \usetikzlibrary{shapes,decorations}
    \newcommand{\maboite}[2]{%
    \tikzstyle{titlebox}=[rectangle,thick,blue!60,fill=blue!30,text=black,rounded corners=0.3cm,inner sep=10pt,inner ysep=10pt,draw]%
    \tikzstyle{title}=[fill=white]%
    \bigskip\noindent\begin{tikzpicture}
    \node[titlebox] (box){%
        \begin{minipage}{0.94\textwidth}
    #2
        \end{minipage}
    };
    \node[title,draw,text centered,thick,red!60,fill=red!30,text=black,rounded corners=0.3cm,inner sep=10pt,inner ysep=10pt,execute at begin node={\begin{varwidth}{0.5\linewidth}},
       execute at end node={\end{varwidth}},xshift=\number\numexpr0.25\linewidth-0.6cm] at (box.south) {#1};
    \end{tikzpicture}\bigskip}
    \begin{document}
    \maboite{ma boite}{Un commentaire
    \[e^{i\pi}+1=0\]
    demonstration :}
    \maboite{La m\^eme boite avec un titre plus long sur deux lignes}{Un commentaire
    \[e^{i\pi}+1=0\]
    demonstration :}
    \end{document}
    Nom : boitetikz.PNG
Affichages : 4305
Taille : 29,0 Ko

    J'en connais un qui risque de s'en donner à cœur joie.

  3. #3
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut
    Bonsoir,

    Voici ma proposition pour votre souci. J'ai préféré utiliser l'extension tcolorbox à TikZ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    \documentclass{report}
     
    \usepackage{fancybox}
    \usepackage{color}
    \usepackage{tcolorbox} % boîtes en couleur, listings...
    \tcbuselibrary{most, documentation} % toutes les librairies sauf minted
     
    %%Ma commande d'encadrement
     
    \newcommand{\formule}[4]{%
    \boxput*(0.75,-1){\colorbox{white}{#1}}
    {\setlength{\fboxsep}{15pt}\ovalbox{%
    \begin{minipage}{\textwidth}#2\par
    \begin{equation}#3\end{equation}
    #4\par
    \end{minipage}
    }}}
    %%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%
     
    \begin{document}
     
    %%Utilisation de la dite commande
    \formule{Titre pompeux beaucoup trop long pour la place disponible}{commentaire barbant}{formule = 0}{explications barbantes}
     
    \vspace{12pt}
     
    \begin{tcolorbox}[ams gather lower,colback=yellow!10!white,colframe=red!50!black,enhanced,sidebyside,minipage boxed title, attach boxed title to bottom center={yshift=3mm},arc=15pt,title={Titre pompeux beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup trop long pour la place disponible}]
    commentaire barbant
     
    explications barbantes
    \tcblower
    \sum\limits_{n=1}^{\infty} \frac{1}{n} = \infty.\\
    \int x^2 ~\text{d}x = \frac13 x^3 + c.
    \end{tcolorbox}
     
    \end{document}
    Si vous souhaitez une personnalisation plus poussée de la boîte c'est tout à fait possible. Je peux vous y aider si vous le voulez.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonsoir,

    J'ai regardé vos codes ils ne répondent pas totalement à mes attentes :

    • Nikopol, tu es le plus proche de ce que je souhaite, cependant, j'aimerai que le titre de la boite soit aligné à droite. J'ai essayé d'appréhender ton code mais je n'ai pas réussi à modifier cet alignement de façon concluante. Peux-tu m'orienter pour cela ?
    • Winnt, le code que tu proposes donne une boîte très jolie, mais qui ne répond pas au style de mon document. Je rédige un cours à destination d'impression et donc au style très épuré. Cependant je suis très intéressé par ce type de boîte pour des rédactions futures. Est-il possible de mettre le titre en bas de la boîte, de gérer l'alignement du titre et enfin de respecter une structure en trois compartiments : Définition / Formule / Explication ?


    Merci à vous deux.

  5. #5
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut
    Bonsoir,

    C'est, à priori, tout à fait possible de faire des boîtes sobres répondant à votre demande avec cette extension.

    Afin de vous faire une idée plus précise des possibilités qu'offre tcolorbox, je vous conseille de regarder la documentation abondamment fournie en exemples de boites diverses et variées disponible sur le CTAN.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  6. #6
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Points : 11 289
    Points
    11 289
    Billets dans le blog
    5
    Par défaut
    Et voila de jolies boites
    Nom : boitetikz.PNG
Affichages : 3359
Taille : 21,3 Ko
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    \documentclass{article}
    \usepackage{varwidth}
    \usepackage{tikz}
    \usetikzlibrary{shapes,decorations,positioning}
    \newcommand{\maboite}[2]{%
    \tikzstyle{titlebox}=[rectangle,line width=1.2pt,blue!60,fill=blue!30,text=black,rounded corners=0.3cm,inner sep=10pt,inner ysep=10pt,draw]%
    \tikzstyle{title}=[]%
    \bigskip\noindent\begin{tikzpicture}
    \node[titlebox] (box){%
        \begin{minipage}{\dimexpr\linewidth-21.2pt}
    #2
        \end{minipage}
    };
    \node[title,draw,text centered,line width=1.2pt,red!60,fill=red!30,text=black,rounded corners=0.3cm,inner sep=10pt,inner ysep=10pt,%
    execute at begin node={\begin{varwidth}{\dimexpr0.5\linewidth-11.2pt}},%
       execute at end node={\end{varwidth}},left = 10pt of box.south east]{#1};
    \end{tikzpicture}\par\bigskip}
    \begin{document}
    \maboite{ma boite}{Un commentaire
    \[e^{i\pi}+1=0\]
    demonstration :}
    \maboite{La m\^eme boite avec un titre plus long sur deux lignes}{Un commentaire
    \[e^{i\pi}+1=0\]
    demonstration :}
    \end{document}
    Déclarer un environnement plutôt qu'une commande serait peut être plus adapté ici (si tu souhaites ensuite créer trois compartiments), mais j'ai laissé comme c'était au départ.

  7. #7
    Membre actif

    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2009
    Messages : 45
    Points : 205
    Points
    205
    Par défaut
    si tu veux des boites plus sobres (certes tikz c'est joli mais personnellement je suis plutôt adepte des cours sobres après c'est une question de goût)

    essaie d'utiliser : \usepackage{empheq} :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    \begin{empheq}[box=\fbox]{align*}
    \overrightarrow{DE}=\dfrac{3}{5}\overrightarrow{DA}+
                       \dfrac{2}{5}\overrightarrow{DI}
    \end{empheq}

Discussions similaires

  1. Gestion des transactions avec les composants DOA
    Par lper dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/12/2008, 16h06
  2. Class de gestion des images avec rotation
    Par Johnny Boy dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2005, 11h54
  3. Gestion de formulaire avec xml et sans serveur ?
    Par meliane dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 05/05/2004, 19h57
  4. probleme de gestion de clients avec des sockets....
    Par ludvo dans le forum Réseau
    Réponses: 6
    Dernier message: 25/09/2003, 12h37
  5. [TFrame] Problème de gestion du OnMouseDown avec une Frame
    Par xherault dans le forum Composants VCL
    Réponses: 5
    Dernier message: 23/05/2003, 15h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo