我尝试将答案应用到分割矩形的最小高度(非常感谢 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 中很少使用 ,而是使用align
或rectangle 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}