verbatimtex
%&latex
\documentclass{article}
\usepackage[latin1]{inputenc}
\begin{document}
etex

input geometriesyr12;

string pos,sol;

%Macro pour représenter graphiquement les solutions d'une inéquation
vardef soline(expr valeur,ang)=
  save $;
  picture $;
  pair ww;
  $=image(
    ww=placepoint(valeur,0);
    marque_p:="plein";
    pointe(ww);
    marque_p:="non";
    if pos="inf":
      draw hachurage(placepoint(valeur,0.4)--placepoint(valeur,-0.4)--placepoint(5,-0.4)--placepoint(5,0.4)--cycle,ang,0.3,0);
      if sol="non":
	draw placepoint(valeur+0.3,0.5)--placepoint(valeur,0.5)--placepoint(valeur,-0.5)--placepoint(valeur+0.3,-0.5) withpen pencircle scaled 2bp
      elseif sol="oui":
	draw placepoint(valeur-0.3,0.5)--placepoint(valeur,0.5)--placepoint(valeur,-0.5)--placepoint(valeur-0.3,-0.5) withpen pencircle scaled 2bp
      fi;
    elseif pos="sup":
      draw hachurage(placepoint(valeur,0.4)--placepoint(valeur,-0.4)--placepoint(-5,-0.4)--placepoint(-5,0.4)--cycle,ang,0.3,0);
      if sol="non":
	draw placepoint(valeur-0.3,0.5)--placepoint(valeur,0.5)--placepoint(valeur,-0.5)--placepoint(valeur-0.3,-0.5) withpen pencircle scaled 2bp
      elseif sol="oui":
	draw placepoint(valeur+0.3,0.5)--placepoint(valeur,0.5)--placepoint(valeur,-0.5)--placepoint(valeur+0.3,-0.5) withpen pencircle scaled 2bp
      fi;
    fi;
    );
  $
enddef;

figure(0,0,10u,2u);
cadre((0,0),(10,2));
pair O;
trace grille(0.5) withcolor gris;
origine((10,2));
unites(1,1);
drawarrow placepoint(-5,0)--placepoint(5,0) withpen pencircle scaled 2bp;
graduantx.bot;
O=placepoint(0,0);
marque_p:="plein";
pointe(O);
label.bot(btex $O$ etex,O);
pos:="sup";
sol:="oui";
draw soline(3,120) withcolor bleu;
label.bot(btex $\underbrace{\hbox to8cm{}}_{\mbox{\footnotesize Ce qui ne convient pas}}$ etex,iso(placepoint(3,-0.4),placepoint(-5,-0.4)));
fin;
figure(0,0,10u,2u);
cadre((0,0),(10,2));
pair O;
trace grille(0.5) withcolor gris;
origine((10,2));
unites(1,1);
drawarrow placepoint(-5,0)--placepoint(5,0) withpen pencircle scaled 2bp;
graduantx.bot;
O=placepoint(0,0);
marque_p:="plein";
pointe(O);
label.bot(btex $O$ etex,O);
pos:="inf";
sol:="non";
draw soline(-1,60) withcolor bleu;
label.bot(btex $\underbrace{\hbox to6cm{}}_{\mbox{\footnotesize Ce qui ne convient pas}}$ etex,iso(placepoint(-1,-0.4),placepoint(5,-0.4)));
fin;
end

    