![Tikz 节点部分高度](https://linux22.com/image/321038/Tikz%20%E8%8A%82%E7%82%B9%E9%83%A8%E5%88%86%E9%AB%98%E5%BA%A6.png)
你好我正在用 tikz 创建一个包含表格的图形
\begin{figure}[h!]
\centering
\begin{tikzpicture}
\node[rectangle split, rectangle split parts=6,
draw, minimum width=4cm,font=\small,
rectangle split part align={center}] (t1)
{ AAAAA
\nodepart{two}
AAAAbbbb
\nodepart{three}
cccc
\nodepart{four}
d sddas
\nodepart{five}
AAA lsd eresf
\nodepart{six}
lvxcxv};
\end{tikzpicture}
\caption{1} \label{fig:1}
\end{figure}
但是矩形的大小会根据其中的单词而有所不同。我可以将矩形的最大大小设置为固定大小吗?这怎么可能呢?
答案1
由于矩形垂直分割,minimum height
因此将被忽略。您可以\strut
为每个部分添加(或自定义支柱)。另一种选择是使用创建表matrix of nodes
;在最后一种方法中,您可以访问minimum height
节点。
下面我展示了四个构造:原始表、添加的表\strut
、添加自定义的表和使用为节点指定的\Mstrut
表:matrix of nodes
minimum height
\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.multipart,matrix}
% for a customized strut
\newcommand\Mstrut{\rule[-7pt]{0pt}{20pt}}
\begin{document}
\begin{tikzpicture}
\node[rectangle split, rectangle split parts=6,
draw, minimum width=4cm,font=\small,
rectangle split part align={center},minimum height=70pt] (t1)
{ AAAAA
\nodepart{two}
AAAAbbbb
\nodepart{three}
cccc
\nodepart{four}
d sddas
\nodepart{five}
AAA lsd eresf
\nodepart{six}
lvxcxv};
\end{tikzpicture}\quad
\begin{tikzpicture}
\node[rectangle split, rectangle split parts=6,
draw, minimum width=4cm,font=\small,
rectangle split part align={center},minimum height=70pt] (t1)
{ \strut AAAAA
\nodepart{two}
\strut AAAAbbbb
\nodepart{three}
\strut cccc
\nodepart{four}
\strut d sddas
\nodepart{five}
\strut AAA lsd eresf
\nodepart{six}
\strut lvxcxv};
\end{tikzpicture}\quad
\begin{tikzpicture}
\node[rectangle split, rectangle split parts=6,
draw, minimum width=4cm,font=\small,
rectangle split part align={center},minimum height=70pt] (t1)
{ \Mstrut AAAAA
\nodepart{two}
\Mstrut AAAAbbbb
\nodepart{three}
\Mstrut cccc
\nodepart{four}
\Mstrut d sddas
\nodepart{five}
\Mstrut AAA lsd eresf
\nodepart{six}
\Mstrut lvxcxv};
\end{tikzpicture}\quad
\begin{tikzpicture}
\matrix[
matrix of nodes,
nodes={minimum height=7ex,text width=4cm,align=center,draw},
row sep=-\pgflinewidth
] (mat)
{
AAAAA \\
AAAAbbbb \\
cccc \\
d sddas \\
AAA lsd eresf \\
lvxcxv \\
};
\end{tikzpicture}
\end{document}