[TIKZ] Des styles de flèches

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] Des styles de flèches

Messagepar GMaths » Dimanche 24 Janvier 2010, 13:19

Bonjour,

message à l'attention des spécialistes de tikz

avec le code suivant
Code: Tout sélectionner
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,on grid,semithick,
                    every state/.style={copy shadow={opacity=.5},tape,
                    fill=blue!20,draw=blue,thick}]
\node(O){};
\node[state] (A) [text width=5.5cm,text centered,above left=of O] {$(u_n)$ et $(v_n)$ monotones, une croissante, l'autre décroissante};
\node[state] (B) [below left=of O] {$\Lim[n]{+\infty}(u_n-v_n)=0$};
\node[state] (C) [right=of O] {$(u_n)$ et $(v_n)$ adjacentes};
\node[state] (D) [text width=4.5cm,text centered,right=of C,xshift=3cm] {$(u_n)$ et $(v_n)$ convergentes vers un même nombre $\ell$};
\end{tikzpicture}

avec \newcommand{\Lim}[2][x]{\displaystyle{\lim_{#1 \rightarrow #2}}}

j'obtiens la figure suivante

2010-01-24_130618.png


... sans les flèches.

Mon problème ? Les flèches justement.
  • Comment puis-je réaliser des flèches d'implication ? (Mon problème est de savoir si un tel type (double trait) existe, et s'il n'existe pas, de le définir )
  • Comment puis-je réaliser une flèche qui partirait de deux "noeuds hypothèses" pour aller à un "noeud conclusion" ?

D'avance merci pour les suggestions.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: [TIKZ] Des styles de flèches

Messagepar evariste_G » Dimanche 24 Janvier 2010, 14:10

Bonjour. Page 136 du manuel PGF, on trouve des informations. Essai :

Code: Tout sélectionner
\draw[->,double,distance=2pt,thick] (0,0) -- (5,3);


(code non testé pour le moment car j'ai des problèmes de compilation depuis que j'ai réinstallé windows).
evariste_G
Téra-utilisateur
 
Messages: 1372
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Post-bac

Re: [TIKZ] Des styles de flèches

Messagepar GMaths » Dimanche 24 Janvier 2010, 14:34

evariste_G a écrit:Bonjour. Page 136 du manuel PGF, on trouve des informations.
Merci. J'avais regardé mais j'étais passé à côté.

J'ai donc progressé. Un problème est réglé
et pour l'autre... j'ai tenté quelque chose sans succès :
Code: Tout sélectionner
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,on grid,semithick,
                    every state/.style={copy shadow={opacity=.5},tape,
                    fill=blue!20,draw=blue,thick}]
\node(O){};
\node[state] (A) [text width=5.5cm,text centered,above left=of O] {$(u_n)$ et $(v_n)$ monotones, une croissante, l'autre décroissante};
\node[state] (B) [below left=of O] {$\Lim[n]{+\infty}(u_n-v_n)=0$};
\node[state] (C) [right=of O] {$(u_n)$ et $(v_n)$ adjacentes};
\node[state] (D) [text width=4.5cm,text centered,right=of C,xshift=3cm] {$(u_n)$ et $(v_n)$ convergentes vers un même nombre $\ell$};
\draw[->,double distance=2pt] (C)--(D);
\draw[-,double distance=2pt] (A)to[bend right](O);
\draw[-,double distance=2pt] (B)to[bend left](O);
\draw[double distance=2pt] (O)--(C);
\draw[->,double distance=2pt] (C)to[bend left](B);
\draw[->,double distance=2pt] (C)to[bend right](A);
\draw[->,double distance=2pt] (D)to[bend left](B);
\end{tikzpicture}


2010-01-24_143100.png


Comment éviter le blanc ?
Avec un node {}, il doit bien y avoir un paramètre pour rendre nulle la distance entre le centre du node et le début (ou la fin) de flèche.

Avec la doc d'asymptote, on a eu mal à trouver des exemples...
et avec celle de pgf/tikz... il n'est pas facile non plus de s'y retrouver tant elle est vaste. :mrgreen:
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [TIKZ] Des styles de flèches

Messagepar GMaths » Dimanche 24 Janvier 2010, 15:01

En remplaçant, trois fois dans le code donné, (O) par (0,0)... c'est mieux mais :
  • un écart demeure
  • cela reste du bricolage
2010-01-24_145855.png
2010-01-24_145855.png (4.7 Kio) Vu 7467 fois


En zoomant, je me suis aperçu qu'il y a à redire sur la pointe des flèches.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [TIKZ] Des styles de flèches

Messagepar projetmbc » Dimanche 24 Janvier 2010, 15:02

J'm'en va de piquer ça.

Très sympa. J'utiliserais ce code pour mon site. Pour un cours, je trouve que cela est trop fun et pas assez austère. :wink:
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: [TIKZ] Des styles de flèches

Messagepar projetmbc » Dimanche 24 Janvier 2010, 15:03

GMaths a écrit:En zoomant, je me suis aperçu qu'il y a à redire sur la pointe des flèches.

Tant mieux, on économise un peu d'ancre...
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: [TIKZ] Des styles de flèches

Messagepar Altermundus » Dimanche 24 Janvier 2010, 15:10

GMaths a écrit:Bonjour,

message à l'attention des spécialistes de tikz

Mon problème ? Les flèches justement.
  • Comment puis-je réaliser des flèches d'implication ? (Mon problème est de savoir si un tel type (double trait) existe, et s'il n'existe pas, de le définir )
  • Comment puis-je réaliser une flèche qui partirait de deux "noeuds hypothèses" pour aller à un "noeud conclusion" ?

D'avance merci pour les suggestions.


Bonjour

Moi mon problème c'est de répondre à des trucs pareils! :) c'est vrai que je prends ma retraite l'an prochain
mais là je prends un coup de vieux, m'enfin ... allons-y ...

j'allais oublier que je suis en version 2.00 cvs pas sûr que cela fonctionne avec l'officielle

Code: Tout sélectionner
\documentclass[11pt]{article}
\usepackage{amsmath,tikz}
\usetikzlibrary{%
  arrows,%
  calc,%
  shapes.geometric,%
  shapes.misc,%
  shapes.symbols,%
  shapes.arrows,%
  automata,%
  through,%
  positioning,%
  scopes,%
  decorations.shapes,%
  decorations.text,%
  decorations.pathmorphing,%
  shadows}

\begin{document}
\begin{tikzpicture}[decoration={random steps,segment length=10mm},->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,on grid,semithick,
every state/.style={copy shadow={opacity=.5},tape,outer sep =10pt,
                    fill=blue!20,draw=blue,thick}]
\node(O){};
\node[state] (A) [text width=5.5cm,text centered,above left=of O] {$(u_n)$ et $(v_n)$ monotones, une croissante, l'autre décroissante};
\node[state] (B) [below left=of O] {$\lim[n]{+\infty}(u_n-v_n)=0$};
\node[state] (C) [right=of O] {$(u_n)$ et $(v_n)$ adjacentes};
\node[state] (D) [text width=4.5cm,text centered,right=of C,xshift=3cm] {$(u_n)$ et $(v_n)$ convergentes vers un même nombre $\ell$};
\draw[decorate,double,red,bend left,very thick,double distance=2pt,rounded corners=10pt] (A.north)  to (D.north);
\end{tikzpicture}
\end{document}   


Je n'ai pas viré les librairies non utilisées

Alain
Fichiers joints
fl_tordues.png
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: [TIKZ] Des styles de flèches

Messagepar projetmbc » Dimanche 24 Janvier 2010, 15:13

Altermundus a écrit:Moi mon problème c'est de répondre à des trucs pareils! :)

Mais tu le fais tellement bien. :wink:

Altermundus a écrit:je prends ma retraite l'an prochain

Du temps libre pour enrichir ton site...
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: [TIKZ] Des styles de flèches

Messagepar Altermundus » Dimanche 24 Janvier 2010, 15:21

projetmbc a écrit:
Altermundus a écrit:Moi mon problème c'est de répondre à des trucs pareils! :)

Mais tu le fais tellement bien. :wink:


merci mais je n'ai pas cherché à peaufiner sur ce coup !

Altermundus a écrit:je prends ma retraite l'an prochain

Du temps libre pour enrichir ton site...[/quote]

Ok que oui ! Je pense même que je vais enfin pouvoir travailler ! :)

Alain
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: [TIKZ] Des styles de flèches

Messagepar GMaths » Dimanche 24 Janvier 2010, 15:25

Altermundus a écrit:\draw[decorate,double,red,bend left,very thick,double distance=2pt,rounded corners=10pt] (A.north) to (D.north);

Vaut-il mieux ce genre de syntaxe ou celle que j'ai adoptée un peu plus haut ?
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [TIKZ] Des styles de flèches

Messagepar GMaths » Dimanche 24 Janvier 2010, 15:28

GMaths a écrit:
Altermundus a écrit:\draw[decorate,double,red,bend left,very thick,double distance=2pt,rounded corners=10pt] (A.north) to (D.north);

Vaut-il mieux ce genre de syntaxe ou celle que j'ai adoptée un peu plus haut ?


Cela m'a donné l'idée d'aller essayer O.center dans mon exemple mais le raccord des flèches n'est toujours pas correct.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [TIKZ] Des styles de flèches

Messagepar Altermundus » Dimanche 24 Janvier 2010, 15:47

GMaths a écrit:
Altermundus a écrit:\draw[decorate,double,red,bend left,very thick,double distance=2pt,rounded corners=10pt] (A.north) to (D.north);

Vaut-il mieux ce genre de syntaxe ou celle que j'ai adoptée un peu plus haut ?


Non ce que j'ai fait n'est pas beau, cela manque de style ! :)
oui un peu de style cela rend le code plus clair :
Code: Tout sélectionner
\begin{tikzpicture}[on grid,semithick,node distance=2.8cm,auto,
every state/.style={copy shadow={opacity=.5},tape,outer sep =6pt,
                    fill=blue!20,draw=blue,thick}]

\tikzset{fleche tordue/.style={decoration={random steps,segment length=10mm},->,>=stealth',shorten >=4pt, very thick,double,red,double distance=2pt,rounded corners=10pt}} 
               
\node(O){};
\node[state] (A) [text width=5.5cm,text centered,above left=of O] {$(u_n)$ et $(v_n)$ monotones, une croissante, l'autre décroissante};
\node[state] (B) [below left=of O] {$\lim[n]{+\infty}(u_n-v_n)=0$};
\node[state] (C) [right=of O] {$(u_n)$ et $(v_n)$ adjacentes};
\node[state] (D) [text width=4.5cm,text centered,right=of C,xshift=3cm] {$(u_n)$ et $(v_n)$ convergentes vers un même nombre $\ell$};
\draw[decorate,bend left,fleche tordue] (A.north)  to (D.north);

\end{tikzpicture} 
 


il reste à trouver les bons réglages pour "outer sep" "shorten" etc .. je n'aime pas trop le départ des flèches.

On peut aussi ajouter un "round cap" sinon voir dans la doc du cvs , page 613 et + , arrow shapes. Avec pgf,on peut définir ce que l'on veut.

Alain
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: [TIKZ] Des styles de flèches

Messagepar GMaths » Dimanche 24 Janvier 2010, 15:59

Altermundus a écrit:\tikzset{fleche tordue/.style={decoration={random steps,segment length=10mm},->,>=stealth',shorten >=4pt, very thick,double,red,double distance=2pt,rounded corners=10pt}}

Merci Alain, pour l'exemple de style.

Précision : tu as l'air d'avoir compris que je voulais une flèche tordue...
mais le côté tordu de ma flèche dans mon premier exemple, on ne le devait qu'au fait, qu'à la souris, je ne suis pas doué pour tracer une flèche courbe avec l'éditeur interne de fastone-capture. :lol:

Je ne savais pas en fait, faire une double flèche... car j'avais raté la page de la doc où il en était question. Maintenant, je sais : ajouter double, tout simplement. :D

Mais encore merci pour l'exemple de flèche tordue... cela servira... plus tard. :-)

Mon problème qui subsiste est d'avoir une jonction de trois flèches qui ait plus de gueule que cela :
2010-01-24_155809.png
2010-01-24_155809.png (1.55 Kio) Vu 7397 fois
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [TIKZ] Des styles de flèches

Messagepar Altermundus » Dimanche 24 Janvier 2010, 16:38

Bon il faut oublier le node en O
Code: Tout sélectionner
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,tikz}
\usetikzlibrary{%
  arrows,%
  calc,%
  shapes.geometric,%
  shapes.misc,%
  shapes.symbols,%
  shapes.arrows,%
  automata,%
  through,%
  positioning,%
  scopes,%
  decorations.shapes,%
  decorations.text,%
  decorations.pathmorphing,%
  shadows}

\begin{document}
\begin{tikzpicture}[on grid,semithick,node distance=2.8cm,auto,
every state/.style={copy shadow={opacity=.5},tape,outer sep =4pt,
                    fill=blue!20,draw=blue,thick}]

\tikzset{fleche/.style={->,>=stealth',shorten >=2pt, very thick,double,red,double distance=2pt,rounded corners=10pt}} 
               
\node(O){};
\node[state] (A) [text width=5.5cm,text centered,above left=of O] {$(u_n)$ et $(v_n)$ monotones, une croissante, l'autre décroissante};
\node[state] (B) [below left=of O] {$\lim[n]{+\infty}(u_n-v_n)=0$};
\node[state] (C) [right=of O] {$(u_n)$ et $(v_n)$ adjacentes};
\node[state] (D) [text width=4.5cm,text centered,right=of C,xshift=3cm] {$(u_n)$ et $(v_n)$ convergentes vers un même nombre $\ell$};
\draw[fleche] (A.north)  to [bend left] (D.north);
\draw[fleche] (C.east)to(D.west);
\draw[fleche] (C)to[bend right](A.east);
\draw[fleche] (C)to[bend left](B.east);
\draw[fleche] (D.south)to[bend left](B.south);
\draw[fleche,-,shorten >=6pt] (B.north)to[bend left](C.west);
\draw[fleche] (A.south)to[bend right](C.west);
\end{tikzpicture} 
\end{document} 


On trace d'abord un double trait sans flèche puis par dessus l'autre. Il faut noter le changement de style -> devient - qui cité après.
Alain
Fichiers joints
Capture d’écran 2010-01-24 à 16.36.47.png
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: [TIKZ] Des styles de flèches

Messagepar GMaths » Dimanche 24 Janvier 2010, 16:45

Altermundus a écrit:Bon il faut oublier le node en O

J'y avais bien sûr pensé... mais comme je voulais insister sur le fait qu'il faut les deux hypothèses pour conclure j'ai voulu le mettre pour avoir une fin de flèche commune.

Je crois que je vais plutôt ajouter un point noir sur la jonction... mais merci pour la suggestion.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [TIKZ] Des styles de flèches

Messagepar Altermundus » Dimanche 24 Janvier 2010, 17:14

GMaths a écrit:Je crois que je vais plutôt ajouter un point noir sur la jonction... mais merci pour la suggestion.


Mais il fallait le dire ! c'est la question qui est tordue !! :)
Code: Tout sélectionner
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,tikz}
\usetikzlibrary{%
  arrows,%
  calc,%
  shapes.geometric,%
  shapes.misc,%
  shapes.symbols,%
  shapes.arrows,%
  automata,%
  through,%
  positioning,%
  scopes,%
  decorations.shapes,%
  decorations.text,%
  decorations.pathmorphing,%
  shadows}

\begin{document}
\begin{tikzpicture}[on grid,semithick,node distance=2.8cm,auto,
every state/.style={copy shadow={opacity=.5},tape,outer sep =4pt,
                    fill=blue!20,draw=blue,thick}]

\tikzset{fleche/.style={->,>=stealth',shorten >=2pt, very thick,double,double distance=2pt}} 
               
\node(O){};
\node[state] (A) [text width=5.5cm,text centered,above left=of O] {$(u_n)$ et $(v_n)$ monotones, une croissante, l'autre décroissante};
\node[state] (B) [below left=of O] {$\lim[n]{+\infty}(u_n-v_n)=0$};
\node[state] (C) [right=of O] {$(u_n)$ et $(v_n)$ adjacentes};
\node[state] (D) [text width=4.5cm,text centered,right=of C,xshift=3cm] {$(u_n)$ et $(v_n)$ convergentes vers un même nombre $\ell$};
\draw[fleche] (A.north)  to [bend left] (D.north);
\draw[fleche] (C.east)to(D.west);
\draw[fleche] (C)to[bend right](A.east);
\draw[fleche] (C)to[bend left](B.east);
\draw[fleche] (D.south)to[bend left](B.south);
\draw[fleche,-,shorten >=16pt] (B.north)to[bend left](C.west);
\draw[fleche] (A.south)to[bend right](C.west);
\draw[>=stealth', very thick,white, line width = 2.2pt,-,shorten >=17pt] (B.north)to[bend left](C.west);
\end{tikzpicture} 
\end{document}


Bon le principe est que l'on efface mais il faudrait pour bien faire savoir les tailles exactes des épaisseurs.
Avec "line width" serait plus simple car j'oublie ce que valent les thick, thin and cie . Il faut simplement bien régler le truc.

Alain
Fichiers joints
Capture d’écran 2010-01-24 à 17.09.32.png
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: [TIKZ] Des styles de flèches

Messagepar GMaths » Dimanche 24 Janvier 2010, 17:26

Je vais regarder cela : merci, Alain.

Remarque : pour ton exemple, initial... tu as ajouté une flèche (choisie au hasard, pour illustrer la façon de faire les flèches), que tu répètes à chaque fois.
Précisons pour le lecteur qui passera par ici que nous savons que la flèche du haut n'est pas correcte d'un point de vue mathématique. :mrgreen:

Je précise aussi, pour le lecteur qui passera par ici, que l'affichage de la limite sera correct avec la définition suivante : \newcommand{\Lim}[2][x]{\displaystyle{\lim_{#1 \rightarrow #2}}}.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [TIKZ] Des styles de flèches

Messagepar Altermundus » Dimanche 24 Janvier 2010, 17:54

GMaths a écrit:Je vais regarder cela : merci, Alain.

Remarque : pour ton exemple, initial... tu as ajouté une flèche (choisie au hasard, pour illustrer la façon de faire les flèches), que tu répètes à chaque fois.
Précisons pour le lecteur qui passera par ici que nous savons que la flèche du haut n'est pas correcte d'un point de vue mathématique. :mrgreen:

Je précise aussi, pour le lecteur qui passera par ici, que l'affichage de la limite sera correct avec la définition suivante : \newcommand{\Lim}[2][x]{\displaystyle{\lim_{#1 \rightarrow #2}}}.


Oui je ne me suis occupé que du style des flèches !
J'étais intrigué par ce \Lim ! Je trouve qu'il y a déjà assez de macros et de primitives
à retenir avec TeX et LaTeX, si maintenant elles existent toutes en double, je comprends les doubles flèches :)

Code: Tout sélectionner
\node[state] (B) [below left=of O] {$\displaystyle{\lim_{x \rightarrow +\infty}} (u_n-v_n)=0$};

Pour pouvoir compiler un ECM, c'est plus simple non ?

Alain
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
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: Google Adsense [Bot], Grapeshot [Crawler] et 14 invités