vardef AffichageB= path cadre; cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))-- (llcorner texto+(0.375cm,0)+(-eb,-eb))-- (llcorner texto+(0.375cm,0)+(0,-2eb))-- (llcorner texto+(0.625cm,0)+(0,-2eb))-- (llcorner texto+(0.625cm,0)+(eb,-eb))-- (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--(urcorner texto+(eb,0))--(urcorner texto+(0,eb))-- (ulcorner texto+(0.625cm,0)+(eb,eb))-- (ulcorner texto+(0.625cm,0))-- (ulcorner texto+(0.375cm,0))-- (ulcorner texto+(0.375cm,0)+(-eb,eb))-- (ulcorner texto+(0,eb))--(ulcorner texto+(-eb,0))--cycle; picture TEXT; TEXT=image( fill cadre withcolor if unknown colBloc : DarkPurple else: colBloc fi; draw texto; draw cadre; ); TEXT enddef; vardef AffichageBlocDef= path cadre; cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))-- (llcorner texto+(0.375cm,0)+(-eb,-eb))-- (llcorner texto+(0.375cm,0)+(0,-2eb))-- (llcorner texto+(0.625cm,0)+(0,-2eb))-- (llcorner texto+(0.625cm,0)+(eb,-eb))-- (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))-- (urcorner texto+(eb,eb)){dir165}..{dir-165}(ulcorner texto+(-eb,eb))--cycle; picture TEXT; TEXT=image( fill cadre withcolor if unknown colBloc : DarkPurple else: colBloc fi; draw texto; draw cadre; ); TEXT enddef; vardef Bloc(expr nombloc)= save $; picture $,texto; texto=image( label.lrt(LATEX("\bfseries\color{white}"&nombloc&""),if unknown _coinprec:(0,0) else: _coinprec fi); ); $=AffichageB shifted (if unknown _coinprec:(0,0) else : _coinprec fi - ulcorner AffichageB); _coinprec:=llcorner $; _coinprec:=_coinprec+(0,eb); $ enddef; vardef NouveauBloc(expr nombloc)= save $; picture $,texto; texto=image( label.lrt(LATEX("\bfseries\color{white} définir \colorbox{LightPurple}{\textcolor{white}{"&nombloc&"}}"),if unknown _coinprec:(0,0) else: _coinprec fi); ); $=AffichageBlocDef shifted (if unknown _coinprec:(0,0) else : _coinprec fi - ulcorner AffichageBlocDef); _coinprec:=llcorner $; _coinprec:=_coinprec+(0,eb); $ enddef;