为什么未设置文本宽度时 \linebreak 不起作用?

为什么未设置文本宽度时 \linebreak 不起作用?

这是我的代码:

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

第二行和第三行粘在一起。当我添加text width=5em此节点的样式时,一切都正常。我该如何实现它\linebreak,而无需明确指定节点宽度?谢谢。

答案1

只要设置文本的对齐方式,就可以使用\\,而不需要表格环境。

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

代码输出

答案2

以下示例在这里有效:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\tikz \node[rectangle split,draw,double]
  {first
    \nodepart{second}
    second
    \nodepart{third}
 third
};
\end{document}

\nodepart不需要换行。

答案3

您可以使用简单的表格环境,这样您就可以在不指定宽度的情况下获得换行符,还可以定义对齐方式。例如,结合draw选项查看节点部分:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\tikz \node[draw,rectangle split, rectangle split parts=2]
  {first\nodepart{second}
  \begin{tabular}{@{}c@{}}second\\third\end{tabular}};
\end{document}

多线节点

相关内容