Wiki Forum

Flèches entre deux lignes pour résolution d'équation

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

Modérateur: Modérateurs_LaTeX

Règles du forum
Merci d'éviter le style SMS dans vos messages. Penser à utiliser les balises Code pour poster du code.
Penser à utiliser la fonction Recherche avant de poster un message.

Flèches entre deux lignes pour résolution d'équation

Messagede gilles le Jeudi 04 Février 2010, 11:11

Bonjour à tous,
voilà mon problème : je voudrais pouvoir, dans un environnement align* (par exemple), pouvoir rajouter de chaque côté une flèche verticale indiquant l'opération effectuée.
Un vilain dessin valant mieux qu'un mauvais discours, je voudrais donc ça :

Image

J'ai pensé à pst-node, que je ne maîtrise pas, j'ai pensé à bidouiller directement en surélevant une flèche, c'est très moche. J'ai surtout pensé que je n'étais sans doute pas le premier à vouloir faire ça.

Un esprit lumineux aurait-il une solution, un package, un environnement magique à me proposer ?

Gilles
gilles
Déca-utilisateur
 
Messages: 16
Inscription: Dimanche 04 Octobre 2009, 20:36
Statut actuel: Actif et salarié | Enseignant

Re: flèches entre deux lignes pour résolution d'équation

Messagede rebouxo le Jeudi 04 Février 2010, 14:28

une extension je ne pense pas, mais un avec des nodes, c'est faisable :
Si personne ne répond d'ici se soir je te ferais cela.

Bon, moi, j'écrirais mon -2x des deux côtés du signe =, mais c'est qu'un avis. :D

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 4489
Inscription: Mercredi 15 Février 2006, 14:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: flèches entre deux lignes pour résolution d'équation

Messagede evariste_G le Jeudi 04 Février 2010, 14:38

Bonjour.
Alain Matthes a fait un package utilisant tikz permettant cela ; il me semble que c'est tkz-linknodes.sty, téléchargeable sur http://www.altermundus.fr.
evariste_G
Méga-utilisateur
 
Messages: 351
Inscription: Vendredi 19 Décembre 2008, 20:13
Statut actuel: Post-bac

Re: flèches entre deux lignes pour résolution d'équation

Messagede Altermundus le Jeudi 04 Février 2010, 17:16

evariste_G a écrit:Bonjour.
Alain Matthes a fait un package utilisant tikz permettant cela ; il me semble que c'est tkz-linknodes.sty, téléchargeable sur http://www.altermundus.fr.


Exact mais cela fait partie aussi de TL2009 et c'est également sur CTAN
http://www.ctan.org/tex-archive/macros/latex/contrib/tkz-linknodes/

C'est un package qui est né d'une idée de Philippe Ivaldi

Alain
Altermundus
Méga-utilisateur
 
Messages: 369
Inscription: Lundi 28 Mai 2007, 10:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: flèches entre deux lignes pour résolution d'équation

Messagede gilles le Jeudi 04 Février 2010, 19:50

