有没有办法移动 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>]
允许您修改图表后面单行的距离和图表第一行中\\
单列的距离。&
利用这一点,您可以创建一个行/列,其中包含您想要定位在稍微上方/下方或左侧/右侧的节点,并且通过调整行/列距离,您就可以得到您想要的结果。
查看节点eeee
并ffff
在我的 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}