用 tiKz 绘制同伦序列

用 tiKz 绘制同伦序列

我正在尝试绘制 Serre 纤维化的同伦序列。我一直在寻找如何绘制“蛇形图”的方法,但编写以下代码对我不起作用:

    \begin{tikzcd}[cramped, sep=small] 
    \cdots \rar
  &\pi_{n+1}(B,b_{0}) \arrow[r]
  & \pi_{n}(F,x_{0}) \arrow[r]
  & \pi_{n}(X,x_{0}) \arrow[r]
  & \pi_{n}(B,b_{0}) \arrow[r]
  & \pi_{n-1}(F,x_{0}) \arrow[r]
  & \cdots
  \arrow[dl, phantom, ""{coordinate, name=Z}]
        \arrow[dll,
                rounded corners,
                to path={ -- ([xshift=2ex]\tikztostart.east)
                |- (Z) [near end]\tikztonodes
                -| ([xshift=-2ex]\tikztotarget.west)
                -- (\tikztotarget)}] \\      
  \cdots \arrow[r]
  &\pi_{1}(B,b_{0}) \arrow[r]
  &\pi_{0}(F,x_{0}) \arrow[r]
  &\pi_{0}(X,x_{0}) \arrow[r]
  &\pi_{0}(B,b_{0}) \arrow[r]
  & 0
\end{tikzcd}

因为我想画这个: 在此处输入图片描述

代码如下: 在此处输入图片描述

答案1

正如第 1.2 节所述,TikZ-CD 手册

箭头目标可以通过方向参数指定,该方向参数由一串字符rldu(代表右、左、下、上)组成。

因此,您需要使用,dllllll因为您的目标单元格是一行d自己的和六列开始。

我添加了一个snakey键,可以自行查找辅助坐标(使用calc库,我们可以使用($(\tikztostart)!#1!(\tikztotarget)$))。

它们\tikztonodes沿着线段进行设置,以便节点的工作方式就像它们被放置在该段上一样(这样,就没有near end必要了)。

代码

\documentclass[tikz]{standalone}
\usetikzlibrary{cd}
\tikzcdset{
  snakey/.default=.5,
  snakey/.style={
    rounded corners,
    start anchor=east,
    end anchor=west,
    to path={
      [insert path/.expanded={(\tikztostart)edge[line to, path only]
                              coordinate[pos={#1}](@aux)(\tikztotarget)}]
      -|([xshift=2ex] \tikztostart |-@aux)
      --([xshift=-2ex]\tikztotarget|-@aux)\tikztonodes
      |-(\tikztotarget)}}}
\begin{document}
\begin{tikzcd}[cramped, sep=small] 
    \cdots             \arrow[r]
  & \pi_{n+1}(B,b_{0}) \arrow[r]
  & \pi_{n}(F,x_{0})   \arrow[r]
  & \pi_{n}(X,x_{0})   \arrow[r]
  & \pi_{n}(B,b_{0})   \arrow[r]
  & \pi_{n-1}(F,x_{0}) \arrow[r]
  & \cdots             \arrow[dllllll, snakey] \\
    \cdots             \arrow[r]
  &\pi_{1}(B,b_{0})    \arrow[r]
  &\pi_{0}(F,x_{0})    \arrow[r]
  &\pi_{0}(X,x_{0})    \arrow[r]
  &\pi_{0}(B,b_{0})    \arrow[r]
  & 0
\end{tikzcd}
\end{document}

输出

在此处输入图片描述

相关内容