Due novità di LibreOffice Writer 6.1

Sì, sono ancora vivo 😉

Mancano ancora diversi mesi per l’arrivo della versione 6.1 di LibreOffice (infatti domani sarà la prima sessione di «caccia di errori» per l’alfa 1), ma ciononostante risulta possibile vedere alcune delle interessanti novità che verranno in questa prossima versione.

Oggi parlerò di due novità che risolvono due segnalazioni aperte da me. Certamente posso dire che sono più che contento con lo sviluppo del programma…

Titoli in due righe

Questo risolve una segnalazione completata da me meno di un anno fa

Bug 112384 Chapter Numbering: Allow line breaks for “separator, after” in the Chapter Numbering dialog

Quello che è stato aggiunto è la possibilità di separare automaticamente la numerazione di un titolo dal testo corrispondente tramite un’interruzione riga, e questo ci permette di creare titoli in due righe senza sforzo!

Miglioramenti nella «vista ad albero» del navigatore

La correzione di questo problema ha richiesto più tempo, più precisamente sette anni, ma è stata anche implementata, finalmente!

Bug 36308 [UI]Change behaviour for “tree view” on Writer’s Navigator

Qui il problema è che la «vista ad albero» dei titoli nel navigatore ha un serio difetto che compromette l’usabilità: con un doppio clic in un titolo non solo Writer ci porta lì, ma chiude anche il «nodo», facendo più difficile il ritorno al punto di partenza. Questo è stato corretto, e a partire da 6.1 l’unica forma di aprire o chiudere un «nodo» del navigatore è tramite un clic sui «triangoli» a sinistra: il doppio clic serve soltanto a spostare il cursore al titolo scelto.

Che sollievo! Questo problema era per me uno dei più molesti in assoluto.

E c’è di più!

Per avere una lista (crescente) dei miglioramenti per questa versione è possibile consultare le «release notes».

Annunci

Disponibile LyX 2.3.0!

È già arrivato! Dopo tantissimi problemi (l’installer per windows non è ancora disponibile) è possibile scaricare la versione 2.3.0 di LYX, il magnifico programma che serve da interfaccia grafica a LATEX, XƎTEX e tanto altro.

Le novità sono tante: supporto nativo per BibLATEX, miglioramenti nella gestione delle «virgolette “intelligenti”», supporto nella interfaccia grafica per il pacchetto Microtype, supporto nativo per ancora di più istruzioni LATEX… si può trovare una lista delle novità qui

What is new in LyX 2.3?

Sfortunatamente, per la prima volta in anni il repositorio Publishing di openSUSE non si è aggiornato all’ultima versione nel giorno in cui questa viene pubblicata, e proprio per questo non posso offrirvi delle schermate con le novità… al meno non per il momento 😉

Aggiornamento per «Addomesticare Writer»

Prendendo forza dalla segnalazione di alcuni errori grammaticali e ortografici (grazie a Dom Benedetto Maria Vichi!), spiegazioni non del tutto accurate che meritavano una correzione e LibO introducendo supporto OpenType nella versione 5.3 ho tirato fuori (chi sa da dove!) un po’ di tempo libero per dare una piccola rinfrescata al libro.

Speriamo di non aver introdotto nuovi errori!

La versione cartacea non è stata ancora revisionata ma almeno quella in PDF può essere utilizzata con le più recenti versioni di LibO, approfittando il grandioso supporto OpenType!

Trovate questa revisione nel solito posto.

Writer: Allineamento di liste numerate e puntate

Il rischio principale di conoscere bene qualcosa è quello di non darle la dovuta attenzione quando viene realizzata o, peggio ancora, spiegata, il che inevitabilmente porta all’errore. Insomma, che si prende troppa fiduccia e si finisce per inciampare stupidamente. Ma il peggio viene quando l’errore non viene visto subito: rimane e rimane, passiamo sopra e non lo vediamo perché non facciamo attenzione.

Questo mi è capitato con la spiegazione che nel libro su Writer do sull’argomento che da titolo a questo articolo: era sbagliata nell’originale in spagnolo è l’ho tradotta senza pensare, portando l’errore anche al italiano: un errore che viene da anni e che non ho scoperto prima perché non facevo attenzione a quello scritto, non rendendomi conto che lo scritto era diverso di quello che faccio.

