有没有办法为节点生成多行标签:
\node[label=below:{unit\\cell}] (one){\tikz{\draw (0,0)rectangle (1,1);}};
该示例产生“错误”的标签输出:细胞分裂
但是,以下代码:
\node (one){\tikz{\draw (0,0)rectangle (1,1);}};
\path (one) node [below,align=center] {unit\\cell};
产生正确的双线标签,但遗憾的是定位错误......
答案1
不要嵌套 TikZ 图片(除非你真的必须这样做),这会带来一些不小的后果。标签也是节点(几乎),只是位置不同。如果你draw
向节点添加选项,则无需额外绘制它的框。
您还可以将常规选项传递给标签节点(因为它是一个节点),如下所示
\begin{tikzpicture}
\node[draw,minimum size=1cm,label={[align=center]below:unit\\cell}] (one){};
\end{tikzpicture}
如果编写复杂的标签代码变得乏味,只需使用定位语法
\begin{tikzpicture}
\node[draw,minimum size=1cm] (one){};
\node[align=center,anchor=north] (lab) at (one.south) {unit\\cell};
\end{tikzpicture}
这会导致相同的结果。还有其他几种方法可以做到这一点,但对于这个简单的应用程序来说,没有必要使它复杂化。您也可以通过搜索定位库使用来找到许多示例。