Versione migliorata: si fa uso di una sequence per eliminare il problema dello spazio tra le iniziali:
`\documentclass{article}
\usepackage{expl3}
\usepackage{xparse}
\ExplSyntaxOn
\seq_new:N \l_my_initials_seq
\cs_new:Npn \my_parsename:w #1 #2 \q_stop
{
\seq_put_right:Nn \l_my_initials_seq { #1 . }
}
\cs_new:Npn \my_level_func:n #1
{
\my_parsename:w #1 \q_stop
}
\NewDocumentCommand \initials { >{ \SplitList { ~ } } m }
{
\seq_clear_new:N \l_my_initials_seq
\ProcessList { #1 } { \my_level_func:n }
\seq_use:Nnnn \l_my_initials_seq { ~ } { ~ } { ~ }
}
\ExplSyntaxOff
\begin{document}
La teoria elaborata da \initials{Albert Einstein Junior}, tuttora un segreto\dots
Un famoso filosofo \initials{Carl Popper} disse\dots
Il comando tratta ovviamente anche nomi unici come \initials{Paperino} che è amico di \initials{Topolino}
\end{document}
`
Basta sostituire \seq_put_right:Nn con \seq_put_left:Nn per reversare le iniziali…
R.