setas cruzadas em \xymatrix

setas cruzadas em \xymatrix

Eu gostaria de riscar setas em \xymatrix. Aqui está o que fiz até agora:

\documentclass{article}
\usepackage[all,cmtip]{xy}
\usepackage{amsmath}
\begin{document}
\xymatrix{ ABCDE\ar@{<->} |*@{x} [r]^<<<<<<<<{\text{label}}_<<<<<<<<{\text{label}} \ar[d]& F \ar[r] \ar[d]& G\ar[rr]\ar[d] && H\ar[d]\\
 ABCDEFGH\ar@{<->} |*@{x} [r] \ar[d]& II \ar[r] \ar[d]& JJ\ar[rr]^{\text{very long label}} \ar[d] && KK\ar[d]\\
 ABCD\ar [r] & EEE \ar[r] & FFF\ar[rr] && GGG
}
\end{document}

insira a descrição da imagem aqui

No entanto, a cruz nas setas que ligam ABCDE a F e ABCDEFGH a II não está no meio da seta, o que não parece muito bom. Como isso pode ser consertado?

Muito obrigado antecipadamente!

Responder1

Eu sei que você pediu uma xysolução, mas talvez valha a pena mudar para tikz-cd.

insira a descrição da imagem aqui

Aqui está o código:

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

\begin{document}

\[\begin{tikzcd}[column sep=1cm]
  ABCDE\arrow[r, leftrightarrow, "\times"{anchor=center},"\text{label}","\text{label}"{below}]\arrow[d] & F\arrow[r]\arrow[d] & G\arrow[rr]\arrow[d] && H\arrow[d]\\
  ABCDEFGH\arrow[r, leftrightarrow, "\times"{anchor=center}]\arrow[d] & II\arrow[r]\arrow[d] & JJ\arrow[rr,"\text{very long label}"]\arrow[d] && KK\arrow[d]\\
  ABCD\arrow[r] & EEE\arrow[r] & FFF\arrow[rr] && GGG
\end{tikzcd}\]

\end{document}

informação relacionada