Page 1 sur 1

Arbre avec PStricks (position du texte)

MessagePosté: Jeudi 17 Mars 2011, 06:23
par zorba
Bonjour,
j'utilise de temps en temps PStricks pour tracer des arbres dans des exercices de probabilités. Pas assez souvent pour connaitre les options et leurs effets sur le tracé de l'arbre.
Dans l'exemple joint de l'ECM, je cherche à mettre le libellé au même niveau que l'extrémité de la branche, cela semble tout simple et je ne trouve pas comment coder les options pour le faire.
Voici un ECM avec l'exemple réel que je cherche à tracer :

Code: Tout sélectionner
\documentclass[11pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{geometry,url}
\usepackage{lipsum,xcolor,pst-eucl,pstricks-add,pst-fun,pst-tree}
\geometry{textwidth=130mm,textheight=260mm,top=2cm}
\author{zorba}
\newcommand{\xb}[1]{\textcolor{blue}{\,-\,$\scriptscriptstyle #1$}}
\newcommand{\xc}[1]{\ensuremath{ \scriptscriptstyle #1}}
\begin{document}
\newcount\hh
\newcount\mm
\mm=\time
\hh=\time
\divide\hh by 60
\divide\mm by 60
\multiply\mm by 60
\mm=-\mm
\advance\mm by \time
\def\hhmm{\number\hh\string:\ifnum\mm<10{}0\fi\number\mm}
\noindent \today\, à \hhmm  Fichier : \jobname

Tracé d'un arbre représentant un loterie avec 120 billets, dont 3 donnent 4 places gratuites, 6 donnent 3 places gratuites, 18 donnent 2 laces gratuites et 42 donnent une place gratuite.

Je souhaite placer le libellé au même niveau que l'extrémité de la branche et pas au dessus comme dans les deux exemples ci-dessous. Mais je ne trouve pas quelle option utiliser à cette fin.

\begin{center}
\psset{nodesep=3mm,levelsep=55mm,treesep=15mm,treemode=R}

\pstree{\TR{}}{\TR{4 places gratuites}^{$\scriptstyle \textrm{P}_4=\frac{1}{40}$} \TR{3 places gratuites}^{$\scriptstyle \textrm{P}_3=\frac{1}{20}$}  \TR{2 places gratuites}^{$\scriptstyle \textrm{P}_2=\frac{3}{20}$}  \TR{1 place gratuite}_{$\scriptstyle \textrm{P}_1=\frac{7}{40}$} \TR{rien}_{$\scriptstyle \textrm{P}_4=\frac{17}{40}$}}

\end{center}

\begin{center}
\psset{nodesep=3mm,levelsep=*55mm,treesep=15mm,treemode=R}

\pstree{\TR{}}{\TR{4 places gratuites}^{$\scriptstyle \textrm{P}_4=\frac{1}{40}$} \TR{3 places gratuites}^{$\scriptstyle \textrm{P}_3=\frac{1}{20}$}  \TR{2 places gratuites}^{$\scriptstyle \textrm{P}_2=\frac{3}{20}$}  \TR{1 place gratuite}_{$\scriptstyle \textrm{P}_1=\frac{7}{40}$} \TR{rien}_{$\scriptstyle \textrm{P}_4=\frac{17}{40}$}}


\end{center}
\end{document}


Je remercie d'avance les personnes qui vont regarder ce sujet et m'indiquer comment faire avec PStricks-tree, même si d'autres solutions sont toujours disponibles.
Bonne journée à tous.
Pierre

Re: Arbre avec PStricks - position texte

MessagePosté: Jeudi 17 Mars 2011, 08:44
par djiblamb
Bonjour.

Pour mettre le libellé au même niveau que l'extrémité de la branche, rajoute, après chacun des \TR du deuxième niveau, la séquence {}~[tnpos=r], qui permet de placer le label à droite de l'extrémité de la branche. Voir l'ECM joint (j'ai repris une partie de celui que tu avais fourni).
L'option tnpos accepte aussi les arguments l, a (pour above) et b (bottom).
Code: Tout sélectionner
\documentclass[11pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{geometry,url}
\usepackage{lipsum,xcolor,pst-eucl,pstricks-add,pst-fun,pst-tree}
\geometry{textwidth=130mm,textheight=260mm,top=2cm}
\author{zorba}
\newcommand{\xb}[1]{\textcolor{blue}{\,-\,$\scriptscriptstyle #1$}}
\newcommand{\xc}[1]{\ensuremath{ \scriptscriptstyle #1}}
\begin{document}
\newcount\hh
\newcount\mm
\mm=\time
\hh=\time
\divide\hh by 60
\divide\mm by 60
\multiply\mm by 60
\mm=-\mm
\advance\mm by \time
\def\hhmm{\number\hh\string:\ifnum\mm<10{}0\fi\number\mm}
\noindent \today\, à \hhmm  Fichier : \jobname

Tracé d'un arbre représentant un loterie avec 120 billets, dont 3 donnent 4 places gratuites, 6 donnent 3 places gratuites, 18 donnent 2 places gratuites et 42 donnent une place gratuite.

Je souhaite placer le libellé au même niveau que l'extrémité de la branche et pas au dessus comme dans les deux exemples ci-dessous. Mais je ne trouve pas quelle option utiliser à cette fin.

\begin{center}
\psset{nodesep=3mm,levelsep=55mm,treesep=15mm,treemode=R}

\pstree{\TR{}}{\TR{}~[tnpos=r]{4 places gratuites}^{$\scriptstyle \textrm{P}_4=\frac{1}{40}$} \TR{}~[tnpos=r]{3 places gratuites}^{$\scriptstyle \textrm{P}_3=\frac{1}{20}$}  \TR{}~[tnpos=r]{2 places gratuites}^{$\scriptstyle \textrm{P}_2=\frac{3}{20}$}  \TR{}~[tnpos=r]{1 place gratuite}_{$\scriptstyle \textrm{P}_1=\frac{7}{40}$} \TR{}~[tnpos=r]{rien}_{$\scriptstyle \textrm{P}_4=\frac{17}{40}$}}

\end{center}

\end{document}

Bonne journée aussi.
djib

Re: Arbre avec PStricks - position texte

MessagePosté: Jeudi 17 Mars 2011, 11:02
par zorba
Bonjour,
c'est exactement ce que je cherchais à faire et que je ne comprenais pas dans la documentation.
Merci et bonne journée.
Pierre

Re: Arbre avec PStricks - position texte

MessagePosté: Jeudi 17 Mars 2011, 11:12
par rebouxo
On doit pouvoir passer cette option de manière globale ?

Olivier