[Tex/LaTex] Dotted and bent xy matrix arrow has non-dotted turns

arrowsxy-pic

I have this diagram I'm doing with xypic, and I want to make bent arrows going from the top to the bottom of the diagram. So I re-learn the syntax for bending around entries. THen I decide I want those arrows dotted. So I add the extra commands and end up with this:

\documentclass[a4paper]{report}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage[all]{xy}

\begin{document}
\[\xymatrix{
 & & M(\omega)\ar@{-}@/_.1pc/[ddr]\ar@{-}@/_.1pc/[dl] & \\
 & M \ar@{-}@/_.1pc/[ddr] & & \\
 & & & K(\omega)\ar@{-}@/_.1pc/[dl] & \\
 & & K\ar@{..>}`[urr]`[uuur]_1[uuu]\ar@{..>}`[ull]`[uuul]^2[uuu]
}\]
\end{document}

I finally get to typeset and… WHAT?

enter image description here

Why are those turns not dotted and is there a way to get them dotted like the rest of the arrow shaft?

Best Answer

I fear, this is not possible. Please see here dotted or colored arc in \xymatrix (not a great reference as I was the only to answer and did not score impressive points with that... :-) )

However, I recommend switching to here. Please see my MWE:

% arara: pdflatex

\documentclass[a4paper]{report}
\usepackage{tikz-cd}

\begin{document}
\[
\begin{tikzcd}[column sep={2cm,between origins},row sep={1.5cm,between origins}] % can be left away, but it makes the rectangle parallel
    & & M(\omega)\arrow[dash]{dl}\arrow[dash]{ddr} & \\
    & M\arrow[dash]{ddr}  & & \\
    & & & K(\omega)\arrow[dash]{dl} & \\
    & & 
    K
    \arrow[dotted, rounded corners, to path={-- ([xshift=-2.8cm]\tikztostart.west) \tikztonodes  |- (\tikztotarget)}]{uuu}[near end,swap]{2} % rounded corners=10 if you want the same as with xy
    \arrow[dotted, rounded corners, to path={-- ([xshift=2.8cm]\tikztostart.east) \tikztonodes  |- (\tikztotarget)}]{uuu}[near end]{1}
    &
\end{tikzcd}
\]
\end{document}

enter image description here


I was not able to set the labels onto the middle of the arrows (or had not enough time...). Please see the manual and other post on how to use \tikztonodes correctly. It could be that you will need to set two phantom nodes here.

Related Question