Tableau de proportionnalité et flèches

Salut à tous, j'ai farfouillé dans le net pour trouver des lignes de codes qui me font des flèches pour joindre des cellules d'un tableau de proportionnalité, horizontalement et verticalement. Pour le côté vertical avec coeff de proportionnalité je m'en sors honorablement, mais alors pour le côté horizontal c'est difficile.

J'ai trouvé ce code là et voilà ce que ça donne (fichier joint)
\begin{tikzpicture}
\tkzTabInit[espcl=0.5]{ Masse de chocolat /1,Masse de cacao /1}%
{$100$,,$250$}%
\tkzTabLine{$54$,,,,\textcolor{red}{?}}%
\makeatletter\foreach \x in {1}{%
\setcounter{tkz@cnt@pred}{\x}\addtocounter{tkz@cnt@pred}{\x}
\draw (N\thetkz@cnt@pred 0.center) to (N\thetkz@cnt@pred 2.center);}\makeatother
\begin{scope}[->,red,line width=1pt,>=latex]
\draw (M20) to [bend left] node[above]{$\times 2,5$} (4.5,0);
\draw (M22) to [bend right] node[below]{$\times 2,5$} (4.5,-2);
\end{scope}
\end{tikzpicture}
et je n'arrive pas à faire en sorte que ces flèches commencent au bon endroit .. j'ai essayé de changer les paramètres mais rien ne semble marcher, la flèche commence toujours à la 2ème colonne chiffrée ... (au départ il y avait beaucoup plus de colonnes).

Si vous avez une idée ... merci !101950

Réponses

  • Il faut modifier les coordonnées de départ et d'arrivée des flèches (dans les deux lignes qui commencent par \draw).

    Tu peux par exemple essayer ça :

    \draw (N10) to [bend left] node[above]{$\times 2,5$} (N30);
    \draw (2.5,-2) to [bend right] node[below]{$\times 2,5$} (3.5,-2);
  • Merci c'est génial ça marche du tonnerre, je ne savais pas qu'on pouvait mettre les coordonnées ainsi, suis très content.

    J'aurais encore une ou deux questions par la suite :
    \begin{tikzpicture}
    \tkzTabInit[espcl=0.5]{Temps ($min$) /1,Distance\\($m$) /1}%
    {$5$,,$10$}%
    \tkzTabLine{$400$,,,,\textcolor{red}{?}}%
    \makeatletter\foreach \x in {1}{%
    \setcounter{tkz@cnt@pred}{\x}\addtocounter{tkz@cnt@pred}{\x}
    \draw (N\thetkz@cnt@pred 0.center) to (N\thetkz@cnt@pred 2.center);}\makeatother
    \begin{scope}[->,red,line width=1pt,>=latex]
    \draw (N10) to [bend left] node[above]{$\times2$} (N30); 
    \draw (2.5,-2) to [bend right] node[below]{$\times 2$} (3.5,-2);
    \end{scope}
    \end{tikzpicture}
    

    Comment faire pour que la première colonne soit plus large ? J'aimerais que les unités soient sur la même ligne. MErci encore !!101958
  • Etrangement mon 400 entre dollars n'est pas considéré ainsi ... ?
  • De rien !

    Tu peux modifier la largeur de la première colonne avec l'option lgt (l'unité est le cm). Par exemple :
    \tkzTabInit[espcl=0.5, lgt=3]{Temps ($min$) /1,Distance ($m$) /1}%
    {$5$,,$10$}%
    

    C'est très bien expliqué dans la documentation [TKZdoc-tab.pdf].
  • Pour ce genre de chose, j'aime bien les matrices TikZ.
    \documentclass[tikz, border=1mm]{standalone}
    \usetikzlibrary{matrix}
    
    \colorlet{mongris}{gray!15}
    
    \begin{document}
    \begin{tikzpicture}
      \matrix (M) [
        matrix of nodes,
        row sep =-\pgflinewidth,
        column sep = -\pgflinewidth,
        execute at begin cell=\strut,
        execute at empty cell={\node{\strut};},
        nodes={rectangle, draw, anchor=center, minimum width=5em,
               minimum height=6.3ex},
        column 1/.style={nodes={text width=2cm, align=center, fill=mongris}},
      ]
      {
        Masse de chocolat & $100$ & $250$ \\
        Masse de cacao    & $54$  & ?     \\
      };
      \begin{scope}[->, red!80!black, myshift/.initial=0.8ex]
        \draw ([yshift=\pgfkeysvalueof{/tikz/myshift}]M-1-2.north) to[bend left]
              node[above] {$\mskip-\medmuskip {} \times 2{,}5$}
              ([yshift=\pgfkeysvalueof{/tikz/myshift}]M-1-3.north);
        \draw ([xshift=\pgfkeysvalueof{/tikz/myshift}]M-1-3.east) to[bend left]
              node[ right] {$\! {} \times 0{,}54$}
              ([xshift=\pgfkeysvalueof{/tikz/myshift}]M-2-3.east);
      \end{scope}
    \end{tikzpicture}
    \end{document}
    
    101974
  • Un grand merci pour tout, ça marche impec ! Bonne journée !!
  • De rien. J'ai remplacé le \mkern par \mskip. Ici, ça ne change rien, mais si quelqu'un recopie ça dans une formule qui n'est pas composée à sa largeur naturelle, \mskip fera un meilleur boulot de suppression de l'espace à gauche du signe $\times$ (ici, je fais ça pour que le $\! {} \times 2{,}5$ soit bien centré par rapport à la flèche du haut).

    Edit : au passage, je viens de répondre un petit peu à cette question de Calli. Il fallait bien savoir que $\times$, en tant qu'opérateur binaire, a un \medmuskip à sa gauche et à sa droite pour pouvoir faire ce centrage correctement sans tâtonner.
Connectez-vous ou Inscrivez-vous pour répondre.