resizebox 不尊重换行符?

resizebox 不尊重换行符?

我正在尝试放大一些文本。看起来\resizebox(from graphicx?) 和\adjustbox(from the adjustboxpackage) 忽略了换行符:

\resizebox{5cm}{!}{Hello\\
world}

有没有一种方法可以扩大尊重换行符的范围?

答案1

两者都使用水平保存框来存储内容,然后缩放内容。这种框中不能有换行符。虽然手动换行在某种程度上是可行的(例如使用一些垂直堆叠的\hboxes),​​但自动换行仅在给定特定宽度时才有效。

adjustbox软件包支持一个minipage=<length>键,可自动minipage在内容周围放置一个。然后换行符将起作用。
它还有一个tabular键,也允许堆叠行,例如使用tabular=@{}l@{}左对齐所有行,表格的左右两侧没有任何分隔。因此,您的示例现在可以写成。请注意,使用时必须使用\adjustbox{tabular=@{}l@{},width=5cm}{Hello\\world\\}尾随。\\tabular

您还可以使用\shortstack{Hello\\world}(可能\strut包含 s)来换行。然后有一个minibox提供快速tabular宏的包\minibox

答案2

在框内使用表格。

\resizebox{5cm}{!}{%
 \begin{tabular}{@{}l@{}}
  hello\\ world
 \end{tabular}%
 } 

相关内容