通过 datatool 使用 longtable 时,长单元格内容会被换行

通过 datatool 使用 longtable 时,长单元格内容会被换行

我正在尝试显示从 CSV 文件加载的表格并按如下方式显示它:

\DTLloadrawdb[]{myDB}{myDB.csv}
\DTLdisplaylongdb[%
    caption={myDB caption},%
    label={tab:myDB},%
    contcaption={myDB (continued)},%
    foot={\em Table continued on next page},%
    lastfoot={\em End of Table}%
]{myDB}

这种方法是可行的,只是其中一列包含一些长文本字符串,将表格的其余部分推离了页面的一侧。

数据工具文档说它正在使用 longtable 环境来实现这一点,并查找如何对齐longtable 文档,但我不知道如何让它工作。我希望表格在页面上居中,所有单元格内容左对齐,如果内容太多则换行。

我并不是想将单元格分散到多个页面,而只是将单元格内容分散到同一页面的多行上。

答案1

查看datatool文档(第 5.4 节),如果您使用,您可以完全控制表格列规范,\DTLforeach因此,如果您的第三列需要文本对齐到 5 厘米处的行,您可以执行以下操作

\begin{longtable}{llp{5cm}}
\bfseries heading one &
\bfseries heading two &
\bfseries heading for long text column%
\DTLforeach{mydb}{%
\firstname=FirstName,\surname=Surname,\score=Score}{
\\
\firstname & \surname & \score}
\end{longtable}

相关内容