编辑

编辑

我尝试将答案应用到分割矩形的最小高度(非常感谢 Alain Matthes)使用他们定义的mystrut

我修改了他们的代码,每行有两行nodepart

在他们代码的之后部分中% Split Rectangle,当我添加\centerline{......} \centerline{........}之后\nodepart{one} \mystrut,它只会修改第一行周围的框的高度而不是整个的\nodepart{one},我该如何修复它?

修改后的代码:

\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning}
\def\mystrut{\vrule height 1.5cm depth 1.5cm width 0pt} 

\begin{document}    

\begin{tikzpicture}[auto,
rect/.style={
    rectangle split,
    rectangle split parts=4,
    draw=black,
    rounded corners,
    text width = 3cm
}]  


% Split Rectangle
\node [rect] {
  \mystrut  \centerline{First} \\ \centerline{Item}
    \nodepart{two}\mystrut \centerline{Second} \\ \centerline{Item}
    \nodepart{three} \centerline{$\vdots$}
    \nodepart{four} \mystrut \centerline{Last} \\ \centerline{Item}
    };

\end{tikzpicture}
\end{document}    

结果:

在此处输入图片描述

答案1

您需要\mystrut在要添加空格的每一行上添加一个,包括每个部分的第二行(如果适用)。

比使用 更好\centerline,因为在 LaTeX 中很少使用 ,而是使用alignrectangle split parts align样式。

你想要这样的东西吗?

间隔盒

如果是这样,我认为使用inner xsep和玩起来更直接inner ysep

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.multipart}
\begin{document}
\begin{tikzpicture}[auto,
  rect/.style={
    rectangle split,
    rectangle split parts=4,
    draw=black,
    rounded corners,
    rectangle split part align=center,
    align=center,
    inner ysep=12mm,
    inner xsep=10mm,
  }]
  % Split Rectangle
  \node [rect] {%
    First\\Item
    \nodepart{two}Second\\Item
    \nodepart{three}$\vdots$
    \nodepart{four}Last\\Item%
  };
\end{tikzpicture}
\end{document}

编辑

如果您想要更多类似以下内容的内容:

可变高度

那么您可能想要使用\mystrut,但重新定义它以接受参数。在下面,第一个参数是高度,第二个参数是深度。对于双线节点,我们在第一行将第二个参数设置为零,在第二行将第一个参数设置为零。

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.multipart}
\newcommand*\mystrut[2]{\vrule height #1 depth #2 width 0pt}
\begin{document}
\begin{tikzpicture}[auto,
  rect/.style={
    rectangle split,
    rectangle split parts=4,
    draw=black,
    rounded corners,
    rectangle split part align=center,
    align=center,
%     inner ysep=12mm,
    inner xsep=10mm,
  }]
  % Split Rectangle
  \node [rect] {%
    \mystrut{15mm}{0pt}First\\\mystrut{0pt}{15mm}Item
    \nodepart{two}\mystrut{10mm}{0pt}Second\\\mystrut{0pt}{10mm}Item
    \nodepart{three}\mystrut{5mm}{5mm}$\vdots$
    \nodepart{four}\mystrut{25mm}{0pt}Last\\\mystrut{0pt}{25mm}Item%
  };
\end{tikzpicture}
\end{document}

相关内容