テーブルの値を含むリストを生成する方法

テーブルの値を含むリストを生成する方法

xそれぞれと値を持つ 2 つの列を含むテーブルがあり、列の各行を含むyリストを生成したいと考えています。\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}

関連情報