Differenze tra le versioni di "Aiuto:Strumenti per la rilettura"

 
== RigaIntestazione ==
'''Superato'''; la funzione è stata rivista e inglobata in postOCR
 
== Tools per la numerazione dei versi ==
Da “Numero riga ogni 3” a “Elimina tutti i <nowiki>{{R}}</nowiki>”: Tools per la numerazione automatica dei versi, trattati a parte.
 
== converti é -> è ==
<!--
La convenzione ortografica che indica l'accento é come appropriato per varie congiunzioni (perché, poiché...) è recente; i testi meno recenti (anche del XIX secolo) sono ''anteriori a questa convenzione'' e l'ortografia originale va rispettata. Sia l'OCR che trascrizioni usate come fonte però riportano la versione moderna é invece che quella originale è; il tool converte tutte le ricorrenze di é in è. Attenzione ai testi con parti in francese, in cui la differenza fra i due accenti è importante e va conservata.
== RigaIntestazione ==
;Cosa fa:
Facilita l'inserimento del template {{Tl|RigaIntestazione}} nell'header delle pagine Pagina, senza obbligare a visualizzare l'header. Il comportamento della funzione è il seguente:
# se esiste un template RigaIntestazione nell'header '''oppure''' nel box di edit, lo '''sposta''' dall'uno all'altro;
# se non esiste alcun template RigaIntestazione, ne '''aggiunge uno''' in box di edit, eventualmente utilizzando i dati contenuti nella variabile datiPagine;
# se esistono due template RigaIntestazione, sia nell'header che nel boc di edit, crea un alert (errore)
 
== virgolette ==
;Come funziona:
Il problema delle virgolette diverse dall'apostrofo semplice è complesso, perchè generalmente sono in coppie di caratteri diversi che devono comparire nella giusta sequenza di apertura - chiusura. Inoltre, visono parecci stili diversi di virgolette.
* il '''primo click''' fa comparire il template {{tl|RigaIntestazione}} nella casella di modifica. In questo momento, si può compilare il template con i dati del numero di pagina o del nome del capitolo.
* il '''secondo click''' sposta il template (compilato) nell'header.
 
Inoltre, i due caratteri sono difficili da ottenere con la tastiera; si possono inserire utilizzando i caratteri speciali o la raccolta di codici nella Edittool (gadget attivato di default). Il tool virgolette consente di inserire le virgolette come normali caratteri "come qui"; alla prima pressione di Virgolette tutte le doppie virgolette di qualsiasi formato vengono convertite nel tipo standard più comune: “questo”; un secondo click le inverte (scambia le aperture con le chiusure) in modo di sistemare le cose anche nel caso anomalo in cui la prima virgoletta del testo è di ''chiusura''. Avviene quando la virgoletta di apertura è nella pagina precedente. Le successive pressioni alternano le due possibilità.
;Approfondimento
Il comportamento della funzione chiamata dal link RigaIntestazione è caratterizzato dalla opzione ''toggle=true''; differisce leggermente dal comportamento della funzione chiamata da postOCR e da aggiusta paragrafi, dove invece è attiva l'opzione ''toggle=false''. La differenza consiste nel fatto che
# con l'opzione ''toggle=true'' l'eventuale template RigaIntestazione presente nell'header viene riportato nel box di modifica del testo; se il template è presente nel box di modifica testo, viene sopostato nell'header;
# con l'opzione ''toggle=false'' l'eventuale template RigaIntestazione presente nell'header '''NON''' viene riportato nel box di modifica del testo; ma se il template è presente nel box di modifica testo, viene sopostato nell'header.
 
Una ottima alternativa per modificare il tipo di virgolette aperte e chiuse, purchè siano due caratteri diversi, è il tool <code>trova & sostituisci</code>, memorizzando la sostituzione con l'opzione "Ricorda"; la sostituzione verrà eseguita sempre, nel momento della chiamata a postOCR.
Inoltre la funzione normalizza il template alla forma regolare {{tl|RigaIntestazione}} eventuali template scritti con codice alternativo, come <nowiki>{{ri|...}}</nowiki> oppure <nowiki>{{Ri|...}}</nowiki>.
 
In pratica: il ripetuto richiamo di postOCR e aggiusta paragrafi fa comparire RigaIntestazione (primo click), poi lo sposta nell'header (secondo click), e i click successivi non fanno nulla; al contrario, con RigaIntestazione è sempre possibile spostare da una parte all'altra, alternativamente, il template.
 
;Consigli:
* Per capire meglio il meccanismo, è opportuno, per qualche tempo, utilizzare tali funzioni con l'header visualizzato.
 
== datiPagine ==
datiPagine è una variabile che contiene "oggetti", ossia alcuni dati strutturati, reklativi alle opere su cui ci sono lavori in corso.
 
