How to make an arrow between arrows that is not sloped?

You could specify the to coordinate as the point on the same height as r1, but below r2. Additionally you can use shorten > (and shorten <, if needed) to adjust the length. Something like to=r1-|r2, shorten >=0.5em.

enter image description here

\documentclass{article}

\usepackage{tikz-cd}

\begin{document}
\begin{tikzcd}
& a \arrow[ld, "Rei"', no head, ""{name=r1}] \arrow[rd, "Rei", no head, ""{name=r2}] &                                \\
b \arrow["Neu"', no head, loop, distance=2em, in=305, out=235] &
& c \arrow[d, "PosRes", no head] \\
&                                                           & d
& \arrow[no head, from=r1, to=r1-|r2, dashed,shorten >=0.5em]
\end{tikzcd}
\end{document}

Almost the same as @gernot answer (+1, he beat me for a minute, but my code is wee bit shorter):

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

\begin{document}
    \begin{tikzcd}[arrows=-]
    & a \arrow[ld, "\mathrm{Rei}"', ""{name=r1}] 
        \arrow[rd, "\mathrm{Rei}" , ""{name=r2}] 
        &                                \\
b \arrow["\mathrm{Neu}"', loop, distance=2em, in=305, out=235] 
    &
        & c \arrow[d, "\mathrm{PosRes}"] \\
    &   & d
        & \arrow[from=r1, to=r2 |-r1, dashed, shorten >=0.5em]
    \end{tikzcd}
\end{document}

enter image description here


My code it is off-topic with the tag, but also the forgotten xy package can do the same code like tikz-cd. Here there is my MWE:

\documentclass[a4paper,12pt]{article}
\usepackage{mathtools}
\usepackage[all]{xy}
\begin{document}
\xymatrix@R=3pc@C=4pc{\ar @{} [dr] |{\hspace{2.1cm} -------}
& a \ar@{-}[dl]_{\mathrm{Rei}} \ar@{-}[dr]^{\mathrm{Rei}}& \\
b \ar@{-}@(dl,dr)_{\mathrm{Neu}}& & c \ar@{-}[d]^{\mathrm{Pos\,Res}}\\
 &  & d
}
\end{document}

The line are right...if you make a zoom you get the straight lines.

enter image description here

Tags:

Tikz Cd