3

I have four properties A, B, C, D and I am trying to summarize the logical implications between them into a single diagram. So far I have the following picture but I would like to have some of the implication arrows to be negated (say, the arrows from A to C, A to D, B to A, C to D and B to D).

enter image description here

\documentclass{article}    
\usepackage{tikz-cd}

\begin{document}
\begin{tikzcd}
  A 
    \arrow[Rightarrow, shift left=0.6ex]{d} 
    \arrow[Rightarrow, shift left=0.6ex]{dr}
    \arrow[Rightarrow, shift left=0.6ex]{r}
& B
    \arrow[Rightarrow, shift left=0.6ex]{l} 
    \arrow[Rightarrow, shift left=0.6ex]{d} 
\\
  C 
    \arrow[Rightarrow, shift left=0.6ex]{u}
    \arrow[Rightarrow, shift left=0.6ex]{r}
& D 
    \arrow[Rightarrow, shift left=0.6ex]{l}
    \arrow[Rightarrow, shift left=0.6ex]{ul}
    \arrow[Rightarrow, shift left=0.6ex]{u}
\end{tikzcd}
\end{document}

This is likely to be strongly related to this question, but I wonder if there is a simple solution, as it is a quite common situation.

1
  • @LaRiFaRi Done.
    – J.-E. Pin
    Sep 17, 2014 at 14:26

1 Answer 1

7

Do you want to have something like this? The credits go to percusse in his answer here.

I optimized the usage of styles a bit and enlarged the image for non touching arrows. The diagonal arrows in the middle got shorten a bit, as this will look better here.

% arara: pdflatex

\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{decorations.markings}
\tikzset{negated/.style={
        decoration={markings,
            mark= at position 0.5 with {
                \node[transform shape] (tempnode) {$\backslash$};
            }
        },
        postaction={decorate}
    }
}

\begin{document}
\begin{tikzcd}[arrows=Rightarrow, column sep=1.3cm, row sep=1.3cm, every arrow/.append style={shift left=0.8ex}]
    A 
    \arrow[negated]{d} 
    \arrow[negated, shorten <= 6pt,shorten >= 6pt]{dr}
    \arrow{r}
    & B
    \arrow[negated]{l} 
    \arrow[negated]{d} 
    \\
    C 
    \arrow{u}
    \arrow[negated]{r}
    & D 
    \arrow{l}
    \arrow[shorten <= 6pt,shorten >= 6pt]{ul}
    \arrow{u}
\end{tikzcd}
\end{document}

enter image description here

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