定义列表以供多次使用

定义列表以供多次使用

我想在文档中多次重新利用预定义的逗号分隔列表。作为一个最小示例,请看以下未按预期工作的代码:

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

在此处输入图片描述

相关内容