Insomma, vediamo di correggere questo di una volta per tutti…


Quando viene creata una lista numerata o puntata in Writer oppure quando viene modificato uno stile di lista, nella scheda Posizione ci troviamo con qualcosa simile a

Ma cosa significa ogni campo e menù a tendina?

Per ogni «livello» di una lista (colonna a sinistra) possiamo modificare la posizione e l’allineamento dei numeri e il comportamento del margine sinistro del paragrafo.

Allineato a (1) indica dove va la numerazione, ma siccome i numeri chiaramente occupano una certa larghezza sarà anche necessario indicare dove nel numero si prende la misura della sua posizione, e per questo si ha il menù Allineamento della numerazione: con A sinistra (opzione predefinita) indichiamo che il numero deve cominciare nella posizione indicata (cioè, la posizione di riferimento si prende alla sinistra del numero), con A destra indichiamo che il numero termina in quella posizione (i numeri vanno prima del riferimento, il quale, chiaramente, rimane a destra) mentre che con Al centro indichiamo che si trova, insomma, centrato 🙂

Numerazione seguita da (2) indica il modo in cui la numerazione deve separarsi dal testo (se si sceglie «tabulazione» sarà anche possibile indicare dove va a finire quella tabulazione con l’opzione Tabulazione a) mentre che Rientro a (3) indica il rientro sinistro del paragrafo come un tutto (eccetto la prima riga, certamente, che quello viene controllato da Numerazione seguita da).

Ho configurato le tre liste della schermata precedente per far si che inizino in 9, così risulta chiaro l’effetto dell’allineamento sui numeri. Le tre liste hanno una tabulazione come separatore tra numero e testo. Ho anche configurato un rientro maggiore della tabulazione così di far vedere il suo effetto.

La numerazione della prima lista è allineata «a sinistra», la seconda è «centrata» mentre che la terza e «a destra». La posizione della tabulazione e del rientro sono configurate nello stesso modo nelle tre liste.

Ci sono ancora!

È passato più di un messe dall’ultimo articolo su questo sito. Ma il problema non è stato che non scrivo più, il problema è che sto scrivendo forse troppo. Oltre ad aver pubblicato a fine novembre un libro (in spagnolo per il momento) tutto dedicato a LyX, XeTeX e OpenType, sto collaborato con il sito OpenSource.com (un articolo pubblicato e un altro in produzione) e inoltre sto tentando di portare avanti un nuovo blog in inglese chiamato From Mind to Type. E tutto questo con lo stesso, e scarso, tempo libero a disposizione di sempre…

Insomma, vedremo come si sviluppa il 2018, che il ’17 è stato impegnativo.

Per il momento vi auguro buone feste, mi raccomando fate attenzione alle calorie consumate e ci leggiamo l’anno prossimo!

Oggetti «3D» in Draw

Draw certamente non è uno strumento per sviluppo di immagini 3D, però permette di creare velocemente oggetti semplici con simmetria di rotazione che si comportino come oggetti di tre dimensioni, inclusa la riflessione della luce sulla superficie.

Il programma offre alcuni oggetti predefiniti direttamente dalla barra degli strumenti di disegno, però oggi vedremmo come creare uno nuovo.

Prima si crea una curva piana con gli strumenti di disegno normali (nel mio libro spiego come utilizzare lo strumento per creare curve Bézier). Con il tasto Effetti si sceglie l’opzione In solido di rotazione 3D, come si vede a continuazione (scusate la schermata in spagnolo):

Una linea tratteggiata comparirà: questo sarà l’asse di simmetria del nostro oggetto. Possiamo spostare e ruotare liberamente questo asse semplicemente prendendolo con il mouse

Collocato il nostro asse, un doppio clic nella curva originale completerà la figura di rotazione e con un clic destro → Effetti 3D avremo acceso al menù per modificare le sue proprietà.

È importante segnalare l’opzione «su entrami i lati» nella scheda Geometria, che altrimenti l’oggetto si vedrà un tanto strano.

Nella barra superiore si può scegliere di configurare l’illuminazione e vari effetti che lascio al lettore l’esplorare.

