当我将一个 minimal\csvreader
从,csvsimple
内部放入时,出现错误:\ExplSyntaxOn
\ExplSyntaxOff
pgfkeys
!软件包 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
,因为被忽略的空格字符会停止查找控制序列名称。