我有一个 xymatrix,其中两个箭头相互交叉,比如说
\xymatrix{ \ar[dr] & \\ \ar[ur] & }
我希望一个箭头与另一个箭头交叉。我还希望能够在不使用结的情况下做到这一点;原因是我想绘制一些箭头刚好相交的图表和一些箭头不相交的图表,并且我希望它们具有统一的外观。
有一个关于如何做到这一点的例子xy-pic 用户指南,但 1) 我不太明白,2) 它似乎要求我将一个箭头穿过多个条目。我不想这样做;我实际上只想要两个箭头,其中一个箭头与另一个箭头交叉。
我尝试给“下”箭头添加一个空标签,但没有效果。有什么想法吗?
答案1
这并不是那么难。
挖一个洞:
\xymatrix{ \ar[dr]|\hole & \\ \ar[ur] & }
计算交点并挖洞:
\xymatrix{ \ar[drr]|!{[d];[r]}\hole & & \\ \ar[ur] & & }
答案2
有一个通用技巧,无论使用 xy-pic 还是 TikZ。当然,它也适用于弯曲箭头。
- 画出箭头,该箭头应穿过下方
- 绘制从上方穿过的箭头,但要粗且使用背景色
- 画出再次穿过上方的箭头,但正常情况下
例如:
\documentclass{article}
\usepackage[dvips,all]{xy}
\begin{document}
\xymatrix{ \ar[dr]& \\ \ar@*{[|(6)][white]}[ur]\ar[ur] & }
\end{document}
对于线条样式和颜色,需要一个功能强大的驱动程序。我使用了 dvips。