xypic:如何在两个没有共同目标和/或源的箭头之间创建箭头

xypic:如何在两个没有共同目标和/或源的箭头之间创建箭头

我使用隐形箭头创建了下图,我想知道是否有其他不使用它们的解决方案。

\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}

由此得出下图:

在此处输入图片描述

答案1

您可以简单地命名现有箭头的标签,然后在它们之间画一个箭头。

请注意,您的代码实际上正在执行此操作,但随后您创建了一个不可见的箭头,并将其重命名为相同的名称("a")。这有点奇怪。

这是一个解决方案:

\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}

结果如下:

在此处输入图片描述

还请注意,您可以使用 选择图表的行和列的大小\xymatrix@=<dimension>。这比将所有列和行加倍更优雅。

相关内容