Voici son code :
input geometriesyr16.mp ; %%%%%%%%%%%%%%%%%% %% %%Ne pas oublier : export TEX=latex %% %%%%%%%%%%%%%%%%% vardef TEX primary s = write "verbatimtex" to "mptextmp.mp"; write "%&latex" to "mptextmp.mp"; write "\documentclass{article}" to "mptextmp.mp"; write "\usepackage{aeguill}" to "mptextmp.mp"; write "\usepackage[frenchb]{babel}" to "mptextmp.mp"; write "\usepackage{amsmath}" to "mptextmp.mp"; write "\usepackage{amsfonts}" to "mptextmp.mp"; write "\begin{document}" to "mptextmp.mp"; write "etex" to "mptextmp.mp"; write "btex " & s & " etex" to "mptextmp.mp"; write EOF to "mptextmp.mp"; scantokens "input mptextmp" enddef; %------------------------------------------------------------------------ % Arbre de Bernoulli à deux niveaux %------------------------------------------------------------------------ u:=1cm; figure (-8u,-8u,10u,8u); pair S,T[],U[]; numeric dx,dh,cr; dx:=3; dh:=1.5; cr:=0.1; for i:=1 upto 4: U[i]:=(2*dx*u,-i*dh*u); endfor T[1]:= 0.5[U[1],U[2]] shifted(-dx*u,0); T[2]:= 0.5[U[3],U[4]] shifted(-dx*u,0); S:= 0.5[T[1],T[2]] shifted(-dx*u,0); draw cr[S,T[1]]--(1-cr)[S,T[1]]; draw cr[S,T[2]]--(1-cr)[S,T[2]]; draw cr[T[1],U[1]]--(1-cr)[T[1],U[1]]; draw cr[T[1],U[2]]--(1-cr)[T[1],U[2]]; draw cr[T[2],U[3]]--(1-cr)[T[2],U[3]]; draw cr[T[2],U[4]]--(1-cr)[T[2],U[4]]; string a,na,pa,pna; a:="$A$"; na:="$\overline{A}$"; pa:="$\frac{1}{3}$"; pna:="$\frac{2}{3}$"; %----------- premier niveau label(TEX a,T[1]); label.ulft(TEX pa,0.6[S,T[1]]); label(TEX na,T[2]); label.llft(TEX pna,0.6[S,T[2]]); %----------- deuxième niveau supérieur label(TEX a,U[1]); label.ulft(TEX pa,0.6[T[1],U[1]]); label(TEX na,U[2]); label.llft(TEX pna,0.6[T[1],U[2]]); %----------- deuxième niveau inférieur label(TEX a,U[3]); label.ulft(TEX pa,0.6[T[2],U[3]]); label(TEX na,U[4]); label.llft(TEX pna,0.6[T[2],U[4]]); fin; %----------------------------------------------------------------------- %----------------------------------------------------------------------- end ;