如何在命令中打印“n”参数?

如何在命令中打印“n”参数?

这就是我想要做的:

\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

这是“传统”的逗号分隔值方法,使用etoolboxcsv 参数并将其存储到列表中并显示它。该\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}

在此处输入图片描述

相关内容