我有一张很长的表格,用来对齐一些文本,因此我不需要它(具体地)是一个表格(请在答案中考虑这一点)。
我使用supertabular
表格来跨越多页。问题是我有一些单元格包含一些长文本(足以分成两行),这增加了表格的宽度并溢出了边距。
我在类似的问题中看到,我可以使用tabularx
包含X
大量文本的列选项,这会将列分成几行,但问题是tabularx
不能跨越几页。
我不想使用p{width}
该列,因为为该列设置适当的宽度以充分利用整个文本宽度是不可能的(或极其困难),其他列的宽度可能会在不同的页面中发生变化(这不是问题,这很好)并且我宁愿尽可能使用全宽(表格很大)。
请记住,我可以使用表格以外的其他东西,尽管我不知道在这种情况下什么东西有用。
相关问题:
答案1
我建议你考虑加载长桌,表格型和文本表包。后一个包用于结合longtable
环境的功能(可以跨越多个页面)和tabularx
环境的功能,这使得指定占用一定宽度(例如文本块的整个宽度)的表格变得非常简单。
确保在主 tex 文档的序言中加载所有这三个包。
在一个单独文件名为 ,例如
long.tex
,创建一个longtable
使用一个或多个类型列X
(由包提供tabularx
)的环境。类型列中的文本X
将自动换行。回到主文件,在长宽表需要开始的位置,提供指令
\LTXtable{<width>}{long.tex}
其中
<width>
应该设置为\textwidth
。一定要编译几次,以便所有内部计算的结果都有机会得到充分传播。最后,如果你需要防止分页符出现在某些行,请使用该指令
\\*
代替\\
相关行末尾的“普通”指令。