如何生成包含表值的列表

如何生成包含表值的列表

我有一张表,其中分别包含xy值的两列,我想为该列的每一行生成一个\coordinates包含的列表。(x,y)

我尝试定义一个使用以下命令创建列表的命令\appto

\newcommand{\coordinates}{}
\newcommand{\coordinate}[1]{%
    \ifdefempty{\coordinates}
        {\appto\coordinates{#1}}
        {\appto\coordinates{, #1}}
}

当调用\coordinate{(1,2)}和时\coordinate{(2,3)}\coordinates包含(1,2), (2,3)。到目前为止,一切正常。

现在我想将其与命令组合起来,为表格的每一行csvsimple \csvloop调用命令,从而生成我想要的列表。不幸的是,列表的输出是而不是,所以 TeX 似乎没有将数字输入到命令中。这里的问题是什么?\coordinate(,), (,), (,), (,)(1,2), (2,3), (3,4), (4,5)

\documentclass{article}

\usepackage{csvsimple}

\newcommand{\coordinates}{}
\newcommand{\coordinate}[1]{%
    \ifdefempty{\coordinates}
        {\appto\coordinates{#1}}
        {\appto\coordinates{, #1}}
}

\begin{filecontents*}{data.csv}
    x,y
    1,2
    2,3
    3,4
    4,5
\end{filecontents*}

\begin{document}

\csvloop{%
    file = {data.csv},%
    column names = {x=\x, y=\y},%
    command = \coordinate{(\x,\y)}%
}

% \coordinate{(1,2)}
% \coordinate{(2,3)}
% \coordinate{(3,4)}
% \coordinate{(4,5)}

\coordinates

\end{document}

相关内容