Source
%% auteur : Péric
28.45 setxunit
-3.5 9 setxrange
-2 6 setyrange
1 1 settkstep
1 1 setmkstep
ticks
marks
traceaxes
axesarrow
unites

/titrait {%le point à marquer puis un point de la droite
4 dict begin 
/b defpoint
/a defpoint
/d {a a b vecteur arg 90 add dir 0.1 mulv translatepoint} def
/e {a a b vecteur arg -90 add dir 0.1 mulv translatepoint} def
[d e] ligne
end
} def

/coortrait{%comme dashpoint mais en dotted
4 dict begin
/y exch def
/x exch def
gsave dotted
[x 0 x y 0 y] ligne
grestore
end} def


/t {1.5} def
/A {5 -1} def
/B {3 3} def
/C {-2 1} def
/D {13 4 div -1 2 div } def
/E {21 5 div 3 5 div  } def
/F {8 5} def
/G {2 1} def


[A B C D E F G] {exch dup 3 1 roll exch dup 3 1 roll plus3 coortrait} papply
[A B C A] ligne
[B F] pointilles ligne
D F droite

(A) A [t dup] drtext
(B) B [t dup] urtext
(C) C [t dup] ultext
(D) D [t dup] drtext
(E) E [t dup] crtext
(F) F [t dup] ultext
(G) G [t dup] urtext