限制多列表格的宽度/插入换行符

限制多列表格的宽度/插入换行符

我准备了以下示例:

\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*对你有用只是因为它会让表格占据给定的宽度。因此你看不到溢出,尽管它确实存在。

相关内容