我在使用 TikZ-CD 为拓扑创建长正合序列时遇到了问题。我相当倾向于使用它,因为创建短正合序列的长正合序列(其中存在水平短序列的垂直链)需要使用 TikZ-CD,并且如果可能的话我真的希望保持一致。
但是,如果序列的中间项中有部分为 0,并且序列被分成两行(如果序列太长),则箭头在零点附近会变得不成比例地长,尝试使用“列分隔”也会出现同样的问题,只是箭头较短。另一方面,尝试使用“缩短”命令会在项周围留下尴尬的空白。
有什么方法可以让这些箭头具有固定的长度以避免这些问题?
梅威瑟:
\usepackage{tkz-graph,amsmath,amssymb,tikz-cd}
\begin{document}
Without shorten:
\[\begin{tikzcd}
0 \arrow[r] & H^0(\mathbb{R}\text{P}^n ; \mathbb{Z}_2) \arrow[r] & 0 \arrow[r] & H^0(\mathbb{R}\text{P}^n ; \mathbb{Z}_2) \arrow[r] & H^1(\mathbb{R}\text{P}^n ; \mathbb{Z}_2) & \mbox{} \\
\phantom{0} \arrow[r] & 0 \arrow[r] & H^1(\mathbb{R}\text{P}^n ; \mathbb{Z}_2) \arrow[r] & H^2(\mathbb{R}\text{P}^n ; \mathbb{Z}_2) \arrow[r] & 0 \arrow[r] & \cdots.
\end{tikzcd}\]
\mbox{}
With shorten:
\[\begin{tikzcd}[column sep=2ex]
0 \arrow[r] & H^0(\mathbb{R}\text{P}^n ; \mathbb{Z}_2) \arrow[r,shorten >=2ex] & 0 \arrow[r,shorten <=2ex] & H^0(\mathbb{R}\text{P}^n ; \mathbb{Z}_2) \arrow[r] & H^1(\mathbb{R}\text{P}^n ; \mathbb{Z}_2) & \mbox{} \\
\phantom{0} \arrow[r,shorten >=2ex] & 0 \arrow[r,shorten <=2ex,shorten >=2ex] & H^1(\mathbb{R}\text{P}^n ; \mathbb{Z}_2) \arrow[r] & H^2(\mathbb{R}\text{P}^n ; \mathbb{Z}_2) \arrow[r,shorten >=2ex] & 0 \arrow[r,shorten <=2ex] & \cdots.
\end{tikzcd}\]
Desired:
\[\begin{split}
0 &\longrightarrow H^0(\mathbb{R}\text{P}^n ; \mathbb{Z}_2) \longrightarrow 0 \longrightarrow H^0(\mathbb{R}\text{P}^n ; \mathbb{Z}_2) \longrightarrow H^1(\mathbb{R}\text{P}^n ; \mathbb{Z}_2) \mbox{} \\
\phantom{0} &\longrightarrow 0 \longrightarrow H^1(\mathbb{R}\text{P}^n ; \mathbb{Z}_2) \longrightarrow H^2(\mathbb{R}\text{P}^n ; \mathbb{Z}_2) \longrightarrow 0 \longrightarrow \cdots.
\end{split}\]
\end{document}```
答案1
您可以调整一些箭头的长度,但我不确定您是否真的需要在不相关的对象之间进行垂直对齐。
\documentclass{article}
\usepackage{
%tkz-graph,
amsmath,amssymb,tikz-cd
}
\begin{document}
\[
\begin{tikzcd}[column sep=0.45em]
0 \arrow[r] &[1em]
H^0(\mathbb{R}\mathrm{P}^n ; \mathbb{Z}_2) \arrow[r] &[-1em]
0 \arrow[r] &[1em]
H^0(\mathbb{R}\mathrm{P}^n ; \mathbb{Z}_2) \arrow[r] &[1em]
H^1(\mathbb{R}\mathrm{P}^n ; \mathbb{Z}_2) \\
{} \arrow[r] &
0 \arrow[r] &
H^1(\mathbb{R}\mathrm{P}^n ; \mathbb{Z}_2) \arrow[r] &
H^2(\mathbb{R}\mathrm{P}^n ; \mathbb{Z}_2) \arrow[r] &
0 \arrow[r] & \cdots.
\end{tikzcd}
\]
\bigskip
\[
\begin{aligned}
0 &\longrightarrow
H^0(\mathbb{R}\mathrm{P}^n ; \mathbb{Z}_2) \longrightarrow
0 \longrightarrow
H^0(\mathbb{R}\mathrm{P}^n ; \mathbb{Z}_2) \longrightarrow
H^1(\mathbb{R}\mathrm{P}^n ; \mathbb{Z}_2) \\[2ex]
&\longrightarrow
0 \longrightarrow
H^1(\mathbb{R}\mathrm{P}^n ; \mathbb{Z}_2) \longrightarrow
H^2(\mathbb{R}\mathrm{P}^n ; \mathbb{Z}_2) \longrightarrow
0 \longrightarrow \cdots.
\end{aligned}
\]
\end{document}
我更喜欢第二个版本。
实际上,我会这么做\rightarrow
,但这是个人喜好。