我想知道是否可以创建一个命令,该命令采用某种列表并在每个条目之间使用一些分隔符进行连接。
例如,给定如下内容:
parameters:
first
second with spaces
third
separator:
·
我希望它输出:
first · second with spaces · third
与分隔符周围的间距。
也许这样做弊大于利。主要原因是要处理·
对任何细微修改都必须不断重新粘贴角色的麻烦。
否则,也许我可以利用环境(例如)将s 与内部的points
连接起来?我不介意最终需要输入更多内容,至少这样更容易管理,而且我不必因为任何细微的修改而不断重新粘贴分隔符,因为每个条目都对应一个独立的。\item
·
\item
答案1
根据expl3
s 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}