Progetto:Trascrizioni/Routine DjvuLibre/Djvused

Djvused modifica

La routine consente di operare in profondità sullo strato testo. La sigla potrebbe essere l'acronimo di DjvuShowEdit, infatti con djvused è possibile sia estrarre, che modificare o creare lo strato testo dei file djvu. La sintassi è particolarmente complessa, anche perchè il file accetta input di vario genere:

  1. interattivo;
  2. da riga di comando;
  3. da file txt;
  4. da file dsed, che integrano comandi e contenuti.

Operare con djvused comporta, in pratica, l'apprendimento di un minuscolo linguaggio di programmazione; le azioni del programma, quasi sempre, comportano che venga data una precisa sequenza di istruzioni diverse.

La struttura dei file .dsed modifica

I file dsed sono file di testo, ascii o UTF-8. Alternano al loro interno istruzioni e dati; i dati hanno la stessa struttura di quella ottenuta con djvutxt, al maggior dettaglio disponibile (non esiste un parametro -detail per visualizzare solo uno dei livelli "superiori"; i file IA sono pubblicati con detail word, i file provenienti da MODI hanno detail line, i file djvu della biblioteca virtuale ALMA di Bologna addirittura detail char. Le dimensioni del file .dsed crescono molto rapidamente con l'aumento del dettaglio.

Usando il file test.djvu in dropbox/grab, il comando per produrre il file test.dsed è:

djvused test.djvu -e "select; output-all" >test.djvu

La cosa interessante è che un semplice comando djvused permette di utilizzare il file dsed (tal quale o dopo eventuali modifiche) per ricostruire integralmente l'intero strato testo del file djvu.

Qui sotto il risultato dell'estrazione (parte iniziale del file).

select; remove-ant; remove-txt
# ------------------------- 
select "p0001.djvu"
set-ant
(metadata (title "What Can a Single Neuron Compute?")
(author "Blaise Ag{\"u}era y Arcas, Adrienne L. Fairhall, William Bialek")
(booktitle "Advances in Neural Information Processing Systems, 2000 (NIPS'2000)")
(editor "Todd Leen, Tom Dietterich, Volker Tresp")
(publisher "MIT Press")
(year "2001")
(volume "13"))

.
set-txt
(page 0 0 3400 4400
 (line 852 4027 2546 4116
  (word 852 4027 1110 4116 "What")
  (word 1154 4027 1310 4116 "can")
  (word 1349 4027 1400 4116 "a")
  (word 1438 4027 1697 4116 "single")
  (word 1738 4027 2062 4116 "neuron")
  (word 2100 4027 2546 4116 "compute?"))