# Tikzpicture: draw edge from node to bent edge

I have an argumentation framework that has attacks on attacks. So basically what I would like to draw is nodes with edges and edges attacking these edges.

What I got so far:

\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2cm,
thick,main node/.style={circle,draw,font=\sffamily\Large\bfseries}]

\node[main node] (A) {A};
\node[main node] (B) [left of=A] {B};
\node[main node] (C) [above left of=A] {C};

\path[every node/.style={font=\sffamily\small}]
(A) edge [bend right] node [left] {} (B)
(B) edge [bend right] node [left] {} (A)
;
\path [every node/.style={font=\sffamily\small}]
(C) edge node [left] {} ($(A) !.5! (B)$)
;
\end{tikzpicture}


Which results into this graphic:

But as you can imagine, I would like the arrow from C→ (A→B) ending at the right position of the bent edge. Of course I could remove the bend right option, but this would lead to a graph that is not as readable as expected.

Any general approach how to fix this?

-

I think a relatively hassle free solution is placing arbitrary coordinates along the way

  \path[every node/.style={font=\sffamily\small}]
(A) edge [bend right] coordinate [pos=0.2] (top) (B)
(B) edge [bend right] (A)
;
\path [every node/.style={font=\sffamily\small}] (C) edge (top);


-
Hmm, yeah that is exactly what I was looking for! Thanks! – SebasZil Feb 28 at 18:26
@SebasZil My pleasure – percusse Feb 28 at 18:27

Just for comparison, here is a luamplib + Metapost alternative.

The key construction is point t of p which gives the (x,y) pair at time t along path p.

\documentclass[border=2mm]{standalone}
\usepackage{fontspec}
\setmainfont{Latin Modern Sans}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
beginfig(1);
path A, B, C, a[];
A = fullcircle scaled 16 shifted 20 right rotated -30;
B = A rotated -120;
C = B rotated -140;
a1 = center A .. { dir 220 } center B cutbefore A cutafter B;
a2 = center B .. { dir  40 } center A cutbefore B cutafter A;
a3 = center C .. point 0.5 of a1      cutbefore C;
forsuffixes $=A,B,C: draw$; label("\textbf{" & str $& "}", center$); endfor
interim ahangle := 32;
forsuffixes $=1,2,3: drawarrow a$; endfor
endfig;
\end{mplibcode}
\end{document}

-
Well your solution is not based on my initial setup and it looks a lot more complicated, I think @percusse had a great solution for it. – SebasZil Feb 29 at 11:30
It's only supposed to be an alternative! If you are happy with the TikZ solution that's great. I was just trying to show that MP has the point t of p mechanism that provides similar functions to the [pos=x] mechanism of TikZ. – Thruston Feb 29 at 22:13