Well, this one was a little strange but I think I know what is happening. Let me take a brief detour: Consider the following construction
\draw (0,0) -- (1,1) node (a) {A};.
What we expect from this piece of code is to put a node after the main path is created. Notice that the node has no idea of the nature of the path. Even if we use [pos=0.xx]
it just looks for the last available path so there is no organic connection between the node placement and the path creation.
It turns out that edge
is a to
operation added in a similar manner without any relation whatsoever to the main path constructed before that. Another example (zoomed in)
\begin{tikzpicture}
\path[->,
draw,
line width=1mm % To make the arrowhead bigger
] (0,0);
\end{tikzpicture}
So, an arrowhead with a path of zero length. Same happens with the edge if we dissect one of your paths
\path [line] (leftrow1.two north) % This is the main path as the example above
edge[out=90, in=90] node {}(tripletoprow); % This is added afterwards without the
% line option in place creating the
% illusion that the path is having
% a disconnected arrowhead
so shorten makes things even worse because it's shortening a zero length path taking the arrowhead even further. Once we get the problem right, then, it's easy to fix the problem via shifting the line
option to the edge
;
\documentclass[preview,tikz,border=3mm]{standalone}
\usetikzlibrary{shapes, arrows}
\tikzset{line/.style={draw, latex'-},
seq/.style={rectangle split, rectangle split horizontal, rectangle split parts=#1, draw}
}
\begin{document}
\begin{tikzpicture}
\node [seq=3] (leftrow1) at (0cm, 4cm){};
\node [seq=3] (tripletoprow) at (4cm, 4cm){};
\path (leftrow1.two north) edge[out=90, in=90,line] (tripletoprow);
\end{tikzpicture}
\end{document}
Also see the manual for the \tikztonodes
operation to avoid the extra node{}
before the target point.
\documentclass[tikz,border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations}
\pgfdeclaredecoration{simple line}{initial}{%<------https://tex.stackexchange.com/a/216086/197451
\state{initial}[width=\pgfdecoratedpathlength-1sp]{\pgfmoveto{\pgfpointorigin}}
\state{final}{\pgflineto{\pgfpointorigin}}
}
\tikzset{
shift left/.style={decorate,decoration={simple line,raise=#1}},
shift right/.style={decorate,decoration={simple line,raise=-1*#1}},
}
\begin{document}
\begin{tikzpicture}[]
\tikzstyle{every node} = [circle, fill=red!30]
\node (a) at (0, 0) {A};
\node (b) at +(0: 5) {B};
\node (c) at +(60: 5) {C};
\foreach \from / \to in {a/b, b/c, c/a}
\draw [->] (\from) -- (\to);
\path[->,blue] (a) edge[shift left=4pt, shorten >=3em, shorten <= 3em] node[fill=none, above]{$e_2$}(b);
\path[->,orange] (b) edge[shift left=4pt, shorten >=3em, shorten <= 3em] node[fill=none, below]{$e_2$}(a);
\end{tikzpicture}
\end{document}
Best Answer
You're lucky:
\equiv
and\Rrightarrow
can be combined.One can also add the symmetric version: