在下面的代码中,从左到右和从上到下的箭头混在一起,看起来像一个箭头。我该如何将它们分开,以便有一个箭头指向上方,一个箭头指向下方,并且左右箭头也一样?
\documentclass[a4paper,11pt, oneside]{amsart} \usepackage[all]{xy}
\begin{document}
Consider the following diagram.
$$
\xymatrix{
A \ar[r]_{f} \ar[d]_{k} & \ar[l]_{g} \ar[d]^{s} B \\
C \ar[u]_{l} \ar[r]_{p} & D. \ar[l]_{q} \ar[u]^{t}
}
$$
\end{document}
答案1
您想移动箭头。
\documentclass[a4paper,11pt, oneside]{amsart}
\usepackage[all,cmtip]{xy}
\begin{document}
Consider the following diagram.
\[
\xymatrix{
A \ar@<-0.5ex>[r]_{f} \ar@<-0.5ex>[d]_{k} & \ar@<-0.5ex>[l]_{g} \ar@<0.5ex>[d]^{s} B \\
C \ar@<-0.5ex>[u]_{l} \ar@<-0.5ex>[r]_{p} & D\rlap{.} \ar@<-0.5ex>[l]_{q} \ar@<0.5ex>[u]^{t}
}
\]
\end{document}
请注意,添加了一个cmtip
选项,可制作出优质箭头,而如果没有该选项,则会得到糟糕的箭头。
和tikz-cd
:
\documentclass[a4paper,11pt, oneside]{amsart}
\usepackage{tikz-cd}
\begin{document}
Consider the following diagram.
\[
\begin{tikzcd}
A \arrow[r,shift right=0.5ex,"f"'] \arrow[d,shift right=0.5ex,"k"'] &
B \arrow[l,shift right=0.5ex,"g"'] \arrow[d,shift left=0.5ex,"s"] \\
C \arrow[u,shift right=0.5ex,"l"'] \arrow[r,shift right=0.5ex,"p"'] &
D\rlap{.} \arrow[l,shift right=0.5ex,"q"'] \arrow[u,shift left=0.5ex,"t"]
\end{tikzcd}
\]
\end{document}
我认为这更自然:左右是相对于箭头方向的。 像 这样的引号"f"'
表示标签位于箭头“下方”(即右侧)。