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

Tableaux - Graphiques - Images - Flottants Discussion :

Reproduire un schéma avec tikz


Sujet :

Tableaux - Graphiques - Images - Flottants

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Doctorant
    Inscrit en
    mai 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : mai 2018
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Reproduire un schéma avec tikz
    Bonjour à tous,

    Je suis doctorant en italien et j'ai décidé de rédiger ma thèse avec latex.

    Je découvre donc les joies de la composition de shémas et autres diagrammes, ce qui n'est pas franchement aisé pour un néophyte.

    Il me faut donc reproduire le schéma suivant, issu de l'article de Claude Brémond, "Logique des possibles narratifs":
    Nom : screen bremond.PNG
Affichages : 249
Taille : 67,9 Ko

    Ma première tentative est la suivante:
    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
     
    \documentclass[french,a4paper,12pt,oneside]{book}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[french]{babel} 
     
    \usepackage[top=2.5cm, bottom=2.5cm, left=2.5cm, right=2.5cm]{geometry}
     
    \usepackage{tikz}
    \usetikzlibrary{arrows}
    \usetikzlibrary{babel}
    \usetikzlibrary{decorations.pathreplacing}
     
    \begin{document}
    \begin{tikzpicture}
    		\draw[decorate,thick,decoration={brace,amplitude=5pt}] (7.8,0) -- (7.8,3);
    		\draw[decorate,thick,decoration={brace,amplitude=5pt}] (12.8,1.6) -- (12.8,3.3);
    		\draw[thick,->] (7,1.5) --(7.5,1.5); 
    		\draw[thick,->] (12,2.45) --(12.5,2.45); 
     
    		\node at (7,1.7) [left] {Virtualité};
    		\node at (7,1.2) [left] {\small(ex.: but à atteindre)};
     
    		\node at (7.8,2.8) [right] {Actualisation};
    		\node at (7.8,2.3) [right] {\small(ex.: conduite pour};
    		\node at (7.8,1.9) [right] {\small atteindre le but)};
    		\node at (7.8,1.1) [right] {Absence d'actualisation};
    		\node at (7.8,0.6) [right] {\small(ex.: inertie, empê-};
    		\node at (7.8,0.2) [right] {\small -chement d'agir)};
     
    		\node at (12.8,3.1) [right] {But atteint};
    		\node at (12.8,2.6) [right] {\small(ex.: succès de la conduite)};
    		\node at (12.8,2.1) [right] {But manqué};
    		\node at (12.8,1.7) [right] {\small(ex.: échec de la conduite)};
    \end{tikzpicture}
    \end{document}
    Comme vous le voyez, ça fonctionne, mais c'est assez laborieux, parce que j'ai tout placé "à la main", alors que j'aurais voulu créer un vrai diagramme avec des connexions logiques.
    Et, surtout, j'aurais aimé que le schéma soit dynamique avec le reste du document, c'est-à-dire que si je change la taille de police ou les marges, je ne me retrouve pas avec une figure à retaper…
    Cet exercice a eu le mérite de me familiariser avec le package tikz, mais j'aimerais aller plus loin.

    Bref, si quelqu'un savait obtenir le même résultat avec une solution moins bricolage, plus efficace et plus propre, ce serait parfait!

    Merci d'avance

  2. #2
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    août 2017
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2017
    Messages : 135
    Points : 283
    Points
    283
    Billets dans le blog
    1
    Par défaut
    Je ne suis pas un expert en tikz, je propose ma solution à tous hasard:
    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
    \documentclass{article}
    \usepackage{tikz}
    \usetikzlibrary{arrows}
    \usetikzlibrary{decorations.pathreplacing}
     
     
    \begin{document}
      \begin{tikzpicture}[text width = 4.5cm, align=left]
      	\node[text width = 3cm] (Virtu) at (0,0) {Virtualité \\ \fontsize{8}{8}\selectfont (ex.: but à atteindre)};
      	\node[right=1.1cm, anchor=south west] (Actu) at (Virtu.east) {Actualisation \\ \fontsize{8}{8}\selectfont (ex.: conduite pour atteindre le but)};
      	\node[right=1.1cm, anchor=north west] (Abs) at (Virtu.east) {Abscence d'actualisation \\ \fontsize{8}{8}\selectfont (ex.: inertie, empêchement d'agir)};
      	\draw[thick, ->] (Virtu.east) -- ([xshift = .7cm]Virtu.east);
      	\draw[decorate,thick,decoration={brace,amplitude=5pt}] (Abs.south west) -- (Actu.north west) ;
     
      	\node[right=1.1cm, anchor=south west] (Buta) at (Actu.east) {But atteint \\ \fontsize{8}{8}\selectfont (ex.: succès de la conduite)};
      	\node[right=1.1cm, anchor=north west] (Butm) at (Actu.east) {But manqué\\ \fontsize{8}{8}\selectfont (ex.: échec de la conduite)};
      	\draw[thick, ->] (Actu.east) -- ([xshift = .7cm]Actu.east);
      	\draw[decorate,thick,decoration={brace,amplitude=5pt}] (Butm.south west) -- (Buta.north west) ;
      \end{tikzpicture}
    \end{document}
    Au lieu de donner à chaque fois les coordonnées j'utilise les coordonnées relatives (e.g. north west, etc).

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Doctorant
    Inscrit en
    mai 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : mai 2018
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci lulzec, cela allège déjà considérablement la figure. J'ai juste changé la manière dont tu as changé la taille du texte entre parenthèses et suis revenu à un simple \small. En tout cas, je crois comprendre la logique qui sous-tend ta solution.

    Maintenant, est-il possible de faire facilement en sorte que la flèche (et tout le reste) parte du mot principal (Virtualité, Actualisation) et pas du groupe (le mot + les exemples entre parenthèses)? C'est simplement pour respecter la figure d'origine, mais si je ne peux pas, ce n'est pas grave, parce qu'en l'état le sens est rendu.
    En fait, non: en regardant la figure d'origine, la disposition des flèches est assez aléatoire… Alors c'est très bien comme ça!

  4. #4
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    août 2017
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2017
    Messages : 135
    Points : 283
    Points
    283
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    J'ai vu que tu avais édité le message. Mais bon j'ai fait la modif entre temps alors je la poste si jamais ça t'intéresse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    \begin{tikzpicture}[text width = 4.5cm, align=left]
      	\node[text width = 3cm] (Virtu) at (0,0) {\vspace*{2em} \\ Virtualité \\ \small (ex.: but à atteindre)};
      	\node[right=1.1cm, anchor=south west] (Actu) at (Virtu.east) {Actualisation \\ \small (ex.: conduite pour atteindre le but)};
      	\node[right=1.1cm, anchor=north west] (Abs) at (Virtu.east) {Abscence d'actualisation \\ \small (ex.: inertie, empêchement d'agir)};
      	\draw[thick, ->] (Virtu.east) -- ([xshift = .7cm]Virtu.east);
      	\draw[decorate,thick,decoration={brace,amplitude=5pt}] (Abs.south west) -- (Actu.north west) ;
     
      	\node[right=1.1cm, anchor=south west] (Buta) at ([yshift = -.7em]Actu.north east) {But atteint \\ \small (ex.: succès de la conduite)};
      	\node[right=1.1cm, anchor=north west] (Butm) at ([yshift = -.7em]Actu.north east) {But manqué\\ \small (ex.: échec de la conduite)};
      	\draw[thick, ->] ([yshift = -.7em]Actu.north east) -- ([xshift = .7cm, yshift = -.7em]Actu.north east);
      	\draw[decorate,thick,decoration={brace,amplitude=5pt}] (Butm.south west) -- (Buta.north west) ;
      \end{tikzpicture}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Multi schéma avec Crystal Reports XI
    Par arioso2008 dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 10/12/2008, 14h38
  2. comment faire des schémas avec latex
    Par abdali dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 6
    Dernier message: 06/06/2008, 17h25
  3. Du texte avec TikZ
    Par binome-x dans le forum Débuter
    Réponses: 0
    Dernier message: 21/05/2008, 17h29
  4. Reproduire des controles avec une boucle
    Par paradeofphp dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 19/06/2006, 11h46
  5. [Crystal Report 9] Changer de schéma avec Oracle
    Par sur_uix dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 14/11/2002, 12h19

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