我想使用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}