用分隔符连接列表

用分隔符连接列表

我想知道是否可以创建一个命令,该命令采用某种列表并在每个条目之间使用一些分隔符进行连接。

例如,给定如下内容:

parameters:
first
second with spaces
third

separator:
·

我希望它输出:

first · second with spaces · third

与分隔符周围的间距。

也许这样做弊大于利。主要原因是要处理·对任何细微修改都必须不断重新粘贴角色的麻烦。


否则,也许我可以利用环境(例如)将s 与内部的points连接起来?我不介意最终需要输入更多内容,至少这样更容易管理,而且我不必因为任何细微的修改而不断重新粘贴分隔符,因为每个条目都对应一个独立的。\item·\item

答案1

根据expl3s clist

\documentclass[]{article}

\usepackage{xparse}
\ExplSyntaxOn
\clist_new:N \l_jorge_list_clist
\clist_new:N \l_jorge_tmp_clist
\NewExpandableDocumentCommand \usemylist { m }
  {
    \clist_use:Nn \l_jorge_list_clist { #1 }
  }
\NewDocumentCommand \setmylist { m }
  {
    \clist_set:Nn \l_jorge_list_clist { #1 }
  }
\NewDocumentCommand \formatlist { m m }
  {
    \clist_set:Nn \l_jorge_tmp_clist { #1 }
    \clist_use:Nn \l_jorge_tmp_clist { #2 }
  }
\ExplSyntaxOff

\setmylist{first, second with spaces, third}

\begin{document}
\usemylist{.}

\formatlist{foo,bar,baz}{ FOOBAR }
\end{document}

相关内容