xypic 中的垂直共纤维化箭头

xypic 中的垂直共纤维化箭头

我想使用xypic垂直共纤维化箭头,即看起来像的$\rightarrowtail$。天真地使用

\ar@{>->}

给出一个箭头,其尾部与源对象重叠。 中有一个练习xyguide 可以解决这个问题:

\newdir{ >}{{}*!/-5pt/@{>}}

但是,将其用于垂直箭头会导致尾部水平移动,并且不会附着在箭头杆上。我该如何解决这个问题,或者有没有更好的方法在 xypic 中制作这样的箭头?这是我迄今为止见过的最好的方法,但结果并不出众。

这是 MWE

\documentclass{article}
\usepackage[all]{xy}
\newdir{ >}{{}*!/-5pt/@{>}}

\begin{document}
\[
\xymatrix{
 S_{P} \ar@{=}[r] \ar@{ >->}[d] & S_{P} \ar@{->>}[r] \ar@{ >->}[d] & 0 \ar@{ >->}[d] \\
 R' \ar@{ >->}[r] \ar@{->>}[d] & R \ar@{->>}[r] \ar@{->>}[d] & M \ar@{=}[d] \\ 
 P' \ar@{ >->}[r] & P \ar@{->>}[r] & M
}
\]
\end{document}

在此处输入图片描述

答案1

在现有示例中进行一行更改,添加cmtip

\usepackage[all,cmtip]{xy}

给出结果:

原始示例的输出,其中代码已更改,如下所示

答案2

正如您所说的,从用户指南中,我们有\newdir{ >}{{}*!/-7pt/\dir{>}}

请注意第一次使用之前的空白>

編輯:我将值改为-7pt。选择对你来说更有利的值。)

然后你就将它用作\ar@{ >->}

查看结果:

在此处输入图片描述

答案3

如果您愿意切换到tikz-cd,这里是相同的图表:

\documentclass{article}
\usepackage{tikz-cd}

\begin{document}

\[
\begin{tikzcd}
S_{P} \arrow[equal]{r} \arrow[tail]{d} &
 S_{P} \arrow[two heads]{r} \arrow[tail]{d} &
 0 \arrow[tail]{d} \\
R' \arrow[tail]{r} \arrow[two heads]{d} &
 R \arrow[two heads]{r} \arrow[two heads]{d} &
 M \arrow[equal]{d} \\
P' \arrow[tail]{r} & P \arrow[two heads]{r} & M
\end{tikzcd}
\]

\end{document}

在此处输入图片描述

相关内容