expl3 clist 不会用逗号分隔变量列表

expl3 clist 不会用逗号分隔变量列表

我正在尝试创建一个逗号分隔的列表,但发现发生了一些奇怪的事情。以下是一个例子:

\documentclass{article}

\usepackage{expl3}

\newcommand{\assignment}{1, 2, 7, 8}

\ExplSyntaxOn

\newcommand{\getitem}[2]
{\clist_item:nn {#1}{#2}}

\ExplSyntaxOff

\begin{document}

\getitem{\assignment}{1}

\getitem{1, 2, 7, 8}{1}

\end{document}

最终输出的是第一行的“1, 2, 7, 8”,第二行的“1”。我想将逗号列表“包含”在变量中,以便于更改,因为我将其用作模板。

但是,似乎通过将列表放入变量中,clist 失去了用逗号分隔列表的能力。

答案1

根据你的定义,你正在执行

\clist_item:nn { \assignment } { 1 }

当然可以\assignment

你要

\clist_item:Nn \assignment { 1 }

相关内容