La variabile contiene alcuni valori precaricati, e viene nella dalla pagina [[Utente:Alex_brollo/variabili_opera.js]]. Questi dati sono disponibili per tutti gli utenti che attivino RegexMenuFramework.
 
La stuttura della variabile (un "array associativo") è la seguente, utilizzando [[Indice:Le confessioni di un ottuagenario I.djvu]] come esempio attivo:
<pre>datiPagine={
'Le confessioni di un ottuagenario I.djvu':{
'delta':27,
'pari':'{{RigaIntestazione|#pag|{{Sc|le confessioni d’un ottuagenario.}}|}}',
'dispari':'{{RigaIntestazione||{{Sc|capitolo secondo.}}|#pag}}',
'tipo':'prosa',
'regex':"é|è||\\*|'||air |all'|| r |l'||deir |dell'||eh'|ch'"
},
.....
};</pre>
Vedete quindi nell'ordine:
# il '''nome base''' della pagina/dell'Indice;
# il '''delta''' che è lo scarto fra numero pagina djvu e numero pagina cartacea; in questo caso, la pagina djvu 29 corrisponde alla pagina cartacea 2 (29-delta, ossia 29-27);
# il '''codice di RigaIntestazione''' per le pagine '''pari'''; quello per le pagine '''dispari'''. In entrambi, la posizione che deve assumere il numero pagina è marcato con '''#pag'''. I dati vengono facilmente aggiornati al capitolo correntemente "in lavoro".
# il '''tipo''' è il tipo di testo prevalente, assume valori fissi: poesia, prosa o misto. In base al tipo dell'opera possono essere eseguite specifiche routine (ad es. aggiunta automatica di poem; alert "Vuoi numerare i versi?")
# la lista delle sostituzioni '''regex''': si tratta di una lista di coppie di stringhe; la funzione postOCR esegue, oltre alle sostituzioni di default, quelle specificate nella lista. La lista è una serie di coppie di valori; le coppie sono separate da ||, i singoli valori da |. La compilazione è abbastanza delicata quando fra i caratteri vi sono caratteri speciali regex; in questo caso, i caratteri devono essere preceduti da '''due''' caratteri \ (vedi ''seconda'' sostituzione nell'esempio).
Questi dati vengono usati da RigaIntestazione con questo procedimento:
# lo script esamina il titolo della pagina corrente e procede nel caso che si tratti di una pagina nel nsPagina; estrae la base del titolo e il numero di pagina corrente;
# utilizzando il delta, calcola il numero di pagina cartacea e decide se tale numero è pari o dispari;
# nei due casi, utilizza i valori "pari" o "dispari" infilando il numero pagina cartacea al posto del marcatore #pag.
 
Il sistema funziona correttamente solo nel caso che il delta sia costante in tutta l'opera (pagine mancanti, tavole fuori numerazione, ecc. possono interferire con il delta). A questo si può porre rimedio.... ma per ora basta così. :-)
=== Come aggiungere i dati di un'opera a cui si sta lavorando personalmente ===
Per aggiungere al datiPagine di base i dati di un'opera ''personale'', basta scrivere nel proprio vector.js questo (ovviamente è un esempio.... adattate i dati all'opera che vi interessa!):
 
<pre>datiPagine['Rivista di Scienza - Vol. I.djvu']={
'delta':10,
'pari':'{{RigaIntestazione|#pag|{{Sc|rivista di scienza}}|}}',
'dispari':'{{RigaIntestazione||{{Sc|}}|#pag}}'
};</pre>
 
Si tratta di un "semplice" :-P aggiornamento di un array associativo, ossia a chiave; per aggiungere un nuovo elemento basta inserire il contenuto di una nuova chiave (in questo caso, il blocco delta, pari, dispari, sono il contenuto, e la chiave è 'Rivista di Scienza - Vol. I.djvu').
 
'''Attenzione!''' Se il nome dell'opera o il codice RigaIntestazione contengono caratteri "speciali", e in particolare gli apostrofi, è necessario far precedere a ciascun carattere un "escape", ossia questo carattere: \. Nel caso degli apostrofi, si può utilizzare le doppie virgolette per delimitare una stringa che contiene virgolette singole:
<pre> "Cabala del cavallo Pegaseo con l'aggiunta dell'Asino Cillenico"</pre>
oppure con caratteri di escape:
<pre> 'Cabala del cavallo Pegaseo con l\'aggiunta dell\'Asino Cillenico'</pre>
 
== Aggiusta paragrafi ==
Aggiunge una riga vuota dopo le righe in cui ''probabilmente'' finisce un paragrafo.
Le righe di fine paragrafo, nei più comuni OCR, possono essere indovinate come quelle in cui:
# la riga termina con un punto, un punto interrogativo, o un punto esclamativo, seguiti da un acapo singolo
 
