Page 1 sur 1

Eclairer des calculs par du texte avec pstricks

MessagePosté: Samedi 13 Octobre 2018, 13:18
par IzB
Bonjour,

je veux insérer des commentaires dans des calculs pour les éclairer. J'ai trouvé une solution approchante avec TikZ, dont je donne ci-dessous un ECM.
Dans ce code, TikZ permet d'insérer des balises (comme "\insertph{n1}") au milieu du texte (ici dans un tableau) pour faire ensuite un dessin à partir de l'endroit de la balise.

J'utilise pstricks plutôt que TikZ. Est-ce possible de faire quelque chose de semblable avec pstricks ?

Code: Tout sélectionner
\documentclass{minimal}
\usepackage{tikz}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{multirow}
\newcommand{\insertph}[1]{%
\tikz[remember picture] \node[inner sep=0pt,minimum height=10pt](#1){};}
 
\begin{document} 
\renewcommand{\arraystretch}{1.3}
\begin{tabular}{r l l l}
$u_{n}$&$< n+3$ &~\insertph{n1} & \multirow{2}{*}{\hspace*{0.5cm}$\times\dfrac{2}{3}$}\\
$\dfrac{2}{3}u_n$&$<\dfrac{2}{3}n+2$ &~\insertph{n2} & \multirow{2}{*}{\hspace*{0.5cm}on ajoute $\dfrac{1}{3}n+1$}\\
$\dfrac{2}{3}u_n+\dfrac{1}{3}n+1$&$<\dfrac{2}{3}n+2+\dfrac{1}{3}n+1$ &~\insertph{n3} & \multirow{2}{*}{\hspace*{0.5cm}déf. $u_{n+1}$ et calcul}\\
$u_{n+1}$&$< n+3$ &~\insertph{n4} & \\
\end{tabular}
\tikz[remember picture,overlay]\draw[->,black,line width=1pt] (n1.east) to[out=0,in=0,distance=0.4cm]  (n2.east);
\tikz[remember picture,overlay]\draw[->,black,line width=1pt] (n2.east) to[out=0,in=0,distance=0.4cm]  (n3.east);
\tikz[remember picture,overlay]\draw[->,black,line width=1pt] (n3.east) to[out=0,in=0,distance=0.4cm]  (n4.east);
\end{document}


Merci,

Re: Eclairer des calculs par du texte avec pstricks

MessagePosté: Samedi 13 Octobre 2018, 14:15
par marco56
Il doit y avoir moyen mais je ne vois comment faire sans tout mettre dans une figure pstricks.
De plus, j'avoue ne pas comprendre comment tout se positionne. En allant à tâtons, j'ai fait cela mais ce n'est pas satisfaisant car pas reproductible en l'état :
Code: Tout sélectionner
\documentclass{minimal}
\usepackage{tikz}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{multirow}
\usepackage{pst-all}
\newcommand{\insertph}[1]{%
\tikz[remember picture] \node[inner sep=0pt,minimum height=10pt](#1){};}
 
\begin{document}
\renewcommand{\arraystretch}{1.3}
\begin{tabular}{r l l l}
$u_{n}$&$< n+3$ &~\insertph{n1} & \multirow{2}{*}{\hspace*{0.5cm}$\times\dfrac{2}{3}$}\\
$\dfrac{2}{3}u_n$&$<\dfrac{2}{3}n+2$ &~\insertph{n2} & \multirow{2}{*}{\hspace*{0.5cm}on ajoute $\dfrac{1}{3}n+1$}\\
$\dfrac{2}{3}u_n+\dfrac{1}{3}n+1$&$<\dfrac{2}{3}n+2+\dfrac{1}{3}n+1$ &~\insertph{n3} & \multirow{2}{*}{\hspace*{0.5cm}déf. $u_{n+1}$ et calcul}\\
$u_{n+1}$&$< n+3$ &~\insertph{n4} & \\
\end{tabular}
\tikz[remember picture,overlay]\draw[->,black,line width=1pt] (n1.east) to[out=0,in=0,distance=0.4cm]  (n2.east);
\tikz[remember picture,overlay]\draw[->,black,line width=1pt] (n2.east) to[out=0,in=0,distance=0.4cm]  (n3.east);
\tikz[remember picture,overlay]\draw[->,black,line width=1pt] (n3.east) to[out=0,in=0,distance=0.4cm]  (n4.east);

\begin{pspicture}(0,0)(12,5)
\uput[180](10,2){
\begin{tabular}{r l l l}
$u_{n}$&$< n+3$ &~\insertph{n1} & \multirow{2}{*}{\hspace*{0.5cm}$\times\dfrac{2}{3}$}\\
$\dfrac{2}{3}u_n$&$<\dfrac{2}{3}n+2$ &~\insertph{n2} & \multirow{2}{*}{\hspace*{0.5cm}on ajoute $\dfrac{1}{3}n+1$}\\
$\dfrac{2}{3}u_n+\dfrac{1}{3}n+1$&$<\dfrac{2}{3}n+2+\dfrac{1}{3}n+1$ &~\insertph{n3} & \multirow{2}{*}{\hspace*{0.5cm}déf. $u_{n+1}$ et calcul}\\
$u_{n+1}$&$< n+3$ &~\insertph{n4} & \\
\end{tabular}
\psarc{<-}(-3.5,0.1){0.3}{-90}{90}
\psarc{<-}(-3.5,-0.6){0.3}{-90}{90}
\psarc{<-}(-3.5,0.8){0.3}{-90}{90}
}
\end{pspicture}
\end{document}

Re: Eclairer des calculs par du texte avec pstricks

MessagePosté: Samedi 13 Octobre 2018, 19:30
par balf
Voici une solution simple avec pst-node et auto-pst-pdf (compilable avec xelatex). L'idée est d'utiliser un environnement alignat à deux colonnes, et d'y mettre des nœuds vides alignés dans la seconde colonne. On joint ces nœuds par la commande \ncarc et on écrite des labels sur ces connexions:
Code: Tout sélectionner
    \documentclass[11pt]{article}
    \usepackage[utf8]{inputenc}
    \usepackage{lmodern}
    \usepackage{mathtools, nccmath}
    \usepackage{pst-node, auto-pst-pdf}

    \begin{document}

   \begin{postscript}
    \setlength{\jot}{6pt}
    \begin{alignat*}{2}
    u_{n}&< n+3 &&\pnode[0pt, 0.5ex]{l1} \\
    \mfrac{2}{3}u_n&<\mfrac{2}{3}n+2 &\qquad &\pnode[0pt, 0.5ex]{l2} \\
    \mfrac{2}{3}u_n+\mfrac{1}{3}n+1&<\mfrac{2}{3}n+2+\mfrac{1}{3}n+1 & & \pnode{l3} \\
    u_{n+1}&< n+3 && \pnode{l4}
    \end{alignat*}
     \psset{arrows=->, arrowinset=0.12, arcangleA=50, arcangleB=30,nodesep=1pt}
     \ncarc{l1}{l2}\naput{$ \times \mfrac{2}{3} $}
     \ncarc{l2}{l3}\naput{on ajoute $ \mfrac{1}{3}n + 1$}
     \ncarc{l3}{l4}\naput{déf. $ u_{n+1}$ et calcul}
     \end{postscript}

    \end{document}


Résultats en p.j.
B. A.

Re: Eclairer des calculs par du texte avec pstricks

MessagePosté: Dimanche 14 Octobre 2018, 04:30
par pzorba75
J'ai vu passer il y a quelque semaines sur ctan.org une mise à jour d'un package permettant de faire tout cela assez facilement, probablement avec TIKZ. Mais je ne peux pas retrouver le nom du package et je ne sais pas bien comment fouiner dans ctan.org pour retrouver ses petits.
Peut-être que vous le connaissez?
Merci pour votre solution.

Re: Eclairer des calculs par du texte avec pstricks

MessagePosté: Dimanche 14 Octobre 2018, 12:44
par IzB
Merci à tous pour vos réponses ; la solution proposée par balf me convient parfaitement.