2

I am trying to make a diagram where two arrows will be crossing one arrow. I have the current code for putting in one hole:

 \Omega \ar[r]|(.35)\hole^-{d} \ar[d]^-{e_*}

which seems to work just fine. But I can't quite seem to find a way to put in multiple holes using this command, and I haven't been able to figure out the (seemingly) more complicated approach using "Paths". What can I do? Thanks!

Edit: I also need to be able to position the hole where I need it, because the arrows passing through are curved and coming from the same source. Here is the code so far:

$\xymatrix@R=1.25cm@C=1cm{
\cdots \ar[r]& \Omega_c^{k-1}(\bbR^n\times\bbR)\ar[r]^-{d} \ar[d]^-{\pi_*} \ar @/_15pt/ [ddl]_(.25)K \ar @/_35pt/ [dd]_(.7){\id} & \Omega_c^{k}(\bbR^n\times\bbR)\ar[r]^-{d} \ar[d]^-{\pi_*} \ar @/_10pt/ [ddl]_(.25)K \ar @/_35pt/ [dd]_(.7){\id}& \Omega_c^{k+1}(\bbR^n\times\bbR)\ar[r]^-{d} \ar[d]^-{\pi_*} \ar @/_10pt/ [ddl]_(.25)K \ar @/_35pt/ [dd]_(.7){\id}& \cdots \\
\cdots \ar[r]|(.5)\hole& \Omega_c^{k-2}(\bbR^n)\ar[r]|(.35)\hole^-{d} \ar[d]^-{e_*} & \Omega_c^{k-1}(\bbR^n)\ar[r]|(.35)\hole^-{d} \ar[d]^-{e_*}& \Omega_c^{k}(\bbR^n)\ar[r]^-{d} \ar[d]^-{e_*}& \cdots \\
\cdots \ar[r]& \Omega_c^{k-1}(\bbR^n\times\bbR)\ar[r]^-{d} & \Omega_c^{k}(\bbR^n\times\bbR)\ar[r]^-{d} & \Omega_c^{k+1}(\bbR^n\times\bbR)\ar[r]^-{d} & \cdots
}$
Moriambar
  • 11,466

2 Answers2

4

You can add multiples holes by repeating the command. Ex :

\ar[r]|(.35)\hole^-{d}|(.65)\hole

P.S. xypic is capable to compute the intersection with other (straight) lines with the command

|!{[d];[u]}\hole

Some "complete" example :

\xymatrix{
A\ar[d] & B\ar[d] & C\ar[d] & D\ar[d]\\
E&F&G&H\ar[ulll]|!{[ul];[l]}\hole|!{[ull];[ll]}\hole
}
Moriambar
  • 11,466
PHL
  • 7,555
  • The first suggestion does the trick. I was trying to repeat the command like: \ar[r]|(.35)\hole|(.65)\hole^{d} which was not working. Thanks again! – Glen M Wilson Nov 01 '11 at 14:15
  • @GlenMWilson For me \ar[r]|(.35)\hole|(.65)\hole^{d} works fine. – PHL Nov 01 '11 at 14:24
  • Hmm... I'm using xypic version 3.7. Maybe that is to blame. I should probably update my TeX distribution one of these days. Also, I'm compiling with xelatex. I'll try just plain latex and see if that fixes things. – Glen M Wilson Nov 01 '11 at 14:52
0

One thing you should also note: the multiple holes should be writen in the order as the arrow shows. So this code does not work:

\ar[r]|(.65)\hole|(.35)\hole^{d}

This includes the holes whose positions are given by intersection !{[?];[?]}, or the default (0.5) position of |{Label}.

cozmoz
  • 41