我正在尝试创建一个逗号分隔的列表,但发现发生了一些奇怪的事情。以下是一个例子:
\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 }