L’oggetto risultante può essere ruotato a volontà selezionando lo strumento di rotazione sotto Effetti e dalla barra laterale si può modificare la sua trasparenza e i suoi colori.

E questo è tutto. Con un po’ di creatività potremo tentare di decidere se il bicchiere risulta mezzo pieno oppure mezzo vuoto.

FiraCode: perché OpenType risulta utile anche per i programmatori

Fino a poco tempo fa credevo che i font non proporzionali non avevano bisogno di caratteristiche OpenType avanzate, ma il seguente progetto mi ha fato ripensare:

FiraCode | Monospaced font with programming ligatures 

Ma prima di vedere questo font, un po’ di contesto.

I programmatori usano tante combinazioni di caratteri semplici per marcare la sintassi dei linguaggi di programmazione che utilizzano. Cose del tipo

==>  
:= 
!=

eccetera sono frequenti… ma generalmente si vedono veramente male. Difficilmente unicode aggiungerà queste combinazioni come simboli proprio, ma la gente del progetto FiraCode ha creato una soluzione veramente ingegnosa: usare legature tipografiche e alternative contestuali in un font non proporzionale per migliorare così queste combinazioni di caratteri, e veramente ci sono riusciti!

Questo font funziona perfettamente con diversi editori di testo quali Kate e shell testuali in sistemi Linux quale Konsole. (come vedete, sono utente KDE). Nella pagina del progetto si trova una lista di compatibilità.

FiraCode è basata su Fira Mono e s’inspira in Hasklig (che a sua volta estende Source Code Pro… la belleza del software libero in azione!).

Il difficile arte delle espressioni regolari

La sfida è, in un documento Writer, trovare numeri tra 0 e 50 (compressi) ma non maggiori. Dovremo utilizzare espressioni regolari.

L’espressione

\b\d\b

troverà numeri di un digito tra 0 e 9. L’espressione

\b\d{1,2}\b

troverà numeri di uno o due digiti, dallo 0 fino al 99… sempre che non ci sia un carattere non numerico attaccato. Per esempio non troverà il numero in a29. Se doviamo trovare anche i numeri al interno di espressioni come a29 dovremo utilizzare alcune condizioni con le «look-ahead» e «Look-behind assertions» più la condizione logica «o» che si ottiene con la barra verticale. Qualcosa così

(?<=[^\d]|^)\d{1,2}(?=[^\d]|$)

Quest’espressione cerca uno o due digiti che si trovino tra qualcosa che non sia ne un digito ne un inizio di paragrafo e un altra cosa che non sia un digito ne un finale di paragrafo.

Quasi ci siamo. Per limitare i numeri dovremo applicare qualche «selezione» in più:

(?<=[^\d]|^)([1-5]?\d)(?=[^\d]|$)

Quest’espressione cerca tra 1 e 59, ma non 60 o più grande.

Guardate l’espressione definitiva:

(?<=[^\d]|^)([1-4]?\d)(?=[^\d]|$)|50

Lascio al lettore il compito d’interpretare l’espressione. Un ripasso al capitolo sulle espressioni regolari del mio libro su Writer può aiutare…


Questo interessante esercizio di espressioni regolari è stato presentato prima nella versione italiana di ask.libreoffice. Ci ho messo un bel po’ a risolverlo… e ancora di più a ricordarmi di lasciarlo per scritto nel blog. Ma qui ci siamo!

Verso LibO 6.0: le prime versioni di sviluppo

In questi giorni ho presso qualche momento per scaricare la versione «archive» (niente di rpm o deb: il programma già compilato e semplicemente impacchettato in un tar.gz, pronto ad essere scompattato e utilizzato) della versione di sviluppo di LibreOffice 6.0. Ecco alcune delle novità che mi sono trovato.

Caratteri speciali

Lo strumento per inserire caratteri speciali ha dato un salto di qualità veramente importante. Il vecchio tasto per inserire caratteri speciali è diventato un menù che offre non solo l’aprire lo strumento di base per la funzione, ma anche una lista con i caratteri recentemente utilizzati e un altra lista con i «favoriti»

