xymatrix 中的图表以及带箭头的问题

xymatrix 中的图表以及带箭头的问题

在下面的代码中,从左到右和从上到下的箭头混在一起,看起来像一个箭头。我该如何将它们分开,以便有一个箭头指向上方,一个箭头指向下方,并且左右箭头也一样?

\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"'表示标签位于箭头“下方”(即右侧)。

相关内容