我如何强制 tikz-cd 中的箭头忽略它们来自(或去往)的单元格上的文本?

我如何强制 tikz-cd 中的箭头忽略它们来自(或去往)的单元格上的文本?

下面的代码

\documentclass{article}

\usepackage{tikz-cd}

\begin{document}
\begin{tikzcd}[column sep = tiny]
    {...}  & {-2} & {-1} & 0 & 1 & 2 & 3 & 4 & 5 & 6  & {...} \\
    {} &&&&&&& {} \\
    {} &&&&&&& {} \\
    {...}  & {-2} & {-1} & 0 & 1 & 2 & 3 & 4 & 5 & 6  & {...} \\
    \arrow[from=1-4, to=4-8]
    \arrow[from=1-6, to=4-6]
    \arrow[from=1-8, to=4-4]
    \arrow[from=1-2, to=4-10]
    \arrow[from=1-10, to=4-2]
\end{tikzcd}
\end{document}

得到下图:

在此处输入图片描述

出于明显的审美原因,我希望图形中的箭头在一个中心点相交。如何使用 tikz-cd 实现这一点?

答案1

问题在于,包含-符号的单元格比不包含符号的单元格更宽。由于箭头被绘制到单元格的中心,因此它们相对于图表的其余部分略微偏离中心。一种解决方案是minimum width为每个单元格设置。(如果您愿意,也可以将其减少column sep到 0。)

此外,如果您设置了 ,则只需要两行row sep,最后一行不应该\\在末尾(以便在图表后有适当的垂直间距)。最后,使用\cdots而不是{...}

在此处输入图片描述

\documentclass{article}

\usepackage{tikz-cd}

\begin{document}
\begin{tikzcd}[column sep=0pt, minimum width=8mm, row sep=2cm]
    \cdots & -2 & -1 & 0 & 1 & 2 & 3 & 4 & 5 & 6 & \cdots \\
    \cdots & -2 & -1 & 0 & 1 & 2 & 3 & 4 & 5 & 6 & \cdots
    \arrow[from=1-4, to=2-8]
    \arrow[from=1-6, to=2-6]
    \arrow[from=1-8, to=2-4]
    \arrow[from=1-2, to=2-10]
    \arrow[from=1-10, to=2-2]
\end{tikzcd}
\end{document}

相关内容