I really was working on this now for a long time. I need a tangent line on a parabola; here is my working example:
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{arrows,calc,intersections,decorations.markings}
\usepackage{relsize}
\begin{document}
\begin{tikzpicture}[
]
\draw[very thick, ->, >=stealth', line join=miter] (6,0) node(xline)[right] {$x_i$} -|
(0,6) node(yline)[above] {$y_i$};
\draw[blue,thick,name path = line 1] (4,1) coordinate () parabola (0,3);
\draw[blue,thick,name path = line 2] (4,2) coordinate ( ) parabola (0,4);
\draw[blue,thick,name path = line 3] (4,3) coordinate ( ) parabola (0,5);
\draw[dashed ,name path = line 4](1,0) coordinate () -- (1,5);
\draw[dashed ,name path = line 5](3,0) coordinate () -- (3,5);
\fill[red,name intersections={of=line 1 and line 4}] (intersection-1) circle (2pt) node { };
\end{tikzpicture}
\end{document}
Instead of the red dot I want a tangent line. Does anyone of you know how to do this?

\begin{tikzpicture}[
tangent/.style={
decoration={
markings,% switch on markings
mark=
at position #1
with
{
\coordinate (tangent point-\pgfkeysvalueof{/pgf/decoration/mark info/sequence number}) at (0pt,0pt);
\coordinate (tangent unit vector-\pgfkeysvalueof{/pgf/decoration/mark info/sequence number}) at (1,0pt);
}
},
postaction=decorate
},
use tangent/.style={
shift=(tangent point-#1),
x=(tangent unit vector-#1),
},
use tangent/.default=1
]
\draw[thick, <->, line join = miter->] (6,0) node(xline)[right] {$x_i$} -|
(0,6) node(yline)[above] {$y_i$};
\draw[dashed ,name path = line1](1,0) coordinate () -- (1,5);
\draw [blue,tangent=0.3,name path = line2] (4,1) parabola (0,3);
\fill[red,name intersections={of=line1 and line2}] (intersection-1) circle (2pt) node {};
\draw [orange, thick, use tangent] (-1,0) -- (1,0) ;
\end{tikzpicture}


Thanks Herbert for adding the pic!
Is there any way to say tangent = intersection?
– Gine Oct 01 '12 at 09:32