TikZ-cd 带中间零点的正合序列

TikZ-cd 带中间零点的正合序列

我在使用 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,但这是个人喜好。

在此处输入图片描述

相关内容