我正在尝试使用以下虚拟代码逐行对 CSV 文件进行操作。
\documentclass{article}
\usepackage{datatool}
\usepackage{filecontents}
\begin{filecontents*}{data.csv}
x,y
-10,2.43653438865896e-13
-9.59183673469388,4.78477532813286e-12
-9.18367346938776,7.9563926658023e-11
-8.77551020408163,1.12012542586698e-09
-8.36734693877551,1.33501414606147e-08
-7.95918367346939,1.34698479017595e-07
-7.55102040816327,1.15051489663322e-06
-7.14285714285714,8.31902240126465e-06
-6.73469387755102,5.09215716998077e-05
\end{filecontents*}
\begin{document}
\DTLloaddb{table}{data.csv}
%
\DTLforeach*{table}{%
\xx=x,%
\yy=y,%
}{}%
\end{document}%
这让我
扫描 \@dtl@next 的使用时文件结束。
这段代码有什么问题?
PS:我在TL2018上使用lualatex。
答案1
第二个参数的末尾有一个虚假的逗号\DTLforeach
:
\DTLforeach*{table}{%
\xx=x,%
\yy=y,% <-- here
}{}%
(解析器不会跳过空元素。)只需将其删除:
\DTLforeach*{table}{%
\xx=x,%
\yy=y%
}{}%