这就是我想要做的:
\newcommand{\foobar}[n]{%
\hspace*{1.5ex}-\hspace{1ex}\emph{#n}\\%
}
然后像这样使用它:
\foobar
{Hello}
{World}
然而这实际上不起作用。我想要
\hspace*{1.5ex}-\hspace{1ex}\emph{#n}\\%
出现我提供给的尽可能多的参数\foobar
。我该怎么做?
笔记
为了澄清起见,我最终想要的是:
- Hello
- World
- N number of other arguments
答案1
这是“传统”的逗号分隔值方法,使用etoolbox
csv 参数并将其存储到列表中并显示它。该\showme
命令只是如何处理各个值的示例。
改进的解决方案基于问题的精确定义。
但正如评论中所述:必须有一些信息作为最后一个参数,以这种方式不可能得到任意数字。
\documentclass{article}
\usepackage{etoolbox}
\newcommand{\showme}[1]{%
#1
}
\newcommand{\mycmd}[1]{%
\def\templist{}
\forcsvlist{\listadd\templist}{#1}
\forlistloop{\showme}{\templist}
}
\begin{document}
\mycmd{a,b,c,d,e,f,some longer text}
\end{document}