我需要一个满足以下条件的盒子:
- 它可以包含多行(和段落)文本(与 不同
\hbox
) - 比 更长的行将
\textwidth
拆分到下一行(类似\parbox
,\vbox
不同于\hbox
,\mbox
) - 盒子的内容被紧密包围。也就是说,盒子的宽度自动设置为内容的宽度(如
\hbox
、\vbox
和不同\parbox
)。因为 3. 盒子的宽度实际上应该是\textwidth
盒子内容宽度的最小值。高度是盒子内容的高度。
我怎样才能得到这样的行为?
答案1
varwidth
来自同名包的环境只需要一个长度,该长度将是允许的框宽度的最大值
\documentclass[a5paper]{article}
\usepackage{varwidth}
\begin{document}
\fbox{%
\begin{varwidth}{\textwidth}
some text
\end{varwidth}}
\fbox{%
\begin{varwidth}{\textwidth}
some more text to see if there can be a line break at the end
of the line with this nonsense text
\end{varwidth}}
\fbox{%
\begin{varwidth}{0.5\textwidth}
some text
\end{varwidth}}
\fbox{%
\begin{varwidth}{0.5\textwidth}
some more text to see if there can be a line break at the end
of the line with this nonsense text
\end{varwidth}}
\end{document}