Re: Estrazione iniziale da una parola

#15018
DMW
    Up
    0
    Down
    ::

    Mi serve una macro che, data una parola, possa estrarre la sua iniziale.

    Mi spiego meglio:

    Ho una parola, esempio Italia, memorizzata in un comando
    `
    \newcommand{\parola}{Italia}`

    Ora, utilizzando questa macro, il risultato deve essere I oppure i.
    `
    \estraiiniziale{\parola}`

    `\makeatletter
    \def\estraiiniziale#1{\expandafter\separa#1\@del}
    \def\separa#1#2\@del{#1}
    \makeatother`
    Probabilmente in LaTeX c’è già qualcosa di simile, ma non ho voglia di andarlo a cercare. 🙂

    Come funziona?

    La macro \separa ha due argomenti, il primo non delimitato, il secondo delimitato da \@del. Supponiamo di scrivere \estraiiniziale{\parola}. Questo viene sostituito da
    `\expandafter\separa\parola\@del`
    A questo punto viene espanso \expandafter che provoca l’espansione di \parola; la lista di token diventa
    `\separa Italia\@del`
    Il primo token che segue \separa è il primo argomento, tutto il resto, fino a \@del, il secondo.

    Ciao
    Enrico

    Perfetto, grazie.

    Ciao

    Andrea

    Go to top