在 TikZ 中使用“align”时分割节点填充

在 TikZ 中使用“align”时分割节点填充

考虑以下代码:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{shapes,positioning,fit}

\begin{document}

\begin{tikzpicture}
  \node[draw, rectangle split, rectangle split parts=2]{
    x y%
    \nodepart{two}{%
      \tikz \node[draw, rectangle] {bubble \\ gum};%
    }
  };
\end{tikzpicture}

\vspace{2em}

\begin{tikzpicture}
  \node[align=center, rectangle split part align={center, left}, draw, rectangle split, rectangle split parts=2]{
    x y%
    \nodepart{two}{%
      \tikz \node[draw, rectangle] {bubble \\ gum};%
    }
  };
\end{tikzpicture}

\vspace{2em}

\begin{tikzpicture}
  \node[align=left,draw, rectangle split, rectangle split parts=2]{
    x y%
    \nodepart{two}{%
      \tikz \node[draw, rectangle] {bubble \\ gum};%
    }
  };
\end{tikzpicture}

\end{document}

它产生以下内容:

节点对齐问题

在第一个示例中,内部节点正确嵌套在外部节点的中心。但是,内部节点内容中的换行符被忽略。

在外部节点的选项中添加align=centeralign=left会导致换行符被遵守,但内部节点不再居中。我不明白为什么会发生这种情况。

如何获得所需的行为:显示换行符并且内部节点位于外部节点的中心?

答案1

像这样 ?

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{shapes,positioning,fit}

\begin{document}

\begin{tikzpicture}
  \node[rectangle split part align={center, left}, draw, rectangle split, rectangle split parts=2]{
    x y%
    \nodepart{two}{%
      \tikz \node[align=center, draw, rectangle] {bubble \\ gum};%
    }
  };
\end{tikzpicture}

\vspace{2em}

\begin{tikzpicture}
  \node[draw, rectangle split, rectangle split parts=2]{
    x y%
    \nodepart{two}{%
      \tikz \node[align=left,draw, rectangle] {bubble \\ gum};%
    }
  };
\end{tikzpicture}

\end{document} 

在此处输入图片描述

相关内容