在 Latex 中将 CSV 文件导入为表格但文件太长

在 Latex 中将 CSV 文件导入为表格但文件太长

我正在尝试导入一个 CSV 文件,但表中的数据太长,它会一直延伸到页面末尾并消失,而不会继续进入下一页。

这是文件:

\begin{filecontents*}{mode1_with.csv}
Stimulus,Percentage of 'Alpha'
1,95.8
2,90.6
3,98.8
4,97
5,76.4
6,74.8
7,84.8
8,81.8
9,53.6
10,58.4
11,70.8
12,66.8
13,46.6
14,42.8
15,54
16,52
17,34
18,29.2
19,77.8
20,78.8
21,59.8
22,56.4
23,66.2
24,63.8
25,41.6
26,42.8
27,63.6
28,63.4
29,44
30,40.2
31,49.8
32,48.6
33,80.8
34,80.4
35,90.8
36,89
37,66.4
38,61
39,69.4
40,72.4
41,30.8
42,32.4
43,39.4
44,37
45,18.2
46,20.8
47,13.4
48,30.6
49,83
50,78.4
51,87
52,81.4
53,60.2
54,55.2
55,70.8
56,86.4
57,42.8
58,39.6
59,49.6
60,46.8
61,27
62,27.6
63,78
64,89.4
\end{filecontents*}

这是我迄今为止尝试过的代码:

\usepackage{csvsimple}
\begin{document}
\csvreader[tabular=lrrrr,
    table head=\toprule\bfseries Item
             &\bfseries Alpha category (\%) \\\midrule,
    late after line=\\,late after last line=\\\bottomrule,
    before reading={\catcode`\#=12},after reading={\catcode`\#=6}]%
{mode1_with.csv}{1=\Item,2=\Percentage}%
{\Item & \Percentage}%
\end{document}

在此处输入图片描述

答案1

您想要使用longtable

\documentclass{article}

\usepackage{csvsimple,longtable,booktabs}
\begin{document}

\csvreader[
  longtable=lrrrr,
  table head=\toprule\bfseries Item &\bfseries Alpha category (\%) \\\midrule,
  late after line=\\,
  late after last line=\\\bottomrule,
  before reading={\catcode`\#=12},after reading={\catcode`\#=6}
]{mode1_with.csv}{1=\Item,2=\Percentage}{\Item & \Percentage} 

\end{document}

如果希望页眉和底部规则在每一页中重复,请使用

\documentclass{article}

\usepackage{csvsimple,longtable,booktabs}
\begin{document}

\csvreader[
  longtable=lrrrr,
  table head=
    \toprule\bfseries Item &\bfseries Alpha category (\%) \\ \midrule\endhead
    \bottomrule\endfoot,
  late after line=\\,
  before reading={\catcode`\#=12},after reading={\catcode`\#=6}
]{mode1_with.csv}{1=\Item,2=\Percentage}{\Item & \Percentage}

\end{document}

答案2

您需要使用longtable而不是tabular环境。如果您使用 的longtable本机语法,则可以轻松保留对每个页面上的页眉和页脚材料等对象的完全控制。

当然,正如@egreg 的平行答案所示,也可以使用csvreader的语法来实现。

\documentclass{article}
\usepackage{booktabs,csvsimple,longtable}
\begin{document}
\begin{longtable}{lr} 
\toprule
\bfseries Item & \bfseries Alpha category (\%) \\
\midrule \endhead
\bottomrule \endfoot
\csvreader[
    late after line=\\,
    late after last line=,
    before reading={\catcode`\#=12},
    after reading={\catcode`\#=6}]%
    {mode1_with.csv}{1=\Item,2=\Percentage}{\Item & \Percentage}
\end{longtable}
\end{document}

相关内容