E non solo: all’aprire lo strumento principale ci troviamo con opzioni molto più potenti che oltre a permetterci di configurare i favoriti con un semplice clic destro ci offre informazione di valore sui caratteri e la possibilità di cercarli tramite i suoi nomi unicode

Menù di personalizzazione

Il menù di Strumenti → Personalizza è stato completamente riscritto, riorganizzando i suoi componenti e offrendo anche la possibilità di cercare quello che ci serve, semplificando la configurazione dei menù e tasti a scelta rapida

Barra degli stili

Ancora non ci da la possibilità di gestire gli stili di carattere, ma comunque in questa versione aggiunge dei miglioramenti molto utili. Per esempio, i tasti degli stili di carattere «sanno» (e «lo commentano» illuminandosi) qual è lo stile di carattere applicato al testo sul quale si trova il cursore, perciò il tasto dello stile di carattere «predefinito» viene illuminato soltanto quando non ci sono stili di carattere applicati al testo

Navigare tra oggetti

Nella barra degli strumenti di «cerca» (Ctrl-F) troviamo un menù che ci permette di scegliere tra diversi oggetti, quali pagine, titoli, tabelle, disegni… quello che serva, per poi «saltare» da uno all’altro con i due tasti a destra

Qualche problema

LibreOffice usa un sistema chiamato VCL per «disegnare» la sua interfaccia grafica. Questo sistema ha dei «plug-in» per collegarsi con gtk2, gtk3 e KDE4. Quest’ultimo plug-in sembra avere un problema nella versione di sviluppo che ho provato: non è possibile inserire caratteri con accenti utilizzando i «dead-keys».

NOTA: Già risolto! Nelle ultime versioni di sviluppo funziona tutto. Comunque utilizzare l’interfaccia gtk3 anche in Plasma non è una cattiva idea, al meno fino a quando l’interfaccia Qt5 non sia disponibile.

Non un problema per l’italiano, ma certamente una grande difficoltà per chi utilizza una tastiera spagnola. Sicuramente questo verrà risolto in tempo per la versione finale, ma mentre si atende risulta più semplice lanciare LibreOffice con la sua interfaccia gtk3 anche in un sistema Plasma: dal terminale virtuale aperto nella cartella dove si trova lo script per l’inizio del programma, si può lanciare Writer con

SAL_USE_VCLPLUGIN=gtk3 ./swriter

Con l’interfaccia  in gtk3 tutto sembra funzionare perfettamente.

Conclusioni

La versione 6.0 di LibreOffice sta prendendo buona forma, con delle caratteristiche veramente interessanti. L’interfaccia gtk3 funziona perfettamente e, scegliendo il tema giusto, si combina con un sistema Plasma persino meglio che l’interfaccia KDE4. Veramente 6.0 ha tutto in regola per diventare uno degli aggiornamenti più interessanti nella storia del progetto.

Per più informazione: LibreOffice 6.0: Release Notes (in inglese e in fase di composizione).

LyX: prima riga di un paragrafo in maiuscoletto

Un’alternativa a utilizzare capolettere è iniziare un paragrafo con la prima riga tutta in maiuscoletto:

L’unico modo di avere questo in forma (semi) automatica che ho trovato è con il pacchetto magaz.

Questo pacchetto è un tanto «capriccioso» perché non solo non può essere utilizzato contemporaneamente con il pacchetto lettrine, non accetta neanche equazioni o formattazioni particolari. Però nella sua forma più semplice è veramente facile da utilizzare.

Nel preambolo LaTeX di un documento LyX si scrive

\usepackage{magaz}

e poi nel paragrafo che si vuole modificare si aprono due «scatolette TeX», una all’inizio del paragrafo con l’istruzione

\FirstLine{

e l’altra più avanti (non necessariamente alla fine del paragrafo, soltanto deve prendersi sufficiente testo per coprire la prima riga) con un

}

per chiudere tutto.

È importante notare che l’istruzione FirstLine deve trovarsi per forza all’inizio del paragrafo altrimenti ci darà errore.

È possibile fare si che il formato della prima riga sia diverso, modificando per esempio il font, ma siccome la breve documentazione del pacchetto risulta piuttosto chiara mi fermerò qui.