Merci pour vos réponses...
bon, pour l'instant je n'arrive pas à faire fonctionner les exemples trouvés sur altermundus.fr, mais je ne désespère pas (problème d'xkeyval à la compilation)
Il faut dire que je suis habitué à pstricks et que je ne connais pas du tout tikz (ceci n'est pas le début d'un troll, mais peut-être d'une conversion).
Quant au -2x de chaque côté, je me doutais (j'espérais) que j'aurais la remarque. Pour l'instant,à mes petits collégiens, je fais d'abord écrire l'opération, puis je leur fait écrire sur le côté entre deux lignes (d'où la question), puis plus rien du tout. Je ne sais pas ce que ça vaut pédagogiquement, d'ailleurs si vous avez des solutions vous paraissant plus efficaces, je suis preneur. Mais ne nous égarons pas !
J'essaie donc de faire fonctionner tout ça et je reviens vous donner des nouvelles.

Gilles
gilles
Déca-utilisateur
 
Messages: 16
Inscription: Dimanche 04 Octobre 2009, 20:36
Statut actuel: Actif et salarié | Enseignant

Re: flèches entre deux lignes pour résolution d'équation

Messagede rebouxo le Jeudi 04 Février 2010, 20:10

Bon allons-y pour un peu de pstricks (cela dit l'erreur de xkeyval me semble bizarre, et risque de nous poser des problèmes).

Code: Tout sélectionner
\begin{aligned}
% on place les nodes (d'autres modèles en stock voir pstricks-doc.pdf)
\rnode{A}{} 3x & = 2x+1 \rnode{B}{} \\
\rnode{C}{} 3x-2x = 1 \rnode{D}{}\\
% on place maintenant les connections (ici il faudra vraiment voir la doc) !
% Puis on place les labels
\ncarc{->}{A}{C}\aput{$- 2x$}
\ncarc{->}{B}{D}\aput{$- 2x$}
\end{aligned}


C'est pas testé, mais c'est dans l'idée. La doc pstricks devrait être sur ton disque, un petit coup de texdoc pstricks en ligne de commande pour la trouver. C'est alors p. 72.

J'ai pas d'autre idée (si j'en avais une brillante je la vendrais :mrgreen: ). Ce qui m'a fait réagir c'est de le faire des deux côtés ? Est-ce vraiment utile ? Tiens cela me fait penser que si cela revient souvent, il faudrait automatiser la proposition (enfin dès qu'elle fonctionnera).

Bonne soirée
Olviier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 4489
Inscription: Mercredi 15 Février 2006, 14:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: flèches entre deux lignes pour résolution d'équation

Messagede gilles le Jeudi 04 Février 2010, 20:19

merci bien, je vais tester ça très vite.
La solution pstricks me plairait plus, rapport à mon obédience secrète à ce package.
Pour le -2x de chaque côté, revenons à la génèse, au diable l'amour-propre.
Je passe mon temps à dessiner (avec plus ou moins de bonheur, suivant que j'ai un tableau numérique ou non) des balances équilibrées pour bien expliquer qu'on fait les opérations de c-h-a-q-u-e c-ô-t-é en insistant très fort avec les bras, un peu comme si je carressais une sphère de 3 mètres de diamètre, vous voyez. Ces deux flèches arrondies de part et d'autre des équations ne seraient donc que les extensions du domaine de mes bras sur les feuilles des élèves.
Voilà, j'ai tout dit, il ne me reste plus qu'à tester.
gilles
Déca-utilisateur
 
Messages: 16
Inscription: Dimanche 04 Octobre 2009, 20:36
Statut actuel: Actif et salarié | Enseignant

Re: flèches entre deux lignes pour résolution d'équation

Messagede gilles le Jeudi 04 Février 2010, 21:28

bon, après quelques menues corrections (aput doit être Aput, pas trop compris pourquoi dans la doc), avec ce code :
Code: Tout sélectionner
$
\begin{aligned}
\rnode{A}{} \quad 3x & = 2x+1 \quad \rnode{B}{} \\
\rnode{C}{} \quad 3x-2x &= 1 \quad \rnode{D}{}\\
\ncarc{->}{A}{C}
\Aput{- 2x}
\ncarc{->}{B}{D}
\Aput{- 2x}
\end{aligned}
$

ça donne :
Image
ce qui est peu satisfaisant. Le travail pour "tabuler" les nodes afin qu'ils soient l'un dessous l'autre me parait bien ardu.
Voilà sans doute la raison de l'existence de tikz-linknodes...
Mais je vais quand même continuer à chercher.
gilles
Déca-utilisateur
 
Messages: 16
Inscription: Dimanche 04 Octobre 2009, 20:36
Statut actuel: Actif et salarié | Enseignant

Re: flèches entre deux lignes pour résolution d'équation

Messagede Altermundus le Jeudi 04 Février 2010, 22:17

Tout d'abord avec tkz-linknodes, on ne met des flèches que d'un côté
Il faut un xkeyval de 2005 voir ci-dessous et pdftex >=1.40 (j'avoue que
je ne sais plus pourquoi ... TL2008 ou 2009 font l'affaire


Code: Tout sélectionner
\documentclass[]{article}
\usepackage[utf8]{inputenc}
\usepackage[upright]{fourier}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Les packages suivants sont nécessaires
% mais chargés par linknodes.sty
% \usepackage{xkeyval}[2005/11/25]
% \usepackage{tikz}[2007/06/07]% v 1.18
% \usepackage{amsmath}
% \usetikzlibrary{arrows} 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{tkz-linknodes}
\thispagestyle{empty}

\begin{document}

\parindent=0pt


\medskip
\begin{NodesList}
  \begin{displaymath}
    \begin{aligned}
      3x &= 2x+1                                          \AddNode\\
        3x-2x  &= 1                                       \AddNode
      \end{aligned}
  \end{displaymath}
  \LinkNodes{$-2x$}%
\end{NodesList}

\end{document}
% Encoding : utf8
% Author   : Alain Matthes (2008)
% Engine   : pdfLaTeX (LaTeX only with pdftex >= 1.40)
% Packages : xkeyval, tikz with arrow library, amsmath, etex, ifthen
% Remark   : needs two compilations


Alain
Fichiers joints
Capture d’écran 2010-02-04 à 21.12.43.png
Capture d’écran 2010-02-04 à 21.12.43.png (7.45 Ko) Vu 489 fois
Altermundus
Méga-utilisateur
 
Messages: 369
Inscription: Lundi 28 Mai 2007, 10:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: flèches entre deux lignes pour résolution d'équation

Messagede un bon petit le Jeudi 04 Février 2010, 23:18

Je propose un code simple en pstricks qui imite ce que fait le package de Alain :
Code: Tout sélectionner
\documentclass{article}
\usepackage{amsmath}
\usepackage{pstricks,pst-node}
\begin{document}
$
\begin{aligned}
3x & = 2x+1\Rnode{A}{}\\
3x-2x &= 1\Rnode{B}{}
\ncbar[nodesep=1ex,arm=10ex]{->}{A}{B}\Aput{-2x}
\end{aligned}
$
\end{document}
un bon petit
Kilo-utilisateur
 
Messages: 113
Inscription: Vendredi 12 Juin 2009, 22:35
Statut actuel: Actif et salarié | Enseignant

Re: flèches entre deux lignes pour résolution d'équation

Messagede gilles le Jeudi 04 Février 2010, 23:23

:D je savais que ce moment viendrait...
Merci beaucoup, je trouve ça parfait !
gilles
Déca-utilisateur
 
Messages: 16
Inscription: Dimanche 04 Octobre 2009, 20:36
Statut actuel: Actif et salarié | Enseignant

Re: flèches entre deux lignes pour résolution d'équation

Messagede rebouxo le Jeudi 04 Février 2010, 23:23

gilles a écrit:merci bien, je vais tester ça très vite.
La solution pstricks me plairait plus, rapport à mon obédience secrète à ce package.
Pour le -2x de chaque côté, revenons à la génèse, au diable l'amour-propre.
Je passe mon temps à dessiner (avec plus ou moins de bonheur, suivant que j'ai un tableau numérique ou non) des balances équilibrées pour bien expliquer qu'on fait les opérations de c-h-a-q-u-e c-ô-t-é en insistant très fort avec les bras, un peu comme si je carressais une sphère de 3 mètres de diamètre, vous voyez. Ces deux flèches arrondies de part et d'autre des équations ne seraient donc que les extensions du domaine de mes bras sur les feuilles des élèves.
Voilà, j'ai tout dit, il ne me reste plus qu'à tester.


:D :D :D :D :D
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 4489
Inscription: Mercredi 15 Février 2006, 14:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: flèches entre deux lignes pour résolution d'équation

Messagede Djorgeo le Jeudi 04 Février 2010, 23:49

Bonsoir à tous, j'ai complété le code de un bon petit pour avoir une flèche de chaque côté (préférence personnelle).

Code: Tout sélectionner
\documentclass{article}
\usepackage{amsmath}
\usepackage{pstricks,pst-node}
\begin{document}
$
\begin{aligned}
\Rnode{C}{} 3x & = 2x+1\Rnode{A}{}\\
\Rnode{D}{} 3x-2x &= 1\Rnode{B}{}
\ncbar[nodesep=1ex,arm=10ex]{->}{A}{B}\Aput{-2x}
\ncbar[nodesep=-1ex,arm=-10ex]{->}{C}{D}\Bput{-2x}
\end{aligned}
$
\end{document}


Bonne soirée
Joffrey
Djorgeo
Hecto-utilisateur
 
Messages: 50
Inscription: Lundi 11 Juin 2007, 14:35
Localisation: Vichy

Re: flèches entre deux lignes pour résolution d'équation

Messagede Altermundus le Vendredi 05 Février 2010, 00:26

gilles a écrit::D je savais que ce moment viendrait...
Merci beaucoup, je trouve ça parfait !


Je tiens seulement à signaler que tikz n'est pas apparent avec tkz-linknode qui est un package latex qui joue le rôle d'interface.
Ensuite avec ce package, il est possible de gérer un enchainement de lignes et de flèches. La position des différentes flèches, dans ce cas est géré au mieux, ce qui risque d'être lourd en le faisant à la main.

Voir les quelques exemples un peu plus compliqués de la doc.
Alain
Altermundus
Méga-utilisateur
 
Messages: 369
Inscription: Lundi 28 Mai 2007, 10:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: flèches entre deux lignes pour résolution d'équation

Messagede un bon petit le Vendredi 05 Février 2010, 00:32

Un code, un peu plus performant :

Code: Tout sélectionner
\documentclass{article}
\usepackage{amsmath}
\usepackage{pstricks,pst-node}
\makeatletter
\newcommand\add@node[2]{%
   \rput(0,0.75ex){\Rnode{#2u@#1}{\vphantom(}}
   \rput(0,0.35ex){\Rnode{#2d@#1}{\vphantom(}}}
\newcommand\addLnode[1]{\add@node{#1}l}
\newcommand\addRnode[1]{\add@node{#1}r}
\newcommand\linkRnode[3]{\ncbar[angleA=0,angleB=0,arm=5ex]{->}{rd@#1}{ru@#2}\naput{#3}}
\newcommand\linkLnode[3]{\ncbar[angleA=180,angleB=180,arm=5ex]{->}{ld@#1}{lu@#2}\nbput{#3}}
\newcommand\linkboth[3]{\linkRnode{#1}{#2}{#3}\linkLnode{#1}{#2}{#3}}
\makeatother
\begin{document}
$
\begin{aligned}
7x-4    &=5x+12  &\addRnode{A}\\
7x-4-5x &=12     &\addRnode{B}\linkRnode{A}{B}{-5x}\\
2x      &=12+4   &\addRnode{C}\linkRnode{B}{C}{+4}\\
x       &=16\div4&\addRnode{D}\linkRnode{C}{D}{\div4}
\end{aligned}$

$
\begin{aligned}
\addLnode{A}&&7x-4    &=5x+12  &\addRnode{A}\\
\addLnode{B}&&7x-4-5x &=12     &\addRnode{B}\linkboth{A}{B}{-5x}\\
\addLnode{C}&&2x      &=12+4   &\addRnode{C}\linkboth{B}{C}{+4}\\
\addLnode{D}&&x       &=16\div4&\addRnode{D}\linkboth{C}{D}{\div4}
\end{aligned}$

\renewcommand\linkRnode[3]{\ncdiag[angleA=0,angleB=0,arm=.5,linearc=.2]{->}{rd@#1}{ru@#2}\naput{#3}}
\renewcommand\linkLnode[3]{\ncdiag[angleA=180,angleB=180,arm=.5,linearc=.2]{->}{ld@#1}{lu@#2}\nbput{#3}}
$
\begin{aligned}
\addLnode{A}&&7x-4    &=5x+12  &\addRnode{A}\\
\addLnode{B}&&7x-4-5x &=12     &\addRnode{B}\linkboth{A}{B}{-5x}\\
\addLnode{C}&&2x      &=12+4   &\addRnode{C}\linkboth{B}{C}{+4}\\
\addLnode{D}&&x       &=16\div4&\addRnode{D}\linkboth{C}{D}{\div4}
\end{aligned}$
\end{document}
un bon petit
Kilo-utilisateur
 
Messages: 113
Inscription: Vendredi 12 Juin 2009, 22:35
Statut actuel: Actif et salarié | Enseignant

Re: Flèches entre deux lignes pour résolution d'équation

Messagede Djorgeo le Mardi 23 Février 2010, 15:37

Bonjour, j'essaie d'obtenir la même chose avec tkz-linknodes mais je ne peux pas avoir la flèche de l'autre côté est-ce-possible ?
J'ai essayé de rentrer dans le .sty, pour créer une nouvelle commande \addNode qui dessinerait les les flèches à gauche, sans succès.

Merci

Joffrey
Djorgeo
Hecto-utilisateur
 
Messages: 50
Inscription: Lundi 11 Juin 2007, 14:35
Localisation: Vichy

Re: Flèches entre deux lignes pour résolution d'équation

Messagede Altermundus le Mardi 23 Février 2010, 19:14

Djorgeo a écrit:Bonjour, j'essaie d'obtenir la même chose avec tkz-linknodes mais je ne peux pas avoir la flèche de l'autre côté est-ce-possible ?
J'ai essayé de rentrer dans le .sty, pour créer une nouvelle commande \addNode qui dessinerait les les flèches à gauche, sans succès.

Merci

Joffrey



Non ce n'est pas prévu et là je n'ai pas vraiment le temps.
Le code est un peu plus compliqué que ce qui a été proposé
car quand une flèche arrive seule sur une ligne, elle arrive
sur la ligne de base, sinon elles sont positionnées pour ne pas se toucher
automatiquement.
On peut sauter des lignes, on peut
positionner le texte où on veut, on peut faire des liens
avec des environnements enchevêtrés etc ..
les flèches sont placées en fonction de la distance entre
l'environnement et la marge droite
et surtout on n'a pas besoin de donner un nom aux nodes.

Tout cela pour dire que je ne peux proposer une solution en
quelques heures pour obtenir la même chose à gauche.
Le code n'est pas très long mais il y a un peu de boulot
et j'avoue que je ne suis pas très motivé pour mettre
du code à gauche

Désolé
Alain
Altermundus
Méga-utilisateur
 
Messages: 369
Inscription: Lundi 28 Mai 2007, 10:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: Flèches entre deux lignes pour résolution d'équation

Messagede Djorgeo le Mardi 23 Février 2010, 19:23

Altermundus a écrit :Non ce n'est pas prévu et là je n'ai pas vraiment le temps.
Le code est un peu plus compliqué que ce qui a été proposé
car quand une flèche arrive seule sur une ligne, elle arrive
sur la ligne de base, sinon elles sont positionnées pour ne pas se toucher
automatiquement.
On peut sauter des lignes, on peut
positionner le texte où on veut, on peut faire des liens
avec des environnements enchevêtrés etc ..
les flèches sont placées en fonction de la distance entre
l'environnement et la marge gauche
et surtout on n'a pas besoin de donner un nom aux nodes.

Tout cela pour dire que je ne peux proposer une solution en
quelques heures pour obtenir la même chose à droite.
Le code n'est pas très long mais il y a un peu de boulot
et j'avoue que je ne suis pas très motivé pour mettre
du code à gauche

Désolé
Alain


Tant pis pour moi je vais tenter de bidouiller tout seul

Joffrey
Djorgeo
Hecto-utilisateur
 
Messages: 50
Inscription: Lundi 11 Juin 2007, 14:35
Localisation: Vichy

Re: Flèches entre deux lignes pour résolution d'équation

Messagede Djorgeo le Mercredi 24 Février 2010, 16:22

Bonjour, finalement, je me passerai de tkz-linknodes, je galère trop :cry: :cry:
Je reviens à pstricks.

Merci quand même

Joffrey
Djorgeo
Hecto-utilisateur
 
Messages: 50
Inscription: Lundi 11 Juin 2007, 14:35
Localisation: Vichy

Re: Flèches entre deux lignes pour résolution d'équation

Messagede Djorgeo le Mercredi 24 Février 2010, 18:53

Re,
remotivé, j'ai repris les docs et j'ai trouvé une solution alternative a tkz-linknodes.
Le code est moins beau, mais j'ai les flèches des deux côtés :D

Code: Tout sélectionner
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}

\begin{center}
\renewcommand{\arraystretch}{1.8}
\begin{tabular}{lrcll}
{\tikz[remember picture]\node (g1){};}& $3x+7$ & $=$ & $2-2x$ & {\tikz[remember picture]\node (d1){};} \\
{\tikz[remember picture]\node (g2){};}& $5x+7$ & $=$ & $2$ & {\tikz[remember picture]\node (d2){};} \\
{\tikz[remember picture]\node (g3){};}& $5x$ & $=$ & $-5$ & {\tikz[remember picture]\node (d3){};} \\
{\tikz[remember picture]\node (g4){};}& $x$ & $=$ & $-1$ & {\tikz[remember picture]\node (d4){};} \\
\end{tabular}
\end{center}

\begin{tikzpicture}[remember picture,overlay]
   \path[draw,->] (g1.east) -- ($(g1.east)+(-1,0)$) -- ($(g2.east)+(-1,0.05)$) node[midway, fill=white] {$+2x$} -- ($(g2.east)+(0,0.05)$);
   \path[draw,->] ($(g2.east)+(0,-0.05)$) -- ($(g2.east)+(-1,-0.05)$) -- ($(g3.east)+(-1,0.05)$) node[midway, fill=white] {$-7$} -- ($(g3.east)+(0,0.05)$);
   \path[draw,->] ($(g3.east)+(0,-0.05)$) -- ($(g3.east)+(-1,-0.05)$) -- ($(g4.east)+(-1,0)$) node[midway, fill=white] {$\div 5$} -- ($(g4.east)$);
   
   \path[draw,->] (d1.west) -- ($(d1.west)+(1,0)$) -- ($(d2.west)+(1,0.05)$) node[midway, fill=white] {$+2x$} -- ($(d2.west)+(0,0.05)$);
   \path[draw,->] ($(d2.west)+(0,-0.05)$) -- ($(d2.west)+(1,-0.05)$) -- ($(d3.west)+(1,0.05)$) node[midway, fill=white] {$-7$} -- ($(d3.west)+(0,0.05)$);
   \path[draw,->] ($(d3.west)+(0,-0.05)$) -- ($(d3.west)+(1,-0.05)$) -- ($(d4.west)+(1,0)$) node[midway, fill=white] {$\div 5$} -- ($(d4.west)$);
\end{tikzpicture}

\end{document}


Joffrey
Djorgeo
Hecto-utilisateur
 
Messages: 50
Inscription: Lundi 11 Juin 2007, 14:35
Localisation: Vichy

Suivante

Retourner vers LaTeX

Qui est en ligne

Utilisateurs parcourant ce forum: Baidu [Spider] et 2 invités

cron