从此开始问题有了第一张图片,
我想用包装重现绘画xy
作为训练。
\documentclass[a4paper,12pt]{article}
\usepackage[all,cmtip]{xy}
\begin{document}
\[\xymatrix@R=2pc{
H_{\bullet}(\Sigma X) \ar@/_1.8pc/[dr]_{\Delta} \ar[r]^(.45){c_*} & H_{\bullet}(\Sigma X\vee\Sigma X) \ar[d]_{j?} \ar[r]^(.6){(f\vee g)_*} & H_{\bullet}(Y) \\
& H_{\bullet}(\Sigma X)\oplus H_{\bullet}(\Sigma X) \ar@<2ex>[u]_{i_{1*}\oplus i_{2*}} \ar@/_1.8pc/[ur]_{f_*\oplus g_*} &}\]
\end{document}
我的输出是这样的:
我的疑问是:
- 为什么标签没有自动居中,而我被迫使用参数
\ar[r]^(.45){c_*}
?(见橙色矩形)。 - 如何创建两个向下和向上的箭头,并在向量两侧放置正确的标签?为了获得我使用的距离
\ar@<2ex>
(参见红色矩形)。
答案1
标签位于箭头的中间,但这个中间点是根据源单元格和目标单元格中心的距离确定的。当单元格中的对象宽度大致相同时,这是很好的,但在其他情况下绝对不行。
为了将标签放置在实际箭头的中间,请使用^-{<label>}
或。这是和 的_-{<label>}
简写。^(0.5)
_(0.5)
沿着弯曲箭头的定位总是需要纠正。
我还对称地移动了两个中心箭头。
\documentclass[a4paper,12pt]{article}
\usepackage[all,cmtip]{xy}
\begin{document}
\[
\xymatrix@R=2pc{
H_{\bullet}(\Sigma X)
\ar@/_1.8pc/[dr]_-{\Delta}
\ar[r]^-{c_*}
&
H_{\bullet}(\Sigma X\vee\Sigma X)
\ar@<-1ex>[d]_{j?}
\ar[r]^-{(f\vee g)_*}
&
H_{\bullet}(Y)
\\
&
H_{\bullet}(\Sigma X)\oplus H_{\bullet}(\Sigma X)
\ar@<-1ex>[u]_{i_{1*}\oplus i_{2*}}
\ar@/_1.8pc/[ur]_-{f_*\oplus g_*}
}
\]
\end{document}
无论如何,使用 Xy-pic 多年后,我现在更喜欢tikz-cd
。