Flèche vers le haut et vers le bas

Bonjour
Une fois de plus, je suis confronté à une nouvelle difficulté (une de plus !).
J'essaie de caser dans un tableau qui contiendra plusieurs lignes, une flèche vers le haut et une flèche vers le bas partant d'un même point.
J'ai programmé le code suivant.
\begin{center}
\begin{tabular}{|ccc|}
\hline
			 &  &$ 10^{50}-10^{100}$\\
\og$+\infty-(+\infty)$\fg  & $\nearrow$ $\searrow$&\\
		 &  &$ 10^{100}-10^{50}$\\
\hline
\end{tabular}
\end{center}
Comme vous pouvez le voir, ça ne correspond pas du tout à ce que j'attendais... (Cf pièce jointe).
Je ne pose plus la question si c'est possible... mais comment faire ce genre de trucs, qui peut-être très utile pour les valeurs absolues, quand on envisage deux cas possibles...

[Contenu du pdf joint. AD]83658

Réponses

  • Bonjour,

    On pourrait déplacer verticalement les flèches avec \raisebox (c'est fait dans l'exemple ci-dessous, qui utilise cependant une approche différente de la tienne, sans tabular — c'est discutable). Spontanément, avec les choses prévues par LaTeX2e pour manipuler les longueurs et les boîtes, je ferais comme ça :
    \documentclass[a4paper,11pt,french]{article}
    \usepackage{lmodern}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{babel}
    \usepackage{textcomp}
    \usepackage{xspace}
    \usepackage{calc}
    
    \begin{document}
    \newlength{\mhautSea}%
    \newlength{\hauteur}%
    \setlength{\mhautSea}{0pt}%
    \settoheight{\hauteur}{$\searrow$}%
    % \mhautSea donne l'opposé de la hauteur de \searrow
    \addtolength{\mhautSea}{-\hauteur}%
    %
    \newsavebox{\boitesup}%
    \newsavebox{\boiteinf}%
    \sbox{\boitesup}{$\nearrow$\raisebox{\heightof{$\nearrow$}}{~$10^{50}-10^{100}$}}%
    \sbox{\boiteinf}{$\searrow$\raisebox{\mhautSea}{~$10^{100}-10^{50}$}}%
    %
    \og $+\infty-(+\infty)$ \fg
    ~% on laisse exprès une espace insécable
    \makebox[0pt][l]{\raisebox{\heightof{$(+\infty)$}}{\usebox{\boitesup}}}%
    \raisebox{\mhautSea}{\usebox{\boiteinf}}
    \end{document}
    
    Je suis certain que l'on peut écrire cela plus élégamment et de manière bien plus souple avec TikZ (forme, taille des flèches...), mais ce n'est pas moi le gourou TikZ ici. :-P

    Noter l'utilisation du package xspace, qui coopère bien avec les commandes \og et \fg de babel-french.
  • Spontanément, j'utiliserais volontiers xy pour produire ceci (un fichier probablement peu durable).
    \documentclass{article}
    \usepackage[french]{babel}
    \usepackage[all]{xy}
    \begin{document}
    \[\xymatrix@C3cm{&10^{50}-10^{100}\\\hbox{\og}(+\infty)-(+\infty)\hbox{\fg}\ar[ur]\ar[dr]\\&10^{100}-10^{50}}\]
    ou bien :
    \[\xymatrix@C3cm{&\rlap{$10^{50}-10^{100}$}\\\llap{\og$(+\infty)-(+\infty)$\fg}\ar[ur]\ar[dr]\\&\rlap{$10^{100}-10^{50}$}}\]
    \end{document}
    
  • La syntaxe est un peu baroque, mais ça marche. :-)

    Voici une solution avec TikZ (sans doute maladroite) :
    \documentclass[a4paper,12pt,french]{article}
    \usepackage{lmodern}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{textcomp}
    \usepackage{babel}
    \usepackage{xspace}
    \usepackage{tikz}
    \usetikzlibrary{babel}
    
    \begin{document}
    \setlength{\parindent}{0pt}%
    %
    Attention :%
    \begin{tikzpicture}[baseline=(n.base)]
    \node (n) at (0,0) {\og $+\infty-(+\infty)$ \fg};
    \draw[->] (n.north east) .. controls +(0.1,0.15) and (2,1) .. (3,1)
              node[anchor=west] (haut) {$10^{50}-10^{100}$};
    \draw[->] (n.south east) .. controls +(0.1,-0.15) and (2,-1) .. (3,-1)
              node[anchor=west] (bas) {$10^{100}-10^{50}$};
    \end{tikzpicture}
    \end{document}
    

    dPEqMnI.png

    Les '.. controls XX and YY ..' ci-dessus produisent des courbes de Bézier. Il y a une méthode un peu plus simple avec l'opérateur 'to', qui permet d'indiquer l'inclinaison des tangentes au départ et à l'arrivée, en degrés (attention, c'est comme si on changeait le sens de parcours entre 'out' et 'in') :
    \draw[->] (n.north east) to[out=50, in=180] (3,1)
              node[anchor=west] (haut) {$10^{50}-10^{100}$};
    \draw[->] (n.south east) to[out=-50, in=180] (3,-1)
              node[anchor=west] (bas) {$10^{100}-10^{50}$};
    

    4s5VnSV.png

    Si l'on veut les flèches droites, on peut faire quelque chose comme ça :
    \draw[->] (n.north east) -- (3,1) node[anchor=south west] (haut) {$10^{50}-10^{100}$};
    \draw[->] (n.south east) -- (3,-1) node[anchor=north west] (bas) {$10^{100}-10^{50}$};
    

    yQbbC5J.png

    Il est possible d'améliorer un peu le positionnement des formules haut et bas :
    \draw[->] (n.north east) --
              (3,1) node[anchor=south west,inner sep=3pt,yshift=-2mm] (haut)
                 {$10^{50}-10^{100}$};
    \draw[->] (n.south east) --
              (3,-1) node[anchor=north west,inner sep=3pt,yshift=2mm] (bas)
                 {$10^{100}-10^{50}$};
    

    MtSKKCv.png

    Remarque : j'ai donné les noms 'haut' et 'bas' à deux nodes dans chacune de ces figures, mais on pourrait supprimer cela, puisque je ne me sers pas de ces noms dans l'état actuel des figures. Disons que c'est une sorte de commentaire.

    Edit :
    • modifs mineures ('ABC.' remplacé par 'Attention :'...) ;
    • ajout de \usetikzlibrary{babel} ;
    • ajout du tracé avec l'opérateur 'to'.
  • Petite précision : en regardant attentivement le code dans le message précédent, on peut remarquer que l'espace visible précédent « $+\infty-(+\infty)$ » fait partie de l'image TikZ (une grosse boîte pour TeX) et non du paragraphe auquel elle appartient. Il en résulte que :
    • cet espace n'a pas forcément la même largeur qu'une espace intermot de la police courante (ça a tout de même l'air très proche pour la police utilisée dans mes tests) ;
    • il n'est pas étirable, contrairement à une espace intermot.
    L'espace que l'on voit précéder « $+\infty-(+\infty)$ » dans les exemples du message précédent est dû aux bordures intérieure et extérieure[1] du nœud TikZ contenant « $+\infty-(+\infty)$ ». On peut les supprimer en utilisant 'inner sep=0, outer sep=0' comme suit et insérer une véritable espace intermot avant la figure :
    Attention : % là, avant le %, j'ai une espace intermot
    \begin{tikzpicture}[baseline=(n.base)]
    \node[inner sep=0, outer sep=0] (n) at (0,0) {\og $+\infty-(+\infty)$ \fg};
    \draw[->] (n.north east) + (0.15ex, 0.15ex) to[out=50, in=180] (3,1)
              node[anchor=west] (haut) {$10^{50}-10^{100}$};
    \draw[->] (n.south east) + (0.15ex, -0.15ex) to[out=-50, in=180] (3,-1)
              node[anchor=west] (bas) {$10^{100}-10^{50}$};
    \end{tikzpicture}% là aussi, il y a de l'espace autour des nodes (haut) et
                     % (bas) de la figure.
    
    J'ai par ailleurs légèrement translaté le point de départ de chacune des flèches, puisqu'il n'y a plus de bordure autour du nœud TikZ contenant « $+\infty-(+\infty)$ » (sinon, les flèches sont « collées » au nœud).

    [1] Si l'on passe l'option 'draw' au nœud TikZ contenant « $+\infty-(+\infty)$ », un rectangle est tracé qui contient le texte. Ce rectangle est séparé du texte par la bordure intérieure (inner sep) et entouré d'une bordure extérieure (outer sep). Normalement, les flèches partant d'un nœud sans plus de précisions s'appuient sur la bordure extérieure, si j'ai bien compris.
  • Bonjour à vous deux,

    Je rentre de vacances et je vois ces supers flèches "haut design" ! C'est la grande classe.

    j'ai essayé de l'utiliser dans un tableau, mais les flèches n'ont plus les mêmes longueurs...
    \begin{center}
    \begin{tabular}{|l|l|l|}
    
    
    \hline
    \begin{tikzpicture}[baseline=(n.base)]
    \node[inner sep=0, outer sep=0] (n) at (0,0) {\og $+\infty-(+\infty)$ \fg};
    \draw[->] (n.north east) + (0.15ex, 0.15ex) to[out=50, in=180] (3,1)
              node[anchor=west] (haut) {$10^{50}-10^{100}=10^{50}(1-10^{50})\simeq10^{50}(-10^{50})\simeq -10^{100}\simeq -\infty$};
    \draw[->] (n.south east) + (0.15ex, -0.15ex) to[out=-50, in=180] (3,-1)
              node[anchor=west] (bas) {$10^{100}-10^{50}=10^{50}(10^{50}-1)\simeq10^{50}(10^{50})\simeq 10^{100}\simeq +\infty$};
    \end{tikzpicture}\\% là aussi, il y a de l'espace autour des nodes (haut) et
                     % (bas) de la figure.
    
    \hline
    \begin{tikzpicture}[baseline=(n.base)]
    \node[inner sep=0, outer sep=0] (n) at (0,0) {\og $\dfrac{\infty}{\infty}$ \fg};
    \draw[->] (n.north east) + (0.15ex, 0.15ex) to[out=50, in=180] (3,1)
              node[anchor=west] (haut) {$\dfrac{10^{100}}{10^{50}}=10^{50}\simeq +\infty$};
    \draw[->] (n.south east) + (0.15ex, -0.15ex) to[out=-50, in=180] (3,-1)
              node[anchor=west] (bas) {$\dfrac{10^{50}}{10^{100}}=10^{-50}\simeq -\infty$};
    \end{tikzpicture}\\
    
    
    \hline
    \end{tabular}
    \end{center}
    
    

    Y a t-il un moyen d'aligner les flèches verticalement et qu'elles aient la même longueur ?

    J'ai l'impression d'en demander un peu trop... peut-être...

    PS : merci à vous deux ! C'est top !
  • Bonjour,

    C'est parce que l'origine du repère (0, 0) était au centre du nœud « $+\infty-(+\infty)$ » (resp. « $\frac{\infty}{\infty}$ »), dont la position horizontale n'est pas la même dans les deux cas, vu que les deux n'ont pas la même largeur. Un remède consiste donc à faire en sorte que l'ancre mid west de ces deux nœuds soit en (0, 0) :
    \documentclass[a4paper,11pt,french,draft]{article}
    \usepackage{lmodern}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{babel}
    \usepackage{textcomp}
    \usepackage{tikz}
    \usetikzlibrary{babel}
    
    \usepackage{booktabs}
    
    % Juste pour éviter l'overfull \hbox car il y a une ligne très longue
    \usepackage{geometry}
    \geometry{top=4cm, lines=42, width=520pt}
    
    \usepackage{amsmath}
    
    \begin{document}
    \begin{center}
    \begin{tabular}{@{}l@{}}
    \toprule
    \begin{tikzpicture}[baseline=(n.base)]
    %\draw [help lines] (0,-1) grid (4,2);
    \node[inner sep=0, outer sep=0, anchor=mid west] (n) at (0,0) {\og $+\infty-(+\infty)$ \fg};
    \draw[->] (n.north east) + (0.15ex, 0.15ex) to[out=50, in=180] (3,1)
              node[anchor=west] (haut) {$10^{50}-10^{100}=10^{50}(1-10^{50})\simeq10^{50}(-10^{50})\simeq -10^{100}\simeq -\infty$};
    \draw[->] (n.south east) + (0.15ex, -0.15ex) to[out=-50, in=180] (3,-1)
              node[anchor=west] (bas) {$10^{100}-10^{50}=10^{50}(10^{50}-1)\simeq10^{50}(10^{50})\simeq 10^{100}\simeq +\infty$};
    \end{tikzpicture}\\% là aussi, il y a de l'espace autour des nodes (haut) et
                     % (bas) de la figure.
    \midrule
    \begin{tikzpicture}[baseline=(n.base)]
    \node[inner sep=0, outer sep=0, anchor=mid west] (n) at (0,0) {\og $\dfrac{\infty}{\infty}$ \fg};
    \draw[->] (n.north east) + (0.15ex, 0.15ex) to[out=50, in=180] (3,1)
              node[anchor=west] (haut) {$\dfrac{10^{100}}{10^{50}}=10^{50}\simeq +\infty$};
    \draw[->] (n.south east) + (0.15ex, -0.15ex) to[out=-50, in=180] (3,-1)
              node[anchor=west] (bas) {$\dfrac{10^{50}}{10^{100}}=10^{-50}\simeq -\infty$};
    \end{tikzpicture}\\
    \bottomrule
    \end{tabular}
    \end{center}
    \end{document}
    

    9WMEv3p.png

    Même chose avec x=4 au lieu de x=3 pour l'ancre west des formules de droite :

    4ZRrVb7.png

    J'ai utilisé booktabs pour avoir des lignes horizontales plus jolies. Pas besoin de trois colonnes dans ton tableau, non plus.
  • Et peut-on aligner les flèches par rapport aux guillemets de droite ?
  • Je ne comprends pas, tu veux que le point de départ des flèches soit plus à gauche ?
  • Mieux vaut un schéma qu'un long discours ...
    Je dessine et je scanne...

    [Contenu du pdf joint. AD]83702
  • En effet, je propose ça :
    \documentclass[a4paper,11pt,french]{article}
    \usepackage{lmodern}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{babel}
    \usepackage{textcomp}
    
    % Juste pour éviter l'overfull \hbox car il y a une ligne très longue
    \usepackage{geometry}
    \geometry{top=4cm, lines=42, width=520pt}
    
    \usepackage{booktabs}
    \usepackage{amsmath}
    \usepackage{tikz}
    \usetikzlibrary{babel}
    \usetikzlibrary{calc}
    
    \begin{document}
    \begin{center}
    \newcommand*{\distDepartFleche}{0.3em}%
    \newcommand*{\angleDepartFleche}{50}%
    \newcommand*{\distArriveeFleche}{0.5em}%
    \newcommand*{\angleArriveeFleche}{180}%
    %
    % \hspace*{3em} donne la largeur séparant les deux colonnes
    \begin{tabular}{@{}r@{\hspace*{3em}}l@{}}
    \toprule
    &
    \begin{tikzpicture}[baseline=(haut1.base), remember picture]
    \node[inner sep=0, outer sep=0, anchor=west] (haut1) {%
      $10^{50}-10^{100} = 10^{50}(1-10^{50}) \simeq 10^{50}(-10^{50})
      \simeq -10^{100}\simeq -\infty$};
    \end{tikzpicture}\\
    %
    \begin{tikzpicture}[baseline=(n1.base), remember picture]
    \node[inner sep=0, outer sep=0, anchor=mid east] (n1) {%
      \og $+\infty-(+\infty)$ \fg};
    \draw[->,overlay]
      ($(n1.north east) + (\angleDepartFleche:\distDepartFleche)$)
      to[out=\angleDepartFleche, in=\angleArriveeFleche]
      ($(haut1.west) + (-\distArriveeFleche, 0)$);
    \end{tikzpicture}\\
    &
    \begin{tikzpicture}[baseline=(bas1.base), remember picture]
    \node[inner sep=0, outer sep=0, anchor=west] (bas1) {%
      $10^{100}-10^{50} = 10^{50}(10^{50}-1) \simeq 10^{50}(10^{50})
      \simeq 10^{100}\simeq +\infty$};
    \draw[->,overlay]
      ($(n1.south east) + (-\angleDepartFleche:\distDepartFleche)$)
      to[out=-\angleDepartFleche, in=-\angleArriveeFleche]
      ($(bas1.west) + (-\distArriveeFleche, 0)$);
    \end{tikzpicture}\\
    \midrule
    % Début deuxième « ligne logique »
    &
    \begin{tikzpicture}[baseline=(haut2.base), remember picture]
    \node[inner sep=0, outer sep=0, anchor=west] (haut2) {%
      $\dfrac{10^{100}}{10^{50}}=10^{50}\simeq +\infty$};
    \end{tikzpicture}\\
    %
    \begin{tikzpicture}[baseline=(n2.base), remember picture]
    \node[inner sep=0, outer sep=0, anchor=mid east] (n2) {%
      \og $\dfrac{\infty}{\infty}$ \fg};
    \draw[->,overlay]
      ($(n2.north east) + (\angleDepartFleche:\distDepartFleche)$)
      to[out=\angleDepartFleche, in=\angleArriveeFleche]
      ($(haut2.west) + (-\distArriveeFleche, 0)$);
    \end{tikzpicture}\\
    &
    \begin{tikzpicture}[baseline=(bas2.base), remember picture]
    \node[inner sep=0, outer sep=0, anchor=west] (bas2) {%
      $\dfrac{10^{50}}{10^{100}}=10^{-50}\simeq -\infty$};
    \draw[->,overlay]
      ($(n2.south east) + (-\angleDepartFleche:\distDepartFleche)$)
      to[out=-\angleDepartFleche, in=-\angleArriveeFleche]
      ($(bas2.west) + (-\distArriveeFleche, 0)$);
    \end{tikzpicture}\\
    \bottomrule
    \end{tabular}
    \end{center}
    \end{document}
    

    lbL4ORX.png

    On pourrait aussi faire avec le package multirow (sans doute aussi avec makecell).

    Edit : il manquait un % dans la définition de n1.
  • Ca devient vraiment infaisable pour les néophytes... pour ne pas me citer...

    Si je comprends bien, il y a maintenant un autre éditeur de dessin, "tikz" pour ne pas le citer, qui vient compléter Latex ?
    Tu dois être le seul, Brian, à t'en servir de ce truc de fou, non ?
  • C'est quand même exactement ce que j'attendais !
    Mille bravos !

    Pour fermer à droite et à gauche le tableau, il suffit de rajouter | à côté de la lettre L ? (dans tabular...)
  • TikZ est un package très puissant pour faire des schémas. Une de ses grandes forces est son excellente intégration avec LaTeX. Je suis très loin d'être le seul à l'utiliser ; d'ailleurs, je débute. Je ne suis pas sûr que ce soit une très bonne idée d'ajouter les lignes verticales (cf. doc de booktabs), mais pour ce faire, tu peux remplacer les @{} à gauche et à droite par le symbole 'l'. Ce fameux @{...} définit ce qui se passe à gauche de la première colonne, entre deux colonnes ou à droite de la dernière (on l'utilise lorsque l'espacement inséré par défaut n'est pas satisfaisant). Réfléchis-y, souviens en toi, c'est important !

    Avant, j'utilisais MetaPost pour les schémas. Je préfère le langage MetaPost au langage TikZ du point de vue de la syntaxe et de sa fonctionnalité assez remarquable de résolution à la volée de tout système linéaire (de Cramer) entre les variables inconnues, mais il y a beaucoup plus de choses toutes faites pour TikZ que pour MetaPost (les bibliothèques) et surtout, ici, on a besoin des fonctions très intéressantes d'intégration de TikZ au sein d'un document LaTeX. TikZ a aussi quelques avantages sur MetaPost essentiellement dus à son plus jeune âge et au fait qu'il s'appuie sur le langage de bas niveau PGF. Ceci permet à TikZ de bien gérer la transparence, alors que la seule méthode que j'ai vue pour ça avec MetaPost relève de la bidouille, à mon avis.
  • Merci AD pour l'orthographe de Cramer ! (ça doit être ce fichu film qui m'a influencé...)

    Je propose une version un peu améliorée, plus paramétrable, avec un positionnement mid west qui rend mieux avec les fractions et surtout une hauteur plus uniforme des lignes grâce à l'utilisation de bigstrut et multirow. Cette hauteur est réglable en jouant sur
    \setlength{\bigstrutjot}{10pt}%
    
    Voici le code :
    \documentclass[a4paper,11pt,french]{article}
    \usepackage{lmodern}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{babel}
    \usepackage{textcomp}
    
    % Juste pour éviter l'overfull \hbox car il y a une ligne très longue
    \usepackage{geometry}
    \geometry{top=4cm, lines=42, width=520pt}
    
    \usepackage{booktabs}
    \usepackage{bigstrut}
    \usepackage{multirow}
    \usepackage{amsmath}
    \usepackage{tikz}
    \usetikzlibrary{babel}
    \usetikzlibrary{calc}
    
    \begin{document}
    \begin{center}
    \newcommand*{\distPointDepartFleche}{0.7em}%
    \newcommand*{\anglePointDepartFleche}{70}%
    \newcommand*{\angleDepartFleche}{40}%
    \newcommand*{\distArriveeFleche}{0.5em}%
    \newcommand*{\angleArriveeFleche}{180}%
    %
    \setlength{\bigstrutjot}{10pt}%
    \newcommand*{\monStrut}{\bigstrut}%
    %
    \begin{tabular}{@{}r@{\hspace*{3em}}l@{}}
    \toprule
    \multirow{2}[tb4]{*}{%
      \begin{tikzpicture}[baseline=(n1.base), remember picture]
        \node[inner sep=0, outer sep=0, anchor=mid east] (n1) {%
          \og $+\infty-(+\infty)$ \fg};
      \end{tikzpicture}%
    } &
    \monStrut
    \begin{tikzpicture}[baseline=(haut1.base), remember picture]
    \node[inner sep=0, outer sep=0, anchor=west] (haut1) {%
      $10^{50}-10^{100} = 10^{50}(1-10^{50}) \simeq 10^{50}(-10^{50})
      \simeq -10^{100} \simeq -\infty$};
    \draw[->,overlay]
      ($(n1.east) + (\anglePointDepartFleche:\distPointDepartFleche)$)
      to[out=\angleDepartFleche, in=\angleArriveeFleche]
      ($(haut1.mid west) + (\angleArriveeFleche:\distArriveeFleche)$);
    \end{tikzpicture}\\
    &
    \monStrut
    \begin{tikzpicture}[baseline=(bas1.base), remember picture]
    \node[inner sep=0, outer sep=0, anchor=west] (bas1) {%
      $10^{100}-10^{50} = 10^{50}(10^{50}-1) \simeq 10^{50}(10^{50})
      \simeq 10^{100} \simeq +\infty$};
    \draw[->,overlay]
      ($(n1.east) + (-\anglePointDepartFleche:\distPointDepartFleche)$)
      to[out=-\angleDepartFleche, in=-\angleArriveeFleche]
      ($(bas1.mid west) + (-\angleArriveeFleche:\distArriveeFleche)$);
    \end{tikzpicture}\\
    \midrule
    % Début deuxième « ligne logique »
    \multirow{2}[tb4]{*}{%
      \begin{tikzpicture}[baseline=(n2.base), remember picture]
        \node[inner sep=0, outer sep=0, anchor=mid east] (n2) {%
          \og $\dfrac{\infty}{\infty}$ \fg};
      \end{tikzpicture}%
    } &
    \monStrut
    \begin{tikzpicture}[baseline=(haut2.base), remember picture]
    \node[inner sep=0, outer sep=0, anchor=west] (haut2) {%
      $\dfrac{10^{100}}{10^{50}}=10^{50} \simeq +\infty$};
    \draw[->,overlay]
      ($(n2.east) + (\anglePointDepartFleche:\distPointDepartFleche)$)
      to[out=\angleDepartFleche, in=\angleArriveeFleche]
      ($(haut2.mid west) + (\angleArriveeFleche:\distArriveeFleche)$);
    \end{tikzpicture}\\
    &
    \monStrut
    \begin{tikzpicture}[baseline=(bas2.base), remember picture]
    \node[inner sep=0, outer sep=0, anchor=west] (bas2) {%
      $\dfrac{10^{50}}{10^{100}}=10^{-50} \simeq -\infty$};
    \draw[->,overlay]
      ($(n2.east) + (-\anglePointDepartFleche:\distPointDepartFleche)$)
      to[out=-\angleDepartFleche, in=-\angleArriveeFleche]
      ($(bas2.mid west) + (-\angleArriveeFleche:\distArriveeFleche)$);
    \end{tikzpicture}\\
    \bottomrule
    \end{tabular}
    \end{center}
    \end{document}
    

    5DxVSLo.png

    Noter que, comme dans le cas précédent, les noms des nœuds donnés dans les figures TikZ qui ont l'option remember picture sont un peu comme des \label :
    1. Ils sont globaux. Par exemple, ici, j'utilise n1, haut1, bas1, n2, haut2, bas2 ; pour d'autres lignes de ce genre, il faudra utiliser d'autres noms tels que n3, haut3, etc.
    2. S'il y a des changements dans les positions de ces nœuds, il faut deux compilations pour que les modifications soient entièrement prises en compte (la première fois, les nouvelles positions vont dans le fichier .aux ; la deuxième fois, elles sont lues depuis ce fichier et utilisées partout où elles étaient référencées).

    Edit : petites précisions :
    • Ne pas avoir peur concernant le point 2 ci-dessus : comme pour les \label et la table des matières, LaTeX prévient quand il y a besoin d'une compilation supplémentaire avec “LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right” (encore faut-il regarder sa sortie standard — celle que j'appelle « sortie textuelle » ici, en espérant me faire mieux comprendre).
    • Le code donné dans ce message n'utilise pas de ligne du tableau dédiée au truc à gauche (« $+\infty-(+\infty)$ » ou « $\frac{\infty}{\infty}$ »). La commande \multirow le place dans une cellule qui s'étale sur les deux lignes correspondant aux machins de droite qui vont avec (ceux vers lesquels les flèches pointent). C'est un peu plus général que la méthode précédente, car le bon positionnement vertical du truc à gauche ça ne dépend pas, a priori, des hauteurs et profondeurs des machins à droite ni de leur nombre. Évidement, si l'on met plus de deux machins à droite pour un truc à gauche, il faut adapter les arguments de \multirow. Ici, j'ai mis \multirow{2}[tb4] car chacune des cellules crées avec un tel \multirow s'étale sur 2 lignes du tableau et que les cellules en regard dans la colonne de droite contiennent en tout 2 \bigstrut, or $2\times {\color{#FF3399} 2} = {\color{#22DD22} 4}$ (cf. doc de multirow ; bigstrut met un truc invisible dans une cellule pour assurer à la ligne correspondante une hauteur et/ou une profondeur minimale(s) ; c'est ce qui permet, ici, d'avoir des lignes de hauteur uniforme).
  • Salut Brian,

    J'ai l'impression de visiter les pyramides d'Egypte avec ces codes hiéroglyphiques !

    J'ai remplacé, comme tu me l'as suggéré, la ligne :" \begin{tabular}{@{}r@{\hspace*{3em}}l@{}}"
    par : "\begin{tabular}{|r@{\hspace*{3em}}l|}", mais ca fait des espaces vides verticalement et non un encadré bien net.
    Je me contenterai de lignes horizontales...

    PS : J'avais adoré l'interprétation de Dustin Hoffman dans Kramer contre Kramer ; sans doute son meilleur rôle...
  • C'est parce que booktabs n'aime pas les lignes verticales (à raison, elles ne servent généralement à rien dans un doc. préparé par ordinateur : tout est déjà parfaitement aligné, l'œil n'a pas besoin de tels guides qui, souvent, ne font qu'alourdir la présentation). Remplace chacun des \toprule, \midrule et \bottomrule par \hline, retire éventuellement \usepackage{booktabs} si tu ne l'utilises nulle part ailleurs, et tu auras ce que tu souhaites.

    P. S. : j'ai ajouté des explications à la fin de mon message précédent.
Connectez-vous ou Inscrivez-vous pour répondre.