TikZ dans un environnement avec TikZ

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

TikZ dans un environnement avec TikZ

Messagepar EliX » Mercredi 20 Mars 2013, 20:19

Je cherche à faire un environnement basé sur TikZ (cf p1 du pdf ci-joint pour l'idée de l'environnement) de telle manière que cet environnement accepte n'importe quel contenu, et en particulier du TikZ (cf p2).

Le problème est que mon implémentation donne une sortie horrible (cf p3).

Avez-vous une solution pour faire cela? L'objectif est d'avoir un environnement de ce type : http://www.texample.net/tikz/examples/boxes-with-text-and-math/.

fichier tex: http://kerios.fr/downloads/LaTeX/TikZ/environnementTikZenTikZ.tex
fichier pdf: http://kerios.fr/downloads/LaTeX/TikZ/environnementTikZenTikZ.pdf
Dernière édition par EliX le Jeudi 21 Mars 2013, 10:51, édité 1 fois.
EliX
Utilisateur
 
Messages: 2
Inscription: Mercredi 20 Mars 2013, 19:33
Statut actuel: Post-bac | Doctorat

Publicité

Re: TikZ dans un environnement avec TikZ

Messagepar EliX » Jeudi 21 Mars 2013, 10:50

J'apporte ma propre réponse:

Code: Tout sélectionner
\usepackage{tikz}
\usetikzlibrary{decorations}
\usepgflibrary{decorations.pathmorphing}
...
\newsavebox{\boiboite}
\newenvironment{boite}%
{%
    \begin{lrbox}{\boiboite}%
        \begin{minipage}[!h]{5cm}
}%
{%
        \end{minipage}
    \end{lrbox}
    \begin{center}
        \pgfdeclarelayer{nodes}
        \pgfsetlayers{main,nodes}
        \begin{tikzpicture}[auto,line width=1pt]
            \node(one) at (0,0) {};
            \begin{pgfonlayer}{nodes}
                \node (none) [fill=yellow!60,draw,thick, minimum height=7cm, minimum
    width=10cm, decorate, decoration={random steps,segment length=3pt,
    amplitude=1.6pt}, text=black] at (one) {
                    \usebox{\boiboite}};
            \end{pgfonlayer}{nodes}
        \end{tikzpicture}
    \end{center}
}


Ceci permet d'inclure des figures TikZ (au moins ma figure TikZ) dans un environnement construit "en TikZ".

fichier résultat: http://kerios.fr/downloads/LaTeX/TikZ/environnementTikZenTikZ-res.pdf
fichier source résultat: http://kerios.fr/downloads/LaTeX/TikZ/environnementTikZenTikZ-res.tex
EliX
Utilisateur
 
Messages: 2
Inscription: Mercredi 20 Mars 2013, 19:33
Statut actuel: Post-bac | Doctorat

Re: TikZ dans un environnement avec TikZ

Messagepar un bon petit » Jeudi 21 Mars 2013, 17:05

Le code est assez lourd, il est possible de faire plus léger :
Code: Tout sélectionner
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations,matrix,shapes}
\usepgflibrary{decorations.pathmorphing}
\newbox\boiboite
\newenvironment{boite}[1][5cm]%
   {\setbox\boiboite=\vbox\bgroup\hsize=#1\relax}
   {\egroup\center
   \tikzpicture[auto,line width=1pt]
         \node[fill=yellow!60,draw,thick,minimum height=7cm,minimum
         width=10cm,decorate,decoration={random steps,segment length=3pt,
         amplitude=1.6pt},text=black] {\box\boiboite};
   \endtikzpicture\endcenter
   }
\begin{document}

\begin{boite}
   TOto

   \newcommand\makenode[2]{\node[draw,circle] (#1) {$#2$};}
   \begin{tikzpicture}[auto]
      \matrix[column sep=.1cm, row sep=.1cm,ampersand replacement=\&]{
                   \& \makenode a5 \&              \&              \\
      \makenode b1 \&              \& \makenode c2 \&              \\
                   \&              \&              \& \makenode d2 \\
      };

      \path[ultra thick, red] (c) edge (d) (a) edge (b) edge (c);
   \end{tikzpicture}

   TOto
\end{boite}
\end{document}
un bon petit
Giga-utilisateur
 
Messages: 638
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités