LaTeX3: スペース区切りリストを clist に変換できない

LaTeX3: スペース区切りリストを clist に変換できない

関数の引数として与えられたスペースで区切られた項目のリストを clist 変数に変換して、反復処理を行いたいのですが、次のコード例に示すように、使用可能な clist 変数を作成できません。\clist_map_inline:Nn要素を区切るのではなく、常にリスト全体を取得します。何が間違っているのでしょうか?

\documentclass{minimal}
\usepackage{expl3}

\ExplSyntaxOn
\cs_new:Nn\parselist:n{
  \tl_set:Nx\l_csv_tl{#1}
  \tl_replace_all:Nnn\l_csv_tl{~}{,}
  \clist_set:Nx\l_csv_clist\l_csv_tl
  \clist_map_inline:Nn\l_csv_clist{
    \noindent Name:~#1\par
  }
}
\ExplSyntaxOff

\begin{document}
\def\csv{fred jane albert}
\ExplSyntaxOn
  \parselist:n\csv
  \parselist:n{john~peter~linda}
\ExplSyntaxOff
\end{document}

答え1

私自身、このエラーを発見しました。##1関数本体で を使用すると、\clist_map_inline:Nn問題は解決します。 それ以外の場合は、 に指定された元の引数\parselist:nが使用されます。

関連情報