Wikibooks itwikibooks https://it.wikibooks.org/wiki/Pagina_principale MediaWiki 1.47.0-wmf.18 first-letter Media Speciale Discussione Utente Discussioni utente Wikibooks Discussioni Wikibooks File Discussioni file MediaWiki Discussioni MediaWiki Template Discussioni template Aiuto Discussioni aiuto Categoria Discussioni categoria Progetto Discussioni progetto Ripiano Discussioni ripiano TimedText TimedText talk Modulo Discussioni modulo Evento Discussioni evento Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia 0 35448 501544 494035 2026-09-06T13:15:06Z ~2026-37813-08 54541 501544 wikitext text/x-wiki {{Disposizioni foniche di organi a canne}} Disposizioni foniche della [[w:Provincia di Imperia|provincia di Imperia]] raggruppate per comune: * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Imperia|Imperia]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Aurigo|Aurigo]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Bordighera|Bordighera]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Caravonica|Caravonica]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Civezza|Civezza]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Cosio di Arroscia|Cosio di Arroscia]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Diano Castello|Diano Castello]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Diano Marina|Diano Marina]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Diano San Pietro|Diano San Pietro]] + [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Molini di Triora|Molini di Triora]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Montalto Carpasio|Montalto Carpasio]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Riva Ligure| Riva Ligure]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/San Bartolomeo al Mare| San Bartolomeo al Mare]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Sanremo|Sanremo]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Taggia|Taggia]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Ventimiglia|Ventimiglia]] {{Avanzamento|30%|10 dicembre 2022}} [[Categoria:Disposizioni foniche di organi a canne]] d29fgaqr9i3viecf6b0299ur7a64iv2 501545 501544 2026-09-06T13:15:30Z ~2026-37813-08 54541 501545 wikitext text/x-wiki {{Disposizioni foniche di organi a canne}} Disposizioni foniche della [[w:Provincia di Imperia|provincia di Imperia]] raggruppate per comune: * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Imperia|Imperia]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Aurigo|Aurigo]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Bordighera|Bordighera]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Caravonica|Caravonica]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Civezza|Civezza]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Cosio di Arroscia|Cosio di Arroscia]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Diano Castello|Diano Castello]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Diano Marina|Diano Marina]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Diano San Pietro|Diano San Pietro]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Molini di Triora|Molini di Triora]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Montalto Carpasio|Montalto Carpasio]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Riva Ligure| Riva Ligure]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/San Bartolomeo al Mare| San Bartolomeo al Mare]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Sanremo|Sanremo]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Taggia|Taggia]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Ventimiglia|Ventimiglia]] {{Avanzamento|30%|10 dicembre 2022}} [[Categoria:Disposizioni foniche di organi a canne]] a4cvc4uh8k86rgr207n7dnqytqui75m Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Ventimiglia 0 35449 501542 402948 2026-09-06T12:54:33Z ~2026-37813-08 54541 501542 wikitext text/x-wiki {{Disposizioni foniche di organi a canne}} Disposizioni foniche del comune di [[w:Ventimiglia|Ventimiglia]] raggruppate per edificio. == Capoluogo == * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Ventimiglia/Ventimiglia - Cattedrale di Santa Maria Assunta|Cattedrale di Santa Maria Assunta]] * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Ventimiglia/Ventimiglia - Chiesa di Sant'Agostino|Chiesa di Sant'Agostino]] {{Avanzamento|25%|28 febbraio 2015}} [[Categoria:Disposizioni foniche di organi a canne]] hj58yp98mq7a9j2i5i23e2oeqjwmkr3 LibreOffice Writer/Trovare e sostituire: le espressioni regolari 0 39233 501549 479945 2026-09-06T14:54:10Z Hippias 18281 501549 wikitext text/x-wiki {{LibreOffice Writer}} Oltre alla barra degli strumenti di ricerca testo che viene attivata con {{tasto|Ctrl|F}} e che funziona più o meno come quella corrispondente nei navigatori internet, LibO offre un potente strumento per trovare testi complessi non solo in base al testo in sé, ma anche in funzione della sua formattazione e della sua struttura. La finestra che si presenta con {{tasto|Ctrl|H}} o usando il menù Modifica → Trova e sostituisci ci offre, sotto Altre opzioni, strumenti per cercare per stili, per «simili» dove si permette al testo di essere leggermente diverso da quello ricercato (caratteri scambiati oppure aggiunti), uno strumento per cercare parole con un certo attributo o formattazione… Di tutte queste opzioni qui parlerò soltanto di quella più «complicata», uno strumento potente, però un po' difficile da utilizzare: le espressioni regolari. == Cosa sono le espressioni regolari == Tutti conosciamo il famoso «asterisco» utilizzato per cercare un file determinato: scrivendo *.odt nello strumento per cercare file e cartelle del nostro sistema operativo si ottiene una lista di tutti i file odt. Qui l'asterisco funziona come un «jolly» che indica al sistema «sto cercando un file di qualsiasi nome, ma che finisca con l'estensione .odt». Bene, le espressioni regolari sono un modo di portare avanti (fino all'infinito) questa idea di «jolly». Immaginiamo di avere un testo nel quale ci sono numeri interi e che per qualsiasi motivo vogliamo selezionare il testo lasciando da parte i numeri, come si potrebbe fare questo? Aprendo il quadro di dialogo «Cerca e sostituisci» si fa clic in Altre opzioni e si spunta Espressioni regolari. Adesso, in Trova dobbiamo scrivere quello che sarà la nostra prima espressione regolare: <syntaxhighlight lang="text"> (([^[0-9]]*)*) </syntaxhighlight> Dovremo vedere qualcosa di simili a quello presentato nella Figura 75. Se a questo punto facciamo clic in Trova successivo oppure in Trova tutto vedremo che il testo che non contiene numeri viene progressivamente selezionato. Ebbene, adesso che sappiamo già per cosa servono le espressioni regolari andiamo avanti a vedere come vengono utilizzate. {{riquadro|Le espressioni regolari si possono avviare con Attributi e Formato ma non con «simili» o con la ricerca per stili.}} == I caratteri speciali == [[File:LibO Writer 24.2 espressioni regolari.png|thumb|left|Figura 75: Il menù «trova e sostituisci» e le espressioni regolari]] Dobbiamo dirlo dall'inizio: nelle espressioni regolari ci sono tanti «caratteri speciali» il cui significato cambia a seconda del contesto, il che non aiuta proprio a imparare il modo in cui vengono utilizzati. Per esempio il carattere ^ da sé serve soltanto per localizzare elementi all'inizio di un paragrafo. Infatti, scrivendo <syntaxhighlight lang="text"> ^un </syntaxhighlight> in «Trova» il testo «un» verrà selezionato soltanto se si trova all'inizio di un paragrafo e sarà ignorato in altre posizioni. Ma se adesso mettiamo la medesima espressione tra parentesi quadre <syntaxhighlight lang="text"> [^un] </syntaxhighlight> questo significherà «un carattere diverso da u e da n»: se nel testo si trova la parola «uno» e utilizziamo l'espressione regolare [^un] in «Trova», lo strumento ignorerà l'«un» e si fermerà nella «o», in «utilità» ignorerà la «u» e si fermerà nella «t»… Le parentesi quadre, oltre a essere utili per creare «negazioni» come quella precedente servono pure per indicare un «range» di caratteri. Per esempio <syntaxhighlight lang="text"> [0-7] </syntaxhighlight> indica qualsiasi numero dallo zero al sette. E qui l'espressione regolare con la quale si è aperto questo capitolo comincia ad avere un senso: <syntaxhighlight lang="text"> [^[0-9]] </syntaxhighlight> rappresenta un carattere qualsiasi che non sia un numero. Per altra parte l'asterisco viene utilizzato per rappresentare un numero arbitrario di caratteri uguali a quello precedente: a* troverà a, aa, aaa… eccetera, ma troverà anche zero caratteri: cal*do troverà caldo, calldo, calllllllllllllldo ma anche cado. Evidentemente, all'asterisco bisogna utilizzarlo con precauzione… Sulle parentesi tonde parleremo più in giù. A questo punto la nostra prima espressione regolare risulta chiara: cerca una quantità arbitraria di caratteri che non siano numeri. Andiamo a vedere altri esempi. === Il punto . === Può essere utilizzato come un carattere generico. Per esempio <syntaxhighlight lang="text"> m.s </syntaxhighlight> cercherà per mas, más, mis… oppure mXs. Un'espressione equivalente al punto è <syntaxhighlight> [:any:] </syntaxhighlight> === Il punto interrogativo ? === Serve per trovare «zero o una volta» il carattere precedente. Per esempio <syntaxhighlight lang="text"> vizio? </syntaxhighlight> Troverà vizio e vizi. === Il più + === Similare all'asterisco, serve per indicare una o più volte il carattere precedente. === Le parentesi graffe { } === Servono a indicare quante ripetizioni ci interessano. Per esempio <syntaxhighlight lang="text"> a{1,4}y! </syntaxhighlight> cercherà un minimo di una e un massimo di quattro ripetizioni della a e pertanto troverà ay!, aay!, aaay!, aaaay! Scrivendo soltanto un numero cercherà esattamente quel numero di ripetizioni, per esempio a{3}y! Troverà soltanto aaay! Per ultimo l'espressione a{3,}y! troverà la parola con almeno tre a, ma senza limite massimo. === Il carattere $ === Così come ^ cerca all'inizio, il carattere $ preceduto da qualche testo cercherà quel testo alla fine di un paragrafo. Il carattere $ da solo può infatti essere utilizzato per cercare l'interruzione paragrafo ma risulta importante notare che non è possibile cercare un testo alla fine di un paragrafo più l'interruzione paragrafo. Per esempio l'espressione <syntaxhighlight lang="text"> \.$ </syntaxhighlight> troverà un punto alla fine di un paragrafo ma non selezionerà l'interruzione di paragrafo in sé. Le espressioni regolari funzionano soltanto all'interno dei paragrafi. Nella casella «Sostituisci» il carattere $ ha un altro significato il quale vedremo più avanti al parlare dei gruppi e i riferimenti. === La barra inversa \ === Questa barra può essere utilizzata per dire che caratteri con un significato speciale devono essere trattati come normali: se vogliamo trovare i caratteri . ^ $ * + ? \ [ ( { | dobbiamo mettere davanti la \ (giusto: per cercare \ dobbiamo scrivere \\). Però questa barra può anche essere utilizzata per dire che dei caratteri normali hanno adesso un significato speciale: \b cerca nei «limiti» (boundaries, in inglese) di una parola. Per esempio <syntaxhighlight lang="text"> \bgius </syntaxhighlight> troverà il «gius» di giusto, giusta, giustamente… ma lascerà passare quello di «aggiustare» mentre che <syntaxhighlight> ora\b </syntaxhighlight> troverà l'«ora» di mora, assapora… ma non quello di «orario». {{riquadro|Chiaramente i segni di punteggiatura non vengono considerati parte di una parola e perciò la espressione ora\b troverà anche l'«ora» di «proprio a quest'ora!».}} E già che ci siamo qui a parlare di parole, l'espressione \w cercherà un elemento all'interno di una parola (un carattere). \t cerca {{tasto|tab}}. Dobbiamo tener presente che \tazza non cercherà la parola tazza ma un {{tasto|tab}} seguito da «azza» il che può risultare pericoloso in tanti modi. \n ha un doppio significato: in Cerca andrà a trovare interruzioni di riga ({{tasto|Shift|Invio}}), mentre che in Sostituisci introduce un'interruzione di paragrafo (esatto, quelle che si cercano con lo $… lo so, è strano…). === La barra verticale | === Utilizzata tra parentesi quadre serve per «scegliere» tra due opzioni. Per esempio <syntaxhighlight lang="text"> bar[r|c]a </syntaxhighlight> troverà barra e barca, ma non baria. Può essere utilizzato più di una volta in espressioni del tipo [a|b|c]. Se vogliamo cercare parole intere possiamo non utilizzare le parentesi quadre <syntaxhighlight lang="text"> primo|secondo|terzo </syntaxhighlight> troverà le parole «primo», «secondo» o «terzo». == Gruppi e riferimenti == Le parentesi tonde «raggruppano» espressioni. Il vantaggio principale è che le espressioni così raggruppate possono essere «richiamate » dopo. Vediamo un esempio. Supponiamo che vogliamo cercare un testo ripetuto (tipico errore tipografico che compare quando ci fermiamo a pensare a metà metà di una frase…) l'espressione regolare (più in giù ne vedremo una migliore) <syntaxhighlight lang="text"> (.+)\1 </syntaxhighlight> troverà qualsiasi gruppo di caratteri che si ripeta, per esempio due volte una parola o due volte uno spazio, perché il gruppo (.+) viene chiamato ancora con il \1. {{riquadro|NOTA: Se si hanno due o più gruppi, qualcosa del tipo (exp1)(exp2). potremo chiamare al primo con \1, al secondo con \2.}} Per «pulire» questa ripetizione sarà sufficiente scrivere $1 in Sostituisci. E sì, Sostituisci funziona in modo diverso da Trova: il riferimento si fa con $ e non con \. Infatti, tranne per qualche eccezione molto particolare Sostituisci non accetta espressioni regolari. L'espressione precedente troverà anche due l consecutive, due r… insomma, che può risultare «pericolosa». Una espressione che da risultati perfetti per trovare parole duplicate è la seguente: <syntaxhighlight lang="text"> \b(\w+) +\1\b </syntaxhighlight> {{riquadro|Importante: notare lo spazio tra il (\w+) e il +\1}} I due \b all'inizio e alla fine dell'espressione cercano i limiti di una parola, il (\w+) cerca almeno un elemento di parola (cioè, almeno un carattere). Lascio al lettore l'interpretare lo spazio seguito dal più… == Altre espressioni == Così come \w cerca un elemento di parola, \W (in maiuscolo) cerca qualcosa che non sia un elemento di parola (un segno di punteggiatura, uno spazio). È possibile cercare caratteri unicode arbitrari utilizzando il formato «\uXXXX», dove XXXX corrisponde al codice esadecimale che identifica al carattere. Per esempio, \u03b4 troverà un δ. L'espressione [:alpha:] rappresenta un carattere ASCII, mentre [:digit:] o [:number:] cercano un numero qualsiasi dal 0 al 9. [:space:] troverà qualsiasi tipo si spazio, inclusi quelli di non separazione. Scrivendo & in «sostituisci» verrà inserita la stessa catena trovata con l'espressione di «Trova». == Qualche esempio == Per trovare paragrafi vuoti che contengano soltanto spazi ma non parole, caratteri o simboli possiamo scrivere <syntaxhighlight lang="text"> ^([ ]*)$ </syntaxhighlight> (tra le parentesi quadre c'è uno spazio) in Trova. Per qualche motivo questa espressione non riesce a trovare il caso di «zero spazi», dove si deve utilizzare <syntaxhighlight lang="text"> ^$ </syntaxhighlight> Per trovare numeri interi <syntaxhighlight lang="text"> \b[1-9][0-9]*\b </syntaxhighlight> Se si vuole trovare un numero «con la virgola» del tipo 0,1234 <syntaxhighlight lang="text"> \b[0-9]+,[0-9]*\b </syntaxhighlight> E se dobbiamo trovare dei numeri che possano essere interi oppure decimali, con virgola o con punto come separatore decimale? <syntaxhighlight lang="text"> \b[0-9]+[,|\.]?[0-9]*\b </syntaxhighlight> Vediamo adesso qualche esempio più difficile. Per trovare testo tra parentesi tondi: <syntaxhighlight lang="text"> \([^\(]*\) </syntaxhighlight> La spiegazione di questa espressione è la seguente: cerca una parentesi di apertura, un numero arbitrario di caratteri che non siano una parentesi di apertura e infine un parentesi di chiusura. Tanto le parentesi tonde come quelle quadre sono caratteri speciali per le espressioni regolari ed è per questo che si deve utilizzare la barra inversa, ma se vogliamo trovare per esempio qualcosa circondata nelle «virgolette latine» possiamo semplicemente utilizzare <syntaxhighlight lang="text"> «[^«]*» </syntaxhighlight> Bene, siamo già in ritmo? Perché adesso vengono delle cose veramente complesse e interessanti… Situazione: dobbiamo selezionare un testo che si trova prima di un altro, ma senza selezionare quest'ultimo. Risulta necessario utilizzare quello che nel gergo delle espressioni regolari si chiama Lookahead assertion e che si costruisce con un paio di parentesi tonde, un punto interrogativo e un segno uguale: <syntaxhighlight lang="text"> termine da selezionare(?=elemento che non vogliamo selezionare) </syntaxhighlight> Esempio: dobbiamo selezionare qualsiasi testo immediatamente seguito da un punto, ma senza selezionare il punto, l'espressione sarebbe <syntaxhighlight lang="text"> \b\w+(?=\.) </syntaxhighlight> Nuova situazione: prendiamo adesso la sfida di trovare qualcosa che venga dopo un elemento determinato, ma senza selezionare quell'elemento. La strategia viene chiamata Look-behind assertion la quale si costruisce in modo similare all'anteriore, ma aggiungendo in modo strategico con un segno di «minore che»: <syntaxhighlight lang="text"> (?<=elemento che non vogliamo selezionare) termine da selezionare </syntaxhighlight> Esempio: cade nelle nostre mani un testo scritto da altre persone, possibilmente importato da altri formati, che ha più spazi dopo ogni punto, non solo uno, e vogliamo risolvere questo problema. L'espressione seguente sarebbe sufficiente <syntaxhighlight lang="text"> (?<=\.)[:space:]{2,} </syntaxhighlight> Però cosa succede se questi spazi ripetuti si danno pure dopo un punto esclamativo o interrogativo? In questo caso l'espressione sarebbe <syntaxhighlight lang="text"> (?<=[\.\?\!])[:space:]{2,} </syntaxhighlight> Altra sfida? Potremo cercare testo tra due virgolette ma senza selezionare le virgolette <syntaxhighlight lang="text"> (?<=«)[^»]+(?=») </syntaxhighlight> Un ultimo esempio: potremo utilizzare tutto questo per correggere la mancanza di uno spazio dopo un punto. Per esempio, se in un testo si tiene <syntaxhighlight lang="text"> Un periodo.Secondo periodo.Terzo periodo?Quarto. Il quinto è giusto. </syntaxhighlight> E vogliamo selezionare soltanto i punti che non sono seguiti da uno spazio potremo utilizzare <syntaxhighlight lang="text"> (?<=\w)\.(?=[\w¿¡]) </syntaxhighlight> per poi sostituirle per un punto e uno spazio. Credo che per una «introduzione» ci siamo già spinti fin troppo. Le espressioni regolari sono più un'arte che una tecnica e proprio per quello trovare «l'espressione giusta» per risolvere un dato problema è qualcosa che ci terrà a pensare per un bel po'. Ma quando la troviamo… Per più informazioni sulle espressioni regolari: http://userguide.icuproject.org/strings/regexp Non tutte le espressioni che si trovano in quella pagina funzionano in Writer, ma risulta un importante punto di riferimento. [[Categoria:LibreOffice Writer|Trovare e sostituire: le espressioni regolari]] {{Avanzamento|100%|28 dicembre 2016}} gt230f31mz6oz0d8qa9tmxgytuv6aqg 501550 501549 2026-09-06T14:55:19Z Hippias 18281 501550 wikitext text/x-wiki {{LibreOffice Writer}} Oltre alla barra degli strumenti di ricerca testo che viene attivata con {{tasto|Ctrl|F}} e che funziona più o meno come quella corrispondente nei navigatori internet, LibO offre un potente strumento per trovare testi complessi non solo in base al testo in sé, ma anche in funzione della sua formattazione e della sua struttura. La finestra che si presenta con {{tasto|Ctrl|H}} o usando il menù Modifica → Trova e sostituisci ci offre, sotto Altre opzioni, strumenti per cercare per stili, per «simili» dove si permette al testo di essere leggermente diverso da quello ricercato (caratteri scambiati oppure aggiunti), uno strumento per cercare parole con un certo attributo o formattazione… Di tutte queste opzioni qui parlerò soltanto di quella più «complicata», uno strumento potente, però un po' difficile da utilizzare: le espressioni regolari. == Cosa sono le espressioni regolari == Tutti conosciamo il famoso «asterisco» utilizzato per cercare un file determinato: scrivendo *.odt nello strumento per cercare file e cartelle del nostro sistema operativo si ottiene una lista di tutti i file odt. Qui l'asterisco funziona come un «jolly» che indica al sistema «sto cercando un file di qualsiasi nome, ma che finisca con l'estensione .odt». Bene, le espressioni regolari sono un modo di portare avanti (fino all'infinito) questa idea di «jolly». Immaginiamo di avere un testo nel quale ci sono numeri interi e che per qualsiasi motivo vogliamo selezionare il testo lasciando da parte i numeri, come si potrebbe fare questo? Aprendo il quadro di dialogo «Cerca e sostituisci» si fa clic in Altre opzioni e si spunta Espressioni regolari. Adesso, in Trova dobbiamo scrivere quello che sarà la nostra prima espressione regolare: <syntaxhighlight lang="text"> (([^[0-9]]*)*) </syntaxhighlight> Dovremo vedere qualcosa di simili a quello presentato nella Figura 75. Se a questo punto facciamo clic in Trova successivo oppure in Trova tutto vedremo che il testo che non contiene numeri viene progressivamente selezionato. Ebbene, adesso che sappiamo già per cosa servono le espressioni regolari andiamo avanti a vedere come vengono utilizzate. {{riquadro|Le espressioni regolari si possono avviare con Attributi e Formato ma non con «simili» o con la ricerca per stili.}} == I caratteri speciali == [[File:LibO Writer 24.2 espressioni regolari.png|thumb|left|Figura 75: Il menù «trova e sostituisci» e le espressioni regolari]] Dobbiamo dirlo dall'inizio: nelle espressioni regolari ci sono tanti «caratteri speciali» il cui significato cambia a seconda del contesto, il che non aiuta proprio a imparare il modo in cui vengono utilizzati. Per esempio il carattere ^ da sé serve soltanto per localizzare elementi all'inizio di un paragrafo. Infatti, scrivendo <syntaxhighlight lang="text"> ^un </syntaxhighlight> in «Trova» il testo «un» verrà selezionato soltanto se si trova all'inizio di un paragrafo e sarà ignorato in altre posizioni. Ma se adesso mettiamo la medesima espressione tra parentesi quadre <syntaxhighlight lang="text"> [^un] </syntaxhighlight> questo significherà «un carattere diverso da u e da n»: se nel testo si trova la parola «uno» e utilizziamo l'espressione regolare [^un] in «Trova», lo strumento ignorerà l'«un» e si fermerà nella «o», in «utilità» ignorerà la «u» e si fermerà nella «t»… Le parentesi quadre, oltre a essere utili per creare «negazioni» come quella precedente servono pure per indicare un «range» di caratteri. Per esempio <syntaxhighlight lang="text"> [0-7] </syntaxhighlight> indica qualsiasi numero dallo zero al sette. E qui l'espressione regolare con la quale si è aperto questo capitolo comincia ad avere un senso: <syntaxhighlight lang="text"> [^[0-9]] </syntaxhighlight> rappresenta un carattere qualsiasi che non sia un numero. Per altra parte l'asterisco viene utilizzato per rappresentare un numero arbitrario di caratteri uguali a quello precedente: a* troverà a, aa, aaa… eccetera, ma troverà anche zero caratteri: cal*do troverà caldo, calldo, calllllllllllllldo ma anche cado. Evidentemente, all'asterisco bisogna utilizzarlo con precauzione… Sulle parentesi tonde parleremo più in giù. A questo punto la nostra prima espressione regolare risulta chiara: cerca una quantità arbitraria di caratteri che non siano numeri. Andiamo a vedere altri esempi. === Il punto . === Può essere utilizzato come un carattere generico. Per esempio <syntaxhighlight lang="text"> m.s </syntaxhighlight> cercherà per mas, más, mis… oppure mXs. Un'espressione equivalente al punto è <syntaxhighlight> [:any:] </syntaxhighlight> === Il punto interrogativo ? === Serve per trovare «zero o una volta» il carattere precedente. Per esempio <syntaxhighlight lang="text"> vizio? </syntaxhighlight> Troverà vizio e vizi. === Il più + === Similare all'asterisco, serve per indicare una o più volte il carattere precedente. === Le parentesi graffe { } === Servono a indicare quante ripetizioni ci interessano. Per esempio <syntaxhighlight lang="text"> a{1,4}y! </syntaxhighlight> cercherà un minimo di una e un massimo di quattro ripetizioni della a e pertanto troverà ay!, aay!, aaay!, aaaay! Scrivendo soltanto un numero cercherà esattamente quel numero di ripetizioni, per esempio a{3}y! Troverà soltanto aaay! Per ultimo l'espressione a{3,}y! troverà la parola con almeno tre a, ma senza limite massimo. === Il carattere $ === Così come ^ cerca all'inizio, il carattere $ preceduto da qualche testo cercherà quel testo alla fine di un paragrafo. Il carattere $ da solo può infatti essere utilizzato per cercare l'interruzione paragrafo ma risulta importante notare che non è possibile cercare un testo alla fine di un paragrafo più l'interruzione paragrafo. Per esempio l'espressione <syntaxhighlight lang="text"> \.$ </syntaxhighlight> troverà un punto alla fine di un paragrafo ma non selezionerà l'interruzione di paragrafo in sé. Le espressioni regolari funzionano soltanto all'interno dei paragrafi. Nella casella «Sostituisci» il carattere $ ha un altro significato il quale vedremo più avanti al parlare dei gruppi e i riferimenti. === La barra inversa \ === Questa barra può essere utilizzata per dire che caratteri con un significato speciale devono essere trattati come normali: se vogliamo trovare i caratteri . ^ $ * + ? \ [ ( { | dobbiamo mettere davanti la \ (giusto: per cercare \ dobbiamo scrivere \\). Però questa barra può anche essere utilizzata per dire che dei caratteri normali hanno adesso un significato speciale: \b cerca nei «limiti» (boundaries, in inglese) di una parola. Per esempio <syntaxhighlight lang="text"> \bgius </syntaxhighlight> troverà il «gius» di giusto, giusta, giustamente… ma lascerà passare quello di «aggiustare» mentre che <syntaxhighlight lang="text"> ora\b </syntaxhighlight> troverà l'«ora» di mora, assapora… ma non quello di «orario». {{riquadro|Chiaramente i segni di punteggiatura non vengono considerati parte di una parola e perciò la espressione ora\b troverà anche l'«ora» di «proprio a quest'ora!».}} E già che ci siamo qui a parlare di parole, l'espressione \w cercherà un elemento all'interno di una parola (un carattere). \t cerca {{tasto|tab}}. Dobbiamo tener presente che \tazza non cercherà la parola tazza ma un {{tasto|tab}} seguito da «azza» il che può risultare pericoloso in tanti modi. \n ha un doppio significato: in Cerca andrà a trovare interruzioni di riga ({{tasto|Shift|Invio}}), mentre che in Sostituisci introduce un'interruzione di paragrafo (esatto, quelle che si cercano con lo $… lo so, è strano…). === La barra verticale | === Utilizzata tra parentesi quadre serve per «scegliere» tra due opzioni. Per esempio <syntaxhighlight lang="text"> bar[r|c]a </syntaxhighlight> troverà barra e barca, ma non baria. Può essere utilizzato più di una volta in espressioni del tipo [a|b|c]. Se vogliamo cercare parole intere possiamo non utilizzare le parentesi quadre <syntaxhighlight lang="text"> primo|secondo|terzo </syntaxhighlight> troverà le parole «primo», «secondo» o «terzo». == Gruppi e riferimenti == Le parentesi tonde «raggruppano» espressioni. Il vantaggio principale è che le espressioni così raggruppate possono essere «richiamate » dopo. Vediamo un esempio. Supponiamo che vogliamo cercare un testo ripetuto (tipico errore tipografico che compare quando ci fermiamo a pensare a metà metà di una frase…) l'espressione regolare (più in giù ne vedremo una migliore) <syntaxhighlight lang="text"> (.+)\1 </syntaxhighlight> troverà qualsiasi gruppo di caratteri che si ripeta, per esempio due volte una parola o due volte uno spazio, perché il gruppo (.+) viene chiamato ancora con il \1. {{riquadro|NOTA: Se si hanno due o più gruppi, qualcosa del tipo (exp1)(exp2). potremo chiamare al primo con \1, al secondo con \2.}} Per «pulire» questa ripetizione sarà sufficiente scrivere $1 in Sostituisci. E sì, Sostituisci funziona in modo diverso da Trova: il riferimento si fa con $ e non con \. Infatti, tranne per qualche eccezione molto particolare Sostituisci non accetta espressioni regolari. L'espressione precedente troverà anche due l consecutive, due r… insomma, che può risultare «pericolosa». Una espressione che da risultati perfetti per trovare parole duplicate è la seguente: <syntaxhighlight lang="text"> \b(\w+) +\1\b </syntaxhighlight> {{riquadro|Importante: notare lo spazio tra il (\w+) e il +\1}} I due \b all'inizio e alla fine dell'espressione cercano i limiti di una parola, il (\w+) cerca almeno un elemento di parola (cioè, almeno un carattere). Lascio al lettore l'interpretare lo spazio seguito dal più… == Altre espressioni == Così come \w cerca un elemento di parola, \W (in maiuscolo) cerca qualcosa che non sia un elemento di parola (un segno di punteggiatura, uno spazio). È possibile cercare caratteri unicode arbitrari utilizzando il formato «\uXXXX», dove XXXX corrisponde al codice esadecimale che identifica al carattere. Per esempio, \u03b4 troverà un δ. L'espressione [:alpha:] rappresenta un carattere ASCII, mentre [:digit:] o [:number:] cercano un numero qualsiasi dal 0 al 9. [:space:] troverà qualsiasi tipo si spazio, inclusi quelli di non separazione. Scrivendo & in «sostituisci» verrà inserita la stessa catena trovata con l'espressione di «Trova». == Qualche esempio == Per trovare paragrafi vuoti che contengano soltanto spazi ma non parole, caratteri o simboli possiamo scrivere <syntaxhighlight lang="text"> ^([ ]*)$ </syntaxhighlight> (tra le parentesi quadre c'è uno spazio) in Trova. Per qualche motivo questa espressione non riesce a trovare il caso di «zero spazi», dove si deve utilizzare <syntaxhighlight lang="text"> ^$ </syntaxhighlight> Per trovare numeri interi <syntaxhighlight lang="text"> \b[1-9][0-9]*\b </syntaxhighlight> Se si vuole trovare un numero «con la virgola» del tipo 0,1234 <syntaxhighlight lang="text"> \b[0-9]+,[0-9]*\b </syntaxhighlight> E se dobbiamo trovare dei numeri che possano essere interi oppure decimali, con virgola o con punto come separatore decimale? <syntaxhighlight lang="text"> \b[0-9]+[,|\.]?[0-9]*\b </syntaxhighlight> Vediamo adesso qualche esempio più difficile. Per trovare testo tra parentesi tondi: <syntaxhighlight lang="text"> \([^\(]*\) </syntaxhighlight> La spiegazione di questa espressione è la seguente: cerca una parentesi di apertura, un numero arbitrario di caratteri che non siano una parentesi di apertura e infine un parentesi di chiusura. Tanto le parentesi tonde come quelle quadre sono caratteri speciali per le espressioni regolari ed è per questo che si deve utilizzare la barra inversa, ma se vogliamo trovare per esempio qualcosa circondata nelle «virgolette latine» possiamo semplicemente utilizzare <syntaxhighlight lang="text"> «[^«]*» </syntaxhighlight> Bene, siamo già in ritmo? Perché adesso vengono delle cose veramente complesse e interessanti… Situazione: dobbiamo selezionare un testo che si trova prima di un altro, ma senza selezionare quest'ultimo. Risulta necessario utilizzare quello che nel gergo delle espressioni regolari si chiama Lookahead assertion e che si costruisce con un paio di parentesi tonde, un punto interrogativo e un segno uguale: <syntaxhighlight lang="text"> termine da selezionare(?=elemento che non vogliamo selezionare) </syntaxhighlight> Esempio: dobbiamo selezionare qualsiasi testo immediatamente seguito da un punto, ma senza selezionare il punto, l'espressione sarebbe <syntaxhighlight lang="text"> \b\w+(?=\.) </syntaxhighlight> Nuova situazione: prendiamo adesso la sfida di trovare qualcosa che venga dopo un elemento determinato, ma senza selezionare quell'elemento. La strategia viene chiamata Look-behind assertion la quale si costruisce in modo similare all'anteriore, ma aggiungendo in modo strategico con un segno di «minore che»: <syntaxhighlight lang="text"> (?<=elemento che non vogliamo selezionare) termine da selezionare </syntaxhighlight> Esempio: cade nelle nostre mani un testo scritto da altre persone, possibilmente importato da altri formati, che ha più spazi dopo ogni punto, non solo uno, e vogliamo risolvere questo problema. L'espressione seguente sarebbe sufficiente <syntaxhighlight lang="text"> (?<=\.)[:space:]{2,} </syntaxhighlight> Però cosa succede se questi spazi ripetuti si danno pure dopo un punto esclamativo o interrogativo? In questo caso l'espressione sarebbe <syntaxhighlight lang="text"> (?<=[\.\?\!])[:space:]{2,} </syntaxhighlight> Altra sfida? Potremo cercare testo tra due virgolette ma senza selezionare le virgolette <syntaxhighlight lang="text"> (?<=«)[^»]+(?=») </syntaxhighlight> Un ultimo esempio: potremo utilizzare tutto questo per correggere la mancanza di uno spazio dopo un punto. Per esempio, se in un testo si tiene <syntaxhighlight lang="text"> Un periodo.Secondo periodo.Terzo periodo?Quarto. Il quinto è giusto. </syntaxhighlight> E vogliamo selezionare soltanto i punti che non sono seguiti da uno spazio potremo utilizzare <syntaxhighlight lang="text"> (?<=\w)\.(?=[\w¿¡]) </syntaxhighlight> per poi sostituirle per un punto e uno spazio. Credo che per una «introduzione» ci siamo già spinti fin troppo. Le espressioni regolari sono più un'arte che una tecnica e proprio per quello trovare «l'espressione giusta» per risolvere un dato problema è qualcosa che ci terrà a pensare per un bel po'. Ma quando la troviamo… Per più informazioni sulle espressioni regolari: http://userguide.icuproject.org/strings/regexp Non tutte le espressioni che si trovano in quella pagina funzionano in Writer, ma risulta un importante punto di riferimento. [[Categoria:LibreOffice Writer|Trovare e sostituire: le espressioni regolari]] {{Avanzamento|100%|28 dicembre 2016}} 7xtea3syrq19i7esu7vpxa0dmp54skl 501551 501550 2026-09-06T14:58:19Z Hippias 18281 501551 wikitext text/x-wiki {{LibreOffice Writer}} Oltre alla barra degli strumenti di ricerca testo che viene attivata con {{tasto|Ctrl|F}} e che funziona più o meno come quella corrispondente nei navigatori internet, LibO offre un potente strumento per trovare testi complessi non solo in base al testo in sé, ma anche in funzione della sua formattazione e della sua struttura. La finestra che si presenta con {{tasto|Ctrl|H}} o usando il menù Modifica → Trova e sostituisci ci offre, sotto Altre opzioni, strumenti per cercare per stili, per «simili» dove si permette al testo di essere leggermente diverso da quello ricercato (caratteri scambiati oppure aggiunti), uno strumento per cercare parole con un certo attributo o formattazione… Di tutte queste opzioni qui parlerò soltanto di quella più «complicata», uno strumento potente, però un po' difficile da utilizzare: le espressioni regolari. == Cosa sono le espressioni regolari == Tutti conosciamo il famoso «asterisco» utilizzato per cercare un file determinato: scrivendo *.odt nello strumento per cercare file e cartelle del nostro sistema operativo si ottiene una lista di tutti i file odt. Qui l'asterisco funziona come un «jolly» che indica al sistema «sto cercando un file di qualsiasi nome, ma che finisca con l'estensione .odt». Bene, le espressioni regolari sono un modo di portare avanti (fino all'infinito) questa idea di «jolly». Immaginiamo di avere un testo nel quale ci sono numeri interi e che per qualsiasi motivo vogliamo selezionare il testo lasciando da parte i numeri, come si potrebbe fare questo? Aprendo il quadro di dialogo «Cerca e sostituisci» si fa clic in Altre opzioni e si spunta Espressioni regolari. Adesso, in Trova dobbiamo scrivere quello che sarà la nostra prima espressione regolare: <syntaxhighlight lang="perl"> (([^[0-9]]*)*) </syntaxhighlight> Dovremo vedere qualcosa di simili a quello presentato nella Figura 75. Se a questo punto facciamo clic in Trova successivo oppure in Trova tutto vedremo che il testo che non contiene numeri viene progressivamente selezionato. Ebbene, adesso che sappiamo già per cosa servono le espressioni regolari andiamo avanti a vedere come vengono utilizzate. {{riquadro|Le espressioni regolari si possono avviare con Attributi e Formato ma non con «simili» o con la ricerca per stili.}} == I caratteri speciali == [[File:LibO Writer 24.2 espressioni regolari.png|thumb|left|Figura 75: Il menù «trova e sostituisci» e le espressioni regolari]] Dobbiamo dirlo dall'inizio: nelle espressioni regolari ci sono tanti «caratteri speciali» il cui significato cambia a seconda del contesto, il che non aiuta proprio a imparare il modo in cui vengono utilizzati. Per esempio il carattere ^ da sé serve soltanto per localizzare elementi all'inizio di un paragrafo. Infatti, scrivendo <syntaxhighlight lang="perl"> ^un </syntaxhighlight> in «Trova» il testo «un» verrà selezionato soltanto se si trova all'inizio di un paragrafo e sarà ignorato in altre posizioni. Ma se adesso mettiamo la medesima espressione tra parentesi quadre <syntaxhighlight lang="perl"> [^un] </syntaxhighlight> questo significherà «un carattere diverso da u e da n»: se nel testo si trova la parola «uno» e utilizziamo l'espressione regolare [^un] in «Trova», lo strumento ignorerà l'«un» e si fermerà nella «o», in «utilità» ignorerà la «u» e si fermerà nella «t»… Le parentesi quadre, oltre a essere utili per creare «negazioni» come quella precedente servono pure per indicare un «range» di caratteri. Per esempio <syntaxhighlight lang="perl"> [0-7] </syntaxhighlight> indica qualsiasi numero dallo zero al sette. E qui l'espressione regolare con la quale si è aperto questo capitolo comincia ad avere un senso: <syntaxhighlight lang="perl"> [^[0-9]] </syntaxhighlight> rappresenta un carattere qualsiasi che non sia un numero. Per altra parte l'asterisco viene utilizzato per rappresentare un numero arbitrario di caratteri uguali a quello precedente: a* troverà a, aa, aaa… eccetera, ma troverà anche zero caratteri: cal*do troverà caldo, calldo, calllllllllllllldo ma anche cado. Evidentemente, all'asterisco bisogna utilizzarlo con precauzione… Sulle parentesi tonde parleremo più in giù. A questo punto la nostra prima espressione regolare risulta chiara: cerca una quantità arbitraria di caratteri che non siano numeri. Andiamo a vedere altri esempi. === Il punto . === Può essere utilizzato come un carattere generico. Per esempio <syntaxhighlight lang="perl"> m.s </syntaxhighlight> cercherà per mas, más, mis… oppure mXs. Un'espressione equivalente al punto è <syntaxhighlight> [:any:] </syntaxhighlight> === Il punto interrogativo ? === Serve per trovare «zero o una volta» il carattere precedente. Per esempio <syntaxhighlight lang="perl"> vizio? </syntaxhighlight> Troverà vizio e vizi. === Il più + === Similare all'asterisco, serve per indicare una o più volte il carattere precedente. === Le parentesi graffe { } === Servono a indicare quante ripetizioni ci interessano. Per esempio <syntaxhighlight lang="perl"> a{1,4}y! </syntaxhighlight> cercherà un minimo di una e un massimo di quattro ripetizioni della a e pertanto troverà ay!, aay!, aaay!, aaaay! Scrivendo soltanto un numero cercherà esattamente quel numero di ripetizioni, per esempio a{3}y! Troverà soltanto aaay! Per ultimo l'espressione a{3,}y! troverà la parola con almeno tre a, ma senza limite massimo. === Il carattere $ === Così come ^ cerca all'inizio, il carattere $ preceduto da qualche testo cercherà quel testo alla fine di un paragrafo. Il carattere $ da solo può infatti essere utilizzato per cercare l'interruzione paragrafo ma risulta importante notare che non è possibile cercare un testo alla fine di un paragrafo più l'interruzione paragrafo. Per esempio l'espressione <syntaxhighlight lang="perl"> \.$ </syntaxhighlight> troverà un punto alla fine di un paragrafo ma non selezionerà l'interruzione di paragrafo in sé. Le espressioni regolari funzionano soltanto all'interno dei paragrafi. Nella casella «Sostituisci» il carattere $ ha un altro significato il quale vedremo più avanti al parlare dei gruppi e i riferimenti. === La barra inversa \ === Questa barra può essere utilizzata per dire che caratteri con un significato speciale devono essere trattati come normali: se vogliamo trovare i caratteri . ^ $ * + ? \ [ ( { | dobbiamo mettere davanti la \ (giusto: per cercare \ dobbiamo scrivere \\). Però questa barra può anche essere utilizzata per dire che dei caratteri normali hanno adesso un significato speciale: \b cerca nei «limiti» (boundaries, in inglese) di una parola. Per esempio <syntaxhighlight lang="perl"> \bgius </syntaxhighlight> troverà il «gius» di giusto, giusta, giustamente… ma lascerà passare quello di «aggiustare» mentre che <syntaxhighlight lang="perl"> ora\b </syntaxhighlight> troverà l'«ora» di mora, assapora… ma non quello di «orario». {{riquadro|Chiaramente i segni di punteggiatura non vengono considerati parte di una parola e perciò la espressione ora\b troverà anche l'«ora» di «proprio a quest'ora!».}} E già che ci siamo qui a parlare di parole, l'espressione \w cercherà un elemento all'interno di una parola (un carattere). \t cerca {{tasto|tab}}. Dobbiamo tener presente che \tazza non cercherà la parola tazza ma un {{tasto|tab}} seguito da «azza» il che può risultare pericoloso in tanti modi. \n ha un doppio significato: in Cerca andrà a trovare interruzioni di riga ({{tasto|Shift|Invio}}), mentre che in Sostituisci introduce un'interruzione di paragrafo (esatto, quelle che si cercano con lo $… lo so, è strano…). === La barra verticale | === Utilizzata tra parentesi quadre serve per «scegliere» tra due opzioni. Per esempio <syntaxhighlight lang="perl"> bar[r|c]a </syntaxhighlight> troverà barra e barca, ma non baria. Può essere utilizzato più di una volta in espressioni del tipo [a|b|c]. Se vogliamo cercare parole intere possiamo non utilizzare le parentesi quadre <syntaxhighlight lang="perl"> primo|secondo|terzo </syntaxhighlight> troverà le parole «primo», «secondo» o «terzo». == Gruppi e riferimenti == Le parentesi tonde «raggruppano» espressioni. Il vantaggio principale è che le espressioni così raggruppate possono essere «richiamate » dopo. Vediamo un esempio. Supponiamo che vogliamo cercare un testo ripetuto (tipico errore tipografico che compare quando ci fermiamo a pensare a metà metà di una frase…) l'espressione regolare (più in giù ne vedremo una migliore) <syntaxhighlight lang="perl"> (.+)\1 </syntaxhighlight> troverà qualsiasi gruppo di caratteri che si ripeta, per esempio due volte una parola o due volte uno spazio, perché il gruppo (.+) viene chiamato ancora con il \1. {{riquadro|NOTA: Se si hanno due o più gruppi, qualcosa del tipo (exp1)(exp2). potremo chiamare al primo con \1, al secondo con \2.}} Per «pulire» questa ripetizione sarà sufficiente scrivere $1 in Sostituisci. E sì, Sostituisci funziona in modo diverso da Trova: il riferimento si fa con $ e non con \. Infatti, tranne per qualche eccezione molto particolare Sostituisci non accetta espressioni regolari. L'espressione precedente troverà anche due l consecutive, due r… insomma, che può risultare «pericolosa». Una espressione che da risultati perfetti per trovare parole duplicate è la seguente: <syntaxhighlight lang="perl"> \b(\w+) +\1\b </syntaxhighlight> {{riquadro|Importante: notare lo spazio tra il (\w+) e il +\1}} I due \b all'inizio e alla fine dell'espressione cercano i limiti di una parola, il (\w+) cerca almeno un elemento di parola (cioè, almeno un carattere). Lascio al lettore l'interpretare lo spazio seguito dal più… == Altre espressioni == Così come \w cerca un elemento di parola, \W (in maiuscolo) cerca qualcosa che non sia un elemento di parola (un segno di punteggiatura, uno spazio). È possibile cercare caratteri unicode arbitrari utilizzando il formato «\uXXXX», dove XXXX corrisponde al codice esadecimale che identifica al carattere. Per esempio, \u03b4 troverà un δ. L'espressione [:alpha:] rappresenta un carattere ASCII, mentre [:digit:] o [:number:] cercano un numero qualsiasi dal 0 al 9. [:space:] troverà qualsiasi tipo si spazio, inclusi quelli di non separazione. Scrivendo & in «sostituisci» verrà inserita la stessa catena trovata con l'espressione di «Trova». == Qualche esempio == Per trovare paragrafi vuoti che contengano soltanto spazi ma non parole, caratteri o simboli possiamo scrivere <syntaxhighlight lang="perl"> ^([ ]*)$ </syntaxhighlight> (tra le parentesi quadre c'è uno spazio) in Trova. Per qualche motivo questa espressione non riesce a trovare il caso di «zero spazi», dove si deve utilizzare <syntaxhighlight lang="perl"> ^$ </syntaxhighlight> Per trovare numeri interi <syntaxhighlight lang="perl"> \b[1-9][0-9]*\b </syntaxhighlight> Se si vuole trovare un numero «con la virgola» del tipo 0,1234 <syntaxhighlight lang="perl"> \b[0-9]+,[0-9]*\b </syntaxhighlight> E se dobbiamo trovare dei numeri che possano essere interi oppure decimali, con virgola o con punto come separatore decimale? <syntaxhighlight lang="perl"> \b[0-9]+[,|\.]?[0-9]*\b </syntaxhighlight> Vediamo adesso qualche esempio più difficile. Per trovare testo tra parentesi tondi: <syntaxhighlight lang="perl"> \([^\(]*\) </syntaxhighlight> La spiegazione di questa espressione è la seguente: cerca una parentesi di apertura, un numero arbitrario di caratteri che non siano una parentesi di apertura e infine un parentesi di chiusura. Tanto le parentesi tonde come quelle quadre sono caratteri speciali per le espressioni regolari ed è per questo che si deve utilizzare la barra inversa, ma se vogliamo trovare per esempio qualcosa circondata nelle «virgolette latine» possiamo semplicemente utilizzare <syntaxhighlight lang="perl"> «[^«]*» </syntaxhighlight> Bene, siamo già in ritmo? Perché adesso vengono delle cose veramente complesse e interessanti… Situazione: dobbiamo selezionare un testo che si trova prima di un altro, ma senza selezionare quest'ultimo. Risulta necessario utilizzare quello che nel gergo delle espressioni regolari si chiama Lookahead assertion e che si costruisce con un paio di parentesi tonde, un punto interrogativo e un segno uguale: <syntaxhighlight lang="perl"> termine da selezionare(?=elemento che non vogliamo selezionare) </syntaxhighlight> Esempio: dobbiamo selezionare qualsiasi testo immediatamente seguito da un punto, ma senza selezionare il punto, l'espressione sarebbe <syntaxhighlight lang="perl"> \b\w+(?=\.) </syntaxhighlight> Nuova situazione: prendiamo adesso la sfida di trovare qualcosa che venga dopo un elemento determinato, ma senza selezionare quell'elemento. La strategia viene chiamata Look-behind assertion la quale si costruisce in modo similare all'anteriore, ma aggiungendo in modo strategico con un segno di «minore che»: <syntaxhighlight lang="perl"> (?<=elemento che non vogliamo selezionare) termine da selezionare </syntaxhighlight> Esempio: cade nelle nostre mani un testo scritto da altre persone, possibilmente importato da altri formati, che ha più spazi dopo ogni punto, non solo uno, e vogliamo risolvere questo problema. L'espressione seguente sarebbe sufficiente <syntaxhighlight lang="perl"> (?<=\.)[:space:]{2,} </syntaxhighlight> Però cosa succede se questi spazi ripetuti si danno pure dopo un punto esclamativo o interrogativo? In questo caso l'espressione sarebbe <syntaxhighlight lang="perl"> (?<=[\.\?\!])[:space:]{2,} </syntaxhighlight> Altra sfida? Potremo cercare testo tra due virgolette ma senza selezionare le virgolette <syntaxhighlight lang="perl"> (?<=«)[^»]+(?=») </syntaxhighlight> Un ultimo esempio: potremo utilizzare tutto questo per correggere la mancanza di uno spazio dopo un punto. Per esempio, se in un testo si tiene <syntaxhighlight lang="perl"> Un periodo.Secondo periodo.Terzo periodo?Quarto. Il quinto è giusto. </syntaxhighlight> E vogliamo selezionare soltanto i punti che non sono seguiti da uno spazio potremo utilizzare <syntaxhighlight lang="perl"> (?<=\w)\.(?=[\w¿¡]) </syntaxhighlight> per poi sostituirle per un punto e uno spazio. Credo che per una «introduzione» ci siamo già spinti fin troppo. Le espressioni regolari sono più un'arte che una tecnica e proprio per quello trovare «l'espressione giusta» per risolvere un dato problema è qualcosa che ci terrà a pensare per un bel po'. Ma quando la troviamo… Per più informazioni sulle espressioni regolari: http://userguide.icuproject.org/strings/regexp Non tutte le espressioni che si trovano in quella pagina funzionano in Writer, ma risulta un importante punto di riferimento. [[Categoria:LibreOffice Writer|Trovare e sostituire: le espressioni regolari]] {{Avanzamento|100%|28 dicembre 2016}} c7q5ai7ek6kn1dt3f9v3q2rsb0mmx10 LibreOffice Writer/Proprietà tipografiche avanzate 0 39237 501548 479929 2026-09-06T14:51:18Z Hippias 18281 501548 wikitext text/x-wiki {{LibreOffice Writer}} [[File:Addomesticare Writer - fig 78.jpg|thumb|left|Figura 78: Differenza tra apici e pedici veri (a destra in ogni coppia di «2») e «simulati» (sinistra in ogni coppia di «2»)]] Quando viene inserito un apice, sia dalla barra degli strumenti di formattazione oppure con {{tasto|Ctrl|Shift|P}} in realtà l'apice viene «simulato » con il vecchio trucchetto di ridurre il font e modificare la sua posizione verticale. Nella Figura 78 si vede che questa simulazione non è equivalente a utilizzare un «apice vero», specificamente sviluppato per «essere un apice». [[File:Addomesticare Writer - fig 79.jpg|thumb|left|Figura 79: Combinazione di apici e pedici simulati (sinistra) e «veri» (destra)]] Questa differenza si può vedere anche nelle due espressioni della Figura 79: quella a sinistra utilizza apici e pedici «simulati» mentre quella a destra è costruita con apici e pedici «veri» senza utilizzare Math… credo non sia necessario essere degli esperti di chimica per rendersi conto quale delle due espressioni si vede meglio. Molti font moderni includono l'informazione necessaria per creare questi apici e pedici «veri» e altre proprietà: varianti degli stessi caratteri (per esempio la differenza tra Ö e Ö oppure passare da 123456789 a 12344564789) oppure le «legature tipografiche automatiche». [[File:Addomesticare Writer - fig 80.jpg|thumb|left|Figura 80: Testo senza (riga inferiore) e con (riga superiore) legature tipografche in Libertinus Serif. Le legature risolvono il «confito» tra «f» e «i», migliorano la distanza tra caratteri e la presentazione generale del testo, aumentando la sua leggibilità.]] Per chi non conosca cosa sono le legature, poiché un'immagine vale di più che mille parole, guardate le due righe di testo mostrate nella Figura 80, la prima con le legature tipografiche attive (l'unione della Q e u dando Qu, la f e la i dando fi) mentre la seconda senza. Le tecnologie che permettono questi «miracoli» tipografici sono principalmente due: OpenType e Graphite.<ref>Per Mac OS esiste AAT, però funziona soltanto in questa piattaforma e sembra di essere in via di estinzione.</ref> A questo punto risulta importante sottolineare che molte di queste opzioni tipografiche sono tutt'altro che un «capriccio estetico»: in tanti sistemi di scrittura le legature e le «alternative contestuali» (contextual alternate) sono un obbligo. [[File:Addomesticare Writer - fig 81.jpg|thumb|left|Figura 81: Testo senza (riga inferiore) e con (riga superiore) «alternative contestuali» (contextual alternate, o sostituzione dei glifi in base al contesto del testo) nel font decorativo Kleymissky. Può apprezzarsi nel testo superiore che le due «s» sono diverse, oltre ai cambiamenti nelle «k».]] Nelle ultime versioni di LibO è stato implementato un supporto parziale per i font OpenType mostrando le legature tipografiche e i contextual alternate (Figura 81), anche se non possono essere configurate.<ref>Almeno per il momento: in LibO 5.3 ci saranno delle novità...</ref> Però non è offerto supporto per altre sostituzioni come il vero maiuscoletto, i veri apici e pedici, le frazioni, eccetera. Allo stato attuale l'unico modo per avere supporto OpenType nel mondo del sofware libero è con sistemi tipo XeTeX. E questo ci lascia soltanto con la tecnologia Graphite, per la quale LibO offre supporto completo… anche se il modo di utilizzarla è, diciamo, poco intuitivo. Ogni font Graphite con delle tabelle di sostituzione per legature tipografiche e alternative contestuali (Charis SIL, per esempio) le utilizzerà in modo automatico in LibO senza altro lavoro per l'utente. Per utilizzare le altre opzioni bisogna conoscere le «etichette» che identificano ogni caratteristica per poi applicarle… insieme al nome del font! == I font Graphite e gli stili == Fortunatamente, anche se il metodo risulta un po' strano, è possibile utilizzare le caratteristiche avanzate dei font Graphite in qualsiasi stile, sia di paragrafo che di carattere. Infatti, dobbiamo soltanto conoscere l'identificazione della caratteristica che si vuole utilizzare, la quale sicuramente viene fornita nella documentazione che accompagna il font. Utilizzerò qui il font Linux Libertine G come esempio (Linux Biolinum G offre gli stessi parametri), parlando alla fine del capitolo degli altri font Graphite disponibili. Le «etichette» necessarie che, come detto, possono trovarsi nella documentazione che accompagna il font, sono di quattro caratteri e devono essere utilizzate insieme a un parametro numerico dopo il nome del font, nel seguente modo: <syntaxhighlight lang="text"> Linux Libertine G:etiq=N </syntaxhighlight> dove «etiq» rappresenta l'etichetta e N il valore del parametro che serve a configurare l'opzione attivata da etiq. È possibile utilizzare più etichette simultaneamente separandole con uno «&» <syntaxhighlight lang="text"> Linux Libertine G:eti1=N2&eti2=N1 </syntaxhighlight> Alcuni (pochi, il font offre molto di più) valori per «etiq» sono presentati nella Tabella 2 a pagina 252. Per esempio, per attivare la modalità TeX e le frazioni si deve utilizzare <syntaxhighlight lang="text"> Linux Libertine G:texm=1&frac=2 </syntaxhighlight> Gli apici «veri» dei quali parlavamo all'inizio del capitolo si possono attivare in questo font con <syntaxhighlight lang="text"> Linux Libertine G:sups=1 </syntaxhighlight> I numeri di pagina nelle intestazioni pagina di questo libro utilizzano l'opzione «numerali di stile antico» <syntaxhighlight lang="text"> Linux Libertine G:onum=1 </syntaxhighlight> mentre gli stili di carattere in maiuscoletto utilizzano la prima opzione mostrata nella Tabella 2. Un'opzione molto interessante della quale parlerò nella sezione dei «trucchi» di questo libro è «algn=n», con n un numero intero che permette di allineare colonne di numeri: {| |- | 1 || || 1 |- | 2 || passa a || 2 |- | 5 || || 5 |- | 10 || || 10 |} L'opzione Graphite utilizzata nella colonna a destra è «algn=3». Quest'opzione crea una «scatola» di 3 em<ref>1 em rappresenta una larghezza equivalente alla dimensione in punti del font scelto. Vale a dire, in un font di 12 punti 1 em equivale a 12 punti, approssimativamente 4,2 mm.</ref> e allinea i numeri alla sua destra. {| class="wikitable" |+ Tabella 2: Alcuni valori per attivare diverse caratteristiche Graphite nel font Linux Libertine G. Per più opzioni, consultare la documentazione che accompagna il font. | colspan=2 | '''Caratteristica''' || '''Etichetta''' |- | colspan=2 | {{menu sw|Maiuscoletto}} || smcp1 |- | colspan=2 | Apici || sups=1 |- | colspan=2 | Pedici || sinf=1 |- | colspan=2 | Numerali «antichi»: 12344564789 || onum=1 |- | colspan=2 | «Nome» dei numeri: 12 passa a dodici || name=1 |- | rowspan=3 | Legature || senza || liga=0 |- | Normali (fn, f, Q, !, … eccetera) || liga=1 oppure niente (è il valore predefinito) |- | Legature «storiche» st, sc || hlig=1 |- | colspan=2 | Numeri a simboli: 1, 2, 3… passa a * etc. || foot=1 |- | colspan=2 | Numeri tra parentesi: 1, 2 passa a (1), (2) || circ=2 |- | rowspan=2 | 1234/5678 || frac=1 |- | <math>\frac{1234}{5678}</math> || frac=2 |- | colspan=2 | Modo TeX || texm=1 |} == Cose da tener presente == * Il modo, oltre agli apici e pedici permette di utilizzare istruzioni quali \sum, \in, \not, \int, \oint, \alpha, \beta, eccetera, ma non altre come \limits. Il file fontfeatures. pdf che accompagna il font dà una lista completa. * Se si utilizza qualsiasi sostituzione Graphite in un titolo dovremo utilizzarlo anche nello stile di paragrafo utilizzato per costruire l'indice generale. * Muovendo il cursore con la tastiera verso un simbolo generato per qualsiasi di queste «specialità» è possibile che il suo comportamento non sia quello che ci si aspetta. == Altri font Graphite == Linux Libertine G y Linux Biolinum G non sono gli unici font ad offrire queste magie, anche se sono di gran lunga le più completi. Per esempio, utilizzando Gentium Plus<ref>http://sofware.sil.org/gentium/</ref> (un font creato da SIL International, i responsabili della tecnologia Graphite) con <syntaxhighlight lang="text"> Gentium Plus:litr=1 </syntaxhighlight> (literacy alternates) nel campo del nome del font. Altri font SIL sono per esempio Charis SIL<ref>http://sofware.sil.org/charis/</ref> (un font serif) e Andika<ref>http://sofware.sil.org/andika/</ref> (un font sans). Old Standard TT<ref>La pagina web dell'autore di questo font è sparita da qualche anno, però non risulta difficile trovare il font su Internet.</ref> è anche un font Graphite con un bel disegno e un interessante insieme di caratteristiche avanzate. Per esempio, gli apici e i pedici vengono controllati dall'etichetta «vpos»: vpos=1 da apici e vpos=2 pedici. Ogni font Graphite ha la sua propria «tabella di possibilità» con i suoi codici e le sue limitazioni (Charis SIL non offre una «modalità TeX», per esempio, né apici o pedici veri) perciò il lettore dovrà farsi strada in ogni caso particolare: nel sito web del produttore del font ci sarà sicuramente la documentazione con tutti i codici disponibili. == I problemi con la tecnologia Graphite == Esistono però alcuni problemi con la tecnologia Graphite: * I font disponibili sono pochi (ne abbiamo indicato la maggior parte) * I programmi che capiscono questa tecnologia sono ancora meno: LibO e AOO (quest'ultimo con una implementazione vecchia che nessuno utilizza più) e Firefox * Relazionato con il punto precedente: se viene creato un documento Writer che usa qualche specialità di Linux Libertine G o Gentium Plus e poi questo documento viene aperto in un altro editore di documenti ODF come Calligra Words o Abiword, ci saranno problemi * Questa tecnologia non è disponibile nella piattaforma Mac Fortunatamente i pochi font Graphite disponibili sono tutti di alta qualità, perciò se si può lavorare esclusivamente su una versione recente di Writer questa tecnologia risulta un'alternativa valida. == Note == <references /> [[Categoria:LibreOffice Writer|Proprietà tipografiche avanzate]] {{Avanzamento|100%|28 dicembre 2016}} rbyuqqowux1uzj6b3lm09ftmy2zmm13 Lingua Taxi/Dialogo 8 0 40044 501553 429768 2026-09-06T19:00:38Z Ziv 52021 ([[c:GR|GR]]) [[c:COM:Duplicate|Duplicate]]: [[File:Draw 20 euro bill.png]] → [[File:20-Euro.svg]] Exact or scaled-down duplicate: [[c::File:20-Euro.svg]] 501553 wikitext text/x-wiki {{capitolo |Libro=Lingua Taxi |NomeLibro=Lingua Taxi |CapitoloPrecedente=Dialogo 7 |NomePaginaCapitoloPrecedente=Lingua_Taxi/Dialogo 7 |CapitoloSuccessivo=Dialogo 9 |NomePaginaCapitoloSuccessivo=Lingua_Taxi/Dialogo 9 }} <hr/> [[File:Taxi_language.jpg|1200px|center|alt=Llengua Taxi]] <hr/> =Dialogo 8: Un pranzo con sorpresa= {| class=wikitable |+SE MI DICI ADDIO...[[File:Dialogo8.ogg|thumb|Dialogo 8]] |1||'''CAMERIERE'''||Che cosa porto da bere? |- |2||'''ANNA'''||{{Colore_di_sfondo|#E6CCFF|Io voglio un’acqua naturale per favore.}} |- |3||'''MAX'''||{{Colore_di_sfondo|#BBFF99|Anche per me dell’acqua. Ci porti una bottiglia di vino rosso del 1998 e due calici, per favore.}} |- |4||'''CAMERIERE'''||Si riferisce al Chianti da duecentotrentacinque euro? |- |5||'''MAX'''||{{Colore_di_sfondo|#BBFF99|Esatto, quello. E porti anche due calici, per favore.}} |- |6||'''ANNA'''||{{Colore_di_sfondo|#E6CCFF|Max questo vino è troppo costoso. Io non lo berró.}} |- |7||'''MAX'''||{{Colore_di_sfondo|#BBFF99|Tranquilla. Assaggialo, merita. É buonissimo, vedrai.}} |- |8||'''CAMERIERE'''||E da mangiare che cosa vi porto? |- |9||'''ANNA'''||{{Colore_di_sfondo|#BBFF99|Io voglio un’insalata e la carne alla brace.}} |- |10||'''MAX'''||{{Colore_di_sfondo|#BBFF99|Io una zuppa di pomodoro e un baccalà con la caponata}} |- |11||'''CAMERIERE'''||Molto bene. |- |12||'''ANNA'''||{{Colore_di_sfondo|#E6CCFF|Max...}} |- |13||'''MAX'''||{{Colore_di_sfondo|#BBFF99|Lasciami iniziare, per piacere. Anna da quando ti ho conosciuta mi sei sembrata molto speciale.<br />Piú ti conosco e piú ti trovo bella. Anna mi sono innamorato di te. Non riesco a pensare a nient’altro. Giorno e notte. Ogni giorno. Sono molto innamorato di te. Ti amo.}} |- |14||'''ANNA'''||{{Colore_di_sfondo|#E6CCFF|Max, io non ti voglio fare del male ... è da tempo che volevo parlare con te ... ti volevo spiegare<br />Ho una famiglia. Ho un figlio, un marito ... }} |- |15||'''CAMERIERE'''||L'insalata |- |16||'''ANNA'''||{{Colore_di_sfondo|#E6CCFF|Per me, grazie.}} |- |17||'''MAX'''||{{Colore_di_sfondo|#BBFF99|Anna,io non ti ho chiesto se hai un marito o no. Io l’unica cosa che so è che ti amo e te lo volevo dire.<br />Ho comprato questi biglietti d’aereo per noi. Sono biglietti per andare a Barcellona. Ho chiesto alla banca che ti diano una settimana di ferie.<br />L’aereo parte domani alle due e quarantacinque. Non c’è bisogno di rispondere adesso.<br />Io sarò all'aeroporto dalle sette. Se vieni saprò che mi ami.<br />Se non vieni, saprò che non mi ami.}} |- |18||'''ANNA'''||{{Colore_di_sfondo|#E6CCFF|Non mi puoi fare questo! }} |- |19||'''MAX'''||{{Colore_di_sfondo|#BBFF99|Ti amo, Anna, ti amo.}} |- |20||'''CAMERIERE'''||Hai finito? Posso prendere il piatto? |- |21||'''ANNA'''||{{Colore_di_sfondo|#E6CCFF|Si grazie ho finito. A proposito, buonissimo.}} |- |22||'''MAX'''||{{Colore_di_sfondo|#BBFF99|Si, anch’io. Pronto per i dolci.}} |- |23||'''CAMERIERE'''||Che dolce vorreste? |- |24||'''ANNA'''||{{Colore_di_sfondo|#E6CCFF|Io vorrei un gelato.}} |- |25||'''CAMERIERE'''||è rimasto solamente il gelato al cioccolato |- |26||'''ANNA'''||{{Colore_di_sfondo|#E6CCFF|Al cioccolato va bene.}} |- |27||'''MAX'''||{{Colore_di_sfondo|#BBFF99|Io lo preferisco alla frutta.}} |- |28||'''ANNA'''||{{Colore_di_sfondo|#E6CCFF|Sai che non verrò.}} |- |29||'''MAX'''||{{Colore_di_sfondo|#BBFF99|Anna la vita è fatta per essere goduta. Dammi la mano e cominciamo un viaggio insieme.}} |- |30||'''ANNA'''||{{Colore_di_sfondo|#E6CCFF|Mi spiace ma devo andare a prendere mio figlio a scuola. Ti lascio i venti euro del mio pranzo.}} |- |31||'''MAX'''||{{Colore_di_sfondo|#BBFF99|Ma no, prenditi i soldi. Offro io.}} |- |32||'''ANNA'''||{{Colore_di_sfondo|#E6CCFF|No Max, io pagheró il mio pranzo. Ciao.}} |- |33||'''MAX'''||{{Colore_di_sfondo|#BBFF99|Anna! Anna! Ti lascio l'anello! Beh ... A domani, principessa. :(}} |} =Testo= </br> [[File:Max8it.ogg|thumb|Testo di Max 8]] </br> {{Paragrafo chiave | contenuto = Cari lettori, che ne pensate, voi, di questa situazione? Credete che Max abbia fatto bene a prendere i biglietti d’aereo? Pensate che veramente Max sia innamorato di Anna? Che pensate che succederà nel prossimo dialogo? | larghezza = 65% | allineamento = left | allineamento_testo = left | colore_sfondo = #BBFF99 | colore_testo = #000000 }} </br> [[File:Anna8it.ogv|thumb|Testo di Anna 8]] </br> {{Paragrafo chiave | contenuto = Credete che Anna andrà all’aeroporto? Se foste Anna, andreste all'aeroporto? Cosa faresti? Ogni anno molte coppie si lasciano. Molte coppie si lasciano perché incontrano un'altra persona. Che cosa ne pensate voi della infedeltà? Credete nell'amore eterno? | larghezza = 65% | allineamento = left | allineamento_testo = left | colore_sfondo = #E6CCFF | colore_testo = #000000 }} </br> =Canzone= * '''''Artista''''': Francesco Gabbani * '''''Titolo''''': Tra Le Granite E Le Granate * '''''Collegamento''''':[https://www.youtube.com/watch?v=cycKV8o0eZ8 Canzone] * '''''Testi''''': Le parole interessanti stanno in '''grassetto''' {{cassetto|titolo= TRA LE GRANITE E LE GRANATE|colore = #BBFF99|testo = «Oggi il '''paradiso''' costa la metà.» Lo dice il venditore di '''felicità''' In fuga dall'inferno, finalmente in '''viaggio''' La tua '''vacanza''' in un pacchetto omaggio '''Foto''' di gruppo sotto il monumento '''Turisti''' al campo di concentramento E sulle '''spiagge''' arroventate Lasciate ogni '''speranza''' voi che entrate E-state Lì dove siete Com'è che '''state'''? Ci state bene? E-'''state Macellerie '''sudate''' in coda nei '''musei''' '''Hotel''' di '''lusso''' nei villaggi dei Pigmei '''Mente''' sana e '''corpo''' fatiscente Antologia della vacanza '''intelligente''' La tua vita al largo da una vita '''intera''' Fischia il '''vento''' ed urla la bufera Tra le granite e le granate '''Lasciate''' ogni '''speranza''' voi che entrate E-state Lì dove siete Com'è che '''state'''? Ci state bene? E-'''state''' Lì dove siete Com'è che '''state'''? Ci state bene? E-'''state''' Eppure non '''partiamo''' mai Ci '''allontaniamo''' solo un po' Diamo alla vita un'ora Perché al '''ritorno''' sembri nuova Davvero non andiamo mai Oltre le nostre suole '''Muovi''' il passo, '''tieni''' il tempo '''Gira''' come gira il vento Lì dove siete Com'è che '''state'''? Ci state bene? E-'''state''' Eppure non '''partiamo''' mai Ci '''allontaniamo''' solo un po' Diamo alla vita un'ora Perché al '''ritorno''' sembri nuova Davvero non andiamo mai Oltre le nostre suole '''Muovi''' il passo, '''tieni''' il tempo '''Gira''' come gira il vento Dietro le spalle un morso di felicità Davanti il tuo ritorno alla normalità Lavoro e feste comandate Lasciate ogni speranza voi che entrate Lì dove siete Com'è che '''state'''? Ci state bene? E-'''state''' Lì dove siete Com'è che '''state'''? Ci state bene? E-'''state''' }} </br> =Vocabulario= {| class=wikitable width=100% |+VOCABOLARIO DI MAX |{{cassetto|titolo= Max ha chiesto un vino rosso riserva molto costoso.|allineamento= sinistra|colore = #BBFF99|testo = [[File:Draw French Wine bottle.png|Draw French Wine bottle| 50px]]}} |{{cassetto|titolo= Il vino che ha ordinato Max è il migliore che c’è nel ristorante.|allineamento= sinistra|colore = #BBFF99|testo = [[File:Draw French Wine bottle.png|Draw French Wine bottle| 50px]]}} |{{cassetto|titolo= Max ha comprato due biglietti d’aereo per Barcellona|allineamento= sinistra|colore = #BBFF99|testo = [[File:Draw Plane.png|Draw Plane|200px]]}} |{{cassetto|titolo= Barcellona è una città catalana che ha molta storia e molti monumenti|allineamento= sinistra|colore = #BBFF99|testo = [[File:Barcellona sagrada familia front.jpg|Sagrada Família|100px]]}} |} {| class=wikitable width=100% |+Vocabulario di Anna |{{cassetto|titolo =Anna ha chiesto una insalata |colore = #E6CCFF|testo = [[File:Draw Salad.png|Draw Salad|100px]]}} |{{cassetto|titolo =Anna ha lasciato venti euro sul tavolo.|colore = #E6CCFF|testo = [[File:20-Euro.svg|Draw 20 euro bill|100px]]}} |{{cassetto|titolo =A Anna piacciono molto i gelati. É il suo dolce preferito.|colore = #E6CCFF|testo = [[File:Draw ice cream.png|Draw ice cream|50px]]}} |{{cassetto|titolo =Il gelato che le piace di piú è il gelato al cioccolato.|colore = #E6CCFF|testo = [[File:Draw ice cream chocolate.png|Draw ice cream chocolate|50px]]}} |} =Esercizi= <quiz> { ''Anna da bere ordina'' |type="()"} - Un’acqua gassata + Un’acqua naturale - Una birra - Una bottiglia di vino rosso { ''Quanti soldi lascia Anna sopra il tavolo quando parte?' |type="()"} - dieci euro + venti euro - trenta euro - quaranta euro { ''Perché Anna se ne va?' |type="()"} - Perché deve tornare al lavoro + Perché deve andare a prendere suo figlio. { |type="{}"} ''Max ha ordinato un''{ vino|VINO|Vino _4 } '' rosso molto costoso. Ana pensa che il vino sia'' { molto|Molto|MOLTO _5} ''costoso.'' { |type="{}"} ''Anna mangia un''{ gelato|GELATO|Gelato _6 } { |type="{}"} ''Max ha comprato due''{ biglietti|BIGLIETTI|Biglietti _9 } ''aerei per andare a Barcellona'' </quiz> [[Categoria:Lingua Taxi|Dialogo 08]] 2z04zbid4zyx4bu1f1j6js6nc0k2k6s Disposizioni foniche di organi a canne/Italia/Lazio/Provincia di Frosinone/Veroli/Veroli - Concattedrale di Sant'Andrea apostolo 0 61086 501552 501480 2026-09-06T17:48:42Z Momimariani1962 41308 501552 wikitext text/x-wiki {{Disposizioni foniche di organi a canne}} * '''Costruttore:''' P. Bevilacqua * '''Anno:''' anni '70 del XX secolo * '''Restauri/modifiche:''' A. Girotto (spostamento in cantoria, ampliamento, 2011) * '''Registri:''' 26 * '''Canne:''' ? * '''Trasmissione:''' elettrica * '''Consolle:''' nella navata destra, nei pressi dell'abside * '''Tastiere:''' 2 di 61 note (''Do<sup>1</sup>''-''Do<sup>6</sup>'') * '''Pedaliera:''' parallela piana di 30 note (''Do<sup>1</sup>''-''Sol<sup>3</sup>'') * '''Collocazione:''' su cantoria, in controfacciata {| border="0" cellspacing="0" cellpadding="20" style="border-collapse:collapse;" | style="vertical-align:top" | {| border="0" | colspan=2 | '''I - ''Grand'Organo''''' ---- |- |Principale || 8' |- |Flauto || 8' |- |Ottava || 4' |- |XV || 2' |- |Ripieno || 4 file |- |Tromba || 8' |- |Principale || 16' |- |Dolce || 8' |- |Flauto || 4' |- |} | style="vertical-align:top" | {| border="0" | colspan=2 | '''II - ''Espressivo''''' ---- |- |Bordone || 8' |- |Flauto || 4' |- |Nazardo || 2.2/3' |- |Cembalo |- |Voce celeste || 8' |- |Tremolo |- |Flautino || 2' |- |Decimino || 1.3/5' |- |Viola || 8' |- |Oboe || 8' |- |} | style="vertical-align:top" | {| border="0" | colspan=2 | '''Pedale''' ---- |- |Subbasso || 16' |- |Bordone || 8' |- |Flauto in selva || 4' |- |Basso || 8' |- |Tromba || 8' |- |Corale || 4' |- |Fagotto || 16' |- |Chiarina || 4' |- |} |} == Altri progetti == {{interprogetto|w=Concattedrale di Sant'Andrea (Veroli)|w_preposizione=sulla|w_etichetta=Concattedrale di Sant'Andrea a Veroli}} {{Avanzamento|100%|6 settembre 2026}} [[Categoria:Disposizioni foniche di organi a canne|Tivoli - Chiesa di San Michele Arcangelo]] kochlyfj5d9salquna4bb5yh4s2f8g0 Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Ventimiglia/Ventimiglia - Chiesa di Sant'Agostino 0 61101 501543 2026-09-06T13:12:45Z ~2026-37813-08 54541 Nuova pagina: {{Disposizioni foniche di organi a canne}} * '''Costruttore:''' G. Mola (Torino) * '''Anno:''' ? * '''Restauri/modifiche:''' Fratelli Carrara (2003) * '''Registri:''' 31 * '''Canne:''' ? * '''Trasmissione:''' meccanica sospesa * '''Consolle:''' a finestra, al centro della parete anteriore della cassa * '''Tastiere:''' 2 di 58 note (''Do<sup>1</sup>''-''La<sup>5</sup>'') * '''Pedaliera:''' parallela di 30 note (''Do<sup>1</sup>''-''Fa<sup>3</sup>'') * '''Collocazione:''' in co... 501543 wikitext text/x-wiki {{Disposizioni foniche di organi a canne}} * '''Costruttore:''' G. Mola (Torino) * '''Anno:''' ? * '''Restauri/modifiche:''' Fratelli Carrara (2003) * '''Registri:''' 31 * '''Canne:''' ? * '''Trasmissione:''' meccanica sospesa * '''Consolle:''' a finestra, al centro della parete anteriore della cassa * '''Tastiere:''' 2 di 58 note (''Do<sup>1</sup>''-''La<sup>5</sup>'') * '''Pedaliera:''' parallela di 30 note (''Do<sup>1</sup>''-''Fa<sup>3</sup>'') * '''Collocazione:''' in corpo unico, al centro della cantoria in controfacciata {| border="0" cellspacing="0" cellpadding="20" style="border-collapse:collapse;" | style="vertical-align:top" | {| border="0" | colspan=2 | '''I - ''Grand'Organo''''' ---- |- |Bordone || 16' |- |Principale || 8' |- |Ottava || 4' |- |Duodecima || 2.2/3' |- |Quintadecima || 2' |- |Ripieno 4 file |- |Flauto || 8' |- |Flauto dolce || 4' |- |Cornetto || 4 file<ref name=cornetto>dal Fa18.</ref> |- |Dulciana || 8' |- |Unda maris || 8'<ref name=Unda>inserimento tramite pedaletto.</ref> |- |Tromba || 8' |- |Clarinetto || 8' |- |} | style="vertical-align:top" | {| border="0" | colspan=2 | '''II - ''Espressivo''''' ---- |- |Eufonio || 8' |- |Ottava || 4' |- |Ripienino 3 file |- |Bordone || 8' |- |Flauto || 4' |- |Flautino || 2' |- |Viola da gamba || 8' |- |Voce celeste || 8' |- |Concerto viole 4 file || 8' |- |Tromba armonica || 8' |- |Oboe || 8' |- |Tremolo |- |} | style="vertical-align:top" | {| border="0" | colspan=2 | '''Pedale''' ---- |- |Contrabbasso || 16' |- |Basso || 8' |- |Ottava || 4' |- |Subbasso || 16' |- |Bordone || 8' |- |Violoncello || 8' |- |Controfagotto || 16' |- |} |} == Note == <references/> {{Avanzamento|100%|6 settembre 2026}} [[Categoria:Disposizioni foniche di organi a canne]] i4czd1q0rucy3utj66ejvt73zdf86fc Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Molini di Triora 0 61102 501546 2026-09-06T13:17:41Z ~2026-37813-08 54541 Nuova pagina: == Capoluogo == * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Molini di Triora/Molini di Triora - Chiesa di San Lorenzo Martire|Chiesa di San Lorenzo Martire]] [[Categoria:Disposizioni foniche di organi a canne|Molini di Triora]] 501546 wikitext text/x-wiki == Capoluogo == * [[Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Molini di Triora/Molini di Triora - Chiesa di San Lorenzo Martire|Chiesa di San Lorenzo Martire]] [[Categoria:Disposizioni foniche di organi a canne|Molini di Triora]] qaftutvhmtsaqjw86n7qvdqbh8b45mr Disposizioni foniche di organi a canne/Italia/Liguria/Provincia di Imperia/Molini di Triora/Molini di Triora - Chiesa di San Lorenzo Martire 0 61103 501547 2026-09-06T13:21:10Z ~2026-37813-08 54541 Nuova pagina: {{Disposizioni foniche di organi a canne}} * '''Costruttore:''' Agati * '''Anno:''' XIX secolo * '''Restauri/modifiche:''' ? * '''Registri:''' * '''Canne:''' ? * '''Trasmissione:''' meccanica * '''Consolle:''' a finestra al centro della cassa * '''Tastiere:''' 1 di ? note con ottava corta * '''Pedaliera:''' a leggio di ? pedali costantemente unita alla tastiera * '''Collocazione:''' in corpo unico, sulla cantoria in controfacciata * '''Accessori:''' due pedaloni per ''Combin... 501547 wikitext text/x-wiki {{Disposizioni foniche di organi a canne}} * '''Costruttore:''' Agati * '''Anno:''' XIX secolo * '''Restauri/modifiche:''' ? * '''Registri:''' * '''Canne:''' ? * '''Trasmissione:''' meccanica * '''Consolle:''' a finestra al centro della cassa * '''Tastiere:''' 1 di ? note con ottava corta * '''Pedaliera:''' a leggio di ? pedali costantemente unita alla tastiera * '''Collocazione:''' in corpo unico, sulla cantoria in controfacciata * '''Accessori:''' due pedaloni per ''Combinazione Libera alla Lombarda'' e ''Tiratutti'' {{Avanzamento|25%|6 settembre 2026}} [[Categoria:Disposizioni foniche di organi a canne]] n1lzrb97hacqw2ruda69fpkwuv3b7zp