将具有高度的矩形彼此对齐

将具有高度的矩形彼此对齐

我想将四个矩形上下放置且不留任何空隙。下面的代码可以实现这一点,但是矩形之间总会留有一些空隙。

\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}

在此处输入图片描述

相关内容