Il meccanismo è grossolano, ma indovina spessissimo. Da NON usare, al momento, sui testi poetici (aggiungerebbe una riga vuota a tutti i versi che terminano con uno dei caratteri indicati)
 
Esegue anche una chiamata alla routine RigaIntestazione, con un'opzione ''toggle=false'' (vedi [[#RigaIntestazione]]).
 
=== Aggiornamento novembre 2011===
La versione corrente è stata migliorata, e adesso lo script NON agisce sulle parti di testo delimitate dal tag '''<nowiki><poem></nowiki>'''. Operativamente, anche per altri motivi, è opportuno aggiungere il tag poem come primo passo di qualsiasi modifica del testo, in modo da mettere il testo in versi al riparo dalle sgradevoli azioni di aggiustaParagrafi e di postOCR.
 
== Converti é -> è ==
Funzione semplice ma utile quando la conversione sia l'unica cosa da fare nella pagina. Tuttavia la funzione, che tipicamente è ''specifica per l'opera'' (applicarla in alcune opere sarebbe un errore: es. testi moderni, testi curati dal Carducci) può essere totalmente automatizzata registrando la sostituzione nella lista associata a datiPagine.
 
== Aggiungi tag poem ==
<del>Racchiude semplicemente l'intero testo della pagina dentro tag poem. Il suo scopo è permettere di utilizzare, subito dopo, postOCR evitando che venga attivata la funzione di eliminazione degli acapo singoli. La sua applicazione sarà automatizzata registrando in datiPagine la variabile tipo=poem; dopodichè, la stessa funzione postOCR, applicherà il tag poem alle nuove le pagine per default.</del>
 
=== Aggiornamento novembre 2011 ===
Il tag è stato rimosso; la sua funzione è integrata in postOCR, che aggiunge una coppia di tag poem sull'intero testo in tutti i casi in cui "sa" che si tratta di poesia, '''prima''' di procedere a ogni altra elaborazione.
 
Vedi aggiornamento di postOCR.
 
== Elimina riga 1 ==
E' frequentissimo che i tesi da OCR contengano, nella prima riga o nelle due prime righe, dei "pattumi" (in genere provenienti dall'intestazione della pagina, mal interpretata). Elimina riga 1 elimina la riga 1, con un singolo click. Provare per credere, molto efficace.
 
== spostamento note ==
;Cosa fa:
Strumento per facilitare la rilettura di pagine con molte note. Alterna due tipi di visualizzazione:
# visualizzazione ''normale'': le note sono al loro posto, all'interno di tag '''<nowiki><ref>....</ref></nowiki>''' nel contesto del testo. Se sono numerose e lunghe, risulta difficilissimo rileggere la pagina.
# visualizzazione ''a fondo pagina'': al posto delle note viene inserito un "codice marcatore" e il testo delle note, tag ref compresi, viene ''spostato in fondo pagina'', là dove stanno nella pagina stampata a fronte. L'accorgimento rende molto, molto più facile la rilettura. Finita la rilettura, un nuovo click sulla stessa funzione rimette le cose a posto.
 
;Consigli:
'''Avvertimento 1''': nella prima correzione dellla pagina, occorre inserire nel testo, nel punto di richiamo nota, questo codice: '''<nowiki><sup>nota</sup></nowiki>'''. Se lo strumento risulterà gradito, sarà creato un tastino per inserire il codice con un solo click. Le note a fondo pagina (là dove si trovano nel testo da OCR) vanno '''corrette sul posto''' e '''delimitate con il solito tag ref'''. Poi, un click su spostamento note, ed è fatta. :-) Ma attenzione: è necessario che il ''numero dei marcatori'', e il ''numero delle note'' corrispondano esattamente. E' l'errore più comune e il suo effetto è molto spiacevole. Per evitarlo è statointrodotto un controllo: in caso di diseguaglianza fra i due numeri, lo script emette una protesta e si interrompe.
 
'''Avvertimento 2''': Attenzione! NON provate a "mescolare le due modalità", ossia: ad aggiungere nuovi marcatori '''<nowiki><sup>nota</sup></nowiki>''' a una pagina in cui le note sono al loro posto, all'interno del testo, ''oppure'' ad aggiungere tag ref all'interno del testo, nella visualizzazione con le note a fine pagina. Per correggere eventuali errori, utilizzate la visualizzazione "normale", con le note al loro posto, e aggiungete, con la metodica tradizionale, le eventuali note mancanti con il tag ref all'interno del testo; oppure, cambiate visualizzazione e aggiungete il marcatore '''<nowiki><sup>nota</sup></nowiki>''' dove manca, e in fondo alla pagina, il testo della nota mancante, racchiusa fra tag ref e nella posizione corretta rispetto alle altre. Mescolare le due procedure comporta un ''completo rimescolamento delle note.''
 
== Numero riga ogni....==
Queste funzioni vengono utilizzate per la numerazione dei '''versi'''. Aggiungono un template {{tl|R}} ogni 3, 4, 5... righe, oppure all'ultima riga di ogni strofa. Le righe da numerare devono essere '''comprese all'interno di tag <nowiki><poem></poem></nowiki>'''.
 
