# Why \linebreak doesn't work when text width is not set? [duplicate]

This is the code I have:

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


Second and third lines are glued to each other. When I'm adding text width=5em to the style of this node — everything works fine. How can I make this \linebreak work, without explicit specification of the node width? Thanks.

-

## migrated from stackoverflow.comOct 10 '11 at 10:42

This question came from our site for professional and enthusiast programmers.

## marked as duplicate by JakeMar 16 at 13:46

@Jake I agree, thanks for pointing it out –  yegor256 Dec 31 '12 at 12:32
–  Qrrbrbirlbel Nov 21 '13 at 21:23

As long as you set an alignment for the text, you can use \\ without needing a tabular environment.

\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}


-
This is a much nicer solution than the accepted answer. –  Andy Dec 28 '11 at 18:43

There following example works here:

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


With \nodepart you don't need a linebreak.

-

You could use a simple tabular environment, so you can get a line break without specifying the width, further you can define alignment. For example, together with draw option to see the node parts:

\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}


-