Flèches "courbes" en LaTeX

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.

Flèches "courbes" en LaTeX

Messagepar Gaëlle N. » Mercredi 12 Mai 2010, 17:29

Bonjour,

je cherche depuis quelques heures à faire des flèches "courbes" pour illustrer les formules de simples et doubles développement.
Exemple :
k(a+b)=ka+kb
Je voudrais une flèche partant du k vers le a et une autre partant du k vers le b

J'ai finalement trouvé une idée en utilisant les packages pstricks et pst-node et en bidouillant un exemple trouvé ici : http://www.exomatik.net/U-Latex/Graphes

ça me donne ceci :

Code: Tout sélectionner
\begin{psmatrix}[colsep=1]
k &(& a +&b) \\
\end{psmatrix}

\psset{arrows=->,shortput=nab}
\ncarc[arcangle=20]{1,1}{1,3}
\ncarc[arcangle=20]{1,1}{1,4}


et j'obtiens

Image

Sauf que ça ne me convient pas encore totalement :

1) je n'ai obtenu ceci qu'avec un .dvi. Pas moyen d'obtenir un pdf. Si je veux compiler directement en pdf, ça plante, et si je copile le dvi en pdf, les flèches ont disparu.

2) Les écarts sont bien trop grands. J'ai bien entendu tenté de changer le "colsep=1" en 0.5, mais les flèches sont alors en partie cachées.


C'est surtout le problème numéro 1 qui m'empêche d'avancer. Le problème 2 est juste une histoire d'esthétique, sans doute modifiable en changeant l'angle des flèches, mais je n'ai pas encore essayé.

Merci d'avance de votre aide.
Gaëlle N.
Utilisateur
 
Messages: 3
Inscription: Mercredi 12 Mai 2010, 17:17
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Flèches "courbes" en LaTeX

Messagepar fp » Mercredi 12 Mai 2010, 17:38

Normal. Les instructions pstricks mettent des \special faisant appel à des commande PostScript qui ne sont pas compréhensibles par les lecteurs de PDF, donc la compilation en pdflatex va échouer.
Deux solutions à mon avis (mais il y aura peut-être d'autres avis plus éclairés que le mien sur ce forum) :

* essayer TikZ qui doit (devrait ?) vous permettre de réaliser la même chose (je ne connais pas TikZ)
* compiler en dvi puis, au choix, faire la conversion dvi -> ps -> pdf (grâce à dvips puis ps2pdf) ou directement dvi -> pdf (grâce à dvipdfm ou dvipdfmx).

FP.
Dernière édition par fp le Mercredi 12 Mai 2010, 18:09, édité 1 fois.
fp
Giga-utilisateur
 
Messages: 752
Inscription: Mercredi 24 Février 2010, 08:04
Statut actuel: Actif et salarié | Enseignant

Re: Flèches "courbes" en LaTeX

Messagepar Gaëlle N. » Mercredi 12 Mai 2010, 17:47

1) je ne connais pas du tout TikZ, jamais entendu parler avant aujourd'hui... Je dois dire que je ne connais de LaTeX que les bases.
2) avec la compilation dvi-> pdf mes flèches ont disparu. Par contre dvi->ps->pdf, ça semble en effet bien vouloir marcher, merci !

Juste un problème maintenant : je dois tenter de comprendre les outils utilisés (bêtement copiés-collés) parce que je voudrais que mes flèches soient en couleur.

Merci déjà de l'aide apportée !
Gaëlle N.
Utilisateur
 
Messages: 3
Inscription: Mercredi 12 Mai 2010, 17:17
Statut actuel: Actif et salarié | Enseignant

Re: Flèches "courbes" en LaTeX

Messagepar Altermundus » Mercredi 12 Mai 2010, 17:57

Gaëlle N. a écrit:Bonjour,

je cherche depuis quelques heures à faire des flèches "courbes" pour illustrer les formules de simples et doubles développement.
Exemple :
k(a+b)=ka+kb


Sauf que ça ne me convient pas encore totalement :

1) je n'ai obtenu ceci qu'avec un .dvi. Pas moyen d'obtenir un pdf. Si je veux compiler directement en pdf, ça plante, et si je copile le dvi en pdf, les flèches ont disparu.

2) Les écarts sont bien trop grands. J'ai bien entendu tenté de changer le "colsep=1" en 0.5, mais les flèches sont alors en partie cachées.

C'est surtout le problème numéro 1 qui m'empêche d'avancer. Le problème 2 est juste une histoire d'esthétique, sans doute modifiable en changeant l'angle des flèches, mais je n'ai pas encore essayé.

Merci d'avance de votre aide.


1) Pas moyen d'obtenir un pdf ? étrange je ne suis ni un spécialiste du dvi (que je n'aime pas) ni de pstricks ( que je n'utilise plus)
mais je peux le cas échéant donner une solution avec tikz qui fonctionne avec pdflatex.
Ce que je sais c'est qu'on ne peut pas compiler "simplement " du code pstricks avec pdflatex à moins de savoir utiliser des trucs comme pdftricks ou
ps4pdf mais si vous avez des difficultés pour passer du dvi au ps puis au pdf, il est sans doute préférable d'attendre un peu

Maintenant pour avoir un pdf si vous passez par latex et non pdflatex, il faut suivre la chaîne de compilation
latex , puis dvips, puis ps2pdf pour avoir un pdf.

2) c'est du pstricks et quelqu'un doit pouvoir répondre sur la liste car c'est largement employé

