This question already has an answer here:

two arrows there are two arrows I need to show in my tikz picture, meaning: a). From A cannot get B; b). B can be derived from A, but not the other way around.

\draw[->] (a) -- (b) can get a normal arrow, but what's the command to get these special arrows?

marked as duplicate by Guilherme Zanotelli, Stefan Pinnow, ebosi, Zarko tikz-pgf Dec 5 '16 at 8:34

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • you can search for it on this site. There are plenty of them asked before – percusse Dec 5 '16 at 7:04
  • also related Q:51022 – percusse Dec 5 '16 at 8:09

For the strike out in the middle part the link Guilherme Zanotelli posted (Double arrow in TikZ?) can help, I used the highest voted answer there, by Jannis Pohlmann, for the code below.

To make the "half" arrow tips in your bottom figure, use the Straight Barb[left] arrow tip from the arrows.meta library.

enter image description here


    arrows.meta  %% <--

  barbarrow/.style={ % style that just defines the arrow tip
     >={Straight Barb[left,length=5pt,width=5pt]}
  strike through/.style={
      mark=at position 0.5 with {
        \draw[-] (-3pt,-3pt) -- (3pt, 3pt);

  \node (A1) at (0,1) { A };
  \node (B1) at (4,1) { B };

  \draw[-Stealth,strike through]  (A1) -- (B1);

  \node (A) at (0,0) { A };
  \node (B) at (4,0) { B };

  \draw[->,barbarrow]                ([yshift= 2pt] A.east) -- ([yshift= 2pt] B.west);
  \draw[<-,barbarrow,strike through] ([yshift=-2pt] A.east) -- ([yshift=-2pt] B.west);

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