Datatool:扫描 \@dtl@next 的使用时文件结束

Datatool:扫描 \@dtl@next 的使用时文件结束

我正在尝试使用以下虚拟代码逐行对 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%
}{}%

相关内容