resizebox doesn't respect linebreaks?
Use a tabular inside the box.
\resizebox{5cm}{!}{%
\begin{tabular}{@{}l@{}}
hello\\ world
\end{tabular}%
}
Both use a horizontal savebox to store and then scale the content. You can't have line breaks in this kind of boxes. While manual line breaks would be somehow possible (e.g. using some vertical stacked \hbox
es), automatic line breaking only works when a specific width is given.
The adjustbox
package supports a minipage=<length>
key which automatically places a minipage
around the content. Then line breaks will work.
It also has a tabular
key, which also allows the stacking of lines, e.g. using tabular=@{}l@{}
to left-align all lines without any separation on the right and left of the table. So your example could now be written as \adjustbox{tabular=@{}l@{},width=5cm}{Hello\\world\\}
. Note that the trailing \\
is mandatory when tabular
is used.
You can also use \shortstack{Hello\\world}
(maybe with \strut
s included) to get the line breaking. Then there is the minibox
package which provides a quick tabular
as macro \minibox
.