Re: Applicare una macro su più occorrenze

#27387
Up
0
Down
::

Ciao,

Avrei bisogno di una macro che dati i seguenti 3 parametri:

1) testo da cercare
2) testo su cui cercare il testo passato come 1 parametro
3) macro da eseguire su tute le occorrenze di #1 trovate in #2

Mi servirebbe per mettere in grassetto tutte le occorrenze di una parola all’interno di un testo. L’ottimo sarebbe avere un parametro opzionale che indica su quale N-prime occorrenze applicarlo, tipo solo sulla prima, sulle prime 3, ecc…

Quindi una roba tipo:

\apply{parola}{E’ una parola fare una macro del genere! Come la pesco ‘sta parola? Parola! Parola!}{\textbf}[2]

E mi vengono in grassetto le prime 2 occorrenze di “parola”.

Problema piuttosto complicato: il meccanismo con cui TeX legge l’input non è molto flessibile e tu stai chiedendo parecchio. Per esempio, vuoi la distinzione fra maiuscolo e minuscolo? Ci possono essere lettere accentate? Ci possono essere segni di punteggiatura nel tuo testo?

Non dico che sia impossibile: occorre esaminare il testo un carattere alla volta e paragonare la stringa ottenuta con il campione mettendo da parte ciò che non può funzionare e lavorando su ciò che invece può. Se poi aggiungiamo maiuscole e minuscole, c’è da tremare. 🙂

Direi che una cosa del genere è un lavoro per PerlTeX: Perl è un linguaggio molto più adatto a fare quello che desideri. Se non conosci Perl, studialo. 🙂

In che contesto ti servirebbe questa roba?

Ciao
Enrico

Go to top