Re: TeXShop ed espressioni regolari

#99050
Up
0
Down
::


Devo ancora provarlo, lo confesso. Ma sono sicuro che funziona 😀
Tuttavia mi rimane il chiodo fisso della funzione Cerca e Sostituisci…

Find: (\\textgreek\{.)\} \\textgreek\{
Replace: \1␣

(dove ␣ in realtà è uno spazio)

Funziona bene sulle coppie \textgreek{ἔ} \textgreek{ἔ} e \textgreek{ἆ} \textgreek{ἆ}
dell’esempio qui sotto.

`
\textgreek{τάχος} \textgreek{γὰρ}
\textgreek{τόδ}' \textgreek{ἔσται}~|, 1114 \textgreek{ἔ ἔ}
\textgreek{παπαῖ} \textgreek{παπαῖ} |, 1125 \textgreek{ἆ} \textgreek{ἆ} \textgreek{ἰδοὺ} \textgreek{ἰδού}
`

Se ci aggiungo un asterisco:

Find: (\\textgreek\{.*)\} \\textgreek\{
Replace: \1␣

Evidenzia tutto il testo precedente, tuttavia esegue le sostituzioni correttamente, tranne nel caso in cui i due \textgreek siano su righe differenti.
Bisogna iterare la sostituzione, perché ad azione “sostituisci” sistema una sola coppia di \textgreek successivi separati da uno spazio.
La coppia \textgreek{τόδ}’ \textgreek{ἔσται} non viene individuata, perché ‘ non è uno spazio. Ma questo forse è un bene, visto che quei casi dovrebbero essere pochi (si spera). E quindi un correzione manuale non è un grosso problema. Sarebbe invece comodo che la sostituzione funzionasse anche nel caso di due \textgreek successivi ma su righe diverse. Trovata (mentre scrivo provo, più o meno a caso, a cambiare l’espressione regolare):

Find: (\\textgreek\{.*)\} \s?\\textgreek\{
Replace: \1␣

Ora, queste espressioni funzionano sui file che ho provato io. Ma la domanda è: ho scritto veramente quello che volevo? 🙄
Aggiungo che l’ultima espressione, con il comando \s?, funziona solo se seleziono “Ruby” nella finestra “Search Syntax”. Con POSIX, per esempio, niente da fare.

Ciao
Ivan

Go to top