複数回使用するためのリストを定義する

複数回使用するためのリストを定義する

定義済みのコンマ区切りリストをドキュメント内で複数回再利用したいです。最小限の例として、期待どおりに動作しない次のコードを見てみましょう。

\documentclass{article}

\usepackage{xparse}

\newcommand*{\listtotestA}{
    A,
    B,
    C
}

\def\listtotestB{
    D,
    E,
    F
}

\ExplSyntaxOn
\NewDocumentCommand \teslist{m}{
    \clist_map_inline:nn{#1}{
        Output: ##1 \\
    }
}
\ExplSyntaxOff

\begin{document}

\teslist{\listtotestA}
\\
\teslist{\listtotestB}

\end{document}

の代わりに

Output: A
Output: B
Output: C

Output: D
Output: E
Output: F

それは生産する

Output: A,B,C

Output: D,E,F

何が足りないのでしょうか?

答え1

アプローチlistofitems

\documentclass{article}

\usepackage{listofitems}

\newcommand*{\listtotestA}{
    A,
    B,
    C
}

\def\listtotestB{
    D,
    E,
    F
}

\newcommand\teslist[1]{%
    \readlist*\mylist{#1}%
    \foreachitem\x\in\mylist{Output: \x\\}%
}

\begin{document}

\noindent\teslist{\listtotestA}

\noindent\teslist{\listtotestB}

\end{document}

ここに画像の説明を入力してください

関連情報