lunedì 29 settembre 2014

Sigil 0.8.0, cosa cambia

Sigil, il programma per creare e modificare e-book in formato EPUB, è ancora vivo e, dopo quasi un anno di silenzio, finalmente ne abbiamo una nuova versione, la 0.8.0, per l’appunto. Non che ci siano stati grandi cambiamenti, almeno in superficie, ed è probabile che grandi cambiamenti non ci saranno neppure in un futuro prossimo, dato il ritmo con cui il suo sviluppo procede: al momento, Sigil è un programma sviluppato e mantenuto, di fatto, da una sola persona, il che non offre grandi prospettive di aggiornamenti rapidi. Ma vediamo cosa sia cambiato.
Prima di tutto, è cambiato il sito da cui poter scaricare gratuitamente Sigil. Le nuove versioni, per Windows, GNU-Linux e Macintosh, sono scaricabili da GitHub, ossia da questa pagina, invece che dal vecchio sito di Google Code. Non proprio un cambiamento radicale, ma la scelta della versione giusta potrebbe risultare meno chiara del passato, considerata la discutibile grafica della pagina. Leggete con cura il testo biancastro, sullo sfondo verde dei pulsanti, e dovreste poter reperire la versione che vi serve. Dopo aver visto come procurarci il programma, passiamo alle novità nel suo funzionamento. Che di fatto è una sola.
Lasciano da parte le correzioni di alcuni errori, presenti nella precedente versione 0.7.4, la grande novità di Sigil 0.8.0 è la introduzione di una infrastruttura, che supporta l’utilizzo di plugin in questo programma. Più o meno come quella che ha Calibre, giusto per dare una idea. In altri termini, è possibile programma re e aggiungere nuove funzioni a Sigil, attraverso un sano fai-da-te informatico. Per chiunque abbia le competenze necessarie, è ovvio.
Al momento, il supporto di plugin è ancora parecchio limitato, sia perché di fatto è disponibile un solo linguaggio di programmazione, per realizzare i plugin, sia perché i plugin stessi non esistono: se li volete, dovete programmarveli voi, oppure modificare plugin già esistenti per programmi analoghi. Piuttosto che niente, è pur sempre meglio piuttosto.
Nello specifico, l’unico linguaggio di programmazione supportato, per realizzare plugin, è il Python, sia nella versione 2 che nella versione 3 del linguaggio. Una scelta che mi entusiasma moltissimo, dato che trovo la programmazione in Python piacevole come una colonscopia, ma questo è solo un parere personale. In apparenza, molti altri apprezzano invece il linguaggio: buon per loro.
Gusti a parte, la scelta è motivata dal fatto che il Python è un linguaggio già ampiamente usato per realizzare plugin in altri programmi, per cui non dovrebbe essere troppo difficile riciclare e modificare plugin già esistenti, adattandoli alle necessità di Sigil. In particolare, pare che i plugin di Calibre siano riciclabili in Sigil con poche modifiche, dato che la struttura di base è la stessa per i due programmi. O almeno, così sostiene la persona che si occupa dello sviluppo di Sigil e chi sono io per contraddirlo?
Plugin a parte, per il resto non ci sono cambiamenti nel funzionamento di Sigil: tutto ciò che avevo detto per la precedente versione rimane valido anche per questa. Anche la sua interfaccia non è cambiata, a parte l’aggiunta di una nuova voce di menu: Plugin, per l’appunto, e dovreste poter immaginare a cosa serva. Vedremo se, dopo questa versione, altre ne arriveranno, con novità più consistenti e, magari, miglioramenti più consistenti. Considerato il ritmo, non la aspetterei prima della prossima estate, ma spero di esserne smentito.

martedì 11 marzo 2014

Guida al CSS per e-book

