diff options
Diffstat (limited to 'macros/latex/contrib/profcollege/latex/PfCStatistiques.tex')
-rw-r--r-- | macros/latex/contrib/profcollege/latex/PfCStatistiques.tex | 538 |
1 files changed, 213 insertions, 325 deletions
diff --git a/macros/latex/contrib/profcollege/latex/PfCStatistiques.tex b/macros/latex/contrib/profcollege/latex/PfCStatistiques.tex index 03fb0f7ec6..6be4545dee 100644 --- a/macros/latex/contrib/profcollege/latex/PfCStatistiques.tex +++ b/macros/latex/contrib/profcollege/latex/PfCStatistiques.tex @@ -229,6 +229,46 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis \num{\TotalECC}% } +\def\NewMPDiagBarreHorCode{% + Longueur:=\useKV[ClesStat]{Longueur}; + Hauteur:=\useKV[ClesStat]{Hauteur}; + Ecart:=\useKV[ClesStat]{EcartBarre}; + ExposantDivMax:=\ExposantDivMax; + ecarthachures=\useKV[ClesStat]{EcartHachures}; + epaisseurhachures=\useKV[ClesStat]{EpaisseurHachures}; + boolean Hachures,Bicolore,Grille,AffichageDonnee,LegendeVide; + Hachures=\useKV[ClesStat]{Hachures}; + Bicolore=\useKV[ClesStat]{Bicolore}; + Grille=\useKV[ClesStat]{Grille}; + AffichageDonnee=\useKV[ClesStat]{AffichageDonnee}; + LegendeVide=\useKV[ClesStat]{LegendeVide}; + vardef CalculNombreDonneesEtDonneeMax(text t)= + nbdon:=0;%nombre de données + DonneeMax:=0;%donnée DonneeMaximale + for p_=t: + nbdon:=nbdon+1; + if p_>DonneeMax: + DonneeMax:=p_; + fi; + endfor; + enddef; + vardef ListeDonnees(text t)= + n:=0; + for p_=t: + n:=n+1; + Donnees[n]:=p_; + endfor; + enddef; + vardef RecuperationCouleurs(text t)= + color Col[]; + n:=0; + for p_=t: + n:=n+1; + Col[n]=p_; + endfor; + enddef; +} + % Construction d'un diagramme en barres horizontal \newcommand\NewMPDiagBarreHor[4]{% % #1 Liste des noms @@ -238,47 +278,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis \ifluatex% \mplibforcehmode% \begin{mplibcode}% - Longueur:=\useKV[ClesStat]{Longueur}; - Hauteur:=\useKV[ClesStat]{Hauteur}; - Ecart:=\useKV[ClesStat]{EcartBarre}; - ExposantDivMax:=\ExposantDivMax; - ecarthachures=\useKV[ClesStat]{EcartHachures}; - epaisseurhachures=\useKV[ClesStat]{EpaisseurHachures}; - boolean Hachures; - Hachures=\useKV[ClesStat]{Hachures}; - boolean Bicolore; - Bicolore=\useKV[ClesStat]{Bicolore}; - boolean Grille; - Grille=\useKV[ClesStat]{Grille}; - boolean AffichageDonnee; - AffichageDonnee=\useKV[ClesStat]{AffichageDonnee}; - boolean LegendeVide; - LegendeVide=\useKV[ClesStat]{LegendeVide}; - vardef CalculNombreDonneesEtDonneeMax(text t)= - nbdon:=0;%nombre de données - DonneeMax:=0;%donnée DonneeMaximale - for p_=t: - nbdon:=nbdon+1; - if p_>DonneeMax: - DonneeMax:=p_; - fi; - endfor; - enddef; - vardef ListeDonnees(text t)= - n:=0; - for p_=t: - n:=n+1; - Donnees[n]:=p_; - endfor; - enddef; - vardef RecuperationCouleurs(text t)= - color Col[]; - n:=0; - for p_=t: - n:=n+1; - Col[n]=p_; - endfor; - enddef; + \NewMPDiagBarreHorCode% vardef TraceDiag= if Grille: pair Zz[];%Pour déterminer "le dernier point" @@ -353,49 +353,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis fi; \end{mplibcode} \else% - \begin{mpost}[mpsettings={% - Longueur:=\useKV[ClesStat]{Longueur}; - Hauteur:=\useKV[ClesStat]{Hauteur}; - Ecart:=\useKV[ClesStat]{EcartBarre}; - ExposantDivMax:=\ExposantDivMax; - ecarthachures=\useKV[ClesStat]{EcartHachures}; - epaisseurhachures=\useKV[ClesStat]{EpaisseurHachures}; - boolean Hachures; - Hachures=\useKV[ClesStat]{Hachures}; - boolean Bicolore; - Bicolore=\useKV[ClesStat]{Bicolore}; - boolean Grille; - Grille=\useKV[ClesStat]{Grille}; - boolean AffichageDonnee; - AffichageDonnee=\useKV[ClesStat]{AffichageDonnee}; - boolean LegendeVide; - LegendeVide=\useKV[ClesStat]{LegendeVide}; - }] - vardef CalculNombreDonneesEtDonneeMax(text t)= - nbdon:=0;%nombre de données - DonneeMax:=0;%donnée DonneeMaximale - for p_=t: - nbdon:=nbdon+1; - if p_>DonneeMax: - DonneeMax:=p_; - fi; - endfor; - enddef; - vardef ListeDonnees(text t)= - n:=0; - for p_=t: - n:=n+1; - Donnees[n]:=p_; - endfor; - enddef; - vardef RecuperationCouleurs(text t)= - color Col[]; - n:=0; - for p_=t: - n:=n+1; - Col[n]=p_; - endfor; - enddef; + \begin{mpost}[mpsettings={\NewMPDiagBarreHorCode}] vardef TraceDiag= if Grille: pair Zz[];%Pour déterminer "le dernier point" @@ -472,37 +430,70 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis \fi% }% +\def\MPStatNewCode{% + maxx:=0; + maxy:=0; + unitex:=\useKV[ClesStat]{Unitex}*cm; + unitey:=\useKV[ClesStat]{Unitey}*cm; + xpartorigine:=\useKV[ClesStat]{Origine}; + AngleRotation=\useKV[ClesStat]{AngleRotationAbscisse}; + boolean Rotation,Lecture,LectureFine,AideLecture,DonneesSup,Reponses,Qualitatif,Tiret; + Rotation=\useKV[ClesStat]{AbscisseRotation}; + Lecture:=\useKV[ClesStat]{Lecture}; + LectureFine:=\useKV[ClesStat]{LectureFine}; + AideLecture:=\useKV[ClesStat]{AideLecture}; + DonneesSup:=\useKV[ClesStat]{DonneesSup}; + Reponses:=\useKV[ClesStat]{Reponses}; + epaisseurbatons=\useKV[ClesStat]{EpaisseurBatons}; + Qualitatif=\useKV[ClesStat]{Qualitatif}; + Tiret=\useKV[ClesStat]{Tiret}; + color CoulDefaut; + CoulDefaut=\useKV[ClesStat]{CouleurDefaut}; + Depart=\useKV[ClesStat]{Depart}; + % + pair A[],B[],P[]; + vardef toto(text t)=%points quantitatif + n:=0; + for p_=t: + if pair p_: + n:=n+1; + P[n]=((xpart(p_)-(xpartorigine))*unitex,ypart(p_)*unitey); + if xpart(p_)>maxx: + maxx:=xpart(p_)-(xpartorigine); + fi; + if ypart(p_)>maxy: + maxy:=ypart(p_); + fi; + A[n]=unitex*(xpart(p_)-(xpartorigine),0); + B[n]=unitey*(0,ypart(p_)); + fi; + endfor; + enddef; + vardef tutu(text t)=%points qualitatif + n:=0; + for p_=t: + if numeric p_: + P[n]=((n)*unitex,unitey*(p_-Depart)); + B[n]=(0,unitey*(p_-Depart)); + if p_>maxy: + maxy:=p_; + fi; + else: + n:=n+1; + A[n]=unitex*(n,0); + fi; + endfor; + maxy:=maxy-Depart; + maxx:=n; + enddef; +} + % Construction du graphique en bâtons \newcommand\MPStatNew[2]{% \ifluatex \mplibforcehmode \begin{mplibcode} - maxx:=0; - maxy:=0; - unitex:=\useKV[ClesStat]{Unitex}*cm; - unitey:=\useKV[ClesStat]{Unitey}*cm; - xpartorigine:=\useKV[ClesStat]{Origine}; - AngleRotation=\useKV[ClesStat]{AngleRotationAbscisse}; - boolean Rotation; - Rotation=\useKV[ClesStat]{AbscisseRotation}; - boolean Lecture; - Lecture:=\useKV[ClesStat]{Lecture}; - boolean LectureFine; - LectureFine:=\useKV[ClesStat]{LectureFine}; - boolean AideLecture; - AideLecture:=\useKV[ClesStat]{AideLecture}; - boolean DonneesSup; - DonneesSup:=\useKV[ClesStat]{DonneesSup}; - boolean Reponses; - Reponses:=\useKV[ClesStat]{Reponses}; - epaisseurbatons=\useKV[ClesStat]{EpaisseurBatons}; - boolean Qualitatif; - Qualitatif=\useKV[ClesStat]{Qualitatif}; - boolean Tiret; - Tiret=\useKV[ClesStat]{Tiret}; - color CoulDefaut; - CoulDefaut=\useKV[ClesStat]{CouleurDefaut}; - Depart=\useKV[ClesStat]{Depart}; + \MPStatNewCode % on r\'ecup\`ere les couleurs color Col[]; n:=0; @@ -514,42 +505,6 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis Col[n]=CoulDefaut; fi; endfor; - % - pair A[],B[],P[]; - vardef toto(text t)=%points quantitatif - n:=0; - for p_=t: - if pair p_: - n:=n+1; - P[n]=((xpart(p_)-(xpartorigine))*unitex,ypart(p_)*unitey); - if xpart(p_)>maxx: - maxx:=xpart(p_)-(xpartorigine); - fi; - if ypart(p_)>maxy: - maxy:=ypart(p_); - fi; - A[n]=unitex*(xpart(p_)-(xpartorigine),0); - B[n]=unitey*(0,ypart(p_)); - fi; - endfor; - enddef; - vardef tutu(text t)=%points qualitatif - n:=0; - for p_=t: - if numeric p_: - P[n]=((n)*unitex,unitey*(p_-Depart)); - B[n]=(0,unitey*(p_-Depart)); - if p_>maxy: - maxy:=p_; - fi; - else: - n:=n+1; - A[n]=unitex*(n,0); - fi; - endfor; - maxy:=maxy-Depart; - maxx:=n; - enddef; vardef tata(text t)=%affichage quantitatif l=0; for p_=t: @@ -659,33 +614,7 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis if Qualitatif: titi(#1); else:tata(#1); fi; \end{mplibcode} \else - \begin{mpost}[mpsettings={% - unitex:=\useKV[ClesStat]{Unitex}*cm; - unitey:=\useKV[ClesStat]{Unitey}*cm; - xpartorigine:=\useKV[ClesStat]{Origine}; - AngleRotation=\useKV[ClesStat]{AngleRotationAbscisse}; - boolean Rotation,Lecture; - Rotation=\useKV[ClesStat]{AbscisseRotation}; -% boolean Lecture; - Lecture:=\useKV[ClesStat]{Lecture}; - boolean LectureFine; - LectureFine:=\useKV[ClesStat]{LectureFine}; - boolean AideLecture; - AideLecture:=\useKV[ClesStat]{AideLecture}; - boolean DonneesSup; - DonneesSup:=\useKV[ClesStat]{DonneesSup}; - boolean Reponses; - Reponses:=\useKV[ClesStat]{Reponses}; - epaisseurbatons=\useKV[ClesStat]{EpaisseurBatons}; - boolean Qualitatif; - Qualitatif=\useKV[ClesStat]{Qualitatif}; - boolean Tiret; - Tiret=\useKV[ClesStat]{Tiret}; - color CoulDefaut; - CoulDefaut=\useKV[ClesStat]{CouleurDefaut}; - Depart=\useKV[ClesStat]{Depart};}] - maxx:=0; - maxy:=0; + \begin{mpost}[mpsettings={\MPStatNewCode}] % on r\'ecup\`ere les couleurs color Col[]; n:=0; @@ -698,24 +627,6 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis fi; endfor; % - pair A[],B[],P[]; - vardef toto(text t)=%points quantitatif - n:=0; - for p_=t: - if pair p_: - n:=n+1; - P[n]=((xpart(p_)-(xpartorigine))*unitex,ypart(p_)*unitey); - if xpart(p_)>maxx: - maxx:=xpart(p_)-(xpartorigine); - fi; - if ypart(p_)>maxy: - maxy:=ypart(p_); - fi; - A[n]=unitex*(xpart(p_)-(xpartorigine),0); - B[n]=unitey*(0,ypart(p_)); - fi; - endfor; - enddef; vardef tata(text t)=%affichage quantitatif l=0; for p_=t: @@ -741,22 +652,6 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis fi; endfor; enddef; - vardef tutu(text t)=%points qualitatif - n:=0; - for p_=t: - if numeric p_: - P[n]=((n)*unitex,unitey*p_); - B[n]=(0,unitey*p_); - if p_>maxy: - maxy:=p_; - fi; - else: - n:=n+1; - A[n]=unitex*(n,0); - fi; - endfor; - maxx:=n; - enddef; vardef titi(text t)=%affichage qualitatif l:=0; for p_=t: @@ -843,6 +738,102 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis \fi } +\def\NewMPStatCirculaireCodeQ{% + Rayon:=\useKV[ClesStat]{Rayon}; + ecarthachures=\useKV[ClesStat]{EcartHachures}; + epaisseurhachures=\useKV[ClesStat]{EpaisseurHachures}; + boolean AffichageAngle,AffichageDonnee,Hachures,Inverse,Legende,LegendeVide,Retour,ACompleter; + AffichageAngle=\useKV[ClesStat]{AffichageAngle}; + AffichageDonnee=\useKV[ClesStat]{AffichageDonnee}; + Hachures=\useKV[ClesStat]{Hachures}; + Inverse=\useKV[ClesStat]{LectureInverse}; + Legende=\useKV[ClesStat]{Legende}; + LegendeVide=\useKV[ClesStat]{LegendeVide}; + Retour=false; + ACompleter=\useKV[ClesStat]{ACompleter}; + % + pair A[],O,B[],C[],D[]; + O=(0,0); + n:=0; + numeric total[],ang[]; + total[0]=0; + ang[0]:=0; + path cc; + cc=(fullcircle scaled (2*Rayon)); + vardef AfficheLegende(text t)= + picture ResultatLegende; + ResultatLegende=image( + for p_=t: + if string p_: + n:=n+1; + C[n]=A[n-1] rotatedabout(O,if Inverse:-1* fi(ang[n]-ang[n-1])/2); + draw 0.95[O,C[n]]--1.05[O,C[n]]; + C[n]:=1.05[O,C[n]]; + Test(n); + if (xpart(C[n])>xpart(O)) and (ypart(C[n])>ypart(O)): + D[n]=C[n]+(0.5cm,0); + draw C[n]--D[n]; + if Retour=false:label.urt(TEX(p_),D[n]);fi; + fi; + if (xpart(C[n])<xpart(O)) and (ypart(C[n])>ypart(O)): + D[n]=C[n]-(0.5cm,0); + draw C[n]--D[n]; + if Retour=false:label.ulft(TEX(p_),D[n]);fi; + fi; + if (xpart(C[n])<xpart(O)) and (ypart(C[n])<ypart(O)): + D[n]=C[n]-(0.5cm,0); + draw C[n]--D[n]; + if Retour=false:label.llft(TEX(p_),D[n]);fi; + fi; + if (xpart(C[n])>xpart(O)) and (ypart(C[n])<ypart(O)): + D[n]=C[n]+(0.5cm,0); + draw C[n]--D[n]; + if Retour=false:label.lrt(TEX(p_),D[n]);fi; + fi; + fi; + endfor; + ); + ResultatLegende + % fi; + enddef; + vardef AfficheLegendePDF(text t)= + picture ResultatLegende; + ResultatLegende=image( + for p_=t: + if string p_: + n:=n+1; + C[n]=A[n-1] rotatedabout(O,if Inverse:-1* fi(ang[n]-ang[n-1])/2); + draw 0.95[O,C[n]]--1.05[O,C[n]]; + C[n]:=1.05[O,C[n]]; + Test(n); + if (xpart(C[n])>xpart(O)) and (ypart(C[n])>ypart(O)): + D[n]=C[n]+(0.5cm,0); + draw C[n]--D[n]; + if Retour=false:label.urt(LATEX(p_),D[n]);fi; + fi; + if (xpart(C[n])<xpart(O)) and (ypart(C[n])>ypart(O)): + D[n]=C[n]-(0.5cm,0); + draw C[n]--D[n]; + if Retour=false:label.ulft(LATEX(p_),D[n]);fi; + fi; + if (xpart(C[n])<xpart(O)) and (ypart(C[n])<ypart(O)): + D[n]=C[n]-(0.5cm,0); + draw C[n]--D[n]; + if Retour=false:label.llft(LATEX(p_),D[n]);fi; + fi; + if (xpart(C[n])>xpart(O)) and (ypart(C[n])<ypart(O)): + D[n]=C[n]+(0.5cm,0); + draw C[n]--D[n]; + if Retour=false:label.lrt(LATEX(p_),D[n]);fi; + fi; + fi; + endfor; + ); + ResultatLegende + % fi; + enddef; +} + % la construction du graphique qualitatif \def\NewMPStatCirculaireQ#1#2#3#4{% %#1 : la liste des données @@ -852,33 +843,12 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis \ifluatex \mplibforcehmode \begin{mplibcode} - Rayon:=\useKV[ClesStat]{Rayon}; - ecarthachures=\useKV[ClesStat]{EcartHachures}; - epaisseurhachures=\useKV[ClesStat]{EpaisseurHachures}; - boolean AffichageAngle; - AffichageAngle=\useKV[ClesStat]{AffichageAngle}; - boolean AffichageDonnee; - AffichageDonnee=\useKV[ClesStat]{AffichageDonnee}; - boolean Hachures; - Hachures=\useKV[ClesStat]{Hachures}; - boolean Inverse; - Inverse=\useKV[ClesStat]{LectureInverse}; - boolean Legende; - Legende=\useKV[ClesStat]{Legende}; - boolean LegendeVide; - LegendeVide=\useKV[ClesStat]{LegendeVide}; - boolean Retour; - Retour=false; - boolean ACompleter; - ACompleter=\useKV[ClesStat]{ACompleter}; - pair A[],O,B[],C[],D[]; - O=(0,0); - n:=0; - numeric total[],ang[]; - total[0]=0; - ang[0]:=0; - path cc; - cc=(fullcircle scaled (2*Rayon)); + \NewMPStatCirculaireCodeQ + if Inverse=false: + A[0]=point(0) of cc; + else: + A[0]=point(180) of cc; + fi; % on r\'ecup\`ere les couleurs color Col[]; n:=0; @@ -886,11 +856,6 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis n:=n+1; Col[n]=p_; endfor; - if Inverse=false: - A[0]=point(0) of cc; - else: - A[0]=point(180) of cc; - fi; vardef toto(text t)= n:=0; for p_=t: @@ -989,37 +954,6 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis draw (subpath(0,length cc/2) of cc)--cycle if Hachures: withpen pencircle scaled2 fi;; fi; n:=0; - if Legende: - for p_=t: - if string p_: - n:=n+1; - C[n]=A[n-1] rotatedabout(O,if Inverse:-1* fi(ang[n]-ang[n-1])/2); - draw 0.95[O,C[n]]--1.05[O,C[n]]; - C[n]:=1.05[O,C[n]]; - Test(n); - if (xpart(C[n])>xpart(O)) and (ypart(C[n])>ypart(O)): - D[n]=C[n]+(0.5cm,0); - draw C[n]--D[n]; - if Retour=false:label.urt(TEX(p_),D[n]);fi; - fi; - if (xpart(C[n])<xpart(O)) and (ypart(C[n])>ypart(O)): - D[n]=C[n]-(0.5cm,0); - draw C[n]--D[n]; - if Retour=false:label.ulft(TEX(p_),D[n]);fi; - fi; - if (xpart(C[n])<xpart(O)) and (ypart(C[n])<ypart(O)): - D[n]=C[n]-(0.5cm,0); - draw C[n]--D[n]; - if Retour=false:label.llft(TEX(p_),D[n]);fi; - fi; - if (xpart(C[n])>xpart(O)) and (ypart(C[n])<ypart(O)): - D[n]=C[n]+(0.5cm,0); - draw C[n]--D[n]; - if Retour=false:label.lrt(TEX(p_),D[n]);fi; - fi; - fi; - endfor; - fi; enddef; vardef Test(expr nb)= Retour:=false; @@ -1035,29 +969,13 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis enddef; Figure(-10u,-10u,10u,10u); toto(#1); + if Legende: + n:=0; + draw AfficheLegende(#1); + fi; \end{mplibcode} \else - \begin{mpost}[mpsettings={% - Rayon:=\useKV[ClesStat]{Rayon}; - ecarthachures=\useKV[ClesStat]{EcartHachures}; - epaisseurhachures=\useKV[ClesStat]{EpaisseurHachures}; - boolean AffichageAngle; - AffichageAngle=\useKV[ClesStat]{AffichageAngle}; - boolean AffichageDonnee; - AffichageDonnee=\useKV[ClesStat]{AffichageDonnee}; - boolean Hachures; - Hachures=\useKV[ClesStat]{Hachures}; - boolean Inverse; - Inverse=\useKV[ClesStat]{LectureInverse}; - boolean Legende; - Legende=\useKV[ClesStat]{Legende}; - boolean LegendeVide; - LegendeVide=\useKV[ClesStat]{LegendeVide}; - boolean ACompleter; - ACompleter=\useKV[ClesStat]{ACompleter}; - }] - boolean Retour; - Retour=false; + \begin{mpost}[mpsettings={\NewMPStatCirculaireCodeQ}] pair A[],O,B[],C[],D[]; O=(0,0); n:=0; @@ -1175,40 +1093,6 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis else: draw (subpath(0,length cc/2) of cc)--cycle if Hachures: withpen pencircle scaled2 fi;; fi; - n:=0; - if Legende: - for p_=t: - if string p_: - n:=n+1; - C[n]=A[n-1] rotatedabout(O,if Inverse:-1* fi(ang[n]-ang[n-1])/2); - draw 0.95[O,C[n]]--1.05[O,C[n]]; - C[n]:=1.05[O,C[n]]; - Test(n); - if Retour=false: - if (xpart(C[n])>xpart(O)) and (ypart(C[n])>ypart(O)): - D[n]=C[n]+(0.5cm,0); - draw C[n]--D[n]; - label.urt(LATEX(p_),D[n]); - fi; - if (xpart(C[n])<xpart(O)) and (ypart(C[n])>ypart(O)): - D[n]=C[n]-(0.5cm,0); - draw C[n]--D[n]; - label.ulft(LATEX(p_),D[n]); - fi; - if (xpart(C[n])<xpart(O)) and (ypart(C[n])<ypart(O)): - D[n]=C[n]-(0.5cm,0); - draw C[n]--D[n]; - label.llft(LATEX(p_),D[n]); - fi; - if (xpart(C[n])>xpart(O)) and (ypart(C[n])<ypart(O)): - D[n]=C[n]+(0.5cm,0); - draw C[n]--D[n]; - label.lrt(LATEX(p_),D[n]); - fi; - fi; - fi; - endfor; - fi; enddef; vardef Test(expr nb)= Retour:=false; @@ -1224,6 +1108,10 @@ Barre=false,Longueur=10cm,Hauteur=5mm,Bicolore=false,EcartBarre=0%Grille est dis enddef; Figure(-10u,-10u,10u,10u); toto(#1); + if Legende: + n:=0; + draw AfficheLegendePDF(#1); + fi; \end{mpost} \fi }% |