Source
%% auteur : Peric

-9 10 setxrange
-6 8 setyrange
28.45 setxunit
%50 setyunit

/plusg {
3 dict begin 
/k exch def
/b defpoint
[b up k mulv translatepoint b down k mulv translatepoint ] ligne
[b left k mulv translatepoint b right k mulv translatepoint ] ligne
end
} def


/xmarkstyle {[2 dup] dctext} def
/ymarkstyle {[2 dup] dltext} def
%marks
[-1 1] {xmark} apply
[1 0] {ymark} apply

%/quadrillagewidth[.3 .8 .8] def
%pointilles
/quadrillagegray 0.7 def
[1 1] quadrillage

continu
1.2 setlinewidth
1 setlinejoin
%0.5 0.5 setsubtkstep
traceaxes
ticks
%marks
%tracerepere
axesarrow

/f{2 mul 0 add} def
/g{-2 div 3 add} def
/k {neg 2 add} def 

gsave
xmin xmax {f} Courbe
xmin xmax {g} Courbe
xmin xmax {-3} Courbe
pointilles 
2 setlinewidth
xmin xmax {k} Courbe
grestore

<latex>
$C_f$
</latex>
-3 dup f  [1.5 dup] ultexlabel

<latex>
$C_g$
</latex>
9 dup g [1.5 dup] dltexlabel


<latex>
$C_h$
</latex>
-7 -3 [1.5 dup] urtexlabel

<latex>
$C_k$
</latex>
6.5 dup k [1.5 dup] dltexlabel
gsave
pointilles
[2 4 3 4] (->) ligne
[ 3 4 3 6] (->) ligne
grestore

<latex>
$+1$
</latex>
 2 4 3 4 milieu [1.5 dup] dctexlabel
<latex>
$+2$
</latex>
 3 4 3 6 milieu [1.5 dup] crtexlabel 

gsave
/angleA {110} def
/angleB {-70} def
/fillstyle {blanc fill} def
/nodesep {0} def
(B) node
() 3.5 dup f cctext
boxit
(A) node
#latex# \textrm{pente : }$a=\frac{2}{1}=2$
5 5 [1.5 dup] crtexlabel
dotted
(A) (B) (->) nccurve
grestore

gsave
/angleA {-130} def
/angleB {50} def
/fillstyle {blanc fill} def
/nodesep {0} def
(B) node
() 0 0 cctext
boxit
(A) node
#latex# $b=0$
5 2.5 [1.5 dup] crtexlabel
dotted
(A) (B) (->) nccurve
grestore

gsave
pointilles
[-4 5 -4 4] (->) ligne
[-4 4 -2 4] (->) ligne
grestore

<latex>
$-1$
</latex>
-4 5 -4 4  milieu [1.5 dup] cltexlabel
<latex>
$+2$
</latex>
-4 4 -2 4 milieu [1.5 dup] dctexlabel 

gsave
/angleA {110} def
/angleB {250} def
/fillstyle {blanc fill} def
/nodesep {0} def
(B) node
() -7 dup g cctext
boxit
(A) node
#latex# \textrm{pente : }$a=\frac{-1}{2}=-\frac12$
-2 2.5 [1.5 dup] cltexlabel
dotted
(A) (B) (->) nccurve
grestore


gsave
/angleA {-90} def
/angleB {110} def
/fillstyle {blanc fill} def
/nodesep {0} def
(B) node
() 0 3 cctext
boxit
(A) node
#latex# $b=3$
-2 7[1.5 dup] cltexlabel
dotted
(A) (B) (->) nccurve
grestore

[0 2 3 -1] {0.2 plusg} papply