expl3, passer une sequence comme argument
voici un ecm
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\cs_new:Nn \SetOp_reunion_seq:N {
\seq_use:Nn #1 {*}
}
\cs_new:Nn \SetOp_reunion:n {
\seq_gset_from_clist:Nn \g_tmpa_seq {#1}
\SetOp_reunion_seq:N \g_tmpa_seq
}
\cs_new:Nn \SetOp_simplify_reunion:n
{
\seq_gset_from_clist:Nn \g_tmpa_seq {#1}
\seq_remove_duplicates:N \g_tmpa_seq
\g_tmpa_seq
}
\NewDocumentCommand{\reunion}{ }{ \SetOp_reunion:n }
\NewDocumentCommand{\simplifierreunion}{ m }
{
\seq_gset_from_clist:Nn \g_tmpa_seq {#1}
\seq_remove_duplicates:N \g_tmpa_seq
\seq_use:Nn \g_tmpa_seq {*}
}
\ExplSyntaxOff
\begin{document}
\reunion{A} \qquad
\reunion{A, B} \qquad
\reunion{A, B, C}
\simplifierreunion{A, B, B, C, A}
\end{document}
La commande `\simplifierreunion` fonctionne comme je veux mais j'aurais voulu pourvoir réutiliser le résultat de `\SetOp_simplify_reunion:n` comme argument de `\SetOp_reunion_seq:N` mais je ne vois pas comment faire.
Toutes mes tentatives se soldent par un échec :(