csvsimple 的 csvreader 在 \ExplSyntaxOn \ExplSyntaxOff 中出现错误

csvsimple 的 csvreader 在 \ExplSyntaxOn \ExplSyntaxOff 中出现错误

当我将一个 minimal\csvreader从,csvsimple内部放入时,出现错误:\ExplSyntaxOn\ExplSyntaxOffpgfkeys

!软件包 pgfkeys 错误:我不知道您传递了“Name=\Name ,Number=\Number ”的键“/csv/columnnames”,我将忽略它。也许您拼错了。

如果我把它放在外面,代码就可以正常工作。

以下是我的想法:

% arara: xelatex
% arara: xelatex

\documentclass{scrartcl}

\usepackage{xparse}
\usepackage{csvsimple}

\begin{filecontents*}{hello.csv}
Name,Number
A,B
\end{filecontents*}

\begin{document}

\ExplSyntaxOn

\csvreader[
column names={Name=\Name,Number=\Number}
]{hello.csv}{}{}

\ExplSyntaxOff

\end{document}

为什么会发生这个错误?

答案1

所执行的工作之一\ExplSyntaxOn是将空格变成被忽略的字符。

因此,当 TeX 对你的输入进行标记时,

column names

变成columnnames,因为空格被忽略了。然而, 的另一项工作\ExplSyntaxOn是使其~成为一个空格标记,因此

column~names

应该管用。

带有空格的键名在环境中很麻烦expl3,应避免将此类键名与expl3语法混合使用。此外,此类键名\ExplSyntaxOn应极少出现在document环境中,如果有的话。

笔记。这并不意味着您可以输入\csv reader,因为被忽略的空格字符会停止查找控制序列名称。

相关内容