考虑以下代码:
\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=center
或align=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}