Expandir la macro a la macro xparse \SplitList

Expandir la macro a la macro xparse \SplitList

Recibí ayuda para crear una macro para procesar una lista de argumentos separados ;en un itemizeentorno. Para lograrlo, xparsese utilizó.

Sin embargo, cuando intenté agrupar las listas de argumentos en una macro, no pasó nada. ¿Cómo puedo solucionar esto?

MWE:

\documentclass{article}
\usepackage{xparse}
\newcommand\insertitem[1]{\item #1}

% xparse-command I had help with
\NewDocumentCommand\myList{>{\SplitList{;}}m}
  {\vspace*{-\baselineskip}
    \begin{itemize}
      \ProcessList{#1}{ \insertitem }
    \end{itemize}
  }

\newcommand\someStuff{One; two; three}

\begin{document}

\myList{One; two; three}

Now trying to expand macro content

\myList{\someStuff}

\end{document}

En \myList{One; two; three}el resultado es el deseado, una itemizelista d. El último ejemplo \myList{\someStuff}no funciona. Creo que la solución a mi problema probablemente esté en algún lugar de la pregunta.Pasar múltiples argumentos de ProcessList (xparse) a una macro. Resultado que se utilizará en forma tabular., pero actualmente no puedo entender dónde...

EDITAR: el uso previsto para el almacenamiento de argumentos en una macro es básicamente hacerme la vida un poco más fácil. He creado una estructura de plantilla para un plan de progresión en las materias que enseño, donde necesito imprimir, por ejemplo, las competencias principales deseadas que mis alumnos deberían haber alcanzado durante el período planificado. Como esas competencias (y más) están envueltas en un longtableentorno desordenado, y estoy planeando convertir la plantilla en una clase cuando tenga tiempo para aprender cómo hacer precisamente eso, sería muy conveniente para mí tener un bloque en el El comienzo del documento se parece un poco a esto:

\maincompetences{Competence one; competence two, etc.}
\learninggoals{Main goal one; main goal two; etc.}

Respuesta1

TeX no amplía los argumentos cuando los absorbe. Entonces, en el segundo caso, el argumento que se pasa \SplitArgumentes \someStuffque no contiene punto y coma.

Se podría forzar la expansión del primer token del argumento, pero esto podría crear otros problemas.

Una solución de nivel inferior.

\documentclass{article}
\usepackage{xparse}

\ExplSyntaxOn
\NewDocumentCommand{\myList}{sm}
 {
  \begin{itemize}
  \IfBooleanTF{#1}
   {
    \holene_mylist:o { #2 } % expand the argument (once)
   }
   {
    \holene_mylist:n { #2 }
   }
   \end{itemize}
 }

\seq_new:N \l_holene_mylist_input_seq

\cs_new_protected:Npn \holene_mylist:n #1
 {
  \seq_set_split:Nnn \l_holene_mylist_input_seq { ; } { #1 }
  \seq_map_inline:Nn \l_holene_mylist_input_seq
   {
    \item ##1
   }
 }
\cs_generate_variant:Nn \holene_mylist:n { o }

\ExplSyntaxOff

\newcommand\someStuff{One; two; three}

\begin{document}

\myList{One; two; three}

Now trying to expand macro content

\myList*{\someStuff}

\end{document}

ingrese la descripción de la imagen aquí

son los que deciden cuándo ampliar o no el argumento, con la variante *.

información relacionada