Avec tikz voici un exemple (qui existe aussi avec pstricks) qui montre le principe
http://www.texample.net/tikz/examples/global-nodes/

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

Re: Flèches "courbes" en LaTeX

Messagepar fp » Mercredi 12 Mai 2010, 18:25

Est-ce que l'une de ces deux solutions vous convient ?
Code: Tout sélectionner
    \begin{psmatrix}[colsep=3pt]
    k &(& a&+&b&) \\
    \end{psmatrix}

    \psset{arrows=->,shortput=nab}
    \ncbar[angle=90,nodesep=3pt,linecolor=green]{1,1}{1,3}
    \ncbar[angle=-90,nodesep=3pt,linecolor=red]{1,1}{1,5}

        \begin{psmatrix}[colsep=3pt]
    k &(& a&+&b&) \\
    \end{psmatrix}

    \psset{arrows=->,shortput=nab}
    \ncarc[arcangle=40,linecolor=green]{1,1}{1,3}
    \ncarc[arcangle=-40,linecolor=red]{1,1}{1,5}


FP.
fp
Giga-utilisateur
 
Messages: 752
Inscription: Mercredi 24 Février 2010, 08:04
Statut actuel: Actif et salarié | Enseignant

Re: Flèches "courbes" en LaTeX

Messagepar Gaëlle N. » Mercredi 12 Mai 2010, 18:45

La seconde convient en effet parfaitement par rapport à ce dont j'avais envie, merci beaucoup pour l'aide très rapide !

J'ai même réussi à faire la formule du double développement avec toutes ses flèches. Je ne recommencerai pas tous les jours parce que ça fait un sacré code, sans doute d'ailleurs pas du tout optimal, mais ça convient parfaitement à mon besoin du jour !

Merci à tous !
Gaëlle N.
Utilisateur
 
Messages: 3
Inscription: Mercredi 12 Mai 2010, 17:17
Statut actuel: Actif et salarié | Enseignant

Re: Flèches "courbes" en LaTeX

Messagepar cerise » Jeudi 13 Mai 2010, 07:03

Sinon, une idée alternative au cas où : il me semble que xymatrix, du package xy, permet de faire des choses de ce genre...
Il fallait être Newton pour apercevoir que la Lune tombe quand tout le monde voit bien qu'elle ne tombe pas.
Paul Valéry
cerise
Méga-utilisateur
 
Messages: 448
Inscription: Mercredi 08 Juin 2005, 17:03
Statut actuel: Actif et salarié

Re: Flèches "courbes" en LaTeX

Messagepar Altermundus » Jeudi 13 Mai 2010, 17:37

cerise a écrit:Sinon, une idée alternative au cas où : il me semble que xymatrix, du package xy, permet de faire des choses de ce genre...


Bonsoir

Il est vrai que xy est parfait pour un diagramme commutatif mais dans le cas présent, quelle idée d'utiliser psmatrix ou encore xymatrix. Il est plus intéressant de créer des flèches dans un texte quelconque et non dénaturé. Autrement dit, le but est de placer des ancres, par exemple dans le texte suivant mes ancres sont placées avec la macro \insertph

$k\hspace{1cm}(a+b)$

Code: Tout sélectionner
\documentclass{minimal}
\usepackage{tikz}
\usepackage[utf8]{inputenc}
\usepackage[upright]{fourier}
\newcommand{\insertph}[1]{%
 \tikz[remember picture] \node[inner sep=0pt,minimum height=10pt](#1){};}
 
\begin{document} 
$k\insertph{n1}\hspace{.5cm} (\insertph{n2}a+\insertph{n3}b)$ 

\tikz[remember picture,overlay]\draw[->,blue] (n1.north) to[out=45,in=145]  (n2.north);
\tikz[remember picture,overlay]\draw[->,red] (n1.north) to[out=50,in=135]  (n3.north);   
\end{document}       


cela fonctionne avec pdflatex, le texte n'est pas altéré
Alain Matthes
Fichiers joints
Capture d’écran 2010-05-13 à 18.20.45.png
Capture d’écran 2010-05-13 à 18.20.45.png (7.17 Kio) Vu 4227 fois
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: Flèches "courbes" en LaTeX

Messagepar projetmbc » Jeudi 13 Mai 2010, 18:36

Bonsoir,
dans la dernière solution pourrait-on avoir des flèches avec un point culminant plus haut ?
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Flèches "courbes" en LaTeX

Messagepar Altermundus » Jeudi 13 Mai 2010, 19:11

projetmbc a écrit:Bonsoir,
dans la dernière solution pourrait-on avoir des flèches avec un point culminant plus haut ?


On peut exagérer les effets :) !
Code: Tout sélectionner
\tikz[remember picture,overlay]\draw[->,blue] (n1.north) to[out=80,in=110,distance=1cm]  (n2.north);
\tikz[remember picture,overlay]\draw[->,red] (n1.north) to[out=80,in=110,distance=1.5cm]  (n3.north);



Alain
Fichiers joints
Capture d’écran 2010-05-13 à 20.10.07.png
Capture d’écran 2010-05-13 à 20.10.07.png (7.86 Kio) Vu 4195 fois
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: Flèches "courbes" en LaTeX

Messagepar projetmbc » Jeudi 13 Mai 2010, 22:17

Altermundus a écrit:On peut exagérer les effets :) !

Belle exagération ! :mrgreen: Merci.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
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: Bing [Bot], Google [Bot], Google Adsense [Bot], Google Feedfetcher, Grapeshot [Crawler], Proximic [Spider] et 38 invités