Aiuto:Creazione automatica della versione testuale

Il problema modifica

Nella procedura proofread (introduzione di un'opera con testo a fronte, utilizzando una pagina Indice: e pagine Pagina:) la totalità del lavoro sul testo (correzione, formattazione, impaginazione in capitoli/sezioni) si esegue lavorando sulle pagine Pagina:. La creazione della versione testuale è, in qualche modo, standardizzata e "meccanica": può essere quindi eseguita da un bot, purchè nelle pagine Pagina: siano inserite alcune semplici direttive. Queste direttive possono essere inserite mediante l'uso del template Ns0.

Un po' di teoria modifica

Nelle opere proofread, con testo a fronte, il testo è suddiviso in una serie consecutiva di pagine Pagina:, una per ogni pagina del libro. Tranne che nelle opere molto brevi, il testo contenuto in questa sequenza continua dev'essere suddiviso in sezioni e capitoli. Per ogni sezione/capitolo si deve creare una pagina nel namespace principale, sottopagina della pagina principale dell'opera, contenente i seguenti dati essenziali:

  1. un nome della sottopagina;
  2. un titolo della sottopagina;
  3. due link alla sezione/capitolo precedente e successivo;
  4. l'elenco delle pagine Pagina: comprendenti il testo della sezione/capitolo (tenendo conto delle eventuali pagine da utilizzare solo in parte, perchè l'inizio/fine capitolo cadono all'interno del testo; in questo caso nelle pagine Pagina devono essere inseriti gli opportuni tag <section...> per poter assegnare al capitolo appropriato le parti della pagina).
  5. un eventuale {{Sezione note}} nel caso che in una delle pagine siano contenute una o più annotazioni rese con il tag <ref>.

Dalla teoria alla pratica modifica

Il {{Ns0}} accetta due parametri: nome della sottopagina testuale e titolo della sottopagina testuale.

Esempio tratto da Pagina:Poesie (De Amicis).djvu/11:

{{Ns0|Il figliuolo del cieco|IL FIGLIUOLO DEL CIECO.}}

Il nome della sottopagina servirà a creare la pagina testuale, dopo avergli aggiunto, in testa, il nome della pagina principale: Poesie (De Amicis)/Il figliuolo del cieco. Invece, il titolo della sottopagina sarà utilizzato, come parametro sottotitolo, nel {{IncludiIntestazione}} della stessa pagina:

{{IncludiIntestazione
| Argomento=Poesie
| sottotitolo = IL FIGLIUOLO DEL CIECO.
| prec = ../
| succ = ../Bontà
}}

Tuttavia, nell'apporre il tl|Ns0 in un determinato punto di una determinata pagina, il contributore aggiunge implicitamente altre due informazioni:

  1. il numero della pagina dove il tl è stato inserito;
  2. la posizione del tl all'interno del testo nella pagina:
    1. il tl può essere sistemato esattamente all'inizio della pagina, e non c'è nessun testo/nessun carattere (nemmeno un acapo, nemmeno uno spazio) che lo precede;
    2. il tl cade all'interno del testo.

Apposti gli adeguati tl|Ns0 a tutti i capitoli, la funzione builder() di aubrey.py:

  1. scorre tutte le pagine Pagina:;
  2. aggiunge fisicamente gli opportuni tag section in tutti i casi in cui un tl|Ns0 è preceduto da testo;
  3. identifica per ciascun tl|Ns0 i quattro valori pagina inizio, pagina fine, sezione inizio, sezione fine e salva una lista ordinata dei Ns0 e dei relativi parametri aggiuntivi.

A questo punto, sono disponibili tutti i dati necessaria:

  1. costruire il sommario dei capitoli da apporre alla pagina Indice;
  2. costruire l'indice dei capitoli da apporre nella pagina ns0 principale;
  3. creare integralmente le sottopagine ns0.

In sintesi, cosa deve fare l'utente per produrre un'opera proofread completa modifica

  1. creare la pagina Indice:, senza compilare il campo Sommario
  2. creare la pagina Discussioni indice: con il tl Infotesto
  3. creare la pagina principale ns0 (versione testuale), senza aggiungere le voci dell'indice dei capitoli
  4. copiare nella pagina di discussione della pagina principale l'Infotesto già preparato per la pagina Indice
  5. procedere al caricamento e revisione delle pagine Pagina, aggiungendo i template Ns0, senza aggiungere i tag section.

Tutto il resto può farlo aubrey.py.