Il CSS è il principale linguaggio di programmazione, per realizzare la grafica di siti e applicazioni web, ma è anche la prima scelta quando si tratta di impaginare un ampio settore di formati e-book. Dopo aver parlato in più occasioni delle regole del CSS più comunemente utilizzate, per impaginare uno e-book, mi sono infine deciso a scrivere anche una guida in merito, in cui raccolgo, riorganizzo ed estendo quanto già si poteva trovare nei singoli post. La si può considerare una presentazione di un sottoinsieme del CSS, ossia quello che trova spazio (o che ha senso applicare) in uno e-book: altre proprietà che non ho toccato sono di uso più comune in un sito web e, sebbene non impossibile, il loro utilizzo in un libro sarebbe quantomeno discutibile. In altri termini, se vi accorgete di avere spesso bisogno di proprietà più complesse, è probabile che il vostro progetto funzionerà meglio sotto forma di app, piuttosto che di e-book.
Questa è la lista degli argomenti trattati, capitolo per capitolo:
Se i titoli non sono sufficienti, ecco anche una brevissima presentazione di ogni capitolo e del relativo contenuto.
Capitolo dedicato a una presentazione generale del CSS e dello HTML, con uno excursus su come strutturare un capitolo di e-book e quali tag siano utilizzati più di frequente.
Capitolo dedicato al foglio di stile: la sua anatomia, la struttura di una regola, come assegnare un foglio di stile a una pagina e così via.
Capitolo dedicato ai selettori: come selezionare un tag, per poi modificarlo con una apposita regola CSS, ma anche come creare e selezionare una classe di stile, come funzionano i selettori discendenti e quali sono le pseudoclassi e gli pseudoelementi usati più di frequente in uno e-book.
Capitolo dedicato al funzionamento della ereditarietà nelle regole del CSS: come si tramandano le proprietà CSS da un tag all'altro, ma anche come funziona la "cascata", ossia il processo per cui una proprietà, assegnata a un tag, è valida anche per i tag che sono contenuti in quel primo tag.
Capitolo dedicato alle regole più generali, per impaginare un capitolo: come impostare i margini tra i vari elementi di una pagina, come impostare il margine tra l'inizio del contenuto e il bordo dello schermo, come racchiudere un elemento in una cornice, come decorare lo sfondo di un elemento.
Capitolo dedicato alla impaginazione dei singoli paragrafi: come allineare il contenuto del paragrafo, come formattare soltanto la prima lettera o la prima riga di un paragrafo, impostare i rientri iniziali e così via.
Capitolo dedicato al testo e ai caratteri: come impostare e incorporare font, come regolare le dimensioni del testo, lo spazio tra le linee, il colore del testo e altre decorazioni più o meno decorative.
Capitolo dedicato alla formattazione e alla impaginazione di liste e tabelle: contiene una descrizione dei tag utilizzati per realizzarle e delle proprietà che possono essere loro assegnate, specifiche per questi due tipi di struttura.
A titolo di esempio, i capitoli sono consultabili liberamente anche qui, cliccando sui link corrispondenti. Per tutto il resto, potete procurarvi la Guida: la sua versione in EPUB, peraltro, è liberamente vivisezionabile con Sigil (o anche solo con un qualsiasi programma per aprire cartelle compresse), così da studiarne in concreto la struttura, e può essere convertita facilmente in qualsiasi altro formato con Calibre, così da adattarsi al lettore di vostra preferenza, ma può anche essere modificata, se qualcosa non vi dovesse piacere. La versione per Kindle è inevitabilmente meno malleabile, per i limiti insiti nel formato utilizzato dal Kindle. In entrambi i casi, a ogni modo, non sono presenti DRM o accidenti simili.

martedì 11 febbraio 2014

Un semplice modello di EPUB per romanzi

