![限制多列表格的宽度/插入换行符](https://linux22.com/image/356209/%E9%99%90%E5%88%B6%E5%A4%9A%E5%88%97%E8%A1%A8%E6%A0%BC%E7%9A%84%E5%AE%BD%E5%BA%A6%2F%E6%8F%92%E5%85%A5%E6%8D%A2%E8%A1%8C%E7%AC%A6.png)
我准备了以下示例:
\documentclass{article}
\usepackage{calc}
\usepackage{multicol}
\usepackage{lipsum}
\begin{document}
\begin{multicols}{2}
\begin{tabular}{l r}
item: & super very long item spanning a lot of space and very long other stuff \\
item: & super very long item spanning a lot of space and very long other stuff \\
\end{tabular}
\lipsum{}
\end{multicols}
\end{document}
但是正如您所看到的,表格与下一列重叠并超出页面范围,并且没有按预期中断。
无需处理小页面,tabular*
似乎tabularx
可以解决这个问题。
答案1
r
不检查列的宽度。当您使用它时,它将适应其内容的宽度,而不会换行或做其他事情。因此,它会与新列重叠,就像与“普通”文档中的边距重叠一样。
使用 fip{.5\linewidth}
或X
( tabularx
) 可以解决这个问题,因为它将启用换行符并固定宽度。使用其中一个解决方案来消除溢出。
这tabular*
对你有用只是因为它会让表格占据给定的宽度。因此你看不到溢出,尽管它确实存在。