我想将四个矩形上下放置且不留任何空隙。下面的代码可以实现这一点,但是矩形之间总会留有一些空隙。
\begin{tikzpicture}
\node (dynamicdata) at (3,2) [draw, thick, minimum width=3cm, minimum height=2cm] {dynamic data};
\node (staticdata) [draw, thick, below=of dynamicdata.south, minimum width=3cm, minimum height=1cm] {static data};
\node (text) [draw, thick, below=of staticdata.south, minimum width=3cm, minimum height=1cm] {text};
\node (reserved) [draw, thick, below=of text.south, minimum width=3cm, minimum height=1cm] {reserved};
\end{tikzpicture}
我究竟做错了什么?
答案1
由于您没有向我们展示完整的代码,因此很难告诉您差距来自何处。因此,您的序言中可以包含任何内容。我假设您在某处有一个。\tikzset{node distance=0pt}
无论如何,除了 leandriis 在评论中提到的这一点之外,您可能会看到的效果outer sep
。然后,如果您有一张所有节点共享的图片thick,draw,minimum width=3cm
,您只需添加到选项中,nodes={outer sep=0pt,minimum width=3cm,draw,thick}
这样您就不必输入那么多,并且可以在需要时调整一次而不是多次。
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[node distance=0pt,nodes={outer sep=0pt,minimum width=3cm,draw,thick, minimum height=1cm}]
\node (dynamicdata) at (3,2) [minimum height=2cm] {dynamic data};
\node (staticdata) [below=of dynamicdata.south] {static data};
\node (text) [below=of staticdata.south] {text};
\node (reserved) [below=of text.south] {reserved};
\end{tikzpicture}
\end{document}