csvautobooklongtable 中的自动换行符

csvautobooklongtable 中的自动换行符

我已经自动生成了 CSV(竖线分隔)数据,我想将其打印为 Latex \csvautobooklongtable。我不知道列的数量(它们的数量因数据集而异)。

我的问题是,线条不会自动断开(每一行都是一条过长的线条)。

是否存在我尚未找到的可以影响 \csvsimple 行为以使表格很好地适合页面的选项?

\begin{filecontents*}{data.csv}
This|is|autogenerated|material\n
With|variable|number of|columns\n
Zeile 1|2|3|4\n
Zeile 2 (lore ipsum lore ipsum lore ipsum lore ipsum lore ipsum)|diese Zelle viel Text (lore ipsum lore ipsum lore ipsum lore ipsum lore ipsum)|diese eigentlich auch (lore ipsum lore ipsum lore ipsum lore ipsum lore ipsum)|und vor allem diese Zelle hat sehr viel text\n
Zeile 2|2|3|4\n\end{filecontents*}
\documentclass[fontsize=2mm,a4paper]{scrartcl}
\usepackage{csvsimple}
\usepackage{booktabs}
\usepackage{longtable}
\begin{document}
\csvautobooklongtable[separator=pipe, respect all, no check column count]{data.csv}
\end{document}

答案1

如果您知道列的最大宽度,则可以通过一些小技巧来更改列的类型\csvautobooklongtable

my column width以下代码添加了设置列宽的选项:

\begin{filecontents*}{data.csv}
This|is|autogenerated|material\n
With|variable|number of|columns\n
Zeile 1|2|3|4\n
Zeile 2 (lore ipsum lore ipsum lore ipsum lore ipsum lore ipsum)|diese Zelle viel Text (lore ipsum lore ipsum lore ipsum lore ipsum lore ipsum)|diese eigentlich auch (lore ipsum lore ipsum lore ipsum lore ipsum lore ipsum)|und vor allem diese Zelle hat sehr viel text\n
Zeile 2|2|3|4\n\end{filecontents*}
\documentclass[fontsize=2mm,a4paper]{scrartcl}
\usepackage{csvsimple}
\usepackage{booktabs}
\usepackage{longtable}

\makeatletter
\csvset{
  my column width/.style={after head=\csv@pretable\begin{longtable}{*{\csv@columncount}{p{#1}}}\csv@tablehead},
}
\makeatother

\begin{document}

\csvautobooklongtable[separator=pipe, respect all, no check column count,
  my column width=1.5cm,
  ]{data.csv}

\csvautobooklongtable[separator=pipe, respect all, no check column count,
  my column width=2cm,
  ]{data.csv}
\end{document}

在此处输入图片描述

相关内容