Source
%% auteur : Péric
28.45 setxunit
-6.5 6.5 setxrange
-1.5 10.5 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

/f {setxvar
#rpn#  (5-3*x)/(x^2+x+1)
} def
/f' {setxvar
#rpn# 0
} def
/g {setxvar
#rpn# x+5
} def

/A {-2 3 div dup f} def
/B {4 dup f} def


gsave
   bleu
   2 setlinewidth
   continu
   -5 5 {f} (*-*) Courbe
grestore
gsave
   rouge
/arrowscale{1 2} def
1.5 settailletangente
2 3 div neg (f)tangente
4 (f) tangente

   .75 setlinewidth
   continu
   {g} courbe

<latex>
$y=x+5$
</latex>
4 dup g [1.5 dup] {1 1 atan}dltexlabel
(T) 3 dup g [2 dup] {1 1 atan} ultext

[A B -3 dup f] {point} papply
grestore