Per effettuare la numerazione:
* posizionare il cursore all'interno del tag poem di cui si desidera numerare le righe
* cliccare la funzione desiderata nel menu a sinistra
* comparirà una finestrella di popup, dove va inserito il numero del primo verso della pagina (1 se la poesia inizia nella pagina corrente).
 
Se la pagina ''contiene più di una poesia, ovvero più di un tag <nowiki><poem></poem></nowiki>'', la numerazione va effettuata separatamente per ognuno di essi, posizionando di volta in volta il cursore all'interno dei diversi poem.
 
Lo script ha la caratteristica di memorizzare il numero dell'ultimo verso della pagina, e di renderlo disponibile nella pagina successiva; questo meccanismo funziona però soltanto quando si scorrono le pagine in serie, utilizzando il link-freccia "pagina successiva". In questo caso, nel popup di conferma comparirà un numero che è la "continuazione" della numerazione presente nella pagina precedente.
 
Occorre porre attenzione al caso in cui singoli versi sono spezzati in due parti, evenienza comune nei testi in versi che comprendono dialoghi: in questo caso bisogna verificare attentamemte il risultato ed eventualmente correggerlo, spostando nella giusta collocazione i template R apposti dalla funzione.
 
L'intera funzione è scritta da [[Utente:Candalua|Candalua]], a cui vanno rivolti eventuali quesiti e suggerimenti.
Lo script è attualmente (febbraio 2011) in pieno sviluppo, quindi il comportamento delle funzioni potrà essere soggetto a modifiche.
== Inserimento <nowiki>{{testo}}</nowiki> ==
Il gadget trasforma l'output di DynamicPageList in un elenco "fisico" di {{tl|testo}}.
 
DynamicPageList non modifica il codice della pagina; il suo output è reso dinamicamente nella versione html in visualizzazione. Questo comportamento ha il vantaggio che la lista è sempre aggiornata, ma ha lo svantaggio che l'output si limita al mero elenco di link alle pagine selezionate; non è possibile utilizzare direttamente, su tale elenco, alcun template nè fare alcuna modifica.
 
Sfruttando i dati disponibili in modalità Anteprima, in cui coesistono i dati restituiti dal server come html e il box di edit del codice wiki sorgente, il gadget "cattura" dall'html la lista prodotta da DynamicPageList, aggiunge a ciascun elemento il codice template testo, e inserisce l'elenco nel box di edit.
 
Per attivarlo, occorre quindi entrare in modifica in una pagina che comprenda codice DynamicPageList, visualizzare l'anteprima e a questo punto attivare il link '''<nowiki>Inserimento {{testo}}</nowiki>'''.
 
Il gadget è sperimentale e non va utilizzato se non in casi particolari.
 
== spostamento note ==
{{Aiuto:Strumenti_per_la_rilettura/spostamento note}}
 
== AutoreCitato ==
Il gadget effettua due sostituzioni nel testo in modifica:
# converte tutti i template {{tl|Ac}} nella forma normale {{tl|AutoreCitato}}
# nel caso di template a un solo parametro, tipo <nowiki>{{AutoreCitato|Dante}}</nowiki>, verifica se il parametro è compreso nella lista incorporata nello script [[MediaWiki:Gadget-normalizza-AutoreCitato.js]] e se esiste in lista aggiunge il parametro che punta al nome completo dell'autore. La lista comprende oltre 400 autori comunemente citati. Sono stati recentemente aggiunti gli autori comunemente citati in [[Zibaldone]].
 
Il gadget velocizza moltissimo l'inserimento del template e la sua normalizzazione (in genere è sufficiente selezionare il nome dell'autore, premere il pulsante di edit Ac o l'edit tool <nowiki>{{AutoreCitato|}}</nowiki>, e premere alla fine dell'edit della pagina sul link AutoreCitato sotto Strumenti di rilettura). Oltre a velocizzare l'inserimento, la trasformazione del template da uno a due parametri riduce moltissimo il carico server.
-->
== Domande? ==
Se hai domande, dubbi, proposte o necessiti di chiarimenti sui ''regex Menu Framework'' <span class="plainlinks">[http://it.wikisource.org/w/index.php?title=Discussioni_aiuto:Strumenti_per_la_rilettura&action=edit&section=new premi qui] per lasciare un messaggio nella pagina di discussione oppure apri una discussione nel [[Wikisource:Bar|bar principale]].</span>