Tikz 节点部分高度

Tikz 节点部分高度

你好我正在用 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 nodesminimum 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}

在此处输入图片描述

相关内容