使用 \ForEach 输入文档中的章节

使用 \ForEach 输入文档中的章节

我的文件夹中有几个章节/Chapters,并且有以下 LaTeX 代码:

\newcommand\chapnames{Chap1, Chap2, Chap3, Chap4, Chap5, Chap6}

\ForEach
{,}
{\input{./Chapters/\thislevelitem}}
{\chapnames}

不幸的是,除非我将其更改为,否则这段代码将不起作用:

\ForEach
{,}
{\input{./Chapters/\thislevelitem}}
{Chap1, Chap2, Chap3, Chap4, Chap5, Chap6}

有没有办法让它在使用变量时工作,如顶部的代码\chapnames所示?\ForEach

答案1

来自forarray手动的,第 3.1.2 节“命令\ForEachX”,第 4 页:

该命令\ForEachX以与命令相同的方式处理项目列表\ForEach。但是,它在处理之前会扩展其第三个参数,即包含实际列表的标记。它的语法如下:

\ForEachX{<separator >}{<function>}{<list token>}

因此,您的代码示例必须写成

\newcommand\chapnames{Chap1, Chap2, Chap3, Chap4, Chap5, Chap6}

\ForEachX
{,}
{\input{./Chapters/\thislevelitem}}
{\chapnames}

相关内容