在 tikzcd 中移動 Mayer-Vietors 序列的箭頭和節點

在 tikzcd 中移動 Mayer-Vietors 序列的箭頭和節點

我遇到的問題是,對於直接求和,我希望箭頭向下,從第一個被加數開始,而不是從中間開始。沒問題,我可以移動箭頭。但是下一行的目標呢?我的臨時解決方案是一個手工製作的幻影盒(只是...)。

\documentclass{article}

\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{tikz-cd}
\newcommand*{\ZZ}{\mathbb{Z}}

   \begin{document}
\[
\begin{tikzcd}[row sep=small]
{}\rar\arrow[equal]{d} & H_3(V)\oplus H_3(C)\rar \arrow[equal,xshift=-4.5ex]{d}& {}\rar \arrow[equal]{d}{\sim}& {}\arrow[equal]{d}{\sim}\\
0 & 0..............& \ZZ & \ZZ\\
{}\rar& H_2(V)\oplus H_2(C)\rar \arrow[equal,xshift=-4.5ex]{d}& {}\rar \arrow[equal]{d}& {}\arrow[equal]{d}{\sim} \\
{} & 0.............. & 0& \ZZ\oplus \ZZ\\
{}\rar& H_1(V)\oplus H_1(C)\rar \arrow[equal,xshift=-4.5ex]{d}{\sim}& {}\rar& {} \\
 & \ZZ.............. & 0 & {}\\
\end{tikzcd}
\]
\end{document}

進一步的問題是如何使第二行之後的第一個箭頭更短(從右側開始)。

答案1

一些眼睛計算出的偏移,但它是:

\documentclass{article}

\usepackage{amsmath,amssymb,calc}
\usepackage{tikz-cd}

\newcommand*{\ZZ}{\mathbb{Z}}
\newcommand{\alignfirst}[3]{%
  \makebox[\widthof{$#2\oplus#3$}][l]{%
    \makebox[\widthof{$#2$}]{$#1$}%
  }%
}

\begin{document}
\[
\begin{tikzcd}[row sep=small]
{}\rar\arrow[equal]{d} &
  H_3(V)\oplus H_3(C)\rar \arrow[equal,xshift=-2.05em]{d} &
  {}\rar \arrow[equal]{d}{\sim} &
  {}\arrow[equal]{d}{\sim}
\\
0 & \alignfirst{0}{H_3(V)}{H_3(C)} & \ZZ & \ZZ
\\
{\qquad}\rar& H_2(V)\oplus H_2(C)\rar \arrow[equal,xshift=-2.05em]{d} &
  {}\rar \arrow[equal]{d} &
  {}\arrow[equal]{d}{\sim}
\\
{} & \alignfirst{0}{H_2(V)}{H_2(C)} & 0 & \ZZ\oplus \ZZ
\\
{\qquad}\rar& H_1(V)\oplus H_1(C)\rar \arrow[equal,xshift=-2.05em]{d}{\sim} &
  {}\rar \arrow[equal]{d} & {} 
\\
{\qquad} & \alignfirst{\ZZ}{H_1(V)}{H_1(C)} & 0 & {}\\
\end{tikzcd}
\]
\end{document}

在此輸入影像描述

相關內容