在 tikz-cd 环境的两行中使用独立的列对齐?

在 tikz-cd 环境的两行中使用独立的列对齐?

我有一个(包含)序列,对于单行来说太长了,所以我被迫将其拆分成两行。上行包含 4 个较小的对象(和 1 个大对象),而下行包含 3 个大得多的对象。因此,如果两行共享列对齐,则上行会不必要地拉伸,甚至超出页面范围。这是我目前的情况:

在此处输入图片描述

请注意,目前上行中的最后一个对象与下行中的第一个对象相同,但这只是暂时的,因为我打算用蛇形箭头连接两行。

我的问题是,如果我将两行放在同一个tikzcd环境中,上行会被拉伸以适应下行的对齐。理论上,我可以进一步拆分序列,但这似乎浪费空间。有没有办法连接两行,同时每行都保持自己的列对齐?

这是乳胶代码:

    $$
    \begin{tikzcd}
    B_1^{\mathrm{ind}}(U,\mathbb{Z}) 
    \arrow[hook,"(VIII)"]{r} & 
    \hat{B}_1^{\mathrm{ind}}(U,\mathbb{Z}) 
    \arrow[hook,"(IX)"]{r} & 
    \tilde{B}_1^{\mathrm{ind}}(U,\mathbb{Z}) 
    \arrow[hook,"(X)"]{r} &
    B_1^{\mathrm{ind}} bigg(\Big( \prod\limits_{k=1}^N 
    \tilde{\mathrm{pr}}_k(U)^c \times \mathfrak{m}_k\Big)^c,\mathbb{Z}\bigg)
    \arrow[hook,"(XI)"]{r} & 
    B_1^{\mathrm{ind}} (\tilde{U},\mathbb{Z})
    \end{tikzcd}
    $$
    $$
    \begin{tikzcd}
    B_1^{\mathrm{ind}}(\tilde{U},\mathbb{Z}) 
    \arrow[equal,"(XII)"]{r} & 
    \bigcap\limits_{k=1}^N ( \mathrm{pr}_k)^{-1}_\# 
    B_1^{\mathrm{ind}}
    (\tilde{\mathrm{pr}}_k(U)\times \mathfrak{m}_k,\mathbb{Z}) 
    \arrow[equal,"(XIII)"]{r} &
    \bigcap\limits_{k=1}^N ( \tilde{\mathrm{pr}}_k)^{-1}_\# 
    B_1(\tilde{\mathrm{pr}}_k(U),\mathbb{Z}) & 
    B_1(U,\mathbb{Z}) 
    \arrow[hook',"(XIV)",swap]{l}
    \end{tikzcd}
    $$

答案1

一种方法是记住单独的tikzcds 并通过 连接它们overlay

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage[a4paper,left=1cm,top=2cm,bottom=1cm,right=1cm]{geometry}
\usepackage{tikz-cd}
\tikzset{every picture/.append style={remember picture}}
\begin{document}
\[
   \begin{tikzcd}
    B_1^{\mathrm{ind}}(U,\mathbb{Z}) 
    \arrow[hook,"(VIII)"]{r} & 
    \hat{B}_1^{\mathrm{ind}}(U,\mathbb{Z}) 
    \arrow[hook,"(IX)"]{r} & 
    \tilde{B}_1^{\mathrm{ind}}(U,\mathbb{Z}) 
    \arrow[hook,"(X)"]{r} &
    B_1^{\mathrm{ind}} bigg(\Big( \prod\limits_{k=1}^N 
    \tilde{\mathrm{pr}}_k(U)^c \times \mathfrak{m}_k\Big)^c,\mathbb{Z}\bigg)
    \arrow[hook,"(XI)"]{r} & |[alias=tr]|
    B_1^{\mathrm{ind}} (\tilde{U},\mathbb{Z})
    \end{tikzcd}
\]
\[  
    \begin{tikzcd}
    B_1^{\mathrm{ind}}(\tilde{U},\mathbb{Z}) 
    \arrow[equal,"(XII)"]{r} & 
    \bigcap\limits_{k=1}^N ( \mathrm{pr}_k)^{-1}_\# 
    B_1^{\mathrm{ind}}
    (\tilde{\mathrm{pr}}_k(U)\times \mathfrak{m}_k,\mathbb{Z}) 
    \arrow[equal,"(XIII)"]{r} &
    \bigcap\limits_{k=1}^N ( \tilde{\mathrm{pr}}_k)^{-1}_\# 
    B_1(\tilde{\mathrm{pr}}_k(U),\mathbb{Z}) & |[alias=br]|
    B_1(U,\mathbb{Z}) 
    \arrow[hook',"(XIV)",swap]{l}
    \end{tikzcd}
\]
\begin{tikzpicture}[overlay,remember picture]
\draw[-latex] (tr.east) to[out=0,in=0] (br.east);
\end{tikzpicture}
\end{document}

在此处输入图片描述

编辑:附加箭。

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage[a4paper,left=1cm,top=2cm,bottom=1cm,right=1cm]{geometry}
\usepackage{tikz-cd}
\tikzset{every picture/.append style={remember picture}}
\begin{document}
\[
   \begin{tikzcd}
    B_1^{\mathrm{ind}}(U,\mathbb{Z}) 
    \arrow[hook,"(VIII)"]{r} & 
    \hat{B}_1^{\mathrm{ind}}(U,\mathbb{Z}) 
    \arrow[hook,"(IX)"]{r} & 
    \tilde{B}_1^{\mathrm{ind}}(U,\mathbb{Z}) 
    \arrow[hook,"(X)"]{r} &
    B_1^{\mathrm{ind}} bigg(\Big( \prod\limits_{k=1}^N 
    \tilde{\mathrm{pr}}_k(U)^c \times \mathfrak{m}_k\Big)^c,\mathbb{Z}\bigg)
    \arrow[hook,"(XI)"]{r} & |[alias=tr]|
    B_1^{\mathrm{ind}} (\tilde{U},\mathbb{Z})
    \end{tikzcd}
\]
\[  
    \begin{tikzcd} |[alias=bl]|
    B_1^{\mathrm{ind}}(\tilde{U},\mathbb{Z}) 
    \arrow[equal,"(XII)"]{r} & 
    \bigcap\limits_{k=1}^N ( \mathrm{pr}_k)^{-1}_\# 
    B_1^{\mathrm{ind}}
    (\tilde{\mathrm{pr}}_k(U)\times \mathfrak{m}_k,\mathbb{Z}) 
    \arrow[equal,"(XIII)"]{r} &
    \bigcap\limits_{k=1}^N ( \tilde{\mathrm{pr}}_k)^{-1}_\# 
    B_1(\tilde{\mathrm{pr}}_k(U),\mathbb{Z}) & |[alias=br]|
    B_1(U,\mathbb{Z}) 
    \arrow[hook',"(XIV)",swap]{l}
    \end{tikzcd}
\]
\begin{tikzpicture}[overlay,remember picture]
\draw[-latex] (tr.east) to[out=0,in=0] (br.east);
\draw[-latex] (tr.east) to[out=0,in=180,looseness=1.6] (bl.west);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容