在 tikz-cd 图中手动移动单元格

在 tikz-cd 图中手动移动单元格

有没有办法移动 tikz-cd 图中单个单元格?到目前为止,我的方法是将单元格的内容放在节点内,这样我就可以使用常用的 tikz 选项移动此节点

xshift, yshift

此解决方案的问题在于,它还会移动图的其余部分,而这些部分会“妨碍”移位操作。下面是一个最小示例来说明此问题。

\begin{tikzcd}
\node (1-1) {a}; & \node (1-2) {b}; \\
\node (2-1) {c}; & \node (2-2) [yshift=1cm] {d}; \\
\ar[from=1-1, to=1-2]
\ar[from=1-1, to=2-1]
\ar[from=1-2, to=2-2]
\ar[from=2-1, to=2-2]
\end{tikzcd}

这段代码确实按预期将“d”向上移动了 1 厘米,但它也将图的第一行向上移动了 1 厘米,这是我想避免的效果。

顺便说一句,当使用 tikz-cd 单元内的节点时,我在图表中添加箭头的方式似乎是唯一的可能性。

答案1

tikz-cd[<your_width>]允许您修改图表后面单行的距离和图表第一行中\\单列的距离。&

利用这一点,您可以创建一个行/列,其中包含您想要定位在稍微上方/下方或左侧/右侧的节点,并且通过调整行/列距离,您就可以得到您想要的结果。

查看节点eeeeffff在我的 MWE 中:

\documentclass[a41empaperpt]{article}
\usepackage{tikz-cd}

\begin{document}
    \[
    \begin{tikzcd}
    aaaa&[-10pt] &&[-14pt] bbbb\\
    &eeee\ar[urr]&&\\[-16pt]
    &&ffff\ar[ul]&\\[-16pt]
    cccc\ar[uuu]\ar[uur]&&&dddd\ar[ul]\\
    \end{tikzcd}
    \]
\end{document}

在此处输入图片描述

相关内容