How to change arrows to \Rightarrow, and draw two different arrows between two nodes
Here's one option using the tikz-cd package which facilitates the creation of commutative diagrams:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
& X\arrow[Rightarrow]{dr}{}\arrow[Rightarrow,to path={..controls +(-2.5,0.7) and +(-2.5,-0.7).. (\tikztotarget)}]{ddd}{} \\
A \arrow[Rightarrow]{ur}{}\arrow{r}{}\arrow{d} & B \arrow{r}{}\arrow{d} & C\arrow{r}{}\arrow{d} & D\arrow{d}\\
E \arrow[Rightarrow]{dr}{} \arrow{r}{} & F \arrow{r}{} & G\arrow{r}[color=red]{} & H\\
& I\arrow[Rightarrow]{ur}{}\\
\end{tikzcd}
\end{document}
If all the arrows should be given the style of \Rightarrow
, it's enough to use the arrows=Rightarrow
option:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[arrows=Rightarrow]
& X\arrow{dr}{}\arrow[to path={..controls +(-2.5,0.7) and +(-2.5,-0.7).. (\tikztotarget)}]{ddd}{} \\
A \arrow{ur}{}\arrow{r}{}\arrow{d} & B \arrow{r}{}\arrow{d} & C\arrow{r}{}\arrow{d} & D\arrow{d} \\
E \arrow{dr}{} \arrow{r}{} & F \arrow{r}{} & G\arrow{r}[color=red]{} & H \\
& I\arrow{ur}{}
\end{tikzcd}
\end{document}
I initially forgot question 2. You can use the in=
, out=
keys to bend the arrows:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[arrows=Rightarrow]
& X\arrow{dr}{}\arrow[to path={..controls +(-2.5,0.7) and +(-2.5,-0.7).. (\tikztotarget)}]{ddd}{} \\
A \arrow{ur}{}\arrow[out=30,in=150]{r}{}\arrow{d} & B \arrow[out=210,in=330]{l}{}\arrow{r}{}\arrow{d} & C\arrow{r}{}\arrow{d} & D\arrow{d} \\
E \arrow{dr}{} \arrow{r}{} & F \arrow{r}{} & G\arrow{r}[color=red]{} & H \\
& I\arrow{ur}{}
\end{tikzcd}
\end{document}
This is a little bit of a simplification and I've put the drawing commands into a foreach
loop. It's a little hard to understand what the end product should look like. Moreover, the coloring seems to be a PDF viewer issue since SumatraPDF doesn't exhibit this problem. The reqired arrow name is implies
and can be found in arrows
library documentation. I didn't want to make it too terse for the sake of simplification but it's certainly possible.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix,arrows,decorations.pathmorphing}
\begin{document}
\begin{tikzpicture}[>=implies]
\matrix (m) [matrix of math nodes, nodes in empty cells, row sep=3em, column sep=3em,
text height=1.5ex, text depth=0.25ex]
{ & X & & \\
A & B & C & D \\
E & F & G & H \\
& I & & \\};
\foreach[remember=\x as \lastx (initially 1)] \x in {2,...,4}{
\draw[double,->] (m-2-\lastx) -- (m-2-\x);
\draw[double,->] (m-3-\lastx) -- (m-3-\x);
}
\foreach \x in {1,...,4}{\draw[double,->] (m-2-\x) -- (m-3-\x);}
\draw[double,->] (m-1-2) -- (m-2-3);
\draw[double,->] (m-2-1) -- (m-1-2);
\draw[double,->] (m-4-2) -- (m-3-3);
\draw[double,->] (m-3-1) -- (m-4-2);
\draw[double,->] (m-1-2) .. controls ([xshift=-1.2cm]m-1-1) and ([xshift=-1.2cm]m-4-1) .. (m-4-2);
\end{tikzpicture}
\end{document}