5

I would like to make a graph in tikz as in enter image description here

However I would like to have an implies symbol instead of an arrow. How can I make a figure such as above but with implies (as well as not implies signs) as edges?

6
  • By implies do you mean a \Rightarrow ? (ie one with a double horizontal bar? – Thruston Jun 12 '14 at 13:57
  • 4
    Did you try \tikz \graph[edges=double] { a -> { b, c} -> d };? Is that what you need? – Thruston Jun 12 '14 at 14:13
  • @Thruston: Thanks a lot,+1. (Wonder why I could not find this in the manual) and suppose one also needs a not implies sign i.e. the sign as above but with a slanted line segment that cuts through it, is it ok to overlay or is there a more direct and elegant way like the one you have suggested? Cheers – Abhimanyu Arora Jun 12 '14 at 14:31
  • I'd suggest that you create the graph you want with edges=double and use some form of edge label for the not sign. If you update the question with your effort, you might get some more detailed suggestions or answers. – Thruston Jun 12 '14 at 21:21
  • 1
    You can use a decoration to put the slash midway. – user11232 Jun 12 '14 at 23:56
4

you can use double and implies (Note: the credit goes to @percusse for not implie command (i.e. degil).

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs,decorations.pathmorphing,decorations.markings} 
\usetikzlibrary{arrows}

\tikzset{degil/.style={
            decoration={markings,
            mark= at position 0.5 with {
                  \node[transform shape] (tempnode) {$\backslash$};
                  }
              },
              postaction={decorate}
}
}


\begin{document}
\begin{tikzpicture}[>=stealth,>=implies]
 \graph  {
  a ->[double] {b,c} ->[double,degil] d
};
\end{tikzpicture}
\end{document}

enter image description here

4

Perhaps this...

\documentclass[tikz,border=5]{standalone}
\usetikzlibrary{graphs,graphs.standard,arrows}
\tikzgraphsset{
  implies/.style={edges={double, double equal sign distance, -implies}},
  not implies/.style={implies,
    edge node={ node [sloped, xscale=-1] {$\backslash$} }
  },
  !/.style={not implies}
}
\begin{document}
\tikz\graph [implies] {
  a -> {b, c} ->[!] d;
};
\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.