我有以下形式的图表,用包编写amscd
:
\begin{align*}
\begin{CD}
W @>\phi>> X \\
@V{a}V{b}V @V{c}V{d}V \\
Y @>\phi>> Z \\
\end{CD}
\end{align*}
它希望垂直箭头是相反方向的平行箭头,使得a
和c
指向下方,b
和d
指向上方。(对于那些理解这些术语的人来说,它是关于链复合体之间的同构。)
据我所知,amscd
不提供这些功能。您能给我展示一段提供此功能且同样易于使用的代码吗?
答案1
首先不要将其align*
用于单一对象和偏好equation*
。
CD 环境的简单交换图可以有指向
正确的
@>>>
左边
@<<<
向下
@VVV
向上
@AAA
双茎,无箭头
@=
无(用于填空)
@.
但是CD
不允许“双箭头”,您必须使用更专业的包。例如xy
:
\documentclass{article}
\usepackage{amsmath}
\usepackage[all,cmtip]{xy}
\begin{document}
\begin{equation*}
\xymatrix{
W \ar[r]^{\phi} \ar@<-2pt>[d]_{a} & X \ar@<-2pt>[d]_{c} \\
Y\ar@<-2pt>[u]_{b} \ar[r]^{\phi} & Z \ar@<-2pt>[u]_{d}
}
\end{equation*}
\end{document}
答案2
除了 egregs 答案之外,还可以使用该包tikz-cd
来实现这一点:
% arara: pdflatex
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}
W \arrow{r}{\phi} \arrow[shift right, swap]{d}{a}& X \arrow[shift right, swap]{d}{c}\\
Y \arrow{r}{\phi} \arrow[shift right, swap]{u}{b} & Z \arrow[shift right, swap]{u}{d}
\end{tikzcd}
\]
\end{document}