Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I've created the following diagram by using invisible arrows, I wonder if there is another solution without using them.

\documentclass{article}
\usepackage[all]{xy}
\newdir{:=}{{}} %creates an empty shaft directional, the ":=" is chosen "randomly"
\begin{document}
\[
\xymatrix{A\ar@/^{1pc}/[dd]^{a}="a"\ar@/_{1pc}/[dd]_{b}="b" & \ar@{:=}@/^{2.0pc}/[dd]^{{}}="a"\ar@{:=}@/_{3.8pc}/[dd]^{{}}="b"\ar@/^{1.5pc}/@{=>}^{X}"b";"a" & A'\ar@/^{1pc}/[dd]^{a'}="a"\ar@/_{1pc}/[dd]_{b'}="b"\\
\\
B &  & B'
}
\]
\end{document}

This gives the following diagram:

enter image description here

share|improve this question
add comment

1 Answer

You can simply name the label of your existing arrows, and then draw an arrow between them.

Note that in your code is actually doing that, but then you create an invisible arrow that you rename with the same name ("a"). It's a bit strange.

Here is a solution :

\documentclass{article}
\usepackage[all]{xy}
\begin{document}
\[
\xymatrix@=1.5cm{
Fx\ar@{..>}[r]^{\eta(x)}
\ar@/^1pc/[d]^{Fg}="a" \ar@/_1pc/[d]_{Fg'}="c"
& \tilde Fx\ar@/^1pc/[d]^{\tilde Fg}="b" \ar@/_1pc/[d]_{\tilde Fg'}="d"\\
%
Fy \ar@{..>}[r]^{\eta(y)}& \tilde Fy
\ar@{=>}@/_1pc/"a";"b"
\ar@{=>}@/^1pc/"c";"d"
}
\]
\end{document}

And the result:

enter image description here

Note also that you can choose the size of the rows and column of your diagram with \xymatrix@=<dimension>. It's more elegant than doubling all the columns and rows.

share|improve this answer
    
Thank you again Matsaya, the point is that I did it before (giving to all arrows different names and linking them) but I don't know why it did not work... Anyway, the point is that now the Fg -> F~g' arrow stops far from where I want it to stop (next to the F~x -> F~y), I tried to use "a"+<...,...>;"b"+<...,...> but it won't work! –  ubugnu Mar 21 '12 at 14:33
    
@ubugnu, I see what you want to do, but it doesn't work for me neither, and I don't know another way to do it. Sorry. Notice that "b"+< , > works for straight arrows. –  Matsaya Mar 21 '12 at 14:44
    
nevermind, I'll choose the invisible arrows solution, I can control more accurately positions of sources and targets, I thank you for your precious help –  ubugnu Mar 21 '12 at 14:54
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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