
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}