So generieren Sie eine Liste mit den Werten einer Tabelle

So generieren Sie eine Liste mit den Werten einer Tabelle

Ich habe eine Tabelle mit zwei Spalten mit jeweils xund yWerten und möchte für jede Zeile der Spalte eine \coordinatesListe erstellen.(x,y)

Ich habe versucht, einen Befehl zu definieren, der mit dem folgenden \apptoBefehl eine Liste erstellt:

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

Beim Aufruf von und \coordinate{(1,2)}enthält . Bisher funktioniert das einwandfrei.\coordinate{(2,3)}\coordinates(1,2), (2,3)

Nun möchte ich dies mit dem Befehl kombinieren csvsimple \csvloop, um den Befehl für jede Zeile der Tabelle aufzurufen \coordinateund so meine gewünschte Liste zu erzeugen. Leider wird die Liste (,), (,), (,), (,)statt ausgegeben (1,2), (2,3), (3,4), (4,5), sodass TeX die Nummer anscheinend nicht in den Befehl einträgt. Was ist hier das Problem?

\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}

verwandte Informationen