具有垂直分布内容的表格单元格

具有垂直分布内容的表格单元格

我一直使用内部列表multicols来“精简”排版短项目列表。但是,我不喜欢内部出现分页符的情况,而且multicols如果分页符无法放入当前页面,我找不到自动强制分页的方法。

所以我一直在考虑使用某种表格环境来排版单元格中有列表的单行表格。

不过,我想让单元格中的列表垂直分布,以便它们的顶部和底部对齐(除非这没有意义),就像中的列一样multicols

到目前为止,我还不知道如何制作一个表格,其高度由其单元格的最大自然高度决定,并且我可以让任何单元格的内容垂直展开以对齐顶部和底部基线。这可能吗?怎么做?

这看起来可能不是一件很自然的事情,但我已经习惯了列表的行为multicols,我想避免这样的情况:尽管有相同数量的项目,但由于细微高度差异的积累而导致底部未对齐。

答案1

如果我理解正确的话,您有一个 3 列列表,它不适合该页面:

姆韦

\documentclass{article}
\usepackage{lipsum}
\usepackage{multicol}
\begin{document}
\lipsum[1-4]
%\begin{table}
\begin{multicols}{3}
\begin{itemize}
\item foo \item bar \item baz
\item foo \item bar \item baz
\item foo \item bar \item baz
\item foo \item bar \item baz
\item foo \item bar \item baz
\item foo \item bar \item baz
\item foo \item bar \item baz
\item foo \item bar \item baz
\item foo \item bar \item baz
\end{itemize}
\end{multicols} 
%\end{table}
\lipsum[5-8]
\end{document}

所以你想要的是转到下一页。解决方案很简单,只需放入一个tablefigure浮动即可将整个列表移动到下一页(例如:取消注释上述 MWE 的第 6 行和第 20 行瞧瞧当然,这样可以将列表后较多或较少的文本移到列表前,以避免因过早分页而产生间隙。

如果这是个问题,那么您可以使用[H浮动的] 选项(需要包float)或者更简单地使用任何非浮动框,例如\parbox{\linewidth}{your multicols here}

就我个人而言,我确实会使用浮动而不使用任何选项,即使列表远离逻辑顺序,因为编号标题和交叉引用仅适用于这种情况,而替代方案是重新设计文本或允许可怕的间隙,更糟糕的是允许列表内的​​分页符。

相关内容