如何產生包含表值的列表

如何產生包含表值的列表

我有一個表,其中包含兩列,分別具有xy值,我想產生一個\coordinates包含(x,y)該列的每一行的列表。

我嘗試定義一個使用以下命令創建列表的命令\appto

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

當調用\coordinate{(1,2)}and 時\coordinate{(2,3)}\coordinates包含(1,2), (2,3).到目前為止這工作正常。

現在我想將其組合到命令中,為表格的每一行csvsimple \csvloop呼叫命令,從而產生我想要的清單。\coordinate不幸的是,列表的輸出不是(,), (,), (,), (,)(1,2), (2,3), (3,4), (4,5)所以 TeX 似乎沒有在命令中輸入數字。這裡有什麼問題?

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

相關內容