分割线,将表格/对齐文本保持在文本宽度内并跨越多页

分割线,将表格/对齐文本保持在文本宽度内并跨越多页

我有一张很长的表格,用来对齐一些文本,因此我不需要它(具体地)是一个表格(请在答案中考虑这一点)。

我使用supertabular表格来跨越多页。问题是我有一些单元格包含一些长文本(足以分成两行),这增加了表格的宽度并溢出了边距。

我在类似的问题中看到,我可以使用tabularx包含X大量文本的列选项,这会将列分成几行,但问题是tabularx不能跨越几页。

我不想使用p{width}该列,因为为该列设置适当的宽度以充分利用整个文本宽度是不可能的(或极其困难),其他列的宽度可能会在不同的页面中发生变化(这不是问题,这很好)并且我宁愿尽可能使用全宽(表格很大)。

请记住,我可以使用表格以外的其他东西,尽管我不知道在这种情况下什么东西有用。

相关问题:

答案1

我建议你考虑加载长桌表格型文本表包。后一个包用于结合longtable环境的功能(可以跨越多个页面)和tabularx环境的功能,这使得指定占用一定宽度(例如文本块的整个宽度)的表格变得非常简单。

  • 确保在主 tex 文档的序言中加载所有这三个包。

  • 在一个单独文件名为 ,例如long.tex,创建一个longtable使用一个或多个类型列X(由包提供tabularx)的环境。类型列中的文本X将自动换行。

  • 回到主文件,在长宽表需要开始的位置,提供指令

    \LTXtable{<width>}{long.tex}
    

    其中<width>应该设置为\textwidth。一定要编译几次,以便所有内部计算的结果都有机会得到充分传播。

  • 最后,如果你需要防止分页符出现在某些行,请使用该指令\\*代替\\相关行末尾的“普通”指令。

相关内容