Avevo già scritto, in passato, una guida su come realizzare un e-book utilizzando solo Sigil e tanta buona volontà. Ricollegandomi in parte a quanto dicevo in quella occasione, e alla luce di diversi commenti ricevuti in vari articoli su EPUB e problemi di impaginazione, ho preparato un semplice e basilare modello di EPUB, che può essere liberamente utilizzato sia come fonte di ispirazione, sia come scheletro per un vostro lavoro. Il modello mostra un modo molto spartano, in cui il contenuto di un e-book può essere diviso, fornendo anche un esempio di foglio di stile con alcune formattazioni di base, che si ritrovano spesso in romanzi e altri tipi di testo.
Come usarlo? Dipende da cosa ne volete fare. Potete aprirlo con Sigil e osservarne la struttura, alternando la Vista Libro e la Vista Codice, così da avere una idea sia del modo in cui il testo apparirà, sia di come sia composto il suo scheletro, oppure potete utilizzarlo come punto di partenza per il vostro lavoro, incollando il vostro testo all'interno delle pagine, assegnando alle varie parti le classi CSS più indicate, modificando gli attributi e i valori delle suddette classi CSS, e così via. Con un consiglio: se scegliete di copiare il testo da un documento DOC o DOCX, ossia da un documento scritto con Word, non copiatelo direttamente nello EPUB, altrimenti porterà con sé tutte le sozzerie aggiunte da Word. Copiate il testo dal documento di Word, incollatelo in una pagina del Blocco Note, copiatelo di nuovo dal Blocco Note e incollatelo nello EPUB: in questo modo il testo sarà filtrato a dovere e potrete ricostruirne l’impaginazione attraverso il CSS, senza dovervi preoccupare delle spiacevoli eredità lasciate da Word. Si perderanno anche corsivi e grassetti, è vero, e li dovrete aggiungere di nuovo con Sigil, ma il risultato finale sarà complessivamente migliore.
A ogni modo, guardiamo cosa ci sia in questo modello di EPUB.
Se lo apriamo con Sigil, vedremo che le cartelle contenenti materiale sono solo due: la cartella Text e la cartella Styles. Nessuno vi vieta di utilizzare anche le altre cartelle, ma queste sono le uniche due  indispensabili, se vogliamo creare uno e-book: text è la cartella che contiene il testo del libro, come suggerisce il nome, e Styles è la cartella che contiene le regole della sua impaginazione. Immagini, font e altro possono essere aggiunti a piacimento, ma non li considero elementi basilari.
La cartella Text contiene cinque files, così disposti:
Cover.xhtml
Titolo.xhtml
Copyright.xhtml
Testo.xhtml
Biografia.xhtml
Tutti questi files possono essere rinominati a piacimento: il nome attuale serve soltanto a fornire una indicazione dei rispettivi ruoli. Anche l’ordine con cui appaiono può essere modificato a piacimento, se quello attuale non è adatto o soddisfacente. Infine, ognuno di essi può essere rimosso, se lo e-book che stiamo preparando non possiederà quel componente; se invece lo e-book possiederà componenti extra come note e bibliografia (probabile), sarà sufficiente aggiungere un file html vuoto, usando l’apposita voce di Sigil, e trascinarlo in alto o in basso nella lista delle pagine, per posizionarlo dove lo vogliamo.
Cover.xhtml è al momento una pagina bianca. Come suggerisce il nome, è qui che inseriremo l’immagine di copertina del nostro e-book, se abbiamo in programma di metterne una. Con Sigil, è sufficiente cliccare sul pulsante Inserisci File, selezionare la nostra immagine e dare un Ok. Opzionalmente, possiamo anche cliccare col tasto destro del mouse su questo file, nel Navigatore della colonna sinistra di Sigil, e scegliere dal menu contestuale Aggiungi Semantica -> Copertina.
Titolo.xhtml è la pagina in cui possiamo inserire il titolo del nostro e-book, il nome del suo autore e, opzionalmente, il logo della casa editrice o cose simili. Se non abbiamo inserito una copertina, sarà questa pagina a farne le veci.
Copyright.xhtml è una pagina in cui inserire le note di copyright (come suggerisce il nome) e altri elementi simili. In questo caso, a titolo di esempio, io ho inserito un modello di nota di copyright, una nota sulla copertina (titolo della immagine di copertina, se esistente, ed eventuali credits) e, in coda, una tipica nota che accompagna molte opere di narrativa, cioè il tipico “ogni riferimento a cose, fatti o persone realmente esistenti” eccetera eccetera.
Testo.xhtml è la pagina che contiene il grosso del nostro e-book. Indicativamente, per semplificare sia la scrittura che la lettura  sui vari dispositivi,è utile spezzettarla in tante pagine quanti sono i capitoli del libro (avremo quindi Testo1, Testo2, Testo3, eccetera), ma non è obbligatorio: se a voi piace di più, potete usare un solo file monolitico, in cui travasare tutta la vostra opera. Nel foglio di stile CSS che accompagna lo e-book ho inserito alcune formattazioni di base: rientro per tutti i paragrafi a eccezione del primo, testo giustificato, primo paragrafo del capitolo con lettera ingrandita, eccetera. Uno sguardo alla Vista Codice vi dirà subito come utilizzare le classi CSS che ho inserito.
Biografia.xhtml, infine, è la pagina che conterrà la biografia dell’autore, una sezione su cui non mi pare ci sia molto altro da aggiungere.
Come vedete, non ho inserito una pagina con l’indice dello e-book, perché di questo si occupa già Sigil: la tavola dei contenuti (ToC) può essere creata in un paio di secondi, purché vi siate ricordati di utilizzare correttamente i tag di intestazione (i tag da <h1> a <h6>, per intenderci) per i titoli delle varie parti del libro.
Il foglio di stile CSS è Stile.css, contenuto nella cartella Styles: contiene alcune formattazioni di base, che hanno valore di semplici linee guida. Ho impostato ad esempi un colore per lo sfondo di tutte le pagine e un font di base per il testo, ho azzerato i margini per il tag <p>, così da rimuovere gli spazi vuoti tra un paragrafo e l’altro, ho inserito un certo spazio tra le varie sezioni, eccetera. Niente di particolare, insomma, ma può essere di aiuto come punto di partenza per qualsiasi tipo di impaginazione abbiate in mente. Per una discussione generale sull'uso del CSS in uno e-book, vi rimando alla serie di articoli che avevo scritto mesi fa: prima o poi troverò forse sia il tempo che la voglia di scrivere qualcosa di più completo, come un manuale specifico per le regole di CSS usate normalmente in un e-book, ma qualsiasi manuale generico di CSS può andare bene, se volete sapere come fare qualcosa di particolare, non contenuto nei miei articoli.
In questo modello di EPUB sono utilizzati soltanto font di base, che dovrebbero essere presenti su ogni tipo di dispositivo; se preferite utilizzare font originali e/o insoliti, li dovrete incorporare nel vostro e-book, ma anche di questo ho già parlato in precedenza.
Per finire, i metadati dello EPUB non sono stati inseriti, ma a questo dovrete eventualmente provvedere voi (premete F8 e si aprirà la finestra dei metadati). Il nome dell’autore, il titolo del libro e la lingua in cui è stato scritto sono gli unici metadati obbligatori, se volete superare il test di convalida, ma potete aggiungere qualsiasi altro metadato vogliate (codice ISBN, editore, data di pubblicazione, eccetera).