如何在 TikZ 中仅更改一个节点部分的高度?

如何在 TikZ 中仅更改一个节点部分的高度?

我想将节点某一部分的高度更改为尽可能小。我该怎么做?

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
  \begin{tikzpicture}
    \node[rectangle split,rectangle split parts=3] {
      first
      \nodepart{second}
      \nodepart{third}
      third
    };
  \end{tikzpicture}
\end{document}

我希望第二部分(空的)的高度为 0.1 厘米。

答案1

您可以使用该键rectangle split empty part height设置空白部分的高度。但是,该键仅向内部宏添加具有给定高度的不可见规则。因此,高度一旦设置就不能减小。默认值为 1ex。覆盖该键将使用rectangle split every empty part={}删除所有先前设置的高度、深度和宽度值的键。

inner sep值仍然添加到空白部分周围,如果不减小该值,就很难使其变小。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
  \begin{tikzpicture}
    \node[rectangle split,rectangle split parts=3,draw] {
      XgX
      \nodepart{second}
      \nodepart{third}
      XgX
    };
  \end{tikzpicture}
  \begin{tikzpicture}
    \node[rectangle split,rectangle split parts=3,inner sep=0pt,
    rectangle split every empty part={},% delete existing height, depth and width
    rectangle split empty part height=0.1cm,
    draw] {
      XgX
      \nodepart{second}%
      \nodepart{third}
      XgX
    };
  \end{tikzpicture}
\end{document}

相关内容