Re: Ridefinire comando-creazione iniziale puntata di una parola

#84220
robitex
Amministratore del forum
    Up
    0
    Down
    ::


    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.

    Go to top